diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/long_mode/mod.rs | 4 | 
1 files changed, 4 insertions, 0 deletions
| diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs index 1b80b11..fe490e8 100644 --- a/src/long_mode/mod.rs +++ b/src/long_mode/mod.rs @@ -5492,12 +5492,16 @@ fn read_operands<T: Iterator<Item=u8>>(decoder: &InstDecoder, mut bytes_iter: T,          op @ OperandCode::ModRM_0xc1_Ev_Ib |          op @ OperandCode::ModRM_0xd0_Eb_1 |          op @ OperandCode::ModRM_0xd1_Ev_1 | +        op @ OperandCode::ModRM_0xd2_Eb_CL |          op @ OperandCode::ModRM_0xd3_Ev_CL => {              instruction.operands[0] = mem_oper;              instruction.opcode = BITWISE_OPCODE_MAP[((modrm >> 3) & 7) as usize].clone();              if let OperandCode::ModRM_0xd3_Ev_CL = op {                  instruction.modrm_rrr = RegSpec::cl();                  instruction.operands[1] = OperandSpec::RegRRR; +            } else if let OperandCode::ModRM_0xd2_Eb_CL = op { +                instruction.modrm_rrr = RegSpec::cl(); +                instruction.operands[1] = OperandSpec::RegRRR;              } else {                  let num = match op {                      OperandCode::ModRM_0xc0_Eb_Ib | | 
