From e56de0d1580b32ecab1da67874e63168dcb268c3 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Sun, 17 Mar 2002 21:55:53 +0000 Subject: [PATCH] Make call instruction work correctly. The old code generated a legal short form for it (opcode length 1, opcode 0, rather than opcode length 0). svn path=/trunk/yasm/; revision=520 --- modules/arch/x86/instrs.dat | 12 ++++++------ src/arch/x86/instrs.dat | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/arch/x86/instrs.dat b/modules/arch/x86/instrs.dat index 1b1c8ed6..7a046094 100644 --- a/modules/arch/x86/instrs.dat +++ b/modules/arch/x86/instrs.dat @@ -429,18 +429,18 @@ shrd!shlrd AC ; Special format for relative targets: ; !Grp/Inst target AdSize ShrtOp NearOp ShrtCPU NearCPU ; -!jmpcall target nil $0.1 $0.2 8086 8086 -!jmpcall imm:imm nil $0.3 $2i,nil $1,16 8086 -!jmpcall WORD imm:imm 16 $0.3 $2i,16 $1,16 8086 -!jmpcall DWORD imm:imm 32 $0.3 $2i,32 $1,16 386 +!jmpcall target nil $0.1?$0.2 $0.3 8086 8086 +!jmpcall imm:imm nil $0.4 $2i,nil $1,16 8086 +!jmpcall WORD imm:imm 16 $0.4 $2i,16 $1,16 8086 +!jmpcall DWORD imm:imm 32 $0.4 $2i,32 $1,16 386 !jmpcall memfar nil FF $1,$0.4+1 nil 8086 !jmpcall WORD memfar 16 FF $1,$0.4+1 nil 8086 !jmpcall DWORD memfar 32 FF $1,$0.4+1 nil 386 !jmpcall mem nil FF $1,$0.4 nil 8086 !jmpcall rm16x 16 FF $1,$0.4 nil 8086 !jmpcall rm32x 32 FF $1,$0.4 nil 386 -call!jmpcall nil,E8,9A,2 -jmp!jmpcall EB,E9,EA,4 +call!jmpcall nil,0,E8,9A,2 +jmp!jmpcall 1,EB,E9,EA,4 ret!onebyte nil,C3 8086 retn nil nil C3 nil nil 8086 retf nil nil CB nil nil 8086 diff --git a/src/arch/x86/instrs.dat b/src/arch/x86/instrs.dat index 1b1c8ed6..7a046094 100644 --- a/src/arch/x86/instrs.dat +++ b/src/arch/x86/instrs.dat @@ -429,18 +429,18 @@ shrd!shlrd AC ; Special format for relative targets: ; !Grp/Inst target AdSize ShrtOp NearOp ShrtCPU NearCPU ; -!jmpcall target nil $0.1 $0.2 8086 8086 -!jmpcall imm:imm nil $0.3 $2i,nil $1,16 8086 -!jmpcall WORD imm:imm 16 $0.3 $2i,16 $1,16 8086 -!jmpcall DWORD imm:imm 32 $0.3 $2i,32 $1,16 386 +!jmpcall target nil $0.1?$0.2 $0.3 8086 8086 +!jmpcall imm:imm nil $0.4 $2i,nil $1,16 8086 +!jmpcall WORD imm:imm 16 $0.4 $2i,16 $1,16 8086 +!jmpcall DWORD imm:imm 32 $0.4 $2i,32 $1,16 386 !jmpcall memfar nil FF $1,$0.4+1 nil 8086 !jmpcall WORD memfar 16 FF $1,$0.4+1 nil 8086 !jmpcall DWORD memfar 32 FF $1,$0.4+1 nil 386 !jmpcall mem nil FF $1,$0.4 nil 8086 !jmpcall rm16x 16 FF $1,$0.4 nil 8086 !jmpcall rm32x 32 FF $1,$0.4 nil 386 -call!jmpcall nil,E8,9A,2 -jmp!jmpcall EB,E9,EA,4 +call!jmpcall nil,0,E8,9A,2 +jmp!jmpcall 1,EB,E9,EA,4 ret!onebyte nil,C3 8086 retn nil nil C3 nil nil 8086 retf nil nil CB nil nil 8086 -- 2.40.0