Changeset 41674 in vbox for trunk/include/VBox/dis.h
- Timestamp:
- Jun 12, 2012 8:16:31 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 78481
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/dis.h
r41671 r41674 35 35 36 36 37 /** CPU mode flags (DISCPUSTATE::mode).38 * @{39 */ 40 typedef enum 37 /** 38 * CPU mode flags (DISCPUSTATE::mode). 39 */ 40 typedef enum DISCPUMODE 41 41 { 42 CPUMODE_16BIT = 1, 43 CPUMODE_32BIT = 2, 44 CPUMODE_64BIT = 3, 42 CPUMODE_INVALID = 0, 43 CPUMODE_16BIT, 44 CPUMODE_32BIT, 45 CPUMODE_64BIT, 45 46 /** hack forcing the size of the enum to 32-bits. */ 46 47 CPUMODE_MAKE_32BIT_HACK = 0x7fffffff 47 48 } DISCPUMODE; 48 /** @} */ 49 50 /** Prefix byte flags 49 50 /** @name Prefix byte flags 51 51 * @{ 52 52 */ 53 53 #define PREFIX_NONE 0 54 54 /** non-default address size. */ 55 #define PREFIX_ADDRSIZE RT_BIT(0)55 #define PREFIX_ADDRSIZE UINT8_C(0x00) 56 56 /** non-default operand size. */ 57 #define PREFIX_OPSIZE RT_BIT(1)57 #define PREFIX_OPSIZE UINT8_C(0x01) 58 58 /** lock prefix. */ 59 #define PREFIX_LOCK RT_BIT(2)59 #define PREFIX_LOCK UINT8_C(0x02) 60 60 /** segment prefix. */ 61 #define PREFIX_SEG RT_BIT(3)61 #define PREFIX_SEG UINT8_C(0x04) 62 62 /** rep(e) prefix (not a prefix, but we'll treat is as one). */ 63 #define PREFIX_REP RT_BIT(4)63 #define PREFIX_REP UINT8_C(0x08) 64 64 /** rep(e) prefix (not a prefix, but we'll treat is as one). */ 65 #define PREFIX_REPNE RT_BIT(5)65 #define PREFIX_REPNE UINT8_C(0x10) 66 66 /** REX prefix (64 bits) */ 67 #define PREFIX_REX RT_BIT(6)68 /** @} */ 69 70 /** 64 bits prefix byte flags67 #define PREFIX_REX UINT8_C(0x20) 68 /** @} */ 69 70 /** @name 64 bits prefix byte flags 71 71 * @{ 72 72 */ … … 90 90 /** @} */ 91 91 92 /** 93 * Operand type.92 /** @name Operand type. 93 * @{ 94 94 */ 95 95 #define OPTYPE_INVALID RT_BIT(0) … … 119 119 #define OPTYPE_MOD_FIXED_11 RT_BIT(24) /**< modrm.mod is always 11b */ 120 120 #define OPTYPE_FORCED_32_OP_SIZE_X86 RT_BIT(25) /**< Forced 32 bits operand size; regardless of prefix bytes (only in 16 & 32 bits mode!) */ 121 #define OPTYPE_ALL (0xffffffff) 122 123 /** Parameter usage flags. 121 #define OPTYPE_ALL UINT32_C(0xffffffff) 122 /** @} */ 123 124 /** @name Parameter usage flags. 124 125 * @{ 125 126 */ … … 507 508 PFNDISPARSE *pfnDisasmFnTable; 508 509 /** Internal: instruction filter */ 509 uint32_t uFilter;510 uint32_t fFilter; 510 511 /** Return code set by a worker function like the opcode bytes readers. */ 511 512 int32_t rc; … … 558 559 PDISCPUSTATE pCpu, uint32_t *pcbInstr, char *pszOutput, size_t cbOutput); 559 560 560 DISDECL(int) DIS CoreOne(RTUINTPTR uInstrAddr, DISCPUMODE enmCpuMode, PDISCPUSTATE pCpu, uint32_t *pcbInstr);561 DISDECL(int) DIS CoreOneWithReader(RTUINTPTR uInstrAddr, DISCPUMODE enmCpuMode, PFNDISREADBYTES pfnReadBytes, void *pvUser,562 563 DISDECL(int) DIS CoreOneExEx(RTUINTPTR uInstrAddr, DISCPUMODE enmCpuMode, uint32_t uFilter,564 565 561 DISDECL(int) DISInstr(void const *pvInstr, DISCPUMODE enmCpuMode, PDISCPUSTATE pCpu, uint32_t *pcbInstr); 562 DISDECL(int) DISInstrWithReader(RTUINTPTR uInstrAddr, DISCPUMODE enmCpuMode, PFNDISREADBYTES pfnReadBytes, void *pvUser, 563 PDISCPUSTATE pCpu, uint32_t *pcbInstr); 564 DISDECL(int) DISInstEx(RTUINTPTR uInstrAddr, DISCPUMODE enmCpuMode, uint32_t uFilter, 565 PFNDISREADBYTES pfnReadBytes, void *pvUser, 566 PDISCPUSTATE pCpu, uint32_t *pcbInstr); 566 567 567 568 DISDECL(int) DISGetParamSize(PDISCPUSTATE pCpu, POP_PARAMETER pParam);
Note:
See TracChangeset
for help on using the changeset viewer.