| /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
| |* *| |
| |*Assembly Writer Source Fragment *| |
| |* *| |
| |* Automatically generated file, do not edit! *| |
| |* *| |
| \*===----------------------------------------------------------------------===*/ |
| |
| /* Capstone Disassembly Engine, http://www.capstone-engine.org */ |
| /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 */ |
| |
| /// printInstruction - This method is automatically generated by tablegen |
| /// from the instruction set description. |
| static void printInstruction(MCInst *MI, SStream *O, MCRegisterInfo *MRI) |
| { |
| static const uint32_t OpInfo[] = { |
| 0U, // PHI |
| 0U, // INLINEASM |
| 0U, // PROLOG_LABEL |
| 0U, // EH_LABEL |
| 0U, // GC_LABEL |
| 0U, // KILL |
| 0U, // EXTRACT_SUBREG |
| 0U, // INSERT_SUBREG |
| 0U, // IMPLICIT_DEF |
| 0U, // SUBREG_TO_REG |
| 0U, // COPY_TO_REGCLASS |
| 3318U, // DBG_VALUE |
| 0U, // REG_SEQUENCE |
| 0U, // COPY |
| 3311U, // BUNDLE |
| 3374U, // LIFETIME_START |
| 3298U, // LIFETIME_END |
| 0U, // STACKMAP |
| 0U, // PATCHPOINT |
| 3389U, // AAA |
| 8365U, // AAD8i8 |
| 8845U, // AAM8i8 |
| 3900U, // AAS |
| 3053U, // ACQUIRE_MOV16rm |
| 3053U, // ACQUIRE_MOV32rm |
| 3053U, // ACQUIRE_MOV64rm |
| 3053U, // ACQUIRE_MOV8rm |
| 9582U, // ADC16i16 |
| 278659U, // ADC16mi |
| 278659U, // ADC16mi8 |
| 278659U, // ADC16mr |
| 548995U, // ADC16ri |
| 548995U, // ADC16ri8 |
| 811139U, // ADC16rm |
| 548995U, // ADC16rr |
| 4464771U, // ADC16rr_REV |
| 9718U, // ADC32i32 |
| 295043U, // ADC32mi |
| 295043U, // ADC32mi8 |
| 295043U, // ADC32mr |
| 548995U, // ADC32ri |
| 548995U, // ADC32ri8 |
| 1073283U, // ADC32rm |
| 548995U, // ADC32rr |
| 4464771U, // ADC32rr_REV |
| 9866U, // ADC64i32 |
| 303235U, // ADC64mi32 |
| 303235U, // ADC64mi8 |
| 303235U, // ADC64mr |
| 548995U, // ADC64ri32 |
| 548995U, // ADC64ri8 |
| 1335427U, // ADC64rm |
| 548995U, // ADC64rr |
| 4464771U, // ADC64rr_REV |
| 9480U, // ADC8i8 |
| 311427U, // ADC8mi |
| 311427U, // ADC8mr |
| 548995U, // ADC8ri |
| 1597571U, // ADC8rm |
| 548995U, // ADC8rr |
| 4464771U, // ADC8rr_REV |
| 8660116U, // ADCX32rm |
| 12854420U, // ADCX32rr |
| 17048724U, // ADCX64rm |
| 12854420U, // ADCX64rr |
| 9591U, // ADD16i16 |
| 278715U, // ADD16mi |
| 278715U, // ADD16mi8 |
| 278715U, // ADD16mr |
| 549051U, // ADD16ri |
| 549051U, // ADD16ri8 |
| 0U, // ADD16ri8_DB |
| 0U, // ADD16ri_DB |
| 811195U, // ADD16rm |
| 549051U, // ADD16rr |
| 0U, // ADD16rr_DB |
| 4464827U, // ADD16rr_REV |
| 9728U, // ADD32i32 |
| 295099U, // ADD32mi |
| 295099U, // ADD32mi8 |
| 295099U, // ADD32mr |
| 549051U, // ADD32ri |
| 549051U, // ADD32ri8 |
| 0U, // ADD32ri8_DB |
| 0U, // ADD32ri_DB |
| 1073339U, // ADD32rm |
| 549051U, // ADD32rr |
| 0U, // ADD32rr_DB |
| 4464827U, // ADD32rr_REV |
| 9876U, // ADD64i32 |
| 303291U, // ADD64mi32 |
| 303291U, // ADD64mi8 |
| 303291U, // ADD64mr |
| 549051U, // ADD64ri32 |
| 0U, // ADD64ri32_DB |
| 549051U, // ADD64ri8 |
| 0U, // ADD64ri8_DB |
| 1335483U, // ADD64rm |
| 549051U, // ADD64rr |
| 0U, // ADD64rr_DB |
| 4464827U, // ADD64rr_REV |
| 9489U, // ADD8i8 |
| 311483U, // ADD8mi |
| 311483U, // ADD8mr |
| 549051U, // ADD8ri |
| 549051U, // ADD8ri8 |
| 1597627U, // ADD8rm |
| 549051U, // ADD8rr |
| 4464827U, // ADD8rr_REV |
| 3328U, // ADJCALLSTACKDOWN32 |
| 3328U, // ADJCALLSTACKDOWN64 |
| 3346U, // ADJCALLSTACKUP32 |
| 3346U, // ADJCALLSTACKUP64 |
| 8660134U, // ADOX32rm |
| 12854438U, // ADOX32rr |
| 17048742U, // ADOX64rm |
| 12854438U, // ADOX64rr |
| 9600U, // AND16i16 |
| 278764U, // AND16mi |
| 278764U, // AND16mi8 |
| 278764U, // AND16mr |
| 549100U, // AND16ri |
| 549100U, // AND16ri8 |
| 811244U, // AND16rm |
| 549100U, // AND16rr |
| 4464876U, // AND16rr_REV |
| 9738U, // AND32i32 |
| 295148U, // AND32mi |
| 295148U, // AND32mi8 |
| 295148U, // AND32mr |
| 549100U, // AND32ri |
| 549100U, // AND32ri8 |
| 1073388U, // AND32rm |
| 549100U, // AND32rr |
| 4464876U, // AND32rr_REV |
| 9886U, // AND64i32 |
| 303340U, // AND64mi32 |
| 303340U, // AND64mi8 |
| 303340U, // AND64mr |
| 549100U, // AND64ri32 |
| 549100U, // AND64ri8 |
| 1335532U, // AND64rm |
| 549100U, // AND64rr |
| 4464876U, // AND64rr_REV |
| 9498U, // AND8i8 |
| 311532U, // AND8mi |
| 311532U, // AND8mr |
| 549100U, // AND8ri |
| 549100U, // AND8ri8 |
| 1597676U, // AND8rm |
| 549100U, // AND8rr |
| 4464876U, // AND8rr_REV |
| 79962770U, // ANDN32rm |
| 348398226U, // ANDN32rr |
| 616833682U, // ANDN64rm |
| 348398226U, // ANDN64rr |
| 279151U, // ARPL16mr |
| 12853871U, // ARPL16rr |
| 1955U, // ATOMADD6432 |
| 2735U, // ATOMAND16 |
| 2168U, // ATOMAND32 |
| 2422U, // ATOMAND64 |
| 1976U, // ATOMAND6432 |
| 2889U, // ATOMAND8 |
| 2850U, // ATOMMAX16 |
| 2383U, // ATOMMAX32 |
| 2696U, // ATOMMAX64 |
| 2125U, // ATOMMAX6432 |
| 3016U, // ATOMMAX8 |
| 2774U, // ATOMMIN16 |
| 2268U, // ATOMMIN32 |
| 2581U, // ATOMMIN64 |
| 2019U, // ATOMMIN6432 |
| 2926U, // ATOMMIN8 |
| 2754U, // ATOMNAND16 |
| 2187U, // ATOMNAND32 |
| 2441U, // ATOMNAND64 |
| 1997U, // ATOMNAND6432 |
| 2907U, // ATOMNAND8 |
| 2813U, // ATOMOR16 |
| 2346U, // ATOMOR32 |
| 2659U, // ATOMOR64 |
| 2084U, // ATOMOR6432 |
| 2981U, // ATOMOR8 |
| 1934U, // ATOMSUB6432 |
| 2062U, // ATOMSWAP6432 |
| 2869U, // ATOMUMAX16 |
| 2402U, // ATOMUMAX32 |
| 2715U, // ATOMUMAX64 |
| 2146U, // ATOMUMAX6432 |
| 3034U, // ATOMUMAX8 |
| 2793U, // ATOMUMIN16 |
| 2287U, // ATOMUMIN32 |
| 2600U, // ATOMUMIN64 |
| 2040U, // ATOMUMIN6432 |
| 2944U, // ATOMUMIN8 |
| 2831U, // ATOMXOR16 |
| 2364U, // ATOMXOR32 |
| 2677U, // ATOMXOR64 |
| 2104U, // ATOMXOR6432 |
| 2998U, // ATOMXOR8 |
| 881075091U, // BEXTR32rm |
| 348398483U, // BEXTR32rr |
| 889463699U, // BEXTR64rm |
| 348398483U, // BEXTR64rr |
| 881075091U, // BEXTRI32mi |
| 348398483U, // BEXTRI32ri |
| 889463699U, // BEXTRI64mi |
| 348398483U, // BEXTRI64ri |
| 8659544U, // BLCFILL32rm |
| 12853848U, // BLCFILL32rr |
| 17048152U, // BLCFILL64rm |
| 12853848U, // BLCFILL64rr |
| 8659477U, // BLCI32rm |
| 12853781U, // BLCI32rr |
| 17048085U, // BLCI64rm |
| 12853781U, // BLCI64rr |
| 8659085U, // BLCIC32rm |
| 12853389U, // BLCIC32rr |
| 17047693U, // BLCIC64rm |
| 12853389U, // BLCIC64rr |
| 8659495U, // BLCMSK32rm |
| 12853799U, // BLCMSK32rr |
| 17048103U, // BLCMSK64rm |
| 12853799U, // BLCMSK64rr |
| 8659874U, // BLCS32rm |
| 12854178U, // BLCS32rr |
| 17048482U, // BLCS64rm |
| 12854178U, // BLCS64rr |
| 8659553U, // BLSFILL32rm |
| 12853857U, // BLSFILL32rr |
| 17048161U, // BLSFILL64rm |
| 12853857U, // BLSFILL64rr |
| 8659489U, // BLSI32rm |
| 12853793U, // BLSI32rr |
| 17048097U, // BLSI64rm |
| 12853793U, // BLSI64rr |
| 8659092U, // BLSIC32rm |
| 12853396U, // BLSIC32rr |
| 17047700U, // BLSIC64rm |
| 12853396U, // BLSIC64rr |
| 8659503U, // BLSMSK32rm |
| 12853807U, // BLSMSK32rr |
| 17048111U, // BLSMSK64rm |
| 12853807U, // BLSMSK64rr |
| 8659838U, // BLSR32rm |
| 12854142U, // BLSR32rr |
| 17048446U, // BLSR64rm |
| 12854142U, // BLSR64rr |
| 21242097U, // BOUNDS16rm |
| 8659185U, // BOUNDS32rm |
| 21242333U, // BSF16rm |
| 12853725U, // BSF16rr |
| 8659421U, // BSF32rm |
| 12853725U, // BSF32rr |
| 17048029U, // BSF64rm |
| 12853725U, // BSF64rr |
| 21242745U, // BSR16rm |
| 12854137U, // BSR16rr |
| 8659833U, // BSR32rm |
| 12854137U, // BSR32rr |
| 17048441U, // BSR64rm |
| 12854137U, // BSR64rr |
| 8900U, // BSWAP32r |
| 8900U, // BSWAP64r |
| 279531U, // BT16mi8 |
| 279531U, // BT16mr |
| 12854251U, // BT16ri8 |
| 12854251U, // BT16rr |
| 295915U, // BT32mi8 |
| 295915U, // BT32mr |
| 12854251U, // BT32ri8 |
| 12854251U, // BT32rr |
| 304107U, // BT64mi8 |
| 304107U, // BT64mr |
| 12854251U, // BT64ri8 |
| 12854251U, // BT64rr |
| 278696U, // BTC16mi8 |
| 278696U, // BTC16mr |
| 12853416U, // BTC16ri8 |
| 12853416U, // BTC16rr |
| 295080U, // BTC32mi8 |
| 295080U, // BTC32mr |
| 12853416U, // BTC32ri8 |
| 12853416U, // BTC32rr |
| 303272U, // BTC64mi8 |
| 303272U, // BTC64mr |
| 12853416U, // BTC64ri8 |
| 12853416U, // BTC64rr |
| 279428U, // BTR16mi8 |
| 279428U, // BTR16mr |
| 12854148U, // BTR16ri8 |
| 12854148U, // BTR16rr |
| 295812U, // BTR32mi8 |
| 295812U, // BTR32mr |
| 12854148U, // BTR32ri8 |
| 12854148U, // BTR32rr |
| 304004U, // BTR64mi8 |
| 304004U, // BTR64mr |
| 12854148U, // BTR64ri8 |
| 12854148U, // BTR64rr |
| 279513U, // BTS16mi8 |
| 279513U, // BTS16mr |
| 12854233U, // BTS16ri8 |
| 12854233U, // BTS16rr |
| 295897U, // BTS32mi8 |
| 295897U, // BTS32mr |
| 12854233U, // BTS32ri8 |
| 12854233U, // BTS32rr |
| 304089U, // BTS64mi8 |
| 304089U, // BTS64mr |
| 12854233U, // BTS64ri8 |
| 12854233U, // BTS64rr |
| 881074715U, // BZHI32rm |
| 348398107U, // BZHI32rr |
| 889463323U, // BZHI64rm |
| 348398107U, // BZHI64rr |
| 16978U, // CALL16m |
| 8786U, // CALL16r |
| 33362U, // CALL32m |
| 8786U, // CALL32r |
| 41554U, // CALL64m |
| 57938U, // CALL64pcrel32 |
| 8786U, // CALL64r |
| 57938U, // CALLpcrel16 |
| 57938U, // CALLpcrel32 |
| 4099U, // CBW |
| 3820U, // CDQ |
| 3605U, // CDQE |
| 3458U, // CLAC |
| 3490U, // CLC |
| 3540U, // CLD |
| 3665U, // CLGI |
| 3675U, // CLI |
| 4043U, // CLTS |
| 3494U, // CMC |
| 25436207U, // CMOVA16rm |
| 4464687U, // CMOVA16rr |
| 29630511U, // CMOVA32rm |
| 4464687U, // CMOVA32rr |
| 33824815U, // CMOVA64rm |
| 4464687U, // CMOVA64rr |
| 25436461U, // CMOVAE16rm |
| 4464941U, // CMOVAE16rr |
| 29630765U, // CMOVAE32rm |
| 4464941U, // CMOVAE32rr |
| 33825069U, // CMOVAE64rm |
| 4464941U, // CMOVAE64rr |
| 25436284U, // CMOVB16rm |
| 4464764U, // CMOVB16rr |
| 29630588U, // CMOVB32rm |
| 4464764U, // CMOVB32rr |
| 33824892U, // CMOVB64rm |
| 4464764U, // CMOVB64rr |
| 25436481U, // CMOVBE16rm |
| 4464961U, // CMOVBE16rr |
| 29630785U, // CMOVBE32rm |
| 4464961U, // CMOVBE32rr |
| 33825089U, // CMOVBE64rm |
| 4464961U, // CMOVBE64rr |
| 25436630U, // CMOVE16rm |
| 4465110U, // CMOVE16rr |
| 29630934U, // CMOVE32rm |
| 4465110U, // CMOVE32rr |
| 33825238U, // CMOVE64rm |
| 4465110U, // CMOVE64rr |
| 25436680U, // CMOVG16rm |
| 4465160U, // CMOVG16rr |
| 29630984U, // CMOVG32rm |
| 4465160U, // CMOVG32rr |
| 33825288U, // CMOVG64rm |
| 4465160U, // CMOVG64rr |
| 25436501U, // CMOVGE16rm |
| 4464981U, // CMOVGE16rr |
| 29630805U, // CMOVGE32rm |
| 4464981U, // CMOVGE32rr |
| 33825109U, // CMOVGE64rm |
| 4464981U, // CMOVGE64rr |
| 25436806U, // CMOVL16rm |
| 4465286U, // CMOVL16rr |
| 29631110U, // CMOVL32rm |
| 4465286U, // CMOVL32rr |
| 33825414U, // CMOVL64rm |
| 4465286U, // CMOVL64rr |
| 25436525U, // CMOVLE16rm |
| 4465005U, // CMOVLE16rr |
| 29630829U, // CMOVLE32rm |
| 4465005U, // CMOVLE32rr |
| 33825133U, // CMOVLE64rm |
| 4465005U, // CMOVLE64rr |
| 25436553U, // CMOVNE16rm |
| 4465033U, // CMOVNE16rr |
| 29630857U, // CMOVNE32rm |
| 4465033U, // CMOVNE32rr |
| 33825161U, // CMOVNE64rm |
| 4465033U, // CMOVNE64rr |
| 25436847U, // CMOVNO16rm |
| 4465327U, // CMOVNO16rr |
| 29631151U, // CMOVNO32rm |
| 4465327U, // CMOVNO32rr |
| 33825455U, // CMOVNO64rm |
| 4465327U, // CMOVNO64rr |
| 25436908U, // CMOVNP16rm |
| 4465388U, // CMOVNP16rr |
| 29631212U, // CMOVNP32rm |
| 4465388U, // CMOVNP32rr |
| 33825516U, // CMOVNP64rm |
| 4465388U, // CMOVNP64rr |
| 25437132U, // CMOVNS16rm |
| 4465612U, // CMOVNS16rr |
| 29631436U, // CMOVNS32rm |
| 4465612U, // CMOVNS32rr |
| 33825740U, // CMOVNS64rm |
| 4465612U, // CMOVNS64rr |
| 25436861U, // CMOVO16rm |
| 4465341U, // CMOVO16rr |
| 29631165U, // CMOVO32rm |
| 4465341U, // CMOVO32rr |
| 33825469U, // CMOVO64rm |
| 4465341U, // CMOVO64rr |
| 25436954U, // CMOVP16rm |
| 4465434U, // CMOVP16rr |
| 29631258U, // CMOVP32rm |
| 4465434U, // CMOVP32rr |
| 33825562U, // CMOVP64rm |
| 4465434U, // CMOVP64rr |
| 25437156U, // CMOVS16rm |
| 4465636U, // CMOVS16rr |
| 29631460U, // CMOVS32rm |
| 4465636U, // CMOVS32rr |
| 33825764U, // CMOVS64rm |
| 4465636U, // CMOVS64rr |
| 2327U, // CMOV_FR32 |
| 2640U, // CMOV_FR64 |
| 1894U, // CMOV_GR16 |
| 1874U, // CMOV_GR32 |
| 2963U, // CMOV_GR8 |
| 2307U, // CMOV_RFP32 |
| 2620U, // CMOV_RFP64 |
| 1914U, // CMOV_RFP80 |
| 2227U, // CMOV_V16F32 |
| 2461U, // CMOV_V2F64 |
| 2521U, // CMOV_V2I64 |
| 2207U, // CMOV_V4F32 |
| 2481U, // CMOV_V4F64 |
| 2541U, // CMOV_V4I64 |
| 2248U, // CMOV_V8F32 |
| 2501U, // CMOV_V8F64 |
| 2561U, // CMOV_V8I64 |
| 9627U, // CMP16i16 |
| 279253U, // CMP16mi |
| 279253U, // CMP16mi8 |
| 279253U, // CMP16mr |
| 12853973U, // CMP16ri |
| 12853973U, // CMP16ri8 |
| 21242581U, // CMP16rm |
| 12853973U, // CMP16rr |
| 12853973U, // CMP16rr_REV |
| 9792U, // CMP32i32 |
| 295637U, // CMP32mi |
| 295637U, // CMP32mi8 |
| 295637U, // CMP32mr |
| 12853973U, // CMP32ri |
| 12853973U, // CMP32ri8 |
| 8659669U, // CMP32rm |
| 12853973U, // CMP32rr |
| 12853973U, // CMP32rr_REV |
| 9907U, // CMP64i32 |
| 303829U, // CMP64mi32 |
| 303829U, // CMP64mi8 |
| 303829U, // CMP64mr |
| 12853973U, // CMP64ri32 |
| 12853973U, // CMP64ri8 |
| 17048277U, // CMP64rm |
| 12853973U, // CMP64rr |
| 12853973U, // CMP64rr_REV |
| 9515U, // CMP8i8 |
| 312021U, // CMP8mi |
| 312021U, // CMP8mr |
| 12853973U, // CMP8ri |
| 38019797U, // CMP8rm |
| 12853973U, // CMP8rr |
| 12853973U, // CMP8rr_REV |
| 66694U, // CMPS16 |
| 73995U, // CMPS32 |
| 82735U, // CMPS64 |
| 90211U, // CMPS8 |
| 98358U, // CMPXCHG16B |
| 279021U, // CMPXCHG16rm |
| 12853741U, // CMPXCHG16rr |
| 295405U, // CMPXCHG32rm |
| 12853741U, // CMPXCHG32rr |
| 303597U, // CMPXCHG64rm |
| 12853741U, // CMPXCHG64rr |
| 41026U, // CMPXCHG8B |
| 311789U, // CMPXCHG8rm |
| 12853741U, // CMPXCHG8rr |
| 3534U, // CPUID32 |
| 3534U, // CPUID64 |
| 3796U, // CQO |
| 3913U, // CS_PREFIX |
| 3581U, // CWD |
| 3585U, // CWDE |
| 3393U, // DAA |
| 3904U, // DAS |
| 3283U, // DATA16_PREFIX |
| 16520U, // DEC16m |
| 8328U, // DEC16r |
| 8328U, // DEC32_16r |
| 8328U, // DEC32_32r |
| 32904U, // DEC32m |
| 8328U, // DEC32r |
| 16520U, // DEC64_16m |
| 8328U, // DEC64_16r |
| 32904U, // DEC64_32m |
| 8328U, // DEC64_32r |
| 41096U, // DEC64m |
| 8328U, // DEC64r |
| 49288U, // DEC8m |
| 8328U, // DEC8r |
| 17501U, // DIV16m |
| 9309U, // DIV16r |
| 33885U, // DIV32m |
| 9309U, // DIV32r |
| 42077U, // DIV64m |
| 9309U, // DIV64r |
| 50269U, // DIV8m |
| 9309U, // DIV8r |
| 3921U, // DS_PREFIX |
| 10019U, // EH_RETURN |
| 10019U, // EH_RETURN64 |
| 3106U, // EH_SjLj_LongJmp32 |
| 3196U, // EH_SjLj_LongJmp64 |
| 3125U, // EH_SjLj_SetJmp32 |
| 3215U, // EH_SjLj_SetJmp64 |
| 58122U, // EH_SjLj_Setup |
| 12854101U, // ENTER |
| 3936U, // ES_PREFIX |
| 12853841U, // FARCALL16i |
| 107089U, // FARCALL16m |
| 12853841U, // FARCALL32i |
| 107089U, // FARCALL32m |
| 107089U, // FARCALL64 |
| 12853978U, // FARJMP16i |
| 107226U, // FARJMP16m |
| 12853978U, // FARJMP32i |
| 107226U, // FARJMP32m |
| 107226U, // FARJMP64 |
| 3758U, // FSETPM |
| 3951U, // FS_PREFIX |
| 3478U, // GETSEC |
| 3966U, // GS_PREFIX |
| 4068U, // HLT |
| 17500U, // IDIV16m |
| 9308U, // IDIV16r |
| 33884U, // IDIV32m |
| 9308U, // IDIV32r |
| 42076U, // IDIV64m |
| 9308U, // IDIV64r |
| 50268U, // IDIV8m |
| 9308U, // IDIV8r |
| 17024U, // IMUL16m |
| 8832U, // IMUL16r |
| 25436800U, // IMUL16rm |
| 893657728U, // IMUL16rmi |
| 893657728U, // IMUL16rmi8 |
| 4465280U, // IMUL16rr |
| 348398208U, // IMUL16rri |
| 348398208U, // IMUL16rri8 |
| 33408U, // IMUL32m |
| 8832U, // IMUL32r |
| 29631104U, // IMUL32rm |
| 881074816U, // IMUL32rmi |
| 881074816U, // IMUL32rmi8 |
| 4465280U, // IMUL32rr |
| 348398208U, // IMUL32rri |
| 348398208U, // IMUL32rri8 |
| 41600U, // IMUL64m |
| 8832U, // IMUL64r |
| 33825408U, // IMUL64rm |
| 889463424U, // IMUL64rmi32 |
| 889463424U, // IMUL64rmi8 |
| 4465280U, // IMUL64rr |
| 348398208U, // IMUL64rri32 |
| 348398208U, // IMUL64rri8 |
| 49792U, // IMUL8m |
| 8832U, // IMUL8r |
| 1950841U, // IN16 |
| 9619U, // IN16ri |
| 4265U, // IN16rr |
| 1958142U, // IN32 |
| 9783U, // IN32ri |
| 4275U, // IN32rr |
| 1966166U, // IN8 |
| 9507U, // IN8ri |
| 4255U, // IN8rr |
| 16547U, // INC16m |
| 8355U, // INC16r |
| 8355U, // INC32_16r |
| 8355U, // INC32_32r |
| 32931U, // INC32m |
| 8355U, // INC32r |
| 16547U, // INC64_16m |
| 8355U, // INC64_16r |
| 32931U, // INC64_32m |
| 8355U, // INC64_32r |
| 41123U, // INC64m |
| 8355U, // INC64r |
| 49315U, // INC8m |
| 8355U, // INC8r |
| 9254U, // INT |
| 3101U, // INT1 |
| 3191U, // INT3 |
| 3800U, // INTO |
| 3576U, // INVD |
| 42214448U, // INVEPT32 |
| 42214448U, // INVEPT64 |
| 49658U, // INVLPG |
| 4221U, // INVLPGA32 |
| 4238U, // INVLPGA64 |
| 42213576U, // INVPCID32 |
| 42213576U, // INVPCID64 |
| 42213585U, // INVVPID32 |
| 42213585U, // INVVPID64 |
| 4048U, // IRET16 |
| 3564U, // IRET32 |
| 3863U, // IRET64 |
| 3362U, // Int_MemBarrier |
| 57633U, // JAE_1 |
| 57633U, // JAE_2 |
| 57633U, // JAE_4 |
| 57381U, // JA_1 |
| 57381U, // JA_2 |
| 57381U, // JA_4 |
| 57653U, // JBE_1 |
| 57653U, // JBE_2 |
| 57653U, // JBE_4 |
| 57426U, // JB_1 |
| 57426U, // JB_2 |
| 57426U, // JB_4 |
| 58579U, // JCXZ |
| 58572U, // JECXZ_32 |
| 58572U, // JECXZ_64 |
| 57693U, // JE_1 |
| 57693U, // JE_2 |
| 57693U, // JE_4 |
| 57673U, // JGE_1 |
| 57673U, // JGE_2 |
| 57673U, // JGE_4 |
| 57846U, // JG_1 |
| 57846U, // JG_2 |
| 57846U, // JG_4 |
| 57697U, // JLE_1 |
| 57697U, // JLE_2 |
| 57697U, // JLE_4 |
| 57933U, // JL_1 |
| 57933U, // JL_2 |
| 57933U, // JL_4 |
| 17115U, // JMP16m |
| 8923U, // JMP16r |
| 33499U, // JMP32m |
| 8923U, // JMP32r |
| 41691U, // JMP64m |
| 8923U, // JMP64r |
| 58075U, // JMP_1 |
| 58075U, // JMP_2 |
| 58075U, // JMP_4 |
| 57717U, // JNE_1 |
| 57717U, // JNE_2 |
| 57717U, // JNE_4 |
| 58019U, // JNO_1 |
| 58019U, // JNO_2 |
| 58019U, // JNO_4 |
| 58080U, // JNP_1 |
| 58080U, // JNP_2 |
| 58080U, // JNP_4 |
| 58304U, // JNS_1 |
| 58304U, // JNS_2 |
| 58304U, // JNS_4 |
| 58015U, // JO_1 |
| 58015U, // JO_2 |
| 58015U, // JO_4 |
| 58065U, // JP_1 |
| 58065U, // JP_2 |
| 58065U, // JP_4 |
| 58585U, // JRCXZ |
| 58300U, // JS_1 |
| 58300U, // JS_2 |
| 58300U, // JS_4 |
| 3630U, // LAHF |
| 21242694U, // LAR16rm |
| 12854086U, // LAR16rr |
| 21242694U, // LAR32rm |
| 12854086U, // LAR32rr |
| 21242694U, // LAR64rm |
| 12854086U, // LAR64rr |
| 279021U, // LCMPXCHG16 |
| 98358U, // LCMPXCHG16B |
| 295405U, // LCMPXCHG32 |
| 303597U, // LCMPXCHG64 |
| 311789U, // LCMPXCHG8 |
| 41026U, // LCMPXCHG8B |
| 46408616U, // LDS16rm |
| 46408616U, // LDS32rm |
| 8658976U, // LEA16r |
| 8658976U, // LEA32r |
| 8658976U, // LEA64_32r |
| 17047584U, // LEA64r |
| 3617U, // LEAVE |
| 3617U, // LEAVE64 |
| 46408621U, // LES16rm |
| 46408621U, // LES32rm |
| 46408626U, // LFS16rm |
| 46408626U, // LFS32rm |
| 46408626U, // LFS64rm |
| 107503U, // LGDT16m |
| 107503U, // LGDT32m |
| 107503U, // LGDT64m |
| 46408631U, // LGS16rm |
| 46408631U, // LGS32rm |
| 46408631U, // LGS64rm |
| 107515U, // LIDT16m |
| 107515U, // LIDT32m |
| 107515U, // LIDT64m |
| 17415U, // LLDT16m |
| 9223U, // LLDT16r |
| 17517U, // LMSW16m |
| 9325U, // LMSW16r |
| 278715U, // LOCK_ADD16mi |
| 278715U, // LOCK_ADD16mi8 |
| 278715U, // LOCK_ADD16mr |
| 295099U, // LOCK_ADD32mi |
| 295099U, // LOCK_ADD32mi8 |
| 295099U, // LOCK_ADD32mr |
| 303291U, // LOCK_ADD64mi32 |
| 303291U, // LOCK_ADD64mi8 |
| 303291U, // LOCK_ADD64mr |
| 311483U, // LOCK_ADD8mi |
| 311483U, // LOCK_ADD8mr |
| 278764U, // LOCK_AND16mi |
| 278764U, // LOCK_AND16mi8 |
| 278764U, // LOCK_AND16mr |
| 295148U, // LOCK_AND32mi |
| 295148U, // LOCK_AND32mi8 |
| 295148U, // LOCK_AND32mr |
| 303340U, // LOCK_AND64mi32 |
| 303340U, // LOCK_AND64mi8 |
| 303340U, // LOCK_AND64mr |
| 311532U, // LOCK_AND8mi |
| 311532U, // LOCK_AND8mr |
| 16520U, // LOCK_DEC16m |
| 32904U, // LOCK_DEC32m |
| 41096U, // LOCK_DEC64m |
| 49288U, // LOCK_DEC8m |
| 16547U, // LOCK_INC16m |
| 32931U, // LOCK_INC32m |
| 41123U, // LOCK_INC64m |
| 49315U, // LOCK_INC8m |
| 279394U, // LOCK_OR16mi |
| 279394U, // LOCK_OR16mi8 |
| 279394U, // LOCK_OR16mr |
| 295778U, // LOCK_OR32mi |
| 295778U, // LOCK_OR32mi8 |
| 295778U, // LOCK_OR32mr |
| 303970U, // LOCK_OR64mi32 |
| 303970U, // LOCK_OR64mi8 |
| 303970U, // LOCK_OR64mr |
| 312162U, // LOCK_OR8mi |
| 312162U, // LOCK_OR8mr |
| 3698U, // LOCK_PREFIX |
| 278647U, // LOCK_SUB16mi |
| 278647U, // LOCK_SUB16mi8 |
| 278647U, // LOCK_SUB16mr |
| 295031U, // LOCK_SUB32mi |
| 295031U, // LOCK_SUB32mi8 |
| 295031U, // LOCK_SUB32mr |
| 303223U, // LOCK_SUB64mi32 |
| 303223U, // LOCK_SUB64mi8 |
| 303223U, // LOCK_SUB64mr |
| 311415U, // LOCK_SUB8mi |
| 311415U, // LOCK_SUB8mr |
| 279406U, // LOCK_XOR16mi |
| 279406U, // LOCK_XOR16mi8 |
| 279406U, // LOCK_XOR16mr |
| 295790U, // LOCK_XOR32mi |
| 295790U, // LOCK_XOR32mi8 |
| 295790U, // LOCK_XOR32mr |
| 303982U, // LOCK_XOR64mi32 |
| 303982U, // LOCK_XOR64mi8 |
| 303982U, // LOCK_XOR64mr |
| 312174U, // LOCK_XOR8mi |
| 312174U, // LOCK_XOR8mr |
| 140532U, // LODSB |
| 149024U, // LODSL |
| 157385U, // LODSQ |
| 165335U, // LODSW |
| 58105U, // LOOP |
| 57745U, // LOOPE |
| 57722U, // LOOPNE |
| 8674U, // LRETIL |
| 8993U, // LRETIQ |
| 8674U, // LRETIW |
| 3651U, // LRETL |
| 3837U, // LRETQ |
| 3651U, // LRETW |
| 21242485U, // LSL16rm |
| 12853877U, // LSL16rr |
| 8659573U, // LSL32rm |
| 12853877U, // LSL32rr |
| 17048181U, // LSL64rm |
| 12853877U, // LSL64rr |
| 46408660U, // LSS16rm |
| 46408660U, // LSS32rm |
| 46408660U, // LSS64rm |
| 17289U, // LTRm |
| 9097U, // LTRr |
| 172218U, // LXADD16 |
| 180410U, // LXADD32 |
| 188602U, // LXADD64 |
| 196794U, // LXADD8 |
| 21242904U, // LZCNT16rm |
| 12854296U, // LZCNT16rr |
| 8659992U, // LZCNT32rm |
| 12854296U, // LZCNT32rr |
| 17048600U, // LZCNT64rm |
| 12854296U, // LZCNT64rr |
| 3750U, // MONTMUL |
| 0U, // MORESTACK_RET |
| 0U, // MORESTACK_RET_RESTORE_R10 |
| 2303074U, // MOV16ao16 |
| 2303074U, // MOV16ao16_16 |
| 279650U, // MOV16mi |
| 279650U, // MOV16mr |
| 279650U, // MOV16ms |
| 206275U, // MOV16o16a |
| 206275U, // MOV16o16a_16 |
| 12854370U, // MOV16ri |
| 12854370U, // MOV16ri_alt |
| 21242978U, // MOV16rm |
| 12854370U, // MOV16rr |
| 12854370U, // MOV16rr_REV |
| 12854370U, // MOV16rs |
| 21242978U, // MOV16sm |
| 12854370U, // MOV16sr |
| 2573410U, // MOV32ao32 |
| 2573410U, // MOV32ao32_16 |
| 12854370U, // MOV32cr |
| 12854370U, // MOV32dr |
| 296034U, // MOV32mi |
| 296034U, // MOV32mr |
| 296034U, // MOV32ms |
| 214636U, // MOV32o32a |
| 214636U, // MOV32o32a_16 |
| 0U, // MOV32r0 |
| 12854370U, // MOV32rc |
| 12854370U, // MOV32rd |
| 12854370U, // MOV32ri |
| 0U, // MOV32ri64 |
| 12854370U, // MOV32ri_alt |
| 8660066U, // MOV32rm |
| 12854370U, // MOV32rr |
| 12854370U, // MOV32rr_REV |
| 12854370U, // MOV32rs |
| 8660066U, // MOV32sm |
| 12854370U, // MOV32sr |
| 2302874U, // MOV64ao16 |
| 2573210U, // MOV64ao32 |
| 2843546U, // MOV64ao64 |
| 3113882U, // MOV64ao8 |
| 12854370U, // MOV64cr |
| 12854370U, // MOV64dr |
| 304226U, // MOV64mi32 |
| 304226U, // MOV64mr |
| 304226U, // MOV64ms |
| 206253U, // MOV64o16a |
| 214612U, // MOV64o32a |
| 222943U, // MOV64o64a |
| 230717U, // MOV64o8a |
| 12854370U, // MOV64rc |
| 12854370U, // MOV64rd |
| 12854170U, // MOV64ri |
| 12854370U, // MOV64ri32 |
| 17048674U, // MOV64rm |
| 12854370U, // MOV64rr |
| 12854370U, // MOV64rr_REV |
| 12854370U, // MOV64rs |
| 17048674U, // MOV64sm |
| 12854370U, // MOV64sr |
| 3114082U, // MOV8ao8 |
| 3114082U, // MOV8ao8_16 |
| 312418U, // MOV8mi |
| 312418U, // MOV8mr |
| 134530146U, // MOV8mr_NOREX |
| 230739U, // MOV8o8a |
| 230739U, // MOV8o8a_16 |
| 12854370U, // MOV8ri |
| 12854370U, // MOV8ri_alt |
| 38020194U, // MOV8rm |
| 172237922U, // MOV8rm_NOREX |
| 12854370U, // MOV8rr |
| 147072098U, // MOV8rr_NOREX |
| 12854370U, // MOV8rr_REV |
| 278850U, // MOVBE16mr |
| 21242178U, // MOVBE16rm |
| 295234U, // MOVBE32mr |
| 8659266U, // MOVBE32rm |
| 303426U, // MOVBE64mr |
| 17047874U, // MOVBE64rm |
| 0U, // MOVPC32r |
| 50724970U, // MOVSB |
| 54911250U, // MOVSL |
| 59220790U, // MOVSQ |
| 63292557U, // MOVSW |
| 38020286U, // MOVSX16rm8 |
| 12854462U, // MOVSX16rr8 |
| 21243070U, // MOVSX32rm16 |
| 38020286U, // MOVSX32rm8 |
| 12854462U, // MOVSX32rr16 |
| 12854462U, // MOVSX32rr8 |
| 21243070U, // MOVSX64rm16 |
| 8659225U, // MOVSX64rm32 |
| 38020286U, // MOVSX64rm8 |
| 12854462U, // MOVSX64rr16 |
| 12853529U, // MOVSX64rr32 |
| 12854462U, // MOVSX64rr8 |
| 38020293U, // MOVZX16rm8 |
| 12854469U, // MOVZX16rr8 |
| 38020293U, // MOVZX32_NOREXrm8 |
| 12854469U, // MOVZX32_NOREXrr8 |
| 21243077U, // MOVZX32rm16 |
| 38020293U, // MOVZX32rm8 |
| 12854469U, // MOVZX32rr16 |
| 12854469U, // MOVZX32rr8 |
| 21243077U, // MOVZX64rm16_Q |
| 38020293U, // MOVZX64rm8_Q |
| 12854469U, // MOVZX64rr16_Q |
| 12854469U, // MOVZX64rr8_Q |
| 17025U, // MUL16m |
| 8833U, // MUL16r |
| 33409U, // MUL32m |
| 8833U, // MUL32r |
| 41601U, // MUL64m |
| 8833U, // MUL64r |
| 49793U, // MUL8m |
| 8833U, // MUL8r |
| 79963296U, // MULX32rm |
| 348398752U, // MULX32rr |
| 616834208U, // MULX64rm |
| 348398752U, // MULX64rr |
| 16872U, // NEG16m |
| 8680U, // NEG16r |
| 33256U, // NEG32m |
| 8680U, // NEG32r |
| 41448U, // NEG64m |
| 8680U, // NEG64r |
| 49640U, // NEG8m |
| 8680U, // NEG8r |
| 3816U, // NOOP |
| 17140U, // NOOP18_16m4 |
| 17140U, // NOOP18_16m5 |
| 17140U, // NOOP18_16m6 |
| 17140U, // NOOP18_16m7 |
| 8948U, // NOOP18_16r4 |
| 8948U, // NOOP18_16r5 |
| 8948U, // NOOP18_16r6 |
| 8948U, // NOOP18_16r7 |
| 33524U, // NOOP18_m4 |
| 33524U, // NOOP18_m5 |
| 33524U, // NOOP18_m6 |
| 33524U, // NOOP18_m7 |
| 8948U, // NOOP18_r4 |
| 8948U, // NOOP18_r5 |
| 8948U, // NOOP18_r6 |
| 8948U, // NOOP18_r7 |
| 33524U, // NOOPL |
| 33524U, // NOOPL_19 |
| 33524U, // NOOPL_1a |
| 33524U, // NOOPL_1b |
| 33524U, // NOOPL_1c |
| 33524U, // NOOPL_1d |
| 33524U, // NOOPL_1e |
| 17140U, // NOOPW |
| 17140U, // NOOPW_19 |
| 17140U, // NOOPW_1a |
| 17140U, // NOOPW_1b |
| 17140U, // NOOPW_1c |
| 17140U, // NOOPW_1d |
| 17140U, // NOOPW_1e |
| 17451U, // NOT16m |
| 9259U, // NOT16r |
| 33835U, // NOT32m |
| 9259U, // NOT32r |
| 42027U, // NOT64m |
| 9259U, // NOT64r |
| 50219U, // NOT8m |
| 9259U, // NOT8r |
| 9637U, // OR16i16 |
| 279394U, // OR16mi |
| 279394U, // OR16mi8 |
| 279394U, // OR16mr |
| 549730U, // OR16ri |
| 549730U, // OR16ri8 |
| 811874U, // OR16rm |
| 549730U, // OR16rr |
| 4465506U, // OR16rr_REV |
| 9803U, // OR32i32 |
| 295778U, // OR32mi |
| 295778U, // OR32mi8 |
| 295778U, // OR32mr |
| 295778U, // OR32mrLocked |
| 549730U, // OR32ri |
| 549730U, // OR32ri8 |
| 1074018U, // OR32rm |
| 549730U, // OR32rr |
| 4465506U, // OR32rr_REV |
| 9942U, // OR64i32 |
| 303970U, // OR64mi32 |
| 303970U, // OR64mi8 |
| 303970U, // OR64mr |
| 549730U, // OR64ri32 |
| 549730U, // OR64ri8 |
| 1336162U, // OR64rm |
| 549730U, // OR64rr |
| 4465506U, // OR64rr_REV |
| 9525U, // OR8i8 |
| 312162U, // OR8mi |
| 312162U, // OR8mr |
| 549730U, // OR8ri |
| 549730U, // OR8ri8 |
| 1598306U, // OR8rm |
| 549730U, // OR8rr |
| 4465506U, // OR8rr_REV |
| 2106449U, // OUT16ir |
| 4123U, // OUT16rr |
| 2368593U, // OUT32ir |
| 4177U, // OUT32rr |
| 2892881U, // OUT8ir |
| 3703U, // OUT8rr |
| 141047U, // OUTSB |
| 149250U, // OUTSL |
| 165645U, // OUTSW |
| 79962827U, // PDEP32rm |
| 348398283U, // PDEP32rr |
| 616833739U, // PDEP64rm |
| 348398283U, // PDEP64rr |
| 79963222U, // PEXT32rm |
| 348398678U, // PEXT32rr |
| 616834134U, // PEXT64rm |
| 348398678U, // PEXT64rr |
| 8959U, // POP16r |
| 17151U, // POP16rmm |
| 8959U, // POP16rmr |
| 8959U, // POP32r |
| 33535U, // POP32rmm |
| 8959U, // POP32rmr |
| 8959U, // POP64r |
| 41727U, // POP64rmm |
| 8959U, // POP64rmr |
| 4093U, // POPA16 |
| 3721U, // POPA32 |
| 3924U, // POPDS16 |
| 3924U, // POPDS32 |
| 3939U, // POPES16 |
| 3939U, // POPES32 |
| 3646U, // POPF16 |
| 3528U, // POPF32 |
| 3831U, // POPF64 |
| 3954U, // POPFS16 |
| 3954U, // POPFS32 |
| 3954U, // POPFS64 |
| 3969U, // POPGS16 |
| 3969U, // POPGS32 |
| 3969U, // POPGS64 |
| 4036U, // POPSS16 |
| 4036U, // POPSS32 |
| 8719U, // PUSH16i8 |
| 8719U, // PUSH16r |
| 16911U, // PUSH16rmm |
| 8719U, // PUSH16rmr |
| 8719U, // PUSH32i8 |
| 8719U, // PUSH32r |
| 33295U, // PUSH32rmm |
| 8719U, // PUSH32rmr |
| 8719U, // PUSH64i16 |
| 8719U, // PUSH64i32 |
| 8719U, // PUSH64i8 |
| 8719U, // PUSH64r |
| 41487U, // PUSH64rmm |
| 8719U, // PUSH64rmr |
| 4086U, // PUSHA16 |
| 3714U, // PUSHA32 |
| 3908U, // PUSHCS16 |
| 3908U, // PUSHCS32 |
| 3916U, // PUSHDS16 |
| 3916U, // PUSHDS32 |
| 3931U, // PUSHES16 |
| 3931U, // PUSHES32 |
| 3640U, // PUSHF16 |
| 3521U, // PUSHF32 |
| 3824U, // PUSHF64 |
| 3946U, // PUSHFS16 |
| 3946U, // PUSHFS32 |
| 3946U, // PUSHFS64 |
| 3961U, // PUSHGS16 |
| 3961U, // PUSHGS32 |
| 3961U, // PUSHGS64 |
| 4028U, // PUSHSS16 |
| 4028U, // PUSHSS32 |
| 8719U, // PUSHi16 |
| 8719U, // PUSHi32 |
| 16963U, // RCL16m1 |
| 3162691U, // RCL16mCL |
| 279107U, // RCL16mi |
| 8771U, // RCL16r1 |
| 3154499U, // RCL16rCL |
| 4465219U, // RCL16ri |
| 33347U, // RCL32m1 |
| 3179075U, // RCL32mCL |
| 295491U, // RCL32mi |
| 8771U, // RCL32r1 |
| 3154499U, // RCL32rCL |
| 4465219U, // RCL32ri |
| 41539U, // RCL64m1 |
| 3187267U, // RCL64mCL |
| 303683U, // RCL64mi |
| 8771U, // RCL64r1 |
| 3154499U, // RCL64rCL |
| 4465219U, // RCL64ri |
| 49731U, // RCL8m1 |
| 3195459U, // RCL8mCL |
| 311875U, // RCL8mi |
| 8771U, // RCL8r1 |
| 3154499U, // RCL8rCL |
| 4465219U, // RCL8ri |
| 17232U, // RCR16m1 |
| 3162960U, // RCR16mCL |
| 279376U, // RCR16mi |
| 9040U, // RCR16r1 |
| 3154768U, // RCR16rCL |
| 4465488U, // RCR16ri |
| 33616U, // RCR32m1 |
| 3179344U, // RCR32mCL |
| 295760U, // RCR32mi |
| 9040U, // RCR32r1 |
| 3154768U, // RCR32rCL |
| 4465488U, // RCR32ri |
| 41808U, // RCR64m1 |
| 3187536U, // RCR64mCL |
| 303952U, // RCR64mi |
| 9040U, // RCR64r1 |
| 3154768U, // RCR64rCL |
| 4465488U, // RCR64ri |
| 50000U, // RCR8m1 |
| 3195728U, // RCR8mCL |
| 312144U, // RCR8mi |
| 9040U, // RCR8r1 |
| 3154768U, // RCR8rCL |
| 4465488U, // RCR8ri |
| 8600U, // RDFSBASE |
| 8600U, // RDFSBASE64 |
| 8620U, // RDGSBASE |
| 8620U, // RDGSBASE64 |
| 3878U, // RDMSR |
| 3498U, // RDPMC |
| 8425U, // RDRAND16r |
| 8425U, // RDRAND32r |
| 8425U, // RDRAND64r |
| 8384U, // RDSEED16r |
| 8384U, // RDSEED32r |
| 8384U, // RDSEED64r |
| 3511U, // RDTSC |
| 3805U, // RDTSCP |
| 3074U, // RELEASE_MOV16mr |
| 3074U, // RELEASE_MOV32mr |
| 3074U, // RELEASE_MOV64mr |
| 3074U, // RELEASE_MOV8mr |
| 3599U, // REPNE_PREFIX |
| 3442U, // REP_MOVSB_32 |
| 3442U, // REP_MOVSB_64 |
| 3554U, // REP_MOVSD_32 |
| 3554U, // REP_MOVSD_64 |
| 3853U, // REP_MOVSQ_64 |
| 4113U, // REP_MOVSW_32 |
| 4113U, // REP_MOVSW_64 |
| 3812U, // REP_PREFIX |
| 3432U, // REP_STOSB_32 |
| 3432U, // REP_STOSB_64 |
| 3544U, // REP_STOSD_32 |
| 3544U, // REP_STOSD_64 |
| 3843U, // REP_STOSQ_64 |
| 4103U, // REP_STOSW_32 |
| 4103U, // REP_STOSW_64 |
| 9235U, // RETIL |
| 9235U, // RETIQ |
| 9235U, // RETIW |
| 4049U, // RETL |
| 4049U, // RETQ |
| 4049U, // RETW |
| 3277U, // REX64_PREFIX |
| 3424874U, // ROL16m1 |
| 3162730U, // ROL16mCL |
| 279146U, // ROL16mi |
| 3416682U, // ROL16r1 |
| 3154538U, // ROL16rCL |
| 4465258U, // ROL16ri |
| 3441258U, // ROL32m1 |
| 3179114U, // ROL32mCL |
| 295530U, // ROL32mi |
| 3416682U, // ROL32r1 |
| 3154538U, // ROL32rCL |
| 4465258U, // ROL32ri |
| 3449450U, // ROL64m1 |
| 3187306U, // ROL64mCL |
| 303722U, // ROL64mi |
| 3416682U, // ROL64r1 |
| 3154538U, // ROL64rCL |
| 4465258U, // ROL64ri |
| 3457642U, // ROL8m1 |
| 3195498U, // ROL8mCL |
| 311914U, // ROL8mi |
| 3416682U, // ROL8r1 |
| 3154538U, // ROL8rCL |
| 4465258U, // ROL8ri |
| 3425121U, // ROR16m1 |
| 3162977U, // ROR16mCL |
| 279393U, // ROR16mi |
| 3416929U, // ROR16r1 |
| 3154785U, // ROR16rCL |
| 4465505U, // ROR16ri |
| 3441505U, // ROR32m1 |
| 3179361U, // ROR32mCL |
| 295777U, // ROR32mi |
| 3416929U, // ROR32r1 |
| 3154785U, // ROR32rCL |
| 4465505U, // ROR32ri |
| 3449697U, // ROR64m1 |
| 3187553U, // ROR64mCL |
| 303969U, // ROR64mi |
| 3416929U, // ROR64r1 |
| 3154785U, // ROR64rCL |
| 4465505U, // ROR64ri |
| 3457889U, // ROR8m1 |
| 3195745U, // ROR8mCL |
| 312161U, // ROR8mi |
| 3416929U, // ROR8r1 |
| 3154785U, // ROR8rCL |
| 4465505U, // ROR8ri |
| 881075384U, // RORX32mi |
| 348398776U, // RORX32ri |
| 889463992U, // RORX64mi |
| 348398776U, // RORX64ri |
| 3765U, // RSM |
| 3635U, // SAHF |
| 3424830U, // SAL16m1 |
| 3162686U, // SAL16mCL |
| 279102U, // SAL16mi |
| 3416638U, // SAL16r1 |
| 3154494U, // SAL16rCL |
| 4465214U, // SAL16ri |
| 3441214U, // SAL32m1 |
| 3179070U, // SAL32mCL |
| 295486U, // SAL32mi |
| 3416638U, // SAL32r1 |
| 3154494U, // SAL32rCL |
| 4465214U, // SAL32ri |
| 3449406U, // SAL64m1 |
| 3187262U, // SAL64mCL |
| 303678U, // SAL64mi |
| 3416638U, // SAL64r1 |
| 3154494U, // SAL64rCL |
| 4465214U, // SAL64ri |
| 3457598U, // SAL8m1 |
| 3195454U, // SAL8mCL |
| 311870U, // SAL8mi |
| 3416638U, // SAL8r1 |
| 3154494U, // SAL8rCL |
| 4465214U, // SAL8ri |
| 3485U, // SALC |
| 3425099U, // SAR16m1 |
| 3162955U, // SAR16mCL |
| 279371U, // SAR16mi |
| 3416907U, // SAR16r1 |
| 3154763U, // SAR16rCL |
| 4465483U, // SAR16ri |
| 3441483U, // SAR32m1 |
| 3179339U, // SAR32mCL |
| 295755U, // SAR32mi |
| 3416907U, // SAR32r1 |
| 3154763U, // SAR32rCL |
| 4465483U, // SAR32ri |
| 3449675U, // SAR64m1 |
| 3187531U, // SAR64mCL |
| 303947U, // SAR64mi |
| 3416907U, // SAR64r1 |
| 3154763U, // SAR64rCL |
| 4465483U, // SAR64ri |
| 3457867U, // SAR8m1 |
| 3195723U, // SAR8mCL |
| 312139U, // SAR8mi |
| 3416907U, // SAR8r1 |
| 3154763U, // SAR8rCL |
| 4465483U, // SAR8ri |
| 881075372U, // SARX32rm |
| 348398764U, // SARX32rr |
| 889463980U, // SARX64rm |
| 348398764U, // SARX64rr |
| 9564U, // SBB16i16 |
| 278605U, // SBB16mi |
| 278605U, // SBB16mi8 |
| 278605U, // SBB16mr |
| 548941U, // SBB16ri |
| 548941U, // SBB16ri8 |
| 811085U, // SBB16rm |
| 548941U, // SBB16rr |
| 4464717U, // SBB16rr_REV |
| 9698U, // SBB32i32 |
| 294989U, // SBB32mi |
| 294989U, // SBB32mi8 |
| 294989U, // SBB32mr |
| 548941U, // SBB32ri |
| 548941U, // SBB32ri8 |
| 1073229U, // SBB32rm |
| 548941U, // SBB32rr |
| 4464717U, // SBB32rr_REV |
| 9846U, // SBB64i32 |
| 303181U, // SBB64mi32 |
| 303181U, // SBB64mi8 |
| 303181U, // SBB64mr |
| 548941U, // SBB64ri32 |
| 548941U, // SBB64ri8 |
| 1335373U, // SBB64rm |
| 548941U, // SBB64rr |
| 4464717U, // SBB64rr_REV |
| 9440U, // SBB8i8 |
| 311373U, // SBB8mi |
| 311373U, // SBB8mr |
| 548941U, // SBB8ri |
| 1597517U, // SBB8rm |
| 548941U, // SBB8rr |
| 4464717U, // SBB8rr_REV |
| 116172U, // SCAS16 |
| 124436U, // SCAS32 |
| 239293U, // SCAS64 |
| 132329U, // SCAS8 |
| 3983U, // SEG_ALLOCA_32 |
| 3983U, // SEG_ALLOCA_64 |
| 49446U, // SETAEm |
| 8486U, // SETAEr |
| 49193U, // SETAm |
| 8233U, // SETAr |
| 49466U, // SETBEm |
| 8506U, // SETBEr |
| 0U, // SETB_C16r |
| 0U, // SETB_C32r |
| 0U, // SETB_C64r |
| 0U, // SETB_C8r |
| 49265U, // SETBm |
| 8305U, // SETBr |
| 49600U, // SETEm |
| 8640U, // SETEr |
| 49486U, // SETGEm |
| 8526U, // SETGEr |
| 49666U, // SETGm |
| 8706U, // SETGr |
| 49510U, // SETLEm |
| 8550U, // SETLEr |
| 49786U, // SETLm |
| 8826U, // SETLr |
| 49538U, // SETNEm |
| 8578U, // SETNEr |
| 49832U, // SETNOm |
| 8872U, // SETNOr |
| 49893U, // SETNPm |
| 8933U, // SETNPr |
| 50117U, // SETNSm |
| 9157U, // SETNSr |
| 49847U, // SETOm |
| 8887U, // SETOr |
| 49924U, // SETPm |
| 8964U, // SETPr |
| 50142U, // SETSm |
| 9182U, // SETSr |
| 107509U, // SGDT16m |
| 107509U, // SGDT32m |
| 107509U, // SGDT64m |
| 3424840U, // SHL16m1 |
| 3162696U, // SHL16mCL |
| 279112U, // SHL16mi |
| 3416648U, // SHL16r1 |
| 3154504U, // SHL16rCL |
| 4465224U, // SHL16ri |
| 3441224U, // SHL32m1 |
| 3179080U, // SHL32mCL |
| 295496U, // SHL32mi |
| 3416648U, // SHL32r1 |
| 3154504U, // SHL32rCL |
| 4465224U, // SHL32ri |
| 3449416U, // SHL64m1 |
| 3187272U, // SHL64mCL |
| 303688U, // SHL64mi |
| 3416648U, // SHL64r1 |
| 3154504U, // SHL64rCL |
| 4465224U, // SHL64ri |
| 3457608U, // SHL8m1 |
| 3195464U, // SHL8mCL |
| 311880U, // SHL8mi |
| 3416648U, // SHL8r1 |
| 3154504U, // SHL8rCL |
| 4465224U, // SHL8ri |
| 201605338U, // SHLD16mrCL |
| 872693978U, // SHLD16mri8 |
| 205791450U, // SHLD16rrCL |
| 1145315546U, // SHLD16rri8 |
| 201621722U, // SHLD32mrCL |
| 872710362U, // SHLD32mri8 |
| 205791450U, // SHLD32rrCL |
| 1145315546U, // SHLD32rri8 |
| 201629914U, // SHLD64mrCL |
| 872718554U, // SHLD64mri8 |
| 205791450U, // SHLD64rrCL |
| 1145315546U, // SHLD64rri8 |
| 881075354U, // SHLX32rm |
| 348398746U, // SHLX32rr |
| 889463962U, // SHLX64rm |
| 348398746U, // SHLX64rr |
| 3425116U, // SHR16m1 |
| 3162972U, // SHR16mCL |
| 279388U, // SHR16mi |
| 3416924U, // SHR16r1 |
| 3154780U, // SHR16rCL |
| 4465500U, // SHR16ri |
| 3441500U, // SHR32m1 |
| 3179356U, // SHR32mCL |
| 295772U, // SHR32mi |
| 3416924U, // SHR32r1 |
| 3154780U, // SHR32rCL |
| 4465500U, // SHR32ri |
| 3449692U, // SHR64m1 |
| 3187548U, // SHR64mCL |
| 303964U, // SHR64mi |
| 3416924U, // SHR64r1 |
| 3154780U, // SHR64rCL |
| 4465500U, // SHR64ri |
| 3457884U, // SHR8m1 |
| 3195740U, // SHR8mCL |
| 312156U, // SHR8mi |
| 3416924U, // SHR8r1 |
| 3154780U, // SHR8rCL |
| 4465500U, // SHR8ri |
| 201605368U, // SHRD16mrCL |
| 872694008U, // SHRD16mri8 |
| 205791480U, // SHRD16rrCL |
| 1145315576U, // SHRD16rri8 |
| 201621752U, // SHRD32mrCL |
| 872710392U, // SHRD32mri8 |
| 205791480U, // SHRD32rrCL |
| 1145315576U, // SHRD32rri8 |
| 201629944U, // SHRD64mrCL |
| 872718584U, // SHRD64mri8 |
| 205791480U, // SHRD64rrCL |
| 1145315576U, // SHRD64rri8 |
| 881075378U, // SHRX32rm |
| 348398770U, // SHRX32rr |
| 889463986U, // SHRX64rm |
| 348398770U, // SHRX64rr |
| 107521U, // SIDT16m |
| 107521U, // SIDT32m |
| 107521U, // SIDT64m |
| 4166U, // SKINIT |
| 17421U, // SLDT16m |
| 9229U, // SLDT16r |
| 9229U, // SLDT32r |
| 17421U, // SLDT64m |
| 9229U, // SLDT64r |
| 17523U, // SMSW16m |
| 9331U, // SMSW16r |
| 9331U, // SMSW32r |
| 9331U, // SMSW64r |
| 4033U, // SS_PREFIX |
| 3463U, // STAC |
| 3517U, // STC |
| 3570U, // STD |
| 3670U, // STGI |
| 3679U, // STI |
| 3014748U, // STOSB |
| 2482436U, // STOSL |
| 2859816U, // STOSQ |
| 2212991U, // STOSW |
| 9102U, // STR16r |
| 9102U, // STR32r |
| 9102U, // STR64r |
| 17294U, // STRm |
| 9573U, // SUB16i16 |
| 278647U, // SUB16mi |
| 278647U, // SUB16mi8 |
| 278647U, // SUB16mr |
| 548983U, // SUB16ri |
| 548983U, // SUB16ri8 |
| 811127U, // SUB16rm |
| 548983U, // SUB16rr |
| 4464759U, // SUB16rr_REV |
| 9708U, // SUB32i32 |
| 295031U, // SUB32mi |
| 295031U, // SUB32mi8 |
| 295031U, // SUB32mr |
| 548983U, // SUB32ri |
| 548983U, // SUB32ri8 |
| 1073271U, // SUB32rm |
| 548983U, // SUB32rr |
| 4464759U, // SUB32rr_REV |
| 9856U, // SUB64i32 |
| 303223U, // SUB64mi32 |
| 303223U, // SUB64mi8 |
| 303223U, // SUB64mr |
| 548983U, // SUB64ri32 |
| 548983U, // SUB64ri8 |
| 1335415U, // SUB64rm |
| 548983U, // SUB64rr |
| 4464759U, // SUB64rr_REV |
| 9471U, // SUB8i8 |
| 311415U, // SUB8mi |
| 311415U, // SUB8mr |
| 548983U, // SUB8ri |
| 548983U, // SUB8ri8 |
| 1597559U, // SUB8rm |
| 548983U, // SUB8rr |
| 4464759U, // SUB8rr_REV |
| 3976U, // SWAPGS |
| 3742U, // SYSCALL |
| 3869U, // SYSENTER |
| 4060U, // SYSEXIT |
| 4060U, // SYSEXIT64 |
| 4053U, // SYSRET |
| 4053U, // SYSRET64 |
| 8659099U, // T1MSKC32rm |
| 12853403U, // T1MSKC32rr |
| 17047707U, // T1MSKC64rm |
| 12853403U, // T1MSKC64rr |
| 3728091U, // TAILJMPd |
| 3728091U, // TAILJMPd64 |
| 3703515U, // TAILJMPm |
| 3711707U, // TAILJMPm64 |
| 0U, // TAILJMPr |
| 3678939U, // TAILJMPr64 |
| 0U, // TCRETURNdi |
| 0U, // TCRETURNdi64 |
| 0U, // TCRETURNmi |
| 0U, // TCRETURNmi64 |
| 0U, // TCRETURNri |
| 0U, // TCRETURNri64 |
| 9657U, // TEST16i16 |
| 279618U, // TEST16mi |
| 279618U, // TEST16mi_alt |
| 12854338U, // TEST16ri |
| 12854338U, // TEST16ri_alt |
| 21242946U, // TEST16rm |
| 12854338U, // TEST16rr |
| 9825U, // TEST32i32 |
| 296002U, // TEST32mi |
| 296002U, // TEST32mi_alt |
| 12854338U, // TEST32ri |
| 12854338U, // TEST32ri_alt |
| 8660034U, // TEST32rm |
| 12854338U, // TEST32rr |
| 9964U, // TEST64i32 |
| 304194U, // TEST64mi32 |
| 304194U, // TEST64mi32_alt |
| 12854338U, // TEST64ri32 |
| 12854338U, // TEST64ri32_alt |
| 17048642U, // TEST64rm |
| 12854338U, // TEST64rr |
| 9545U, // TEST8i8 |
| 312386U, // TEST8mi |
| 312386U, // TEST8mi_alt |
| 12854338U, // TEST8ri |
| 0U, // TEST8ri_NOREX |
| 12854338U, // TEST8ri_alt |
| 38020162U, // TEST8rm |
| 12854338U, // TEST8rr |
| 3143U, // TLSCall_32 |
| 3233U, // TLSCall_64 |
| 3156U, // TLS_addr32 |
| 3246U, // TLS_addr64 |
| 3169U, // TLS_base_addr32 |
| 3259U, // TLS_base_addr64 |
| 3187U, // TRAP |
| 21242911U, // TZCNT16rm |
| 12854303U, // TZCNT16rr |
| 8659999U, // TZCNT32rm |
| 12854303U, // TZCNT32rr |
| 17048607U, // TZCNT64rm |
| 12854303U, // TZCNT64rr |
| 8659511U, // TZMSK32rm |
| 12853815U, // TZMSK32rr |
| 17048119U, // TZMSK64rm |
| 12853815U, // TZMSK64rr |
| 3397U, // UD2B |
| 3057919768U, // VAARG_64 |
| 348399418U, // VASTART_SAVE_XMM_REGS |
| 17267U, // VERRm |
| 9075U, // VERRr |
| 17511U, // VERWm |
| 9319U, // VERWr |
| 3735U, // VMCALL |
| 41789U, // VMCLEARm |
| 3504U, // VMFUNC |
| 3656U, // VMLAUNCH |
| 4134U, // VMLOAD32 |
| 4189U, // VMLOAD64 |
| 3727U, // VMMCALL |
| 41184U, // VMPTRLDm |
| 42056U, // VMPTRSTm |
| 295090U, // VMREAD32rm |
| 12853426U, // VMREAD32rr |
| 303282U, // VMREAD64rm |
| 12853426U, // VMREAD64rr |
| 3590U, // VMRESUME |
| 4156U, // VMRUN32 |
| 4211U, // VMRUN64 |
| 4145U, // VMSAVE32 |
| 4200U, // VMSAVE64 |
| 8659398U, // VMWRITE32rm |
| 12853702U, // VMWRITE32rr |
| 17048006U, // VMWRITE64rm |
| 12853702U, // VMWRITE64rr |
| 3623U, // VMXOFF |
| 41624U, // VMXON |
| 57938U, // W64ALLOCA |
| 3574U, // WBINVD |
| 3769U, // WIN_ALLOCA |
| 3683U, // WIN_FTOL_32 |
| 3683U, // WIN_FTOL_64 |
| 8610U, // WRFSBASE |
| 8610U, // WRFSBASE64 |
| 8630U, // WRGSBASE |
| 8630U, // WRGSBASE64 |
| 3884U, // WRMSR |
| 278714U, // XADD16rm |
| 12853434U, // XADD16rr |
| 295098U, // XADD32rm |
| 12853434U, // XADD32rr |
| 303290U, // XADD64rm |
| 12853434U, // XADD64rr |
| 311482U, // XADD8rm |
| 12853434U, // XADD8rr |
| 9609U, // XCHG16ar |
| 172528U, // XCHG16rm |
| 246256U, // XCHG16rr |
| 9772U, // XCHG32ar |
| 9772U, // XCHG32ar64 |
| 180720U, // XCHG32rm |
| 246256U, // XCHG32rr |
| 9896U, // XCHG64ar |
| 188912U, // XCHG64rm |
| 246256U, // XCHG64rr |
| 197104U, // XCHG8rm |
| 246256U, // XCHG8rr |
| 3468U, // XCRYPTCBC |
| 3412U, // XCRYPTCFB |
| 3890U, // XCRYPTCTR |
| 3402U, // XCRYPTECB |
| 3422U, // XCRYPTOFB |
| 4072U, // XGETBV |
| 3452U, // XLAT |
| 9636U, // XOR16i16 |
| 279406U, // XOR16mi |
| 279406U, // XOR16mi8 |
| 279406U, // XOR16mr |
| 549742U, // XOR16ri |
| 549742U, // XOR16ri8 |
| 811886U, // XOR16rm |
| 549742U, // XOR16rr |
| 4465518U, // XOR16rr_REV |
| 9802U, // XOR32i32 |
| 295790U, // XOR32mi |
| 295790U, // XOR32mi8 |
| 295790U, // XOR32mr |
| 549742U, // XOR32ri |
| 549742U, // XOR32ri8 |
| 1074030U, // XOR32rm |
| 549742U, // XOR32rr |
| 4465518U, // XOR32rr_REV |
| 9941U, // XOR64i32 |
| 303982U, // XOR64mi32 |
| 303982U, // XOR64mi8 |
| 303982U, // XOR64mr |
| 549742U, // XOR64ri32 |
| 549742U, // XOR64ri8 |
| 1336174U, // XOR64rm |
| 549742U, // XOR64rr |
| 4465518U, // XOR64rr_REV |
| 9524U, // XOR8i8 |
| 312174U, // XOR8mi |
| 312174U, // XOR8mr |
| 549742U, // XOR8ri |
| 549742U, // XOR8ri8 |
| 1598318U, // XOR8rm |
| 549742U, // XOR8rr |
| 4465518U, // XOR8rr_REV |
| 107366U, // XRSTOR |
| 106506U, // XRSTOR64 |
| 106959U, // XSAVE |
| 106497U, // XSAVE64 |
| 107576U, // XSAVEOPT |
| 106516U, // XSAVEOPT64 |
| 4079U, // XSETBV |
| 3095U, // XSHA1 |
| 3290U, // XSHA256 |
| 3610U, // XSTORE |
| 0U |
| }; |
| |
| #ifndef CAPSTONE_DIET |
| static char AsmStrs[] = { |
| /* 0 */ 'x', 's', 'a', 'v', 'e', '6', '4', 9, 0, |
| /* 9 */ 'x', 'r', 's', 't', 'o', 'r', '6', '4', 9, 0, |
| /* 19 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', '6', '4', 9, 0, |
| /* 31 */ 'l', 'e', 'a', 9, 0, |
| /* 36 */ 'j', 'a', 9, 0, |
| /* 40 */ 's', 'e', 't', 'a', 9, 0, |
| /* 46 */ 'c', 'm', 'o', 'v', 'a', 9, 0, |
| /* 53 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '1', '6', 'b', 9, 0, |
| /* 65 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '8', 'b', 9, 0, |
| /* 76 */ 's', 'b', 'b', 9, 0, |
| /* 81 */ 'j', 'b', 9, 0, |
| /* 85 */ 'i', 'n', 's', 'b', 9, 0, |
| /* 91 */ 's', 't', 'o', 's', 'b', 9, 0, |
| /* 98 */ 'c', 'm', 'p', 's', 'b', 9, 0, |
| /* 105 */ 'm', 'o', 'v', 's', 'b', 9, 0, |
| /* 112 */ 's', 'e', 't', 'b', 9, 0, |
| /* 118 */ 's', 'u', 'b', 9, 0, |
| /* 123 */ 'c', 'm', 'o', 'v', 'b', 9, 0, |
| /* 130 */ 'a', 'd', 'c', 9, 0, |
| /* 135 */ 'd', 'e', 'c', 9, 0, |
| /* 140 */ 'b', 'l', 'c', 'i', 'c', 9, 0, |
| /* 147 */ 'b', 'l', 's', 'i', 'c', 9, 0, |
| /* 154 */ 't', '1', 'm', 's', 'k', 'c', 9, 0, |
| /* 162 */ 'i', 'n', 'c', 9, 0, |
| /* 167 */ 'b', 't', 'c', 9, 0, |
| /* 172 */ 'a', 'a', 'd', 9, 0, |
| /* 177 */ 'v', 'm', 'r', 'e', 'a', 'd', 9, 0, |
| /* 185 */ 'x', 'a', 'd', 'd', 9, 0, |
| /* 191 */ 'r', 'd', 's', 'e', 'e', 'd', 9, 0, |
| /* 199 */ 'i', 'n', 'v', 'p', 'c', 'i', 'd', 9, 0, |
| /* 208 */ 'i', 'n', 'v', 'v', 'p', 'i', 'd', 9, 0, |
| /* 217 */ 's', 'h', 'l', 'd', 9, 0, |
| /* 223 */ 'v', 'm', 'p', 't', 'r', 'l', 'd', 9, 0, |
| /* 232 */ 'r', 'd', 'r', 'a', 'n', 'd', 9, 0, |
| /* 240 */ 'b', 'o', 'u', 'n', 'd', 9, 0, |
| /* 247 */ 's', 'h', 'r', 'd', 9, 0, |
| /* 253 */ 'i', 'n', 's', 'd', 9, 0, |
| /* 259 */ 's', 't', 'o', 's', 'd', 9, 0, |
| /* 266 */ 'c', 'm', 'p', 's', 'd', 9, 0, |
| /* 273 */ 'm', 'o', 'v', 's', 'd', 9, 0, |
| /* 280 */ 'm', 'o', 'v', 's', 'x', 'd', 9, 0, |
| /* 288 */ 'j', 'a', 'e', 9, 0, |
| /* 293 */ 's', 'e', 't', 'a', 'e', 9, 0, |
| /* 300 */ 'c', 'm', 'o', 'v', 'a', 'e', 9, 0, |
| /* 308 */ 'j', 'b', 'e', 9, 0, |
| /* 313 */ 's', 'e', 't', 'b', 'e', 9, 0, |
| /* 320 */ 'c', 'm', 'o', 'v', 'b', 'e', 9, 0, |
| /* 328 */ 'j', 'g', 'e', 9, 0, |
| /* 333 */ 's', 'e', 't', 'g', 'e', 9, 0, |
| /* 340 */ 'c', 'm', 'o', 'v', 'g', 'e', 9, 0, |
| /* 348 */ 'j', 'e', 9, 0, |
| /* 352 */ 'j', 'l', 'e', 9, 0, |
| /* 357 */ 's', 'e', 't', 'l', 'e', 9, 0, |
| /* 364 */ 'c', 'm', 'o', 'v', 'l', 'e', 9, 0, |
| /* 372 */ 'j', 'n', 'e', 9, 0, |
| /* 377 */ 'l', 'o', 'o', 'p', 'n', 'e', 9, 0, |
| /* 385 */ 's', 'e', 't', 'n', 'e', 9, 0, |
| /* 392 */ 'c', 'm', 'o', 'v', 'n', 'e', 9, 0, |
| /* 400 */ 'l', 'o', 'o', 'p', 'e', 9, 0, |
| /* 407 */ 'r', 'd', 'f', 's', 'b', 'a', 's', 'e', 9, 0, |
| /* 417 */ 'w', 'r', 'f', 's', 'b', 'a', 's', 'e', 9, 0, |
| /* 427 */ 'r', 'd', 'g', 's', 'b', 'a', 's', 'e', 9, 0, |
| /* 437 */ 'w', 'r', 'g', 's', 'b', 'a', 's', 'e', 9, 0, |
| /* 447 */ 's', 'e', 't', 'e', 9, 0, |
| /* 453 */ 'v', 'm', 'w', 'r', 'i', 't', 'e', 9, 0, |
| /* 462 */ 'x', 's', 'a', 'v', 'e', 9, 0, |
| /* 469 */ 'c', 'm', 'o', 'v', 'e', 9, 0, |
| /* 476 */ 'b', 's', 'f', 9, 0, |
| /* 481 */ 'r', 'e', 't', 'f', 9, 0, |
| /* 487 */ 'n', 'e', 'g', 9, 0, |
| /* 492 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 9, 0, |
| /* 501 */ 'j', 'g', 9, 0, |
| /* 505 */ 'i', 'n', 'v', 'l', 'p', 'g', 9, 0, |
| /* 513 */ 's', 'e', 't', 'g', 9, 0, |
| /* 519 */ 'c', 'm', 'o', 'v', 'g', 9, 0, |
| /* 526 */ 'p', 'u', 's', 'h', 9, 0, |
| /* 532 */ 'b', 'l', 'c', 'i', 9, 0, |
| /* 538 */ 'b', 'z', 'h', 'i', 9, 0, |
| /* 544 */ 'b', 'l', 's', 'i', 9, 0, |
| /* 550 */ 'b', 'l', 'c', 'm', 's', 'k', 9, 0, |
| /* 558 */ 'b', 'l', 's', 'm', 's', 'k', 9, 0, |
| /* 566 */ 't', 'z', 'm', 's', 'k', 9, 0, |
| /* 573 */ 's', 'a', 'l', 9, 0, |
| /* 578 */ 'r', 'c', 'l', 9, 0, |
| /* 583 */ 's', 'h', 'l', 9, 0, |
| /* 588 */ 'j', 'l', 9, 0, |
| /* 592 */ 'l', 'c', 'a', 'l', 'l', 9, 0, |
| /* 599 */ 'b', 'l', 'c', 'f', 'i', 'l', 'l', 9, 0, |
| /* 608 */ 'b', 'l', 's', 'f', 'i', 'l', 'l', 9, 0, |
| /* 617 */ 'r', 'o', 'l', 9, 0, |
| /* 622 */ 'a', 'r', 'p', 'l', 9, 0, |
| /* 628 */ 'l', 's', 'l', 9, 0, |
| /* 633 */ 's', 'e', 't', 'l', 9, 0, |
| /* 639 */ 'i', 'm', 'u', 'l', 9, 0, |
| /* 645 */ 'c', 'm', 'o', 'v', 'l', 9, 0, |
| /* 652 */ 'a', 'a', 'm', 9, 0, |
| /* 657 */ 'a', 'n', 'd', 'n', 9, 0, |
| /* 663 */ 'v', 'm', 'x', 'o', 'n', 9, 0, |
| /* 670 */ 'j', 'o', 9, 0, |
| /* 674 */ 'j', 'n', 'o', 9, 0, |
| /* 679 */ 's', 'e', 't', 'n', 'o', 9, 0, |
| /* 686 */ 'c', 'm', 'o', 'v', 'n', 'o', 9, 0, |
| /* 694 */ 's', 'e', 't', 'o', 9, 0, |
| /* 700 */ 'c', 'm', 'o', 'v', 'o', 9, 0, |
| /* 707 */ 'b', 's', 'w', 'a', 'p', 9, 0, |
| /* 714 */ 'p', 'd', 'e', 'p', 9, 0, |
| /* 720 */ 'j', 'p', 9, 0, |
| /* 724 */ 'c', 'm', 'p', 9, 0, |
| /* 729 */ 'l', 'j', 'm', 'p', 9, 0, |
| /* 735 */ 'j', 'n', 'p', 9, 0, |
| /* 740 */ 's', 'e', 't', 'n', 'p', 9, 0, |
| /* 747 */ 'c', 'm', 'o', 'v', 'n', 'p', 9, 0, |
| /* 755 */ 'n', 'o', 'p', 9, 0, |
| /* 760 */ 'l', 'o', 'o', 'p', 9, 0, |
| /* 766 */ 'p', 'o', 'p', 9, 0, |
| /* 771 */ 's', 'e', 't', 'p', 9, 0, |
| /* 777 */ '#', 'E', 'H', '_', 'S', 'j', 'L', 'j', '_', 'S', 'e', 't', 'u', 'p', 9, 0, |
| /* 793 */ 'c', 'm', 'o', 'v', 'p', 9, 0, |
| /* 800 */ 'r', 'e', 't', 'f', 'q', 9, 0, |
| /* 807 */ 's', 't', 'o', 's', 'q', 9, 0, |
| /* 814 */ 'c', 'm', 'p', 's', 'q', 9, 0, |
| /* 821 */ 'm', 'o', 'v', 's', 'q', 9, 0, |
| /* 828 */ 'v', 'm', 'c', 'l', 'e', 'a', 'r', 9, 0, |
| /* 837 */ 'l', 'a', 'r', 9, 0, |
| /* 842 */ 's', 'a', 'r', 9, 0, |
| /* 847 */ 'r', 'c', 'r', 9, 0, |
| /* 852 */ 'e', 'n', 't', 'e', 'r', 9, 0, |
| /* 859 */ 's', 'h', 'r', 9, 0, |
| /* 864 */ 'r', 'o', 'r', 9, 0, |
| /* 869 */ 'x', 'r', 's', 't', 'o', 'r', 9, 0, |
| /* 877 */ 'x', 'o', 'r', 9, 0, |
| /* 882 */ 'v', 'e', 'r', 'r', 9, 0, |
| /* 888 */ 'b', 's', 'r', 9, 0, |
| /* 893 */ 'b', 'l', 's', 'r', 9, 0, |
| /* 899 */ 'b', 't', 'r', 9, 0, |
| /* 904 */ 'l', 't', 'r', 9, 0, |
| /* 909 */ 's', 't', 'r', 9, 0, |
| /* 914 */ 'b', 'e', 'x', 't', 'r', 9, 0, |
| /* 921 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 0, |
| /* 929 */ 'b', 'l', 'c', 's', 9, 0, |
| /* 935 */ 'l', 'd', 's', 9, 0, |
| /* 940 */ 'l', 'e', 's', 9, 0, |
| /* 945 */ 'l', 'f', 's', 9, 0, |
| /* 950 */ 'l', 'g', 's', 9, 0, |
| /* 955 */ 'j', 's', 9, 0, |
| /* 959 */ 'j', 'n', 's', 9, 0, |
| /* 964 */ 's', 'e', 't', 'n', 's', 9, 0, |
| /* 971 */ 'c', 'm', 'o', 'v', 'n', 's', 9, 0, |
| /* 979 */ 'l', 's', 's', 9, 0, |
| /* 984 */ 'b', 't', 's', 9, 0, |
| /* 989 */ 's', 'e', 't', 's', 9, 0, |
| /* 995 */ 'c', 'm', 'o', 'v', 's', 9, 0, |
| /* 1002 */ 'b', 't', 9, 0, |
| /* 1006 */ 'l', 'g', 'd', 't', 9, 0, |
| /* 1012 */ 's', 'g', 'd', 't', 9, 0, |
| /* 1018 */ 'l', 'i', 'd', 't', 9, 0, |
| /* 1024 */ 's', 'i', 'd', 't', 9, 0, |
| /* 1030 */ 'l', 'l', 'd', 't', 9, 0, |
| /* 1036 */ 's', 'l', 'd', 't', 9, 0, |
| /* 1042 */ 'r', 'e', 't', 9, 0, |
| /* 1047 */ 'l', 'z', 'c', 'n', 't', 9, 0, |
| /* 1054 */ 't', 'z', 'c', 'n', 't', 9, 0, |
| /* 1061 */ 'i', 'n', 't', 9, 0, |
| /* 1066 */ 'n', 'o', 't', 9, 0, |
| /* 1071 */ 'i', 'n', 'v', 'e', 'p', 't', 9, 0, |
| /* 1079 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', 9, 0, |
| /* 1089 */ 't', 'e', 's', 't', 9, 0, |
| /* 1095 */ 'v', 'm', 'p', 't', 'r', 's', 't', 9, 0, |
| /* 1104 */ 'o', 'u', 't', 9, 0, |
| /* 1109 */ 'p', 'e', 'x', 't', 9, 0, |
| /* 1115 */ 'i', 'd', 'i', 'v', 9, 0, |
| /* 1121 */ 'm', 'o', 'v', 9, 0, |
| /* 1126 */ 'v', 'e', 'r', 'w', 9, 0, |
| /* 1132 */ 'l', 'm', 's', 'w', 9, 0, |
| /* 1138 */ 's', 'm', 's', 'w', 9, 0, |
| /* 1144 */ 'i', 'n', 's', 'w', 9, 0, |
| /* 1150 */ 's', 't', 'o', 's', 'w', 9, 0, |
| /* 1157 */ 'c', 'm', 'p', 's', 'w', 9, 0, |
| /* 1164 */ 'm', 'o', 'v', 's', 'w', 9, 0, |
| /* 1171 */ 'a', 'd', 'c', 'x', 9, 0, |
| /* 1177 */ 's', 'h', 'l', 'x', 9, 0, |
| /* 1183 */ 'm', 'u', 'l', 'x', 9, 0, |
| /* 1189 */ 'a', 'd', 'o', 'x', 9, 0, |
| /* 1195 */ 's', 'a', 'r', 'x', 9, 0, |
| /* 1201 */ 's', 'h', 'r', 'x', 9, 0, |
| /* 1207 */ 'r', 'o', 'r', 'x', 9, 0, |
| /* 1213 */ 'm', 'o', 'v', 's', 'x', 9, 0, |
| /* 1220 */ 'm', 'o', 'v', 'z', 'x', 9, 0, |
| /* 1227 */ 'j', 'e', 'c', 'x', 'z', 9, 0, |
| /* 1234 */ 'j', 'c', 'x', 'z', 9, 0, |
| /* 1240 */ 'j', 'r', 'c', 'x', 'z', 9, 0, |
| /* 1247 */ 's', 'b', 'b', 9, 'a', 'l', ',', 32, 0, |
| /* 1256 */ 's', 'c', 'a', 's', 'b', 9, 'a', 'l', ',', 32, 0, |
| /* 1267 */ 'l', 'o', 'd', 's', 'b', 9, 'a', 'l', ',', 32, 0, |
| /* 1278 */ 's', 'u', 'b', 9, 'a', 'l', ',', 32, 0, |
| /* 1287 */ 'a', 'd', 'c', 9, 'a', 'l', ',', 32, 0, |
| /* 1296 */ 'a', 'd', 'd', 9, 'a', 'l', ',', 32, 0, |
| /* 1305 */ 'a', 'n', 'd', 9, 'a', 'l', ',', 32, 0, |
| /* 1314 */ 'i', 'n', 9, 'a', 'l', ',', 32, 0, |
| /* 1322 */ 'c', 'm', 'p', 9, 'a', 'l', ',', 32, 0, |
| /* 1331 */ 'x', 'o', 'r', 9, 'a', 'l', ',', 32, 0, |
| /* 1340 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'a', 'l', ',', 32, 0, |
| /* 1352 */ 't', 'e', 's', 't', 9, 'a', 'l', ',', 32, 0, |
| /* 1362 */ 'm', 'o', 'v', 9, 'a', 'l', ',', 32, 0, |
| /* 1371 */ 's', 'b', 'b', 9, 'a', 'x', ',', 32, 0, |
| /* 1380 */ 's', 'u', 'b', 9, 'a', 'x', ',', 32, 0, |
| /* 1389 */ 'a', 'd', 'c', 9, 'a', 'x', ',', 32, 0, |
| /* 1398 */ 'a', 'd', 'd', 9, 'a', 'x', ',', 32, 0, |
| /* 1407 */ 'a', 'n', 'd', 9, 'a', 'x', ',', 32, 0, |
| /* 1416 */ 'x', 'c', 'h', 'g', 9, 'a', 'x', ',', 32, 0, |
| /* 1426 */ 'i', 'n', 9, 'a', 'x', ',', 32, 0, |
| /* 1434 */ 'c', 'm', 'p', 9, 'a', 'x', ',', 32, 0, |
| /* 1443 */ 'x', 'o', 'r', 9, 'a', 'x', ',', 32, 0, |
| /* 1452 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'a', 'x', ',', 32, 0, |
| /* 1464 */ 't', 'e', 's', 't', 9, 'a', 'x', ',', 32, 0, |
| /* 1474 */ 'm', 'o', 'v', 9, 'a', 'x', ',', 32, 0, |
| /* 1483 */ 's', 'c', 'a', 's', 'w', 9, 'a', 'x', ',', 32, 0, |
| /* 1494 */ 'l', 'o', 'd', 's', 'w', 9, 'a', 'x', ',', 32, 0, |
| /* 1505 */ 's', 'b', 'b', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1515 */ 's', 'u', 'b', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1525 */ 'a', 'd', 'c', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1535 */ 'a', 'd', 'd', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1545 */ 'a', 'n', 'd', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1555 */ 's', 'c', 'a', 's', 'd', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1567 */ 'l', 'o', 'd', 's', 'd', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1579 */ 'x', 'c', 'h', 'g', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1590 */ 'i', 'n', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1599 */ 'c', 'm', 'p', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1609 */ 'x', 'o', 'r', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1619 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1632 */ 't', 'e', 's', 't', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1643 */ 'm', 'o', 'v', 9, 'e', 'a', 'x', ',', 32, 0, |
| /* 1653 */ 's', 'b', 'b', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1663 */ 's', 'u', 'b', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1673 */ 'a', 'd', 'c', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1683 */ 'a', 'd', 'd', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1693 */ 'a', 'n', 'd', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1703 */ 'x', 'c', 'h', 'g', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1714 */ 'c', 'm', 'p', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1724 */ 's', 'c', 'a', 's', 'q', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1736 */ 'l', 'o', 'd', 's', 'q', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1748 */ 'x', 'o', 'r', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1758 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1771 */ 't', 'e', 's', 't', 9, 'r', 'a', 'x', ',', 32, 0, |
| /* 1782 */ 'o', 'u', 't', 's', 'b', 9, 'd', 'x', ',', 32, 0, |
| /* 1793 */ 'o', 'u', 't', 's', 'd', 9, 'd', 'x', ',', 32, 0, |
| /* 1804 */ 'o', 'u', 't', 's', 'w', 9, 'd', 'x', ',', 32, 0, |
| /* 1815 */ '#', 'V', 'A', 'A', 'R', 'G', '_', '6', '4', 32, 0, |
| /* 1826 */ 'r', 'e', 't', 9, '#', 'e', 'h', '_', 'r', 'e', 't', 'u', 'r', 'n', ',', 32, 'a', 'd', 'd', 'r', ':', 32, 0, |
| /* 1849 */ '#', 'V', 'A', 'S', 'T', 'A', 'R', 'T', '_', 'S', 'A', 'V', 'E', '_', 'X', 'M', 'M', '_', 'R', 'E', 'G', 'S', 32, 0, |
| /* 1873 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '3', '2', '*', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 1893 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '1', '6', '*', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 1913 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '8', '0', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 1933 */ '#', 'A', 'T', 'O', 'M', 'S', 'U', 'B', '6', '4', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 1954 */ '#', 'A', 'T', 'O', 'M', 'A', 'D', 'D', '6', '4', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 1975 */ '#', 'A', 'T', 'O', 'M', 'A', 'N', 'D', '6', '4', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 1996 */ '#', 'A', 'T', 'O', 'M', 'N', 'A', 'N', 'D', '6', '4', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2018 */ '#', 'A', 'T', 'O', 'M', 'M', 'I', 'N', '6', '4', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2039 */ '#', 'A', 'T', 'O', 'M', 'U', 'M', 'I', 'N', '6', '4', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2061 */ '#', 'A', 'T', 'O', 'M', 'S', 'W', 'A', 'P', '6', '4', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2083 */ '#', 'A', 'T', 'O', 'M', 'O', 'R', '6', '4', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2103 */ '#', 'A', 'T', 'O', 'M', 'X', 'O', 'R', '6', '4', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2124 */ '#', 'A', 'T', 'O', 'M', 'M', 'A', 'X', '6', '4', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2145 */ '#', 'A', 'T', 'O', 'M', 'U', 'M', 'A', 'X', '6', '4', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2167 */ '#', 'A', 'T', 'O', 'M', 'A', 'N', 'D', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2186 */ '#', 'A', 'T', 'O', 'M', 'N', 'A', 'N', 'D', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2206 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2226 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '1', '6', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2247 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2267 */ '#', 'A', 'T', 'O', 'M', 'M', 'I', 'N', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2286 */ '#', 'A', 'T', 'O', 'M', 'U', 'M', 'I', 'N', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2306 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2326 */ '#', 'C', 'M', 'O', 'V', '_', 'F', 'R', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2345 */ '#', 'A', 'T', 'O', 'M', 'O', 'R', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2363 */ '#', 'A', 'T', 'O', 'M', 'X', 'O', 'R', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2382 */ '#', 'A', 'T', 'O', 'M', 'M', 'A', 'X', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2401 */ '#', 'A', 'T', 'O', 'M', 'U', 'M', 'A', 'X', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2421 */ '#', 'A', 'T', 'O', 'M', 'A', 'N', 'D', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2440 */ '#', 'A', 'T', 'O', 'M', 'N', 'A', 'N', 'D', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2460 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '2', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2480 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2500 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2520 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '2', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2540 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2560 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2580 */ '#', 'A', 'T', 'O', 'M', 'M', 'I', 'N', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2599 */ '#', 'A', 'T', 'O', 'M', 'U', 'M', 'I', 'N', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2619 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2639 */ '#', 'C', 'M', 'O', 'V', '_', 'F', 'R', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2658 */ '#', 'A', 'T', 'O', 'M', 'O', 'R', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2676 */ '#', 'A', 'T', 'O', 'M', 'X', 'O', 'R', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2695 */ '#', 'A', 'T', 'O', 'M', 'M', 'A', 'X', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2714 */ '#', 'A', 'T', 'O', 'M', 'U', 'M', 'A', 'X', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2734 */ '#', 'A', 'T', 'O', 'M', 'A', 'N', 'D', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2753 */ '#', 'A', 'T', 'O', 'M', 'N', 'A', 'N', 'D', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2773 */ '#', 'A', 'T', 'O', 'M', 'M', 'I', 'N', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2792 */ '#', 'A', 'T', 'O', 'M', 'U', 'M', 'I', 'N', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2812 */ '#', 'A', 'T', 'O', 'M', 'O', 'R', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2830 */ '#', 'A', 'T', 'O', 'M', 'X', 'O', 'R', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2849 */ '#', 'A', 'T', 'O', 'M', 'M', 'A', 'X', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2868 */ '#', 'A', 'T', 'O', 'M', 'U', 'M', 'A', 'X', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2888 */ '#', 'A', 'T', 'O', 'M', 'A', 'N', 'D', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2906 */ '#', 'A', 'T', 'O', 'M', 'N', 'A', 'N', 'D', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2925 */ '#', 'A', 'T', 'O', 'M', 'M', 'I', 'N', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2943 */ '#', 'A', 'T', 'O', 'M', 'U', 'M', 'I', 'N', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2962 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2980 */ '#', 'A', 'T', 'O', 'M', 'O', 'R', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 2997 */ '#', 'A', 'T', 'O', 'M', 'X', 'O', 'R', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 3015 */ '#', 'A', 'T', 'O', 'M', 'M', 'A', 'X', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 3033 */ '#', 'A', 'T', 'O', 'M', 'U', 'M', 'A', 'X', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 3052 */ '#', 'A', 'C', 'Q', 'U', 'I', 'R', 'E', '_', 'M', 'O', 'V', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 3073 */ '#', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '_', 'M', 'O', 'V', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0, |
| /* 3094 */ 'x', 's', 'h', 'a', '1', 0, |
| /* 3100 */ 'i', 'n', 't', '1', 0, |
| /* 3105 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '3', '2', 0, |
| /* 3124 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '3', '2', 0, |
| /* 3142 */ '#', 32, 'T', 'L', 'S', 'C', 'a', 'l', 'l', '_', '3', '2', 0, |
| /* 3155 */ '#', 32, 'T', 'L', 'S', '_', 'a', 'd', 'd', 'r', '3', '2', 0, |
| /* 3168 */ '#', 32, 'T', 'L', 'S', '_', 'b', 'a', 's', 'e', '_', 'a', 'd', 'd', 'r', '3', '2', 0, |
| /* 3186 */ 'u', 'd', '2', 0, |
| /* 3190 */ 'i', 'n', 't', '3', 0, |
| /* 3195 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '6', '4', 0, |
| /* 3214 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '6', '4', 0, |
| /* 3232 */ '#', 32, 'T', 'L', 'S', 'C', 'a', 'l', 'l', '_', '6', '4', 0, |
| /* 3245 */ '#', 32, 'T', 'L', 'S', '_', 'a', 'd', 'd', 'r', '6', '4', 0, |
| /* 3258 */ '#', 32, 'T', 'L', 'S', '_', 'b', 'a', 's', 'e', '_', 'a', 'd', 'd', 'r', '6', '4', 0, |
| /* 3276 */ 'r', 'e', 'x', '6', '4', 0, |
| /* 3282 */ 'd', 'a', 't', 'a', '1', '6', 0, |
| /* 3289 */ 'x', 's', 'h', 'a', '2', '5', '6', 0, |
| /* 3297 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0, |
| /* 3310 */ 'B', 'U', 'N', 'D', 'L', 'E', 0, |
| /* 3317 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0, |
| /* 3327 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 0, |
| /* 3345 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 0, |
| /* 3361 */ '#', 'M', 'E', 'M', 'B', 'A', 'R', 'R', 'I', 'E', 'R', 0, |
| /* 3373 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0, |
| /* 3388 */ 'a', 'a', 'a', 0, |
| /* 3392 */ 'd', 'a', 'a', 0, |
| /* 3396 */ 'u', 'd', '2', 'b', 0, |
| /* 3401 */ 'x', 'c', 'r', 'y', 'p', 't', 'e', 'c', 'b', 0, |
| /* 3411 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'f', 'b', 0, |
| /* 3421 */ 'x', 'c', 'r', 'y', 'p', 't', 'o', 'f', 'b', 0, |
| /* 3431 */ 'r', 'e', 'p', 32, 's', 't', 'o', 's', 'b', 0, |
| /* 3441 */ 'r', 'e', 'p', 32, 'm', 'o', 'v', 's', 'b', 0, |
| /* 3451 */ 'x', 'l', 'a', 't', 'b', 0, |
| /* 3457 */ 'c', 'l', 'a', 'c', 0, |
| /* 3462 */ 's', 't', 'a', 'c', 0, |
| /* 3467 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'b', 'c', 0, |
| /* 3477 */ 'g', 'e', 't', 's', 'e', 'c', 0, |
| /* 3484 */ 's', 'a', 'l', 'c', 0, |
| /* 3489 */ 'c', 'l', 'c', 0, |
| /* 3493 */ 'c', 'm', 'c', 0, |
| /* 3497 */ 'r', 'd', 'p', 'm', 'c', 0, |
| /* 3503 */ 'v', 'm', 'f', 'u', 'n', 'c', 0, |
| /* 3510 */ 'r', 'd', 't', 's', 'c', 0, |
| /* 3516 */ 's', 't', 'c', 0, |
| /* 3520 */ 'p', 'u', 's', 'h', 'f', 'd', 0, |
| /* 3527 */ 'p', 'o', 'p', 'f', 'd', 0, |
| /* 3533 */ 'c', 'p', 'u', 'i', 'd', 0, |
| /* 3539 */ 'c', 'l', 'd', 0, |
| /* 3543 */ 'r', 'e', 'p', 32, 's', 't', 'o', 's', 'd', 0, |
| /* 3553 */ 'r', 'e', 'p', 32, 'm', 'o', 'v', 's', 'd', 0, |
| /* 3563 */ 'i', 'r', 'e', 't', 'd', 0, |
| /* 3569 */ 's', 't', 'd', 0, |
| /* 3573 */ 'w', 'b', 'i', 'n', 'v', 'd', 0, |
| /* 3580 */ 'c', 'w', 'd', 0, |
| /* 3584 */ 'c', 'w', 'd', 'e', 0, |
| /* 3589 */ 'v', 'm', 'r', 'e', 's', 'u', 'm', 'e', 0, |
| /* 3598 */ 'r', 'e', 'p', 'n', 'e', 0, |
| /* 3604 */ 'c', 'd', 'q', 'e', 0, |
| /* 3609 */ 'x', 's', 't', 'o', 'r', 'e', 0, |
| /* 3616 */ 'l', 'e', 'a', 'v', 'e', 0, |
| /* 3622 */ 'v', 'm', 'x', 'o', 'f', 'f', 0, |
| /* 3629 */ 'l', 'a', 'h', 'f', 0, |
| /* 3634 */ 's', 'a', 'h', 'f', 0, |
| /* 3639 */ 'p', 'u', 's', 'h', 'f', 0, |
| /* 3645 */ 'p', 'o', 'p', 'f', 0, |
| /* 3650 */ 'r', 'e', 't', 'f', 0, |
| /* 3655 */ 'v', 'm', 'l', 'a', 'u', 'n', 'c', 'h', 0, |
| /* 3664 */ 'c', 'l', 'g', 'i', 0, |
| /* 3669 */ 's', 't', 'g', 'i', 0, |
| /* 3674 */ 'c', 'l', 'i', 0, |
| /* 3678 */ 's', 't', 'i', 0, |
| /* 3682 */ '#', 32, 'w', 'i', 'n', '3', '2', 32, 'f', 'p', 't', 'o', 'u', 'i', 0, |
| /* 3697 */ 'l', 'o', 'c', 'k', 0, |
| /* 3702 */ 'o', 'u', 't', 9, 'd', 'x', ',', 32, 'a', 'l', 0, |
| /* 3713 */ 'p', 'u', 's', 'h', 'a', 'l', 0, |
| /* 3720 */ 'p', 'o', 'p', 'a', 'l', 0, |
| /* 3726 */ 'v', 'm', 'm', 'c', 'a', 'l', 'l', 0, |
| /* 3734 */ 'v', 'm', 'c', 'a', 'l', 'l', 0, |
| /* 3741 */ 's', 'y', 's', 'c', 'a', 'l', 'l', 0, |
| /* 3749 */ 'm', 'o', 'n', 't', 'm', 'u', 'l', 0, |
| /* 3757 */ 'f', 's', 'e', 't', 'p', 'm', 0, |
| /* 3764 */ 'r', 's', 'm', 0, |
| /* 3768 */ '#', 32, 'd', 'y', 'n', 'a', 'm', 'i', 'c', 32, 's', 't', 'a', 'c', 'k', 32, 'a', 'l', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 0, |
| /* 3795 */ 'c', 'q', 'o', 0, |
| /* 3799 */ 'i', 'n', 't', 'o', 0, |
| /* 3804 */ 'r', 'd', 't', 's', 'c', 'p', 0, |
| /* 3811 */ 'r', 'e', 'p', 0, |
| /* 3815 */ 'n', 'o', 'p', 0, |
| /* 3819 */ 'c', 'd', 'q', 0, |
| /* 3823 */ 'p', 'u', 's', 'h', 'f', 'q', 0, |
| /* 3830 */ 'p', 'o', 'p', 'f', 'q', 0, |
| /* 3836 */ 'r', 'e', 't', 'f', 'q', 0, |
| /* 3842 */ 'r', 'e', 'p', 32, 's', 't', 'o', 's', 'q', 0, |
| /* 3852 */ 'r', 'e', 'p', 32, 'm', 'o', 'v', 's', 'q', 0, |
| /* 3862 */ 'i', 'r', 'e', 't', 'q', 0, |
| /* 3868 */ 's', 'y', 's', 'e', 'n', 't', 'e', 'r', 0, |
| /* 3877 */ 'r', 'd', 'm', 's', 'r', 0, |
| /* 3883 */ 'w', 'r', 'm', 's', 'r', 0, |
| /* 3889 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 't', 'r', 0, |
| /* 3899 */ 'a', 'a', 's', 0, |
| /* 3903 */ 'd', 'a', 's', 0, |
| /* 3907 */ 'p', 'u', 's', 'h', 9, 'c', 's', 0, |
| /* 3915 */ 'p', 'u', 's', 'h', 9, 'd', 's', 0, |
| /* 3923 */ 'p', 'o', 'p', 9, 'd', 's', 0, |
| /* 3930 */ 'p', 'u', 's', 'h', 9, 'e', 's', 0, |
| /* 3938 */ 'p', 'o', 'p', 9, 'e', 's', 0, |
| /* 3945 */ 'p', 'u', 's', 'h', 9, 'f', 's', 0, |
| /* 3953 */ 'p', 'o', 'p', 9, 'f', 's', 0, |
| /* 3960 */ 'p', 'u', 's', 'h', 9, 'g', 's', 0, |
| /* 3968 */ 'p', 'o', 'p', 9, 'g', 's', 0, |
| /* 3975 */ 's', 'w', 'a', 'p', 'g', 's', 0, |
| /* 3982 */ '#', 32, 'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 32, 's', 'i', 'z', 'e', 'd', 32, 'a', 'l', 'l', 'o', 'c', 'a', 32, 'f', 'o', 'r', 32, 's', 'e', 'g', 'm', 'e', 'n', 't', 'e', 'd', 32, 's', 't', 'a', 'c', 'k', 's', 0, |
| /* 4027 */ 'p', 'u', 's', 'h', 9, 's', 's', 0, |
| /* 4035 */ 'p', 'o', 'p', 9, 's', 's', 0, |
| /* 4042 */ 'c', 'l', 't', 's', 0, |
| /* 4047 */ 'i', 'r', 'e', 't', 0, |
| /* 4052 */ 's', 'y', 's', 'r', 'e', 't', 0, |
| /* 4059 */ 's', 'y', 's', 'e', 'x', 'i', 't', 0, |
| /* 4067 */ 'h', 'l', 't', 0, |
| /* 4071 */ 'x', 'g', 'e', 't', 'b', 'v', 0, |
| /* 4078 */ 'x', 's', 'e', 't', 'b', 'v', 0, |
| /* 4085 */ 'p', 'u', 's', 'h', 'a', 'w', 0, |
| /* 4092 */ 'p', 'o', 'p', 'a', 'w', 0, |
| /* 4098 */ 'c', 'b', 'w', 0, |
| /* 4102 */ 'r', 'e', 'p', 32, 's', 't', 'o', 's', 'w', 0, |
| /* 4112 */ 'r', 'e', 'p', 32, 'm', 'o', 'v', 's', 'w', 0, |
| /* 4122 */ 'o', 'u', 't', 9, 'd', 'x', ',', 32, 'a', 'x', 0, |
| /* 4133 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, 'e', 'a', 'x', 0, |
| /* 4144 */ 'v', 'm', 's', 'a', 'v', 'e', 9, 'e', 'a', 'x', 0, |
| /* 4155 */ 'v', 'm', 'r', 'u', 'n', 9, 'e', 'a', 'x', 0, |
| /* 4165 */ 's', 'k', 'i', 'n', 'i', 't', 9, 'e', 'a', 'x', 0, |
| /* 4176 */ 'o', 'u', 't', 9, 'd', 'x', ',', 32, 'e', 'a', 'x', 0, |
| /* 4188 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, 'r', 'a', 'x', 0, |
| /* 4199 */ 'v', 'm', 's', 'a', 'v', 'e', 9, 'r', 'a', 'x', 0, |
| /* 4210 */ 'v', 'm', 'r', 'u', 'n', 9, 'r', 'a', 'x', 0, |
| /* 4220 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, 'e', 'a', 'x', ',', 32, 'e', 'c', 'x', 0, |
| /* 4237 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, 'r', 'a', 'x', ',', 32, 'e', 'c', 'x', 0, |
| /* 4254 */ 'i', 'n', 9, 'a', 'l', ',', 32, 'd', 'x', 0, |
| /* 4264 */ 'i', 'n', 9, 'a', 'x', ',', 32, 'd', 'x', 0, |
| /* 4274 */ 'i', 'n', 9, 'e', 'a', 'x', ',', 32, 'd', 'x', 0, |
| }; |
| #endif |
| |
| // Emit the opcode for the instruction. |
| uint32_t Bits = OpInfo[MCInst_getOpcode(MI)]; |
| // assert(Bits != 0 && "Cannot print this instruction."); |
| #ifndef CAPSTONE_DIET |
| SStream_concat0(O, AsmStrs+(Bits & 8191)-1); |
| #endif |
| |
| |
| // Fragment 0 encoded into 5 bits for 31 unique commands. |
| //printf("Frag-0: %"PRIu64"\n", (Bits >> 13) & 31); |
| switch ((Bits >> 13) & 31) { |
| default: // unreachable. |
| case 0: |
| // DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, AAA, AAS, ACQUIRE_MOV... |
| return; |
| break; |
| case 1: |
| // AAD8i8, AAM8i8, ADC16i16, ADC16rr_REV, ADC32i32, ADC32rr_REV, ADC64i32... |
| printOperand(MI, 0, O); |
| break; |
| case 2: |
| // ADC16mi, ADC16mi8, ADC16mr, ADD16mi, ADD16mi8, ADD16mr, AND16mi, AND16... |
| printi16mem(MI, 0, O); |
| break; |
| case 3: |
| // ADC16ri, ADC16ri8, ADC16rm, ADC16rr, ADC32ri, ADC32ri8, ADC32rm, ADC32... |
| printOperand(MI, 1, O); |
| SStream_concat0(O, ", "); |
| break; |
| case 4: |
| // ADC32mi, ADC32mi8, ADC32mr, ADD32mi, ADD32mi8, ADD32mr, AND32mi, AND32... |
| printi32mem(MI, 0, O); |
| break; |
| case 5: |
| // ADC64mi32, ADC64mi8, ADC64mr, ADD64mi32, ADD64mi8, ADD64mr, AND64mi32,... |
| printi64mem(MI, 0, O); |
| break; |
| case 6: |
| // ADC8mi, ADC8mr, ADD8mi, ADD8mr, AND8mi, AND8mr, CMP8mi, CMP8mr, CMPXCH... |
| printi8mem(MI, 0, O); |
| break; |
| case 7: |
| // CALL64pcrel32, CALLpcrel16, CALLpcrel32, EH_SjLj_Setup, JAE_1, JAE_2, ... |
| printPCRelImm(MI, 0, O); |
| break; |
| case 8: |
| // CMPS16 |
| printSrcIdx16(MI, 1, O); |
| SStream_concat0(O, ", "); |
| printDstIdx16(MI, 0, O); |
| return; |
| break; |
| case 9: |
| // CMPS32 |
| printSrcIdx32(MI, 1, O); |
| SStream_concat0(O, ", "); |
| printDstIdx32(MI, 0, O); |
| return; |
| break; |
| case 10: |
| // CMPS64 |
| printSrcIdx64(MI, 1, O); |
| SStream_concat0(O, ", "); |
| printDstIdx64(MI, 0, O); |
| return; |
| break; |
| case 11: |
| // CMPS8 |
| printSrcIdx8(MI, 1, O); |
| SStream_concat0(O, ", "); |
| printDstIdx8(MI, 0, O); |
| return; |
| break; |
| case 12: |
| // CMPXCHG16B, LCMPXCHG16B |
| printi128mem(MI, 0, O); |
| return; |
| break; |
| case 13: |
| // FARCALL16m, FARCALL32m, FARCALL64, FARJMP16m, FARJMP32m, FARJMP64, LGD... |
| printopaquemem(MI, 0, O); |
| return; |
| break; |
| case 14: |
| // IN16, MOVSW, SCAS16, STOSW |
| printDstIdx16(MI, 0, O); |
| break; |
| case 15: |
| // IN32, MOVSL, SCAS32, STOSL |
| printDstIdx32(MI, 0, O); |
| break; |
| case 16: |
| // IN8, MOVSB, SCAS8, STOSB |
| printDstIdx8(MI, 0, O); |
| break; |
| case 17: |
| // LODSB, OUTSB |
| printSrcIdx8(MI, 0, O); |
| return; |
| break; |
| case 18: |
| // LODSL, OUTSL |
| printSrcIdx32(MI, 0, O); |
| return; |
| break; |
| case 19: |
| // LODSQ |
| printSrcIdx64(MI, 0, O); |
| return; |
| break; |
| case 20: |
| // LODSW, OUTSW |
| printSrcIdx16(MI, 0, O); |
| return; |
| break; |
| case 21: |
| // LXADD16, XCHG16rm |
| printi16mem(MI, 2, O); |
| SStream_concat0(O, ", "); |
| printOperand(MI, 1, O); |
| return; |
| break; |
| case 22: |
| // LXADD32, XCHG32rm |
| printi32mem(MI, 2, O); |
| SStream_concat0(O, ", "); |
| printOperand(MI, 1, O); |
| return; |
| break; |
| case 23: |
| // LXADD64, XCHG64rm |
| printi64mem(MI, 2, O); |
| SStream_concat0(O, ", "); |
| printOperand(MI, 1, O); |
| return; |
| break; |
| case 24: |
| // LXADD8, XCHG8rm |
| printi8mem(MI, 2, O); |
| SStream_concat0(O, ", "); |
| printOperand(MI, 1, O); |
| return; |
| break; |
| case 25: |
| // MOV16ao16, MOV16ao16_16, MOV16o16a, MOV16o16a_16, MOV64ao16, MOV64o16a |
| printMemOffs16(MI, 0, O); |
| break; |
| case 26: |
| // MOV32ao32, MOV32ao32_16, MOV32o32a, MOV32o32a_16, MOV64ao32, MOV64o32a |
| printMemOffs32(MI, 0, O); |
| break; |
| case 27: |
| // MOV64ao64, MOV64o64a |
| printMemOffs64(MI, 0, O); |
| break; |
| case 28: |
| // MOV64ao8, MOV64o8a, MOV8ao8, MOV8ao8_16, MOV8o8a, MOV8o8a_16 |
| printMemOffs8(MI, 0, O); |
| break; |
| case 29: |
| // MOVSQ, SCAS64, STOSQ |
| printDstIdx64(MI, 0, O); |
| break; |
| case 30: |
| // XCHG16rr, XCHG32rr, XCHG64rr, XCHG8rr |
| printOperand(MI, 2, O); |
| SStream_concat0(O, ", "); |
| printOperand(MI, 1, O); |
| return; |
| break; |
| } |
| |
| |
| // Fragment 1 encoded into 4 bits for 15 unique commands. |
| //printf("Frag-1: %"PRIu64"\n", (Bits >> 18) & 15); |
| switch ((Bits >> 18) & 15) { |
| default: // unreachable. |
| case 0: |
| // AAD8i8, AAM8i8, ADC16i16, ADC32i32, ADC64i32, ADC8i8, ADD16i16, ADD32i... |
| return; |
| break; |
| case 1: |
| // ADC16mi, ADC16mi8, ADC16mr, ADC16rr_REV, ADC32mi, ADC32mi8, ADC32mr, A... |
| SStream_concat0(O, ", "); |
| break; |
| case 2: |
| // ADC16ri, ADC16ri8, ADC16rr, ADC32ri, ADC32ri8, ADC32rr, ADC64ri32, ADC... |
| printOperand(MI, 2, O); |
| return; |
| break; |
| case 3: |
| // ADC16rm, ADD16rm, AND16rm, OR16rm, SBB16rm, SUB16rm, XOR16rm |
| printi16mem(MI, 2, O); |
| return; |
| break; |
| case 4: |
| // ADC32rm, ADD32rm, AND32rm, OR32rm, SBB32rm, SUB32rm, XOR32rm |
| printi32mem(MI, 2, O); |
| return; |
| break; |
| case 5: |
| // ADC64rm, ADD64rm, AND64rm, OR64rm, SBB64rm, SUB64rm, XOR64rm |
| printi64mem(MI, 2, O); |
| return; |
| break; |
| case 6: |
| // ADC8rm, ADD8rm, AND8rm, OR8rm, SBB8rm, SUB8rm, XOR8rm |
| printi8mem(MI, 2, O); |
| return; |
| break; |
| case 7: |
| // IN16, IN32, IN8 |
| SStream_concat0(O, ", dx"); |
| op_addReg(MI, X86_REG_DX); |
| return; |
| break; |
| case 8: |
| // MOV16ao16, MOV16ao16_16, MOV64ao16, OUT16ir, STOSW |
| SStream_concat0(O, ", ax"); |
| op_addReg(MI, X86_REG_AX); |
| return; |
| break; |
| case 9: |
| // MOV32ao32, MOV32ao32_16, MOV64ao32, OUT32ir, STOSL |
| SStream_concat0(O, ", eax"); |
| op_addReg(MI, X86_REG_EAX); |
| return; |
| break; |
| case 10: |
| // MOV64ao64, STOSQ |
| SStream_concat0(O, ", rax"); |
| op_addReg(MI, X86_REG_RAX); |
| return; |
| break; |
| case 11: |
| // MOV64ao8, MOV8ao8, MOV8ao8_16, OUT8ir, STOSB |
| SStream_concat0(O, ", al"); |
| op_addReg(MI, X86_REG_AL); |
| return; |
| break; |
| case 12: |
| // RCL16mCL, RCL16rCL, RCL32mCL, RCL32rCL, RCL64mCL, RCL64rCL, RCL8mCL, R... |
| SStream_concat0(O, ", cl"); |
| op_addReg(MI, X86_REG_CL); |
| return; |
| break; |
| case 13: |
| // ROL16m1, ROL16r1, ROL32m1, ROL32r1, ROL64m1, ROL64r1, ROL8m1, ROL8r1, ... |
| SStream_concat0(O, ", 1"); |
| op_addImm(MI, 1); |
| return; |
| break; |
| case 14: |
| // TAILJMPd, TAILJMPd64, TAILJMPm, TAILJMPm64, TAILJMPr64 |
| SStream_concat0(O, " # TAILCALL"); |
| return; |
| break; |
| } |
| |
| |
| // Fragment 2 encoded into 4 bits for 16 unique commands. |
| //printf("Frag-2: %"PRIu64"\n", (Bits >> 22) & 15); |
| switch ((Bits >> 22) & 15) { |
| default: // unreachable. |
| case 0: |
| // ADC16mi, ADC16mi8, ADC16mr, ADC32mi, ADC32mi8, ADC32mr, ADC64mi32, ADC... |
| printOperand(MI, 5, O); |
| break; |
| case 1: |
| // ADC16rr_REV, ADC32rr_REV, ADC64rr_REV, ADC8rr_REV, ADD16rr_REV, ADD32r... |
| printOperand(MI, 2, O); |
| break; |
| case 2: |
| // ADCX32rm, ADOX32rm, BEXTR32rm, BEXTRI32mi, BLCFILL32rm, BLCI32rm, BLCI... |
| printi32mem(MI, 1, O); |
| break; |
| case 3: |
| // ADCX32rr, ADCX64rr, ADOX32rr, ADOX64rr, ANDN32rm, ANDN32rr, ANDN64rm, ... |
| printOperand(MI, 1, O); |
| break; |
| case 4: |
| // ADCX64rm, ADOX64rm, BEXTR64rm, BEXTRI64mi, BLCFILL64rm, BLCI64rm, BLCI... |
| printi64mem(MI, 1, O); |
| break; |
| case 5: |
| // BOUNDS16rm, BSF16rm, BSR16rm, CMP16rm, IMUL16rmi, IMUL16rmi8, LAR16rm,... |
| printi16mem(MI, 1, O); |
| break; |
| case 6: |
| // CMOVA16rm, CMOVAE16rm, CMOVB16rm, CMOVBE16rm, CMOVE16rm, CMOVG16rm, CM... |
| printi16mem(MI, 2, O); |
| return; |
| break; |
| case 7: |
| // CMOVA32rm, CMOVAE32rm, CMOVB32rm, CMOVBE32rm, CMOVE32rm, CMOVG32rm, CM... |
| printi32mem(MI, 2, O); |
| return; |
| break; |
| case 8: |
| // CMOVA64rm, CMOVAE64rm, CMOVB64rm, CMOVBE64rm, CMOVE64rm, CMOVG64rm, CM... |
| printi64mem(MI, 2, O); |
| return; |
| break; |
| case 9: |
| // CMP8rm, MOV8rm, MOV8rm_NOREX, MOVSX16rm8, MOVSX32rm8, MOVSX64rm8, MOVZ... |
| printi8mem(MI, 1, O); |
| break; |
| case 10: |
| // INVEPT32, INVEPT64, INVPCID32, INVPCID64, INVVPID32, INVVPID64 |
| printi128mem(MI, 1, O); |
| return; |
| break; |
| case 11: |
| // LDS16rm, LDS32rm, LES16rm, LES32rm, LFS16rm, LFS32rm, LFS64rm, LGS16rm... |
| printopaquemem(MI, 1, O); |
| return; |
| break; |
| case 12: |
| // MOVSB |
| printSrcIdx8(MI, 1, O); |
| return; |
| break; |
| case 13: |
| // MOVSL |
| printSrcIdx32(MI, 1, O); |
| return; |
| break; |
| case 14: |
| // MOVSQ |
| printSrcIdx64(MI, 1, O); |
| return; |
| break; |
| case 15: |
| // MOVSW |
| printSrcIdx16(MI, 1, O); |
| return; |
| break; |
| } |
| |
| |
| // Fragment 3 encoded into 2 bits for 4 unique commands. |
| //printf("Frag-3: %"PRIu64"\n", (Bits >> 26) & 3); |
| switch ((Bits >> 26) & 3) { |
| default: // unreachable. |
| case 0: |
| // ADC16mi, ADC16mi8, ADC16mr, ADC16rr_REV, ADC32mi, ADC32mi8, ADC32mr, A... |
| return; |
| break; |
| case 1: |
| // ANDN32rm, ANDN32rr, ANDN64rm, ANDN64rr, BEXTR32rm, BEXTR32rr, BEXTR64r... |
| SStream_concat0(O, ", "); |
| break; |
| case 2: |
| // MOV8mr_NOREX, MOV8rm_NOREX, MOV8rr_NOREX |
| SStream_concat0(O, " # NOREX"); |
| return; |
| break; |
| case 3: |
| // SHLD16mrCL, SHLD16rrCL, SHLD32mrCL, SHLD32rrCL, SHLD64mrCL, SHLD64rrCL... |
| SStream_concat0(O, ", cl"); |
| op_addReg(MI, X86_REG_CL); |
| return; |
| break; |
| } |
| |
| |
| // Fragment 4 encoded into 3 bits for 5 unique commands. |
| //printf("Frag-4: %"PRIu64"\n", (Bits >> 28) & 7); |
| switch ((Bits >> 28) & 7) { |
| default: // unreachable. |
| case 0: |
| // ANDN32rm, MULX32rm, PDEP32rm, PEXT32rm |
| printi32mem(MI, 2, O); |
| return; |
| break; |
| case 1: |
| // ANDN32rr, ANDN64rr, BEXTR32rr, BEXTR64rr, BEXTRI32ri, BEXTRI64ri, BZHI... |
| printOperand(MI, 2, O); |
| return; |
| break; |
| case 2: |
| // ANDN64rm, MULX64rm, PDEP64rm, PEXT64rm |
| printi64mem(MI, 2, O); |
| return; |
| break; |
| case 3: |
| // BEXTR32rm, BEXTR64rm, BEXTRI32mi, BEXTRI64mi, BZHI32rm, BZHI64rm, IMUL... |
| printOperand(MI, 6, O); |
| break; |
| case 4: |
| // SHLD16rri8, SHLD32rri8, SHLD64rri8, SHRD16rri8, SHRD32rri8, SHRD64rri8 |
| printOperand(MI, 3, O); |
| return; |
| break; |
| } |
| |
| |
| // Fragment 5 encoded into 1 bits for 2 unique commands. |
| //printf("Frag-5: %"PRIu64"\n", (Bits >> 31) & 1); |
| if ((Bits >> 31) & 1) { |
| // VAARG_64 |
| SStream_concat0(O, ", "); |
| printOperand(MI, 7, O); |
| SStream_concat0(O, ", "); |
| printOperand(MI, 8, O); |
| return; |
| } else { |
| // BEXTR32rm, BEXTR64rm, BEXTRI32mi, BEXTRI64mi, BZHI32rm, BZHI64rm, IMUL... |
| return; |
| } |
| } |
| |
| |
| /// getRegisterName - This method is automatically generated by tblgen |
| /// from the register set description. This returns the assembler name |
| /// for the specified register. |
| static char *getRegisterName(unsigned RegNo) |
| { |
| // assert(RegNo && RegNo < 233 && "Invalid register number!"); |
| |
| #ifndef CAPSTONE_DIET |
| static char AsmStrs[] = { |
| /* 0 */ 's', 't', '(', '0', ')', 0, |
| /* 6 */ 's', 't', '(', '1', ')', 0, |
| /* 12 */ 's', 't', '(', '2', ')', 0, |
| /* 18 */ 's', 't', '(', '3', ')', 0, |
| /* 24 */ 's', 't', '(', '4', ')', 0, |
| /* 30 */ 's', 't', '(', '5', ')', 0, |
| /* 36 */ 's', 't', '(', '6', ')', 0, |
| /* 42 */ 's', 't', '(', '7', ')', 0, |
| /* 48 */ 'x', 'm', 'm', '1', '0', 0, |
| /* 54 */ 'y', 'm', 'm', '1', '0', 0, |
| /* 60 */ 'z', 'm', 'm', '1', '0', 0, |
| /* 66 */ 'c', 'r', '1', '0', 0, |
| /* 71 */ 'x', 'm', 'm', '2', '0', 0, |
| /* 77 */ 'y', 'm', 'm', '2', '0', 0, |
| /* 83 */ 'z', 'm', 'm', '2', '0', 0, |
| /* 89 */ 'x', 'm', 'm', '3', '0', 0, |
| /* 95 */ 'y', 'm', 'm', '3', '0', 0, |
| /* 101 */ 'z', 'm', 'm', '3', '0', 0, |
| /* 107 */ 'k', '0', 0, |
| /* 110 */ 'x', 'm', 'm', '0', 0, |
| /* 115 */ 'y', 'm', 'm', '0', 0, |
| /* 120 */ 'z', 'm', 'm', '0', 0, |
| /* 125 */ 'f', 'p', '0', 0, |
| /* 129 */ 'c', 'r', '0', 0, |
| /* 133 */ 'd', 'r', '0', 0, |
| /* 137 */ 'x', 'm', 'm', '1', '1', 0, |
| /* 143 */ 'y', 'm', 'm', '1', '1', 0, |
| /* 149 */ 'z', 'm', 'm', '1', '1', 0, |
| /* 155 */ 'c', 'r', '1', '1', 0, |
| /* 160 */ 'x', 'm', 'm', '2', '1', 0, |
| /* 166 */ 'y', 'm', 'm', '2', '1', 0, |
| /* 172 */ 'z', 'm', 'm', '2', '1', 0, |
| /* 178 */ 'x', 'm', 'm', '3', '1', 0, |
| /* 184 */ 'y', 'm', 'm', '3', '1', 0, |
| /* 190 */ 'z', 'm', 'm', '3', '1', 0, |
| /* 196 */ 'k', '1', 0, |
| /* 199 */ 'x', 'm', 'm', '1', 0, |
| /* 204 */ 'y', 'm', 'm', '1', 0, |
| /* 209 */ 'z', 'm', 'm', '1', 0, |
| /* 214 */ 'f', 'p', '1', 0, |
| /* 218 */ 'c', 'r', '1', 0, |
| /* 222 */ 'd', 'r', '1', 0, |
| /* 226 */ 'x', 'm', 'm', '1', '2', 0, |
| /* 232 */ 'y', 'm', 'm', '1', '2', 0, |
| /* 238 */ 'z', 'm', 'm', '1', '2', 0, |
| /* 244 */ 'c', 'r', '1', '2', 0, |
| /* 249 */ 'x', 'm', 'm', '2', '2', 0, |
| /* 255 */ 'y', 'm', 'm', '2', '2', 0, |
| /* 261 */ 'z', 'm', 'm', '2', '2', 0, |
| /* 267 */ 'k', '2', 0, |
| /* 270 */ 'x', 'm', 'm', '2', 0, |
| /* 275 */ 'y', 'm', 'm', '2', 0, |
| /* 280 */ 'z', 'm', 'm', '2', 0, |
| /* 285 */ 'f', 'p', '2', 0, |
| /* 289 */ 'c', 'r', '2', 0, |
| /* 293 */ 'd', 'r', '2', 0, |
| /* 297 */ 'x', 'm', 'm', '1', '3', 0, |
| /* 303 */ 'y', 'm', 'm', '1', '3', 0, |
| /* 309 */ 'z', 'm', 'm', '1', '3', 0, |
| /* 315 */ 'c', 'r', '1', '3', 0, |
| /* 320 */ 'x', 'm', 'm', '2', '3', 0, |
| /* 326 */ 'y', 'm', 'm', '2', '3', 0, |
| /* 332 */ 'z', 'm', 'm', '2', '3', 0, |
| /* 338 */ 'k', '3', 0, |
| /* 341 */ 'x', 'm', 'm', '3', 0, |
| /* 346 */ 'y', 'm', 'm', '3', 0, |
| /* 351 */ 'z', 'm', 'm', '3', 0, |
| /* 356 */ 'f', 'p', '3', 0, |
| /* 360 */ 'c', 'r', '3', 0, |
| /* 364 */ 'd', 'r', '3', 0, |
| /* 368 */ 'x', 'm', 'm', '1', '4', 0, |
| /* 374 */ 'y', 'm', 'm', '1', '4', 0, |
| /* 380 */ 'z', 'm', 'm', '1', '4', 0, |
| /* 386 */ 'c', 'r', '1', '4', 0, |
| /* 391 */ 'x', 'm', 'm', '2', '4', 0, |
| /* 397 */ 'y', 'm', 'm', '2', '4', 0, |
| /* 403 */ 'z', 'm', 'm', '2', '4', 0, |
| /* 409 */ 'k', '4', 0, |
| /* 412 */ 'x', 'm', 'm', '4', 0, |
| /* 417 */ 'y', 'm', 'm', '4', 0, |
| /* 422 */ 'z', 'm', 'm', '4', 0, |
| /* 427 */ 'f', 'p', '4', 0, |
| /* 431 */ 'c', 'r', '4', 0, |
| /* 435 */ 'd', 'r', '4', 0, |
| /* 439 */ 'x', 'm', 'm', '1', '5', 0, |
| /* 445 */ 'y', 'm', 'm', '1', '5', 0, |
| /* 451 */ 'z', 'm', 'm', '1', '5', 0, |
| /* 457 */ 'c', 'r', '1', '5', 0, |
| /* 462 */ 'x', 'm', 'm', '2', '5', 0, |
| /* 468 */ 'y', 'm', 'm', '2', '5', 0, |
| /* 474 */ 'z', 'm', 'm', '2', '5', 0, |
| /* 480 */ 'k', '5', 0, |
| /* 483 */ 'x', 'm', 'm', '5', 0, |
| /* 488 */ 'y', 'm', 'm', '5', 0, |
| /* 493 */ 'z', 'm', 'm', '5', 0, |
| /* 498 */ 'f', 'p', '5', 0, |
| /* 502 */ 'c', 'r', '5', 0, |
| /* 506 */ 'd', 'r', '5', 0, |
| /* 510 */ 'x', 'm', 'm', '1', '6', 0, |
| /* 516 */ 'y', 'm', 'm', '1', '6', 0, |
| /* 522 */ 'z', 'm', 'm', '1', '6', 0, |
| /* 528 */ 'x', 'm', 'm', '2', '6', 0, |
| /* 534 */ 'y', 'm', 'm', '2', '6', 0, |
| /* 540 */ 'z', 'm', 'm', '2', '6', 0, |
| /* 546 */ 'k', '6', 0, |
| /* 549 */ 'x', 'm', 'm', '6', 0, |
| /* 554 */ 'y', 'm', 'm', '6', 0, |
| /* 559 */ 'z', 'm', 'm', '6', 0, |
| /* 564 */ 'f', 'p', '6', 0, |
| /* 568 */ 'c', 'r', '6', 0, |
| /* 572 */ 'd', 'r', '6', 0, |
| /* 576 */ 'x', 'm', 'm', '1', '7', 0, |
| /* 582 */ 'y', 'm', 'm', '1', '7', 0, |
| /* 588 */ 'z', 'm', 'm', '1', '7', 0, |
| /* 594 */ 'x', 'm', 'm', '2', '7', 0, |
| /* 600 */ 'y', 'm', 'm', '2', '7', 0, |
| /* 606 */ 'z', 'm', 'm', '2', '7', 0, |
| /* 612 */ 'k', '7', 0, |
| /* 615 */ 'x', 'm', 'm', '7', 0, |
| /* 620 */ 'y', 'm', 'm', '7', 0, |
| /* 625 */ 'z', 'm', 'm', '7', 0, |
| /* 630 */ 'c', 'r', '7', 0, |
| /* 634 */ 'd', 'r', '7', 0, |
| /* 638 */ 'x', 'm', 'm', '1', '8', 0, |
| /* 644 */ 'y', 'm', 'm', '1', '8', 0, |
| /* 650 */ 'z', 'm', 'm', '1', '8', 0, |
| /* 656 */ 'x', 'm', 'm', '2', '8', 0, |
| /* 662 */ 'y', 'm', 'm', '2', '8', 0, |
| /* 668 */ 'z', 'm', 'm', '2', '8', 0, |
| /* 674 */ 'x', 'm', 'm', '8', 0, |
| /* 679 */ 'y', 'm', 'm', '8', 0, |
| /* 684 */ 'z', 'm', 'm', '8', 0, |
| /* 689 */ 'c', 'r', '8', 0, |
| /* 693 */ 'x', 'm', 'm', '1', '9', 0, |
| /* 699 */ 'y', 'm', 'm', '1', '9', 0, |
| /* 705 */ 'z', 'm', 'm', '1', '9', 0, |
| /* 711 */ 'x', 'm', 'm', '2', '9', 0, |
| /* 717 */ 'y', 'm', 'm', '2', '9', 0, |
| /* 723 */ 'z', 'm', 'm', '2', '9', 0, |
| /* 729 */ 'x', 'm', 'm', '9', 0, |
| /* 734 */ 'y', 'm', 'm', '9', 0, |
| /* 739 */ 'z', 'm', 'm', '9', 0, |
| /* 744 */ 'c', 'r', '9', 0, |
| /* 748 */ 'r', '1', '0', 'b', 0, |
| /* 753 */ 'r', '1', '1', 'b', 0, |
| /* 758 */ 'r', '1', '2', 'b', 0, |
| /* 763 */ 'r', '1', '3', 'b', 0, |
| /* 768 */ 'r', '1', '4', 'b', 0, |
| /* 773 */ 'r', '1', '5', 'b', 0, |
| /* 778 */ 'r', '8', 'b', 0, |
| /* 782 */ 'r', '9', 'b', 0, |
| /* 786 */ 'r', '1', '0', 'd', 0, |
| /* 791 */ 'r', '1', '1', 'd', 0, |
| /* 796 */ 'r', '1', '2', 'd', 0, |
| /* 801 */ 'r', '1', '3', 'd', 0, |
| /* 806 */ 'r', '1', '4', 'd', 0, |
| /* 811 */ 'r', '1', '5', 'd', 0, |
| /* 816 */ 'r', '8', 'd', 0, |
| /* 820 */ 'r', '9', 'd', 0, |
| /* 824 */ 'a', 'h', 0, |
| /* 827 */ 'b', 'h', 0, |
| /* 830 */ 'c', 'h', 0, |
| /* 833 */ 'd', 'h', 0, |
| /* 836 */ 'e', 'd', 'i', 0, |
| /* 840 */ 'r', 'd', 'i', 0, |
| /* 844 */ 'e', 's', 'i', 0, |
| /* 848 */ 'r', 's', 'i', 0, |
| /* 852 */ 'a', 'l', 0, |
| /* 855 */ 'b', 'l', 0, |
| /* 858 */ 'c', 'l', 0, |
| /* 861 */ 'd', 'l', 0, |
| /* 864 */ 'd', 'i', 'l', 0, |
| /* 868 */ 's', 'i', 'l', 0, |
| /* 872 */ 'b', 'p', 'l', 0, |
| /* 876 */ 's', 'p', 'l', 0, |
| /* 880 */ 'e', 'b', 'p', 0, |
| /* 884 */ 'r', 'b', 'p', 0, |
| /* 888 */ 'e', 'i', 'p', 0, |
| /* 892 */ 'r', 'i', 'p', 0, |
| /* 896 */ 'e', 's', 'p', 0, |
| /* 900 */ 'r', 's', 'p', 0, |
| /* 904 */ 'c', 's', 0, |
| /* 907 */ 'd', 's', 0, |
| /* 910 */ 'e', 's', 0, |
| /* 913 */ 'f', 's', 0, |
| /* 916 */ 'f', 'l', 'a', 'g', 's', 0, |
| /* 922 */ 's', 's', 0, |
| /* 925 */ 'r', '1', '0', 'w', 0, |
| /* 930 */ 'r', '1', '1', 'w', 0, |
| /* 935 */ 'r', '1', '2', 'w', 0, |
| /* 940 */ 'r', '1', '3', 'w', 0, |
| /* 945 */ 'r', '1', '4', 'w', 0, |
| /* 950 */ 'r', '1', '5', 'w', 0, |
| /* 955 */ 'r', '8', 'w', 0, |
| /* 959 */ 'r', '9', 'w', 0, |
| /* 963 */ 'f', 'p', 's', 'w', 0, |
| /* 968 */ 'e', 'a', 'x', 0, |
| /* 972 */ 'r', 'a', 'x', 0, |
| /* 976 */ 'e', 'b', 'x', 0, |
| /* 980 */ 'r', 'b', 'x', 0, |
| /* 984 */ 'e', 'c', 'x', 0, |
| /* 988 */ 'r', 'c', 'x', 0, |
| /* 992 */ 'e', 'd', 'x', 0, |
| /* 996 */ 'r', 'd', 'x', 0, |
| /* 1000 */ 'e', 'i', 'z', 0, |
| /* 1004 */ 'r', 'i', 'z', 0, |
| }; |
| |
| static const uint32_t RegAsmOffset[] = { |
| 824, 852, 969, 827, 855, 881, 872, 977, 830, 858, 904, 985, 833, 837, |
| 864, 861, 907, 993, 968, 880, 976, 984, 836, 992, 916, 888, 1000, 910, |
| 844, 896, 963, 913, 919, 889, 972, 884, 980, 988, 840, 996, 892, 1004, |
| 848, 900, 845, 868, 897, 876, 922, 129, 218, 289, 360, 431, 502, 568, |
| 630, 689, 744, 66, 155, 244, 315, 386, 457, 133, 222, 293, 364, 435, |
| 506, 572, 634, 125, 214, 285, 356, 427, 498, 564, 107, 196, 267, 338, |
| 409, 480, 546, 612, 111, 200, 271, 342, 413, 484, 550, 616, 690, 745, |
| 67, 156, 245, 316, 387, 458, 0, 6, 12, 18, 24, 30, 36, 42, |
| 110, 199, 270, 341, 412, 483, 549, 615, 674, 729, 48, 137, 226, 297, |
| 368, 439, 510, 576, 638, 693, 71, 160, 249, 320, 391, 462, 528, 594, |
| 656, 711, 89, 178, 115, 204, 275, 346, 417, 488, 554, 620, 679, 734, |
| 54, 143, 232, 303, 374, 445, 516, 582, 644, 699, 77, 166, 255, 326, |
| 397, 468, 534, 600, 662, 717, 95, 184, 120, 209, 280, 351, 422, 493, |
| 559, 625, 684, 739, 60, 149, 238, 309, 380, 451, 522, 588, 650, 705, |
| 83, 172, 261, 332, 403, 474, 540, 606, 668, 723, 101, 190, 778, 782, |
| 748, 753, 758, 763, 768, 773, 816, 820, 786, 791, 796, 801, 806, 811, |
| 955, 959, 925, 930, 935, 940, 945, 950, |
| }; |
| |
| //int i; |
| //for (i = 0; i < sizeof(RegAsmOffset)/4; i++) |
| // printf("%s = %u\n", AsmStrs+RegAsmOffset[i], i + 1); |
| //printf("*************************\n"); |
| return AsmStrs+RegAsmOffset[RegNo-1]; |
| #else |
| return NULL; |
| #endif |
| } |
| |
| #ifdef PRINT_ALIAS_INSTR |
| #undef PRINT_ALIAS_INSTR |
| |
| static char *printAliasInstr(MCInst *MI, SStream *OS, void *info) |
| { |
| #define GETREGCLASS_CONTAIN(_class, _reg) MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, _class), MCOperand_getReg(MCInst_getOperand(MI, _reg))) |
| const char *AsmString; |
| char *tmp, *AsmMnem, *AsmOps, *c; |
| // MCRegisterInfo *MRI = (MCRegisterInfo *)info; |
| switch (MCInst_getOpcode(MI)) { |
| default: return 0; |
| case X86_AAD8i8: |
| if (MCInst_getNumOperands(MI) == 1 && |
| MCOperand_isImm(MCInst_getOperand(MI, 0)) && |
| MCOperand_getImm(MCInst_getOperand(MI, 0)) == 10) { |
| // (AAD8i8 10) |
| AsmString = "aad"; |
| break; |
| } |
| return 0; |
| case X86_AAM8i8: |
| if (MCInst_getNumOperands(MI) == 1 && |
| MCOperand_isImm(MCInst_getOperand(MI, 0)) && |
| MCOperand_getImm(MCInst_getOperand(MI, 0)) == 10) { |
| // (AAM8i8 10) |
| AsmString = "aam"; |
| break; |
| } |
| return 0; |
| case X86_XSTORE: |
| if (MCInst_getNumOperands(MI) == 0) { |
| // (XSTORE) |
| AsmString = "xstorerng"; |
| break; |
| } |
| return 0; |
| } |
| |
| tmp = cs_strdup(AsmString); |
| AsmMnem = tmp; |
| AsmOps = strchr(tmp, ' '); |
| if (AsmOps) { |
| *AsmOps = '\0'; |
| AsmOps += 1; |
| } |
| SStream_concat0(OS, AsmMnem); |
| if (AsmOps) { |
| SStream_concat0(OS, "\t"); |
| for (c = AsmOps; *c; c++) { |
| if (*c == '$') { |
| c += 1; |
| printOperand(MI, *c - 1, OS); |
| } else { |
| SStream_concat(OS, "%c", *c); |
| } |
| } |
| } |
| return tmp; |
| } |
| |
| #endif // PRINT_ALIAS_INSTR |