OpenCores
URL https://opencores.org/ocsvn/zipcpu/zipcpu/trunk

Subversion Repositories zipcpu

[/] [zipcpu/] [trunk/] [sw/] [zasm/] [asmdata.cpp] - Diff between revs 96 and 126

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 96 Rev 126
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;

powered by: WebSVN 2.1.0

© copyright 1999-2022 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.