/* * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. * See the copyright notice in the ACK home directory, in the file "Copyright". */ #define RCSID3 "$Id$" /* * INTEL 8086 keywords */ {0, R16, 0, "ax"}, {0, R16, 1, "cx"}, {0, R16, 2, "dx"}, {0, R16, 3, "bx"}, {0, R16, 4, "sp"}, {0, R16, 5, "bp"}, {0, R16, 6, "si"}, {0, R16, 7, "di"}, {0, R8, 0, "al"}, {0, R8, 1, "cl"}, {0, R8, 2, "dl"}, {0, R8, 3, "bl"}, {0, R8, 4, "ah"}, {0, R8, 5, "ch"}, {0, R8, 6, "dh"}, {0, R8, 7, "bh"}, {0, RSEG, 0, "es"}, {0, RSEG, 1, "cs"}, {0, RSEG, 2, "ss"}, {0, RSEG, 3, "ds"}, {0, PREFIX, 046, "eseg"}, {0, PREFIX, 056, "cseg"}, {0, PREFIX, 066, "sseg"}, {0, PREFIX, 076, "dseg"}, {0, PREFIX, 0360, "lock"}, {0, PREFIX, 0363, "rep"}, {0, PREFIX, 0362, "repne"}, {0, PREFIX, 0362, "repnz"}, {0, PREFIX, 0363, "repe"}, {0, PREFIX, 0363, "repz"}, {0, NOOP_1, 047, "daa"}, {0, NOOP_1, 057, "das"}, {0, NOOP_1, 067, "aaa"}, {0, NOOP_1, 077, "aas"}, {0, NOOP_1, 0220, "nop"}, {0, NOOP_1, 0230, "cbw"}, {0, NOOP_1, 0231, "cwd"}, {0, NOOP_1, 0233, "wait"}, {0, NOOP_1, 0234, "pushf"}, {0, NOOP_1, 0235, "popf"}, {0, NOOP_1, 0236, "sahf"}, {0, NOOP_1, 0237, "lahf"}, {0, NOOP_1, 0244, "movsb"}, {0, NOOP_1, 0245, "movs"}, {0, NOOP_1, 0245, "movsw"}, {0, NOOP_1, 0246, "cmpsb"}, {0, NOOP_1, 0247, "cmps"}, {0, NOOP_1, 0247, "cmpsw"}, {0, NOOP_1, 0252, "stosb"}, {0, NOOP_1, 0253, "stos"}, {0, NOOP_1, 0253, "stosw"}, {0, NOOP_1, 0254, "lodsb"}, {0, NOOP_1, 0255, "lods"}, {0, NOOP_1, 0255, "lodsw"}, {0, NOOP_1, 0256, "scasb"}, {0, NOOP_1, 0257, "scas"}, {0, NOOP_1, 0257, "scasw"}, {0, NOOP_1, 0316, "into"}, {0, NOOP_1, 0317, "iret"}, {0, NOOP_1, 0327, "xlat"}, {0, NOOP_1, 0364, "hlt"}, {0, NOOP_1, 0365, "cmc"}, {0, NOOP_1, 0370, "clc"}, {0, NOOP_1, 0371, "stc"}, {0, NOOP_1, 0372, "cli"}, {0, NOOP_1, 0373, "sti"}, {0, NOOP_1, 0374, "cld"}, {0, NOOP_1, 0375, "std"}, {0, NOOP_2, 0324+012<<8, "aam"}, {0, NOOP_2, 0325+012<<8, "aad"}, {0, JOP, 0340, "loopne"}, {0, JOP, 0340, "loopnz"}, {0, JOP, 0341, "loope"}, {0, JOP, 0341, "loopz"}, {0, JOP, 0342, "loop"}, {0, JOP, 0343, "jcxz"}, {0, JOP, 0160, "jo"}, {0, JOP, 0161, "jno"}, {0, JOP, 0162, "jb"}, {0, JOP, 0162, "jc"}, {0, JOP, 0162, "jnae"}, {0, JOP, 0163, "jae"}, {0, JOP, 0163, "jnb"}, {0, JOP, 0163, "jnc"}, {0, JOP, 0164, "je"}, {0, JOP, 0164, "jz"}, {0, JOP, 0165, "jne"}, {0, JOP, 0165, "jnz"}, {0, JOP, 0166, "jbe"}, {0, JOP, 0166, "jna"}, {0, JOP, 0167, "ja"}, {0, JOP, 0167, "jnbe"}, {0, JOP, 0170, "js"}, {0, JOP, 0171, "jns"}, {0, JOP, 0172, "jp"}, {0, JOP, 0172, "jpe"}, {0, JOP, 0173, "jnp"}, {0, JOP, 0173, "jpo"}, {0, JOP, 0174, "jl"}, {0, JOP, 0174, "jnge"}, {0, JOP, 0175, "jge"}, {0, JOP, 0175, "jnl"}, {0, JOP, 0176, "jle"}, {0, JOP, 0176, "jng"}, {0, JOP, 0177, "jg"}, {0, JOP, 0177, "jnle"}, {0, PUSHOP, 0, "push"}, {0, PUSHOP, 1, "pop"}, {0, IOOP, 0344, "inb"}, {0, IOOP, 0345, "in"}, {0, IOOP, 0345, "inw"}, {0, IOOP, 0346, "outb"}, {0, IOOP, 0347, "out"}, {0, IOOP, 0347, "outw"}, {0, ADDOP, 000, "addb"}, {0, ADDOP, 001, "add"}, {0, ADDOP, 010, "orb"}, {0, ADDOP, 011, "or"}, {0, ADDOP, 020, "adcb"}, {0, ADDOP, 021, "adc"}, {0, ADDOP, 030, "sbbb"}, {0, ADDOP, 031, "sbb"}, {0, ADDOP, 040, "andb"}, {0, ADDOP, 041, "and"}, {0, ADDOP, 050, "subb"}, {0, ADDOP, 051, "sub"}, {0, ADDOP, 060, "xorb"}, {0, ADDOP, 061, "xor"}, {0, ADDOP, 070, "cmpb"}, {0, ADDOP, 071, "cmp"}, {0, ROLOP, 000, "rolb"}, {0, ROLOP, 001, "rol"}, {0, ROLOP, 010, "rorb"}, {0, ROLOP, 011, "ror"}, {0, ROLOP, 020, "rclb"}, {0, ROLOP, 021, "rcl"}, {0, ROLOP, 030, "rcrb"}, {0, ROLOP, 031, "rcr"}, {0, ROLOP, 040, "salb"}, {0, ROLOP, 040, "shlb"}, {0, ROLOP, 041, "sal"}, {0, ROLOP, 041, "shl"}, {0, ROLOP, 050, "shrb"}, {0, ROLOP, 051, "shr"}, {0, ROLOP, 070, "sarb"}, {0, ROLOP, 071, "sar"}, {0, INCOP, 000, "incb"}, {0, INCOP, 001, "inc"}, {0, INCOP, 010, "decb"}, {0, INCOP, 011, "dec"}, {0, NOTOP, 020, "notb"}, {0, NOTOP, 021, "not"}, {0, NOTOP, 030, "negb"}, {0, NOTOP, 031, "neg"}, {0, NOTOP, 040, "mulb"}, {0, NOTOP, 041, "mul"}, {0, NOTOP, 050, "imulb"}, {0, IMUL, 051, "imul"}, /* for 80286 */ {0, NOTOP, 060, "divb"}, {0, NOTOP, 061, "div"}, {0, NOTOP, 070, "idivb"}, {0, NOTOP, 071, "idiv"}, {0, CALLOP, 020+(0350<<8), "call"}, {0, CALLOP, 040+(0351<<8), "jmp"}, {0, CALFOP, 030+(0232<<8), "callf"}, {0, CALFOP, 050+(0352<<8), "jmpf"}, {0, LEAOP, 0215, "lea"}, {0, LEAOP, 0304, "les"}, {0, LEAOP, 0305, "lds"}, {0, ESC, 0, "esc"}, {0, INT, 0, "int"}, {0, RET, 0303, "ret"}, {0, RET, 0313, "retf"}, {0, XCHG, 0, "xchgb"}, {0, XCHG, 1, "xchg"}, {0, TEST, 0, "testb"}, {0, TEST, 1, "test"}, {0, MOV, 0, "movb"}, {0, MOV, 1, "mov"}, {0, MOV, 1, "movw"}, /* Intel 8087 coprocessor keywords */ {0, ST, 0, "st"}, {0, FNOOP, FESC+1+(0xF0<<8), "f2xm1"}, {0, FNOOP, FESC+1+(0xE1<<8), "fabs"}, {0, FNOOP, FESC+1+(0xE0<<8), "fchs"}, {0, FNOOP, FESC+3+(0xE2<<8), "fclex"}, {0, FNOOP, FESC+6+(0xD9<<8), "fcompp"}, {0, FNOOP, FESC+1+(0xF6<<8), "fdecstp"}, {0, FNOOP, FESC+3+(0xE1<<8), "fdisi"}, {0, FNOOP, FESC+3+(0xE0<<8), "feni"}, {0, FNOOP, FESC+1+(0xF7<<8), "fincstp"}, {0, FNOOP, FESC+3+(0xE3<<8), "finit"}, {0, FNOOP, FESC+1+(0xE8<<8), "fld1"}, {0, FNOOP, FESC+1+(0xEA<<8), "fldl2e"}, {0, FNOOP, FESC+1+(0xE9<<8), "fldl2t"}, {0, FNOOP, FESC+1+(0xEC<<8), "fldlg2"}, {0, FNOOP, FESC+1+(0xED<<8), "fldln2"}, {0, FNOOP, FESC+1+(0xEB<<8), "fldpi"}, {0, FNOOP, FESC+1+(0xEE<<8), "fldz"}, {0, FNOOP, FESC+1+(0xD0<<8), "fnop"}, {0, FNOOP, FESC+1+(0xF3<<8), "fpatan"}, {0, FNOOP, FESC+1+(0xF8<<8), "fprem"}, {0, FNOOP, FESC+1+(0xF2<<8), "fptan"}, {0, FNOOP, FESC+1+(0xFC<<8), "frndint"}, {0, FNOOP, FESC+1+(0xFD<<8), "fscale"}, {0, FNOOP, FESC+1+(0xFA<<8), "fsqrt"}, {0, FNOOP, FESC+7+(0xE0<<8), "fstswax"}, /* 80287 */ {0, FNOOP, FESC+1+(0xE4<<8), "ftst"}, {0, FNOOP, FESC+1+(0xE5<<8), "fxam"}, {0, FNOOP, FESC+1+(0xF4<<8), "fxtract"}, {0, FNOOP, FESC+1+(0xF1<<8), "fyl2x"}, {0, FNOOP, FESC+1+(0xF9<<8), "fyl2pi"}, {0, FMEM, FESC+6+(0<<11), "fiadds"}, {0, FMEM, FESC+2+(0<<11), "fiaddl"}, {0, FMEM, FESC+0+(0<<11), "fadds"}, {0, FMEM, FESC+4+(0<<11), "faddd"}, {0, FMEM, FESC+7+(4<<11), "fbld"}, {0, FMEM, FESC+7+(6<<11), "fbstp"}, {0, FMEM, FESC+6+(2<<11), "ficoms"}, {0, FMEM, FESC+2+(2<<11), "ficoml"}, {0, FMEM, FESC+0+(2<<11), "fcoms"}, {0, FMEM, FESC+4+(2<<11), "fcomd"}, {0, FMEM, FESC+6+(3<<11), "ficomps"}, {0, FMEM, FESC+2+(3<<11), "ficompl"}, {0, FMEM, FESC+0+(3<<11), "fcomps"}, {0, FMEM, FESC+4+(3<<11), "fcompd"}, {0, FMEM, FESC+6+(6<<11), "fidivs"}, {0, FMEM, FESC+2+(6<<11), "fidivl"}, {0, FMEM, FESC+0+(6<<11), "fdivs"}, {0, FMEM, FESC+4+(6<<11), "fdivd"}, {0, FMEM, FESC+6+(7<<11), "fidivrs"}, {0, FMEM, FESC+2+(7<<11), "fidivrl"}, {0, FMEM, FESC+0+(7<<11), "fdivrs"}, {0, FMEM, FESC+4+(7<<11), "fdivrd"}, {0, FMEM, FESC+7+(5<<11), "fildq"}, {0, FMEM, FESC+7+(0<<11), "filds"}, {0, FMEM, FESC+3+(0<<11), "fildl"}, {0, FMEM, FESC+1+(0<<11), "flds"}, {0, FMEM, FESC+5+(0<<11), "fldd"}, {0, FMEM, FESC+3+(5<<11), "fldx"}, {0, FMEM, FESC+1+(5<<11), "fldcw"}, {0, FMEM, FESC+1+(4<<11), "fldenv"}, {0, FMEM, FESC+6+(1<<11), "fimuls"}, {0, FMEM, FESC+2+(1<<11), "fimull"}, {0, FMEM, FESC+0+(1<<11), "fmuls"}, {0, FMEM, FESC+4+(1<<11), "fmuld"}, {0, FMEM, FESC+5+(4<<11), "frstor"}, {0, FMEM, FESC+5+(6<<11), "fsave"}, {0, FMEM, FESC+7+(2<<11), "fists"}, {0, FMEM, FESC+3+(2<<11), "fistl"}, {0, FMEM, FESC+1+(2<<11), "fsts"}, {0, FMEM, FESC+5+(2<<11), "fstd"}, {0, FMEM, FESC+7+(7<<11), "fistpq"}, {0, FMEM, FESC+7+(3<<11), "fistps"}, {0, FMEM, FESC+3+(3<<11), "fistpl"}, {0, FMEM, FESC+1+(3<<11), "fstps"}, {0, FMEM, FESC+5+(3<<11), "fstpd"}, {0, FMEM, FESC+3+(7<<11), "fstpx"}, {0, FMEM, FESC+1+(7<<11), "fstcw"}, {0, FMEM, FESC+1+(6<<11), "fstenv"}, {0, FMEM, FESC+5+(7<<11), "fstsw"}, {0, FMEM, FESC+6+(4<<11), "fisubs"}, {0, FMEM, FESC+2+(4<<11), "fisubl"}, {0, FMEM, FESC+0+(4<<11), "fsubs"}, {0, FMEM, FESC+4+(4<<11), "fsubd"}, {0, FMEM, FESC+6+(5<<11), "fisubrs"}, {0, FMEM, FESC+2+(5<<11), "fisubrl"}, {0, FMEM, FESC+0+(5<<11), "fsubrs"}, {0, FMEM, FESC+4+(5<<11), "fsubrd"}, {0, FST_I, FESC+1+(0xC0<<8), "fld"}, {0, FST_I, FESC+5+(0xD0<<8), "fst"}, {0, FST_I, FESC+5+(0xC8<<8), "fstp"}, {0, FST_I, FESC+1+(0xC8<<8), "fxch"}, {0, FST_I, FESC+0+(0xD0<<8), "fcom"}, {0, FST_I, FESC+0+(0xD8<<8), "fcomp"}, {0, FST_I, FESC+5+(0xC0<<8), "ffree"}, {0, FST_ST, FESC+0+(0xC0<<8), "fadd"}, {0, FST_ST, FESC+2+(0xC0<<8), "faddp"}, {0, FST_ST2, FESC+0+(0xF0<<8), "fdiv"}, {0, FST_ST2, FESC+2+(0xF0<<8), "fdivp"}, {0, FST_ST2, FESC+0+(0xF8<<8), "fdivr"}, {0, FST_ST2, FESC+2+(0xF8<<8), "fdivrp"}, {0, FST_ST, FESC+0+(0xC8<<8), "fmul"}, {0, FST_ST, FESC+2+(0xC8<<8), "fmulp"}, {0, FST_ST2, FESC+0+(0xE0<<8), "fsub"}, {0, FST_ST2, FESC+2+(0xE0<<8), "fsubp"}, {0, FST_ST2, FESC+0+(0xE8<<8), "fsubr"}, {0, FST_ST2, FESC+2+(0xE8<<8), "fsubrp"}, /* 80286 keywords */ {0, NOOP_1, 0140, "pusha"}, {0, NOOP_1, 0141, "popa"}, {0, NOOP_1, 0154, "insb"}, {0, NOOP_1, 0155, "ins"}, {0, NOOP_1, 0155, "insw"}, {0, NOOP_1, 0156, "outsb"}, {0, NOOP_1, 0157, "outs"}, {0, NOOP_1, 0157, "outsw"}, {0, ARPLOP, 0143, "arpl"}, {0, ENTER, 0310, "enter"}, {0, NOOP_1, 0311, "leave"}, {0, LEAOP, 0142, "bound"}, {0, NOOP_2, 017+06<<8, "clts"}, {0, EXTOP, 0002, "lar"}, {0, EXTOP, 0003, "lsl"}, {0, EXTOP1, 0021, "lgdt"}, {0, EXTOP1, 0001, "sgdt"}, {0, EXTOP1, 0031, "lidt"}, {0, EXTOP1, 0011, "sidt"}, {0, EXTOP1, 0020, "lldt"}, {0, EXTOP1, 0000, "sldt"}, {0, EXTOP1, 0030, "ltr"}, {0, EXTOP1, 0010, "str"}, {0, EXTOP1, 0061, "lmsw"}, {0, EXTOP1, 0041, "smsw"}, {0, EXTOP1, 0050, "verw"}, {0, EXTOP1, 0040, "verr"},