aboutsummaryrefslogtreecommitdiff
path: root/projects/12/ScreenTest/Screen.vm
diff options
context:
space:
mode:
Diffstat (limited to 'projects/12/ScreenTest/Screen.vm')
-rw-r--r--projects/12/ScreenTest/Screen.vm407
1 files changed, 0 insertions, 407 deletions
diff --git a/projects/12/ScreenTest/Screen.vm b/projects/12/ScreenTest/Screen.vm
deleted file mode 100644
index 8468225..0000000
--- a/projects/12/ScreenTest/Screen.vm
+++ /dev/null
@@ -1,407 +0,0 @@
-function Screen.init 2
-push constant 1
-pop local 1
-push constant 0
-pop local 0
-push constant 16
-call Array.new 1
-pop static 0
-label WHILE_EXP0
-push local 0
-push constant 16
-lt
-not
-if-goto WHILE_END0
-push local 0
-push static 0
-add
-push local 1
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push local 1
-push local 1
-add
-pop local 1
-push local 0
-push constant 1
-add
-pop local 0
-goto WHILE_EXP0
-label WHILE_END0
-push constant 16384
-pop static 1
-push constant 0
-not
-pop static 2
-push constant 0
-return
-function Screen.clearScreen 1
-push static 2
-pop local 0
-push constant 0
-pop static 2
-push constant 0
-push constant 0
-push constant 511
-push constant 255
-call Screen.drawRectangle 4
-pop temp 0
-push local 0
-pop static 2
-push constant 0
-return
-function Screen.setColor 0
-push argument 0
-pop static 2
-push constant 0
-return
-function Screen.drawPixel 2
-push argument 0
-push constant 0
-lt
-push argument 1
-push constant 0
-lt
-or
-push argument 0
-push constant 511
-gt
-or
-push argument 1
-push constant 255
-gt
-or
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 0
-return
-label IF_FALSE0
-push argument 0
-push constant 16
-call Math.divide 2
-pop local 1
-push constant 32
-push argument 1
-call Math.multiply 2
-push local 1
-add
-pop local 0
-push static 2
-if-goto IF_TRUE1
-goto IF_FALSE1
-label IF_TRUE1
-push local 0
-push static 1
-add
-push local 0
-push static 1
-add
-pop pointer 1
-push that 0
-push argument 0
-push local 1
-push constant 16
-call Math.multiply 2
-sub
-push static 0
-add
-pop pointer 1
-push that 0
-or
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-goto IF_END1
-label IF_FALSE1
-push local 0
-push static 1
-add
-push local 0
-push static 1
-add
-pop pointer 1
-push that 0
-push argument 0
-push local 1
-push constant 16
-call Math.multiply 2
-sub
-push static 0
-add
-pop pointer 1
-push that 0
-push constant 1
-add
-neg
-and
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-label IF_END1
-push constant 0
-return
-function Screen.drawLine 7
-push argument 0
-pop local 2
-push argument 1
-pop local 3
-push local 2
-push local 3
-call Screen.drawPixel 2
-pop temp 0
-push argument 0
-push argument 2
-eq
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push argument 1
-push argument 3
-eq
-if-goto IF_TRUE1
-goto IF_FALSE1
-label IF_TRUE1
-push constant 0
-return
-goto IF_END1
-label IF_FALSE1
-push constant 1
-pop local 6
-label IF_END1
-goto IF_END0
-label IF_FALSE0
-push argument 1
-push argument 3
-eq
-if-goto IF_TRUE2
-goto IF_FALSE2
-label IF_TRUE2
-push constant 1
-neg
-pop local 6
-goto IF_END2
-label IF_FALSE2
-push constant 0
-pop local 6
-label IF_END2
-label IF_END0
-push argument 2
-push argument 0
-sub
-pop local 0
-push argument 3
-push argument 1
-sub
-pop local 1
-push local 0
-call Math.sign 1
-pop local 4
-push local 1
-call Math.sign 1
-pop local 5
-push local 0
-call Math.abs 1
-pop local 0
-push local 1
-call Math.abs 1
-pop local 1
-label WHILE_EXP0
-push local 2
-push argument 2
-eq
-push local 3
-push argument 3
-eq
-and
-not
-not
-if-goto WHILE_END0
-push local 6
-push constant 0
-lt
-if-goto IF_TRUE3
-goto IF_FALSE3
-label IF_TRUE3
-push local 2
-push local 4
-add
-pop local 2
-push local 6
-push local 1
-add
-pop local 6
-goto IF_END3
-label IF_FALSE3
-push local 3
-push local 5
-add
-pop local 3
-push local 6
-push local 0
-sub
-pop local 6
-label IF_END3
-push local 2
-push local 3
-call Screen.drawPixel 2
-pop temp 0
-goto WHILE_EXP0
-label WHILE_END0
-push constant 0
-return
-function Screen.drawRectangle 1
-push argument 0
-push argument 2
-gt
-push argument 1
-push argument 3
-gt
-or
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 0
-return
-label IF_FALSE0
-push argument 0
-pop local 0
-label WHILE_EXP0
-push local 0
-push argument 2
-gt
-not
-not
-if-goto WHILE_END0
-push local 0
-push argument 1
-push local 0
-push argument 3
-call Screen.drawLine 4
-pop temp 0
-push local 0
-push constant 1
-add
-pop local 0
-goto WHILE_EXP0
-label WHILE_END0
-push constant 0
-return
-function Screen.drawCircle 3
-push argument 2
-push constant 181
-gt
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 27
-call String.new 1
-push constant 100
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 119
-call String.appendChar 2
-push constant 67
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 99
-call String.appendChar 2
-push constant 108
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 58
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 100
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 117
-call String.appendChar 2
-push constant 115
-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 111
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 98
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 33
-call String.appendChar 2
-call String.println 1
-pop temp 0
-push constant 2
-call Sys.error 1
-pop temp 0
-push constant 0
-return
-label IF_FALSE0
-push argument 2
-neg
-pop local 1
-push argument 2
-push argument 2
-call Math.multiply 2
-pop local 2
-label WHILE_EXP0
-push local 1
-push argument 2
-gt
-not
-not
-if-goto WHILE_END0
-push local 2
-push local 1
-push local 1
-call Math.multiply 2
-sub
-call Math.sqrt 1
-pop local 0
-push argument 0
-push local 0
-sub
-push argument 1
-push local 1
-add
-push argument 0
-push local 0
-add
-push argument 1
-push local 1
-add
-call Screen.drawLine 4
-pop temp 0
-push local 1
-push constant 1
-add
-pop local 1
-goto WHILE_EXP0
-label WHILE_END0
-push constant 0
-return