Ejemplo n.º 1
0
        static List<CStatement> Add_C(uint pc, uint instruction)
        {
            Instruction i = new Instruction(instruction);

            /* op1 + op2 */
            CStatement stat = new CStatement(CStatement.Kinds.Addition, RegName(i.RA()), RegName(i.RB()));

            /* dest = expr */
            CStatement ass = new CStatement(CStatement.Kinds.Assignment, RegName(i.RD()), stat);

            List<CStatement> stats = new List<CStatement>();
            stats.Add(ass);

            if (i.OE())
                MessageBox.Show("This instruction sets the O bit. I don't know how to translate it! Ignoring.");

            if (i.RC())
                stats.Add(new CStatement(CStatement.Kinds.Assignment, "cr0", RegName(i.RD())));

            return stats;
        }