decode: Store CL as register operand for shifts
This commit is contained in:
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user