Re: NASM 0.98.39 vs. NASM 2.03.01 disassembly



"Frank Kotler" <fbkotler@xxxxxxxxxxx> wrote in message
news:g880aj$l43$1@xxxxxxxxxxx
Rod Pemberton wrote:
"Frank Kotler" <fbkotler@xxxxxxxxxxx> wrote in message
news:g84aq7$vr3$1@xxxxxxxxxxx
Rod Pemberton wrote:
...
I also noticed that 'lfs' and 'lgs' disassembled correctly, but
not 'lds' and 'les'...(?)
This is one that's been discovered and fixed.

Ndisasm 0.98.39
00000481 660F02C3 lar eax,ebx
000004F1 660F03C3 lsl eax,ebx

Ndisasm 2.03.01
00000481 660F02C3 lar eax,bx
000004F1 660F03C3 lsl eax,bx

Yeah...? Are you saying this is wrong?


Yeah...? Are you saying this isn't wrong?

If I grant you the interpretation of the fourth, 3 out of 4 in my favor...
;-)

1) Intel 386 Programmers Reference, 1986.

0F 02 /r LAR r16,r/m16
0F 02 /r LAR r32,r/m32

0F 03 /r LSL r16,r/m16
0F 03 /r LSL r32,r/m32

2) IA-32 Intel(R) Architecture Software Developer's Manual, Volume
2:Instruction Set Reference, 2003

0F 02 /r LAR r16,r/m16
0F 02 /r LAR r32,r/m32

0F 03 /r LSL r16,r/m16
0F 03 /r LSL r32,r/m32

3) IA-32 Intel(R) Architecture Software Developer's Manual, Volume
2A:Instruction Set Reference, A-M, 2006

0F 02 /r LAR r16, r16/m16
0F 02 /r LAR r32, r32/m16

0F 03 /r LSL r16, r16/m16
0F 03 /r LSL r32, r32/m16

4) AMD64 Architecture Programmer's Manual Volume 3:General-Purpose and
System Instructions, 2007

LAR reg16, reg/mem16 0F 02 /r
LAR reg32, reg/mem16 0F 02 /r

LSL reg16, reg/mem16 0F 03 /r
LSL reg32, reg/mem16 0F 03 /r

:-)


Rod Pemberton

.