public void Visit(PrintVar pv) { sw.WriteLine("\t; printing " + pv.VarName); sw.WriteLine("\tlda " + game.GetVarAddr(pv.VarName)); sw.WriteLine("\tsta divisor"); sw.WriteLine("\tjsr itoa ; convert and print"); }
public void Visit(PrintVar pv) { sw.WriteLine("\t; printing " + pv.VarName); sw.WriteLine("\tmov ah,0"); sw.WriteLine("\tmov al, " + game.GetVarAddr(pv.VarName)); sw.WriteLine("\tpush ax"); sw.WriteLine("\tcall print_var"); sw.WriteLine("\tadd sp,2 ; pop params"); }
public void Visit(VariableRVal v) { string addr; //this is done in fix var name() if (v.VarName == "dobj") { addr = "DobjId"; } else if (v.VarName == "iobj") { addr = "IobjId"; } else { addr = game.GetVarAddr(v.VarName); } sw.WriteLine("\tlda " + addr); sw.WriteLine("\tpshs a"); }
public void Visit(VariableRVal v) { sw.WriteLine("\t;load var"); sw.WriteLine("\tld a,(" + game.GetVarAddr(v.VarName) + ")"); sw.WriteLine("\tpush af"); }