Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1186 | savelij | 1 | ;;; -*- asm -*- |
2 | ;;; |
||
3 | |||
4 | CPU SC62015 |
||
5 | ORG 0000H |
||
6 | |||
7 | ;; a1 MV (Immediate) |
||
8 | MV A,0 |
||
9 | MV BA,1024 |
||
10 | MV X,131072 |
||
11 | MV (00H),10 |
||
12 | MVW (BP+10H),1034 |
||
13 | MVP (PX-10H),131082 |
||
14 | |||
15 | ;; a2 MV (Inter-Register) |
||
16 | MV B,A |
||
17 | MV A,B |
||
18 | MV BA,I |
||
19 | MV X,Y |
||
20 | |||
21 | ;; a3 MV (Internal RAM Direct / Indirect) |
||
22 | MV IL,(BP+PX) |
||
23 | MV I,(08H) |
||
24 | MV U,(BP+20H) |
||
25 | MV (PX-20H),A |
||
26 | MV (BP+PX),BA |
||
27 | MV (18H),S |
||
28 | MV (BP+30H),(PY-30H) |
||
29 | MVW (BP+PX),(20H) |
||
30 | MVP (PX+40H),(BP+PY) |
||
31 | MVL (28H),(30H) |
||
32 | MVLD (BP-40H),(BP+50H) |
||
33 | |||
34 | ;; a4 MV (Direct) |
||
35 | MV IL,[12345H] |
||
36 | MV I,[23456H] |
||
37 | MV X,[34567H] |
||
38 | MV [45678H],A |
||
39 | MV [56789H],BA |
||
40 | MV [6789AH],Y |
||
41 | MV (38H),[789ABH] |
||
42 | MVW (BP-50H),[89ABCH] |
||
43 | MVP (PX+60H),[9ABCDH] |
||
44 | MVL (BP+PX),[54321H] |
||
45 | MV [65432H],(40H) |
||
46 | MVW [76543H],(BP-60H) |
||
47 | MVP [87654H],(PX+70H) |
||
48 | MVL [98765H],(BP+PX) |
||
49 | |||
50 | ;; a5 Register Indirect |
||
51 | MV IL,[U] |
||
52 | MV I,[S] |
||
53 | MV X,[Y] |
||
54 | MV [U],A |
||
55 | MV [S],BA |
||
56 | MV [X],Y |
||
57 | MV (48H),[U] |
||
58 | MVW (BP-70H),[S] |
||
59 | MVP (PX-80H),[X] |
||
60 | MV [Y],(BP+PX) |
||
61 | MVW [U],(50H) |
||
62 | MVP [S],(BP+0) |
||
63 | |||
64 | ;; a6 MV (with Post Increment) |
||
65 | MV IL,[X++] |
||
66 | MV I,[Y++] |
||
67 | MV U,[S++] |
||
68 | MV [X++],A |
||
69 | MV [Y++],BA |
||
70 | MV [U++],X |
||
71 | MV (PX+8),[S++] |
||
72 | MVW (BP+PX),[X++] |
||
73 | MVP (58H),[Y++] |
||
74 | MVL (BP+16),[U++] |
||
75 | MV [S++],(PX+24) |
||
76 | MVW [X++],(BP+PX) |
||
77 | MVP [Y++],(60H) |
||
78 | MVL [U++],(BP+32) |
||
79 | |||
80 | ;; a7 MV (with Pre Decrement) |
||
81 | MV IL,[--S] |
||
82 | MV I,[--X] |
||
83 | MV Y,[--U] |
||
84 | MV [--S],A |
||
85 | MV [--X],BA |
||
86 | MV [--Y],U |
||
87 | MV (PX+40),[--S] |
||
88 | MVW (BP+PX),[--X] |
||
89 | MVP (68H),[--Y] |
||
90 | MVL (BP+48),[--U] |
||
91 | MV [--S],(PX+56) |
||
92 | MVW [--X],(BP+PX) |
||
93 | MVP [--Y],(70H) |
||
94 | MVL [--U],(BP+64) |
||
95 | |||
96 | ;; a8 MV (Register Base) |
||
97 | MV IL,[S+1] |
||
98 | MV I,[X-2] |
||
99 | MV Y,[U+3] |
||
100 | MV [S-4],A |
||
101 | MV [X+5],BA |
||
102 | MV [Y-6],U |
||
103 | |||
104 | MV (78H),[S+7] |
||
105 | MVW (BP+64),[X-8] |
||
106 | MVP (PX+72),[Y+9] |
||
107 | MVL (BP+PX),[U-10] |
||
108 | MV [S+11],(80H) |
||
109 | MVW [X-12],(BP+80) |
||
110 | MVP [Y+13],(PX+88) |
||
111 | MVL [U-14],(BP+PX) |
||
112 | |||
113 | ;; a9 MV (Internal RAM Indirect) |
||
114 | MV IL,[(88H)] |
||
115 | MV I,[(BP+96)] |
||
116 | MV X,[(PX+104)] |
||
117 | MV [(BP+PX)],A |
||
118 | MV [(90H)],BA |
||
119 | MV [(BP+112)],Y |
||
120 | MV (PX+120),[(BP+PY)] |
||
121 | MVW (98H),[(00H)] |
||
122 | MVP (BP-128),[(PY-120)] |
||
123 | MVL (BP+PX),[(04H)] |
||
124 | MV [(BP-112)],(PY-104) |
||
125 | MVW [(BP+PX)],(BP+PY) |
||
126 | MVP [(08H)],(BP-96) |
||
127 | MVL [(PX-88)],(BP+PY) |
||
128 | |||
129 | ;; a10 MV (Internal RAM Base) |
||
130 | MV A,[(0CH)+16] |
||
131 | MV I,[(BP-80)-32] |
||
132 | MV U,[(PX-72)+48] |
||
133 | MV [(BP+PX)-64],IL |
||
134 | MV [(10H)+80],BA |
||
135 | MV [(BP-64)-96],X |
||
136 | MV (PX-56),[(BP+PY)+112] |
||
137 | MVW (14H),[(18H)-128] |
||
138 | MVP (BP-48),[(BP-40)+144] |
||
139 | MVL (PX-32),[(PY-24)-160] |
||
140 | MV [(BP+PX)+176],(BP+PY) |
||
141 | MVW [(1CH)-192],(BP-16) |
||
142 | MVP [(PX-8)+208],(BP+PY) |
||
143 | MVL [(20H)-224],(BP-0) |
||
144 | |||
145 | ;; b1 EX instruction |
||
146 | EX A,B |
||
147 | EX BA,I |
||
148 | EX X,Y |
||
149 | EX (00H),(BP+10) |
||
150 | EXW (PX-10),(BP+PY) |
||
151 | EXP (BP+20),(PY-20) |
||
152 | EXL (BP+PX),(10H) |
||
153 | |||
154 | ;; b2 SWAP instruction |
||
155 | SWAP A |
||
156 | |||
157 | ;; c1 ADD instruction |
||
158 | ADD A,20 |
||
159 | ADD (BP+30),30 |
||
160 | ADD (PX-30),A |
||
161 | ADD A,(BP+PX) |
||
162 | ADD A,IL |
||
163 | ADD BA,A |
||
164 | ADD I,BA |
||
165 | ADD X,IL |
||
166 | |||
167 | ;; c2 ADC |
||
168 | ADC A,40 |
||
169 | ADC (20H),50 |
||
170 | ADC (BP+40),A |
||
171 | ADC A,(PX-40) |
||
172 | |||
173 | ;; c3 SUB |
||
174 | SUB A,60 |
||
175 | SUB (BP+PX),70 |
||
176 | SUB (30H),A |
||
177 | SUB A,(BP+50) |
||
178 | SUB IL,A |
||
179 | SUB I,IL |
||
180 | SUB BA,I |
||
181 | SUB Y,BA |
||
182 | |||
183 | ;; c4 SBC |
||
184 | SBC A,60 |
||
185 | SBC (PX-50),70 |
||
186 | SBC (BP+PX),A |
||
187 | SBC A,(40H) |
||
188 | |||
189 | ;; c5 ADCL |
||
190 | ADCL (BP+60),(PY-60) |
||
191 | ADCL (BP+PX),A |
||
192 | |||
193 | ;; c6 SBCL |
||
194 | SBCL (BP+PX),(50H) |
||
195 | SBCL (BP+70),A |
||
196 | |||
197 | ;; c7 DADL |
||
198 | DADL (PX-70),(BP+PY) |
||
199 | DADL (60H),A |
||
200 | |||
201 | ;; c8 DSBL |
||
202 | DSBL (BP+80),(PY-80) |
||
203 | DSBL (BP+PX),A |
||
204 | |||
205 | ;; c9 PMDF |
||
206 | PMDF (70H),80 |
||
207 | PMDF (BP+90),A |
||
208 | |||
209 | ;; d1 AND |
||
210 | AND A,90 |
||
211 | AND (PX-90),100 |
||
212 | AND [12345H],110 |
||
213 | AND (BP+PX),A |
||
214 | AND A,(80H) |
||
215 | AND (BP+100),(PY-100) |
||
216 | |||
217 | ;; d2 OR |
||
218 | OR A,120 |
||
219 | OR (BP+PX),130 |
||
220 | OR [23456H],140 |
||
221 | OR (90H),A |
||
222 | OR A,(BP+110) |
||
223 | OR (PX-110),(BP+PY) |
||
224 | |||
225 | ;; d3 XOR |
||
226 | XOR A,150 |
||
227 | XOR (08H),160 |
||
228 | XOR [34567H],170 |
||
229 | XOR (BP+120),A |
||
230 | XOR A,(PX-120) |
||
231 | XOR (BP+PX),(18H) |
||
232 | |||
233 | ;; e1 INC |
||
234 | INC A |
||
235 | INC (BP+0) |
||
236 | |||
237 | ;; e2 DEC |
||
238 | DEC BA |
||
239 | DEC (PX+8) |
||
240 | |||
241 | ;; f1 ROR |
||
242 | ROR A |
||
243 | ROR (BP+PX) |
||
244 | |||
245 | ;; f2 ROL |
||
246 | ROL A |
||
247 | ROL (18H) |
||
248 | |||
249 | ;; f3 SHR |
||
250 | SHR A |
||
251 | SHR (BP-8) |
||
252 | |||
253 | ;; f4 SHL |
||
254 | SHL A |
||
255 | SHL (PX+16) |
||
256 | |||
257 | ;; f5 DSRL |
||
258 | DSRL (BP+PX) |
||
259 | DSLL (28H) |
||
260 | |||
261 | ;; g1 CMP |
||
262 | CMP A,180 |
||
263 | CMP (BP+24),190 |
||
264 | CMP [45678H],200 |
||
265 | CMP (PX+32),A |
||
266 | CMP (BP+PX),(30H) |
||
267 | CMPW (BP+40),(PY+48) |
||
268 | CMPW (BP+PX),I |
||
269 | CMPP (38H),(BP+56) |
||
270 | CMPP (PX+64),U |
||
271 | |||
272 | ;; g2 TEST |
||
273 | TEST A,210 |
||
274 | TEST (BP+PX),220 |
||
275 | TEST [56789H],230 |
||
276 | TEST (40H),A |
||
277 | |||
278 | ;; h1 JP/JPF (Direct) |
||
279 | JP 1234H |
||
280 | JPF 12345H |
||
281 | |||
282 | ;; h2 JP (Indirect) |
||
283 | JP (BP+72) |
||
284 | JP S |
||
285 | |||
286 | ;; h3 JR |
||
287 | L1: JR L1 |
||
288 | |||
289 | ;; h4 JPcc |
||
290 | JPZ 2345H |
||
291 | JPNZ 3456H |
||
292 | JPC 4567H |
||
293 | JPNC 5678H |
||
294 | |||
295 | ;; h5 JRcc |
||
296 | L2: JRZ L2 |
||
297 | JRNZ L4 |
||
298 | L3: JRC L2 |
||
299 | L4: JRNC L4 |
||
300 | |||
301 | ;; i1 CALL/CALLF |
||
302 | CALL 6789H |
||
303 | CALLF 23456H |
||
304 | |||
305 | ;; i2 RET |
||
306 | RET |
||
307 | RETF |
||
308 | |||
309 | ;; j1 PUSH |
||
310 | PUSHS A |
||
311 | PUSHS BA |
||
312 | PUSHS X |
||
313 | PUSHS F |
||
314 | PUSHS IMR |
||
315 | PUSHU IL |
||
316 | PUSHU I |
||
317 | PUSHU Y |
||
318 | PUSHU F |
||
319 | PUSHU IMR |
||
320 | |||
321 | ;; j2 POP |
||
322 | POPS IL |
||
323 | POPS I |
||
324 | POPS Y |
||
325 | POPS F |
||
326 | POPS IMR |
||
327 | POPU A |
||
328 | POPU BA |
||
329 | POPU X |
||
330 | POPU F |
||
331 | POPU IMR |
||
332 | |||
333 | ;; k1 NOP |
||
334 | NOP |
||
335 | |||
336 | ;; k2 WAIT |
||
337 | WAIT |
||
338 | |||
339 | ;; k3 SC/RC |
||
340 | SC |
||
341 | RC |
||
342 | |||
343 | ;; k4 RETI |
||
344 | RETI |
||
345 | |||
346 | ;; k5 HALT/OFF |
||
347 | HALT |
||
348 | OFF |
||
349 | |||
350 | ;; k6 TCL/IR/RESET |
||
351 | TCL |
||
352 | IR |
||
353 | RESET |
||
354 | |||
355 | |||
356 | ;; |
||
357 | DB 100,50H |
||
358 | DB 'AB' |
||
359 | DW 1234H |
||
360 | |||
361 | ;----------------------------------------------------- |
||
362 | ; standard Intel/MASM-style pseudo instructions |
||
363 | |||
364 | include "../t_dx/t_dn.inc" |
||
365 | include "../t_dx/t_db.inc" |
||
366 | include "../t_dx/t_dw.inc" |
||
367 | include "../t_dx/t_dd.inc" |
||
368 | include "../t_dx/t_dq.inc" |
||
369 | include "../t_dx/t_dt.inc" |
||
370 | include "../t_dx/t_do.inc" |