Line 459... |
Line 459... |
break;
|
break;
|
case OP_RETN: // yywarn("RETN opcode is deprecated");
|
case OP_RETN: // yywarn("RETN opcode is deprecated");
|
in = zp.op_lod(m_cond, imm, m_opb, m_opa);
|
in = zp.op_lod(m_cond, imm, m_opb, m_opa);
|
in = zp.op_lod(m_cond, -1, zp.ZIP_SP, zp.ZIP_PC);
|
in = zp.op_lod(m_cond, -1, zp.ZIP_SP, zp.ZIP_PC);
|
break;
|
break;
|
|
case OP_MPY:
|
|
if ((m_opb == zp.ZIP_PC)||(m_opb == zp.ZIP_CC)
|
|
||(m_opa == zp.ZIP_PC)||(m_opa == zp.ZIP_CC))
|
|
yyerror("MPY does not support PC or CC register operands or results");
|
|
else if (m_opb == zp.ZIP_Rnone)
|
|
in = zp.op_mpy(m_cond, imm, m_opa);
|
|
else
|
|
in = zp.op_mpy(m_cond, imm, m_opb, m_opa);
|
|
break;
|
|
case OP_MPYUHI:
|
|
if ((m_opb == zp.ZIP_PC)||(m_opb == zp.ZIP_CC)
|
|
||(m_opa == zp.ZIP_PC)||(m_opa == zp.ZIP_CC))
|
|
yyerror("MPY does not support PC or CC register operands or results");
|
|
else if (m_opb == zp.ZIP_Rnone)
|
|
in = zp.op_mpyuhi(m_cond, imm, m_opa);
|
|
else
|
|
in = zp.op_mpyuhi(m_cond, imm, m_opb, m_opa);
|
|
break;
|
|
case OP_MPYSHI:
|
|
if ((m_opb == zp.ZIP_PC)||(m_opb == zp.ZIP_CC)
|
|
||(m_opa == zp.ZIP_PC)||(m_opa == zp.ZIP_CC))
|
|
yyerror("MPY does not support PC or CC register operands or results");
|
|
else if (m_opb == zp.ZIP_Rnone)
|
|
in = zp.op_mpyshi(m_cond, imm, m_opa);
|
|
else
|
|
in = zp.op_mpyshi(m_cond, imm, m_opb, m_opa);
|
|
break;
|
case OP_HALT: in = zp.op_halt(m_cond); break;
|
case OP_HALT: in = zp.op_halt(m_cond); break;
|
case OP_RTU: in = zp.op_rtu(m_cond); break;
|
case OP_RTU: in = zp.op_rtu(m_cond); break;
|
case OP_BUSY: in = zp.op_busy(m_cond); break;
|
case OP_BUSY: in = zp.op_busy(m_cond); break;
|
case OP_NOOP: in = zp.op_noop(); break;
|
case OP_NOOP: in = zp.op_noop(); break;
|
case OP_BREAK: in = zp.op_break(); break;
|
case OP_BREAK: in = zp.op_break(); break;
|