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");
 }
Esempio n. 2
0
 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");
 }
Esempio n. 3
0
        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");
        }
Esempio n. 4
0
 public void Visit(VariableRVal v)
 {
     sw.WriteLine("\t;load var");
     sw.WriteLine("\tld a,(" + game.GetVarAddr(v.VarName) + ")");
     sw.WriteLine("\tpush af");
 }