]> git.sur5r.net Git - cc65/blob - test/assembler/m740-opcodes.s
migrated opcodes tests for assembler from testcode to test for inclusion on automated...
[cc65] / test / assembler / m740-opcodes.s
1 .setcpu "65C02"
2 ; copy of 65c02, comments note changes to the m740 according to
3 ; http://documentation.renesas.com/doc/products/mpumcu/rej09b0322_740sm.pdf
4
5    brk
6    ora     ($12,x)
7    .byte   $02,$00,$00 ; jsr zp,ind
8    .byte   $03,$00,$00 ; bbs 0,a
9    tsb     $12         ; .byte $04
10    ora     $12
11    asl     $12
12    rmb0    $12         ; bbs 0,zp
13    php
14    ora     #$12
15    asl     a
16    .byte   $0B,$00,$00 ; seb 0,a
17    tsb     $3456       ; .byte $0c
18    ora     $3456
19    asl     $3456
20    bbr0    $12,*+122   ; seb 0,zp
21    bpl     *+122
22    ora     ($12),y
23    ora     ($12)       ; clt
24    .byte   $13,$00,$00 ; bbc 0,a
25    trb     $12         ; .byte $14
26    ora     $12,x
27    asl     $12,x
28    rmb1    $12         ; bbc 0,zp
29    clc
30    ora     $3456,y
31    inc     a
32    .byte   $1B,$00,$00 ; clb 0,a
33    trb     $3456       ; .byte $1c
34    ora     $3456,x
35    asl     $3456,x
36    bbr1    $12,*+122   ; clb 0,zp
37    jsr     $3456
38    and     ($12,x)
39    .byte   $22,$00,$00 ; jsr sp
40    .byte   $23,$00,$00 ; bbs 1,a
41    bit     $12
42    and     $12
43    rol     $12
44    rmb2    $12         ; bbs 1,zp
45    plp
46    and     #$12
47    rol     a
48    .byte   $2B,$00,$00 ; seb 1,a
49    bit     $3456
50    and     $3456
51    rol     $3456
52    bbr2    $12,*+122   ; seb 1,zp
53    bmi     *+122
54    and     ($12),y
55    and     ($12)       ; set
56    .byte   $33,$00,$00 ; bbc 1,a
57    bit     $12,x       ; .byte $34
58    and     $12,x
59    rol     $12,x
60    rmb3    $12         ; bbc 1,zp
61    sec
62    and     $3456,y
63    dec     a
64    .byte   $3B,$00,$00 ; clb 1,a
65    bit     $3456,x     ; ldm zp
66    and     $3456,x
67    rol     $3456,x
68    bbr3    $12,*+122   ; clb 1,zp
69    rti
70    eor     ($12,x)
71    .byte   $42,$00,$00 ; stp
72    .byte   $43,$00,$00 ; bbs 2,a
73    .byte   $44,$00,$00 ; com zp
74    eor     $12
75    lsr     $12
76    rmb4    $12         ; bbs 2,zp
77    pha
78    eor     #$12
79    lsr     a
80    .byte   $4B,$00,$00 ; seb 2,a
81    jmp     $3456
82    eor     $3456
83    lsr     $3456
84    bbr4    $12,*+122   ; seb 2,zp
85    bvc     *+122
86    eor     ($12),y
87    eor     ($12)       ; .byte $52
88    .byte   $53,$00,$00 ; bbc 2,a
89    .byte   $54,$00,$00
90    eor     $12,x
91    lsr     $12,x
92    rmb5    $12         ; bbc 2,zp
93    cli
94    eor     $3456,y
95    phy
96    .byte   $5B,$00,$00 ; clb 2,a
97    .byte   $5C,$00,$00
98    eor     $3456,x
99    lsr     $3456,x
100    bbr5    $12,*+122   ; clb 2,zp
101    rts
102    adc     ($12,x)
103    .byte   $62,$00,$00 ; mul zp,x
104    .byte   $63,$00,$00 ; bbs 3,a
105    stz     $12         ; tst zp
106    adc     $12
107    ror     $12
108    rmb6    $12         ; bbs 3,zp
109    pla
110    adc     #$12
111    ror     a
112    .byte   $6B,$00,$00 ; seb 3,a
113    jmp     ($3456)
114    adc     $3456
115    ror     $3456
116    bbr6    $12,*+122   ; seb 3,zp
117    bvs     *+122
118    adc     ($12),y
119    adc     ($12)       ; .byte $72
120    .byte   $73,$00,$00 ; bbc 3,a
121    stz     $12,x       ; .byte $74
122    adc     $12,x
123    ror     $12,x
124    rmb7    $12         ; bbc 3,zp
125    sei
126    adc     $3456,y
127    ply
128    .byte   $7B,$00,$00 ; clb 3,a
129    jmp     ($3456,x)   ; .byte $7c
130    adc     $3456,x
131    ror     $3456,x
132    bbr7    $12,*+122   ; clb 3,zp
133    bra     *+122
134    sta     ($12,x)
135    .byte   $82,$00,$00 ; rrf zp
136    .byte   $83,$00,$00 ; bbs 4,a
137    sty     $12
138    sta     $12
139    stx     $12
140    smb0    $12         ; bbs 4,zp
141    dey
142    bit     #$12
143    txa
144    .byte   $8B,$00,$00 ; seb 4,a
145    sty     $3456
146    sta     $3456
147    stx     $3456
148    bbs0    $12,*+122   ; seb 4,zp
149    bcc     *+122
150    sta     ($12),y
151    sta     ($12)       ; .byte $92
152    .byte   $93,$00,$00 ; bbc 4,a
153    sty     $12,x
154    sta     $12,x
155    stx     $12,y
156    smb1    $12         ; bbc 4,zp
157    tya
158    sta     $3456,y
159    txs
160    .byte   $9B,$00,$00 ; clb 4,a
161    stz     $3456       ; .byte $9c
162    sta     $3456,x
163    stz     $3456,x     ; .byte $9e
164    bbs1    $12,*+122   ; clb 4,zp
165    ldy     #$12
166    lda     ($12,x)
167    ldx     #$12
168    .byte   $A3,$00,$00 ; bbs 5,a
169    ldy     $12
170    lda     $12
171    ldx     $12
172    smb2    $12         ; bbs 5,zp
173    tay
174    lda     #$12
175    tax
176    .byte   $AB,$00,$00 ; seb 5,a
177    ldy     $3456
178    lda     $3456
179    ldx     $3456
180    bbs2    $12,*+122   ; seb 5,zp
181    bcs     *+122
182    lda     ($12),y
183    lda     ($12)       ; .byte $b2
184    .byte   $B3,$00,$00 ; bbc 5,a
185    ldy     $12,x
186    lda     $12,x
187    ldx     $12,y
188    smb3    $12         ; bbc 5,zp
189    clv
190    lda     $3456,y
191    tsx
192    .byte   $BB,$00,$00 ; clb 5,a
193    ldy     $3456,x
194    lda     $3456,x
195    ldx     $3456,y
196    bbs3    $12,*+122   ; clb 5,zp
197    cpy     #$12
198    cmp     ($12,x)
199    .byte   $C2,$00,$00 ; wit
200    .byte   $C3,$00,$00 ; bbs 6,a
201    cpy     $12
202    cmp     $12
203    dec     $12
204    smb4    $12         ; bbs 6,zp
205    iny
206    cmp     #$12
207    dex
208    .byte   $CB,$00,$00 ; seb 6,a
209    cpy     $3456
210    cmp     $3456
211    dec     $3456
212    bbs4    $12,*+122   ; seb 6,zp
213    bne     *+122
214    cmp     ($12),y
215    cmp     ($12)       ; .byte $d2
216    .byte   $D3,$00,$00 ; bbc 6,a
217    .byte   $D4,$00,$00
218    cmp     $12,x
219    dec     $12,x
220    smb5    $12         ; bbc 6,zp
221    cld
222    cmp     $3456,y
223    phx
224    .byte   $DB,$00,$00 ; clb 6,a
225    .byte   $DC,$00,$00
226    cmp     $3456,x
227    dec     $3456,x
228    bbs5    $12,*+122   ; clb 6,zp
229    cpx     #$12
230    sbc     ($12,x)
231    .byte   $E2,$00,$00 ; div zp,x
232    .byte   $E3,$00,$00 ; bbs 7,a
233    cpx     $12
234    sbc     $12
235    inc     $12
236    smb6    $12         ; bbs 7,zp
237    inx
238    sbc     #$12
239    nop
240    .byte   $EB,$00,$00 ; seb 7,a
241    cpx     $3456
242    sbc     $3456
243    inc     $3456
244    bbs6    $12,*+122   ; seb 7,zp
245    beq     *+122
246    sbc     ($12),y
247    sbc     ($12)       ; .byte $f2
248    .byte   $F3,$00,$00 ; bbc 7,a
249    .byte   $F4,$00,$00
250    sbc     $12,x
251    inc     $12,x
252    smb7    $12         ; bbc 7,zp
253    sed
254    sbc     $3456,y
255    plx
256    .byte   $FB,$00,$00 ; clb 7,a
257    .byte   $FC,$00,$00
258    sbc     $3456,x
259    inc     $3456,x
260    bbs7    $12,*+122   ; clb 7,zp