summaryrefslogtreecommitdiff
path: root/projects/12/MemoryTest/Memory.vm
diff options
context:
space:
mode:
Diffstat (limited to 'projects/12/MemoryTest/Memory.vm')
-rw-r--r--projects/12/MemoryTest/Memory.vm118
1 files changed, 7 insertions, 111 deletions
diff --git a/projects/12/MemoryTest/Memory.vm b/projects/12/MemoryTest/Memory.vm
index c7410fc..0570b46 100644
--- a/projects/12/MemoryTest/Memory.vm
+++ b/projects/12/MemoryTest/Memory.vm
@@ -21,6 +21,8 @@ pop pointer 1
push temp 0
pop that 0
push constant 0
+pop static 2
+push constant 0
return
function Memory.peek 0
push argument 0
@@ -226,137 +228,31 @@ push constant 2
add
return
label IF_END0
-function Memory.deAlloc 3
-push constant 0
-pop local 2
-push local 2
-push static 1
-add
-pop pointer 1
-push that 0
-pop local 1
+function Memory.deAlloc 1
push argument 0
push static 1
sub
push constant 2
sub
pop local 0
-label WHILE_EXP0
-push local 1
-push constant 1
-neg
-gt
-push local 1
push local 0
-eq
-not
-and
-not
-if-goto WHILE_END0
-push local 1
-pop local 2
-push local 1
push static 1
add
-pop pointer 1
-push that 0
-pop local 1
-goto WHILE_EXP0
-label WHILE_END0
-push local 1
push constant 1
neg
-eq
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 23
-call String.new 1
-push constant 84
-call String.appendChar 2
-push constant 104
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 109
-call String.appendChar 2
-push constant 112
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 98
-call String.appendChar 2
-push constant 108
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 104
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 112
-call String.appendChar 2
-push constant 112
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 100
-call String.appendChar 2
-call String.println 1
-pop temp 0
-push constant 1
-call Sys.error 1
-pop temp 0
-push constant 0
-return
-goto IF_END0
-label IF_FALSE0
-push local 2
-push static 1
-add
-push local 1
-push static 1
-add
-pop pointer 1
-push that 0
pop temp 0
pop pointer 1
push temp 0
pop that 0
-push local 2
-push constant 1
-add
-push static 1
-add
-push local 2
+push static 2
push static 1
add
-pop pointer 1
-push that 0
-push local 2
-sub
-push constant 2
-sub
+push local 0
pop temp 0
pop pointer 1
push temp 0
pop that 0
+push local 0
+pop static 2
push constant 0
return
-label IF_END0