mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-31 18:20:22 +08:00
BR 2039212: Handle indirect far jumps in 64-bit mode
Handle indirect far jumps in 64-bit mode. Default to 64 bit unless overridden, for consistency with other jumps.
This commit is contained in:
parent
5eff8912bc
commit
7b4dc622c6
@ -210,9 +210,11 @@ CALL imm16:imm \320\1\x9A\31\30 8086,NOLONG
|
||||
CALL imm:imm16 \320\1\x9A\31\30 8086,NOLONG
|
||||
CALL imm32:imm \321\1\x9A\41\30 386,NOLONG
|
||||
CALL imm:imm32 \321\1\x9A\41\30 386,NOLONG
|
||||
CALL mem|far \322\1\xFF\203 8086
|
||||
CALL mem|far \322\1\xFF\203 8086,NOLONG
|
||||
CALL mem|far \324\1\xFF\203 X64
|
||||
CALL mem16|far \320\1\xFF\203 8086
|
||||
CALL mem32|far \321\1\xFF\203 386
|
||||
CALL mem64|far \324\1\xFF\203 X64
|
||||
CALL mem|near \322\1\xFF\202 8086
|
||||
CALL mem16|near \320\1\xFF\202 8086
|
||||
CALL mem32|near \321\1\xFF\202 386,NOLONG
|
||||
@ -632,9 +634,11 @@ JMP imm16:imm \320\1\xEA\31\30 8086,NOLONG
|
||||
JMP imm:imm16 \320\1\xEA\31\30 8086,NOLONG
|
||||
JMP imm32:imm \321\1\xEA\41\30 386,NOLONG
|
||||
JMP imm:imm32 \321\1\xEA\41\30 386,NOLONG
|
||||
JMP mem|far \322\1\xFF\205 8086
|
||||
JMP mem|far \322\1\xFF\205 8086,NOLONG
|
||||
JMP mem|far \324\1\xFF\205 X64
|
||||
JMP mem16|far \320\1\xFF\205 8086
|
||||
JMP mem32|far \321\1\xFF\205 386
|
||||
JMP mem64|far \324\1\xFF\205 X64
|
||||
JMP mem|near \322\1\xFF\204 8086
|
||||
JMP mem16|near \320\1\xFF\204 8086
|
||||
JMP mem32|near \321\1\xFF\204 386,NOLONG
|
||||
|
10
test/far64.asm
Normal file
10
test/far64.asm
Normal file
@ -0,0 +1,10 @@
|
||||
;Testname=test; Arguments=-fbin -ofar64.bin; Files=.stdout .stderr far64.bin
|
||||
; BR 2039212
|
||||
bits 64
|
||||
|
||||
call qword far [rax]
|
||||
jmp qword far [rax]
|
||||
call dword far [rax]
|
||||
jmp dword far [rax]
|
||||
call far [rax]
|
||||
jmp far [rax]
|
Loading…
x
Reference in New Issue
Block a user