diff options
Diffstat (limited to 'src/arch/x86/processor.c')
-rw-r--r-- | src/arch/x86/processor.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/arch/x86/processor.c b/src/arch/x86/processor.c index 5bf6d9f..aae4fe3 100644 --- a/src/arch/x86/processor.c +++ b/src/arch/x86/processor.c @@ -570,7 +570,21 @@ static GArchInstruction *g_x86_processor_decode_instruction(const GX86Processor break; + case XOP_SCAS_AL_M8: + result = x86_read_instr_scas_al_m8(data, pos, len, addr, prefix, proc); + break; + + case XOP_MOV_AL_IMM8: + case XOP_MOV_CL_IMM8: + case XOP_MOV_DL_IMM8: + case XOP_MOV_BL_IMM8: + case XOP_MOV_AH_IMM8: + case XOP_MOV_CH_IMM8: + case XOP_MOV_DH_IMM8: + case XOP_MOV_BH_IMM8: + result = x86_read_instr_mov_r8_imm8(data, pos, len, addr, prefix, proc); + break; case XOP_MOV_E_AX_IMM1632: case XOP_MOV_E_CX_IMM1632: @@ -709,6 +723,9 @@ static GArchInstruction *g_x86_processor_decode_instruction(const GX86Processor } + if (result != NULL) + g_x86_instruction_set_prefixes(G_X86_INSTRUCTION(result), prefix); + return result; } |