{"st", FloatReg|FloatAcc, 0, 0}, /* 8 bit regs */ #define AL_INDEX 1 {"al", Reg8|Acc, 0, 0}, {"cl", Reg8|ShiftCntReg, 0, 1}, {"dl", Reg8, 0, 2}, {"bl", Reg8, 0, 3}, {"ah", Reg8, 0, 4}, {"ch", Reg8, 0, 5}, {"dh", Reg8, 0, 6}, {"bh", Reg8, 0, 7}, {"axl", Reg8|Acc, RegRex64, 0}, {"cxl", Reg8, RegRex64, 1}, {"dxl", Reg8, RegRex64, 2}, {"bxl", Reg8, RegRex64, 3}, {"spl", Reg8, RegRex64, 4}, {"bpl", Reg8, RegRex64, 5}, {"sil", Reg8, RegRex64, 6}, {"dil", Reg8, RegRex64, 7}, {"r8b", Reg8, RegRex64|RegRex, 0}, {"r9b", Reg8, RegRex64|RegRex, 1}, {"r10b", Reg8, RegRex64|RegRex, 2}, {"r11b", Reg8, RegRex64|RegRex, 3}, {"r12b", Reg8, RegRex64|RegRex, 4}, {"r13b", Reg8, RegRex64|RegRex, 5}, {"r14b", Reg8, RegRex64|RegRex, 6}, {"r15b", Reg8, RegRex64|RegRex, 7}, /* 16 bit regs */ #define AX_INDEX 25 {"ax", Reg16|Acc, 0, 0}, {"cx", Reg16, 0, 1}, {"dx", Reg16|IOPortReg, 0, 2}, {"bx", Reg16|BaseIndex, 0, 3}, {"sp", Reg16, 0, 4}, {"bp", Reg16|BaseIndex, 0, 5}, {"si", Reg16|BaseIndex, 0, 6}, {"di", Reg16|BaseIndex, 0, 7}, {"r8w", Reg16, RegRex, 0}, {"r9w", Reg16, RegRex, 1}, {"r10w", Reg16, RegRex, 2}, {"r11w", Reg16, RegRex, 3}, {"r12w", Reg16, RegRex, 4}, {"r13w", Reg16, RegRex, 5}, {"r14w", Reg16, RegRex, 6}, {"r15w", Reg16, RegRex, 7}, /* 32 bit regs */ #define EAX_INDEX 41 {"eax", Reg32|BaseIndex|Acc, 0, 0}, {"ecx", Reg32|BaseIndex, 0, 1}, {"edx", Reg32|BaseIndex, 0, 2}, {"ebx", Reg32|BaseIndex, 0, 3}, {"esp", Reg32, 0, 4}, {"ebp", Reg32|BaseIndex, 0, 5}, {"esi", Reg32|BaseIndex, 0, 6}, {"edi", Reg32|BaseIndex, 0, 7}, {"r8d", Reg32|BaseIndex, RegRex, 0}, {"r9d", Reg32|BaseIndex, RegRex, 1}, {"r10d", Reg32|BaseIndex, RegRex, 2}, {"r11d", Reg32|BaseIndex, RegRex, 3}, {"r12d", Reg32|BaseIndex, RegRex, 4}, {"r13d", Reg32|BaseIndex, RegRex, 5}, {"r14d", Reg32|BaseIndex, RegRex, 6}, {"r15d", Reg32|BaseIndex, RegRex, 7}, {"rax", Reg64|BaseIndex|Acc, 0, 0}, {"rcx", Reg64|BaseIndex, 0, 1}, {"rdx", Reg64|BaseIndex, 0, 2}, {"rbx", Reg64|BaseIndex, 0, 3}, {"rsp", Reg64, 0, 4}, {"rbp", Reg64|BaseIndex, 0, 5}, {"rsi", Reg64|BaseIndex, 0, 6}, {"rdi", Reg64|BaseIndex, 0, 7}, {"r8", Reg64|BaseIndex, RegRex, 0}, {"r9", Reg64|BaseIndex, RegRex, 1}, {"r10", Reg64|BaseIndex, RegRex, 2}, {"r11", Reg64|BaseIndex, RegRex, 3}, {"r12", Reg64|BaseIndex, RegRex, 4}, {"r13", Reg64|BaseIndex, RegRex, 5}, {"r14", Reg64|BaseIndex, RegRex, 6}, {"r15", Reg64|BaseIndex, RegRex, 7}, /* segment registers */ {"es", SegReg2, 0, 0}, {"cs", SegReg2, 0, 1}, {"ss", SegReg2, 0, 2}, {"ds", SegReg2, 0, 3}, {"fs", SegReg3, 0, 4}, {"gs", SegReg3, 0, 5}, /* control registers */ {"cr0", CtrlReg, 0, 0}, {"cr1", CtrlReg, 0, 1}, {"cr2", CtrlReg, 0, 2}, {"cr3", CtrlReg, 0, 3}, {"cr4", CtrlReg, 0, 4}, {"cr5", CtrlReg, 0, 5}, {"cr6", CtrlReg, 0, 6}, {"cr7", CtrlReg, 0, 7}, {"cr8", CtrlReg, RegRex, 0}, {"cr9", CtrlReg, RegRex, 1}, {"cr10", CtrlReg, RegRex, 2}, {"cr11", CtrlReg, RegRex, 3}, {"cr12", CtrlReg, RegRex, 4}, {"cr13", CtrlReg, RegRex, 5}, {"cr14", CtrlReg, RegRex, 6}, {"cr15", CtrlReg, RegRex, 7}, /* debug registers */ {"db0", DebugReg, 0, 0}, {"db1", DebugReg, 0, 1}, {"db2", DebugReg, 0, 2}, {"db3", DebugReg, 0, 3}, {"db4", DebugReg, 0, 4}, {"db5", DebugReg, 0, 5}, {"db6", DebugReg, 0, 6}, {"db7", DebugReg, 0, 7}, {"db8", DebugReg, RegRex, 0}, {"db9", DebugReg, RegRex, 1}, {"db10", DebugReg, RegRex, 2}, {"db11", DebugReg, RegRex, 3}, {"db12", DebugReg, RegRex, 4}, {"db13", DebugReg, RegRex, 5}, {"db14", DebugReg, RegRex, 6}, {"db15", DebugReg, RegRex, 7}, {"dr0", DebugReg, 0, 0}, {"dr1", DebugReg, 0, 1}, {"dr2", DebugReg, 0, 2}, {"dr3", DebugReg, 0, 3}, {"dr4", DebugReg, 0, 4}, {"dr5", DebugReg, 0, 5}, {"dr6", DebugReg, 0, 6}, {"dr7", DebugReg, 0, 7}, {"dr8", DebugReg, RegRex, 0}, {"dr9", DebugReg, RegRex, 1}, {"dr10", DebugReg, RegRex, 2}, {"dr11", DebugReg, RegRex, 3}, {"dr12", DebugReg, RegRex, 4}, {"dr13", DebugReg, RegRex, 5}, {"dr14", DebugReg, RegRex, 6}, {"dr15", DebugReg, RegRex, 7}, /* test registers */ {"tr0", TestReg, 0, 0}, {"tr1", TestReg, 0, 1}, {"tr2", TestReg, 0, 2}, {"tr3", TestReg, 0, 3}, {"tr4", TestReg, 0, 4}, {"tr5", TestReg, 0, 5}, {"tr6", TestReg, 0, 6}, {"tr7", TestReg, 0, 7}, /* mmx and simd registers */ {"mm0", MMXReg, 0, 0}, {"mm1", MMXReg, 0, 1}, {"mm2", MMXReg, 0, 2}, {"mm3", MMXReg, 0, 3}, {"mm4", MMXReg, 0, 4}, {"mm5", MMXReg, 0, 5}, {"mm6", MMXReg, 0, 6}, {"mm7", MMXReg, 0, 7}, {"xmm0", XMMReg, 0, 0}, {"xmm1", XMMReg, 0, 1}, {"xmm2", XMMReg, 0, 2}, {"xmm3", XMMReg, 0, 3}, {"xmm4", XMMReg, 0, 4}, {"xmm5", XMMReg, 0, 5}, {"xmm6", XMMReg, 0, 6}, {"xmm7", XMMReg, 0, 7}, {"xmm8", XMMReg, RegRex, 0}, {"xmm9", XMMReg, RegRex, 1}, {"xmm10", XMMReg, RegRex, 2}, {"xmm11", XMMReg, RegRex, 3}, {"xmm12", XMMReg, RegRex, 4}, {"xmm13", XMMReg, RegRex, 5}, {"xmm14", XMMReg, RegRex, 6}, {"xmm15", XMMReg, RegRex, 7}, {"st(0)", FloatReg|FloatAcc, 0, 0}, {"st(1)", FloatReg, 0, 1}, {"st(2)", FloatReg, 0, 2}, {"st(3)", FloatReg, 0, 3}, {"st(4)", FloatReg, 0, 4}, {"st(5)", FloatReg, 0, 5}, {"st(6)", FloatReg, 0, 6}, {"st(7)", FloatReg, 0, 7}, {"rip", BaseIndex, 0, 0}, {NULL, 0, 0, 0}