Subversion Repositories pentevo

Rev

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"