From 01da7177bd2f4d83e8916540a69d8b2690b52bbb Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Wed, 17 Jan 2018 18:35:55 +0100 Subject: finished project 12 - revised output - finished string --- projects/12/StringTest/Main.vm | 469 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 469 insertions(+) create mode 100644 projects/12/StringTest/Main.vm (limited to 'projects/12/StringTest/Main.vm') diff --git a/projects/12/StringTest/Main.vm b/projects/12/StringTest/Main.vm new file mode 100644 index 0000000..2c9fb9f --- /dev/null +++ b/projects/12/StringTest/Main.vm @@ -0,0 +1,469 @@ +function Main.main 2 +push constant 0 +call String.new 1 +pop local 0 +push local 0 +call String.dispose 1 +pop temp 0 +push constant 6 +call String.new 1 +pop local 0 +push local 0 +push constant 97 +call String.appendChar 2 +pop local 0 +push local 0 +push constant 98 +call String.appendChar 2 +pop local 0 +push local 0 +push constant 99 +call String.appendChar 2 +pop local 0 +push local 0 +push constant 100 +call String.appendChar 2 +pop local 0 +push local 0 +push constant 101 +call String.appendChar 2 +pop local 0 +push constant 16 +call String.new 1 +push constant 110 +call String.appendChar 2 +push constant 101 +call String.appendChar 2 +push constant 119 +call String.appendChar 2 +push constant 44 +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 100 +call String.appendChar 2 +push constant 67 +call String.appendChar 2 +push constant 104 +call String.appendChar 2 +push constant 97 +call String.appendChar 2 +push constant 114 +call String.appendChar 2 +push constant 58 +call String.appendChar 2 +push constant 32 +call String.appendChar 2 +call Output.printString 1 +pop temp 0 +push local 0 +call Output.printString 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push constant 6 +call String.new 1 +pop local 1 +push local 1 +push constant 12345 +call String.setInt 2 +pop temp 0 +push constant 8 +call String.new 1 +push constant 115 +call String.appendChar 2 +push constant 101 +call String.appendChar 2 +push constant 116 +call String.appendChar 2 +push constant 73 +call String.appendChar 2 +push constant 110 +call String.appendChar 2 +push constant 116 +call String.appendChar 2 +push constant 58 +call String.appendChar 2 +push constant 32 +call String.appendChar 2 +call Output.printString 1 +pop temp 0 +push local 1 +call Output.printString 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push local 1 +push constant 32767 +neg +call String.setInt 2 +pop temp 0 +push constant 8 +call String.new 1 +push constant 115 +call String.appendChar 2 +push constant 101 +call String.appendChar 2 +push constant 116 +call String.appendChar 2 +push constant 73 +call String.appendChar 2 +push constant 110 +call String.appendChar 2 +push constant 116 +call String.appendChar 2 +push constant 58 +call String.appendChar 2 +push constant 32 +call String.appendChar 2 +call Output.printString 1 +pop temp 0 +push local 1 +call Output.printString 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push constant 8 +call String.new 1 +push constant 108 +call String.appendChar 2 +push constant 101 +call String.appendChar 2 +push constant 110 +call String.appendChar 2 +push constant 103 +call String.appendChar 2 +push constant 116 +call String.appendChar 2 +push constant 104 +call String.appendChar 2 +push constant 58 +call String.appendChar 2 +push constant 32 +call String.appendChar 2 +call Output.printString 1 +pop temp 0 +push local 0 +call String.length 1 +call Output.printInt 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push constant 11 +call String.new 1 +push constant 99 +call String.appendChar 2 +push constant 104 +call String.appendChar 2 +push constant 97 +call String.appendChar 2 +push constant 114 +call String.appendChar 2 +push constant 65 +call String.appendChar 2 +push constant 116 +call String.appendChar 2 +push constant 91 +call String.appendChar 2 +push constant 50 +call String.appendChar 2 +push constant 93 +call String.appendChar 2 +push constant 58 +call String.appendChar 2 +push constant 32 +call String.appendChar 2 +call Output.printString 1 +pop temp 0 +push local 0 +push constant 2 +call String.charAt 2 +call Output.printInt 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push local 0 +push constant 2 +push constant 45 +call String.setCharAt 3 +pop temp 0 +push constant 18 +call String.new 1 +push constant 115 +call String.appendChar 2 +push constant 101 +call String.appendChar 2 +push constant 116 +call String.appendChar 2 +push constant 67 +call String.appendChar 2 +push constant 104 +call String.appendChar 2 +push constant 97 +call String.appendChar 2 +push constant 114 +call String.appendChar 2 +push constant 65 +call String.appendChar 2 +push constant 116 +call String.appendChar 2 +push constant 40 +call String.appendChar 2 +push constant 50 +call String.appendChar 2 +push constant 44 +call String.appendChar 2 +push constant 39 +call String.appendChar 2 +push constant 45 +call String.appendChar 2 +push constant 39 +call String.appendChar 2 +push constant 41 +call String.appendChar 2 +push constant 58 +call String.appendChar 2 +push constant 32 +call String.appendChar 2 +call Output.printString 1 +pop temp 0 +push local 0 +call Output.printString 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push local 0 +call String.eraseLastChar 1 +pop temp 0 +push constant 15 +call String.new 1 +push constant 101 +call String.appendChar 2 +push constant 114 +call String.appendChar 2 +push constant 97 +call String.appendChar 2 +push constant 115 +call String.appendChar 2 +push constant 101 +call String.appendChar 2 +push constant 76 +call String.appendChar 2 +push constant 97 +call String.appendChar 2 +push constant 115 +call String.appendChar 2 +push constant 116 +call String.appendChar 2 +push constant 67 +call String.appendChar 2 +push constant 104 +call String.appendChar 2 +push constant 97 +call String.appendChar 2 +push constant 114 +call String.appendChar 2 +push constant 58 +call String.appendChar 2 +push constant 32 +call String.appendChar 2 +call Output.printString 1 +pop temp 0 +push local 0 +call Output.printString 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push constant 3 +call String.new 1 +push constant 52 +call String.appendChar 2 +push constant 53 +call String.appendChar 2 +push constant 54 +call String.appendChar 2 +pop local 0 +push constant 10 +call String.new 1 +push constant 105 +call String.appendChar 2 +push constant 110 +call String.appendChar 2 +push constant 116 +call String.appendChar 2 +push constant 86 +call String.appendChar 2 +push constant 97 +call String.appendChar 2 +push constant 108 +call String.appendChar 2 +push constant 117 +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 +call Output.printString 1 +pop temp 0 +push local 0 +call String.intValue 1 +call Output.printInt 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push constant 6 +call String.new 1 +push constant 45 +call String.appendChar 2 +push constant 51 +call String.appendChar 2 +push constant 50 +call String.appendChar 2 +push constant 49 +call String.appendChar 2 +push constant 50 +call String.appendChar 2 +push constant 51 +call String.appendChar 2 +pop local 0 +push constant 10 +call String.new 1 +push constant 105 +call String.appendChar 2 +push constant 110 +call String.appendChar 2 +push constant 116 +call String.appendChar 2 +push constant 86 +call String.appendChar 2 +push constant 97 +call String.appendChar 2 +push constant 108 +call String.appendChar 2 +push constant 117 +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 +call Output.printString 1 +pop temp 0 +push local 0 +call String.intValue 1 +call Output.printInt 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push constant 11 +call String.new 1 +push constant 98 +call String.appendChar 2 +push constant 97 +call String.appendChar 2 +push constant 99 +call String.appendChar 2 +push constant 107 +call String.appendChar 2 +push constant 83 +call String.appendChar 2 +push constant 112 +call String.appendChar 2 +push constant 97 +call String.appendChar 2 +push constant 99 +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 +call Output.printString 1 +pop temp 0 +call String.backSpace 0 +call Output.printInt 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push constant 13 +call String.new 1 +push constant 100 +call String.appendChar 2 +push constant 111 +call String.appendChar 2 +push constant 117 +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 81 +call String.appendChar 2 +push constant 117 +call String.appendChar 2 +push constant 111 +call String.appendChar 2 +push constant 116 +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 +call Output.printString 1 +pop temp 0 +call String.doubleQuote 0 +call Output.printInt 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push constant 9 +call String.new 1 +push constant 110 +call String.appendChar 2 +push constant 101 +call String.appendChar 2 +push constant 119 +call String.appendChar 2 +push constant 76 +call String.appendChar 2 +push constant 105 +call String.appendChar 2 +push constant 110 +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 +call Output.printString 1 +pop temp 0 +call String.newLine 0 +call Output.printInt 1 +pop temp 0 +call Output.println 0 +pop temp 0 +push local 1 +call String.dispose 1 +pop temp 0 +push local 0 +call String.dispose 1 +pop temp 0 +push constant 0 +return -- cgit v1.2.3