OpenCores
URL https://opencores.org/ocsvn/y80e/y80e/trunk

Subversion Repositories y80e

[/] [y80e/] [trunk/] [asm/] [dat_mov.s] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 bsa
;**********************************************************************************
2
;*                                                                                *
3
;* checks all data movement instructions                                          *
4
;*                                                                                *
5
;**********************************************************************************
6
        aseg
7
 
8
        org     00h
9
        jp      100h
10
 
11
        org     0c0h            ;pattern finish location
12
        nop
13
        jr      0c0h
14
 
15
        org     0100h
16
        ld      sp, 0000h       ;point sp at result table
17
        ld      a, 0ffh         ;initialize the main registers
18
        xor     a               ;initialize flags
19
        ld      b, 01h          ;immediate loads
20
        ld      c, 02h
21
        ld      d, 04h
22
        ld      e, 08h
23
        ld      h, 10h
24
        ld      l, 20h
25
        ld      ix, 0aaaah
26
        ld      iy, 5555h
27
        push    af              ;0044h @ fffeh
28
        push    bc              ;0102h @ fffch
29
        push    de              ;0408h @ fffah
30
        push    hl              ;1020h @ fff8h
31
        push    ix              ;aaaah @ fff6h
32
        push    iy              ;5555h @ fff4h
33
        ld      a, 0f0h
34
        ld      (bc), a         ;  f0h @ 0102h
35
        ld      a, 0fh
36
        ld      (de), a         ;  0fh @ 0408h
37
        ld      (hl), a         ;  0fh @ 1020h
38
        inc     hl
39
        ld      (hl), b         ;  01h @ 1021h
40
        inc     hl
41
        ld      (hl), c         ;  02h @ 1022h
42
        inc     hl
43
        ld      (hl), d         ;  04h @ 1023h
44
        inc     hl
45
        ld      (hl), e         ;  08h @ 1024h
46
        inc     hl
47
        ld      (hl), h         ;  10h @ 1025h
48
        inc     hl
49
        ld      (hl), l         ;  26h @ 1026h
50
        inc     hl
51
        ld      (hl), 3ch       ;  3ch @ 1027h
52
        ld      hl, 1020h
53
        push    af              ;0f44h @ fff2h
54
        push    bc              ;0102h @ fff0h
55
        push    de              ;0408h @ ffeeh
56
        push    hl              ;1020h @ ffech
57
        ld      a, 00h
58
        ex      af, af'
59
        ld      a, 0ffh         ;initialize the alternate registers
60
        or      a
61
        exx
62
        ld      bc, 0fefdh      ;immediate loads
63
        ld      de, 0fbf7h
64
        ld      hl, 0efdfh
65
        push    af              ;ff84h @ ffeah
66
        push    bc              ;fefdh @ ffe8h
67
        push    de              ;fbf7h @ ffe6h
68
        push    hl              ;efdfh @ ffe4h
69
        exx
70
        push    af              ;ff84h @ ffe2h
71
        push    bc              ;0102h @ ffe0h
72
        push    de              ;0408h @ ffdeh
73
        push    hl              ;1020h @ ffdch
74
        ex      de, hl
75
        push    af              ;ff84h @ ffdah
76
        push    bc              ;0102h @ ffd8h
77
        push    de              ;1020h @ ffd6h
78
        push    hl              ;0408h @ ffd4h
79
        exx
80
        push    af              ;ff84h @ ffd2h
81
        push    bc              ;fefdh @ ffd0h
82
        push    de              ;fbf7h @ ffceh
83
        push    hl              ;efdfh @ ffcch
84
        ex      de, hl
85
        push    af              ;ff84h @ ffcah
86
        push    bc              ;fefdh @ ffc8h
87
        push    de              ;efdfh @ ffc6h
88
        push    hl              ;fbf7h @ ffc4h
89
        exx
90
        push    af              ;ff84h @ ffc2h
91
        push    bc              ;0102h @ ffc0h
92
        push    de              ;1020h @ ffbeh
93
        push    hl              ;0408h @ ffbch
94
        ex      de, hl
95
        push    af              ;ff84h @ ffbah
96
        push    bc              ;0102h @ ffb8h
97
        push    de              ;0408h @ ffb6h
98
        push    hl              ;1020h @ ffb4h
99
        exx
100
        push    af              ;ff84h @ ffb2h
101
        push    bc              ;fefdh @ ffb0h
102
        push    de              ;efdfh @ ffaeh
103
        push    hl              ;fbf7h @ ffach
104
        ex      de, hl
105
        push    af              ;ff84h @ ffaah
106
        push    bc              ;fefdh @ ffa8h
107
        push    de              ;fbf7h @ ffa6h
108
        push    hl              ;efdfh @ ffa4h
109
        exx
110
        ld      b, b
111
        ld      c, c
112
        ld      d, d
113
        ld      h, h
114
        ld      l, l
115
        ld      a, a
116
        push    af              ;ff84h @ ffa2h
117
        push    bc              ;0102h @ ffa0h
118
        push    de              ;0408h @ ff9eh
119
        push    hl              ;1020h @ ff9ch
120
        ld      a, b
121
        ld      b, c
122
        ld      c, d
123
        ld      d, e
124
        ld      e, h
125
        ld      h, l
126
        ld      l, a
127
        push    af              ;0184h @ ff9ah
128
        push    bc              ;0204h @ ff98h
129
        push    de              ;0810h @ ff96h
130
        push    hl              ;2001h @ ff94h
131
        xor     a
132
        ld      b, 01h
133
        ld      c, 02h
134
        ld      d, 04h
135
        ld      e, 08h
136
        ld      h, 10h
137
        ld      l, 20h
138
        ld      a, c
139
        ld      b, d
140
        ld      c, e
141
        ld      d, h
142
        ld      e, l
143
        ld      h, a
144
        ld      l, b
145
        push    af              ;0244h @ ff92h
146
        push    bc              ;0408h @ ff90h
147
        push    de              ;1020h @ ff8eh
148
        push    hl              ;0204h @ ff8ch
149
        xor     a
150
        ld      b, 01h
151
        ld      c, 02h
152
        ld      d, 04h
153
        ld      e, 08h
154
        ld      h, 10h
155
        ld      l, 20h
156
        ld      a, d
157
        ld      b, e
158
        ld      c, h
159
        ld      d, l
160
        ld      e, a
161
        ld      h, b
162
        ld      l, c
163
        push    af              ;0444h @ ff8ah
164
        push    bc              ;0810h @ ff88h
165
        push    de              ;2004h @ ff86h
166
        push    hl              ;0810h @ ff84h
167
        xor     a
168
        ld      b, 01h
169
        ld      c, 02h
170
        ld      d, 04h
171
        ld      e, 08h
172
        ld      h, 10h
173
        ld      l, 20h
174
        ld      a, e
175
        ld      b, h
176
        ld      c, l
177
        ld      d, a
178
        ld      e, b
179
        ld      h, c
180
        ld      l, d
181
        push    af              ;0844h @ ff82h
182
        push    bc              ;1020h @ ff80h
183
        push    de              ;0810h @ ff7eh
184
        push    hl              ;2008h @ ff7ch
185
        xor     a
186
        ld      b, 01h
187
        ld      c, 02h
188
        ld      d, 04h
189
        ld      e, 08h
190
        ld      h, 10h
191
        ld      l, 20h
192
        ld      a, h
193
        ld      b, l
194
        ld      c, a
195
        ld      d, b
196
        ld      e, c
197
        ld      h, d
198
        ld      l, e
199
        push    af              ;1044h @ ff7ah
200
        push    bc              ;2010h @ ff78h
201
        push    de              ;2010h @ ff76h
202
        push    hl              ;2010h @ ff74h
203
        xor     a
204
        ld      b, 01h
205
        ld      c, 02h
206
        ld      d, 04h
207
        ld      e, 08h
208
        ld      h, 10h
209
        ld      l, 20h
210
        ld      a, l
211
        ld      b, a
212
        ld      c, b
213
        ld      d, c
214
        ld      e, d
215
        ld      h, e
216
        ld      l, h
217
        push    af              ;2044h @ ff72h
218
        push    bc              ;2020h @ ff70h
219
        push    de              ;2020h @ ff6eh
220
        push    hl              ;2020h @ ff6ch
221
        ld      b, (hl)         ;  5ah @ 2020h
222
        inc     hl
223
        ld      c, (hl)         ;  69h @ 2021h
224
        inc     hl
225
        ld      d, (hl)         ;  78h @ 2022h
226
        inc     hl
227
        ld      e, (hl)         ;  87h @ 2023h
228
        inc     hl
229
        push    af              ;2044h @ ff6ah
230
        push    bc              ;5a69h @ ff68h
231
        push    de              ;7887h @ ff66h
232
        push    hl              ;2024h @ ff64h
233
        ld      h, (hl)         ;  96h @ 2024h
234
        push    hl              ;9624h @ ff62h
235
        ld      h, 20h
236
        inc     hl
237
        ld      l, (hl)         ;  a5h @ 2025h
238
        push    hl              ;20a5h @ ff60h
239
        ld      a, (bc)         ;  b4h @ 5a69h
240
        push    af              ;b444h @ ff5eh
241
        ld      a, (de)         ;  c3h @ 7887h
242
        push    af              ;c344h @ ff5ch
243
        ld      a, (7888h)      ;  d2h @ 7888h
244
        push    af              ;d244h @ ff5ah
245
        ld      bc, (7889h)     ;e1f0h @ 7889h
246
        ld      de, (788bh)     ;0f1eh @ 788bh
247
        ld      hl, (788dh)     ;2d3ch @ 788dh
248
        ld      ix, (788fh)     ;4b5ah @ 788fh
249
        ld      iy, (7891h)     ;6978h @ 7891h
250
        ld      sp, (7893h)     ;fe00h @ 7893h
251
        ld      (7895h), a      ;  d2h @ 7895h
252
        ld      (7896h), bc     ;e1f0h @ 7896h
253
        ld      (7898h), de     ;0f1eh @ 7898h
254
        ld      (789ah), hl     ;2d3ch @ 789ah
255
        ld      (789ch), ix     ;4b5ah @ 789ch
256
        ld      (789eh), iy     ;6978h @ 789eh
257
        ld      (78a0h), sp     ;fe00h @ 78a0h
258
        ld      sp, 0f000h
259
        pop     af              ;0f00h @ f000h
260
        pop     bc              ;ee11h @ f002h
261
        pop     de              ;dd22h @ f004h
262
        pop     hl              ;cc33h @ f006h
263
        pop     ix              ;bb44h @ f008h
264
        pop     iy              ;aa55h @ f00ah
265
        ld      sp, 0fe00h
266
        push    af              ;0f00h @ fdfeh
267
        push    bc              ;ee11h @ fdfch
268
        push    de              ;dd22h @ fdfah
269
        push    hl              ;cc33h @ fdf8h
270
        push    ix              ;bb44h @ fdf6h
271
        push    iy              ;aa55h @ fdf4h
272
        inc     hl
273
        ld      sp, hl
274
        push    af              ;0f00h @ cc32h
275
        push    hl              ;cc34h @ cc30h
276
        ld      sp, ix
277
        push    af              ;0f00h @ bb42h
278
        push    ix              ;bb44h @ bb40h
279
        inc     iy
280
        ld      sp, iy
281
        push    af              ;0f00h @ aa54h
282
        push    iy              ;aa56h @ aa52h
283
        ld      sp, 0fd00h
284
        ex      (sp), hl        ;2345h @ fd00h read
285
                                ;cc34h @ fd00h write
286
        inc     sp
287
        inc     sp
288
        ex      (sp), ix        ;6789h @ fd02h read
289
                                ;bb44h @ fd02h write
290
        inc     sp
291
        inc     sp
292
        ex      (sp), iy        ;abcdh @ fd04h read
293
                                ;aa56h @ fd04h write
294
        ld      a, (ix+0h)      ;  ffh @ 6789h
295
        ld      b, (ix+1h)      ;  fdh @ 678ah
296
        ld      c, (ix+2h)      ;  fbh @ 678bh
297
        ld      d, (ix+3h)      ;  f9h @ 678ch
298
        ld      e, (ix+4h)      ;  f7h @ 678dh
299
        ld      h, (ix+5h)      ;  f5h @ 678eh
300
        ld      l, (ix+6h)      ;  f3h @ 678fh
301
        ld      sp, 0fd00h
302
        push    af              ;ff00h @ fcfeh
303
        push    bc              ;fdfbh @ fcfch
304
        push    de              ;f9f7h @ fcfah
305
        push    hl              ;f5f3h @ fcf8h
306
        ld      a, (iy+0h)      ;  01h @ abcdh
307
        ld      b, (iy+1h)      ;  03h @ abceh
308
        ld      c, (iy+2h)      ;  05h @ abcfh
309
        ld      d, (iy+3h)      ;  07h @ abd0h
310
        ld      e, (iy+4h)      ;  09h @ abd1h
311
        ld      h, (iy+5h)      ;  0bh @ abd2h
312
        ld      l, (iy+6h)      ;  0dh @ abd3h
313
        push    af              ;0100h @ fcf6h
314
        push    bc              ;0305h @ fcf4h
315
        push    de              ;0709h @ fcf2h
316
        push    hl              ;0b0dh @ fcf0h
317
        ld      (ix+0ffh), a    ;  01h @ 6788h
318
        ld      (ix+0feh), b    ;  03h @ 6787h
319
        ld      (ix+0fdh), c    ;  05h @ 6786h
320
        ld      (ix+0fch), d    ;  07h @ 6785h
321
        ld      (ix+0fbh), e    ;  09h @ 6784h
322
        ld      (ix+0fah), h    ;  0bh @ 6783h
323
        ld      (ix+0f9h), l    ;  0dh @ 6782h
324
        ld      (ix+0f8h), 0fh  ;0fh @ 6781h
325
        ld      (iy+0ffh), a    ;  01h @ abcch
326
        ld      (iy+0feh), b    ;  03h @ abcbh
327
        ld      (iy+0fdh), c    ;  05h @ abcah
328
        ld      (iy+0fch), d    ;  07h @ abc9h
329
        ld      (iy+0fbh), e    ;  09h @ abc8h
330
        ld      (iy+0fah), h    ;  0bh @ abc7h
331
        ld      (iy+0f9h), l    ;  0dh @ abc6h
332
        ld      (iy+0f8h), 0fh  ;0fh @ abc5h
333
        xor     a
334
        ld      b, a
335
        ld      c, a
336
        ld      d, a
337
        ld      e, a
338
        ld      h, a
339
        ld      l, a
340
        exx
341
        ld      b, a
342
        ld      c, a
343
        ld      d, a
344
        ld      e, a
345
        ld      h, a
346
        ld      l, a
347
        exx
348
        ex      af, af'
349
        xor     a
350
        ld      a, 0ffh
351
        ld      r, a
352
        push    af              ;ff44h @ fceeh
353
        push    bc              ;0000h @ fcech
354
        push    de              ;0000h @ fceah
355
        push    hl              ;0000h @ fce8h
356
        xor     a
357
        push    af              ;0044h @ fce6h
358
        ld      a, r
359
        push    af              ;ff80h @ fce4h
360
        push    bc              ;0000h @ fce2h
361
        push    de              ;0000h @ fce0h
362
        push    hl              ;0000h @ fcdeh
363
        xor     a
364
        ld      r, a
365
        ld      a, 55h
366
        ld      i, a
367
        push    af              ;5544h @ fcdch
368
        push    bc              ;0000h @ fcdah
369
        push    de              ;0000h @ fcd8h
370
        push    hl              ;0000h @ fcd6h
371
        xor     a
372
        push    af              ;0044h @ fcd4h
373
        ld      a, i
374
        push    af              ;5500h @ fcd2h
375
        ei
376
        ld      a, i
377
        push    af              ;5504h @ fcd0h
378
        di
379
        ld      a, i
380
        push    af              ;5500h @ fcceh
381
 
382
        ld      hl, 0100h       ;init hl for next pattern
383
        jp      0c0h
384
 
385
        org     02020h          ;data for ld r,(hl)
386
        db      05ah
387
        db      069h
388
        db      078h
389
        db      087h
390
        db      096h
391
        db      0a5h
392
 
393
        org     05a69h          ;data for ld a,(bc)
394
        db      0b4h
395
 
396
        org     06789h          ;data for ld r,(ix+d)
397
        db      0ffh
398
        db      0fdh
399
        db      0fbh
400
        db      0f9h
401
        db      0f7h
402
        db      0f5h
403
        db      0f3h
404
 
405
        org     07887h          ;data for ld rr,(mn)
406
        db      0c3h
407
        db      0d2h
408
        dw      0e1f0h
409
        dw      00f1eh
410
        dw      02d3ch
411
        dw      04b5ah
412
        dw      06978h
413
        dw      0fe00h
414
 
415
        org     0abcdh          ;dta for ld r,(iy+d)
416
        db      01h
417
        db      03h
418
        db      05h
419
        db      07h
420
        db      09h
421
        db      0bh
422
        db      0dh
423
 
424
        org     0f000h          ;data for pop
425
        dw      00f00h
426
        dw      0ee11h
427
        dw      0dd22h
428
        dw      0cc33h
429
        dw      0bb44h
430
        dw      0aa55h
431
 
432
        org     0fd00h          ;data for ex (sp),
433
        dw      02345h
434
        dw      06789h
435
        dw      0abcdh
436
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.