public override List <string> Generate() { var lines = new List <string>(); lines.Add(WMIPS.sw("$ra", (-4 * size).ToString(), "$sp")); lines.Add(WMIPS.lw("$a0", (-4 * Address).ToString(), "$sp")); lines.Add(WMIPS.addiu("$sp", "$sp", -4 * (size + 1))); lines.Add(WMIPS.jalr("$ra", "$a0")); 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); }