This repository has been archived by the owner on Jan 5, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mastermind.lst
240 lines (240 loc) · 15.7 KB
/
mastermind.lst
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
(0000) 3000 0011000000000000 ( 1) .ORIG x3000
(3000) 4864 0100100001100100 ( 13) JSR INIT
(3001) F022 1111000000100010 ( 14) TRAP x22
(3002) F020 1111000000100000 ( 16) LOOP TRAP x20
(3003) 486B 0100100001101011 ( 17) JSR CORRECT_INPUT
(3004) 7080 0111000010000000 ( 18) STR R0 R2 #0
(3005) 207E 0010000001111110 ( 19) LD R0 HIDDEN
(3006) F021 1111000000100001 ( 20) TRAP x21
(3007) 14A1 0001010010100001 ( 21) ADD R2 R2 #1
(3008) 16FF 0001011011111111 ( 22) ADD R3 R3 #-1
(3009) 03F8 0000001111111000 ( 23) BRP LOOP
(300A) 2078 0010000001111000 ( 24) GAME LD R0 ENDLINE
(300B) F021 1111000000100001 ( 25) TRAP x21
(300C) 2088 0010000010001000 ( 26) LD R0 AD_PB
(300D) F022 1111000000100010 ( 27) TRAP x22
(300E) 56E0 0101011011100000 ( 28) AND R3 R3 #0
(300F) 16E4 0001011011100100 ( 29) ADD R3 R3 #4
(3010) E477 1110010001110111 ( 30) LEA R2 PASSA
(3011) 6280 0110001010000000 ( 33) PREPARE LDR R1 R2 #0
(3012) 7284 0111001010000100 ( 34) STR R1 R2 #4
(3013) 14A1 0001010010100001 ( 35) ADD R2 R2 #1
(3014) 16FF 0001011011111111 ( 36) ADD R3 R3 #-1
(3015) 03FB 0000001111111011 ( 37) BRP PREPARE
(3016) 56E0 0101011011100000 ( 39) AND R3 R3 #0
(3017) 16E4 0001011011100100 ( 40) ADD R3 R3 #4
(3018) E477 1110010001110111 ( 41) LEA R2 GUESSA
(3019) F020 1111000000100000 ( 42) ASK TRAP x20
(301A) 4854 0100100001010100 ( 43) JSR CORRECT_INPUT
(301B) F021 1111000000100001 ( 44) TRAP x21
(301C) 7080 0111000010000000 ( 45) STR R0 R2 #0
(301D) 14A1 0001010010100001 ( 46) ADD R2 R2 #1
(301E) 16FF 0001011011111111 ( 47) ADD R3 R3 #-1
(301F) 03F9 0000001111111001 ( 48) BRP ASK
(3020) 56E0 0101011011100000 ( 50) AND R3 R3 #0
(3021) 16E4 0001011011100100 ( 51) ADD R3 R3 #4
(3022) E069 1110000001101001 ( 52) LEA R0 TEMPA
(3023) 6400 0110010000000000 ( 53) BLACK LDR R2 R0 #0
(3024) 94BF 1001010010111111 ( 54) NOT R2 R2
(3025) 14A1 0001010010100001 ( 55) ADD R2 R2 #1
(3026) 6204 0110001000000100 ( 56) LDR R1 R0 #4
(3027) 1481 0001010010000001 ( 57) ADD R2 R2 R1
(3028) 0A04 0000101000000100 ( 58) BRNP CONTB
(3029) 1921 0001100100100001 ( 59) ADD R4 R4 #1
(302A) 7400 0111010000000000 ( 60) STR R2 R0 #0
(302B) 14A1 0001010010100001 ( 61) ADD R2 R2 #1
(302C) 7404 0111010000000100 ( 62) STR R2 R0 #4
(302D) 1021 0001000000100001 ( 63) CONTB ADD R0 R0 #1
(302E) 16FF 0001011011111111 ( 64) ADD R3 R3 #-1
(302F) 03F3 0000001111110011 ( 65) BRP BLACK
(3030) 56E0 0101011011100000 ( 67) AND R3 R3 #0
(3031) 16E4 0001011011100100 ( 68) ADD R3 R3 #4
(3032) EE5D 1110111001011101 ( 69) LEA R7 GUESSA
(3033) 63C0 0110001111000000 ( 70) WHITE LDR R1 R7 #0
(3034) 5DA0 0101110110100000 ( 71) AND R6 R6 #0
(3035) 1DA4 0001110110100100 ( 72) ADD R6 R6 #4
(3036) E055 1110000001010101 ( 73) LEA R0 TEMPA
(3037) 6400 0110010000000000 ( 74) TLOOP LDR R2 R0 #0
(3038) 94BF 1001010010111111 ( 75) NOT R2 R2
(3039) 14A1 0001010010100001 ( 76) ADD R2 R2 #1
(303A) 1481 0001010010000001 ( 77) ADD R2 R2 R1
(303B) 0A05 0000101000000101 ( 78) BRNP CONTA
(303C) 1B61 0001101101100001 ( 79) ADD R5 R5 #1
(303D) 7400 0111010000000000 ( 80) STR R2 R0 #0
(303E) 14A1 0001010010100001 ( 81) ADD R2 R2 #1
(303F) 75C0 0111010111000000 ( 82) STR R2 R7 #0
(3040) 0E03 0000111000000011 ( 83) BRNZP BREAK
(3041) 1021 0001000000100001 ( 84) CONTA ADD R0 R0 #1
(3042) 1DBF 0001110110111111 ( 85) ADD R6 R6 #-1
(3043) 03F3 0000001111110011 ( 86) BRP TLOOP
(3044) 1FE1 0001111111100001 ( 87) BREAK ADD R7 R7 #1
(3045) 16FF 0001011011111111 ( 88) ADD R3 R3 #-1
(3046) 03EC 0000001111101100 ( 89) BRP WHITE
(3047) 204E 0010000001001110 ( 91) LD R0 AD_PC
(3048) F022 1111000000100010 ( 92) TRAP x22
(3049) 1920 0001100100100000 ( 93) ADD R4 R4 #0
(304A) 0C07 0000110000000111 ( 94) BRNZ SKIPB
(304B) 5020 0101000000100000 ( 95) AND R0 R0 #0
(304C) 113C 0001000100111100 ( 96) ADD R0 R4 #-4
(304D) 0614 0000011000010100 ( 97) BRZP WINNER
(304E) 2036 0010000000110110 ( 98) LD R0 LETB
(304F) F021 1111000000100001 ( 99) BOUT TRAP x21
(3050) 193F 0001100100111111 ( 100) ADD R4 R4 #-1
(3051) 03FD 0000001111111101 ( 101) BRP BOUT
(3052) 1B60 0001101101100000 ( 102) SKIPB ADD R5 R5 #0
(3053) 0C04 0000110000000100 ( 103) BRNZ SKIPW
(3054) 2031 0010000000110001 ( 104) LD R0 LETW
(3055) F021 1111000000100001 ( 105) WOUT TRAP x21
(3056) 1B7F 0001101101111111 ( 106) ADD R5 R5 #-1
(3057) 03FD 0000001111111101 ( 107) BRP WOUT
(3058) E42E 1110010000101110 ( 109) SKIPW LEA R2 TICK
(3059) 6680 0110011010000000 ( 110) LDR R3 R2 #0
(305A) 16FF 0001011011111111 ( 111) ADD R3 R3 #-1
(305B) 7680 0111011010000000 ( 112) STR R3 R2 #0
(305C) 03AD 0000001110101101 ( 113) BRP GAME
(305D) 2025 0010000000100101 ( 114) LD R0 ENDLINE
(305E) F021 1111000000100001 ( 115) TRAP x21
(305F) 2038 0010000000111000 ( 116) LD R0 AD_PE
(3060) F022 1111000000100010 ( 117) TRAP x22
(3061) F025 1111000000100101 ( 118) FIN TRAP x25
(3062) 2034 0010000000110100 ( 120) WINNER LD R0 AD_PD
(3063) F022 1111000000100010 ( 121) TRAP x22
(3064) 0FFC 0000111111111100 ( 122) BRNZP FIN
(3065) 202E 0010000000101110 ( 124) INIT LD R0 AD_PA
(3066) 5260 0101001001100000 ( 125) AND R1 R1 #0
(3067) E420 1110010000100000 ( 126) LEA R2 PASSA
(3068) 56E0 0101011011100000 ( 127) AND R3 R3 #0
(3069) 16EC 0001011011101100 ( 128) ADD R3 R3 #12
(306A) E81C 1110100000011100 ( 129) LEA R4 TICK
(306B) 78C0 0111100011000000 ( 130) STR R4 R3 #0
(306C) 5920 0101100100100000 ( 131) AND R4 R4 #0
(306D) 16F8 0001011011111000 ( 132) ADD R3 R3 #-8
(306E) C1C0 1100000111000000 ( 133) RET
(306F) 5DA0 0101110110100000 ( 135) CORRECT_INPUT AND R6 R6 #0
(3070) 1DE0 0001110111100000 ( 136) ADD R6 R7 #0
(3071) 220F 0010001000001111 ( 137) LD R1 START
(3072) 480B 0100100000001011 ( 138) JSR NEGATE_R1
(3073) 1240 0001001001000000 ( 139) ADD R1 R1 R0
(3074) 0601 0000011000000001 ( 140) BRZP CK_A
(3075) 200B 0010000000001011 ( 141) LD R0 START
(3076) 220B 0010001000001011 ( 142) CK_A LD R1 END
(3077) 4806 0100100000000110 ( 143) JSR NEGATE_R1
(3078) 1240 0001001001000000 ( 144) ADD R1 R1 R0
(3079) 0C01 0000110000000001 ( 145) BRNZ CK_B
(307A) 2007 0010000000000111 ( 146) LD R0 END
(307B) 5FE0 0101111111100000 ( 147) CK_B AND R7 R7 #0
(307C) 1FA0 0001111110100000 ( 148) ADD R7 R6 #0
(307D) C1C0 1100000111000000 ( 149) RET
(307E) 927F 1001001001111111 ( 151) NEGATE_R1 NOT R1 R1
(307F) 1261 0001001001100001 ( 152) ADD R1 R1 #1
(3080) C1C0 1100000111000000 ( 153) RET
(3081) 0031 0000000000110001 ( 155) START .FILL x0031
(3082) 0036 0000000000110110 ( 156) END .FILL x0036
(3083) 000A 0000000000001010 ( 157) ENDLINE .FILL x000A
(3084) 0023 0000000000100011 ( 158) HIDDEN .FILL x0023
(3085) 0042 0000000001000010 ( 159) LETB .FILL x0042
(3086) 0057 0000000001010111 ( 160) LETW .FILL x0057
(3087) 000C 0000000000001100 ( 162) TICK .FILL x000C
(3088) 0000 0000000000000000 ( 163) PASSA .FILL x0000
(3089) 0000 0000000000000000 ( 164) PASSB .FILL x0000
(308A) 0000 0000000000000000 ( 165) PASSC .FILL x0000
(308B) 0000 0000000000000000 ( 166) PASSD .FILL x0000
(308C) 0000 0000000000000000 ( 167) TEMPA .FILL x0000
(308D) 0000 0000000000000000 ( 168) TEMPB .FILL x0000
(308E) 0000 0000000000000000 ( 169) TEMPC .FILL x0000
(308F) 0000 0000000000000000 ( 170) TEMPD .FILL x0000
(3090) 0000 0000000000000000 ( 171) GUESSA .FILL x0000
(3091) 0000 0000000000000000 ( 172) GUESSB .FILL x0000
(3092) 0000 0000000000000000 ( 173) GUESSC .FILL x0000
(3093) 0000 0000000000000000 ( 174) GUESSD .FILL x0000
(3094) 3099 0011000010011001 ( 176) AD_PA .FILL x3099
(3095) 30B4 0011000010110100 ( 177) AD_PB .FILL x30B4
(3096) 30BC 0011000010111100 ( 178) AD_PC .FILL x30BC
(3097) 30C1 0011000011000001 ( 179) AD_PD .FILL x30C1
(3098) 30CE 0011000011001110 ( 180) AD_PE .FILL x30CE
(3099) 0045 0000000001000101 ( 182) PROMPTA .FILL x0045
(309A) 006E 0000000001101110 ( 182) .FILL x006E
(309B) 0074 0000000001110100 ( 182) .FILL x0074
(309C) 0065 0000000001100101 ( 182) .FILL x0065
(309D) 0072 0000000001110010 ( 182) .FILL x0072
(309E) 0020 0000000000100000 ( 182) .FILL x0020
(309F) 0061 0000000001100001 ( 182) .FILL x0061
(30A0) 0020 0000000000100000 ( 182) .FILL x0020
(30A1) 0063 0000000001100011 ( 182) .FILL x0063
(30A2) 006F 0000000001101111 ( 182) .FILL x006F
(30A3) 0064 0000000001100100 ( 182) .FILL x0064
(30A4) 0065 0000000001100101 ( 182) .FILL x0065
(30A5) 0020 0000000000100000 ( 182) .FILL x0020
(30A6) 0028 0000000000101000 ( 182) .FILL x0028
(30A7) 0034 0000000000110100 ( 182) .FILL x0034
(30A8) 0020 0000000000100000 ( 182) .FILL x0020
(30A9) 0023 0000000000100011 ( 182) .FILL x0023
(30AA) 0073 0000000001110011 ( 182) .FILL x0073
(30AB) 002C 0000000000101100 ( 182) .FILL x002C
(30AC) 0020 0000000000100000 ( 182) .FILL x0020
(30AD) 0031 0000000000110001 ( 182) .FILL x0031
(30AE) 002D 0000000000101101 ( 182) .FILL x002D
(30AF) 0036 0000000000110110 ( 182) .FILL x0036
(30B0) 0029 0000000000101001 ( 182) .FILL x0029
(30B1) 003A 0000000000111010 ( 182) .FILL x003A
(30B2) 0020 0000000000100000 ( 182) .FILL x0020
(30B3) 0000 0000000000000000 ( 182) .FILL x0000
(30B4) 0047 0000000001000111 ( 183) PROMPTB .FILL x0047
(30B5) 0075 0000000001110101 ( 183) .FILL x0075
(30B6) 0065 0000000001100101 ( 183) .FILL x0065
(30B7) 0073 0000000001110011 ( 183) .FILL x0073
(30B8) 0073 0000000001110011 ( 183) .FILL x0073
(30B9) 003A 0000000000111010 ( 183) .FILL x003A
(30BA) 0020 0000000000100000 ( 183) .FILL x0020
(30BB) 0000 0000000000000000 ( 183) .FILL x0000
(30BC) 0020 0000000000100000 ( 184) PROMPTC .FILL x0020
(30BD) 002D 0000000000101101 ( 184) .FILL x002D
(30BE) 003E 0000000000111110 ( 184) .FILL x003E
(30BF) 0020 0000000000100000 ( 184) .FILL x0020
(30C0) 0000 0000000000000000 ( 184) .FILL x0000
(30C1) 0043 0000000001000011 ( 185) PROMPTD .FILL x0043
(30C2) 006F 0000000001101111 ( 185) .FILL x006F
(30C3) 0064 0000000001100100 ( 185) .FILL x0064
(30C4) 0065 0000000001100101 ( 185) .FILL x0065
(30C5) 0020 0000000000100000 ( 185) .FILL x0020
(30C6) 0042 0000000001000010 ( 185) .FILL x0042
(30C7) 0072 0000000001110010 ( 185) .FILL x0072
(30C8) 006F 0000000001101111 ( 185) .FILL x006F
(30C9) 006B 0000000001101011 ( 185) .FILL x006B
(30CA) 0065 0000000001100101 ( 185) .FILL x0065
(30CB) 006E 0000000001101110 ( 185) .FILL x006E
(30CC) 0021 0000000000100001 ( 185) .FILL x0021
(30CD) 0000 0000000000000000 ( 185) .FILL x0000
(30CE) 0047 0000000001000111 ( 186) PROMPTE .FILL x0047
(30CF) 0061 0000000001100001 ( 186) .FILL x0061
(30D0) 006D 0000000001101101 ( 186) .FILL x006D
(30D1) 0065 0000000001100101 ( 186) .FILL x0065
(30D2) 0020 0000000000100000 ( 186) .FILL x0020
(30D3) 004F 0000000001001111 ( 186) .FILL x004F
(30D4) 0076 0000000001110110 ( 186) .FILL x0076
(30D5) 0065 0000000001100101 ( 186) .FILL x0065
(30D6) 0072 0000000001110010 ( 186) .FILL x0072
(30D7) 002E 0000000000101110 ( 186) .FILL x002E
(30D8) 0000 0000000000000000 ( 186) .FILL x0000
(30D9) 0043 0000000001000011 ( 187) RESULT .FILL x0043
(30DA) 0068 0000000001101000 ( 187) .FILL x0068
(30DB) 0061 0000000001100001 ( 187) .FILL x0061
(30DC) 0072 0000000001110010 ( 187) .FILL x0072
(30DD) 0061 0000000001100001 ( 187) .FILL x0061
(30DE) 0063 0000000001100011 ( 187) .FILL x0063
(30DF) 0074 0000000001110100 ( 187) .FILL x0074
(30E0) 0065 0000000001100101 ( 187) .FILL x0065
(30E1) 0072 0000000001110010 ( 187) .FILL x0072
(30E2) 0073 0000000001110011 ( 187) .FILL x0073
(30E3) 0020 0000000000100000 ( 187) .FILL x0020
(30E4) 004D 0000000001001101 ( 187) .FILL x004D
(30E5) 006F 0000000001101111 ( 187) .FILL x006F
(30E6) 0064 0000000001100100 ( 187) .FILL x0064
(30E7) 0069 0000000001101001 ( 187) .FILL x0069
(30E8) 0066 0000000001100110 ( 187) .FILL x0066
(30E9) 0069 0000000001101001 ( 187) .FILL x0069
(30EA) 0065 0000000001100101 ( 187) .FILL x0065
(30EB) 0064 0000000001100100 ( 187) .FILL x0064
(30EC) 003A 0000000000111010 ( 187) .FILL x003A
(30ED) 0020 0000000000100000 ( 187) .FILL x0020
(30EE) 0000 0000000000000000 ( 187) .FILL x0000