1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
[38;5;15m[48;5;4m[2J[1;1H
[38;5;14m Guess the number!
===================
[38;5;15m
Alright! I have a secret number between 0 and 100
You have 3 attempts left to guess my number
[38;5;9mWrong. 10 is too low!
[38;5;15m
You have 2 attempts left to guess my number
[38;5;9mWrong. 90 is too high!
[38;5;15m
You have 1 attempts left to guess my number
[38;5;9mWrong. 50 is too low!
[38;5;15m[38;5;9mSorry. You lost :-( The secret number was 70
[38;5;15m
Alright! I have a secret number between 0 and 100
You have 3 attempts left to guess my number
[38;5;9mWrong. 50 is too high!
[38;5;15m
You have 2 attempts left to guess my number
[38;5;9mWrong. 75 is too high!
[38;5;15m
You have 1 attempts left to guess my number
[38;5;9mWrong. 5 is too low!
[38;5;15m[38;5;9mSorry. You lost :-( The secret number was 22
[38;5;15m
Alright! I have a secret number between 0 and 100
You have 3 attempts left to guess my number
[38;5;9mWrong. 50 is too low!
[38;5;15m
You have 2 attempts left to guess my number
[38;5;10mCorrect. You win! :-)
[38;5;15m
[39m[49m[2J[1;1HScore: 1 wins and 2 losses
Thanks for playing
0000 PUSH% 15 # 16:7
0001 SETV FG
0002 PUSH% 4 # 17:7
0003 SETV BG
0004 PUSH% 14 # 18:10
0005 SETV TITLE
0006 PUSH% 9 # 19:8
0007 SETV BAD
0008 PUSH% 10 # 20:9
0009 SETV GOOD
000a LOAD% BG # 22:12
000b PUSH% 1 # 22:12
000c LOAD% FG # 22:7
000d PUSH% 1 # 22:7
000e CALLB COLOR, 4 # 22:1
000f CALLB CLS, 0 # 23:1
0010 CALLB PRINT, 0 # 24:1
0011 LOAD% BG # 25:15
0012 PUSH% 1 # 25:15
0013 LOAD% TITLE # 25:7
0014 PUSH% 1 # 25:7
0015 CALLB COLOR, 4 # 25:1
0016 PUSH$ " Guess the number!" # 26:7
0017 PUSH% 4 # 26:7
0018 CALLB PRINT, 2 # 26:1
0019 PUSH$ "===================" # 27:7
001a PUSH% 4 # 27:7
001b CALLB PRINT, 2 # 27:1
001c LOAD% BG # 28:12
001d PUSH% 1 # 28:12
001e LOAD% FG # 28:7
001f PUSH% 1 # 28:7
0020 CALLB COLOR, 4 # 28:1
0021 CALLB PRINT, 0 # 29:1
0022 LOADR MAX_NUM # 30:46
0023 PUSH% 1 # 30:44
0024 PUSH$ "What's the largest number I can use" # 30:7
0025 PUSH% 1 # 30:7
0026 CALLB INPUT, 4 # 30:1
0027 LOADR MAX_ATTEMPTS # 31:38
0028 PUSH% 1 # 31:36
0029 PUSH$ "How many attempts each time" # 31:7
002a PUSH% 1 # 31:7
002b CALLB INPUT, 4 # 31:1
002c PUSH% 0 # 33:9
002d SETV WINS
002e PUSH% 0 # 34:11
002f SETV LOSSES
0030 PUSH? true # 36:10
0031 SETV AGAIN
0032 LOAD? AGAIN # 37:7
0033 JMPNT 00b8
0034 CALLB PRINT, 0 # 38:5
0035 PUSH% 1 # 39:25
0036 CALLF# RND, 1 # 39:20
0037 LOAD% MAX_NUM # 39:30
0038 %TO#
0039 MUL# # 39:28
003a CALLF% INT, 1 # 39:15
003b SETV SECRET
003c LOAD% MAX_NUM # 40:60
003d PUSH% 3 # 40:60
003e PUSH% 1 # 40:58
003f PUSH$ "Alright! I have a secret number between 0 and" # 40:11
0040 PUSH% 4 # 40:11
0041 CALLB PRINT, 5 # 40:5
0042 LOAD% MAX_ATTEMPTS # 42:17
0043 SETV ATTEMPTS
0044 PUSH% 1 # 43:15
0045 NEG% # 43:14
0046 SETV GUESS
0047 LOAD% ATTEMPTS # 44:11
0048 PUSH% 0 # 44:23
0049 CMPG% # 44:21
004a LOAD% GUESS # 44:29
004b LOAD% SECRET # 44:39
004c CMPNE% # 44:36
004d AND? # 44:25
004e JMPNT 008a
004f CALLB PRINT, 0 # 45:9
0050 PUSH$ "attempts left to guess my number" # 46:38
0051 PUSH% 4 # 46:38
0052 PUSH% 1 # 46:36
0053 LOAD% ATTEMPTS # 46:27
0054 PUSH% 3 # 46:27
0055 PUSH% 1 # 46:25
0056 PUSH$ "You have" # 46:15
0057 PUSH% 4 # 46:15
0058 CALLB PRINT, 8 # 46:9
0059 LOADR GUESS # 47:36
005a PUSH% 1 # 47:34
005b PUSH$ "What's your guess" # 47:15
005c PUSH% 1 # 47:15
005d CALLB INPUT, 4 # 47:9
005e LOAD% GUESS # 48:12
005f LOAD% SECRET # 48:22
0060 CMPNE% # 48:19
0061 JMPNT 0085
0062 LOAD% BG # 49:25
0063 PUSH% 1 # 49:25
0064 LOAD% BAD # 49:19
0065 PUSH% 1 # 49:19
0066 CALLB COLOR, 4 # 49:13
0067 LOAD% GUESS # 50:16
0068 LOAD% SECRET # 50:25
0069 CMPL% # 50:23
006a JMPNT 0075
006b PUSH$ "is too low!" # 51:41
006c PUSH% 4 # 51:41
006d PUSH% 1 # 51:39
006e LOAD% GUESS # 51:33
006f PUSH% 3 # 51:33
0070 PUSH% 1 # 51:31
0071 PUSH$ "Wrong." # 51:23
0072 PUSH% 4 # 51:23
0073 CALLB PRINT, 8 # 51:17
0074 JMP 0080
0075 PUSH? true # 52:13
0076 JMPNT 0080
0077 PUSH$ "is too high!" # 53:41
0078 PUSH% 4 # 53:41
0079 PUSH% 1 # 53:39
007a LOAD% GUESS # 53:33
007b PUSH% 3 # 53:33
007c PUSH% 1 # 53:31
007d PUSH$ "Wrong." # 53:23
007e PUSH% 4 # 53:23
007f CALLB PRINT, 8 # 53:17
0080 LOAD% BG # 55:24
0081 PUSH% 1 # 55:24
0082 LOAD% FG # 55:19
0083 PUSH% 1 # 55:19
0084 CALLB COLOR, 4 # 55:13
0085 LOAD% ATTEMPTS # 57:21
0086 PUSH% 1 # 57:33
0087 SUB% # 57:31
0088 SETV ATTEMPTS
0089 JMP 0047
008a LOAD% GUESS # 60:8
008b LOAD% SECRET # 60:17
008c CMPE% # 60:15
008d JMPNT 009b
008e LOAD% WINS # 61:17
008f PUSH% 1 # 61:25
0090 ADD% # 61:23
0091 SETV WINS
0092 LOAD% BG # 62:22
0093 PUSH% 1 # 62:22
0094 LOAD% GOOD # 62:15
0095 PUSH% 1 # 62:15
0096 CALLB COLOR, 4 # 62:9
0097 PUSH$ "Correct. You win! :-)" # 63:15
0098 PUSH% 4 # 63:15
0099 CALLB PRINT, 2 # 63:9
009a JMP 00ac
009b PUSH? true # 64:5
009c JMPNT 00ac
009d LOAD% LOSSES # 65:19
009e PUSH% 1 # 65:29
009f ADD% # 65:27
00a0 SETV LOSSES
00a1 LOAD% BG # 66:21
00a2 PUSH% 1 # 66:21
00a3 LOAD% BAD # 66:15
00a4 PUSH% 1 # 66:15
00a5 CALLB COLOR, 4 # 66:9
00a6 LOAD% SECRET # 67:60
00a7 PUSH% 3 # 67:60
00a8 PUSH% 1 # 67:58
00a9 PUSH$ "Sorry. You lost :-( The secret number was" # 67:15
00aa PUSH% 4 # 67:15
00ab CALLB PRINT, 5 # 67:9
00ac LOAD% BG # 69:16
00ad PUSH% 1 # 69:16
00ae LOAD% FG # 69:11
00af PUSH% 1 # 69:11
00b0 CALLB COLOR, 4 # 69:5
00b1 CALLB PRINT, 0 # 70:5
00b2 LOADR AGAIN # 72:40
00b3 PUSH% 1 # 72:38
00b4 PUSH$ "Do you want to play again" # 72:11
00b5 PUSH% 1 # 72:11
00b6 CALLB INPUT, 4 # 72:5
00b7 JMP 0032
00b8 CALLB COLOR, 0 # 75:1
00b9 CALLB CLS, 0 # 76:1
00ba PUSH$ "losses" # 77:45
00bb PUSH% 4 # 77:45
00bc PUSH% 1 # 77:43
00bd LOAD% LOSSES # 77:36
00be PUSH% 3 # 77:36
00bf PUSH% 1 # 77:34
00c0 PUSH$ "wins and" # 77:24
00c1 PUSH% 4 # 77:24
00c2 PUSH% 1 # 77:22
00c3 LOAD% WINS # 77:17
00c4 PUSH% 3 # 77:17
00c5 PUSH% 1 # 77:15
00c6 PUSH$ "Score:" # 77:7
00c7 PUSH% 4 # 77:7
00c8 CALLB PRINT, 14 # 77:1
00c9 CALLB PRINT, 0 # 78:1
00ca PUSH$ "Thanks for playing" # 79:7
00cb PUSH% 4 # 79:7
00cc CALLB PRINT, 2 # 79:1
00cd CALLB PRINT, 0 # 80:1