summaryrefslogtreecommitdiff
path: root/projects/12/OutputTest/Main.jack
blob: f2430681aabea083eb3d3a348b5177a858ffcb33 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// 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;
    }
}