Re: NASM 0.98.39 vs. NASM 2.03.01 disassembly
- From: "Rod Pemberton" <do_not_have@xxxxxxxxxxxxx>
- Date: Thu, 14 Aug 2008 20:53:30 -0400
"Rod Pemberton" <do_not_have@xxxxxxxxxxxxx> wrote in message
news:g82i1m$822$1@xxxxxxxxxxx
to
Just an FYI,
I was cleaning up the 16-bit .asm I created from NASM's 0.98.39 insns.dat
find errors with Willow's Crudasm. I ran the resulting NASM 0.98.39 .binthe
file through Ndisasm.exe from NASM 2.03.01 (both for DOS). This is a list
of those instructions which didn't disassemble the same. If it appeared
that 2.03.01 had a completely disassembled instruction, it follows after
semi-colon. I also noticed that 'lfs' and 'lgs' disassembled correctly,but
not 'lds' and 'les'...(?)
BITS 16
cmpxchg486 [0xBBEE],al
cmpxchg486 al,bl
cmpxchg486 [0xBBEE],ax
cmpxchg486 ax,bx
cmpxchg486 [0xBBEE],eax
cmpxchg486 eax,ebx
ibts [0xBBEE],ax
ibts ax,bx
ibts [0xBBEE],eax
ibts eax,ebx
lds ax,[0xBBEE]
lds eax,[0xBBEE]
les ax,[0xBBEE]
les eax,[0xBBEE]
mov eax,tr3
mov tr3,eax
pmvgezb mm1,[0xBBEE] ;subps xmm1,[0xbbee]
pmvlzb mm1,[0xBBEE] ;cvtdq2ps xmm1,[0xbbee]
pmvnzb mm1,[0xBBEE] ;cvtps2pd xmm1,[0xbbee]
pmvzb mm1,[0xBBEE] ;addps xmm1,[0xbbee]
pop cs ;nop word [bx]
psubsiw mm1,[0xBBEE] ;andnps xmm1,[0xbbee]
psubsiw mm0,mm1 ;andnps xmm0,xmm1
smi
smint
smintold
xbts ax,[0xBBEE]
xbts ax,bx
xbts eax,[0xBBEE]
xbts eax,ebx
pshuflw xmm0,xmm1,byte 0x33 ;db 0xF2 pshufw mm0,mm1,0x33
pshuflw xmm1,[0xBBEE],byte 0x33 ;db 0xF2 pshufw mm1,[0xbbee],0x33
rsdc es,tword [0xBBEE] ;vmwrite eax,dword [0xbbee]
svdc tword [0xBBEE],es ;vmread dword [0xbbee],eax
svldt tword [0xBBEE]
movdq2q mm1,xmm1
And, some more differences... E.g., sal as shl and register/memory
reversals on test and xchg.
icebp ;int1
paddsiw mm1,[0xBBEE] ;sqrtps xmm1,[0xbbee]
paddsiw mm0,mm1 ;sqrtps xmm0,xmm1
paveb mm0,mm1 ;movmskps eax,xmm1
pdistib mm1,[0xBBEE] ;andps xmm1,[0xbbee]
pmachriw mm1,[0xBBEE] ;divps xmm1,[0xbbee]
pmagw mm1,[0xBBEE] ;rsqrtps xmm1,[0xbbee]
pmagw mm0,mm1 ;rsqrtps xmm0,xmm1
pmulhriw mm1,[0xBBEE] ;minps xmm1,[0xbbee]
pmulhriw mm0,mm1 ;minps xmm0,xmm1
pmulhrwc mm1,[0xBBEE] ;mulps xmm1,[0xbbee]
pmulhrwc mm0,mm1 ;mulps xmm0,xmm1
syscall ;loadall286
sysret ;loadall
test al,[0xBBEE] ;test [0xbbee],al
test ax,[0xBBEE] ;test [0xbbee],ax
test eax,[0xBBEE] ;test [0xbbee],eax
umov [0xBBEE],al ;movups xmm0,[0xbbee]
umov al,bl ;movups xmm3,xmm0
umov [0xBBEE],ax ;movups [0xbbee],xmm0
umov ax,bx ;movups xmm0,xmm3
umov [0xBBEE],eax ;movupd [0xbbee],xmm0
umov eax,ebx ;movupd xmm3,xmm0
umov al,[0xBBEE] ;movlps xmm0,[0xbbee]
umov al,bl ;movups xmm3,xmm0
umov ax,[0xBBEE] ;movlps [0xbbee],xmm0
umov ax,bx ;movups xmm0,xmm3
umov eax,[0xBBEE] ;movlpd [0xbbee],xmm0
umov eax,ebx ;movupd xmm3,xmm0
xchg [0xBBEE],al ;xchg al,[0xbbee]
xchg [0xBBEE],ax ;xchg ax,[0xbbee]
xchg [0xBBEE],eax ;xchg eax,[0xbbee]
movd xmm1,eax ;movd mm1,eax
movd xmm1,[0xBBEE] ;movd mm1,[0xbbee]
HTH,
Rod Pemberton
.
- Follow-Ups:
- Re: NASM 0.98.39 vs. NASM 2.03.01 disassembly
- From: Wolfgang Kern
- Re: NASM 0.98.39 vs. NASM 2.03.01 disassembly
- References:
- NASM 0.98.39 vs. NASM 2.03.01 disassembly
- From: Rod Pemberton
- NASM 0.98.39 vs. NASM 2.03.01 disassembly
- Prev by Date: NASM 0.98.39 vs. NASM 2.03.01 disassembly
- Next by Date: Re: announce: my very first disassembler now available (GPL)
- Previous by thread: NASM 0.98.39 vs. NASM 2.03.01 disassembly
- Next by thread: Re: NASM 0.98.39 vs. NASM 2.03.01 disassembly
- Index(es):