x86 indirect jump/call syntax fixes. Disassembly fix for lcall.
This commit is contained in:
		| @@ -1,3 +1,8 @@ | ||||
| 1999-12-27  Alan Modra  <alan@spri.levels.unisa.edu.au> | ||||
|  | ||||
| 	* i386.h: Add JumpAbsolute qualifier to all non-intel mode | ||||
| 	indirect jumps and calls.  Add FF/3 call for intel mode. | ||||
|  | ||||
| Wed Dec  1 03:05:25 1999  Jeffrey A Law  (law@cygnus.com) | ||||
|  | ||||
| 	* mn10300.h: Add new operand types.  Add new instruction formats. | ||||
|   | ||||
| @@ -315,17 +315,20 @@ static const template i386_optab[] = { | ||||
| {"call",   1,	0xff, 2, wl_Suf|Modrm|DefaultSize,	{ WordReg|WordMem|JumpAbsolute, 0, 0} }, | ||||
| /* Intel Syntax */ | ||||
| {"call",   2,	0x9a, X, wl_Suf|JumpInterSegment|DefaultSize, { Imm16, Imm16|Imm32, 0} }, | ||||
| /* Intel Syntax */ | ||||
| {"call",   1,	0xff, 3, wl_Suf|Modrm|DefaultSize,	{ WordMem, 0, 0} }, | ||||
| {"lcall",  2,	0x9a, X, wl_Suf|JumpInterSegment|DefaultSize, { Imm16, Imm16|Imm32, 0} }, | ||||
| {"lcall",  1,	0xff, 3, wl_Suf|Modrm|DefaultSize,	{ WordMem, 0, 0} }, | ||||
| {"lcall",  1,	0xff, 3, wl_Suf|Modrm|DefaultSize,	{ WordMem|JumpAbsolute, 0, 0} }, | ||||
|  | ||||
| #define JUMP_PC_RELATIVE 0xeb | ||||
| {"jmp",	   1,	0xeb, X, NoSuf|Jump,		{ Disp, 0, 0} }, | ||||
| {"jmp",	   1,	0xff, 4, wl_Suf|Modrm,		{ WordReg|WordMem|JumpAbsolute, 0, 0} }, | ||||
| /* Intel Syntax */ | ||||
| {"jmp",    2,	0xea, X, wl_Suf|JumpInterSegment, { Imm16, Imm16|Imm32, 0} }, | ||||
| /* Intel Syntax */ | ||||
| {"jmp",    1,	0xff, 5, wl_Suf|Modrm,		{ WordMem, 0, 0} }, | ||||
| {"ljmp",   2,	0xea, X, wl_Suf|JumpInterSegment, { Imm16, Imm16|Imm32, 0} }, | ||||
| {"ljmp",   1,	0xff, 5, wl_Suf|Modrm,		{ WordMem, 0, 0} }, | ||||
| {"ljmp",   1,	0xff, 5, wl_Suf|Modrm,		{ WordMem|JumpAbsolute, 0, 0} }, | ||||
|  | ||||
| {"ret",	   0,	0xc3, X, wl_Suf|DefaultSize,	{ 0, 0, 0} }, | ||||
| {"ret",	   1,	0xc2, X, wl_Suf|DefaultSize,	{ Imm16, 0, 0} }, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user