diff options
author | Yuchen Pei <me@ypei.me> | 2018-01-17 18:35:55 +0100 |
---|---|---|
committer | Yuchen Pei <me@ypei.me> | 2018-01-17 18:35:55 +0100 |
commit | 01da7177bd2f4d83e8916540a69d8b2690b52bbb (patch) | |
tree | be320d5a30c62cfb93eee1333244e53a75811121 /projects/12/OutputTest/Output.vm | |
parent | c89bcc6a364ded67504e88db1bf71417250e2ea3 (diff) |
finished project 12
- revised output
- finished string
Diffstat (limited to 'projects/12/OutputTest/Output.vm')
-rw-r--r-- | projects/12/OutputTest/Output.vm | 85 |
1 files changed, 6 insertions, 79 deletions
diff --git a/projects/12/OutputTest/Output.vm b/projects/12/OutputTest/Output.vm index e291708..dd83b63 100644 --- a/projects/12/OutputTest/Output.vm +++ b/projects/12/OutputTest/Output.vm @@ -1702,90 +1702,17 @@ goto WHILE_EXP0 label WHILE_END0 push constant 0 return -function Output.printInt 4 -push argument 0 -push constant 0 -eq -if-goto IF_TRUE0 -goto IF_FALSE0 -label IF_TRUE0 -push constant 48 -call Output.printChar 1 -pop temp 0 -push constant 0 -return -label IF_FALSE0 -push argument 0 +function Output.printInt 1 +push constant 6 +call String.new 1 pop local 0 +push local 0 push argument 0 -push constant 0 -lt -if-goto IF_TRUE1 -goto IF_FALSE1 -label IF_TRUE1 -push constant 45 -call Output.printChar 1 +call String.setInt 2 pop temp 0 push local 0 -neg -pop local 0 -label IF_FALSE1 -push constant 5 -call Array.new 1 -pop local 3 -push constant 0 -pop local 2 -label WHILE_EXP0 -push local 0 -push constant 0 -gt -not -if-goto WHILE_END0 -push local 0 -push constant 10 -call Math.divide 2 -pop local 1 -push local 2 -push local 3 -add -push constant 48 -push local 0 -add -push local 1 -push constant 10 -call Math.multiply 2 -sub -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push local 1 -pop local 0 -push local 2 -push constant 1 -add -pop local 2 -goto WHILE_EXP0 -label WHILE_END0 -label WHILE_EXP1 -push local 2 -push constant 0 -gt -not -if-goto WHILE_END1 -push local 2 -push constant 1 -sub -pop local 2 -push local 2 -push local 3 -add -pop pointer 1 -push that 0 -call Output.printChar 1 +call Output.printString 1 pop temp 0 -goto WHILE_EXP1 -label WHILE_END1 push constant 0 return function Output.println 0 |