// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: projects/12/OutputTest/Main.jack

/** Test program for the OS Output class. */
class Main {

    /** Outputs the entire character set to the screen using all the
     *  methods of the Output class. */
    function void main() {
        var String s;
    
    	let s = String.new(1);
    	do s.appendChar(String.doubleQuote());
    
        do Output.moveCursor(0, 63);
        do Output.printChar(66);
        do Output.moveCursor(22, 0);
        do Output.printChar(67);
        do Output.moveCursor(22, 63);
        do Output.printChar(68);
        do Output.printChar(65);
        
        do Output.moveCursor(2, 0);
        do Output.printString("0123456789");
        do Output.println();
        
        do Output.printString("ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz");
        do Output.println();
        
        do Output.printString("!#$%&'()*+,-./:;<=>?@[\]^_`{|}~");
        do Output.printString(s);
        do Output.println();
        
        do Output.printInt(-12345);
        do Output.backSpace();
        do Output.printInt(6789);
        
        return;
    }
}
