diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2008-10-27 20:00:09 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2008-10-27 20:00:09 (GMT) |
commit | 2e5893f9261ba59e06fadcc6ddfa9a1253e286b3 (patch) | |
tree | 8197f6419812e7c36c28d6849ced3e37e8926539 /src/arch/x86/operand.c | |
parent | 197933fdf469ab9b8897b33c51809c128f1e3c03 (diff) |
Extended the current opcode support (0x01, 0x72, 0x73, 0x88, 0xd3, 0xf7, 0xfc, 0xb6 and 0xbe).
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@38 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/x86/operand.c')
-rw-r--r-- | src/arch/x86/operand.c | 12 |
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; |