VirtualBox

Changeset 8149 in vbox for trunk/include/VBox/dis.h


Ignore:
Timestamp:
Apr 18, 2008 1:56:29 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
29855
Message:

More 64 bits disassembler updates

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/dis.h

    r8142 r8149  
    124124 * @{
    125125 */
    126 #define USE_BASE                        RT_BIT(0)
    127 #define USE_INDEX                       RT_BIT(1)
    128 #define USE_SCALE                       RT_BIT(2)
    129 #define USE_REG_GEN8                    RT_BIT(3)
    130 #define USE_REG_GEN16                   RT_BIT(4)
    131 #define USE_REG_GEN32                   RT_BIT(5)
    132 #define USE_REG_FP                      RT_BIT(6)
    133 #define USE_REG_MMX                     RT_BIT(7)
    134 #define USE_REG_XMM                     RT_BIT(8)
    135 #define USE_REG_CR                      RT_BIT(9)
    136 #define USE_REG_DBG                     RT_BIT(10)
    137 #define USE_REG_SEG                     RT_BIT(11)
    138 #define USE_REG_TEST                    RT_BIT(12)
    139 #define USE_DISPLACEMENT8               RT_BIT(13)
    140 #define USE_DISPLACEMENT16              RT_BIT(14)
    141 #define USE_DISPLACEMENT32              RT_BIT(15)
    142 #define USE_IMMEDIATE8                  RT_BIT(16)
    143 #define USE_IMMEDIATE8_REL              RT_BIT(17)
    144 #define USE_IMMEDIATE16                 RT_BIT(18)
    145 #define USE_IMMEDIATE16_REL             RT_BIT(19)
    146 #define USE_IMMEDIATE32                 RT_BIT(20)
    147 #define USE_IMMEDIATE32_REL             RT_BIT(21)
    148 #define USE_IMMEDIATE64                 RT_BIT(22)
    149 #define USE_IMMEDIATE_ADDR_0_32         RT_BIT(23)
    150 #define USE_IMMEDIATE_ADDR_16_32        RT_BIT(24)
    151 #define USE_IMMEDIATE_ADDR_0_16         RT_BIT(25)
    152 #define USE_IMMEDIATE_ADDR_16_16        RT_BIT(26)
     126#define USE_BASE                        RT_BIT_64(0)
     127#define USE_INDEX                       RT_BIT_64(1)
     128#define USE_SCALE                       RT_BIT_64(2)
     129#define USE_REG_GEN8                    RT_BIT_64(3)
     130#define USE_REG_GEN16                   RT_BIT_64(4)
     131#define USE_REG_GEN32                   RT_BIT_64(5)
     132#define USE_REG_GEN64                   RT_BIT_64(6)
     133#define USE_REG_FP                      RT_BIT_64(7)
     134#define USE_REG_MMX                     RT_BIT_64(8)
     135#define USE_REG_XMM                     RT_BIT_64(9)
     136#define USE_REG_CR                      RT_BIT_64(10)
     137#define USE_REG_DBG                     RT_BIT_64(11)
     138#define USE_REG_SEG                     RT_BIT_64(12)
     139#define USE_REG_TEST                    RT_BIT_64(13)
     140#define USE_DISPLACEMENT8               RT_BIT_64(14)
     141#define USE_DISPLACEMENT16              RT_BIT_64(15)
     142#define USE_DISPLACEMENT32              RT_BIT_64(16)
     143#define USE_IMMEDIATE8                  RT_BIT_64(17)
     144#define USE_IMMEDIATE8_REL              RT_BIT_64(18)
     145#define USE_IMMEDIATE16                 RT_BIT_64(19)
     146#define USE_IMMEDIATE16_REL             RT_BIT_64(20)
     147#define USE_IMMEDIATE32                 RT_BIT_64(21)
     148#define USE_IMMEDIATE32_REL             RT_BIT_64(22)
     149#define USE_IMMEDIATE64                 RT_BIT_64(23)
     150#define USE_IMMEDIATE_ADDR_0_32         RT_BIT_64(24)
     151#define USE_IMMEDIATE_ADDR_16_32        RT_BIT_64(25)
     152#define USE_IMMEDIATE_ADDR_0_16         RT_BIT_64(26)
     153#define USE_IMMEDIATE_ADDR_16_16        RT_BIT_64(27)
    153154/** DS:ESI */
    154 #define USE_POINTER_DS_BASED            RT_BIT(27)
     155#define USE_POINTER_DS_BASED            RT_BIT_64(28)
    155156/** ES:EDI */
    156 #define USE_POINTER_ES_BASED            RT_BIT(28)
    157 #define USE_IMMEDIATE16_SX8             RT_BIT(29)
    158 #define USE_IMMEDIATE32_SX8             RT_BIT(30)
     157#define USE_POINTER_ES_BASED            RT_BIT_64(29)
     158#define USE_IMMEDIATE16_SX8             RT_BIT_64(30)
     159#define USE_IMMEDIATE32_SX8             RT_BIT_64(31)
    159160
    160161#define USE_IMMEDIATE                   (USE_IMMEDIATE8|USE_IMMEDIATE16|USE_IMMEDIATE32|USE_IMMEDIATE64|USE_IMMEDIATE8_REL|USE_IMMEDIATE16_REL|USE_IMMEDIATE32_REL|USE_IMMEDIATE_ADDR_0_32|USE_IMMEDIATE_ADDR_16_32|USE_IMMEDIATE_ADDR_0_16|USE_IMMEDIATE_ADDR_16_16|USE_IMMEDIATE16_SX8|USE_IMMEDIATE32_SX8)
     
    291292{
    292293    uint32_t        type;
    293     uint32_t        flags;
    294294    uint32_t        size;
     295    uint64_t        flags;
    295296
    296297    union
     
    331332    int32_t         disp8, disp16, disp32;
    332333
    333     uint32_t        flags;
    334 
    335334    uint32_t        size;
     335
     336    uint64_t        flags;
    336337
    337338    union
     
    340341        uint32_t    reg_gen16;
    341342        uint32_t    reg_gen32;
     343        uint64_t    reg_gen64;
    342344        /** ST(0) - ST(7) */
    343345        uint32_t    reg_fp;
     
    351353        uint32_t    reg_test;
    352354        /** CR0-CR4 */
    353         uint32_t    reg_ctrl;
     355        uint64_t    reg_ctrl;
    354356        /** DR0-DR7 */
    355357        uint32_t    reg_dbg;
     
    568570 */
    569571DISDECL(int) DISQueryParamVal(PCPUMCTXCORE pCtx, PDISCPUSTATE pCpu, POP_PARAMETER pParam, POP_PARAMVAL pParamVal, PARAM_TYPE parmtype);
    570 DISDECL(int) DISQueryParamRegPtr(PCPUMCTXCORE pCtx, PDISCPUSTATE pCpu, POP_PARAMETER pParam, uint32_t **ppReg, size_t *pcbSize);
     572DISDECL(int) DISQueryParamRegPtr(PCPUMCTXCORE pCtx, PDISCPUSTATE pCpu, POP_PARAMETER pParam, void **ppReg, size_t *pcbSize);
    571573
    572574DISDECL(int) DISFetchReg8(PCPUMCTXCORE pCtx, unsigned reg8, uint8_t *pVal);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette