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
|