summaryrefslogtreecommitdiff
path: root/src/arch/x86/operand.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/operand.c')
-rw-r--r--src/arch/x86/operand.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/arch/x86/operand.c b/src/arch/x86/operand.c
index e13c793..a028dc2 100644
--- a/src/arch/x86/operand.c
+++ b/src/arch/x86/operand.c
@@ -1436,6 +1436,10 @@ bool x86_read_one_operand(asm_x86_instr *instr, const uint8_t *data, off_t *pos,
op = x86_create_rm1632_operand(data, pos, len, oprsize == AOS_32_BITS);
break;
+ case X86_OTP_CL:
+ op = x86_create_r8_operand(0x01, true);
+ break;
+
case X86_OTP_AL:
op = x86_create_r8_operand(0x00, true);
break;
@@ -1545,6 +1549,10 @@ bool x86_read_two_operands(asm_x86_instr *instr, const uint8_t *data, off_t *pos
op1 = x86_create_rm1632_operand(data, &op1_pos, len, oprsize == AOS_32_BITS);
break;
+ case X86_OTP_CL:
+ op1 = x86_create_r8_operand(0x01, op1_first);
+ break;
+
case X86_OTP_AL:
op1 = x86_create_r8_operand(0x00, op1_first);
break;
@@ -1616,6 +1624,10 @@ bool x86_read_two_operands(asm_x86_instr *instr, const uint8_t *data, off_t *pos
op2 = x86_create_rm1632_operand(data, &op2_pos, len, oprsize == AOS_32_BITS);
break;
+ case X86_OTP_CL:
+ op2 = x86_create_r8_operand(0x01, op2_first);
+ break;
+
case X86_OTP_AL:
op2 = x86_create_r8_operand(0x00, op2_first);
break;