More opcodes.
This commit is contained in:
parent
1ae8b90238
commit
e3ebf986e9
|
@ -249,6 +249,7 @@ static void parse_pseu(void)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case sof_ptyp:
|
case sof_ptyp:
|
||||||
|
case pro_ptyp:
|
||||||
data_offset(strdup(em.em_dnam), em.em_off, ro);
|
data_offset(strdup(em.em_dnam), em.em_off, ro);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -806,6 +806,16 @@ static void insn_ivalue(int opcode, arith value)
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case op_lae:
|
||||||
|
push(
|
||||||
|
new_ir2(
|
||||||
|
IR_ADD, EM_pointersize,
|
||||||
|
new_labelir(".hol0"),
|
||||||
|
new_wordir(value)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
case op_ste:
|
case op_ste:
|
||||||
appendir(
|
appendir(
|
||||||
store(
|
store(
|
||||||
|
@ -1013,6 +1023,15 @@ static void insn_ivalue(int opcode, arith value)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case op_exg:
|
||||||
|
{
|
||||||
|
struct ir* v1 = pop(value);
|
||||||
|
struct ir* v2 = pop(value);
|
||||||
|
push(v1);
|
||||||
|
push(v2);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case op_asp:
|
case op_asp:
|
||||||
{
|
{
|
||||||
switch (value)
|
switch (value)
|
||||||
|
@ -1260,6 +1279,10 @@ static void insn_ivalue(int opcode, arith value)
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
helper_function(".unimplemented_lor_2");
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fatal("'lor %d' not supported", value);
|
fatal("'lor %d' not supported", value);
|
||||||
}
|
}
|
||||||
|
@ -1289,6 +1312,10 @@ static void insn_ivalue(int opcode, arith value)
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
helper_function(".unimplemented_str_2");
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fatal("'str %d' not supported", value);
|
fatal("'str %d' not supported", value);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue