mirror of
https://github.com/netwide-assembler/nasm.git
synced 2024-12-15 09:09:58 +08:00
Clean up JMP/CALL patterns, especially for 64 bits
Clean up JMP/CALL patterns so they don't disassemble quite so uglily. Fix a CALL pattern which would have incorrectly generated a (harmless) REX.W prefix. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
b496c68f91
commit
c3bfc7f643
19
insns.dat
19
insns.dat
@ -244,16 +244,17 @@ CALL mem|far [m: o64 ff /3] X64
|
||||
CALL mem16|far [m: o16 ff /3] 8086
|
||||
CALL mem32|far [m: o32 ff /3] 386
|
||||
CALL mem64|far [m: o64 ff /3] X64
|
||||
CALL mem|near [m: odf ff /2] 8086
|
||||
CALL mem16|near [m: o16 ff /2] 8086
|
||||
CALL mem32|near [m: o32 ff /2] 386,NOLONG
|
||||
CALL mem64|near [m: o64 ff /2] X64
|
||||
CALL mem|near [m: odf ff /2] 8086,ND
|
||||
CALL mem16|near [m: o16 ff /2] 8086,ND
|
||||
CALL mem32|near [m: o32 ff /2] 386,NOLONG,ND
|
||||
CALL mem64|near [m: o64nw ff /2] X64,ND
|
||||
CALL reg16 [m: o16 ff /2] 8086
|
||||
CALL reg32 [m: o32 ff /2] 386,NOLONG
|
||||
CALL reg64 [m: o64nw ff /2] X64
|
||||
CALL mem [m: odf ff /2] 8086
|
||||
CALL mem16 [m: o16 ff /2] 8086
|
||||
CALL mem32 [m: o32 ff /2] 386,NOLONG
|
||||
CALL mem [m: o64nw ff /2] X64
|
||||
CALL mem64 [m: o64nw ff /2] X64
|
||||
CBW void [ o16 98] 8086
|
||||
CDQ void [ o32 99] 386
|
||||
@ -672,16 +673,17 @@ JMP mem|far [m: o64 ff /5] X64
|
||||
JMP mem16|far [m: o16 ff /5] 8086
|
||||
JMP mem32|far [m: o32 ff /5] 386
|
||||
JMP mem64|far [m: o64 ff /5] X64
|
||||
JMP mem|near [m: odf ff /4] 8086
|
||||
JMP mem16|near [m: o16 ff /4] 8086
|
||||
JMP mem32|near [m: o32 ff /4] 386,NOLONG
|
||||
JMP mem64|near [m: o64nw ff /4] X64
|
||||
JMP mem|near [m: odf ff /4] 8086,ND
|
||||
JMP mem16|near [m: o16 ff /4] 8086,ND
|
||||
JMP mem32|near [m: o32 ff /4] 386,NOLONG,ND
|
||||
JMP mem64|near [m: o64nw ff /4] X64,ND
|
||||
JMP reg16 [m: o16 ff /4] 8086
|
||||
JMP reg32 [m: o32 ff /4] 386,NOLONG
|
||||
JMP reg64 [m: o64nw ff /4] X64
|
||||
JMP mem [m: odf ff /4] 8086
|
||||
JMP mem16 [m: o16 ff /4] 8086
|
||||
JMP mem32 [m: o32 ff /4] 386,NOLONG
|
||||
JMP mem [m: o64nw ff /4] X64
|
||||
JMP mem64 [m: o64nw ff /4] X64
|
||||
JMPE imm [i: odf 0f b8 rel] IA64
|
||||
JMPE imm16 [i: o16 0f b8 rel] IA64
|
||||
@ -3316,6 +3318,7 @@ VPGATHERDQ ymmreg,mem64,ymmreg [rmv: vm32x vex.dds.256.66.0f38.w1 90 /r] FUTURE
|
||||
VPGATHERQQ ymmreg,mem64,ymmreg [rmv: vm64y vex.dds.256.66.0f38.w1 91 /r] FUTURE,AVX2
|
||||
|
||||
;# Transactional Synchronization Extensions (TSX)
|
||||
XABORT imm [i: c6 f8 ib] FUTURE,RTM
|
||||
XABORT imm8 [i: c6 f8 ib] FUTURE,RTM
|
||||
XBEGIN imm [i: odf c7 f8 rel] FUTURE,RTM
|
||||
XBEGIN imm|near [i: odf c7 f8 rel] FUTURE,RTM
|
||||
|
@ -4,12 +4,16 @@
|
||||
jmp rcx
|
||||
jmp [rax]
|
||||
jmp qword [rax]
|
||||
jmp near [rax]
|
||||
jmp near qword [rax]
|
||||
jmp far [rax]
|
||||
jmp far dword [rax]
|
||||
jmp far qword [rax]
|
||||
call rcx
|
||||
call [rax]
|
||||
call qword [rax]
|
||||
call near [rax]
|
||||
call near qword [rax]
|
||||
call far [rax]
|
||||
call far dword [rax]
|
||||
call far qword [rax]
|
||||
|
Loading…
Reference in New Issue
Block a user