decode: Store CL as register operand for shifts

This commit is contained in:
Alexis Engelke
2020-02-19 16:53:59 +01:00
parent e65086c76c
commit 513a913feb
4 changed files with 24 additions and 18 deletions

View File

@@ -35,7 +35,8 @@ InstrFlags = bitstruct("InstrFlags", [
"op2_size:2",
"op3_size:2",
"imm_idx:2",
"imm_size:2",
"zeroreg_val:1",
"_unused:1",
"imm_control:3",
"imm_byte:1",
"gp_size_8:1",
@@ -55,11 +56,13 @@ ENCODINGS = {
"M": InstrFlags(modrm_idx=0^3),
"M1": InstrFlags(modrm_idx=0^3, imm_idx=1^3, imm_control=1),
"MI": InstrFlags(modrm_idx=0^3, imm_idx=1^3, imm_control=3),
"MC": InstrFlags(modrm_idx=0^3, zeroreg_idx=1^3, zeroreg_val=1),
"MR": InstrFlags(modrm_idx=0^3, modreg_idx=1^3),
"RM": InstrFlags(modrm_idx=1^3, modreg_idx=0^3),
"RMA": InstrFlags(modrm_idx=1^3, modreg_idx=0^3, zeroreg_idx=2^3),
"MRI": InstrFlags(modrm_idx=0^3, modreg_idx=1^3, imm_idx=2^3, imm_control=3),
"RMI": InstrFlags(modrm_idx=1^3, modreg_idx=0^3, imm_idx=2^3, imm_control=3),
"MRC": InstrFlags(modrm_idx=0^3, modreg_idx=1^3, zeroreg_idx=2^3, zeroreg_val=1),
"I": InstrFlags(imm_idx=0^3, imm_control=3),
"IA": InstrFlags(zeroreg_idx=0^3, imm_idx=1^3, imm_control=3),
"O": InstrFlags(modreg_idx=0^3),