Some more opcodes.
This commit is contained in:
parent
bb17aea73a
commit
b2ddf12473
|
@ -504,6 +504,23 @@ static void insn_ivalue(int opcode, arith value)
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case op_lof:
|
||||||
|
{
|
||||||
|
struct ir* ptr = pop(EM_pointersize);
|
||||||
|
|
||||||
|
push(
|
||||||
|
new_ir1(
|
||||||
|
IR_LOAD, EM_wordsize,
|
||||||
|
new_ir2(
|
||||||
|
IR_ADD, EM_pointersize,
|
||||||
|
ptr,
|
||||||
|
new_wordir(value)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case op_sti:
|
case op_sti:
|
||||||
{
|
{
|
||||||
struct ir* ptr = pop(EM_pointersize);
|
struct ir* ptr = pop(EM_pointersize);
|
||||||
|
@ -518,6 +535,25 @@ static void insn_ivalue(int opcode, arith value)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case op_stf:
|
||||||
|
{
|
||||||
|
struct ir* ptr = pop(EM_pointersize);
|
||||||
|
struct ir* val = pop(value);
|
||||||
|
|
||||||
|
appendir(
|
||||||
|
new_ir2(
|
||||||
|
IR_STORE, EM_wordsize,
|
||||||
|
new_ir2(
|
||||||
|
IR_ADD, EM_pointersize,
|
||||||
|
ptr,
|
||||||
|
new_wordir(value)
|
||||||
|
),
|
||||||
|
val
|
||||||
|
)
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case op_cmi:
|
case op_cmi:
|
||||||
push(
|
push(
|
||||||
tristate_compare(value, IR_COMPARES)
|
tristate_compare(value, IR_COMPARES)
|
||||||
|
|
Loading…
Reference in a new issue