|
// Auto generated, do not edit. |
|
module alphacodegen.targets.x86.registers; |
|
import alphacodegen.common.targets.x86.register; |
|
|
|
bool findRegister(string name, out Register oreg) { |
|
foreach(reg; x86Registers) { |
|
Register match = reg.match(name); |
|
|
|
if (match.name !is null) { |
|
oreg = match; |
|
return true; |
|
} |
|
} |
|
|
|
return false; |
|
} |
|
|
|
static immutable(RegisterGroup[]) x86Registers = [ |
|
RegisterGroup( |
|
Register("AL", 0, false, false, false, |
|
EncodeAs(0, 0, 0, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("AH", 0, false, false, false, |
|
EncodeAs(0, 4, 0, 0, true, false, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(true, false, 0), |
|
EncodeForMODRM_SIB(true, true, 1), |
|
EncodeForMODRM_SIB(true, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("AX", 0, false, false, false, |
|
EncodeAs(0, 0, 0, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("eAX", 0, false, false, false, |
|
EncodeAs(0, 0, 0, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("rAX", 0, false, false, false, |
|
EncodeAs(0, 0, 0, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("BL", 0, false, false, false, |
|
EncodeAs(3, 3, 3, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("BH", 0, false, false, false, |
|
EncodeAs(3, 7, 0, 0, true, false, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("BX", 0, false, false, false, |
|
EncodeAs(3, 3, 3, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("eBX", 0, false, false, false, |
|
EncodeAs(3, 3, 3, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("rBX", 0, false, false, false, |
|
EncodeAs(3, 3, 3, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("CL", 0, false, false, false, |
|
EncodeAs(1, 1, 1, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("CH", 0, false, false, false, |
|
EncodeAs(1, 5, 0, 0, true, false, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("CX", 0, false, false, false, |
|
EncodeAs(1, 1, 1, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("eCX", 0, false, false, false, |
|
EncodeAs(1, 1, 1, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("rCX", 0, false, false, false, |
|
EncodeAs(1, 1, 1, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("DL", 0, false, false, false, |
|
EncodeAs(2, 2, 2, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("DH", 0, false, false, false, |
|
EncodeAs(2, 6, 0, 0, true, false, false, |
|
[ |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("DX", 0, false, false, false, |
|
EncodeAs(2, 2, 2, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("eDX", 0, false, false, false, |
|
EncodeAs(2, 2, 2, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("rDX", 0, false, false, false, |
|
EncodeAs(2, 2, 2, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("SIL", 0, false, true, false, |
|
EncodeAs(6, 0, 6, 0, false, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("SI", 0, false, false, false, |
|
EncodeAs(6, 6, 6, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("eSI", 0, false, false, false, |
|
EncodeAs(6, 6, 6, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("rSI", 0, false, false, false, |
|
EncodeAs(6, 6, 6, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("DIL", 0, false, true, false, |
|
EncodeAs(7, 0, 7, 0, false, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("DI", 0, false, false, false, |
|
EncodeAs(7, 7, 7, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("eDI", 0, false, false, false, |
|
EncodeAs(7, 7, 7, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("rDI", 0, false, false, false, |
|
EncodeAs(7, 7, 7, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("BPL", 0, false, true, false, |
|
EncodeAs(5, 0, 5, 0, false, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("BP", 0, false, false, false, |
|
EncodeAs(5, 5, 5, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("eBP", 0, false, false, false, |
|
EncodeAs(5, 5, 5, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("rBP", 0, false, false, false, |
|
EncodeAs(5, 5, 5, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("SPL", 0, false, true, false, |
|
EncodeAs(4, 0, 4, 0, false, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(true, false, 0), |
|
EncodeForMODRM_SIB(true, true, 1), |
|
EncodeForMODRM_SIB(true, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("SP", 0, false, false, false, |
|
EncodeAs(4, 4, 4, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(true, false, 0), |
|
EncodeForMODRM_SIB(true, true, 1), |
|
EncodeForMODRM_SIB(true, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("eSP", 0, false, false, false, |
|
EncodeAs(4, 4, 4, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(true, false, 0), |
|
EncodeForMODRM_SIB(true, true, 1), |
|
EncodeForMODRM_SIB(true, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("rSP", 0, false, false, false, |
|
EncodeAs(4, 4, 4, 0, true, true, false, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(true, false, 0), |
|
EncodeForMODRM_SIB(true, true, 1), |
|
EncodeForMODRM_SIB(true, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("r8B", 0, false, false, true, |
|
EncodeAs(8, 0, 0, 0, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("r8W", 0, false, false, true, |
|
EncodeAs(8, 0, 0, 0, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r8D", 0, false, false, true, |
|
EncodeAs(8, 0, 0, 0, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r8", 0, false, false, true, |
|
EncodeAs(8, 0, 0, 0, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("r9B", 0, false, false, true, |
|
EncodeAs(9, 0, 0, 3, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("r9W", 0, false, false, true, |
|
EncodeAs(9, 0, 0, 3, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r9D", 0, false, false, true, |
|
EncodeAs(9, 0, 0, 3, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r9", 0, false, false, true, |
|
EncodeAs(9, 0, 0, 3, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("r10B", 0, false, false, true, |
|
EncodeAs(10, 0, 0, 1, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("r10W", 0, false, false, true, |
|
EncodeAs(10, 0, 0, 1, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r10D", 0, false, false, true, |
|
EncodeAs(10, 0, 0, 1, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r10", 0, false, false, true, |
|
EncodeAs(10, 0, 0, 1, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("r11B", 0, false, false, true, |
|
EncodeAs(11, 0, 0, 2, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("r11W", 0, false, false, true, |
|
EncodeAs(11, 0, 0, 2, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r11D", 0, false, false, true, |
|
EncodeAs(11, 0, 0, 2, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r11", 0, false, false, true, |
|
EncodeAs(11, 0, 0, 2, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("r12B", 0, false, false, true, |
|
EncodeAs(12, 0, 0, 4, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(true, false, 0), |
|
EncodeForMODRM_SIB(true, true, 1), |
|
EncodeForMODRM_SIB(true, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("r12W", 0, false, false, true, |
|
EncodeAs(12, 0, 0, 4, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(true, false, 0), |
|
EncodeForMODRM_SIB(true, true, 1), |
|
EncodeForMODRM_SIB(true, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r12D", 0, false, false, true, |
|
EncodeAs(12, 0, 0, 4, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(true, false, 0), |
|
EncodeForMODRM_SIB(true, true, 1), |
|
EncodeForMODRM_SIB(true, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r12", 0, false, false, true, |
|
EncodeAs(12, 0, 0, 4, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(true, false, 0), |
|
EncodeForMODRM_SIB(true, true, 1), |
|
EncodeForMODRM_SIB(true, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("r13B", 0, false, false, true, |
|
EncodeAs(13, 0, 0, 5, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("r13W", 0, false, false, true, |
|
EncodeAs(13, 0, 0, 5, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r13D", 0, false, false, true, |
|
EncodeAs(13, 0, 0, 5, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r13", 0, false, false, true, |
|
EncodeAs(13, 0, 0, 5, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("r14B", 0, false, false, true, |
|
EncodeAs(14, 0, 0, 6, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("r14W", 0, false, false, true, |
|
EncodeAs(14, 0, 0, 6, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r14D", 0, false, false, true, |
|
EncodeAs(14, 0, 0, 6, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r14", 0, false, false, true, |
|
EncodeAs(14, 0, 0, 6, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
), |
|
RegisterGroup( |
|
Register("r15B", 0, false, false, true, |
|
EncodeAs(15, 0, 0, 7, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register.init, |
|
Register("r15W", 0, false, false, true, |
|
EncodeAs(15, 0, 0, 7, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r15D", 0, false, false, true, |
|
EncodeAs(15, 0, 0, 7, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
), |
|
Register("r15", 0, false, false, true, |
|
EncodeAs(15, 0, 0, 7, false, false, true, |
|
[ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 2), |
|
EncodeForMODRM_SIB(false, false, 0), |
|
], [ |
|
EncodeForMODRM_SIB(false, false, 0), |
|
EncodeForMODRM_SIB(false, true, 1), |
|
EncodeForMODRM_SIB(false, true, 4), |
|
EncodeForMODRM_SIB(false, false, 0) |
|
] |
|
) |
|
) |
|
) |
|
]; |