aboutsummaryrefslogtreecommitdiff
path: root/projects/09/K/Board.vm
diff options
context:
space:
mode:
Diffstat (limited to 'projects/09/K/Board.vm')
-rw-r--r--projects/09/K/Board.vm1465
1 files changed, 0 insertions, 1465 deletions
diff --git a/projects/09/K/Board.vm b/projects/09/K/Board.vm
deleted file mode 100644
index 985e813..0000000
--- a/projects/09/K/Board.vm
+++ /dev/null
@@ -1,1465 +0,0 @@
-function Board.new 1
-push constant 4
-call Memory.alloc 1
-pop pointer 0
-push constant 4
-call Array.new 1
-pop this 0
-push constant 0
-pop local 0
-label WHILE_EXP0
-push local 0
-push constant 4
-lt
-not
-if-goto WHILE_END0
-push local 0
-push this 0
-add
-push constant 4
-call Array.new 1
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push local 0
-push constant 1
-add
-pop local 0
-goto WHILE_EXP0
-label WHILE_END0
-push pointer 0
-call Board.initBoard 1
-pop temp 0
-push constant 0
-pop this 2
-push pointer 0
-return
-function Board.init 0
-push constant 6
-call String.new 1
-push constant 43
-call String.appendChar 2
-push constant 45
-call String.appendChar 2
-push constant 45
-call String.appendChar 2
-push constant 45
-call String.appendChar 2
-push constant 45
-call String.appendChar 2
-push constant 43
-call String.appendChar 2
-pop static 0
-push constant 9
-call String.new 1
-push constant 89
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 117
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 108
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 33
-call String.appendChar 2
-pop static 1
-push constant 8
-call String.new 1
-push constant 89
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 117
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 119
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 33
-call String.appendChar 2
-pop static 4
-push constant 25
-call String.new 1
-push constant 80
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 121
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 107
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 121
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 99
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 117
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-pop static 2
-push constant 10
-call String.new 1
-push constant 71
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 109
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 118
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 33
-call String.appendChar 2
-pop static 3
-push constant 6
-call String.new 1
-push constant 84
-call String.appendChar 2
-push constant 117
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 58
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-pop static 5
-push constant 0
-return
-function Board.initBoard 3
-push argument 0
-pop pointer 0
-push constant 0
-pop local 0
-label WHILE_EXP0
-push local 0
-push constant 4
-lt
-not
-if-goto WHILE_END0
-push constant 0
-pop local 1
-push local 0
-push this 0
-add
-pop pointer 1
-push that 0
-pop local 2
-label WHILE_EXP1
-push local 1
-push constant 4
-lt
-not
-if-goto WHILE_END1
-push local 1
-push local 2
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push local 1
-push constant 1
-add
-pop local 1
-goto WHILE_EXP1
-label WHILE_END1
-push local 0
-push constant 1
-add
-pop local 0
-goto WHILE_EXP0
-label WHILE_END0
-push constant 0
-push this 0
-add
-pop pointer 1
-push that 0
-pop local 2
-push constant 0
-push local 2
-add
-push constant 65
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 0
-pop this 1
-push constant 0
-pop this 3
-push constant 0
-return
-function Board.transpose 0
-push argument 0
-pop pointer 0
-push pointer 0
-push constant 0
-push constant 1
-call Board.exch 3
-pop temp 0
-push pointer 0
-push constant 0
-push constant 2
-call Board.exch 3
-pop temp 0
-push pointer 0
-push constant 0
-push constant 3
-call Board.exch 3
-pop temp 0
-push pointer 0
-push constant 1
-push constant 2
-call Board.exch 3
-pop temp 0
-push pointer 0
-push constant 1
-push constant 3
-call Board.exch 3
-pop temp 0
-push pointer 0
-push constant 2
-push constant 3
-call Board.exch 3
-pop temp 0
-push constant 0
-return
-function Board.exch 3
-push argument 0
-pop pointer 0
-push argument 1
-push this 0
-add
-pop pointer 1
-push that 0
-pop local 1
-push argument 2
-push this 0
-add
-pop pointer 1
-push that 0
-pop local 2
-push argument 2
-push local 1
-add
-pop pointer 1
-push that 0
-pop local 0
-push argument 2
-push local 1
-add
-push argument 1
-push local 2
-add
-pop pointer 1
-push that 0
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push argument 1
-push local 2
-add
-push local 0
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 0
-return
-function Board.align 2
-push argument 0
-pop pointer 0
-push constant 0
-pop local 0
-push constant 0
-pop local 1
-push argument 2
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-label WHILE_EXP0
-push local 0
-push constant 4
-lt
-not
-if-goto WHILE_END0
-push local 0
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 64
-gt
-if-goto IF_TRUE1
-goto IF_FALSE1
-label IF_TRUE1
-push local 1
-push argument 1
-add
-push local 0
-push argument 1
-add
-pop pointer 1
-push that 0
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push local 1
-push constant 1
-add
-pop local 1
-label IF_FALSE1
-push local 0
-push constant 1
-add
-pop local 0
-goto WHILE_EXP0
-label WHILE_END0
-label WHILE_EXP1
-push local 1
-push constant 4
-lt
-not
-if-goto WHILE_END1
-push local 1
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push local 1
-push constant 1
-add
-pop local 1
-goto WHILE_EXP1
-label WHILE_END1
-goto IF_END0
-label IF_FALSE0
-label WHILE_EXP2
-push local 0
-push constant 4
-lt
-not
-if-goto WHILE_END2
-push constant 3
-push local 0
-sub
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 64
-gt
-if-goto IF_TRUE2
-goto IF_FALSE2
-label IF_TRUE2
-push constant 3
-push local 1
-sub
-push argument 1
-add
-push constant 3
-push local 0
-sub
-push argument 1
-add
-pop pointer 1
-push that 0
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push local 1
-push constant 1
-add
-pop local 1
-label IF_FALSE2
-push local 0
-push constant 1
-add
-pop local 0
-goto WHILE_EXP2
-label WHILE_END2
-label WHILE_EXP3
-push local 1
-push constant 4
-lt
-not
-if-goto WHILE_END3
-push constant 3
-push local 1
-sub
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push local 1
-push constant 1
-add
-pop local 1
-goto WHILE_EXP3
-label WHILE_END3
-label IF_END0
-push constant 0
-return
-function Board.reduce 0
-push argument 0
-pop pointer 0
-push constant 0
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-push argument 1
-add
-pop pointer 1
-push that 0
-eq
-push constant 2
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 3
-push argument 1
-add
-pop pointer 1
-push that 0
-eq
-and
-push constant 0
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 64
-gt
-and
-push constant 2
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 64
-gt
-and
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push argument 2
-if-goto IF_TRUE1
-goto IF_FALSE1
-label IF_TRUE1
-push constant 0
-push argument 1
-add
-push constant 0
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-add
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 1
-push argument 1
-add
-push constant 2
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-add
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 2
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 3
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-goto IF_END1
-label IF_FALSE1
-push constant 3
-push argument 1
-add
-push constant 3
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-add
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 2
-push argument 1
-add
-push constant 1
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-add
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 1
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 0
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-label IF_END1
-push constant 0
-return
-label IF_FALSE0
-push constant 0
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-push argument 1
-add
-pop pointer 1
-push that 0
-eq
-push constant 0
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 64
-gt
-and
-if-goto IF_TRUE2
-goto IF_FALSE2
-label IF_TRUE2
-push argument 2
-if-goto IF_TRUE3
-goto IF_FALSE3
-label IF_TRUE3
-push constant 0
-push argument 1
-add
-push constant 0
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-add
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 1
-push argument 1
-add
-push constant 2
-push argument 1
-add
-pop pointer 1
-push that 0
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 2
-push argument 1
-add
-push constant 3
-push argument 1
-add
-pop pointer 1
-push that 0
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 3
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-goto IF_END3
-label IF_FALSE3
-push constant 1
-push argument 1
-add
-push constant 1
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-add
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 0
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-label IF_END3
-push constant 0
-return
-label IF_FALSE2
-push constant 2
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 3
-push argument 1
-add
-pop pointer 1
-push that 0
-eq
-push constant 2
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 64
-gt
-and
-if-goto IF_TRUE4
-goto IF_FALSE4
-label IF_TRUE4
-push argument 2
-if-goto IF_TRUE5
-goto IF_FALSE5
-label IF_TRUE5
-push constant 2
-push argument 1
-add
-push constant 2
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-add
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 3
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-goto IF_END5
-label IF_FALSE5
-push constant 3
-push argument 1
-add
-push constant 3
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-add
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 2
-push argument 1
-add
-push constant 1
-push argument 1
-add
-pop pointer 1
-push that 0
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 1
-push argument 1
-add
-push constant 0
-push argument 1
-add
-pop pointer 1
-push that 0
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 0
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-label IF_END5
-push constant 0
-return
-label IF_FALSE4
-push constant 1
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 2
-push argument 1
-add
-pop pointer 1
-push that 0
-eq
-push constant 1
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 64
-gt
-and
-if-goto IF_TRUE6
-goto IF_FALSE6
-label IF_TRUE6
-push argument 2
-if-goto IF_TRUE7
-goto IF_FALSE7
-label IF_TRUE7
-push constant 1
-push argument 1
-add
-push constant 1
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-add
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 2
-push argument 1
-add
-push constant 3
-push argument 1
-add
-pop pointer 1
-push that 0
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 3
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-goto IF_END7
-label IF_FALSE7
-push constant 2
-push argument 1
-add
-push constant 2
-push argument 1
-add
-pop pointer 1
-push that 0
-push constant 1
-add
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 1
-push argument 1
-add
-push constant 0
-push argument 1
-add
-pop pointer 1
-push that 0
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 0
-push argument 1
-add
-push constant 32
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-label IF_END7
-push constant 0
-return
-label IF_FALSE6
-push constant 0
-return
-function Board.addTile 5
-push argument 0
-pop pointer 0
-push this 3
-push constant 1
-eq
-not
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 0
-return
-label IF_FALSE0
-push this 2
-push constant 25173
-call Math.multiply 2
-push constant 13849
-add
-pop this 2
-push this 2
-push constant 0
-lt
-if-goto IF_TRUE1
-goto IF_FALSE1
-label IF_TRUE1
-push this 2
-neg
-pop this 2
-label IF_FALSE1
-push this 2
-push this 2
-push constant 2
-call Math.divide 2
-push constant 2
-call Math.multiply 2
-sub
-push constant 0
-eq
-if-goto IF_TRUE2
-goto IF_FALSE2
-label IF_TRUE2
-push constant 1
-pop local 3
-goto IF_END2
-label IF_FALSE2
-push constant 1
-neg
-pop local 3
-label IF_END2
-push this 2
-push this 2
-push constant 16
-call Math.divide 2
-push constant 16
-call Math.multiply 2
-sub
-pop this 2
-push this 2
-push constant 4
-call Math.divide 2
-pop local 1
-push this 2
-push constant 4
-push local 1
-call Math.multiply 2
-sub
-pop local 2
-push local 1
-push this 0
-add
-pop pointer 1
-push that 0
-pop local 0
-push constant 65
-pop local 4
-label WHILE_EXP0
-push local 2
-push local 0
-add
-pop pointer 1
-push that 0
-push constant 64
-gt
-not
-if-goto WHILE_END0
-push this 2
-push local 3
-add
-pop this 2
-push this 2
-push constant 0
-lt
-if-goto IF_TRUE3
-goto IF_FALSE3
-label IF_TRUE3
-push constant 15
-pop this 2
-label IF_FALSE3
-push this 2
-push this 2
-push constant 16
-call Math.divide 2
-push constant 16
-call Math.multiply 2
-sub
-pop this 2
-push this 2
-push constant 4
-call Math.divide 2
-pop local 1
-push this 2
-push constant 4
-push local 1
-call Math.multiply 2
-sub
-pop local 2
-push local 1
-push this 0
-add
-pop pointer 1
-push that 0
-pop local 0
-push constant 131
-push local 4
-sub
-pop local 4
-goto WHILE_EXP0
-label WHILE_END0
-push local 2
-push local 0
-add
-push local 4
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 0
-return
-function Board.transform 3
-push argument 0
-pop pointer 0
-push argument 1
-push constant 0
-eq
-push argument 1
-push constant 1
-eq
-or
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 0
-not
-pop local 1
-goto IF_END0
-label IF_FALSE0
-push constant 0
-pop local 1
-label IF_END0
-push argument 1
-push constant 0
-eq
-push argument 1
-push constant 2
-eq
-or
-if-goto IF_TRUE1
-goto IF_FALSE1
-label IF_TRUE1
-push constant 0
-pop local 0
-goto IF_END1
-label IF_FALSE1
-push constant 0
-not
-pop local 0
-label IF_END1
-push local 0
-if-goto IF_TRUE2
-goto IF_FALSE2
-label IF_TRUE2
-push pointer 0
-call Board.transpose 1
-pop temp 0
-label IF_FALSE2
-push constant 0
-pop local 2
-label WHILE_EXP0
-push local 2
-push constant 4
-lt
-not
-if-goto WHILE_END0
-push pointer 0
-push local 2
-push this 0
-add
-pop pointer 1
-push that 0
-push local 1
-call Board.align 3
-pop temp 0
-push pointer 0
-push local 2
-push this 0
-add
-pop pointer 1
-push that 0
-push local 1
-call Board.reduce 3
-pop temp 0
-push local 2
-push constant 1
-add
-pop local 2
-goto WHILE_EXP0
-label WHILE_END0
-push local 0
-if-goto IF_TRUE3
-goto IF_FALSE3
-label IF_TRUE3
-push pointer 0
-call Board.transpose 1
-pop temp 0
-label IF_FALSE3
-push constant 0
-return
-function Board.next 0
-push argument 0
-pop pointer 0
-push this 1
-push constant 1
-add
-pop this 1
-push pointer 0
-push argument 1
-call Board.transform 2
-pop temp 0
-push pointer 0
-call Board.updateStatus 1
-pop temp 0
-push constant 0
-return
-function Board.getStatus 0
-push argument 0
-pop pointer 0
-push this 3
-return
-function Board.setStatus 0
-push argument 0
-pop pointer 0
-push argument 1
-pop this 3
-push constant 0
-return
-function Board.updateStatus 3
-push argument 0
-pop pointer 0
-push constant 0
-pop local 0
-label WHILE_EXP0
-push local 0
-push constant 4
-lt
-not
-if-goto WHILE_END0
-push local 0
-push this 0
-add
-pop pointer 1
-push that 0
-pop local 2
-push constant 0
-pop local 1
-label WHILE_EXP1
-push local 1
-push constant 4
-lt
-not
-if-goto WHILE_END1
-push local 1
-push local 2
-add
-pop pointer 1
-push that 0
-push constant 75
-eq
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 3
-pop this 3
-push constant 0
-return
-label IF_FALSE0
-push local 1
-push local 2
-add
-pop pointer 1
-push that 0
-push constant 32
-eq
-if-goto IF_TRUE1
-goto IF_FALSE1
-label IF_TRUE1
-push constant 1
-pop this 3
-push constant 0
-return
-label IF_FALSE1
-push local 1
-push constant 1
-add
-pop local 1
-goto WHILE_EXP1
-label WHILE_END1
-push local 0
-push constant 1
-add
-pop local 0
-goto WHILE_EXP0
-label WHILE_END0
-push constant 2
-pop this 3
-push constant 0
-return
-function Board.draw 5
-push argument 0
-pop pointer 0
-push constant 9
-pop local 0
-push constant 30
-pop local 1
-push this 3
-push constant 0
-eq
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push local 0
-push constant 1
-sub
-push local 1
-push constant 1
-sub
-call Output.moveCursor 2
-pop temp 0
-push constant 75
-call Output.printChar 1
-pop temp 0
-push local 0
-push constant 1
-add
-push local 1
-push constant 1
-sub
-call Output.moveCursor 2
-pop temp 0
-push static 2
-call Output.printString 1
-pop temp 0
-goto IF_END0
-label IF_FALSE0
-push this 3
-push constant 2
-eq
-if-goto IF_TRUE1
-goto IF_FALSE1
-label IF_TRUE1
-push local 0
-push constant 1
-sub
-push local 1
-push constant 1
-sub
-call Output.moveCursor 2
-pop temp 0
-push static 3
-call Output.printString 1
-pop temp 0
-push local 0
-push constant 1
-add
-push local 1
-push constant 1
-sub
-call Output.moveCursor 2
-pop temp 0
-push static 1
-call Output.printString 1
-pop temp 0
-push local 0
-push constant 3
-add
-push local 1
-push constant 1
-sub
-call Output.moveCursor 2
-pop temp 0
-push static 2
-call Output.printString 1
-pop temp 0
-goto IF_END1
-label IF_FALSE1
-push this 3
-push constant 3
-eq
-if-goto IF_TRUE2
-goto IF_FALSE2
-label IF_TRUE2
-push local 0
-push constant 1
-sub
-push local 1
-push constant 1
-sub
-call Output.moveCursor 2
-pop temp 0
-push static 3
-call Output.printString 1
-pop temp 0
-push local 0
-push constant 1
-add
-push local 1
-push constant 1
-sub
-call Output.moveCursor 2
-pop temp 0
-push static 4
-call Output.printString 1
-pop temp 0
-push local 0
-push constant 3
-add
-push local 1
-push constant 1
-sub
-call Output.moveCursor 2
-pop temp 0
-push static 2
-call Output.printString 1
-pop temp 0
-goto IF_END2
-label IF_FALSE2
-push local 0
-push constant 1
-sub
-push local 1
-push constant 1
-sub
-call Output.moveCursor 2
-pop temp 0
-push static 0
-call Output.printString 1
-pop temp 0
-push local 0
-push constant 4
-add
-push local 1
-push constant 1
-sub
-call Output.moveCursor 2
-pop temp 0
-push static 0
-call Output.printString 1
-pop temp 0
-push constant 0
-pop local 2
-label WHILE_EXP0
-push local 2
-push constant 4
-lt
-not
-if-goto WHILE_END0
-push constant 0
-pop local 3
-push local 0
-push local 2
-add
-push local 1
-push constant 1
-sub
-call Output.moveCursor 2
-pop temp 0
-push constant 124
-call Output.printChar 1
-pop temp 0
-push local 2
-push this 0
-add
-pop pointer 1
-push that 0
-pop local 4
-label WHILE_EXP1
-push local 3
-push constant 4
-lt
-not
-if-goto WHILE_END1
-push local 3
-push local 4
-add
-pop pointer 1
-push that 0
-call Output.printChar 1
-pop temp 0
-push local 3
-push constant 1
-add
-pop local 3
-goto WHILE_EXP1
-label WHILE_END1
-push constant 124
-call Output.printChar 1
-pop temp 0
-push local 2
-push constant 1
-add
-pop local 2
-goto WHILE_EXP0
-label WHILE_END0
-push local 0
-push constant 6
-add
-push local 1
-push constant 2
-sub
-call Output.moveCursor 2
-pop temp 0
-push static 5
-call Output.printString 1
-pop temp 0
-push this 1
-call Output.printInt 1
-pop temp 0
-label IF_END2
-label IF_END1
-label IF_END0
-push constant 0
-return
-function Board.dispose 0
-push argument 0
-pop pointer 0
-push pointer 0
-call Memory.deAlloc 1
-pop temp 0
-push constant 0
-return