Fixed recompiled version of JMP far indirect. Fixes Red Hat 3.0.3.
This commit is contained in:
parent
56a3ab7020
commit
0116512d39
1 changed files with 4 additions and 4 deletions
|
|
@ -356,11 +356,11 @@ uint32_t ropFF_16(codeblock_t *block, ir_data_t *ir, uint8_t opcode, uint32_t fe
|
|||
return -1;
|
||||
|
||||
case 0x28: /*JMP far*/
|
||||
uop_MOVZX(ir, IREG_pc, src_reg);
|
||||
uop_MEM_LOAD_REG_OFFSET(ir, IREG_temp1_W, ireg_seg_base(target_seg), IREG_eaaddr, 2);
|
||||
uop_LOAD_FUNC_ARG_REG(ir, 0, IREG_temp1_W);
|
||||
uop_LOAD_FUNC_ARG_IMM(ir, 1, cpu_state.oldpc);
|
||||
uop_LOAD_FUNC_ARG_IMM(ir, 1, op_pc + 1);
|
||||
uop_CALL_FUNC(ir, loadcsjmp);
|
||||
uop_MOVZX(ir, IREG_pc, src_reg);
|
||||
return -1;
|
||||
|
||||
case 0x30: /*PUSH*/
|
||||
|
|
@ -463,11 +463,11 @@ uint32_t ropFF_32(codeblock_t *block, ir_data_t *ir, uint8_t opcode, uint32_t fe
|
|||
return -1;
|
||||
|
||||
case 0x28: /*JMP far*/
|
||||
uop_MOV(ir, IREG_pc, src_reg);
|
||||
uop_MEM_LOAD_REG_OFFSET(ir, IREG_temp1_W, ireg_seg_base(target_seg), IREG_eaaddr, 4);
|
||||
uop_LOAD_FUNC_ARG_REG(ir, 0, IREG_temp1_W);
|
||||
uop_LOAD_FUNC_ARG_IMM(ir, 1, cpu_state.oldpc);
|
||||
uop_LOAD_FUNC_ARG_IMM(ir, 1, op_pc + 1);
|
||||
uop_CALL_FUNC(ir, loadcsjmp);
|
||||
uop_MOV(ir, IREG_pc, src_reg);
|
||||
return -1;
|
||||
|
||||
case 0x30: /*PUSH*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue