Re: NASM 0.98.39 vs. NASM 2.03.01 disassembly



On Wed, 20 Aug 2008 17:25:27 -0400
"Rod Pemberton" <do_not_have@xxxxxxxxxxxxx> wrote:

Four guys who develop NASM reading a.l.a. and I have to file a bug
report?

Only because it would appear that you have not yet convinced any of us
that you have a valid case, and the bug report gives you access to a
larger audience.

As I understand your case, you have stipulated that the Intel manuals
use the Ew notation for the operand type, which means that the mode bit
is ignored, and the operand is always 16-bits. However, you then seem
to argue that Intel was correct only in respect to memory operands,
and should have had a separate entry for register operands,
with an Ec notation, along with a footnote that the mode bit is also
ignored in this instance.

You have also stated that "only 8-bit or 32-bit registers should
be displayed for 32-bit mode, and 8-bit or 32-bit registers for 16-bit
mode.", which (ignoring the obvious typo) seems to imply that one
cannot use 16-bit registers in 32-bit mode.

As for myself, I can't get particularly excited about either side of
the discussion. Since there is such a difference of opinion on what
assembly language syntax should look like, all I expect of the NASM
disassembler is that it generate code which NASM will accept. If you
can show a test case in which this is not true, then I will be
motivated to do something about it.

--
Chuck
http://www.pacificsites.com/~ccrayne/charles.html


.



Relevant Pages

  • Re: High-byte registers in AMD64 (was: MOVZX has stall register)
    ... > range, or any of the low-byte registers ... However, the legacy high-byte registers ... > are not accessible when a REX prefix is used. ... Default Operand Size. ...
    (comp.lang.asm.x86)
  • Re: 64bit operations efficiency...
    ... In Long Mode, we have 64bit registers, as well as operations, available. ... REX prefix with the apropriate flags, ... My guess is that it has to do with instruction density. ... to the 32 bit operand; ...
    (comp.lang.asm.x86)
  • Re: new to assembly
    ... and Reg can be one of two processor registers R0 and R1. ... We know well the instruction form; operation' operand, ...
    (comp.lang.asm.x86)
  • Re: AM186 instructions
    ... 'Size' ptr keywords explicitly state the size of the destination operand, ... near takes a word operand that allows you to offset the IP by ... to offset both IP and CS registers effectively covering entire 8086 address ... Near pushes only the IP register on the stack for the return ...
    (comp.lang.asm.x86)