-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patht65_eql_16.a65
398 lines (355 loc) · 6.51 KB
/
t65_eql_16.a65
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
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
; Test the eql_16 macro.
.include "test65.i65"
.include "../asminc/set_16.i65"
.include "../asminc/eql_16.i65"
.export _main
.pc02
.zeropage
zpv: .res 2
ptr: .res 2
bfr: .res 6
.data
abv: .res 12
.code
_main:
; Test a zero page variable.
set_16 zpv, $0000
eql_16 zpv, $0000
fail_ne 10
eql_16 zpv, $0001
fail_eq 11
eql_16 zpv, $0100
fail_eq 12
eql_16 zpv, $1234
fail_eq 13
eql_16 zpv, exit
fail_eq 14
set_16 zpv, $0001
eql_16 zpv, $0000
fail_eq 20
eql_16 zpv, $0001
fail_ne 21
eql_16 zpv, $0100
fail_eq 22
eql_16 zpv, $1234
fail_eq 23
eql_16 zpv, exit
fail_eq 24
set_16 zpv, $0100
eql_16 zpv, $0000
fail_eq 30
eql_16 zpv, $0001
fail_eq 31
eql_16 zpv, $0100
fail_ne 32
eql_16 zpv, $1234
fail_eq 33
eql_16 zpv, exit
fail_eq 34
set_16 zpv, $1234
eql_16 zpv, $0000
fail_eq 40
eql_16 zpv, $0001
fail_eq 41
eql_16 zpv, $0100
fail_eq 42
eql_16 zpv, $1234
fail_ne 43
eql_16 zpv, exit
fail_eq 44
set_16 zpv, $FFF9
eql_16 zpv, $0000
fail_eq 50
eql_16 zpv, $0001
fail_eq 51
eql_16 zpv, $0100
fail_eq 52
eql_16 zpv, $1234
fail_eq 53
eql_16 zpv, exit
fail_ne 54
; Test an absolute variable.
set_16 abv, $0000
eql_16 abv, $0000
fail_ne 60
eql_16 abv, $0001
fail_eq 61
eql_16 abv, $0100
fail_eq 62
eql_16 abv, $1234
fail_eq 63
eql_16 abv, exit
fail_eq 64
set_16 abv, $0001
eql_16 abv, $0000
fail_eq 70
eql_16 abv, $0001
fail_ne 71
eql_16 abv, $0100
fail_eq 72
eql_16 abv, $1234
fail_eq 73
eql_16 abv, exit
fail_eq 74
set_16 abv, $0100
eql_16 abv, $0000
fail_eq 80
eql_16 abv, $0001
fail_eq 81
eql_16 abv, $0100
fail_ne 82
eql_16 abv, $1234
fail_eq 83
eql_16 abv, exit
fail_eq 84
set_16 abv, $1234
eql_16 abv, $0000
fail_eq 90
eql_16 abv, $0001
fail_eq 91
eql_16 abv, $0100
fail_eq 92
eql_16 abv, $1234
fail_ne 93
eql_16 abv, exit
fail_eq 94
set_16 abv, $FFF9
eql_16 abv, $0000
fail_eq 100
eql_16 abv, $0001
fail_eq 101
eql_16 abv, $0100
fail_eq 102
eql_16 abv, $1234
fail_eq 103
eql_16 abv, exit
fail_ne 104
; Test a zero page indirect variable.
set_16 ptr,abv
set_16 (ptr), $0000
eql_16 (ptr), $0000
fail_ne 110
eql_16 (ptr), $0001
fail_eq 111
eql_16 (ptr), $0100
fail_eq 112
eql_16 (ptr), $1234
fail_eq 113
eql_16 (ptr), exit
fail_eq 114
set_16 (ptr), $0001
eql_16 (ptr), $0000
fail_eq 120
eql_16 (ptr), $0001
fail_ne 121
eql_16 (ptr), $0100
fail_eq 122
eql_16 (ptr), $1234
fail_eq 123
eql_16 (ptr), exit
fail_eq 124
set_16 (ptr), $0100
eql_16 (ptr), $0000
fail_eq 130
eql_16 (ptr), $0001
fail_eq 131
eql_16 (ptr), $0100
fail_ne 132
eql_16 (ptr), $1234
fail_eq 133
eql_16 (ptr), exit
fail_eq 134
set_16 (ptr), $1234
eql_16 (ptr), $0000
fail_eq 140
eql_16 (ptr), $0001
fail_eq 141
eql_16 (ptr), $0100
fail_eq 142
eql_16 (ptr), $1234
fail_ne 143
eql_16 (ptr), exit
fail_eq 144
set_16 (ptr), $FFF9
eql_16 (ptr), $0000
fail_eq 150
eql_16 (ptr), $0001
fail_eq 151
eql_16 (ptr), $0100
fail_eq 152
eql_16 (ptr), $1234
fail_eq 153
eql_16 (ptr), exit
fail_ne 154
; Test a zero page indirect indexed with Y variable.
ldy #10
set_16 {(ptr),y}, $0000
eql_16 {(ptr),y}, $0000
fail_ne 160
eql_16 {(ptr),y}, $0001
fail_eq 161
eql_16 {(ptr),y}, $0100
fail_eq 162
eql_16 {(ptr),y}, $1234
fail_eq 163
eql_16 {(ptr),y}, exit
fail_eq 164
set_16 {(ptr),y}, $0001
eql_16 {(ptr),y}, $0000
fail_eq 170
eql_16 {(ptr),y}, $0001
fail_ne 171
eql_16 {(ptr),y}, $0100
fail_eq 172
eql_16 {(ptr),y}, $1234
fail_eq 173
eql_16 {(ptr),y}, exit
fail_eq 174
set_16 {(ptr),y}, $0100
eql_16 {(ptr),y}, $0000
fail_eq 180
eql_16 {(ptr),y}, $0001
fail_eq 181
eql_16 {(ptr),y}, $0100
fail_ne 182
eql_16 {(ptr),y}, $1234
fail_eq 183
eql_16 {(ptr),y}, exit
fail_eq 184
set_16 {(ptr),y}, $1234
eql_16 {(ptr),y}, $0000
fail_eq 190
eql_16 {(ptr),y}, $0001
fail_eq 191
eql_16 {(ptr),y}, $0100
fail_eq 192
eql_16 {(ptr),y}, $1234
fail_ne 193
eql_16 {(ptr),y}, exit
fail_eq 194
set_16 {(ptr),y}, $FFF9
eql_16 {(ptr),y}, $0000
fail_eq 200
eql_16 {(ptr),y}, $0001
fail_eq 201
eql_16 {(ptr),y}, $0100
fail_eq 202
eql_16 {(ptr),y}, $1234
fail_eq 203
eql_16 {(ptr),y}, exit
fail_ne 204
; Test a zero page indexed with X variable.
ldx #2
set_16 {bfr,x}, $0000
eql_16 {bfr,x}, $0000
fail_ne 205
eql_16 {bfr,x}, $0001
fail_eq 206
eql_16 {bfr,x}, $0100
fail_eq 207
eql_16 {bfr,x}, $1234
fail_eq 208
eql_16 {bfr,x}, exit
fail_eq 209
set_16 {bfr,x}, $0001
eql_16 {bfr,x}, $0000
fail_eq 210
eql_16 {bfr,x}, $0001
fail_ne 211
eql_16 {bfr,x}, $0100
fail_eq 212
eql_16 {bfr,x}, $1234
fail_eq 213
eql_16 {bfr,x}, exit
fail_eq 214
set_16 {bfr,x}, $0100
eql_16 {bfr,x}, $0000
fail_eq 215
eql_16 {bfr,x}, $0001
fail_eq 216
eql_16 {bfr,x}, $0100
fail_ne 217
eql_16 {bfr,x}, $1234
fail_eq 218
eql_16 {bfr,x}, exit
fail_eq 219
set_16 {bfr,x}, $1234
eql_16 {bfr,x}, $0000
fail_eq 220
eql_16 {bfr,x}, $0001
fail_eq 221
eql_16 {bfr,x}, $0100
fail_eq 222
eql_16 {bfr,x}, $1234
fail_ne 223
eql_16 {bfr,x}, exit
fail_eq 224
set_16 {bfr,x}, $FFF9
eql_16 {bfr,x}, $0000
fail_eq 225
eql_16 {bfr,x}, $0001
fail_eq 226
eql_16 {bfr,x}, $0100
fail_eq 227
eql_16 {bfr,x}, $1234
fail_eq 228
eql_16 {bfr,x}, exit
fail_ne 229
; Test a zero page indexed with Y variable.
ldy #4
set_16 {bfr,y}, $0000
eql_16 {bfr,y}, $0000
fail_ne 230
eql_16 {bfr,y}, $0001
fail_eq 231
eql_16 {bfr,y}, $0100
fail_eq 232
eql_16 {bfr,y}, $1234
fail_eq 233
eql_16 {bfr,y}, exit
fail_eq 234
set_16 {bfr,y}, $0001
eql_16 {bfr,y}, $0000
fail_eq 235
eql_16 {bfr,y}, $0001
fail_ne 236
eql_16 {bfr,y}, $0100
fail_eq 237
eql_16 {bfr,y}, $1234
fail_eq 238
eql_16 {bfr,y}, exit
fail_eq 239
set_16 {bfr,y}, $0100
eql_16 {bfr,y}, $0000
fail_eq 240
eql_16 {bfr,y}, $0001
fail_eq 241
eql_16 {bfr,y}, $0100
fail_ne 242
eql_16 {bfr,y}, $1234
fail_eq 243
eql_16 {bfr,y}, exit
fail_eq 244
set_16 {bfr,y}, $1234
eql_16 {bfr,y}, $0000
fail_eq 245
eql_16 {bfr,y}, $0001
fail_eq 246
eql_16 {bfr,y}, $0100
fail_eq 247
eql_16 {bfr,y}, $1234
fail_ne 248
eql_16 {bfr,y}, exit
fail_eq 249
set_16 {bfr,y}, $FFF9
eql_16 {bfr,y}, $0000
fail_eq 250
eql_16 {bfr,y}, $0001
fail_eq 251
eql_16 {bfr,y}, $0100
fail_eq 252
eql_16 {bfr,y}, $1234
fail_eq 253
eql_16 {bfr,y}, exit
fail_ne 254
tests_pass