From d3a0cc3a8ba6dfeb64d3faeffdeb6845b60e5840 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Sat, 20 Jan 2018 15:41:49 +0100 Subject: rearranged the dir for github - removed tools and pdfs - rearranged the projects dirs - added md files - other minor changes --- projects/09/K/Board.vm | 1465 ------------------------------------------------ 1 file changed, 1465 deletions(-) delete mode 100644 projects/09/K/Board.vm (limited to 'projects/09/K/Board.vm') 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 -- cgit v1.2.3