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>() { WMIPS.sw("$zero", (-Var * 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.li("$v0", 9)); lines.Add(WMIPS.li("$a0", 4 * Size)); lines.Add(WMIPS.SYSCALL); lines.Add(WMIPS.sw("$v0", (-4 * Var).ToString(), "$sp")); 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); }