|
|
| version 1.5, 2004/02/05 16:43:44 | version 1.7, 2004/02/20 16:09:04 |
|---|---|
| Line 60 undef_op(void) | Line 60 undef_op(void) |
| } | } |
| static void | static void |
| undef_op2(DWORD v) | undef_op2(UINT32 v) |
| { | { |
| (void)v; | (void)v; |
| Line 68 undef_op2(DWORD v) | Line 68 undef_op2(DWORD v) |
| } | } |
| BYTE insttable_info[256] = { | UINT8 insttable_info[256] = { |
| 0, /* 00 */ | 0, /* 00 */ |
| 0, | 0, |
| 0, | 0, |
| Line 558 void (*insttable_1byte[2][256])(void) = | Line 558 void (*insttable_1byte[2][256])(void) = |
| MOV_EbIb, | MOV_EbIb, |
| MOV_EwIw, | MOV_EwIw, |
| ENTER16_IwIb, /* C8 */ | ENTER16_IwIb, /* C8 */ |
| LEAVE16, | LEAVE, |
| RETfar16_Iw, | RETfar16_Iw, |
| RETfar16, | RETfar16, |
| INT3, | INT3, |
| Line 833 void (*insttable_1byte[2][256])(void) = | Line 833 void (*insttable_1byte[2][256])(void) = |
| MOV_EbIb, | MOV_EbIb, |
| MOV_EdId, | MOV_EdId, |
| ENTER32_IwIb, /* C8 */ | ENTER32_IwIb, /* C8 */ |
| LEAVE32, | LEAVE, |
| RETfar32_Iw, | RETfar32_Iw, |
| RETfar32, | RETfar32, |
| INT3, | INT3, |
| Line 1452 void (*insttable_2byte[2][256])(void) = | Line 1452 void (*insttable_2byte[2][256])(void) = |
| */ | */ |
| /* group 1 */ | /* group 1 */ |
| void (*insttable_G1EbIb[])(BYTE *, DWORD) = { | void (*insttable_G1EbIb[])(UINT8 *, UINT32) = { |
| ADD_EbIb, | ADD_EbIb, |
| OR_EbIb, | OR_EbIb, |
| ADC_EbIb, | ADC_EbIb, |
| Line 1462 void (*insttable_G1EbIb[])(BYTE *, DWORD | Line 1462 void (*insttable_G1EbIb[])(BYTE *, DWORD |
| XOR_EbIb, | XOR_EbIb, |
| CMP_EbIb, | CMP_EbIb, |
| }; | }; |
| void (*insttable_G1EbIb_ext[])(DWORD, DWORD) = { | void (*insttable_G1EbIb_ext[])(UINT32, UINT32) = { |
| ADD_EbIb_ext, | ADD_EbIb_ext, |
| OR_EbIb_ext, | OR_EbIb_ext, |
| ADC_EbIb_ext, | ADC_EbIb_ext, |
| Line 1473 void (*insttable_G1EbIb_ext[])(DWORD, DW | Line 1473 void (*insttable_G1EbIb_ext[])(DWORD, DW |
| CMP_EbIb_ext, | CMP_EbIb_ext, |
| }; | }; |
| void (*insttable_G1EwIx[])(WORD *, DWORD) = { | void (*insttable_G1EwIx[])(UINT16 *, UINT32) = { |
| ADD_EwIx, | ADD_EwIx, |
| OR_EwIx, | OR_EwIx, |
| ADC_EwIx, | ADC_EwIx, |
| Line 1483 void (*insttable_G1EwIx[])(WORD *, DWORD | Line 1483 void (*insttable_G1EwIx[])(WORD *, DWORD |
| XOR_EwIx, | XOR_EwIx, |
| CMP_EwIx, | CMP_EwIx, |
| }; | }; |
| void (*insttable_G1EwIx_ext[])(DWORD, DWORD) = { | void (*insttable_G1EwIx_ext[])(UINT32, UINT32) = { |
| ADD_EwIx_ext, | ADD_EwIx_ext, |
| OR_EwIx_ext, | OR_EwIx_ext, |
| ADC_EwIx_ext, | ADC_EwIx_ext, |
| Line 1494 void (*insttable_G1EwIx_ext[])(DWORD, DW | Line 1494 void (*insttable_G1EwIx_ext[])(DWORD, DW |
| CMP_EwIx_ext, | CMP_EwIx_ext, |
| }; | }; |
| void (*insttable_G1EdIx[])(DWORD *, DWORD) = { | void (*insttable_G1EdIx[])(UINT32 *, UINT32) = { |
| ADD_EdIx, | ADD_EdIx, |
| OR_EdIx, | OR_EdIx, |
| ADC_EdIx, | ADC_EdIx, |
| Line 1504 void (*insttable_G1EdIx[])(DWORD *, DWOR | Line 1504 void (*insttable_G1EdIx[])(DWORD *, DWOR |
| XOR_EdIx, | XOR_EdIx, |
| CMP_EdIx, | CMP_EdIx, |
| }; | }; |
| void (*insttable_G1EdIx_ext[])(DWORD, DWORD) = { | void (*insttable_G1EdIx_ext[])(UINT32, UINT32) = { |
| ADD_EdIx_ext, | ADD_EdIx_ext, |
| OR_EdIx_ext, | OR_EdIx_ext, |
| ADC_EdIx_ext, | ADC_EdIx_ext, |
| Line 1517 void (*insttable_G1EdIx_ext[])(DWORD, DW | Line 1517 void (*insttable_G1EdIx_ext[])(DWORD, DW |
| /* group 2 */ | /* group 2 */ |
| void (*insttable_G2Eb[])(BYTE *) = { | void (*insttable_G2Eb[])(UINT8 *) = { |
| ROL_Eb, | ROL_Eb, |
| ROR_Eb, | ROR_Eb, |
| RCL_Eb, | RCL_Eb, |
| Line 1527 void (*insttable_G2Eb[])(BYTE *) = { | Line 1527 void (*insttable_G2Eb[])(BYTE *) = { |
| SHL_Eb, | SHL_Eb, |
| SAR_Eb, | SAR_Eb, |
| }; | }; |
| void (*insttable_G2Eb_ext[])(DWORD) = { | void (*insttable_G2Eb_ext[])(UINT32) = { |
| ROL_Eb_ext, | ROL_Eb_ext, |
| ROR_Eb_ext, | ROR_Eb_ext, |
| RCL_Eb_ext, | RCL_Eb_ext, |
| Line 1538 void (*insttable_G2Eb_ext[])(DWORD) = { | Line 1538 void (*insttable_G2Eb_ext[])(DWORD) = { |
| SAR_Eb_ext, | SAR_Eb_ext, |
| }; | }; |
| void (*insttable_G2Ew[])(WORD *) = { | void (*insttable_G2Ew[])(UINT16 *) = { |
| ROL_Ew, | ROL_Ew, |
| ROR_Ew, | ROR_Ew, |
| RCL_Ew, | RCL_Ew, |
| Line 1548 void (*insttable_G2Ew[])(WORD *) = { | Line 1548 void (*insttable_G2Ew[])(WORD *) = { |
| SHL_Ew, | SHL_Ew, |
| SAR_Ew, | SAR_Ew, |
| }; | }; |
| void (*insttable_G2Ew_ext[])(DWORD) = { | void (*insttable_G2Ew_ext[])(UINT32) = { |
| ROL_Ew_ext, | ROL_Ew_ext, |
| ROR_Ew_ext, | ROR_Ew_ext, |
| RCL_Ew_ext, | RCL_Ew_ext, |
| Line 1559 void (*insttable_G2Ew_ext[])(DWORD) = { | Line 1559 void (*insttable_G2Ew_ext[])(DWORD) = { |
| SAR_Ew_ext, | SAR_Ew_ext, |
| }; | }; |
| void (*insttable_G2Ed[])(DWORD *) = { | void (*insttable_G2Ed[])(UINT32 *) = { |
| ROL_Ed, | ROL_Ed, |
| ROR_Ed, | ROR_Ed, |
| RCL_Ed, | RCL_Ed, |
| Line 1569 void (*insttable_G2Ed[])(DWORD *) = { | Line 1569 void (*insttable_G2Ed[])(DWORD *) = { |
| SHL_Ed, | SHL_Ed, |
| SAR_Ed, | SAR_Ed, |
| }; | }; |
| void (*insttable_G2Ed_ext[])(DWORD) = { | void (*insttable_G2Ed_ext[])(UINT32) = { |
| ROL_Ed_ext, | ROL_Ed_ext, |
| ROR_Ed_ext, | ROR_Ed_ext, |
| RCL_Ed_ext, | RCL_Ed_ext, |
| Line 1580 void (*insttable_G2Ed_ext[])(DWORD) = { | Line 1580 void (*insttable_G2Ed_ext[])(DWORD) = { |
| SAR_Ed_ext, | SAR_Ed_ext, |
| }; | }; |
| void (*insttable_G2EbCL[])(BYTE *, BYTE) = { | void (*insttable_G2EbCL[])(UINT8 *, UINT) = { |
| ROL_EbCL, | ROL_EbCL, |
| ROR_EbCL, | ROR_EbCL, |
| RCL_EbCL, | RCL_EbCL, |
| Line 1590 void (*insttable_G2EbCL[])(BYTE *, BYTE) | Line 1590 void (*insttable_G2EbCL[])(BYTE *, BYTE) |
| SHL_EbCL, | SHL_EbCL, |
| SAR_EbCL, | SAR_EbCL, |
| }; | }; |
| void (*insttable_G2EbCL_ext[])(DWORD, BYTE) = { | void (*insttable_G2EbCL_ext[])(UINT32, UINT) = { |
| ROL_EbCL_ext, | ROL_EbCL_ext, |
| ROR_EbCL_ext, | ROR_EbCL_ext, |
| RCL_EbCL_ext, | RCL_EbCL_ext, |
| Line 1601 void (*insttable_G2EbCL_ext[])(DWORD, BY | Line 1601 void (*insttable_G2EbCL_ext[])(DWORD, BY |
| SAR_EbCL_ext, | SAR_EbCL_ext, |
| }; | }; |
| void (*insttable_G2EwCL[])(WORD *, BYTE) = { | void (*insttable_G2EwCL[])(UINT16 *, UINT) = { |
| ROL_EwCL, | ROL_EwCL, |
| ROR_EwCL, | ROR_EwCL, |
| RCL_EwCL, | RCL_EwCL, |
| Line 1611 void (*insttable_G2EwCL[])(WORD *, BYTE) | Line 1611 void (*insttable_G2EwCL[])(WORD *, BYTE) |
| SHL_EwCL, | SHL_EwCL, |
| SAR_EwCL, | SAR_EwCL, |
| }; | }; |
| void (*insttable_G2EwCL_ext[])(DWORD, BYTE) = { | void (*insttable_G2EwCL_ext[])(UINT32, UINT) = { |
| ROL_EwCL_ext, | ROL_EwCL_ext, |
| ROR_EwCL_ext, | ROR_EwCL_ext, |
| RCL_EwCL_ext, | RCL_EwCL_ext, |
| Line 1622 void (*insttable_G2EwCL_ext[])(DWORD, BY | Line 1622 void (*insttable_G2EwCL_ext[])(DWORD, BY |
| SAR_EwCL_ext, | SAR_EwCL_ext, |
| }; | }; |
| void (*insttable_G2EdCL[])(DWORD *, BYTE) = { | void (*insttable_G2EdCL[])(UINT32 *, UINT) = { |
| ROL_EdCL, | ROL_EdCL, |
| ROR_EdCL, | ROR_EdCL, |
| RCL_EdCL, | RCL_EdCL, |
| Line 1632 void (*insttable_G2EdCL[])(DWORD *, BYTE | Line 1632 void (*insttable_G2EdCL[])(DWORD *, BYTE |
| SHL_EdCL, | SHL_EdCL, |
| SAR_EdCL, | SAR_EdCL, |
| }; | }; |
| void (*insttable_G2EdCL_ext[])(DWORD, BYTE) = { | void (*insttable_G2EdCL_ext[])(UINT32, UINT) = { |
| ROL_EdCL_ext, | ROL_EdCL_ext, |
| ROR_EdCL_ext, | ROR_EdCL_ext, |
| RCL_EdCL_ext, | RCL_EdCL_ext, |
| Line 1644 void (*insttable_G2EdCL_ext[])(DWORD, BY | Line 1644 void (*insttable_G2EdCL_ext[])(DWORD, BY |
| }; | }; |
| /* group 3 */ | /* group 3 */ |
| void (*insttable_G3Eb[])(DWORD) = { | void (*insttable_G3Eb[])(UINT32) = { |
| TEST_EbIb, | TEST_EbIb, |
| TEST_EbIb, | TEST_EbIb, |
| NOT_Eb, | NOT_Eb, |
| Line 1655 void (*insttable_G3Eb[])(DWORD) = { | Line 1655 void (*insttable_G3Eb[])(DWORD) = { |
| IDIV_ALEb, | IDIV_ALEb, |
| }; | }; |
| void (*insttable_G3Ew[])(DWORD) = { | void (*insttable_G3Ew[])(UINT32) = { |
| TEST_EwIw, | TEST_EwIw, |
| TEST_EwIw, | TEST_EwIw, |
| NOT_Ew, | NOT_Ew, |
| Line 1666 void (*insttable_G3Ew[])(DWORD) = { | Line 1666 void (*insttable_G3Ew[])(DWORD) = { |
| IDIV_AXEw, | IDIV_AXEw, |
| }; | }; |
| void (*insttable_G3Ed[])(DWORD) = { | void (*insttable_G3Ed[])(UINT32) = { |
| TEST_EdId, | TEST_EdId, |
| TEST_EdId, | TEST_EdId, |
| NOT_Ed, | NOT_Ed, |
| Line 1678 void (*insttable_G3Ed[])(DWORD) = { | Line 1678 void (*insttable_G3Ed[])(DWORD) = { |
| }; | }; |
| /* group 4 */ | /* group 4 */ |
| void (*insttable_G4[])(DWORD) = { | void (*insttable_G4[])(UINT32) = { |
| INC_Eb, | INC_Eb, |
| DEC_Eb, | DEC_Eb, |
| undef_op2, | undef_op2, |
| Line 1690 void (*insttable_G4[])(DWORD) = { | Line 1690 void (*insttable_G4[])(DWORD) = { |
| }; | }; |
| /* group 5 */ | /* group 5 */ |
| void (*insttable_G5Ew[])(DWORD) = { | void (*insttable_G5Ew[])(UINT32) = { |
| INC_Ew, | INC_Ew, |
| DEC_Ew, | DEC_Ew, |
| CALL_Ew, | CALL_Ew, |
| Line 1701 void (*insttable_G5Ew[])(DWORD) = { | Line 1701 void (*insttable_G5Ew[])(DWORD) = { |
| undef_op2, /* POP_Ew_G5 */ | undef_op2, /* POP_Ew_G5 */ |
| }; | }; |
| void (*insttable_G5Ed[])(DWORD) = { | void (*insttable_G5Ed[])(UINT32) = { |
| INC_Ed, | INC_Ed, |
| DEC_Ed, | DEC_Ed, |
| CALL_Ed, | CALL_Ed, |
| Line 1713 void (*insttable_G5Ed[])(DWORD) = { | Line 1713 void (*insttable_G5Ed[])(DWORD) = { |
| }; | }; |
| /* group 6 */ | /* group 6 */ |
| void (*insttable_G6[])(DWORD) = { | void (*insttable_G6[])(UINT32) = { |
| SLDT_Ew, | SLDT_Ew, |
| STR_Ew, | STR_Ew, |
| LLDT_Ew, | LLDT_Ew, |
| Line 1725 void (*insttable_G6[])(DWORD) = { | Line 1725 void (*insttable_G6[])(DWORD) = { |
| }; | }; |
| /* group 7 */ | /* group 7 */ |
| void (*insttable_G7[])(DWORD) = { | void (*insttable_G7[])(UINT32) = { |
| SGDT_Ms, | SGDT_Ms, |
| SIDT_Ms, | SIDT_Ms, |
| LGDT_Ms, | LGDT_Ms, |
| Line 1737 void (*insttable_G7[])(DWORD) = { | Line 1737 void (*insttable_G7[])(DWORD) = { |
| }; | }; |
| /* group 8 */ | /* group 8 */ |
| void (*insttable_G8EwIb[])(DWORD) = { | void (*insttable_G8EwIb[])(UINT32) = { |
| undef_op2, | undef_op2, |
| undef_op2, | undef_op2, |
| undef_op2, | undef_op2, |
| Line 1748 void (*insttable_G8EwIb[])(DWORD) = { | Line 1748 void (*insttable_G8EwIb[])(DWORD) = { |
| BTC_EwIb, | BTC_EwIb, |
| }; | }; |
| void (*insttable_G8EdIb[])(DWORD) = { | void (*insttable_G8EdIb[])(UINT32) = { |
| undef_op2, | undef_op2, |
| undef_op2, | undef_op2, |
| undef_op2, | undef_op2, |
| Line 1760 void (*insttable_G8EdIb[])(DWORD) = { | Line 1760 void (*insttable_G8EdIb[])(DWORD) = { |
| }; | }; |
| /* group 9 */ | /* group 9 */ |
| void (*insttable_G9[])(DWORD) = { | void (*insttable_G9[])(UINT32) = { |
| undef_op2, | undef_op2, |
| CMPXCHG8B, | CMPXCHG8B, |
| undef_op2, | undef_op2, |