static const ZydisShortString STR_REGISTER[] = { ZYDIS_MAKE_SHORTSTRING("none"), // General purpose registers 8-bit ZYDIS_MAKE_SHORTSTRING("al"), ZYDIS_MAKE_SHORTSTRING("cl"), ZYDIS_MAKE_SHORTSTRING("dl"), ZYDIS_MAKE_SHORTSTRING("bl"), ZYDIS_MAKE_SHORTSTRING("ah"), ZYDIS_MAKE_SHORTSTRING("ch"), ZYDIS_MAKE_SHORTSTRING("dh"), ZYDIS_MAKE_SHORTSTRING("bh"), ZYDIS_MAKE_SHORTSTRING("spl"), ZYDIS_MAKE_SHORTSTRING("bpl"), ZYDIS_MAKE_SHORTSTRING("sil"), ZYDIS_MAKE_SHORTSTRING("dil"), ZYDIS_MAKE_SHORTSTRING("r8b"), ZYDIS_MAKE_SHORTSTRING("r9b"), ZYDIS_MAKE_SHORTSTRING("r10b"), ZYDIS_MAKE_SHORTSTRING("r11b"), ZYDIS_MAKE_SHORTSTRING("r12b"), ZYDIS_MAKE_SHORTSTRING("r13b"), ZYDIS_MAKE_SHORTSTRING("r14b"), ZYDIS_MAKE_SHORTSTRING("r15b"), // General purpose registers 16-bit ZYDIS_MAKE_SHORTSTRING("ax"), ZYDIS_MAKE_SHORTSTRING("cx"), ZYDIS_MAKE_SHORTSTRING("dx"), ZYDIS_MAKE_SHORTSTRING("bx"), ZYDIS_MAKE_SHORTSTRING("sp"), ZYDIS_MAKE_SHORTSTRING("bp"), ZYDIS_MAKE_SHORTSTRING("si"), ZYDIS_MAKE_SHORTSTRING("di"), ZYDIS_MAKE_SHORTSTRING("r8w"), ZYDIS_MAKE_SHORTSTRING("r9w"), ZYDIS_MAKE_SHORTSTRING("r10w"), ZYDIS_MAKE_SHORTSTRING("r11w"), ZYDIS_MAKE_SHORTSTRING("r12w"), ZYDIS_MAKE_SHORTSTRING("r13w"), ZYDIS_MAKE_SHORTSTRING("r14w"), ZYDIS_MAKE_SHORTSTRING("r15w"), // General purpose registers 32-bit ZYDIS_MAKE_SHORTSTRING("eax"), ZYDIS_MAKE_SHORTSTRING("ecx"), ZYDIS_MAKE_SHORTSTRING("edx"), ZYDIS_MAKE_SHORTSTRING("ebx"), ZYDIS_MAKE_SHORTSTRING("esp"), ZYDIS_MAKE_SHORTSTRING("ebp"), ZYDIS_MAKE_SHORTSTRING("esi"), ZYDIS_MAKE_SHORTSTRING("edi"), ZYDIS_MAKE_SHORTSTRING("r8d"), ZYDIS_MAKE_SHORTSTRING("r9d"), ZYDIS_MAKE_SHORTSTRING("r10d"), ZYDIS_MAKE_SHORTSTRING("r11d"), ZYDIS_MAKE_SHORTSTRING("r12d"), ZYDIS_MAKE_SHORTSTRING("r13d"), ZYDIS_MAKE_SHORTSTRING("r14d"), ZYDIS_MAKE_SHORTSTRING("r15d"), // General purpose registers 64-bit ZYDIS_MAKE_SHORTSTRING("rax"), ZYDIS_MAKE_SHORTSTRING("rcx"), ZYDIS_MAKE_SHORTSTRING("rdx"), ZYDIS_MAKE_SHORTSTRING("rbx"), ZYDIS_MAKE_SHORTSTRING("rsp"), ZYDIS_MAKE_SHORTSTRING("rbp"), ZYDIS_MAKE_SHORTSTRING("rsi"), ZYDIS_MAKE_SHORTSTRING("rdi"), ZYDIS_MAKE_SHORTSTRING("r8"), ZYDIS_MAKE_SHORTSTRING("r9"), ZYDIS_MAKE_SHORTSTRING("r10"), ZYDIS_MAKE_SHORTSTRING("r11"), ZYDIS_MAKE_SHORTSTRING("r12"), ZYDIS_MAKE_SHORTSTRING("r13"), ZYDIS_MAKE_SHORTSTRING("r14"), ZYDIS_MAKE_SHORTSTRING("r15"), // Floating point legacy registers ZYDIS_MAKE_SHORTSTRING("st0"), ZYDIS_MAKE_SHORTSTRING("st1"), ZYDIS_MAKE_SHORTSTRING("st2"), ZYDIS_MAKE_SHORTSTRING("st3"), ZYDIS_MAKE_SHORTSTRING("st4"), ZYDIS_MAKE_SHORTSTRING("st5"), ZYDIS_MAKE_SHORTSTRING("st6"), ZYDIS_MAKE_SHORTSTRING("st7"), ZYDIS_MAKE_SHORTSTRING("x87control"), ZYDIS_MAKE_SHORTSTRING("x87status"), ZYDIS_MAKE_SHORTSTRING("x87tag"), // Floating point multimedia registers ZYDIS_MAKE_SHORTSTRING("mm0"), ZYDIS_MAKE_SHORTSTRING("mm1"), ZYDIS_MAKE_SHORTSTRING("mm2"), ZYDIS_MAKE_SHORTSTRING("mm3"), ZYDIS_MAKE_SHORTSTRING("mm4"), ZYDIS_MAKE_SHORTSTRING("mm5"), ZYDIS_MAKE_SHORTSTRING("mm6"), ZYDIS_MAKE_SHORTSTRING("mm7"), // Floating point vector registers 128-bit ZYDIS_MAKE_SHORTSTRING("xmm0"), ZYDIS_MAKE_SHORTSTRING("xmm1"), ZYDIS_MAKE_SHORTSTRING("xmm2"), ZYDIS_MAKE_SHORTSTRING("xmm3"), ZYDIS_MAKE_SHORTSTRING("xmm4"), ZYDIS_MAKE_SHORTSTRING("xmm5"), ZYDIS_MAKE_SHORTSTRING("xmm6"), ZYDIS_MAKE_SHORTSTRING("xmm7"), ZYDIS_MAKE_SHORTSTRING("xmm8"), ZYDIS_MAKE_SHORTSTRING("xmm9"), ZYDIS_MAKE_SHORTSTRING("xmm10"), ZYDIS_MAKE_SHORTSTRING("xmm11"), ZYDIS_MAKE_SHORTSTRING("xmm12"), ZYDIS_MAKE_SHORTSTRING("xmm13"), ZYDIS_MAKE_SHORTSTRING("xmm14"), ZYDIS_MAKE_SHORTSTRING("xmm15"), ZYDIS_MAKE_SHORTSTRING("xmm16"), ZYDIS_MAKE_SHORTSTRING("xmm17"), ZYDIS_MAKE_SHORTSTRING("xmm18"), ZYDIS_MAKE_SHORTSTRING("xmm19"), ZYDIS_MAKE_SHORTSTRING("xmm20"), ZYDIS_MAKE_SHORTSTRING("xmm21"), ZYDIS_MAKE_SHORTSTRING("xmm22"), ZYDIS_MAKE_SHORTSTRING("xmm23"), ZYDIS_MAKE_SHORTSTRING("xmm24"), ZYDIS_MAKE_SHORTSTRING("xmm25"), ZYDIS_MAKE_SHORTSTRING("xmm26"), ZYDIS_MAKE_SHORTSTRING("xmm27"), ZYDIS_MAKE_SHORTSTRING("xmm28"), ZYDIS_MAKE_SHORTSTRING("xmm29"), ZYDIS_MAKE_SHORTSTRING("xmm30"), ZYDIS_MAKE_SHORTSTRING("xmm31"), // Floating point vector registers 256-bit ZYDIS_MAKE_SHORTSTRING("ymm0"), ZYDIS_MAKE_SHORTSTRING("ymm1"), ZYDIS_MAKE_SHORTSTRING("ymm2"), ZYDIS_MAKE_SHORTSTRING("ymm3"), ZYDIS_MAKE_SHORTSTRING("ymm4"), ZYDIS_MAKE_SHORTSTRING("ymm5"), ZYDIS_MAKE_SHORTSTRING("ymm6"), ZYDIS_MAKE_SHORTSTRING("ymm7"), ZYDIS_MAKE_SHORTSTRING("ymm8"), ZYDIS_MAKE_SHORTSTRING("ymm9"), ZYDIS_MAKE_SHORTSTRING("ymm10"), ZYDIS_MAKE_SHORTSTRING("ymm11"), ZYDIS_MAKE_SHORTSTRING("ymm12"), ZYDIS_MAKE_SHORTSTRING("ymm13"), ZYDIS_MAKE_SHORTSTRING("ymm14"), ZYDIS_MAKE_SHORTSTRING("ymm15"), ZYDIS_MAKE_SHORTSTRING("ymm16"), ZYDIS_MAKE_SHORTSTRING("ymm17"), ZYDIS_MAKE_SHORTSTRING("ymm18"), ZYDIS_MAKE_SHORTSTRING("ymm19"), ZYDIS_MAKE_SHORTSTRING("ymm20"), ZYDIS_MAKE_SHORTSTRING("ymm21"), ZYDIS_MAKE_SHORTSTRING("ymm22"), ZYDIS_MAKE_SHORTSTRING("ymm23"), ZYDIS_MAKE_SHORTSTRING("ymm24"), ZYDIS_MAKE_SHORTSTRING("ymm25"), ZYDIS_MAKE_SHORTSTRING("ymm26"), ZYDIS_MAKE_SHORTSTRING("ymm27"), ZYDIS_MAKE_SHORTSTRING("ymm28"), ZYDIS_MAKE_SHORTSTRING("ymm29"), ZYDIS_MAKE_SHORTSTRING("ymm30"), ZYDIS_MAKE_SHORTSTRING("ymm31"), // Floating point vector registers 512-bit ZYDIS_MAKE_SHORTSTRING("zmm0"), ZYDIS_MAKE_SHORTSTRING("zmm1"), ZYDIS_MAKE_SHORTSTRING("zmm2"), ZYDIS_MAKE_SHORTSTRING("zmm3"), ZYDIS_MAKE_SHORTSTRING("zmm4"), ZYDIS_MAKE_SHORTSTRING("zmm5"), ZYDIS_MAKE_SHORTSTRING("zmm6"), ZYDIS_MAKE_SHORTSTRING("zmm7"), ZYDIS_MAKE_SHORTSTRING("zmm8"), ZYDIS_MAKE_SHORTSTRING("zmm9"), ZYDIS_MAKE_SHORTSTRING("zmm10"), ZYDIS_MAKE_SHORTSTRING("zmm11"), ZYDIS_MAKE_SHORTSTRING("zmm12"), ZYDIS_MAKE_SHORTSTRING("zmm13"), ZYDIS_MAKE_SHORTSTRING("zmm14"), ZYDIS_MAKE_SHORTSTRING("zmm15"), ZYDIS_MAKE_SHORTSTRING("zmm16"), ZYDIS_MAKE_SHORTSTRING("zmm17"), ZYDIS_MAKE_SHORTSTRING("zmm18"), ZYDIS_MAKE_SHORTSTRING("zmm19"), ZYDIS_MAKE_SHORTSTRING("zmm20"), ZYDIS_MAKE_SHORTSTRING("zmm21"), ZYDIS_MAKE_SHORTSTRING("zmm22"), ZYDIS_MAKE_SHORTSTRING("zmm23"), ZYDIS_MAKE_SHORTSTRING("zmm24"), ZYDIS_MAKE_SHORTSTRING("zmm25"), ZYDIS_MAKE_SHORTSTRING("zmm26"), ZYDIS_MAKE_SHORTSTRING("zmm27"), ZYDIS_MAKE_SHORTSTRING("zmm28"), ZYDIS_MAKE_SHORTSTRING("zmm29"), ZYDIS_MAKE_SHORTSTRING("zmm30"), ZYDIS_MAKE_SHORTSTRING("zmm31"), // Flags registers ZYDIS_MAKE_SHORTSTRING("flags"), ZYDIS_MAKE_SHORTSTRING("eflags"), ZYDIS_MAKE_SHORTSTRING("rflags"), // Instruction-pointer registers ZYDIS_MAKE_SHORTSTRING("ip"), ZYDIS_MAKE_SHORTSTRING("eip"), ZYDIS_MAKE_SHORTSTRING("rip"), // Segment registers ZYDIS_MAKE_SHORTSTRING("es"), ZYDIS_MAKE_SHORTSTRING("cs"), ZYDIS_MAKE_SHORTSTRING("ss"), ZYDIS_MAKE_SHORTSTRING("ds"), ZYDIS_MAKE_SHORTSTRING("fs"), ZYDIS_MAKE_SHORTSTRING("gs"), // Table registers ZYDIS_MAKE_SHORTSTRING("gdtr"), ZYDIS_MAKE_SHORTSTRING("ldtr"), ZYDIS_MAKE_SHORTSTRING("idtr"), ZYDIS_MAKE_SHORTSTRING("tr"), // Test registers ZYDIS_MAKE_SHORTSTRING("tr0"), ZYDIS_MAKE_SHORTSTRING("tr1"), ZYDIS_MAKE_SHORTSTRING("tr2"), ZYDIS_MAKE_SHORTSTRING("tr3"), ZYDIS_MAKE_SHORTSTRING("tr4"), ZYDIS_MAKE_SHORTSTRING("tr5"), ZYDIS_MAKE_SHORTSTRING("tr6"), ZYDIS_MAKE_SHORTSTRING("tr7"), // Control registers ZYDIS_MAKE_SHORTSTRING("cr0"), ZYDIS_MAKE_SHORTSTRING("cr1"), ZYDIS_MAKE_SHORTSTRING("cr2"), ZYDIS_MAKE_SHORTSTRING("cr3"), ZYDIS_MAKE_SHORTSTRING("cr4"), ZYDIS_MAKE_SHORTSTRING("cr5"), ZYDIS_MAKE_SHORTSTRING("cr6"), ZYDIS_MAKE_SHORTSTRING("cr7"), ZYDIS_MAKE_SHORTSTRING("cr8"), ZYDIS_MAKE_SHORTSTRING("cr9"), ZYDIS_MAKE_SHORTSTRING("cr10"), ZYDIS_MAKE_SHORTSTRING("cr11"), ZYDIS_MAKE_SHORTSTRING("cr12"), ZYDIS_MAKE_SHORTSTRING("cr13"), ZYDIS_MAKE_SHORTSTRING("cr14"), ZYDIS_MAKE_SHORTSTRING("cr15"), // Debug registers ZYDIS_MAKE_SHORTSTRING("dr0"), ZYDIS_MAKE_SHORTSTRING("dr1"), ZYDIS_MAKE_SHORTSTRING("dr2"), ZYDIS_MAKE_SHORTSTRING("dr3"), ZYDIS_MAKE_SHORTSTRING("dr4"), ZYDIS_MAKE_SHORTSTRING("dr5"), ZYDIS_MAKE_SHORTSTRING("dr6"), ZYDIS_MAKE_SHORTSTRING("dr7"), ZYDIS_MAKE_SHORTSTRING("dr8"), ZYDIS_MAKE_SHORTSTRING("dr9"), ZYDIS_MAKE_SHORTSTRING("dr10"), ZYDIS_MAKE_SHORTSTRING("dr11"), ZYDIS_MAKE_SHORTSTRING("dr12"), ZYDIS_MAKE_SHORTSTRING("dr13"), ZYDIS_MAKE_SHORTSTRING("dr14"), ZYDIS_MAKE_SHORTSTRING("dr15"), // Mask registers ZYDIS_MAKE_SHORTSTRING("k0"), ZYDIS_MAKE_SHORTSTRING("k1"), ZYDIS_MAKE_SHORTSTRING("k2"), ZYDIS_MAKE_SHORTSTRING("k3"), ZYDIS_MAKE_SHORTSTRING("k4"), ZYDIS_MAKE_SHORTSTRING("k5"), ZYDIS_MAKE_SHORTSTRING("k6"), ZYDIS_MAKE_SHORTSTRING("k7"), // Bound registers ZYDIS_MAKE_SHORTSTRING("bnd0"), ZYDIS_MAKE_SHORTSTRING("bnd1"), ZYDIS_MAKE_SHORTSTRING("bnd2"), ZYDIS_MAKE_SHORTSTRING("bnd3"), ZYDIS_MAKE_SHORTSTRING("bndcfg"), ZYDIS_MAKE_SHORTSTRING("bndstatus"), // Uncategorized ZYDIS_MAKE_SHORTSTRING("mxcsr"), ZYDIS_MAKE_SHORTSTRING("pkru"), ZYDIS_MAKE_SHORTSTRING("xcr0") };