public override List <string> Generate()
 {
     return(new List <string>()
     {
         WMIPS.lw("$a0", (-Condition * 4).ToString(), "$sp"),
         WMIPS.beqz("$a0", Label.LFull)
     });
 }
 public override List <string> Generate()
 {
     return(new List <string>()
     {
         WMIPS.lw("$v0", (-RetVar * 4).ToString(), "$sp"),
         WMIPS.jr("$ra")
     });
 }
 public override List <string> Generate()
 {
     return(new List <string>()
     {
         WMIPS.lw("$a0", (-Variable * 4).ToString(), "$sp"),
         WMIPS.sw("$a0", (-(size + pcount) * 4).ToString(), "$sp")
     });
 }
        public override List <string> Generate()
        {
            var lines = new List <string>();

            lines.Add(WMIPS.lw("$a0", (-R * 4).ToString(), "$sp"));
            lines.Add(WMIPS.sw("$a0", (-L * 4).ToString(), "$sp"));
            return(lines);
        }
        public override List <string> Generate()
        {
            var lines = new List <string>();

            lines.Add(WMIPS.la("$a0", R.LFull));
            lines.Add(WMIPS.lw("$a1", (-4 * L).ToString(), "$sp"));
            lines.Add(WMIPS.sw("$a0", (Offset * 4).ToString(), "$a1"));
            return(lines);
        }
        public override List <string> Generate()
        {
            var lines = new List <string>();

            lines.Add(WMIPS.sw("$ra", (-4 * size).ToString(), "$sp"));
            lines.Add(WMIPS.addiu("$sp", "$sp", -4 * (size + 1)));
            lines.Add(WMIPS.jal(Name.LFull));
            lines.Add(WMIPS.addiu("$sp", "$sp", 4 * (size + 1)));
            lines.Add(WMIPS.lw("$ra", (-4 * size).ToString(), "$sp"));
            if (OutResult >= 0)
            {
                lines.Add(WMIPS.sw("$v0", (-4 * OutResult).ToString(), "$sp"));
            }
            return(lines);
        }