tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

EnumRegister.h (7642B)


      1 /**
      2 * Defines the `ZydisRegister` enum.
      3 */
      4 typedef enum ZydisRegister_
      5 {
      6    ZYDIS_REGISTER_NONE,
      7 
      8    // General purpose registers  8-bit
      9    ZYDIS_REGISTER_AL,
     10    ZYDIS_REGISTER_CL,
     11    ZYDIS_REGISTER_DL,
     12    ZYDIS_REGISTER_BL,
     13    ZYDIS_REGISTER_AH,
     14    ZYDIS_REGISTER_CH,
     15    ZYDIS_REGISTER_DH,
     16    ZYDIS_REGISTER_BH,
     17    ZYDIS_REGISTER_SPL,
     18    ZYDIS_REGISTER_BPL,
     19    ZYDIS_REGISTER_SIL,
     20    ZYDIS_REGISTER_DIL,
     21    ZYDIS_REGISTER_R8B,
     22    ZYDIS_REGISTER_R9B,
     23    ZYDIS_REGISTER_R10B,
     24    ZYDIS_REGISTER_R11B,
     25    ZYDIS_REGISTER_R12B,
     26    ZYDIS_REGISTER_R13B,
     27    ZYDIS_REGISTER_R14B,
     28    ZYDIS_REGISTER_R15B,
     29 
     30    // General purpose registers 16-bit
     31    ZYDIS_REGISTER_AX,
     32    ZYDIS_REGISTER_CX,
     33    ZYDIS_REGISTER_DX,
     34    ZYDIS_REGISTER_BX,
     35    ZYDIS_REGISTER_SP,
     36    ZYDIS_REGISTER_BP,
     37    ZYDIS_REGISTER_SI,
     38    ZYDIS_REGISTER_DI,
     39    ZYDIS_REGISTER_R8W,
     40    ZYDIS_REGISTER_R9W,
     41    ZYDIS_REGISTER_R10W,
     42    ZYDIS_REGISTER_R11W,
     43    ZYDIS_REGISTER_R12W,
     44    ZYDIS_REGISTER_R13W,
     45    ZYDIS_REGISTER_R14W,
     46    ZYDIS_REGISTER_R15W,
     47 
     48    // General purpose registers 32-bit
     49    ZYDIS_REGISTER_EAX,
     50    ZYDIS_REGISTER_ECX,
     51    ZYDIS_REGISTER_EDX,
     52    ZYDIS_REGISTER_EBX,
     53    ZYDIS_REGISTER_ESP,
     54    ZYDIS_REGISTER_EBP,
     55    ZYDIS_REGISTER_ESI,
     56    ZYDIS_REGISTER_EDI,
     57    ZYDIS_REGISTER_R8D,
     58    ZYDIS_REGISTER_R9D,
     59    ZYDIS_REGISTER_R10D,
     60    ZYDIS_REGISTER_R11D,
     61    ZYDIS_REGISTER_R12D,
     62    ZYDIS_REGISTER_R13D,
     63    ZYDIS_REGISTER_R14D,
     64    ZYDIS_REGISTER_R15D,
     65 
     66    // General purpose registers 64-bit
     67    ZYDIS_REGISTER_RAX,
     68    ZYDIS_REGISTER_RCX,
     69    ZYDIS_REGISTER_RDX,
     70    ZYDIS_REGISTER_RBX,
     71    ZYDIS_REGISTER_RSP,
     72    ZYDIS_REGISTER_RBP,
     73    ZYDIS_REGISTER_RSI,
     74    ZYDIS_REGISTER_RDI,
     75    ZYDIS_REGISTER_R8,
     76    ZYDIS_REGISTER_R9,
     77    ZYDIS_REGISTER_R10,
     78    ZYDIS_REGISTER_R11,
     79    ZYDIS_REGISTER_R12,
     80    ZYDIS_REGISTER_R13,
     81    ZYDIS_REGISTER_R14,
     82    ZYDIS_REGISTER_R15,
     83 
     84    // Floating point legacy registers
     85    ZYDIS_REGISTER_ST0,
     86    ZYDIS_REGISTER_ST1,
     87    ZYDIS_REGISTER_ST2,
     88    ZYDIS_REGISTER_ST3,
     89    ZYDIS_REGISTER_ST4,
     90    ZYDIS_REGISTER_ST5,
     91    ZYDIS_REGISTER_ST6,
     92    ZYDIS_REGISTER_ST7,
     93    ZYDIS_REGISTER_X87CONTROL,
     94    ZYDIS_REGISTER_X87STATUS,
     95    ZYDIS_REGISTER_X87TAG,
     96 
     97    // Floating point multimedia registers
     98    ZYDIS_REGISTER_MM0,
     99    ZYDIS_REGISTER_MM1,
    100    ZYDIS_REGISTER_MM2,
    101    ZYDIS_REGISTER_MM3,
    102    ZYDIS_REGISTER_MM4,
    103    ZYDIS_REGISTER_MM5,
    104    ZYDIS_REGISTER_MM6,
    105    ZYDIS_REGISTER_MM7,
    106 
    107    // Floating point vector registers 128-bit
    108    ZYDIS_REGISTER_XMM0,
    109    ZYDIS_REGISTER_XMM1,
    110    ZYDIS_REGISTER_XMM2,
    111    ZYDIS_REGISTER_XMM3,
    112    ZYDIS_REGISTER_XMM4,
    113    ZYDIS_REGISTER_XMM5,
    114    ZYDIS_REGISTER_XMM6,
    115    ZYDIS_REGISTER_XMM7,
    116    ZYDIS_REGISTER_XMM8,
    117    ZYDIS_REGISTER_XMM9,
    118    ZYDIS_REGISTER_XMM10,
    119    ZYDIS_REGISTER_XMM11,
    120    ZYDIS_REGISTER_XMM12,
    121    ZYDIS_REGISTER_XMM13,
    122    ZYDIS_REGISTER_XMM14,
    123    ZYDIS_REGISTER_XMM15,
    124    ZYDIS_REGISTER_XMM16,
    125    ZYDIS_REGISTER_XMM17,
    126    ZYDIS_REGISTER_XMM18,
    127    ZYDIS_REGISTER_XMM19,
    128    ZYDIS_REGISTER_XMM20,
    129    ZYDIS_REGISTER_XMM21,
    130    ZYDIS_REGISTER_XMM22,
    131    ZYDIS_REGISTER_XMM23,
    132    ZYDIS_REGISTER_XMM24,
    133    ZYDIS_REGISTER_XMM25,
    134    ZYDIS_REGISTER_XMM26,
    135    ZYDIS_REGISTER_XMM27,
    136    ZYDIS_REGISTER_XMM28,
    137    ZYDIS_REGISTER_XMM29,
    138    ZYDIS_REGISTER_XMM30,
    139    ZYDIS_REGISTER_XMM31,
    140 
    141    // Floating point vector registers 256-bit
    142    ZYDIS_REGISTER_YMM0,
    143    ZYDIS_REGISTER_YMM1,
    144    ZYDIS_REGISTER_YMM2,
    145    ZYDIS_REGISTER_YMM3,
    146    ZYDIS_REGISTER_YMM4,
    147    ZYDIS_REGISTER_YMM5,
    148    ZYDIS_REGISTER_YMM6,
    149    ZYDIS_REGISTER_YMM7,
    150    ZYDIS_REGISTER_YMM8,
    151    ZYDIS_REGISTER_YMM9,
    152    ZYDIS_REGISTER_YMM10,
    153    ZYDIS_REGISTER_YMM11,
    154    ZYDIS_REGISTER_YMM12,
    155    ZYDIS_REGISTER_YMM13,
    156    ZYDIS_REGISTER_YMM14,
    157    ZYDIS_REGISTER_YMM15,
    158    ZYDIS_REGISTER_YMM16,
    159    ZYDIS_REGISTER_YMM17,
    160    ZYDIS_REGISTER_YMM18,
    161    ZYDIS_REGISTER_YMM19,
    162    ZYDIS_REGISTER_YMM20,
    163    ZYDIS_REGISTER_YMM21,
    164    ZYDIS_REGISTER_YMM22,
    165    ZYDIS_REGISTER_YMM23,
    166    ZYDIS_REGISTER_YMM24,
    167    ZYDIS_REGISTER_YMM25,
    168    ZYDIS_REGISTER_YMM26,
    169    ZYDIS_REGISTER_YMM27,
    170    ZYDIS_REGISTER_YMM28,
    171    ZYDIS_REGISTER_YMM29,
    172    ZYDIS_REGISTER_YMM30,
    173    ZYDIS_REGISTER_YMM31,
    174 
    175    // Floating point vector registers 512-bit
    176    ZYDIS_REGISTER_ZMM0,
    177    ZYDIS_REGISTER_ZMM1,
    178    ZYDIS_REGISTER_ZMM2,
    179    ZYDIS_REGISTER_ZMM3,
    180    ZYDIS_REGISTER_ZMM4,
    181    ZYDIS_REGISTER_ZMM5,
    182    ZYDIS_REGISTER_ZMM6,
    183    ZYDIS_REGISTER_ZMM7,
    184    ZYDIS_REGISTER_ZMM8,
    185    ZYDIS_REGISTER_ZMM9,
    186    ZYDIS_REGISTER_ZMM10,
    187    ZYDIS_REGISTER_ZMM11,
    188    ZYDIS_REGISTER_ZMM12,
    189    ZYDIS_REGISTER_ZMM13,
    190    ZYDIS_REGISTER_ZMM14,
    191    ZYDIS_REGISTER_ZMM15,
    192    ZYDIS_REGISTER_ZMM16,
    193    ZYDIS_REGISTER_ZMM17,
    194    ZYDIS_REGISTER_ZMM18,
    195    ZYDIS_REGISTER_ZMM19,
    196    ZYDIS_REGISTER_ZMM20,
    197    ZYDIS_REGISTER_ZMM21,
    198    ZYDIS_REGISTER_ZMM22,
    199    ZYDIS_REGISTER_ZMM23,
    200    ZYDIS_REGISTER_ZMM24,
    201    ZYDIS_REGISTER_ZMM25,
    202    ZYDIS_REGISTER_ZMM26,
    203    ZYDIS_REGISTER_ZMM27,
    204    ZYDIS_REGISTER_ZMM28,
    205    ZYDIS_REGISTER_ZMM29,
    206    ZYDIS_REGISTER_ZMM30,
    207    ZYDIS_REGISTER_ZMM31,
    208 
    209    // Matrix registers
    210    ZYDIS_REGISTER_TMM0,
    211    ZYDIS_REGISTER_TMM1,
    212    ZYDIS_REGISTER_TMM2,
    213    ZYDIS_REGISTER_TMM3,
    214    ZYDIS_REGISTER_TMM4,
    215    ZYDIS_REGISTER_TMM5,
    216    ZYDIS_REGISTER_TMM6,
    217    ZYDIS_REGISTER_TMM7,
    218 
    219    // Flags registers
    220    ZYDIS_REGISTER_FLAGS,
    221    ZYDIS_REGISTER_EFLAGS,
    222    ZYDIS_REGISTER_RFLAGS,
    223 
    224    // Instruction-pointer registers
    225    ZYDIS_REGISTER_IP,
    226    ZYDIS_REGISTER_EIP,
    227    ZYDIS_REGISTER_RIP,
    228 
    229    // Segment registers
    230    ZYDIS_REGISTER_ES,
    231    ZYDIS_REGISTER_CS,
    232    ZYDIS_REGISTER_SS,
    233    ZYDIS_REGISTER_DS,
    234    ZYDIS_REGISTER_FS,
    235    ZYDIS_REGISTER_GS,
    236 
    237    // Table registers
    238    ZYDIS_REGISTER_GDTR,
    239    ZYDIS_REGISTER_LDTR,
    240    ZYDIS_REGISTER_IDTR,
    241    ZYDIS_REGISTER_TR,
    242 
    243    // Test registers
    244    ZYDIS_REGISTER_TR0,
    245    ZYDIS_REGISTER_TR1,
    246    ZYDIS_REGISTER_TR2,
    247    ZYDIS_REGISTER_TR3,
    248    ZYDIS_REGISTER_TR4,
    249    ZYDIS_REGISTER_TR5,
    250    ZYDIS_REGISTER_TR6,
    251    ZYDIS_REGISTER_TR7,
    252 
    253    // Control registers
    254    ZYDIS_REGISTER_CR0,
    255    ZYDIS_REGISTER_CR1,
    256    ZYDIS_REGISTER_CR2,
    257    ZYDIS_REGISTER_CR3,
    258    ZYDIS_REGISTER_CR4,
    259    ZYDIS_REGISTER_CR5,
    260    ZYDIS_REGISTER_CR6,
    261    ZYDIS_REGISTER_CR7,
    262    ZYDIS_REGISTER_CR8,
    263    ZYDIS_REGISTER_CR9,
    264    ZYDIS_REGISTER_CR10,
    265    ZYDIS_REGISTER_CR11,
    266    ZYDIS_REGISTER_CR12,
    267    ZYDIS_REGISTER_CR13,
    268    ZYDIS_REGISTER_CR14,
    269    ZYDIS_REGISTER_CR15,
    270 
    271    // Debug registers
    272    ZYDIS_REGISTER_DR0,
    273    ZYDIS_REGISTER_DR1,
    274    ZYDIS_REGISTER_DR2,
    275    ZYDIS_REGISTER_DR3,
    276    ZYDIS_REGISTER_DR4,
    277    ZYDIS_REGISTER_DR5,
    278    ZYDIS_REGISTER_DR6,
    279    ZYDIS_REGISTER_DR7,
    280    ZYDIS_REGISTER_DR8,
    281    ZYDIS_REGISTER_DR9,
    282    ZYDIS_REGISTER_DR10,
    283    ZYDIS_REGISTER_DR11,
    284    ZYDIS_REGISTER_DR12,
    285    ZYDIS_REGISTER_DR13,
    286    ZYDIS_REGISTER_DR14,
    287    ZYDIS_REGISTER_DR15,
    288 
    289    // Mask registers
    290    ZYDIS_REGISTER_K0,
    291    ZYDIS_REGISTER_K1,
    292    ZYDIS_REGISTER_K2,
    293    ZYDIS_REGISTER_K3,
    294    ZYDIS_REGISTER_K4,
    295    ZYDIS_REGISTER_K5,
    296    ZYDIS_REGISTER_K6,
    297    ZYDIS_REGISTER_K7,
    298 
    299    // Bound registers
    300    ZYDIS_REGISTER_BND0,
    301    ZYDIS_REGISTER_BND1,
    302    ZYDIS_REGISTER_BND2,
    303    ZYDIS_REGISTER_BND3,
    304    ZYDIS_REGISTER_BNDCFG,
    305    ZYDIS_REGISTER_BNDSTATUS,
    306 
    307    // Uncategorized
    308    ZYDIS_REGISTER_MXCSR,
    309    ZYDIS_REGISTER_PKRU,
    310    ZYDIS_REGISTER_XCR0,
    311    ZYDIS_REGISTER_UIF,
    312 
    313    /**
    314     * Maximum value of this enum.
    315     */
    316    ZYDIS_REGISTER_MAX_VALUE = ZYDIS_REGISTER_UIF,
    317    /**
    318     * The minimum number of bits required to represent all values of this enum.
    319     */
    320    ZYDIS_REGISTER_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REGISTER_MAX_VALUE)
    321 } ZydisRegister;