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

Subversion Repositories cpu8080

[/] [cpu8080/] [tags/] [update/] [project/] [test.lst] - Blame information for rev 33

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 18 samiam9512
 
2
 
3
                                                                 test                                                           Page 1
4
 
5
 
6
      Program  Variable Code              C Line Source
7
      -----------------------------------------------------------------------------------------------------------------------------------
8 24 samiam9512
      00000000 00000000                        1 !***********************************************************************
9
      00000000 00000000                        2 ! MICROCOSM ASSOCIATES  8080/8085 CPU DIAGNOSTIC VERSION 1.0  (C) 1980
10
      00000000 00000000                        3 !***********************************************************************
11
      00000000 00000000                        4 !
12
      00000000 00000000                        5 !DONATED TO THE "SIG/M" CP/M USER'S GROUP BY:
13
      00000000 00000000                        6 !KELLY SMITH, MICROCOSM ASSOCIATES
14
      00000000 00000000                        7 !3055 WACO AVENUE
15
      00000000 00000000                        8 !SIMI VALLEY, CALIFORNIA, 93065
16
      00000000 00000000                        9 !(805) 527-9321 (MODEM, CP/M-NET (TM))
17
      00000000 00000000                       10 !(805) 527-0518 (VERBAL)
18
      00000000 00000000                       11 !
19
      00000000 00000000                       12 !***********************************************************************
20
      00000000 00000000                       13 ! Modified 2001/02/28 by Richard Cini for use in the Altair32 Emulator
21
      00000000 00000000                       14 !       Project
22
      00000000 00000000                       15 !
23
      00000000 00000000                       16 ! Need to somehow connect this code to Windows so that failure messages
24
      00000000 00000000                       17 !       can be posted to Windows. Maybe just store error code in
25
      00000000 00000000                       18 !       Mem[0xffff]. Maybe trap NOP in the emulator code?
26 18 samiam9512
      00000000 00000000                       19 !
27 24 samiam9512
      00000000 00000000                       20 !***********************************************************************
28
      00000000 00000000                       21 ! Modified 2006/11/16 by Scott Moore to work on CPU8080 FPGA core
29
      00000000 00000000                       22 !
30
      00000000 00000000                       23 !***********************************************************************
31 18 samiam9512
      00000000 00000000                       24
32
      00000000 00000000                       25 !
33 24 samiam9512
      00000000 00000000                       26 ! Select controller defines
34
      00000000 00000000                       27 !
35
      00000000 00000000                       28 selmain: equ    $00             ! offset of main control register
36
      00000000 00000000                       29 sel1msk: equ    $02             ! offset of select 1 mask
37
      00000000 00000000                       30 sel1cmp: equ    $03             ! offset of select 1 compare
38
      00000000 00000000                       31 sel2msk: equ    $04             ! offset of select 1 mask
39
      00000000 00000000                       32 sel2cmp: equ    $05             ! offset of select 1 compare
40
      00000000 00000000                       33 sel3msk: equ    $06             ! offset of select 1 mask
41
      00000000 00000000                       34 sel3cmp: equ    $07             ! offset of select 1 compare
42
      00000000 00000000                       35 sel4msk: equ    $08             ! offset of select 1 mask
43
      00000000 00000000                       36 sel4cmp: equ    $09             ! offset of select 1 compare
44
      00000000 00000000                       37 !
45
      00000000 00000000                       38 ! bits
46
      00000000 00000000                       39 !
47
      00000000 00000000                       40 selenb:  equ    $01             ! enable select
48
      00000000 00000000                       41 selio:   equ    $02             ! I/O address or memory
49
      00000000 00000000                       42
50
      00000000 00000000                       43 !
51
      00000000 00000000                       44 ! Note: select 1 is ROM, 2, is RAM, 3 is interrupt controller, 4 is serial I/O.
52
      00000000 00000000                       45 !
53
      00000000 00000000                       46
54
      00000000 00000000                       47 !
55
      00000000 00000000                       48 ! Where to place ROM and RAM for this test
56
      00000000 00000000                       49 !
57
      00000000 00000000                       50 rombas: equ     $0000
58
      00000000 00000000                       51 rambas: equ     rombas+4*1024
59
      00000000 00000000                       52 !
60
      00000000 00000000                       53 ! Interrupt controller defines
61
      00000000 00000000                       54 !
62
      00000000 00000000                       55 intbas: equ     $10
63
      00000000 00000000                       56 intmsk: equ     intbas+$00      ! mask
64
      00000000 00000000                       57 intsts: equ     intbas+$01      ! status
65
      00000000 00000000                       58 intact: equ     intbas+$02      ! active interrupt
66
      00000000 00000000                       59 intpol: equ     intbas+$03      ! polarity select
67
      00000000 00000000                       60 intedg: equ     intbas+$04      ! edge/level select
68
      00000000 00000000                       61 intvec: equ     intbas+$05      ! vector base page
69
      00000000 00000000                       62 !
70
      00000000 00000000                       63 ! Mits Serial I/O card
71
      00000000 00000000                       64 !
72
      00000000 00000000                       65 siobas: equ     $20
73
      00000000 00000000                       66 sioctl: equ     siobas+$00      ! control register
74
      00000000 00000000                       67 siodat: equ     siobas+$01      ! data
75
      00000000 00000000                       68
76
      00000000 00000000                       69 !
77
      00000000 00000000                       70 ! Set up selectors
78
      00000000 00000000                       71 !
79
      00000000 00000000                       72
80
      00000000 00000000                       73 !
81
      00000000 00000000                       74 ! ROM
82
      00000000 00000000                       75 !
83
      00000000 00000000 3E 00                 76         mvi     a,rombas shr 8  ! enable select 1 to 4kb at base
84
      00000002 00000000 D3 03                 77         out     sel1cmp
85
      00000004 00000000 3E F1                 78         mvi     a,($f000 shr 8) or selenb
86
      00000006 00000000 D3 02                 79         out     sel1msk
87
      00000008 00000000                       80 !
88
      00000008 00000000                       81 ! RAM
89
      00000008 00000000                       82 !
90
      00000008 00000000 3E 10                 83         mvi     a,rambas shr 8  ! enable select 2 to 1kb at base
91
      0000000A 00000000 D3 05                 84         out     sel2cmp
92
      0000000C 00000000 3E FD                 85         mvi     a,($fc00 shr 8) or selenb
93
      0000000E 00000000 D3 04                 86         out     sel2msk
94 18 samiam9512
 
95
 
96
                                                                 test                                                           Page 2
97
 
98
 
99
      Program  Variable Code              C Line Source
100
      -----------------------------------------------------------------------------------------------------------------------------------
101 24 samiam9512
      00000010 00000000                       87 !
102
      00000010 00000000                       88 ! ROM and RAM set up, exit bootstrap mode
103
      00000010 00000000                       89 !
104
      00000010 00000000 3E 00                 90         mvi     a,$00           ! exit bootstrap mode
105
      00000012 00000000 D3 00                 91         out     selmain
106
      00000014 00000000                       92 !
107
      00000014 00000000                       93 ! Serial I/O
108
      00000014 00000000                       94 !
109
      00000014 00000000 3E 20                 95         mvi     a,siobas        ! enable serial controller for 4 addresses
110
      00000016 00000000 D3 09                 96         out     sel4cmp
111
      00000018 00000000 3E FF                 97         mvi     a,$fc or selio or selenb
112
      0000001A 00000000 D3 08                 98         out     sel4msk
113
      0000001C 00000000                       99
114
      0000001C 00000000                      100 !************************************************************
115
      0000001C 00000000                      101 !                8080/8085 CPU TEST/DIAGNOSTIC
116
      0000001C 00000000                      102 !************************************************************
117
      0000001C 00000000                      103 !
118
      0000001C 00000000                      104 !note: (1) program assumes "call",and "lxi sp" instructions work!
119
      0000001C 00000000                      105 !
120
      0000001C 00000000                      106 !      (2) instructions not tested are "hlt","di","ei",
121
      0000001C 00000000                      107 !          and "rst 0" thru "rst 7"
122
      0000001C 00000000                      108 !
123
      0000001C 00000000                      109 !
124
      0000001C 00000000                      110 !
125
      0000001C 00000000                      111 !test jump instructions and flags
126
      0000001C 00000000                      112 !
127
      0000001C 00000000 31 07 11             113 cpu:    lxi     sp,stack !set the stack pointer
128
      0000001F 00000000 E6 00                114         ani     0       !initialize a reg. and clear all flags
129
      00000021 00000000 CA 27 00             115         jz      j010    !test "jz"
130
      00000024 00000000 CD FA 04             116         call    cpuer
131
      00000027 00000000 D2 2D 00             117 j010:   jnc     j020    !test "jnc"
132
      0000002A 00000000 CD FA 04             118         call    cpuer
133
      0000002D 00000000 EA 33 00             119 j020:   jpe     j030    !test "jpe"
134
      00000030 00000000 CD FA 04             120         call    cpuer
135
      00000033 00000000 F2 39 00             121 j030:   jp      j040    !test "jp"
136
      00000036 00000000 CD FA 04             122         call    cpuer
137
      00000039 00000000 C2 48 00             123 j040:   jnz     j050    !test "jnz"
138
      0000003C 00000000 DA 48 00             124         jc      j050    !test "jc"
139
      0000003F 00000000 E2 48 00             125         jpo     j050    !test "jpo"
140
      00000042 00000000 FA 48 00             126         jm      j050    !test "jm"
141
      00000045 00000000 C3 4B 00             127         jmp     j060    !test "jmp" (it's a little late,but what the hell!
142
      00000048 00000000 CD FA 04             128 j050:   call    cpuer
143
      0000004B 00000000 C6 06                129 j060:   adi     6       !a=6,c=0,p=1,s=0,z=0
144
      0000004D 00000000 C2 53 00             130         jnz     j070    !test "jnz"
145
      00000050 00000000 CD FA 04             131         call    cpuer
146
      00000053 00000000 DA 5C 00             132 j070:   jc      j080    !test "jc"
147
      00000056 00000000 E2 5C 00             133         jpo     j080    !test "jpo"
148
      00000059 00000000 F2 5F 00             134         jp      j090    !test "jp"
149
      0000005C 00000000 CD FA 04             135 j080:   call    cpuer
150
      0000005F 00000000 C6 70                136 j090:   adi     $070    !a=76h,c=0,p=0,s=0,z=0
151
      00000061 00000000 E2 67 00             137         jpo     j100    !test "jpo"
152
      00000064 00000000 CD FA 04             138         call    cpuer
153
      00000067 00000000 FA 70 00             139 j100:   jm      j110    !test "jm"
154
      0000006A 00000000 CA 70 00             140         jz      j110    !test "jz"
155
      0000006D 00000000 D2 73 00             141         jnc     j120    !test "jnc"
156
      00000070 00000000 CD FA 04             142 j110:   call    cpuer
157
      00000073 00000000 C6 81                143 j120:   adi     $081    !a=f7h,c=0,p=0,s=1,z=0
158
      00000075 00000000 FA 7B 00             144         jm      j130    !test "jm"
159
      00000078 00000000 CD FA 04             145         call    cpuer
160
      0000007B 00000000 CA 84 00             146 j130:   jz      j140    !test "jz"
161
      0000007E 00000000 DA 84 00             147         jc      j140    !test "jc"
162
      00000081 00000000 E2 87 00             148         jpo     j150    !test "jpo"
163
      00000084 00000000 CD FA 04             149 j140:   call    cpuer
164
      00000087 00000000 C6 FE                150 j150:   adi     $0fe    !a=f5h,c=1,p=1,s=1,z=0
165
      00000089 00000000 DA 8F 00             151         jc      j160    !test "jc"
166
      0000008C 00000000 CD FA 04             152         call    cpuer
167
      0000008F 00000000 CA 98 00             153 j160:   jz      j170    !test "jz"
168
      00000092 00000000 E2 98 00             154         jpo     j170    !test "jpo"
169
      00000095 00000000 FA 9B 00             155         jm      aimm    !test "jm"
170
      00000098 00000000 CD FA 04             156 j170:   call    cpuer
171
      0000009B 00000000                      157 !
172
      0000009B 00000000                      158 !
173
      0000009B 00000000                      159 !
174
      0000009B 00000000                      160 !test accumulator immediate instructions
175
      0000009B 00000000                      161 !
176
      0000009B 00000000 FE 00                162 aimm:   cpi     0       !a=f5h,c=0,z=0
177
      0000009D 00000000 DA B3 00             163         jc      cpie    !test "cpi" for re-set carry
178
      000000A0 00000000 CA B3 00             164         jz      cpie    !test "cpi" for re-set zero
179
      000000A3 00000000 FE F5                165         cpi     $0f5    !a=f5h,c=0,z=1
180
      000000A5 00000000 DA B3 00             166         jc      cpie    !test "cpi" for re-set carry ("adi")
181
      000000A8 00000000 C2 B3 00             167         jnz     cpie    !test "cpi" for re-set zero
182
      000000AB 00000000 FE FF                168         cpi     $0ff    !a=f5h,c=1,z=0
183
      000000AD 00000000 CA B3 00             169         jz      cpie    !test "cpi" for re-set zero
184
      000000B0 00000000 DA B6 00             170         jc      acii    !test "cpi" for set carry
185
      000000B3 00000000 CD FA 04             171 cpie:   call    cpuer
186
      000000B6 00000000 CE 0A                172 acii:   aci     $00a    !a=f5h+0ah+carry(1)=0,c=1
187
 
188
 
189
                                                                 test                                                           Page 3
190
 
191
 
192
      Program  Variable Code              C Line Source
193
      -----------------------------------------------------------------------------------------------------------------------------------
194
      000000B8 00000000 CE 0A                173         aci     $00a    !a=0+0ah+carry(0)=0bh,c=0
195
      000000BA 00000000 FE 0B                174         cpi     $00b
196
      000000BC 00000000 CA C2 00             175         jz      suii    !test "aci"
197
      000000BF 00000000 CD FA 04             176         call    cpuer
198
      000000C2 00000000 D6 0C                177 suii:   sui     $00c    !a=ffh,c=0
199
      000000C4 00000000 D6 0F                178         sui     $00f    !a=f0h,c=1
200
      000000C6 00000000 FE F0                179         cpi     $0f0
201
      000000C8 00000000 CA CE 00             180         jz      sbii    !test "sui"
202
      000000CB 00000000 CD FA 04             181         call    cpuer
203
      000000CE 00000000 DE F1                182 sbii:   sbi     $0f1    !a=f0h-0f1h-carry(0)=ffh,c=1
204
      000000D0 00000000 DE 0E                183         sbi     $00e    !a=ffh-oeh-carry(1)=f0h,c=0
205
      000000D2 00000000 FE F0                184         cpi     $0f0
206
      000000D4 00000000 CA DA 00             185         jz      anii    !test "sbi"
207
      000000D7 00000000 CD FA 04             186         call    cpuer
208
      000000DA 00000000 E6 55                187 anii:   ani     $055    !a=f0h55h=50h,c=0,p=1,s=0,z=0
209
      000000DC 00000000 FE 50                188         cpi     $050
210
      000000DE 00000000 CA E4 00             189         jz      orii    !test "ani"
211
      000000E1 00000000 CD FA 04             190         call    cpuer
212
      000000E4 00000000 F6 3A                191 orii:   ori     $03a    !a=50h3ah=7ah,c=0,p=0,s=0,z=0
213
      000000E6 00000000 FE 7A                192         cpi     $07a
214
      000000E8 00000000 CA EE 00             193         jz      xrii    !test "ori"
215
      000000EB 00000000 CD FA 04             194         call    cpuer
216
      000000EE 00000000 EE 0F                195 xrii:   xri     $00f    !a=7ah0fh=75h,c=0,p=0,s=0,z=0
217
      000000F0 00000000 FE 75                196         cpi     $075
218
      000000F2 00000000 CA F8 00             197         jz      c010    !test "xri"
219
      000000F5 00000000 CD FA 04             198         call    cpuer
220
      000000F8 00000000                      199 !
221
      000000F8 00000000                      200 !
222
      000000F8 00000000                      201 !
223
      000000F8 00000000                      202 !test calls and returns
224
      000000F8 00000000                      203 !
225
      000000F8 00000000 E6 00                204 c010:   ani     $0      !a=0,c=0,p=1,s=0,z=1
226
      000000FA 00000000 DC FA 04             205         cc      cpuer   !test "cc"
227
      000000FD 00000000 E4 FA 04             206         cpo     cpuer   !test "cpo"
228
      00000100 00000000 FC FA 04             207         cm      cpuer   !test "cm"
229
      00000103 00000000 C4 FA 04             208         cnz     cpuer   !test "cnz"
230
      00000106 00000000 FE 00                209         cpi     $0
231
      00000108 00000000 CA 0E 01             210         jz      c020    !a=0,c=0,p=0,s=0,z=1
232
      0000010B 00000000 CD FA 04             211         call    cpuer
233
      0000010E 00000000 D6 77                212 c020:   sui     $077    !a=89h,c=1,p=0,s=1,z=0
234
      00000110 00000000 D4 FA 04             213         cnc     cpuer   !test "cnc"
235
      00000113 00000000 EC FA 04             214         cpe     cpuer   !test "cpe"
236
      00000116 00000000 F4 FA 04             215         cp      cpuer   !test "cp"
237
      00000119 00000000 CC FA 04             216         cz      cpuer   !test "cz"
238
      0000011C 00000000 FE 89                217         cpi     $089
239
      0000011E 00000000 CA 24 01             218         jz      c030    !test for "calls" taking branch
240
      00000121 00000000 CD FA 04             219         call    cpuer
241
      00000124 00000000 E6 FF                220 c030:   ani     $0ff    !set flags back!
242
      00000126 00000000 E4 31 01             221         cpo     cpoi    !test "cpo"
243
      00000129 00000000 FE D9                222         cpi     $0d9
244
      0000012B 00000000 CA 8E 01             223         jz      movi    !test "call" sequence success
245
      0000012E 00000000 CD FA 04             224         call    cpuer
246
      00000131 00000000 E8                   225 cpoi:   rpe             !test "rpe"
247
      00000132 00000000 C6 10                226         adi     $010    !a=99h,c=0,p=0,s=1,z=0
248
      00000134 00000000 EC 3D 01             227         cpe     cpei    !test "cpe"
249
      00000137 00000000 C6 02                228         adi     $002    !a=d9h,c=0,p=0,s=1,z=0
250
      00000139 00000000 E0                   229         rpo             !test "rpo"
251
      0000013A 00000000 CD FA 04             230         call    cpuer
252
      0000013D 00000000 E0                   231 cpei:   rpo             !test "rpo"
253
      0000013E 00000000 C6 20                232         adi     $020    !a=b9h,c=0,p=0,s=1,z=0
254
      00000140 00000000 FC 49 01             233         cm      cmi     !test "cm"
255
      00000143 00000000 C6 04                234         adi     $004    !a=d7h,c=0,p=1,s=1,z=0
256
      00000145 00000000 E8                   235         rpe             !test "rpe"
257
      00000146 00000000 CD FA 04             236         call    cpuer
258
      00000149 00000000 F0                   237 cmi:    rp              !test "rp"
259
      0000014A 00000000 C6 80                238         adi     $080    !a=39h,c=1,p=1,s=0,z=0
260
      0000014C 00000000 F4 55 01             239         cp      tcpi    !test "cp"
261
      0000014F 00000000 C6 80                240         adi     $080    !a=d3h,c=0,p=0,s=1,z=0
262
      00000151 00000000 F8                   241         rm              !test "rm"
263
      00000152 00000000 CD FA 04             242         call    cpuer
264
      00000155 00000000 F8                   243 tcpi:   rm              !test "rm"
265
      00000156 00000000 C6 40                244         adi     $040    !a=79h,c=0,p=0,s=0,z=0
266
      00000158 00000000 D4 61 01             245         cnc     cnci    !test "cnc"
267
      0000015B 00000000 C6 40                246         adi     $040    !a=53h,c=0,p=1,s=0,z=0
268
      0000015D 00000000 F0                   247         rp              !test "rp"
269
      0000015E 00000000 CD FA 04             248         call    cpuer
270
      00000161 00000000 D8                   249 cnci:   rc              !test "rc"
271
      00000162 00000000 C6 8F                250         adi     $08f    !a=08h,c=1,p=0,s=0,z=0
272
      00000164 00000000 DC 6D 01             251         cc      cci     !test "cc"
273
      00000167 00000000 D6 02                252         sui     $002    !a=13h,c=0,p=0,s=0,z=0
274
      00000169 00000000 D0                   253         rnc             !test "rnc"
275
      0000016A 00000000 CD FA 04             254         call    cpuer
276
      0000016D 00000000 D0                   255 cci:    rnc             !test "rnc"
277
      0000016E 00000000 C6 F7                256         adi     $0f7    !a=ffh,c=0,p=1,s=1,z=0
278
      00000170 00000000 C4 79 01             257         cnz     cnzi    !test "cnz"
279
      00000173 00000000 C6 FE                258         adi     $0fe    !a=15h,c=1,p=0,s=0,z=0
280
 
281
 
282
                                                                 test                                                           Page 4
283
 
284
 
285
      Program  Variable Code              C Line Source
286
      -----------------------------------------------------------------------------------------------------------------------------------
287
      00000175 00000000 D8                   259         rc              !test "rc"
288
      00000176 00000000 CD FA 04             260         call    cpuer
289
      00000179 00000000 C8                   261 cnzi:   rz              !test "rz"
290
      0000017A 00000000 C6 01                262         adi     $001    !a=00h,c=1,p=1,s=0,z=1
291
      0000017C 00000000 CC 85 01             263         cz      czi     !test "cz"
292
      0000017F 00000000 C6 D0                264         adi     $0d0    !a=17h,c=1,p=1,s=0,z=0
293
      00000181 00000000 C0                   265         rnz             !test "rnz"
294
      00000182 00000000 CD FA 04             266         call    cpuer
295
      00000185 00000000 C0                   267 czi:    rnz             !test "rnz"
296
      00000186 00000000 C6 47                268         adi     $047    !a=47h,c=0,p=1,s=0,z=0
297
      00000188 00000000 FE 47                269         cpi     $047    !a=47h,c=0,p=1,s=0,z=1
298
      0000018A 00000000 C8                   270         rz              !test "rz"
299
      0000018B 00000000 CD FA 04             271         call    cpuer
300
      0000018E 00000000                      272 !
301
      0000018E 00000000                      273 !
302
      0000018E 00000000                      274 !
303
      0000018E 00000000                      275 !test "mov","inr",and "dcr" instructions
304
      0000018E 00000000                      276 !
305
      0000018E 00000000 3E 77                277 movi:   mvi     a,$077
306
      00000190 00000000 3C                   278         inr     a
307
      00000191 00000000 47                   279         mov     b,a
308
      00000192 00000000 04                   280         inr     b
309
      00000193 00000000 48                   281         mov     c,b
310
      00000194 00000000 0D                   282         dcr     c
311
      00000195 00000000 51                   283         mov     d,c
312
      00000196 00000000 5A                   284         mov     e,d
313
      00000197 00000000 63                   285         mov     h,e
314
      00000198 00000000 6C                   286         mov     l,h
315
      00000199 00000000 7D                   287         mov     a,l     !test "mov" a,l,h,e,d,c,b,a
316
      0000019A 00000000 3D                   288         dcr     a
317
      0000019B 00000000 4F                   289         mov     c,a
318
      0000019C 00000000 59                   290         mov     e,c
319
      0000019D 00000000 6B                   291         mov     l,e
320
      0000019E 00000000 45                   292         mov     b,l
321
      0000019F 00000000 50                   293         mov     d,b
322
      000001A0 00000000 62                   294         mov     h,d
323
      000001A1 00000000 7C                   295         mov     a,h     !test "mov" a,h,d,b,l,e,c,a
324
      000001A2 00000000 57                   296         mov     d,a
325
      000001A3 00000000 14                   297         inr     d
326
      000001A4 00000000 6A                   298         mov     l,d
327
      000001A5 00000000 4D                   299         mov     c,l
328
      000001A6 00000000 0C                   300         inr     c
329
      000001A7 00000000 61                   301         mov     h,c
330
      000001A8 00000000 44                   302         mov     b,h
331
      000001A9 00000000 05                   303         dcr     b
332
      000001AA 00000000 58                   304         mov     e,b
333
      000001AB 00000000 7B                   305         mov     a,e     !test "mov" a,e,b,h,c,l,d,a
334
      000001AC 00000000 5F                   306         mov     e,a
335
      000001AD 00000000 1C                   307         inr     e
336
      000001AE 00000000 43                   308         mov     b,e
337
      000001AF 00000000 60                   309         mov     h,b
338
      000001B0 00000000 24                   310         inr     h
339
      000001B1 00000000 4C                   311         mov     c,h
340
      000001B2 00000000 69                   312         mov     l,c
341
      000001B3 00000000 55                   313         mov     d,l
342
      000001B4 00000000 15                   314         dcr     d
343
      000001B5 00000000 7A                   315         mov     a,d     !test "mov" a,d,l,c,h,b,e,a
344
      000001B6 00000000 67                   316         mov     h,a
345
      000001B7 00000000 25                   317         dcr     h
346
      000001B8 00000000 54                   318         mov     d,h
347
      000001B9 00000000 42                   319         mov     b,d
348
      000001BA 00000000 68                   320         mov     l,b
349
      000001BB 00000000 2C                   321         inr     l
350
      000001BC 00000000 5D                   322         mov     e,l
351
      000001BD 00000000 1D                   323         dcr     e
352
      000001BE 00000000 4B                   324         mov     c,e
353
      000001BF 00000000 79                   325         mov     a,c     !test "mov" a,c,e,l,b,d,h,a
354
      000001C0 00000000 6F                   326         mov     l,a
355
      000001C1 00000000 2D                   327         dcr     l
356
      000001C2 00000000 65                   328         mov     h,l
357
      000001C3 00000000 5C                   329         mov     e,h
358
      000001C4 00000000 53                   330         mov     d,e
359
      000001C5 00000000 4A                   331         mov     c,d
360
      000001C6 00000000 41                   332         mov     b,c
361
      000001C7 00000000 78                   333         mov     a,b
362
      000001C8 00000000 FE 77                334         cpi     $077
363
      000001CA 00000000 C4 FA 04             335         cnz     cpuer   !test "mov" a,b,c,d,e,h,l,a
364
      000001CD 00000000                      336 !
365
      000001CD 00000000                      337 !
366
      000001CD 00000000                      338 !
367
      000001CD 00000000                      339 !test arithmetic and logic instructions
368
      000001CD 00000000                      340 !
369
      000001CD 00000000 AF                   341         xra     a
370
      000001CE 00000000 06 01                342         mvi     b,$001
371
      000001D0 00000000 0E 03                343         mvi     c,$003
372
      000001D2 00000000 16 07                344         mvi     d,$007
373
 
374
 
375
                                                                 test                                                           Page 5
376
 
377
 
378
      Program  Variable Code              C Line Source
379
      -----------------------------------------------------------------------------------------------------------------------------------
380
      000001D4 00000000 1E 0F                345         mvi     e,$00f
381
      000001D6 00000000 26 1F                346         mvi     h,$01f
382
      000001D8 00000000 2E 3F                347         mvi     l,$03f
383
      000001DA 00000000 80                   348         add     b
384
      000001DB 00000000 81                   349         add     c
385
      000001DC 00000000 82                   350         add     d
386
      000001DD 00000000 83                   351         add     e
387
      000001DE 00000000 84                   352         add     h
388
      000001DF 00000000 85                   353         add     l
389
      000001E0 00000000 87                   354         add     a
390
      000001E1 00000000 FE F0                355         cpi     $0f0
391
      000001E3 00000000 C4 FA 04             356         cnz     cpuer   !test "add" b,c,d,e,h,l,a
392
      000001E6 00000000 90                   357         sub     b
393
      000001E7 00000000 91                   358         sub     c
394
      000001E8 00000000 92                   359         sub     d
395
      000001E9 00000000 93                   360         sub     e
396
      000001EA 00000000 94                   361         sub     h
397
      000001EB 00000000 95                   362         sub     l
398
      000001EC 00000000 FE 78                363         cpi     $078
399
      000001EE 00000000 C4 FA 04             364         cnz     cpuer   !test "sub" b,c,d,e,h,l
400
      000001F1 00000000 97                   365         sub     a
401
      000001F2 00000000 C4 FA 04             366         cnz     cpuer   !test "sub" a
402
      000001F5 00000000 3E 80                367         mvi     a,$080
403
      000001F7 00000000 87                   368         add     a
404
      000001F8 00000000 06 01                369         mvi     b,$001
405
      000001FA 00000000 0E 02                370         mvi     c,$002
406
      000001FC 00000000 16 03                371         mvi     d,$003
407
      000001FE 00000000 1E 04                372         mvi     e,$004
408
      00000200 00000000 26 05                373         mvi     h,$005
409
      00000202 00000000 2E 06                374         mvi     l,$006
410
      00000204 00000000 88                   375         adc     b
411
      00000205 00000000 06 80                376         mvi     b,$080
412
      00000207 00000000 80                   377         add     b
413
      00000208 00000000 80                   378         add     b
414
      00000209 00000000 89                   379         adc     c
415
      0000020A 00000000 80                   380         add     b
416
      0000020B 00000000 80                   381         add     b
417
      0000020C 00000000 8A                   382         adc     d
418
      0000020D 00000000 80                   383         add     b
419
      0000020E 00000000 80                   384         add     b
420
      0000020F 00000000 8B                   385         adc     e
421
      00000210 00000000 80                   386         add     b
422
      00000211 00000000 80                   387         add     b
423
      00000212 00000000 8C                   388         adc     h
424
      00000213 00000000 80                   389         add     b
425
      00000214 00000000 80                   390         add     b
426
      00000215 00000000 8D                   391         adc     l
427
      00000216 00000000 80                   392         add     b
428
      00000217 00000000 80                   393         add     b
429
      00000218 00000000 8F                   394         adc     a
430
      00000219 00000000 FE 37                395         cpi     $037
431
      0000021B 00000000 C4 FA 04             396         cnz     cpuer   !test "adc" b,c,d,e,h,l,a
432
      0000021E 00000000 3E 80                397         mvi     a,$080
433
      00000220 00000000 87                   398         add     a
434
      00000221 00000000 06 01                399         mvi     b,$001
435
      00000223 00000000 98                   400         sbb     b
436
      00000224 00000000 06 FF                401         mvi     b,$0ff
437
      00000226 00000000 80                   402         add     b
438
      00000227 00000000 99                   403         sbb     c
439
      00000228 00000000 80                   404         add     b
440
      00000229 00000000 9A                   405         sbb     d
441
      0000022A 00000000 80                   406         add     b
442
      0000022B 00000000 9B                   407         sbb     e
443
      0000022C 00000000 80                   408         add     b
444
      0000022D 00000000 9C                   409         sbb     h
445
      0000022E 00000000 80                   410         add     b
446
      0000022F 00000000 9D                   411         sbb     l
447
      00000230 00000000 FE E0                412         cpi     $0e0
448
      00000232 00000000 C4 FA 04             413         cnz     cpuer   !test "sbb" b,c,d,e,h,l
449
      00000235 00000000 3E 80                414         mvi     a,$080
450
      00000237 00000000 87                   415         add     a
451
      00000238 00000000 9F                   416         sbb     a
452
      00000239 00000000 FE FF                417         cpi     $0ff
453
      0000023B 00000000 C4 FA 04             418         cnz     cpuer   !test "sbb" a
454
      0000023E 00000000 3E FF                419         mvi     a,$0ff
455
      00000240 00000000 06 FE                420         mvi     b,$0fe
456
      00000242 00000000 0E FC                421         mvi     c,$0fc
457
      00000244 00000000 16 EF                422         mvi     d,$0ef
458
      00000246 00000000 1E 7F                423         mvi     e,$07f
459
      00000248 00000000 26 F4                424         mvi     h,$0f4
460
      0000024A 00000000 2E BF                425         mvi     l,$0bf
461
      0000024C 00000000 A7                   426         ana     a
462
      0000024D 00000000 A1                   427         ana     c
463
      0000024E 00000000 A2                   428         ana     d
464
      0000024F 00000000 A3                   429         ana     e
465
      00000250 00000000 A4                   430         ana     h
466
 
467
 
468
                                                                 test                                                           Page 6
469
 
470
 
471
      Program  Variable Code              C Line Source
472
      -----------------------------------------------------------------------------------------------------------------------------------
473
      00000251 00000000 A5                   431         ana     l
474
      00000252 00000000 A7                   432         ana     a
475
      00000253 00000000 FE 24                433         cpi     $024
476
      00000255 00000000 C4 FA 04             434         cnz     cpuer   !test "ana" b,c,d,e,h,l,a
477
      00000258 00000000 AF                   435         xra     a
478
      00000259 00000000 06 01                436         mvi     b,$001
479
      0000025B 00000000 0E 02                437         mvi     c,$002
480
      0000025D 00000000 16 04                438         mvi     d,$004
481
      0000025F 00000000 1E 08                439         mvi     e,$008
482
      00000261 00000000 26 10                440         mvi     h,$010
483
      00000263 00000000 2E 20                441         mvi     l,$020
484
      00000265 00000000 B0                   442         ora     b
485
      00000266 00000000 B1                   443         ora     c
486
      00000267 00000000 B2                   444         ora     d
487
      00000268 00000000 B3                   445         ora     e
488
      00000269 00000000 B4                   446         ora     h
489
      0000026A 00000000 B5                   447         ora     l
490
      0000026B 00000000 B7                   448         ora     a
491
      0000026C 00000000 FE 3F                449         cpi     $03f
492
      0000026E 00000000 C4 FA 04             450         cnz     cpuer   !test "ora" b,c,d,e,h,l,a
493
      00000271 00000000 3E 00                451         mvi     a,$0
494
      00000273 00000000 26 8F                452         mvi     h,$08f
495
      00000275 00000000 2E 4F                453         mvi     l,$04f
496
      00000277 00000000 A8                   454         xra     b
497
      00000278 00000000 A9                   455         xra     c
498
      00000279 00000000 AA                   456         xra     d
499
      0000027A 00000000 AB                   457         xra     e
500
      0000027B 00000000 AC                   458         xra     h
501
      0000027C 00000000 AD                   459         xra     l
502
      0000027D 00000000 FE CF                460         cpi     $0cf
503
      0000027F 00000000 C4 FA 04             461         cnz     cpuer   !test "xra" b,c,d,e,h,l
504
      00000282 00000000 AF                   462         xra     a
505
      00000283 00000000 C4 FA 04             463         cnz     cpuer   !test "xra" a
506
      00000286 00000000 06 44                464         mvi     b,$044
507
      00000288 00000000 0E 45                465         mvi     c,$045
508
      0000028A 00000000 16 46                466         mvi     d,$046
509
      0000028C 00000000 1E 47                467         mvi     e,$047
510 28 samiam9512
      0000028E 00000000 26 10                468         mvi     h,(temp0 / $0ff)        !high byte of test memory location
511 24 samiam9512
      00000290 00000000 2E 00                469         mvi     l,(temp0 and $0ff)      !low byte of test memory location
512
      00000292 00000000 70                   470         mov     m,b
513
      00000293 00000000 06 00                471         mvi     b,$0
514
      00000295 00000000 46                   472         mov     b,m
515
      00000296 00000000 3E 44                473         mvi     a,$044
516
      00000298 00000000 B8                   474         cmp     b
517
      00000299 00000000 C4 FA 04             475         cnz     cpuer   !test "mov" m,b and b,m
518
      0000029C 00000000 72                   476         mov     m,d
519
      0000029D 00000000 16 00                477         mvi     d,$0
520
      0000029F 00000000 56                   478         mov     d,m
521
      000002A0 00000000 3E 46                479         mvi     a,$046
522
      000002A2 00000000 BA                   480         cmp     d
523
      000002A3 00000000 C4 FA 04             481         cnz     cpuer   !test "mov" m,d and d,m
524
      000002A6 00000000 73                   482         mov     m,e
525
      000002A7 00000000 1E 00                483         mvi     e,$0
526
      000002A9 00000000 5E                   484         mov     e,m
527
      000002AA 00000000 3E 47                485         mvi     a,$047
528
      000002AC 00000000 BB                   486         cmp     e
529
      000002AD 00000000 C4 FA 04             487         cnz     cpuer   !test "mov" m,e and e,m
530
      000002B0 00000000 74                   488         mov     m,h
531 28 samiam9512
      000002B1 00000000 26 10                489         mvi     h,(temp0 / $0ff)
532 24 samiam9512
      000002B3 00000000 2E 00                490         mvi     l,(temp0 and $0ff)
533
      000002B5 00000000 66                   491         mov     h,m
534 28 samiam9512
      000002B6 00000000 3E 10                492         mvi     a,(temp0 / $0ff)
535 24 samiam9512
      000002B8 00000000 BC                   493         cmp     h
536
      000002B9 00000000 C4 FA 04             494         cnz     cpuer   !test "mov" m,h and h,m
537
      000002BC 00000000 75                   495         mov     m,l
538 28 samiam9512
      000002BD 00000000 26 10                496         mvi     h,(temp0 / $0ff)
539 24 samiam9512
      000002BF 00000000 2E 00                497         mvi     l,(temp0 and $0ff)
540
      000002C1 00000000 6E                   498         mov     l,m
541
      000002C2 00000000 3E 00                499         mvi     a,(temp0 and $0ff)
542
      000002C4 00000000 BD                   500         cmp     l
543
      000002C5 00000000 C4 FA 04             501         cnz     cpuer   !test "mov" m,l and l,m
544 28 samiam9512
      000002C8 00000000 26 10                502         mvi     h,(temp0 / $0ff)
545 24 samiam9512
      000002CA 00000000 2E 00                503         mvi     l,(temp0 and $0ff)
546
      000002CC 00000000 3E 32                504         mvi     a,$032
547
      000002CE 00000000 77                   505         mov     m,a
548
      000002CF 00000000 BE                   506         cmp     m
549
      000002D0 00000000 C4 FA 04             507         cnz     cpuer   !test "mov" m,a
550
      000002D3 00000000 86                   508         add     m
551
      000002D4 00000000 FE 64                509         cpi     $064
552
      000002D6 00000000 C4 FA 04             510         cnz     cpuer   !test "add" m
553
      000002D9 00000000 AF                   511         xra     a
554
      000002DA 00000000 7E                   512         mov     a,m
555
      000002DB 00000000 FE 32                513         cpi     $032
556
      000002DD 00000000 C4 FA 04             514         cnz     cpuer   !test "mov" a,m
557 28 samiam9512
      000002E0 00000000 26 10                515         mvi     h,(temp0 / $0ff)
558 24 samiam9512
      000002E2 00000000 2E 00                516         mvi     l,(temp0 and $0ff)
559
 
560
 
561
                                                                 test                                                           Page 7
562
 
563
 
564
      Program  Variable Code              C Line Source
565
      -----------------------------------------------------------------------------------------------------------------------------------
566
      000002E4 00000000 7E                   517         mov     a,m
567
      000002E5 00000000 96                   518         sub     m
568
      000002E6 00000000 C4 FA 04             519         cnz     cpuer   !test "sub" m
569
      000002E9 00000000 3E 80                520         mvi     a,$080
570
      000002EB 00000000 87                   521         add     a
571
      000002EC 00000000 8E                   522         adc     m
572
      000002ED 00000000 FE 33                523         cpi     $033
573
      000002EF 00000000 C4 FA 04             524         cnz     cpuer   !test "adc" m
574
      000002F2 00000000 3E 80                525         mvi     a,$080
575
      000002F4 00000000 87                   526         add     a
576
      000002F5 00000000 9E                   527         sbb     m
577
      000002F6 00000000 FE CD                528         cpi     $0cd
578
      000002F8 00000000 C4 FA 04             529         cnz     cpuer   !test "sbb" m
579
      000002FB 00000000 A6                   530         ana     m
580
      000002FC 00000000 C4 FA 04             531         cnz     cpuer   !test "ana" m
581
      000002FF 00000000 3E 25                532         mvi     a,$025
582
      00000301 00000000 B6                   533         ora     m
583
      00000302 00000000 FE 37                534         cpi     $37
584
      00000304 00000000 C4 FA 04             535         cnz     cpuer   !test "ora" m
585
      00000307 00000000 AE                   536         xra     m
586
      00000308 00000000 FE 05                537         cpi     $005
587
      0000030A 00000000 C4 FA 04             538         cnz     cpuer   !test "xra" m
588
      0000030D 00000000 36 55                539         mvi     m,$055
589
      0000030F 00000000 34                   540         inr     m
590
      00000310 00000000 35                   541         dcr     m
591
      00000311 00000000 86                   542         add     m
592
      00000312 00000000 FE 5A                543         cpi     $05a
593
      00000314 00000000 C4 FA 04             544         cnz     cpuer   !test "inr","dcr",and "mvi" m
594
      00000317 00000000 01 FF 12             545         lxi     b,$12ff
595
      0000031A 00000000 11 FF 12             546         lxi     d,$12ff
596
      0000031D 00000000 21 FF 12             547         lxi     h,$12ff
597
      00000320 00000000 03                   548         inx     b
598
      00000321 00000000 13                   549         inx     d
599
      00000322 00000000 23                   550         inx     h
600
      00000323 00000000 3E 13                551         mvi     a,$013
601
      00000325 00000000 B8                   552         cmp     b
602
      00000326 00000000 C4 FA 04             553         cnz     cpuer   !test "lxi" and "inx" b
603
      00000329 00000000 BA                   554         cmp     d
604
      0000032A 00000000 C4 FA 04             555         cnz     cpuer   !test "lxi" and "inx" d
605
      0000032D 00000000 BC                   556         cmp     h
606
      0000032E 00000000 C4 FA 04             557         cnz     cpuer   !test "lxi" and "inx" h
607
      00000331 00000000 3E 00                558         mvi     a,$0
608
      00000333 00000000 B9                   559         cmp     c
609
      00000334 00000000 C4 FA 04             560         cnz     cpuer   !test "lxi" and "inx" b
610
      00000337 00000000 BB                   561         cmp     e
611
      00000338 00000000 C4 FA 04             562         cnz     cpuer   !test "lxi" and "inx" d
612
      0000033B 00000000 BD                   563         cmp     l
613
      0000033C 00000000 C4 FA 04             564         cnz     cpuer   !test "lxi" and "inx" h
614
      0000033F 00000000 0B                   565         dcx     b
615
      00000340 00000000 1B                   566         dcx     d
616
      00000341 00000000 2B                   567         dcx     h
617
      00000342 00000000 3E 12                568         mvi     a,$012
618
      00000344 00000000 B8                   569         cmp     b
619
      00000345 00000000 C4 FA 04             570         cnz     cpuer   !test "dcx" b
620
      00000348 00000000 BA                   571         cmp     d
621
      00000349 00000000 C4 FA 04             572         cnz     cpuer   !test "dcx" d
622
      0000034C 00000000 BC                   573         cmp     h
623
      0000034D 00000000 C4 FA 04             574         cnz     cpuer   !test "dcx" h
624
      00000350 00000000 3E FF                575         mvi     a,$0ff
625
      00000352 00000000 B9                   576         cmp     c
626
      00000353 00000000 C4 FA 04             577         cnz     cpuer   !test "dcx" b
627
      00000356 00000000 BB                   578         cmp     e
628
      00000357 00000000 C4 FA 04             579         cnz     cpuer   !test "dcx" d
629
      0000035A 00000000 BD                   580         cmp     l
630
      0000035B 00000000 C4 FA 04             581         cnz     cpuer   !test "dcx" h
631
      0000035E 00000000 32 00 10             582         sta     temp0
632
      00000361 00000000 AF                   583         xra     a
633
      00000362 00000000 3A 00 10             584         lda     temp0
634
      00000365 00000000 FE FF                585         cpi     $0ff
635
      00000367 00000000 C4 FA 04             586         cnz     cpuer   !test "lda" and "sta"
636
      0000036A 00000000 2A 00 05             587         lhld    tempp
637
      0000036D 00000000 22 00 10             588         shld    temp0
638
      00000370 00000000 3A 00 05             589         lda     tempp
639
      00000373 00000000 47                   590         mov     b,a
640
      00000374 00000000 3A 00 10             591         lda     temp0
641
      00000377 00000000 B8                   592         cmp     b
642
      00000378 00000000 C4 FA 04             593         cnz     cpuer   !test "lhld" and "shld"
643
      0000037B 00000000 3A 01 05             594         lda     tempp+1
644
      0000037E 00000000 47                   595         mov     b,a
645 28 samiam9512
      0000037F 00000000 3A 01 10             596         lda     temp0+1
646 24 samiam9512
      00000382 00000000 B8                   597         cmp     b
647
      00000383 00000000 C4 FA 04             598         cnz     cpuer   !test "lhld" and "shld"
648
      00000386 00000000 3E AA                599         mvi     a,$0aa
649
      00000388 00000000 32 00 10             600         sta     temp0
650
      0000038B 00000000 44                   601         mov     b,h
651
      0000038C 00000000 4D                   602         mov     c,l
652
 
653
 
654
                                                                 test                                                           Page 8
655
 
656
 
657
      Program  Variable Code              C Line Source
658
      -----------------------------------------------------------------------------------------------------------------------------------
659
      0000038D 00000000 AF                   603         xra     a
660
      0000038E 00000000 0A                   604         ldax    b
661
      0000038F 00000000 FE AA                605         cpi     $0aa
662
      00000391 00000000 C4 FA 04             606         cnz     cpuer   !test "ldax" b
663
      00000394 00000000 3C                   607         inr     a
664
      00000395 00000000 02                   608         stax    b
665
      00000396 00000000 3A 00 10             609         lda     temp0
666
      00000399 00000000 FE AB                610         cpi     $0ab
667
      0000039B 00000000 C4 FA 04             611         cnz     cpuer   !test "stax" b
668
      0000039E 00000000 3E 77                612         mvi     a,$077
669
      000003A0 00000000 32 00 10             613         sta     temp0
670
      000003A3 00000000 2A 00 05             614         lhld    tempp
671
      000003A6 00000000 11 00 00             615         lxi     d,$00000
672
      000003A9 00000000 EB                   616         xchg
673
      000003AA 00000000 AF                   617         xra     a
674
      000003AB 00000000 1A                   618         ldax    d
675
      000003AC 00000000 FE 77                619         cpi     $077
676
      000003AE 00000000 C4 FA 04             620         cnz     cpuer   !test "ldax" d and "xchg"
677
      000003B1 00000000 AF                   621         xra     a
678
      000003B2 00000000 84                   622         add     h
679
      000003B3 00000000 85                   623         add     l
680
      000003B4 00000000 C4 FA 04             624         cnz     cpuer   !test "xchg"
681
      000003B7 00000000 3E CC                625         mvi     a,$0cc
682
      000003B9 00000000 12                   626         stax    d
683
      000003BA 00000000 3A 00 10             627         lda     temp0
684
      000003BD 00000000 FE CC                628         cpi     $0cc
685
      000003BF 00000000 12                   629         stax    d
686
      000003C0 00000000 3A 00 10             630         lda     temp0
687
      000003C3 00000000 FE CC                631         cpi     $0cc
688
      000003C5 00000000 C4 FA 04             632         cnz     cpuer   !test "stax" d
689
      000003C8 00000000 21 77 77             633         lxi     h,$07777
690
      000003CB 00000000 29                   634         dad     h
691
      000003CC 00000000 3E EE                635         mvi     a,$0ee
692
      000003CE 00000000 BC                   636         cmp     h
693
      000003CF 00000000 C4 FA 04             637         cnz     cpuer   !test "dad" h
694
      000003D2 00000000 BD                   638         cmp     l
695
      000003D3 00000000 C4 FA 04             639         cnz     cpuer   !test "dad" h
696
      000003D6 00000000 21 55 55             640         lxi     h,$05555
697
      000003D9 00000000 01 FF FF             641         lxi     b,$0ffff
698
      000003DC 00000000 09                   642         dad     b
699
      000003DD 00000000 3E 55                643         mvi     a,$055
700
      000003DF 00000000 D4 FA 04             644         cnc     cpuer   !test "dad" b
701
      000003E2 00000000 BC                   645         cmp     h
702
      000003E3 00000000 C4 FA 04             646         cnz     cpuer   !test "dad" b
703
      000003E6 00000000 3E 54                647         mvi     a,$054
704
      000003E8 00000000 BD                   648         cmp     l
705
      000003E9 00000000 C4 FA 04             649         cnz     cpuer   !test "dad" b
706
      000003EC 00000000 21 AA AA             650         lxi     h,$0aaaa
707
      000003EF 00000000 11 33 33             651         lxi     d,$03333
708
      000003F2 00000000 19                   652         dad     d
709
      000003F3 00000000 3E DD                653         mvi     a,$0dd
710
      000003F5 00000000 BC                   654         cmp     h
711
      000003F6 00000000 C4 FA 04             655         cnz     cpuer   !test "dad" d
712
      000003F9 00000000 BD                   656         cmp     l
713
      000003FA 00000000 C4 FA 04             657         cnz     cpuer   !test "dad" b
714
      000003FD 00000000 37                   658         stc
715
      000003FE 00000000 D4 FA 04             659         cnc     cpuer   !test "stc"
716
      00000401 00000000 3F                   660         cmc
717
      00000402 00000000 DC FA 04             661         cc      cpuer   !test "cmc
718
      00000405 00000000 3E AA                662         mvi     a,$0aa
719
      00000407 00000000 2F                   663         cma
720
      00000408 00000000 FE 55                664         cpi     $055
721
      0000040A 00000000 C4 FA 04             665         cnz     cpuer   !test "cma"
722
      0000040D 00000000 B7                   666         ora     a       !re-set auxiliary carry
723
      0000040E 00000000 27                   667         daa
724
      0000040F 00000000 FE 55                668         cpi     $055
725
      00000411 00000000 C4 FA 04             669         cnz     cpuer   !test "daa"
726
      00000414 00000000 3E 88                670         mvi     a,$088
727
      00000416 00000000 87                   671         add     a
728
      00000417 00000000 27                   672         daa
729
      00000418 00000000 FE 76                673         cpi     $076
730
      0000041A 00000000 C4 FA 04             674         cnz     cpuer   !test "daa"
731
      0000041D 00000000 AF                   675         xra     a
732
      0000041E 00000000 3E AA                676         mvi     a,$0aa
733
      00000420 00000000 27                   677         daa
734
      00000421 00000000 D4 FA 04             678         cnc     cpuer   !test "daa"
735
      00000424 00000000 FE 10                679         cpi     $010
736
      00000426 00000000 C4 FA 04             680         cnz     cpuer   !test "daa"
737
      00000429 00000000 AF                   681         xra     a
738
      0000042A 00000000 3E 9A                682         mvi     a,$09a
739
      0000042C 00000000 27                   683         daa
740
      0000042D 00000000 D4 FA 04             684         cnc     cpuer   !test "daa"
741
      00000430 00000000 C4 FA 04             685         cnz     cpuer   !test "daa"
742
      00000433 00000000 37                   686         stc
743
      00000434 00000000 3E 42                687         mvi     a,$042
744
      00000436 00000000 07                   688         rlc
745
 
746
 
747
                                                                 test                                                           Page 9
748
 
749
 
750
      Program  Variable Code              C Line Source
751
      -----------------------------------------------------------------------------------------------------------------------------------
752
      00000437 00000000 DC FA 04             689         cc      cpuer   !test "rlc" for re-set carry
753
      0000043A 00000000 07                   690         rlc
754
      0000043B 00000000 D4 FA 04             691         cnc     cpuer   !test "rlc" for set carry
755
      0000043E 00000000 FE 09                692         cpi     $009
756
      00000440 00000000 C4 FA 04             693         cnz     cpuer   !test "rlc" for rotation
757
      00000443 00000000 0F                   694         rrc
758
      00000444 00000000 D4 FA 04             695         cnc     cpuer   !test "rrc" for set carry
759
      00000447 00000000 0F                   696         rrc
760
      00000448 00000000 FE 42                697         cpi     $042
761
      0000044A 00000000 C4 FA 04             698         cnz     cpuer   !test "rrc" for rotation
762
      0000044D 00000000 17                   699         ral
763
      0000044E 00000000 17                   700         ral
764
      0000044F 00000000 D4 FA 04             701         cnc     cpuer   !test "ral" for set carry
765
      00000452 00000000 FE 08                702         cpi     $008
766
      00000454 00000000 C4 FA 04             703         cnz     cpuer   !test "ral" for rotation
767
      00000457 00000000 1F                   704         rar
768
      00000458 00000000 1F                   705         rar
769
      00000459 00000000 DC FA 04             706         cc      cpuer   !test "rar" for re-set carry
770
      0000045C 00000000 FE 02                707         cpi     $002
771
      0000045E 00000000 C4 FA 04             708         cnz     cpuer   !test "rar" for rotation
772
      00000461 00000000 01 34 12             709         lxi     b,$01234
773
      00000464 00000000 11 AA AA             710         lxi     d,$0aaaa
774
      00000467 00000000 21 55 55             711         lxi     h,$05555
775
      0000046A 00000000 AF                   712         xra     a
776
      0000046B 00000000 C5                   713         push    b
777
      0000046C 00000000 D5                   714         push    d
778
      0000046D 00000000 E5                   715         push    h
779
      0000046E 00000000 F5                   716         push    psw
780
      0000046F 00000000 01 00 00             717         lxi     b,$00000
781
      00000472 00000000 11 00 00             718         lxi     d,$00000
782
      00000475 00000000 21 00 00             719         lxi     h,$00000
783
      00000478 00000000 3E C0                720         mvi     a,$0c0
784
      0000047A 00000000 C6 F0                721         adi     $0f0
785
      0000047C 00000000 F1                   722         pop     psw
786
      0000047D 00000000 E1                   723         pop     h
787
      0000047E 00000000 D1                   724         pop     d
788
      0000047F 00000000 C1                   725         pop     b
789
      00000480 00000000 DC FA 04             726         cc      cpuer   !test "push psw" and "pop psw"
790
      00000483 00000000 C4 FA 04             727         cnz     cpuer   !test "push psw" and "pop psw"
791
      00000486 00000000 E4 FA 04             728         cpo     cpuer   !test "push psw" and "pop psw"
792
      00000489 00000000 FC FA 04             729         cm      cpuer   !test "push psw" and "pop psw"
793
      0000048C 00000000 3E 12                730         mvi     a,$012
794
      0000048E 00000000 B8                   731         cmp     b
795
      0000048F 00000000 C4 FA 04             732         cnz     cpuer   !test "push b" and "pop b"
796
      00000492 00000000 3E 34                733         mvi     a,$034
797
      00000494 00000000 B9                   734         cmp     c
798
      00000495 00000000 C4 FA 04             735         cnz     cpuer   !test "push b" and "pop b"
799
      00000498 00000000 3E AA                736         mvi     a,$0aa
800
      0000049A 00000000 BA                   737         cmp     d
801
      0000049B 00000000 C4 FA 04             738         cnz     cpuer   !test "push d" and "pop d"
802
      0000049E 00000000 BB                   739         cmp     e
803
      0000049F 00000000 C4 FA 04             740         cnz     cpuer   !test "push d" and "pop d"
804
      000004A2 00000000 3E 55                741         mvi     a,$055
805
      000004A4 00000000 BC                   742         cmp     h
806
      000004A5 00000000 C4 FA 04             743         cnz     cpuer   !test "push h" and "pop h"
807
      000004A8 00000000 BD                   744         cmp     l
808
      000004A9 00000000 C4 FA 04             745         cnz     cpuer   !test "push h" and "pop h"
809
      000004AC 00000000 21 00 00             746         lxi     h,$00000
810
      000004AF 00000000 39                   747         dad     sp
811
      000004B0 00000000 22 05 10             748         shld    savstk  !save the "old" stack-pointer!
812
      000004B3 00000000 31 04 10             749         lxi     sp,temp4
813
      000004B6 00000000 3B                   750         dcx     sp
814
      000004B7 00000000 3B                   751         dcx     sp
815
      000004B8 00000000 33                   752         inx     sp
816
      000004B9 00000000 3B                   753         dcx     sp
817
      000004BA 00000000 3E 55                754         mvi     a,$055
818
      000004BC 00000000 32 02 10             755         sta     temp2
819
      000004BF 00000000 2F                   756         cma
820
      000004C0 00000000 32 03 10             757         sta     temp3
821
      000004C3 00000000 C1                   758         pop     b
822
      000004C4 00000000 B8                   759         cmp     b
823
      000004C5 00000000 C4 FA 04             760         cnz     cpuer   !test "lxi","dad","inx",and "dcx" sp
824
      000004C8 00000000 2F                   761         cma
825
      000004C9 00000000 B9                   762         cmp     c
826
      000004CA 00000000 C4 FA 04             763         cnz     cpuer   !test "lxi","dad","inx", and "dcx" sp
827
      000004CD 00000000 21 04 10             764         lxi     h,temp4
828
      000004D0 00000000 F9                   765         sphl
829
      000004D1 00000000 21 33 77             766         lxi     h,$07733
830
      000004D4 00000000 3B                   767         dcx     sp
831
      000004D5 00000000 3B                   768         dcx     sp
832
      000004D6 00000000 E3                   769         xthl
833
      000004D7 00000000 3A 03 10             770         lda     temp3
834
      000004DA 00000000 FE 77                771         cpi     $077
835
      000004DC 00000000 C4 FA 04             772         cnz     cpuer   !test "sphl" and "xthl"
836
      000004DF 00000000 3A 02 10             773         lda     temp2
837
      000004E2 00000000 FE 33                774         cpi     $033
838
 
839
 
840
                                                                 test                                                           Page 10
841
 
842
 
843
      Program  Variable Code              C Line Source
844
      -----------------------------------------------------------------------------------------------------------------------------------
845
      000004E4 00000000 C4 FA 04             775         cnz     cpuer   !test "sphl" and "xthl"
846
      000004E7 00000000 3E 55                776         mvi     a,$055
847
      000004E9 00000000 BD                   777         cmp     l
848
      000004EA 00000000 C4 FA 04             778         cnz     cpuer   !test "sphl" and "xthl"
849
      000004ED 00000000 2F                   779         cma
850
      000004EE 00000000 BC                   780         cmp     h
851
      000004EF 00000000 C4 FA 04             781         cnz     cpuer   !test "sphl" and "xthl"
852
      000004F2 00000000 2A 05 10             782         lhld    savstk  !restore the "old" stack-pointer
853
      000004F5 00000000 F9                   783         sphl
854
      000004F6 00000000 21 FD 04             784         lxi     h,cpuok
855
      000004F9 00000000 E9                   785         pchl            !test "pchl"
856
      000004FA 00000000                      786
857
      000004FA 00000000 3E AA                787 cpuer:  mvi     a, $aa  ! set exit code (failure)
858
      000004FC 00000000 76                   788         hlt             ! stop here
859
      000004FD 00000000                      789
860
      000004FD 00000000 3E 55                790 cpuok:  mvi     a, $55  !
861
      000004FF 00000000 76                   791         hlt             ! stop here - no trap
862
      00000500 00000000                      792
863
      00000500 00000000                      793
864
      00000500 00000000                      794 !
865
      00000500 00000000                      795 ! Data area in program space
866
      00000500 00000000                      796 !
867
      00000500 00000000 00 10                797 tempp:  defw    temp0   !pointer used to test "lhld","shld",
868
      00000502 00000000                      798                         ! and "ldax" instructions
869
      00000502 00000000                      799 !
870
      00000502 00000000                      800 ! Data area in variable space
871
      00000502 00000000                      801 !
872
      00000502 00000000                      802 temp0:  defvs   1       !temporary storage for cpu test memory locations
873
      00000502 00000001                      803 temp1:  defvs   1       !temporary storage for cpu test memory locations
874
      00000502 00000002                      804 temp2:  defvs   1       !temporary storage for cpu test memory locations
875
      00000502 00000003                      805 temp3:  defvs   1       !temporary storage for cpu test memory locations
876
      00000502 00000004                      806 temp4:  defvs   1       !temporary storage for cpu test memory locations
877
      00000502 00000005                      807 savstk: defvs   2       !temporary stack-pointer storage location
878
      00000502 00000007                      808
879
      00000502 00000007                      809         defvs   256     !de-bug stack pointer storage area
880
      00000502 00000107                   +  810 stack:  defvs
881
      00000502 00000107                   +  811

powered by: WebSVN 2.1.0

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