);
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:
{
struct ir* ptr = pop(EM_pointersize);
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:
push(
tristate_compare(value, IR_COMPARES)