]> git.sur5r.net Git - cc65/commitdiff
migrated opcodes tests for assembler from testcode to test for inclusion on automated...
authorSven Oliver Moll <svolli@svolli.de>
Sat, 3 Sep 2016 14:45:59 +0000 (16:45 +0200)
committerSven Oliver Moll <svolli@svolli.de>
Sat, 3 Sep 2016 14:52:23 +0000 (16:52 +0200)
25 files changed:
test/Makefile
test/assembler/.gitignore [new file with mode: 0644]
test/assembler/4510-opcodes.ref [new file with mode: 0644]
test/assembler/4510-opcodes.s [new file with mode: 0644]
test/assembler/6502-opcodes.ref [new file with mode: 0644]
test/assembler/6502-opcodes.s [new file with mode: 0644]
test/assembler/6502x-opcodes.ref [new file with mode: 0644]
test/assembler/6502x-opcodes.s [new file with mode: 0644]
test/assembler/65c02-opcodes.ref [new file with mode: 0644]
test/assembler/65c02-opcodes.s [new file with mode: 0644]
test/assembler/65sc02-opcodes.ref [new file with mode: 0644]
test/assembler/65sc02-opcodes.s [new file with mode: 0644]
test/assembler/Makefile [new file with mode: 0644]
test/assembler/huc6280-opcodes.ref [new file with mode: 0644]
test/assembler/huc6280-opcodes.s [new file with mode: 0644]
test/assembler/m740-opcodes.s [new file with mode: 0644]
testcode/assembler/.gitignore [deleted file]
testcode/assembler/4510all.ref [deleted file]
testcode/assembler/4510all.s [deleted file]
testcode/assembler/Makefile [deleted file]
testcode/assembler/all.s [deleted file]
testcode/assembler/illegal.ref [deleted file]
testcode/assembler/illegal.s [deleted file]
testcode/assembler/legal.ref [deleted file]
testcode/assembler/legal.s [deleted file]

index ffdf72aa09e11da5f7ac5896ec4ef34a3a75ec20..2fd252d2a1b4dd5f1949a5ac3aa8aaa99193a5f1 100644 (file)
@@ -40,12 +40,14 @@ $(WORKDIR)/bdiff$(EXE): bdiff.c | $(WORKDIR)
 dotests: mostlyclean continue
 
 continue: $(WORKDIR)/bdiff$(EXE)
+       @$(MAKE) -C assembler all
        @$(MAKE) -C val all
        @$(MAKE) -C ref all
        @$(MAKE) -C err all
        @$(MAKE) -C misc all
 
 mostlyclean:
+       @$(MAKE) -C assembler clean
        @$(MAKE) -C val clean
        @$(MAKE) -C ref clean
        @$(MAKE) -C err clean
diff --git a/test/assembler/.gitignore b/test/assembler/.gitignore
new file mode 100644 (file)
index 0000000..c0c74a3
--- /dev/null
@@ -0,0 +1,3 @@
+*.o
+*.bin
+*.lst
diff --git a/test/assembler/4510-opcodes.ref b/test/assembler/4510-opcodes.ref
new file mode 100644 (file)
index 0000000..b65b12e
Binary files /dev/null and b/test/assembler/4510-opcodes.ref differ
diff --git a/test/assembler/4510-opcodes.s b/test/assembler/4510-opcodes.s
new file mode 100644 (file)
index 0000000..3d68056
--- /dev/null
@@ -0,0 +1,278 @@
+.setcpu "4510"
+
+   brk
+   ora ($05,x)
+   cle
+   see
+   tsb $02
+   ora $02
+   asl $02
+   rmb0 $02
+   php
+   ora #$01
+   asl
+   tsy
+   tsb $1234
+   ora $1234
+   asl $1234
+   bbr0 $02,*+$34
+
+   bpl *+$32
+   ora ($06),y
+   ora ($07),z
+   lbpl *+$3133 ; bpl *+$3133
+   trb $02
+   ora $03,x
+   asl $03,x
+   rmb1 $02
+   clc
+   ora $1456,y
+   inc
+   inz
+   trb $1234
+   ora $1345,x
+   asl $1345,x
+   bbr1 $02,*+$34
+
+   jsr $1234
+   and ($05,x)
+   jsr ($2345)
+   jsr ($2456,x)
+   bit $02
+   and $02
+   rol $02
+   rmb2 $02
+   plp
+   and #$01
+   rol
+   tys
+   bit $1234
+   and $1234
+   rol $1234
+   bbr2 $02,*+$34
+
+   bmi *+$32
+   and ($06),y
+   and ($07),z
+   lbmi *+$3133 ; bmi *+$3133
+   bit $03,x
+   and $03,x
+   rol $03,x
+   rmb3 $02
+   sec
+   and $1456,y
+   dec
+   dez
+   bit $1345,x
+   and $1345,x
+   rol $1345,x
+   bbr3 $02,*+$34
+
+   rti
+   eor ($05,x)
+   neg
+   asr
+   asr $02
+   eor $02
+   lsr $02
+   rmb4 $02
+   pha
+   eor #$01
+   lsr
+   taz
+   jmp $1234
+   eor $1234
+   lsr $1234
+   bbr4 $02,*+$34
+
+   bvc *+$32
+   eor ($06),y
+   eor ($07),z
+   lbvc *+$3133 ; bvc *+$3133
+   asr $03,x
+   eor $03,x
+   lsr $03,x
+   rmb5 $02
+   cli
+   eor $1456,y
+   phy
+   tab
+   map
+   eor $1345,x
+   lsr $1345,x
+   bbr5 $02,*+$34
+
+   rts
+   adc ($05,x)
+   rtn #$09
+   bsr *+$3133
+   stz $02
+   adc $02
+   ror $02
+   rmb6 $02
+   pla
+   adc #$01
+   ror
+   tza
+   jmp ($2345)
+   adc $1234
+   ror $1234
+   bbr6 $02,*+$34
+
+   bvs *+$32
+   adc ($06),y
+   adc ($07),z
+   lbvs *+$3133 ; bvs *+$3133
+   stz $03,x
+   adc $03,x
+   ror $03,x
+   rmb7 $02
+   sei
+   adc $1456,y
+   ply
+   tba
+   jmp ($2456,x)
+   adc $1345,x
+   ror $1345,x
+   bbr7 $02,*+$34
+
+   bra *+$32
+   sta ($05,x)
+   sta ($0f,s),y
+   sta ($0f,sp),y
+   lbra *+$3133 ; bra *+$3133
+   sty $02
+   sta $02
+   stx $02
+   smb0 $02
+   dey
+   bit #$01
+   txa
+   sty $1345,x
+   sty $1234
+   sta $1234
+   stx $1234
+   bbs0 $02,*+$34
+
+   bcc *+$32
+   sta ($06),y
+   sta ($07),z
+   lbcc *+$3133 ; bcc *+$3133
+   sty $03,x
+   sta $03,x
+   stx $04,y
+   smb1 $02
+   tya
+   sta $1456,y
+   txs
+   stx $1456,y
+   stz $1234
+   sta $1345,x
+   stz $1345,x
+   bbs1 $02,*+$34
+
+   ldy #$01
+   lda ($05,x)
+   ldx #$01
+   ldz #$01
+   ldy $02
+   lda $02
+   ldx $02
+   smb2 $02
+   tay
+   lda #$01
+   tax
+   ldz $1234
+   ldy $1234
+   lda $1234
+   ldx $1234
+   bbs2 $02,*+$34
+
+   bcs *+$32
+   lda ($06),y
+   lda ($07),z
+   lbcs *+$3133 ; bcs *+$3133
+   ldy $03,x
+   lda $03,x
+   ldx $04,y
+   smb3 $02
+   clv
+   lda $1456,y
+   tsx
+   ldz $1345,x
+   ldy $1345,x
+   lda $1345,x
+   ldx $1456,y
+   bbs3 $02,*+$34
+
+   cpy #$01
+   cmp ($05,x)
+   cpz #$01
+   dew $02
+   cpy $02
+   cmp $02
+   dec $02
+   smb4 $02
+   iny
+   cmp #$01
+   dex
+   asw $1234
+   cpy $1234
+   cmp $1234
+   dec $1234
+   bbs4 $02,*+$34
+
+   bne *+$32
+   cmp ($06),y
+   cmp ($07),z
+   lbne *+$3133 ; bne *+$3133
+   cpz $02
+   cmp $03,x
+   dec $03,x
+   smb5 $02
+   cld
+   cmp $1456,y
+   phx
+   phz
+   cpz $1234
+   cmp $1345,x
+   dec $1345,x
+   bbs5 $02,*+$34
+
+   cpx #$01
+   sbc ($05,x)
+   lda ($0f,s),y
+   lda ($0f,sp),y
+   inw $02
+   cpx $02
+   sbc $02
+   inc $02
+   smb6 $02
+   inx
+   sbc #$01
+   eom
+   nop
+   row $1234
+   cpx $1234
+   sbc $1234
+   inc $1234
+   bbs6 $02,*+$34
+
+   beq *+$32
+   sbc ($06),y
+   sbc ($07),z
+   lbeq *+$3133 ; beq *+$3133
+   phd #$089a
+   phw #$089a
+   sbc $03,x
+   inc $03,x
+   smb7 $02
+   sed
+   sbc $1456,y
+   plx
+   plz
+   phd $1234
+   phw $1234
+   sbc $1345,x
+   inc $1345,x
+   bbs7 $02,*+$34
diff --git a/test/assembler/6502-opcodes.ref b/test/assembler/6502-opcodes.ref
new file mode 100644 (file)
index 0000000..c12fa8f
Binary files /dev/null and b/test/assembler/6502-opcodes.ref differ
diff --git a/test/assembler/6502-opcodes.s b/test/assembler/6502-opcodes.s
new file mode 100644 (file)
index 0000000..5cb94c2
--- /dev/null
@@ -0,0 +1,257 @@
+.setcpu "6502"
+
+   brk
+   ora     ($12,x)
+   .byte   $02
+   .byte   $03
+   .byte   $04
+   ora     $12
+   asl     $12
+   .byte   $07
+   php
+   ora     #$12
+   asl     a
+   .byte   $0B
+   .byte   $0C
+   ora     $3456
+   asl     $3456
+   .byte   $0F
+   bpl     *+122
+   ora     ($12),y
+   .byte   $12
+   .byte   $13
+   .byte   $14
+   ora     $12,x
+   asl     $12,x
+   .byte   $17
+   clc
+   ora     $3456,y
+   .byte   $1A
+   .byte   $1B
+   .byte   $1C
+   ora     $3456,x
+   asl     $3456,x
+   .byte   $1F
+   jsr     $3456
+   and     ($12,x)
+   .byte   $22
+   .byte   $23
+   bit     $12
+   and     $12
+   rol     $12
+   .byte   $27
+   plp
+   and     #$12
+   rol     a
+   .byte   $2B
+   bit     $3456
+   and     $3456
+   rol     $3456
+   .byte   $2F
+   bmi     *+122
+   and     ($12),y
+   .byte   $32
+   .byte   $33
+   .byte   $34
+   and     $12,x
+   rol     $12,x
+   .byte   $37
+   sec
+   and     $3456,y
+   .byte   $3A
+   .byte   $3B
+   .byte   $3C
+   and     $3456,x
+   rol     $3456,x
+   .byte   $3F
+   rti
+   eor     ($12,x)
+   .byte   $42
+   .byte   $43
+   .byte   $44
+   eor     $12
+   lsr     $12
+   .byte   $47
+   pha
+   eor     #$12
+   lsr     a
+   .byte   $4B
+   jmp     $3456
+   eor     $3456
+   lsr     $3456
+   .byte   $4F
+   bvc     *+122
+   eor     ($12),y
+   .byte   $52
+   .byte   $53
+   .byte   $54
+   eor     $12,x
+   lsr     $12,x
+   .byte   $57
+   cli
+   eor     $3456,y
+   .byte   $5A
+   .byte   $5B
+   .byte   $5C
+   eor     $3456,x
+   lsr     $3456,x
+   .byte   $5F
+   rts
+   adc     ($12,x)
+   .byte   $62
+   .byte   $63
+   .byte   $64
+   adc     $12
+   ror     $12
+   .byte   $67
+   pla
+   adc     #$12
+   ror     a
+   .byte   $6B
+   jmp     ($3456)
+   adc     $3456
+   ror     $3456
+   .byte   $6F
+   bvs     *+122
+   adc     ($12),y
+   .byte   $72
+   .byte   $73
+   .byte   $74
+   adc     $12,x
+   ror     $12,x
+   .byte   $77
+   sei
+   adc     $3456,y
+   .byte   $7A
+   .byte   $7B
+   .byte   $7C
+   adc     $3456,x
+   ror     $3456,x
+   .byte   $7F
+   .byte   $80
+   sta     ($12,x)
+   .byte   $82
+   .byte   $83
+   sty     $12
+   sta     $12
+   stx     $12
+   .byte   $87
+   dey
+   .byte   $89
+   txa
+   .byte   $8B
+   sty     $3456
+   sta     $3456
+   stx     $3456
+   .byte   $8F
+   bcc     *+122
+   sta     ($12),y
+   .byte   $92
+   .byte   $93
+   sty     $12,x
+   sta     $12,x
+   stx     $12,y
+   .byte   $97
+   tya
+   sta     $3456,y
+   txs
+   .byte   $9B
+   .byte   $9C
+   sta     $3456,x
+   .byte   $9E
+   .byte   $9F
+   ldy     #$12
+   lda     ($12,x)
+   ldx     #$12
+   .byte   $A3
+   ldy     $12
+   lda     $12
+   ldx     $12
+   .byte   $A7
+   tay
+   lda     #$12
+   tax
+   .byte   $AB
+   ldy     $3456
+   lda     $3456
+   ldx     $3456
+   .byte   $AF
+   bcs     *+122
+   lda     ($12),y
+   .byte   $B2
+   .byte   $B3
+   ldy     $12,x
+   lda     $12,x
+   ldx     $12,y
+   .byte   $B7
+   clv
+   lda     $3456,y
+   tsx
+   .byte   $BB
+   ldy     $3456,x
+   lda     $3456,x
+   ldx     $3456,y
+   .byte   $BF
+   cpy     #$12
+   cmp     ($12,x)
+   .byte   $C2
+   .byte   $C3
+   cpy     $12
+   cmp     $12
+   dec     $12
+   .byte   $C7
+   iny
+   cmp     #$12
+   dex
+   .byte   $CB
+   cpy     $3456
+   cmp     $3456
+   dec     $3456
+   .byte   $CF
+   bne     *+122
+   cmp     ($12),y
+   .byte   $D2
+   .byte   $D3
+   .byte   $D4
+   cmp     $12,x
+   dec     $12,x
+   .byte   $D7
+   cld
+   cmp     $3456,y
+   .byte   $DA
+   .byte   $DB
+   .byte   $DC
+   cmp     $3456,x
+   dec     $3456,x
+   .byte   $DF
+   cpx     #$12
+   sbc     ($12,x)
+   .byte   $E2
+   .byte   $E3
+   cpx     $12
+   sbc     $12
+   inc     $12
+   .byte   $E7
+   inx
+   sbc     #$12
+   .byte   $EB
+   cpx     $3456
+   sbc     $3456
+   inc     $3456
+   .byte   $EF
+   beq     *+122
+   sbc     ($12),y
+   .byte   $F2
+   .byte   $F3
+   .byte   $F4
+   sbc     $12,x
+   inc     $12,x
+   .byte   $F7
+   sed
+   sbc     $3456,y
+   .byte   $FA
+   .byte   $FB
+   .byte   $FC
+   sbc     $3456,x
+   inc     $3456,x
+   .byte   $FF
diff --git a/test/assembler/6502x-opcodes.ref b/test/assembler/6502x-opcodes.ref
new file mode 100644 (file)
index 0000000..f942bec
Binary files /dev/null and b/test/assembler/6502x-opcodes.ref differ
diff --git a/test/assembler/6502x-opcodes.s b/test/assembler/6502x-opcodes.s
new file mode 100644 (file)
index 0000000..5f21aeb
--- /dev/null
@@ -0,0 +1,258 @@
+.setcpu "6502X"
+
+   brk
+   ora     ($12,x)
+   jam
+   slo     ($12,x)
+   nop     $12
+   ora     $12
+   asl     $12
+   slo     $12
+   php
+   ora     #$12
+   asl     a
+   anc     #$12
+   nop     $3456
+   ora     $3456
+   asl     $3456
+   slo     $3456
+   bpl     *+122
+   ora     ($12),y
+   .byte   $12         ; jam
+   slo     ($12),y
+   nop     $12,x
+   ora     $12,x
+   asl     $12,x
+   slo     $12,x
+   clc
+   ora     $3456,y
+   .byte   $1a         ; nop
+   slo     $3456,y
+   nop     $3456,x
+   ora     $3456,x
+   asl     $3456,x
+   slo     $3456,x
+   jsr     $3456
+   and     ($12,x)
+   .byte   $22         ; jam
+   rla     ($12,x)
+   bit     $12
+   and     $12
+   rol     $12
+   rla     $12
+   plp
+   and     #$12
+   rol     a
+   .byte   $2b         ; anc     #$12
+   bit     $3456
+   and     $3456
+   rol     $3456
+   rla     $3456
+   bmi     *+122
+   and     ($12),y
+   .byte   $32         ; jam
+   rla     ($12),y
+   .byte   $34,$12     ; nop     $12,x
+   and     $12,x
+   rol     $12,x
+   rla     $12,x
+   sec
+   and     $3456,y
+   .byte   $3a         ; nop
+   rla     $3456,y
+   .byte   $3c,$56,$34 ; nop     $3456,x
+   and     $3456,x
+   rol     $3456,x
+   rla     $3456,x
+   rti
+   eor     ($12,x)
+   .byte   $42         ; jam
+   sre     ($12,x)
+   .byte   $44,$12     ; nop     $12
+   eor     $12
+   lsr     $12
+   sre     $12
+   pha
+   eor     #$12
+   lsr     a
+   alr     #$12
+   jmp     $3456
+   eor     $3456
+   lsr     $3456
+   sre     $3456
+   bvc     *+122
+   eor     ($12),y
+   .byte   $52         ; jam
+   sre     ($12),y
+   .byte   $54,$12     ; nop     $12,x
+   eor     $12,x
+   lsr     $12,x
+   sre     $12,x
+   cli
+   eor     $3456,y
+   .byte   $5a         ; nop
+   sre     $3456,y
+   nop     $3456,x
+   eor     $3456,x
+   lsr     $3456,x
+   sre     $3456,x
+   rts
+   adc     ($12,x)
+   .byte   $62         ; jam
+   rra     ($12,x)
+   .byte   $64,$12     ; nop     $12
+   adc     $12
+   ror     $12
+   rra     $12
+   pla
+   adc     #$12
+   ror     a
+   arr     #$12
+   jmp     ($3456)
+   adc     $3456
+   ror     $3456
+   rra     $3456
+   bvs     *+122
+   adc     ($12),y
+   .byte   $72         ; jam
+   rra     ($12),y
+   .byte   $74,$12     ; nop     $12,x
+   adc     $12,x
+   ror     $12,x
+   rra     $12,x
+   sei
+   adc     $3456,y
+   .byte   $7a         ; nop
+   rra     $3456,y
+   .byte   $7c,$56,$34 ; nop     $3456,x
+   adc     $3456,x
+   ror     $3456,x
+   rra     $3456,x
+   nop     #$12
+   sta     ($12,x)
+   .byte   $82,$12     ; nop     #$12
+   sax     ($12,x)
+   sty     $12
+   sta     $12
+   stx     $12
+   sax     $12
+   dey
+   .byte   $89,$12     ; nop     #$12
+   txa
+   .byte   $8b,$12     ; xaa     #$12
+   sty     $3456
+   sta     $3456
+   stx     $3456
+   sax     $3456
+   bcc     *+122
+   sta     ($12),y
+   .byte   $92     ; jam
+   .byte   $93,$12 ; ahx     ($12),y
+   sty     $12,x
+   sta     $12,x
+   stx     $12,y
+   sax     $12,y
+   tya
+   sta     $3456,y
+   txs
+   tas     $3456,y
+   shy     $3456,x
+   sta     $3456,x
+   shx     $3456,y
+   .byte   $9f,$56,$34 ;  ahx     $3456,y
+   ldy     #$12
+   lda     ($12,x)
+   ldx     #$12
+   lax     ($12,x)
+   ldy     $12
+   lda     $12
+   ldx     $12
+   lax     $12
+   tay
+   lda     #$12
+   tax
+   lax     #$12
+   ldy     $3456
+   lda     $3456
+   ldx     $3456
+   lax     $3456
+   bcs     *+122
+   lda     ($12),y
+   .byte   $b2     ; jam
+   lax     ($12),y
+   ldy     $12,x
+   lda     $12,x
+   ldx     $12,y
+   lax     $12,y
+   clv
+   lda     $3456,y
+   tsx
+   las     $3456,y
+   ldy     $3456,x
+   lda     $3456,x
+   ldx     $3456,y
+   lax     $3456,y
+   cpy     #$12
+   cmp     ($12,x)
+   .byte   $c2,$12     ; nop     #$12
+   dcp     ($12,x)
+   cpy     $12
+   cmp     $12
+   dec     $12
+   dcp     $12
+   iny
+   cmp     #$12
+   dex
+   axs     #$12
+   cpy     $3456
+   cmp     $3456
+   dec     $3456
+   dcp     $3456
+   bne     *+122
+   cmp     ($12),y
+   .byte   $d2         ; jam
+   dcp     ($12),y
+   .byte   $d4,$12     ; nop     $12,x
+   cmp     $12,x
+   dec     $12,x
+   dcp     $12,x
+   cld
+   cmp     $3456,y
+   .byte   $da         ; nop
+   dcp     $3456,y
+   .byte   $dc,$56,$34 ; nop     $3456,x
+   cmp     $3456,x
+   dec     $3456,x
+   dcp     $3456,x
+   cpx     #$12
+   sbc     ($12,x)
+   .byte   $e2,$12     ; nop     #$12
+   isc     ($12,x)
+   cpx     $12
+   sbc     $12
+   inc     $12
+   isc     $12
+   inx
+   sbc     #$12
+   nop
+   .byte   $eb         ; nop
+   cpx     $3456
+   sbc     $3456
+   inc     $3456
+   isc     $3456
+   beq     *+122
+   sbc     ($12),y
+   .byte   $f2         ; jam
+   isc     ($12),y
+   .byte   $f4,$12     ; nop     $12,x
+   sbc     $12,x
+   inc     $12,x
+   isc     $12,x
+   sed
+   sbc     $3456,y
+   .byte   $fa         ; nop
+   isc     $3456,y
+   .byte   $fc,$56,$34 ; nop     $3456,x
+   sbc     $3456,x
+   inc     $3456,x
+   isc     $3456,x
diff --git a/test/assembler/65c02-opcodes.ref b/test/assembler/65c02-opcodes.ref
new file mode 100644 (file)
index 0000000..2d44045
Binary files /dev/null and b/test/assembler/65c02-opcodes.ref differ
diff --git a/test/assembler/65c02-opcodes.s b/test/assembler/65c02-opcodes.s
new file mode 100644 (file)
index 0000000..09c3f04
--- /dev/null
@@ -0,0 +1,258 @@
+.setcpu "65C02"
+
+   brk
+   ora     ($12,x)
+   .byte   $02
+   .byte   $03
+   tsb     $12
+   ora     $12
+   asl     $12
+   rmb0    $12
+   php
+   ora     #$12
+   asl     a
+   .byte   $0B
+   tsb     $3456
+   ora     $3456
+   asl     $3456
+   bbr0    $12,*+122
+   bpl     *+122
+   ora     ($12),y
+   ora     ($12)
+   .byte   $13
+   trb     $12
+   ora     $12,x
+   asl     $12,x
+   rmb1    $12
+   clc
+   ora     $3456,y
+   inc     a
+   .byte   $1B
+   trb     $3456
+   ora     $3456,x
+   asl     $3456,x
+   bbr1    $12,*+122
+   jsr     $3456
+   and     ($12,x)
+   .byte   $22
+   .byte   $23
+   bit     $12
+   and     $12
+   rol     $12
+   rmb2    $12
+   plp
+   and     #$12
+   rol     a
+   .byte   $2B
+   bit     $3456
+   and     $3456
+   rol     $3456
+   bbr2    $12,*+122
+   bmi     *+122
+   and     ($12),y
+   and     ($12)
+   .byte   $33
+   bit     $12,x
+   and     $12,x
+   rol     $12,x
+   rmb3    $12
+   sec
+   and     $3456,y
+   dec     a
+   .byte   $3B
+   bit     $3456,x
+   and     $3456,x
+   rol     $3456,x
+   bbr3    $12,*+122
+   rti
+   eor     ($12,x)
+   .byte   $42
+   .byte   $43
+   .byte   $44
+   eor     $12
+   lsr     $12
+   rmb4    $12
+   pha
+   eor     #$12
+   lsr     a
+   .byte   $4B
+   jmp     $3456
+   eor     $3456
+   lsr     $3456
+   bbr4    $12,*+122
+   bvc     *+122
+   eor     ($12),y
+   eor     ($12)
+   .byte   $53
+   .byte   $54
+   eor     $12,x
+   lsr     $12,x
+   rmb5    $12
+   cli
+   eor     $3456,y
+   phy
+   .byte   $5B
+   .byte   $5C
+   eor     $3456,x
+   lsr     $3456,x
+   bbr5    $12,*+122
+   rts
+   adc     ($12,x)
+   .byte   $62
+   .byte   $63
+   stz     $12
+   adc     $12
+   ror     $12
+   rmb6    $12
+   pla
+   adc     #$12
+   ror     a
+   .byte   $6B
+   jmp     ($3456)
+   adc     $3456
+   ror     $3456
+   bbr6    $12,*+122
+   bvs     *+122
+   adc     ($12),y
+   adc     ($12)
+   .byte   $73
+   stz     $12,x
+   adc     $12,x
+   ror     $12,x
+   rmb7    $12
+   sei
+   adc     $3456,y
+   ply
+   .byte   $7B
+   jmp     ($3456,x)
+   adc     $3456,x
+   ror     $3456,x
+   bbr7    $12,*+122
+   bra     *+122
+   sta     ($12,x)
+   .byte   $82
+   .byte   $83
+   sty     $12
+   sta     $12
+   stx     $12
+   smb0    $12
+   dey
+   bit     #$12
+   txa
+   .byte   $8B
+   sty     $3456
+   sta     $3456
+   stx     $3456
+   bbs0    $12,*+122
+   bcc     *+122
+   sta     ($12),y
+   sta     ($12)
+   .byte   $93
+   sty     $12,x
+   sta     $12,x
+   stx     $12,y
+   smb1    $12
+   tya
+   sta     $3456,y
+   txs
+   .byte   $9B
+   stz     $3456
+   sta     $3456,x
+   stz     $3456,x
+   bbs1    $12,*+122
+   ldy     #$12
+   lda     ($12,x)
+   ldx     #$12
+   .byte   $A3
+   ldy     $12
+   lda     $12
+   ldx     $12
+   smb2    $12
+   tay
+   lda     #$12
+   tax
+   .byte   $AB
+   ldy     $3456
+   lda     $3456
+   ldx     $3456
+   bbs2    $12,*+122
+   bcs     *+122
+   lda     ($12),y
+   lda     ($12)
+   .byte   $B3
+   ldy     $12,x
+   lda     $12,x
+   ldx     $12,y
+   smb3    $12
+   clv
+   lda     $3456,y
+   tsx
+   .byte   $BB
+   ldy     $3456,x
+   lda     $3456,x
+   ldx     $3456,y
+   bbs3    $12,*+122
+   cpy     #$12
+   cmp     ($12,x)
+   .byte   $C2
+   .byte   $C3
+   cpy     $12
+   cmp     $12
+   dec     $12
+   smb4    $12
+   iny
+   cmp     #$12
+   dex
+   .byte   $CB
+   cpy     $3456
+   cmp     $3456
+   dec     $3456
+   bbs4    $12,*+122
+   bne     *+122
+   cmp     ($12),y
+   cmp     ($12)
+   .byte   $D3
+   .byte   $D4
+   cmp     $12,x
+   dec     $12,x
+   smb5    $12
+   cld
+   cmp     $3456,y
+   phx
+   .byte   $DB
+   .byte   $DC
+   cmp     $3456,x
+   dec     $3456,x
+   bbs5    $12,*+122
+   cpx     #$12
+   sbc     ($12,x)
+   .byte   $E2
+   .byte   $E3
+   cpx     $12
+   sbc     $12
+   inc     $12
+   smb6    $12
+   inx
+   sbc     #$12
+   nop
+   .byte   $EB
+   cpx     $3456
+   sbc     $3456
+   inc     $3456
+   bbs6    $12,*+122
+   beq     *+122
+   sbc     ($12),y
+   sbc     ($12)
+   .byte   $F3
+   .byte   $F4
+   sbc     $12,x
+   inc     $12,x
+   smb7    $12
+   sed
+   sbc     $3456,y
+   plx
+   .byte   $FB
+   .byte   $FC
+   sbc     $3456,x
+   inc     $3456,x
+   bbs7    $12,*+122
diff --git a/test/assembler/65sc02-opcodes.ref b/test/assembler/65sc02-opcodes.ref
new file mode 100644 (file)
index 0000000..d22fe66
Binary files /dev/null and b/test/assembler/65sc02-opcodes.ref differ
diff --git a/test/assembler/65sc02-opcodes.s b/test/assembler/65sc02-opcodes.s
new file mode 100644 (file)
index 0000000..aa53991
--- /dev/null
@@ -0,0 +1,258 @@
+.setcpu "65SC02"
+
+   brk
+   ora     ($12,x)
+   .byte   $02
+   .byte   $03
+   tsb     $12
+   ora     $12
+   asl     $12
+   .byte   $07
+   php
+   ora     #$12
+   asl     a
+   .byte   $0B
+   tsb     $3456
+   ora     $3456
+   asl     $3456
+   .byte   $0F
+   bpl     *+122
+   ora     ($12),y
+   ora     ($12)
+   .byte   $13
+   trb     $12
+   ora     $12,x
+   asl     $12,x
+   .byte   $17
+   clc
+   ora     $3456,y
+   inc     a
+   .byte   $1B
+   trb     $3456
+   ora     $3456,x
+   asl     $3456,x
+   .byte   $1F
+   jsr     $3456
+   and     ($12,x)
+   .byte   $22
+   .byte   $23
+   bit     $12
+   and     $12
+   rol     $12
+   .byte   $27
+   plp
+   and     #$12
+   rol     a
+   .byte   $2B
+   bit     $3456
+   and     $3456
+   rol     $3456
+   .byte   $2F
+   bmi     *+122
+   and     ($12),y
+   and     ($12)
+   .byte   $33
+   bit     $12,x
+   and     $12,x
+   rol     $12,x
+   .byte   $37
+   sec
+   and     $3456,y
+   dec     a
+   .byte   $3B
+   bit     $3456,x
+   and     $3456,x
+   rol     $3456,x
+   .byte   $3F
+   rti
+   eor     ($12,x)
+   .byte   $42
+   .byte   $43
+   .byte   $44
+   eor     $12
+   lsr     $12
+   .byte   $47
+   pha
+   eor     #$12
+   lsr     a
+   .byte   $4B
+   jmp     $3456
+   eor     $3456
+   lsr     $3456
+   .byte   $4F
+   bvc     *+122
+   eor     ($12),y
+   eor     ($12)
+   .byte   $53
+   .byte   $54
+   eor     $12,x
+   lsr     $12,x
+   .byte   $57
+   cli
+   eor     $3456,y
+   phy
+   .byte   $5B
+   .byte   $5C
+   eor     $3456,x
+   lsr     $3456,x
+   .byte   $5F
+   rts
+   adc     ($12,x)
+   .byte   $62
+   .byte   $63
+   stz     $12
+   adc     $12
+   ror     $12
+   .byte   $67
+   pla
+   adc     #$12
+   ror     a
+   .byte   $6B
+   jmp     ($3456)
+   adc     $3456
+   ror     $3456
+   .byte   $6F
+   bvs     *+122
+   adc     ($12),y
+   adc     ($12)
+   .byte   $73
+   stz     $12,x
+   adc     $12,x
+   ror     $12,x
+   .byte   $77
+   sei
+   adc     $3456,y
+   ply
+   .byte   $7B
+   jmp     ($3456,x)
+   adc     $3456,x
+   ror     $3456,x
+   .byte   $7F
+   bra     *+122
+   sta     ($12,x)
+   .byte   $82
+   .byte   $83
+   sty     $12
+   sta     $12
+   stx     $12
+   .byte   $87
+   dey
+   bit     #$12
+   txa
+   .byte   $8B
+   sty     $3456
+   sta     $3456
+   stx     $3456
+   .byte   $8F
+   bcc     *+122
+   sta     ($12),y
+   sta     ($12)
+   .byte   $93
+   sty     $12,x
+   sta     $12,x
+   stx     $12,y
+   .byte   $97
+   tya
+   sta     $3456,y
+   txs
+   .byte   $9B
+   stz     $3456
+   sta     $3456,x
+   stz     $3456,x
+   .byte   $9F
+   ldy     #$12
+   lda     ($12,x)
+   ldx     #$12
+   .byte   $A3
+   ldy     $12
+   lda     $12
+   ldx     $12
+   .byte   $A7
+   tay
+   lda     #$12
+   tax
+   .byte   $AB
+   ldy     $3456
+   lda     $3456
+   ldx     $3456
+   .byte   $AF
+   bcs     *+122
+   lda     ($12),y
+   lda     ($12)
+   .byte   $B3
+   ldy     $12,x
+   lda     $12,x
+   ldx     $12,y
+   .byte   $B7
+   clv
+   lda     $3456,y
+   tsx
+   .byte   $BB
+   ldy     $3456,x
+   lda     $3456,x
+   ldx     $3456,y
+   .byte   $BF
+   cpy     #$12
+   cmp     ($12,x)
+   .byte   $C2
+   .byte   $C3
+   cpy     $12
+   cmp     $12
+   dec     $12
+   .byte   $C7
+   iny
+   cmp     #$12
+   dex
+   .byte   $CB
+   cpy     $3456
+   cmp     $3456
+   dec     $3456
+   .byte   $CF
+   bne     *+122
+   cmp     ($12),y
+   cmp     ($12)
+   .byte   $D3
+   .byte   $D4
+   cmp     $12,x
+   dec     $12,x
+   .byte   $D7
+   cld
+   cmp     $3456,y
+   phx
+   .byte   $DB
+   .byte   $DC
+   cmp     $3456,x
+   dec     $3456,x
+   .byte   $DF
+   cpx     #$12
+   sbc     ($12,x)
+   .byte   $E2
+   .byte   $E3
+   cpx     $12
+   sbc     $12
+   inc     $12
+   .byte   $E7
+   inx
+   sbc     #$12
+   nop
+   .byte   $EB
+   cpx     $3456
+   sbc     $3456
+   inc     $3456
+   .byte   $EF
+   beq     *+122
+   sbc     ($12),y
+   sbc     ($12)
+   .byte   $F3
+   .byte   $F4
+   sbc     $12,x
+   inc     $12,x
+   .byte   $F7
+   sed
+   sbc     $3456,y
+   plx
+   .byte   $FB
+   .byte   $FC
+   sbc     $3456,x
+   inc     $3456,x
+   .byte   $FF
diff --git a/test/assembler/Makefile b/test/assembler/Makefile
new file mode 100644 (file)
index 0000000..5e4d580
--- /dev/null
@@ -0,0 +1,30 @@
+
+# makefile for the assembler regression tests
+
+BINDIR = ../../bin
+#WORKDIR := ../../testwrk
+WORKDIR := .
+
+TARGETS  = 6502 6502x 65sc02 65c02
+#TARGETS += 65816
+TARGETS += 4510
+TARGETS += huc6280
+#TARGETS += m740
+
+all: $(addprefix $(WORKDIR)/, $(addsuffix -opcodes.bin, $(TARGETS)))
+       @#
+
+.PHONY: $(addprefix $(WORKDIR)/, $(addsuffix -opcodes.bin, $(TARGETS)))
+
+clean:
+       rm -f *.o *.bin *.lst
+
+define build
+$$(WORKDIR)/$(1)-opcodes.bin: $(1)-opcodes.s
+       @$$(BINDIR)/cl65 --cpu $(1) -t none -l $$(WORKDIR)/$(1)-opcodes.lst --obj-path $$(WORKDIR) -o $$@ $$<
+       @diff -q $(1)-opcodes.ref $$@ || (cat $$(WORKDIR)/$(1)-opcodes.lst ; exit 1)
+       @echo ca65 --cpu $(1) ok
+endef
+
+$(foreach target,$(TARGETS),$(eval $(call build,$(target))))
+
diff --git a/test/assembler/huc6280-opcodes.ref b/test/assembler/huc6280-opcodes.ref
new file mode 100644 (file)
index 0000000..33f5b29
Binary files /dev/null and b/test/assembler/huc6280-opcodes.ref differ
diff --git a/test/assembler/huc6280-opcodes.s b/test/assembler/huc6280-opcodes.s
new file mode 100644 (file)
index 0000000..bd3ad5c
--- /dev/null
@@ -0,0 +1,258 @@
+.setcpu "huc6280"
+
+   brk
+   ora     ($12,x)
+   sxy
+   st0     #$12
+   tsb     $12
+   ora     $12
+   asl     $12
+   rmb0    $12
+   php
+   ora     #$12
+   asl     a
+   .byte   $0B
+   tsb     $3456
+   ora     $3456
+   asl     $3456
+   bbr0    $12,*+122
+   bpl     *+122
+   ora     ($12),y
+   ora     ($12)
+   st1     #$12
+   trb     $12
+   ora     $12,x
+   asl     $12,x
+   rmb1    $12
+   clc
+   ora     $3456,y
+   inc     a
+   .byte   $1B
+   trb     $3456
+   ora     $3456,x
+   asl     $3456,x
+   bbr1    $12,*+122
+   jsr     $3456
+   and     ($12,x)
+   sax
+   st2     #$12
+   bit     $12
+   and     $12
+   rol     $12
+   rmb2    $12
+   plp
+   and     #$12
+   rol     a
+   .byte   $2B
+   bit     $3456
+   and     $3456
+   rol     $3456
+   bbr2    $12,*+122
+   bmi     *+122
+   and     ($12),y
+   and     ($12)
+   .byte   $33
+   bit     $12,x
+   and     $12,x
+   rol     $12,x
+   rmb3    $12
+   sec
+   and     $3456,y
+   dec     a
+   .byte   $3B
+   bit     $3456,x
+   and     $3456,x
+   rol     $3456,x
+   bbr3    $12,*+122
+   rti
+   eor     ($12,x)
+   say
+   tma     #$02
+   bsr     *+122
+   eor     $12
+   lsr     $12
+   rmb4    $12
+   pha
+   eor     #$12
+   lsr     a
+   .byte   $4B
+   jmp     $3456
+   eor     $3456
+   lsr     $3456
+   bbr4    $12,*+122
+   bvc     *+122
+   eor     ($12),y
+   eor     ($12)
+   tam     #$12
+   csl
+   eor     $12,x
+   lsr     $12,x
+   rmb5    $12
+   cli
+   eor     $3456,y
+   phy
+   .byte   $5B
+   .byte   $5C
+   eor     $3456,x
+   lsr     $3456,x
+   bbr5    $12,*+122
+   rts
+   adc     ($12,x)
+   cla
+   .byte   $63
+   stz     $12
+   adc     $12
+   ror     $12
+   rmb6    $12
+   pla
+   adc     #$12
+   ror     a
+   .byte   $6B
+   jmp     ($3456)
+   adc     $3456
+   ror     $3456
+   bbr6    $12,*+122
+   bvs     *+122
+   adc     ($12),y
+   adc     ($12)
+   tii     $3333,$7373,$1111
+   stz     $12,x
+   adc     $12,x
+   ror     $12,x
+   rmb7    $12
+   sei
+   adc     $3456,y
+   ply
+   .byte   $7B
+   jmp     ($3456,x)
+   adc     $3456,x
+   ror     $3456,x
+   bbr7    $12,*+122
+   bra     *+122
+   sta     ($12,x)
+   clx
+   tst     #$12,$EA
+   sty     $12
+   sta     $12
+   stx     $12
+   smb0    $12
+   dey
+   bit     #$12
+   txa
+   .byte   $8B
+   sty     $3456
+   sta     $3456
+   stx     $3456
+   bbs0    $12,*+122
+   bcc     *+122
+   sta     ($12),y
+   sta     ($12)
+   tst     #$12,$EAEA
+   sty     $12,x
+   sta     $12,x
+   stx     $12,y
+   smb1    $12
+   tya
+   sta     $3456,y
+   txs
+   .byte   $9B
+   stz     $3456
+   sta     $3456,x
+   stz     $3456,x
+   bbs1    $12,*+122
+   ldy     #$12
+   lda     ($12,x)
+   ldx     #$12
+   tst     #$12,$EA,x
+   ldy     $12
+   lda     $12
+   ldx     $12
+   smb2    $12
+   tay
+   lda     #$12
+   tax
+   .byte   $AB
+   ldy     $3456
+   lda     $3456
+   ldx     $3456
+   bbs2    $12,*+122
+   bcs     *+122
+   lda     ($12),y
+   lda     ($12)
+   tst     #$12,$EAEA,x
+   ldy     $12,x
+   lda     $12,x
+   ldx     $12,y
+   smb3    $12
+   clv
+   lda     $3456,y
+   tsx
+   .byte   $BB
+   ldy     $3456,x
+   lda     $3456,x
+   ldx     $3456,y
+   bbs3    $12,*+122
+   cpy     #$12
+   cmp     ($12,x)
+   cly
+   tdd     $3333,$C3C3,$1111
+   cpy     $12
+   cmp     $12
+   dec     $12
+   smb4    $12
+   iny
+   cmp     #$12
+   dex
+   .byte   $CB
+   cpy     $3456
+   cmp     $3456
+   dec     $3456
+   bbs4    $12,*+122
+   bne     *+122
+   cmp     ($12),y
+   cmp     ($12)
+   tin     $3333,$D3D3,$1111
+   .byte   $D4
+   cmp     $12,x
+   dec     $12,x
+   smb5    $12
+   cld
+   cmp     $3456,y
+   phx
+   .byte   $DB
+   .byte   $DC
+   cmp     $3456,x
+   dec     $3456,x
+   bbs5    $12,*+122
+   cpx     #$12
+   sbc     ($12,x)
+   .byte   $E2
+   tia     $3333,$E3E3,$1111
+   cpx     $12
+   sbc     $12
+   inc     $12
+   smb6    $12
+   inx
+   sbc     #$12
+   nop
+   .byte   $EB
+   cpx     $3456
+   sbc     $3456
+   inc     $3456
+   bbs6    $12,*+122
+   beq     *+122
+   sbc     ($12),y
+   sbc     ($12)
+   tai     $3333,$F3F3,$1111
+   .byte   $F4
+   sbc     $12,x
+   inc     $12,x
+   smb7    $12
+   sed
+   sbc     $3456,y
+   plx
+   .byte   $FB
+   .byte   $FC
+   sbc     $3456,x
+   inc     $3456,x
+   bbs7    $12,*+122
diff --git a/test/assembler/m740-opcodes.s b/test/assembler/m740-opcodes.s
new file mode 100644 (file)
index 0000000..df6d714
--- /dev/null
@@ -0,0 +1,260 @@
+.setcpu "65C02"
+; copy of 65c02, comments note changes to the m740 according to
+; http://documentation.renesas.com/doc/products/mpumcu/rej09b0322_740sm.pdf
+
+   brk
+   ora     ($12,x)
+   .byte   $02,$00,$00 ; jsr zp,ind
+   .byte   $03,$00,$00 ; bbs 0,a
+   tsb     $12         ; .byte $04
+   ora     $12
+   asl     $12
+   rmb0    $12         ; bbs 0,zp
+   php
+   ora     #$12
+   asl     a
+   .byte   $0B,$00,$00 ; seb 0,a
+   tsb     $3456       ; .byte $0c
+   ora     $3456
+   asl     $3456
+   bbr0    $12,*+122   ; seb 0,zp
+   bpl     *+122
+   ora     ($12),y
+   ora     ($12)       ; clt
+   .byte   $13,$00,$00 ; bbc 0,a
+   trb     $12         ; .byte $14
+   ora     $12,x
+   asl     $12,x
+   rmb1    $12         ; bbc 0,zp
+   clc
+   ora     $3456,y
+   inc     a
+   .byte   $1B,$00,$00 ; clb 0,a
+   trb     $3456       ; .byte $1c
+   ora     $3456,x
+   asl     $3456,x
+   bbr1    $12,*+122   ; clb 0,zp
+   jsr     $3456
+   and     ($12,x)
+   .byte   $22,$00,$00 ; jsr sp
+   .byte   $23,$00,$00 ; bbs 1,a
+   bit     $12
+   and     $12
+   rol     $12
+   rmb2    $12         ; bbs 1,zp
+   plp
+   and     #$12
+   rol     a
+   .byte   $2B,$00,$00 ; seb 1,a
+   bit     $3456
+   and     $3456
+   rol     $3456
+   bbr2    $12,*+122   ; seb 1,zp
+   bmi     *+122
+   and     ($12),y
+   and     ($12)       ; set
+   .byte   $33,$00,$00 ; bbc 1,a
+   bit     $12,x       ; .byte $34
+   and     $12,x
+   rol     $12,x
+   rmb3    $12         ; bbc 1,zp
+   sec
+   and     $3456,y
+   dec     a
+   .byte   $3B,$00,$00 ; clb 1,a
+   bit     $3456,x     ; ldm zp
+   and     $3456,x
+   rol     $3456,x
+   bbr3    $12,*+122   ; clb 1,zp
+   rti
+   eor     ($12,x)
+   .byte   $42,$00,$00 ; stp
+   .byte   $43,$00,$00 ; bbs 2,a
+   .byte   $44,$00,$00 ; com zp
+   eor     $12
+   lsr     $12
+   rmb4    $12         ; bbs 2,zp
+   pha
+   eor     #$12
+   lsr     a
+   .byte   $4B,$00,$00 ; seb 2,a
+   jmp     $3456
+   eor     $3456
+   lsr     $3456
+   bbr4    $12,*+122   ; seb 2,zp
+   bvc     *+122
+   eor     ($12),y
+   eor     ($12)       ; .byte $52
+   .byte   $53,$00,$00 ; bbc 2,a
+   .byte   $54,$00,$00
+   eor     $12,x
+   lsr     $12,x
+   rmb5    $12         ; bbc 2,zp
+   cli
+   eor     $3456,y
+   phy
+   .byte   $5B,$00,$00 ; clb 2,a
+   .byte   $5C,$00,$00
+   eor     $3456,x
+   lsr     $3456,x
+   bbr5    $12,*+122   ; clb 2,zp
+   rts
+   adc     ($12,x)
+   .byte   $62,$00,$00 ; mul zp,x
+   .byte   $63,$00,$00 ; bbs 3,a
+   stz     $12         ; tst zp
+   adc     $12
+   ror     $12
+   rmb6    $12         ; bbs 3,zp
+   pla
+   adc     #$12
+   ror     a
+   .byte   $6B,$00,$00 ; seb 3,a
+   jmp     ($3456)
+   adc     $3456
+   ror     $3456
+   bbr6    $12,*+122   ; seb 3,zp
+   bvs     *+122
+   adc     ($12),y
+   adc     ($12)       ; .byte $72
+   .byte   $73,$00,$00 ; bbc 3,a
+   stz     $12,x       ; .byte $74
+   adc     $12,x
+   ror     $12,x
+   rmb7    $12         ; bbc 3,zp
+   sei
+   adc     $3456,y
+   ply
+   .byte   $7B,$00,$00 ; clb 3,a
+   jmp     ($3456,x)   ; .byte $7c
+   adc     $3456,x
+   ror     $3456,x
+   bbr7    $12,*+122   ; clb 3,zp
+   bra     *+122
+   sta     ($12,x)
+   .byte   $82,$00,$00 ; rrf zp
+   .byte   $83,$00,$00 ; bbs 4,a
+   sty     $12
+   sta     $12
+   stx     $12
+   smb0    $12         ; bbs 4,zp
+   dey
+   bit     #$12
+   txa
+   .byte   $8B,$00,$00 ; seb 4,a
+   sty     $3456
+   sta     $3456
+   stx     $3456
+   bbs0    $12,*+122   ; seb 4,zp
+   bcc     *+122
+   sta     ($12),y
+   sta     ($12)       ; .byte $92
+   .byte   $93,$00,$00 ; bbc 4,a
+   sty     $12,x
+   sta     $12,x
+   stx     $12,y
+   smb1    $12         ; bbc 4,zp
+   tya
+   sta     $3456,y
+   txs
+   .byte   $9B,$00,$00 ; clb 4,a
+   stz     $3456       ; .byte $9c
+   sta     $3456,x
+   stz     $3456,x     ; .byte $9e
+   bbs1    $12,*+122   ; clb 4,zp
+   ldy     #$12
+   lda     ($12,x)
+   ldx     #$12
+   .byte   $A3,$00,$00 ; bbs 5,a
+   ldy     $12
+   lda     $12
+   ldx     $12
+   smb2    $12         ; bbs 5,zp
+   tay
+   lda     #$12
+   tax
+   .byte   $AB,$00,$00 ; seb 5,a
+   ldy     $3456
+   lda     $3456
+   ldx     $3456
+   bbs2    $12,*+122   ; seb 5,zp
+   bcs     *+122
+   lda     ($12),y
+   lda     ($12)       ; .byte $b2
+   .byte   $B3,$00,$00 ; bbc 5,a
+   ldy     $12,x
+   lda     $12,x
+   ldx     $12,y
+   smb3    $12         ; bbc 5,zp
+   clv
+   lda     $3456,y
+   tsx
+   .byte   $BB,$00,$00 ; clb 5,a
+   ldy     $3456,x
+   lda     $3456,x
+   ldx     $3456,y
+   bbs3    $12,*+122   ; clb 5,zp
+   cpy     #$12
+   cmp     ($12,x)
+   .byte   $C2,$00,$00 ; wit
+   .byte   $C3,$00,$00 ; bbs 6,a
+   cpy     $12
+   cmp     $12
+   dec     $12
+   smb4    $12         ; bbs 6,zp
+   iny
+   cmp     #$12
+   dex
+   .byte   $CB,$00,$00 ; seb 6,a
+   cpy     $3456
+   cmp     $3456
+   dec     $3456
+   bbs4    $12,*+122   ; seb 6,zp
+   bne     *+122
+   cmp     ($12),y
+   cmp     ($12)       ; .byte $d2
+   .byte   $D3,$00,$00 ; bbc 6,a
+   .byte   $D4,$00,$00
+   cmp     $12,x
+   dec     $12,x
+   smb5    $12         ; bbc 6,zp
+   cld
+   cmp     $3456,y
+   phx
+   .byte   $DB,$00,$00 ; clb 6,a
+   .byte   $DC,$00,$00
+   cmp     $3456,x
+   dec     $3456,x
+   bbs5    $12,*+122   ; clb 6,zp
+   cpx     #$12
+   sbc     ($12,x)
+   .byte   $E2,$00,$00 ; div zp,x
+   .byte   $E3,$00,$00 ; bbs 7,a
+   cpx     $12
+   sbc     $12
+   inc     $12
+   smb6    $12         ; bbs 7,zp
+   inx
+   sbc     #$12
+   nop
+   .byte   $EB,$00,$00 ; seb 7,a
+   cpx     $3456
+   sbc     $3456
+   inc     $3456
+   bbs6    $12,*+122   ; seb 7,zp
+   beq     *+122
+   sbc     ($12),y
+   sbc     ($12)       ; .byte $f2
+   .byte   $F3,$00,$00 ; bbc 7,a
+   .byte   $F4,$00,$00
+   sbc     $12,x
+   inc     $12,x
+   smb7    $12         ; bbc 7,zp
+   sed
+   sbc     $3456,y
+   plx
+   .byte   $FB,$00,$00 ; clb 7,a
+   .byte   $FC,$00,$00
+   sbc     $3456,x
+   inc     $3456,x
+   bbs7    $12,*+122   ; clb 7,zp
diff --git a/testcode/assembler/.gitignore b/testcode/assembler/.gitignore
deleted file mode 100644 (file)
index 0f7f86d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-*.bin
-*.o
-*.lst
diff --git a/testcode/assembler/4510all.ref b/testcode/assembler/4510all.ref
deleted file mode 100644 (file)
index b65b12e..0000000
Binary files a/testcode/assembler/4510all.ref and /dev/null differ
diff --git a/testcode/assembler/4510all.s b/testcode/assembler/4510all.s
deleted file mode 100644 (file)
index 997ddd0..0000000
+++ /dev/null
@@ -1,278 +0,0 @@
-   .setcpu "4510"
-
-   brk
-   ora ($05,x)
-   cle
-   see
-   tsb $02
-   ora $02
-   asl $02
-   rmb0 $02
-   php
-   ora #$01
-   asl
-   tsy
-   tsb $1234
-   ora $1234
-   asl $1234
-   bbr0 $02,*+$34
-
-   bpl *+$32
-   ora ($06),y
-   ora ($07),z
-   lbpl *+$3133 ; bpl *+$3133
-   trb $02
-   ora $03,x
-   asl $03,x
-   rmb1 $02
-   clc
-   ora $1456,y
-   inc
-   inz
-   trb $1234
-   ora $1345,x
-   asl $1345,x
-   bbr1 $02,*+$34
-
-   jsr $1234
-   and ($05,x)
-   jsr ($2345)
-   jsr ($2456,x)
-   bit $02
-   and $02
-   rol $02
-   rmb2 $02
-   plp
-   and #$01
-   rol
-   tys
-   bit $1234
-   and $1234
-   rol $1234
-   bbr2 $02,*+$34
-
-   bmi *+$32
-   and ($06),y
-   and ($07),z
-   lbmi *+$3133 ; bmi *+$3133
-   bit $03,x
-   and $03,x
-   rol $03,x
-   rmb3 $02
-   sec
-   and $1456,y
-   dec
-   dez
-   bit $1345,x
-   and $1345,x
-   rol $1345,x
-   bbr3 $02,*+$34
-
-   rti
-   eor ($05,x)
-   neg
-   asr
-   asr $02
-   eor $02
-   lsr $02
-   rmb4 $02
-   pha
-   eor #$01
-   lsr
-   taz
-   jmp $1234
-   eor $1234
-   lsr $1234
-   bbr4 $02,*+$34
-
-   bvc *+$32
-   eor ($06),y
-   eor ($07),z
-   lbvc *+$3133 ; bvc *+$3133
-   asr $03,x
-   eor $03,x
-   lsr $03,x
-   rmb5 $02
-   cli
-   eor $1456,y
-   phy
-   tab
-   map
-   eor $1345,x
-   lsr $1345,x
-   bbr5 $02,*+$34
-
-   rts
-   adc ($05,x)
-   rtn #$09
-   bsr *+$3133
-   stz $02
-   adc $02
-   ror $02
-   rmb6 $02
-   pla
-   adc #$01
-   ror
-   tza
-   jmp ($2345)
-   adc $1234
-   ror $1234
-   bbr6 $02,*+$34
-
-   bvs *+$32
-   adc ($06),y
-   adc ($07),z
-   lbvs *+$3133 ; bvs *+$3133
-   stz $03,x
-   adc $03,x
-   ror $03,x
-   rmb7 $02
-   sei
-   adc $1456,y
-   ply
-   tba
-   jmp ($2456,x)
-   adc $1345,x
-   ror $1345,x
-   bbr7 $02,*+$34
-
-   bra *+$32
-   sta ($05,x)
-   sta ($0f,s),y
-   sta ($0f,sp),y
-   lbra *+$3133 ; bra *+$3133
-   sty $02
-   sta $02
-   stx $02
-   smb0 $02
-   dey
-   bit #$01
-   txa
-   sty $1345,x
-   sty $1234
-   sta $1234
-   stx $1234
-   bbs0 $02,*+$34
-
-   bcc *+$32
-   sta ($06),y
-   sta ($07),z
-   lbcc *+$3133 ; bcc *+$3133
-   sty $03,x
-   sta $03,x
-   stx $04,y
-   smb1 $02
-   tya
-   sta $1456,y
-   txs
-   stx $1456,y
-   stz $1234
-   sta $1345,x
-   stz $1345,x
-   bbs1 $02,*+$34
-
-   ldy #$01
-   lda ($05,x)
-   ldx #$01
-   ldz #$01
-   ldy $02
-   lda $02
-   ldx $02
-   smb2 $02
-   tay
-   lda #$01
-   tax
-   ldz $1234
-   ldy $1234
-   lda $1234
-   ldx $1234
-   bbs2 $02,*+$34
-
-   bcs *+$32
-   lda ($06),y
-   lda ($07),z
-   lbcs *+$3133 ; bcs *+$3133
-   ldy $03,x
-   lda $03,x
-   ldx $04,y
-   smb3 $02
-   clv
-   lda $1456,y
-   tsx
-   ldz $1345,x
-   ldy $1345,x
-   lda $1345,x
-   ldx $1456,y
-   bbs3 $02,*+$34
-
-   cpy #$01
-   cmp ($05,x)
-   cpz #$01
-   dew $02
-   cpy $02
-   cmp $02
-   dec $02
-   smb4 $02
-   iny
-   cmp #$01
-   dex
-   asw $1234
-   cpy $1234
-   cmp $1234
-   dec $1234
-   bbs4 $02,*+$34
-
-   bne *+$32
-   cmp ($06),y
-   cmp ($07),z
-   lbne *+$3133 ; bne *+$3133
-   cpz $02
-   cmp $03,x
-   dec $03,x
-   smb5 $02
-   cld
-   cmp $1456,y
-   phx
-   phz
-   cpz $1234
-   cmp $1345,x
-   dec $1345,x
-   bbs5 $02,*+$34
-
-   cpx #$01
-   sbc ($05,x)
-   lda ($0f,s),y
-   lda ($0f,sp),y
-   inw $02
-   cpx $02
-   sbc $02
-   inc $02
-   smb6 $02
-   inx
-   sbc #$01
-   eom
-   nop
-   row $1234
-   cpx $1234
-   sbc $1234
-   inc $1234
-   bbs6 $02,*+$34
-
-   beq *+$32
-   sbc ($06),y
-   sbc ($07),z
-   lbeq *+$3133 ; beq *+$3133
-   phd #$089a
-   phw #$089a
-   sbc $03,x
-   inc $03,x
-   smb7 $02
-   sed
-   sbc $1456,y
-   plx
-   plz
-   phd $1234
-   phw $1234
-   sbc $1345,x
-   inc $1345,x
-   bbs7 $02,*+$34
diff --git a/testcode/assembler/Makefile b/testcode/assembler/Makefile
deleted file mode 100644 (file)
index 35c3423..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-
-all: chklegal.bin chkillegal.bin chkall.bin chk4510.bin
-       @#
-
-.PHONY: chklegal.bin chkillegal.bin chkall.bin chk4510.bin
-
-chk4510.bin: 4510all.s
-       $(MAKE) -C ../../src all
-       ../../bin/cl65 --target none --cpu 4510 --listing 4510all.lst -o $@ $<
-       diff -q 4510all.ref $@ || cat 4510all.lst
-
-chklegal.bin: legal.s
-       ../../bin/cl65 --target none --cpu 6502X -o chklegal.bin legal.s
-       diff -q legal.ref chklegal.bin || hex chklegal.bin
-
-chkillegal.bin: illegal.s
-       ../../bin/cl65 --target none --cpu 6502X -o chkillegal.bin illegal.s
-       diff -q illegal.ref chkillegal.bin || hex chkillegal.bin
-
-chkall.bin: all.s
-       ../../bin/cl65 --target none --cpu 6502X -o chkall.bin all.s
-
-ref: legal.s illegal.s
-       ../../bin/cl65 --target none --cpu 6502X -o legal.ref legal.s
-       ../../bin/cl65 --target none --cpu 6502X -o illegal.ref illegal.s
-
-clean:
-       rm -f legal.o chklegal.bin
-       rm -f illegal.o chkillegal.bin
-       rm -f all.o chkall.bin
-       rm -f 4510all.o chk4510.bin 4510all.lst
-
diff --git a/testcode/assembler/all.s b/testcode/assembler/all.s
deleted file mode 100644 (file)
index 2e8f55e..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-        .setcpu         "6502X"
-
-; all legal and illegal opcodes as they would be disassembled by da65
-; note that this would not assemble into the exact same binary
-
-            brk                 ; 00
-            ora ($12,x)         ; 01 12
-            jam                 ; 02
-            slo ($12,x)         ; 03 12
-            nop $12             ; 04 12
-            ora $12             ; 05 12
-            asl $12             ; 06 12
-            slo $12             ; 07 12
-            php                 ; 08
-            ora #$12            ; 09 12
-            asl a               ; 0a
-            anc #$12            ; 0b 12
-            nop $1234           ; 0c 34 12
-            ora $1234           ; 0d 34 12
-            asl $1234           ; 0e 34 12
-            slo $1234           ; 0f 34 12
-            bpl *+$14           ; 10 12
-            ora ($12),y         ; 11 12
-            jam                 ; 12
-            slo ($12),y         ; 13 12
-            nop $12,x           ; 14 12
-            ora $12,x           ; 15 12
-            asl $12,x           ; 16 12
-            slo $12,x           ; 17 12
-            clc                 ; 18
-            ora $1234,y         ; 19 34 12
-            nop                 ; 1a
-            slo $1234,y         ; 1b 34 12
-            nop $1234,x         ; 1c 34 12
-            ora $1234,x         ; 1d 34 12
-            asl $1234,x         ; 1e 34 12
-            slo $1234,x         ; 1f 34 12
-            jsr $1234           ; 20 34 12
-            and ($12,x)         ; 21 12
-            jam                 ; 22
-            rla ($12,x)         ; 23 12
-            bit $12             ; 24 12
-            and $12             ; 25 12
-            rol $12             ; 26 12
-            rla $12             ; 27 12
-            plp                 ; 28
-            and #$12            ; 29 12
-            rol a               ; 2a
-            anc #$12            ; 2b 12
-            bit $1234           ; 2c 34 12
-            and $1234           ; 2d 34 12
-            rol $1234           ; 2e 34 12
-            rla $1234           ; 2f 34 12
-            bmi *+$14           ; 30 12
-            and ($12),y         ; 31 12
-            jam                 ; 32
-            rla ($12),y         ; 33 12
-            nop $12,x           ; 34 12
-            and $12,x           ; 35 12
-            rol $12,x           ; 36 12
-            rla $12,x           ; 37 12
-            sec                 ; 38
-            and $1234,y         ; 39 34 12
-            nop                 ; 3a
-            rla $1234,y         ; 3b 34 12
-            nop $1234,x         ; 3c 34 12
-            and $1234,x         ; 3d 34 12
-            rol $1234,x         ; 3e 34 12
-            rla $1234,x         ; 3f 34 12
-            rti                 ; 40
-            eor ($12,x)         ; 41 12
-            jam                 ; 42
-            sre ($12,x)         ; 43 12
-            nop $12             ; 44 12
-            eor $12             ; 45 12
-            lsr $12             ; 46 12
-            sre $12             ; 47 12
-            pha                 ; 48
-            eor #$12            ; 49 12
-            lsr a               ; 4a
-            alr #$12            ; 4b 12
-            jmp $1234           ; 4c 34 12
-            eor $1234           ; 4d 34 12
-            lsr $1234           ; 4e 34 12
-            sre $1234           ; 4f 34 12
-            bvc *+$14           ; 50 12
-            eor ($12),y         ; 51 12
-            jam                 ; 52
-            sre ($12),y         ; 53 12
-            nop $12,x           ; 54 12
-            eor $12,x           ; 55 12
-            lsr $12,x           ; 56 12
-            sre $12,x           ; 57 12
-            cli                 ; 58
-            eor $1234,y         ; 59 34 12
-            nop                 ; 5a
-            sre $1234,y         ; 5b 34 12
-            nop $1234,x         ; 5c 34 12
-            eor $1234,x         ; 5d 34 12
-            lsr $1234,x         ; 5e 34 12
-            sre $1234,x         ; 5f 34 12
-            rts                 ; 60
-            adc ($12,x)         ; 61 12
-            jam                 ; 62
-            rra ($12,x)         ; 63 12
-            nop $12             ; 64 12
-            adc $12             ; 65 12
-            ror $12             ; 66 12
-            rra $12             ; 67 12
-            pla                 ; 68
-            adc #$12            ; 69 12
-            ror a               ; 6a
-            arr #$12            ; 6b 12
-            jmp ($1234)         ; 6c 34 12
-            adc $1234           ; 6d 34 12
-            ror $1234           ; 6e 34 12
-            rra $1234           ; 6f 34 12
-            bvs *+$14           ; 70 12
-            adc ($12),y         ; 71 12
-            jam                 ; 72
-            rra ($12),y         ; 73 12
-            nop $12,x           ; 74 12
-            adc $12,x           ; 75 12
-            ror $12,x           ; 76 12
-            rra $12,x           ; 77 12
-            sei                 ; 78
-            adc $1234,y         ; 79 34 12
-            nop                 ; 7a
-            rra $1234,y         ; 7b 34 12
-            nop $1234,x         ; 7c 34 12
-            adc $1234,x         ; 7d 34 12
-            ror $1234,x         ; 7e 34 12
-            rra $1234,x         ; 7f 34 12
-            nop #$12            ; 80 12
-            sta ($12,x)         ; 81 12
-            nop #$12            ; 82 12
-            sax ($12,x)         ; 83 12
-            sty $12             ; 84 12
-            sta $12             ; 85 12
-            stx $12             ; 86 12
-            sax $12             ; 87 12
-            dey                 ; 88
-            nop #$12            ; 89 12
-            txa                 ; 8a
-            ane #$12            ; 8b 12
-            sty $1234           ; 8c 34 12
-            sta $1234           ; 8d 34 12
-            stx $1234           ; 8e 34 12
-            sax $1234           ; 8f 34 12
-            bcc *+$14           ; 90 12
-            sta ($12),y         ; 91 12
-            jam                 ; 92
-            sha ($12),y         ; 93 12
-            sty $12,x           ; 94 12
-            sta $12,x           ; 95 12
-            stx $12,y           ; 96 12
-            sax $12,y           ; 97 12
-            tya                 ; 98
-            sta $1234,y         ; 99 34 12
-            txs                 ; 9a
-            tas $1234,y         ; 9b 34 12
-            shy $1234,x         ; 9c 34 12
-            sta $1234,x         ; 9d 34 12
-            shx $1234,y         ; 9e 34 12
-            sha $1234,y         ; 9f 34 12
-            ldy #$12            ; a0 12
-            lda ($12,x)         ; a1 12
-            ldx #$12            ; a2 12
-            lax ($12,x)         ; a3 12
-            ldy $12             ; a4 12
-            lda $12             ; a5 12
-            ldx $12             ; a6 12
-            lax $12             ; a7 12
-            tay                 ; a8
-            lda #$12            ; a9 12
-            tax                 ; aa
-            lax #$12            ; ab 12
-            ldy $1234           ; ac 34 12
-            lda $1234           ; ad 34 12
-            ldx $1234           ; ae 34 12
-            lax $1234           ; af 34 12
-            bcs *+$14           ; b0 12
-            lda ($12),y         ; b1 12
-            jam                 ; b2
-            lax ($12),y         ; b3 12
-            ldy $12,x           ; b4 12
-            lda $12,x           ; b5 12
-            ldx $12,y           ; b6 12
-            lax $12,y           ; b7 12
-            clv                 ; b8
-            lda $1234,y         ; b9 34 12
-            tsx                 ; ba
-            las $1234,y         ; bb 34 12
-            ldy $1234,x         ; bc 34 12
-            lda $1234,x         ; bd 34 12
-            ldx $1234,y         ; be 34 12
-            lax $1234,y         ; bf 34 12
-            cpy #$12            ; c0 12
-            cmp ($12,x)         ; c1 12
-            nop #$12            ; c2 12
-            dcp ($12,x)         ; c3 12
-            cpy $12             ; c4 12
-            cmp $12             ; c5 12
-            dec $12             ; c6 12
-            dcp $12             ; c7 12
-            iny                 ; c8
-            cmp #$12            ; c9 12
-            dex                 ; ca
-            axs #$12            ; cb 12
-            cpy $1234           ; cc 34 12
-            cmp $1234           ; cd 34 12
-            dec $1234           ; ce 34 12
-            dcp $1234           ; cf 34 12
-            bne *+$14           ; d0 12
-            cmp ($12),y         ; d1 12
-            jam                 ; d2
-            dcp ($12),y         ; d3 12
-            nop $12,x           ; d4 12
-            cmp $12,x           ; d5 12
-            dec $12,x           ; d6 12
-            dcp $12,x           ; d7 12
-            cld                 ; d8
-            cmp $1234,y         ; d9 34 12
-            nop                 ; da
-            dcp $1234,y         ; db 34 12
-            nop $1234,x         ; dc 34 12
-            cmp $1234,x         ; dd 34 12
-            dec $1234,x         ; de 34 12
-            dcp $1234,x         ; df 34 12
-            cpx #$12            ; e0 12
-            sbc ($12,x)         ; e1 12
-            nop #$12            ; e2 12
-            isc ($12,x)         ; e3 12
-            cpx $12             ; e4 12
-            sbc $12             ; e5 12
-            inc $12             ; e6 12
-            isc $12             ; e7 12
-            inx                 ; e8
-            sbc #$12            ; e9 12
-            nop                 ; ea
-            sbc #$12            ; eb 12
-            cpx $1234           ; ec 34 12
-            sbc $1234           ; ed 34 12
-            inc $1234           ; ee 34 12
-            isc $1234           ; ef 34 12
-            beq *+$14           ; f0 12
-            sbc ($12),y         ; f1 12
-            jam                 ; f2
-            isc ($12),y         ; f3 12
-            nop $12,x           ; f4 12
-            sbc $12,x           ; f5 12
-            inc $12,x           ; f6 12
-            isc $12,x           ; f7 12
-            sed                 ; f8
-            sbc $1234,y         ; f9 34 12
-            isc $1234,y         ; fb 34 12
-            nop $1234,x         ; fc 34 12
-            sbc $1234,x         ; fd 34 12
-            inc $1234,x         ; fe 34 12
-            isc $1234,x         ; ff 34 12
diff --git a/testcode/assembler/illegal.ref b/testcode/assembler/illegal.ref
deleted file mode 100644 (file)
index c8dc208..0000000
+++ /dev/null
@@ -1 +0,0 @@
-\a\12\ f4\12\1f4\12\e4\12\ 3\12\17\12\13\12'\12/4\12?4\12;4\12#\127\123\12O4\12_4\12[4\12G\12C\12W\12S\12o4\12\7f4\12{4\12g\12c\12w\12s\12Ï4\12ß4\12Û4\12Ç\12Ã\12×\12Ó\12ï4\12ÿ4\12û4\12ç\12ã\12÷\12ó\12\8f4\12\87\12\83\12\97\12¯4\12¿4\12§\12£\12³\12·\12\v\12k\12K\12Ë\12\f4\12\1c4\12\ 4\12\14\12\80\12\ 2\93\12\9f4\12\9e4\12\9c4\12\9b4\12»4\12«\12\8b\12
\ No newline at end of file
diff --git a/testcode/assembler/illegal.s b/testcode/assembler/illegal.s
deleted file mode 100644 (file)
index b49b887..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-
-        .setcpu         "6502X"
-
-; all so called "illegal" opcodes. duplicated (functionally identical) ones
-; are commented out
-
-; first all totally stable undocs:
-
-        slo $12             ; 07 12
-        slo $1234           ; 0f 34 12
-        slo $1234,x         ; 1f 34 12
-        slo $1234,y         ; 1b 34 12
-        slo ($12,x)         ; 03 12
-        slo $12,x           ; 17 12
-        slo ($12),y         ; 13 12
-
-        rla $12             ; 27 12
-        rla $1234           ; 2f 34 12
-        rla $1234,x         ; 3f 34 12
-        rla $1234,y         ; 3b 34 12
-        rla ($12,x)         ; 23 12
-        rla $12,x           ; 37 12
-        rla ($12),y         ; 33 12
-
-        sre $1234           ; 4f 34 12
-        sre $1234,x         ; 5f 34 12
-        sre $1234,y         ; 5b 34 12
-        sre $12             ; 47 12
-        sre ($12,x)         ; 43 12
-        sre $12,x           ; 57 12
-        sre ($12),y         ; 53 12
-
-        rra $1234           ; 6f 34 12
-        rra $1234,x         ; 7f 34 12
-        rra $1234,y         ; 7b 34 12
-        rra $12             ; 67 12
-        rra ($12,x)         ; 63 12
-        rra $12,x           ; 77 12
-        rra ($12),y         ; 73 12
-
-        dcp $1234           ; cf 34 12
-        dcp $1234,x         ; df 34 12
-        dcp $1234,y         ; db 34 12
-        dcp $12             ; c7 12
-        dcp ($12,x)         ; c3 12
-        dcp $12,x           ; d7 12
-        dcp ($12),y         ; d3 12
-
-        isc $1234           ; ef 34 12
-        isc $1234,x         ; ff 34 12
-        isc $1234,y         ; fb 34 12
-        isc $12             ; e7 12
-        isc ($12,x)         ; e3 12
-        isc $12,x           ; f7 12
-        isc ($12),y         ; f3 12
-
-        sax $1234           ; 8f 34 12
-        sax $12             ; 87 12
-        sax ($12,x)         ; 83 12
-        sax $12,y           ; 97 12
-
-        lax $1234           ; af 34 12
-        lax $1234,y         ; bf 34 12
-        lax $12             ; a7 12
-        lax ($12,x)         ; a3 12
-        lax ($12),y         ; b3 12
-        lax $12,y           ; b7 12
-
-        anc #$12            ; 0b 12
-        ;anc #$12           ; 2b 12
-
-        arr #$12            ; 6b 12
-
-        alr #$12            ; 4b 12
-
-        axs #$12            ; cb 12
-
-        nop $1234           ; 0c 34 12
-        nop $1234,x         ; 1c 34 12
-        nop $12             ; 04 12
-        nop $12,x           ; 14 12
-        nop #$12            ; 80 12
-        ;nop $1234,x        ; 3c 34 12
-        ;nop $1234,x        ; 5c 34 12
-        ;nop $1234,x        ; 7c 34 12
-        ;nop $1234,x        ; dc 34 12
-        ;nop $1234,x        ; fc 34 12
-        ;nop $12            ; 44 12
-        ;nop $12            ; 64 12
-        ;nop #$12           ; 82 12
-        ;nop #$12           ; 89 12
-        ;nop #$12           ; c2 12
-        ;nop #$12           ; e2 12
-        ;nop $12,x          ; 34 12
-        ;nop $12,x          ; 54 12
-        ;nop $12,x          ; 74 12
-        ;nop $12,x          ; d4 12
-        ;nop $12,x          ; f4 12
-        ;nop                ; 1a
-        ;nop                ; 3a
-        ;nop                ; 5a
-        ;nop                ; 7a
-        ;nop                ; da
-
-        jam                 ; 02
-        ;jam                ; 12
-        ;jam                ; 22
-        ;jam                ; 32
-        ;jam                ; 42
-        ;jam                ; 52
-        ;jam                ; 62
-        ;jam                ; 72
-        ;jam                ; 92
-        ;jam                ; b2
-        ;jam                ; d2
-        ;jam                ; f2
-
-        ;sbc #$12           ; eb 12
-
-; the so-called "unstable" ones:
-
-        sha ($12),y         ; 93 12
-        sha $1234,y         ; 9f 34 12
-
-        shx $1234,y         ; 9e 34 12
-        shy $1234,x         ; 9c 34 12
-
-        tas $1234,y         ; 9b 34 12
-        las $1234,y         ; bb 34 12
-
-; the two so-called "highly unstable" ones:
-
-        lax #$12            ; ab 12
-
-        ane #$12            ; 8b 12
diff --git a/testcode/assembler/legal.ref b/testcode/assembler/legal.ref
deleted file mode 100644 (file)
index c38f290..0000000
Binary files a/testcode/assembler/legal.ref and /dev/null differ
diff --git a/testcode/assembler/legal.s b/testcode/assembler/legal.s
deleted file mode 100644 (file)
index 1de43b9..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-
-        .setcpu         "6502"
-
-            adc $1234           ; 6d 34 12
-            adc $1234,x         ; 7d 34 12
-            adc $1234,y         ; 79 34 12
-            adc $12             ; 65 12
-            adc #$12            ; 69 12
-            adc ($12,x)         ; 61 12
-            adc $12,x           ; 75 12
-            adc ($12),y         ; 71 12
-
-            and $12             ; 25 12
-            and #$12            ; 29 12
-            and $1234           ; 2d 34 12
-            and $1234,x         ; 3d 34 12
-            and $1234,y         ; 39 34 12
-            and ($12,x)         ; 21 12
-            and $12,x           ; 35 12
-            and ($12),y         ; 31 12
-
-            asl $12             ; 06 12
-            asl $1234           ; 0e 34 12
-            asl $1234,x         ; 1e 34 12
-            asl $12,x           ; 16 12
-            asl a               ; 0a
-
-            bcc *+$14           ; 90 12
-            bcs *+$14           ; b0 12
-            beq *+$14           ; f0 12
-            bmi *+$14           ; 30 12
-            bne *+$14           ; d0 12
-            bpl *+$14           ; 10 12
-            bvc *+$14           ; 50 12
-            bvs *+$14           ; 70 12
-
-            bit $12             ; 24 12
-            bit $1234           ; 2c 34 12
-
-            brk                 ; 00
-
-            clc                 ; 18
-            cld                 ; d8
-            cli                 ; 58
-            clv                 ; b8
-
-            cmp $1234           ; cd 34 12
-            cmp $1234,x         ; dd 34 12
-            cmp $1234,y         ; d9 34 12
-            cmp $12             ; c5 12
-            cmp #$12            ; c9 12
-            cmp ($12,x)         ; c1 12
-            cmp $12,x           ; d5 12
-            cmp ($12),y         ; d1 12
-
-            cpx $1234           ; ec 34 12
-            cpx #$12            ; e0 12
-            cpx $12             ; e4 12
-
-            cpy $1234           ; cc 34 12
-            cpy #$12            ; c0 12
-            cpy $12             ; c4 12
-
-            dec $1234           ; ce 34 12
-            dec $1234,x         ; de 34 12
-            dec $12             ; c6 12
-            dec $12,x           ; d6 12
-
-            dex                 ; ca
-            dey                 ; 88
-
-            eor $1234           ; 4d 34 12
-            eor $1234,x         ; 5d 34 12
-            eor $1234,y         ; 59 34 12
-            eor $12             ; 45 12
-            eor #$12            ; 49 12
-            eor ($12,x)         ; 41 12
-            eor $12,x           ; 55 12
-            eor ($12),y         ; 51 12
-
-            inc $1234           ; ee 34 12
-            inc $1234,x         ; fe 34 12
-            inc $12             ; e6 12
-            inc $12,x           ; f6 12
-
-            inx                 ; e8
-            iny                 ; c8
-
-            jmp $1234           ; 4c 34 12
-            jmp ($1234)         ; 6c 34 12
-
-            jsr $1234           ; 20 34 12
-
-            lda $1234           ; ad 34 12
-            lda $1234,x         ; bd 34 12
-            lda $1234,y         ; b9 34 12
-            lda $12             ; a5 12
-            lda #$12            ; a9 12
-            lda ($12,x)         ; a1 12
-            lda $12,x           ; b5 12
-            lda ($12),y         ; b1 12
-
-            ldx $1234           ; ae 34 12
-            ldx $1234,y         ; be 34 12
-            ldx #$12            ; a2 12
-            ldx $12             ; a6 12
-            ldx $12,y           ; b6 12
-
-            ldy $1234           ; ac 34 12
-            ldy $1234,x         ; bc 34 12
-            ldy #$12            ; a0 12
-            ldy $12             ; a4 12
-            ldy $12,x           ; b4 12
-
-            lsr $1234           ; 4e 34 12
-            lsr $1234,x         ; 5e 34 12
-            lsr $12             ; 46 12
-            lsr $12,x           ; 56 12
-            lsr a               ; 4a
-
-            nop                 ; ea
-
-            ora $12             ; 05 12
-            ora #$12            ; 09 12
-            ora $1234           ; 0d 34 12
-            ora $1234,x         ; 1d 34 12
-            ora $1234,y         ; 19 34 12
-            ora ($12,x)         ; 01 12
-            ora $12,x           ; 15 12
-            ora ($12),y         ; 11 12
-
-            pha                 ; 48
-            php                 ; 08
-            pla                 ; 68
-            plp                 ; 28
-
-            rol $12             ; 26 12
-            rol $1234           ; 2e 34 12
-            rol $1234,x         ; 3e 34 12
-            rol $12,x           ; 36 12
-            rol a               ; 2a
-            ror $1234           ; 6e 34 12
-            ror $1234,x         ; 7e 34 12
-            ror $12             ; 66 12
-            ror $12,x           ; 76 12
-            ror a               ; 6a
-
-            rti                 ; 40
-            rts                 ; 60
-
-            sbc $1234           ; ed 34 12
-            sbc $1234,x         ; fd 34 12
-            sbc $1234,y         ; f9 34 12
-            sbc $12             ; e5 12
-            sbc #$12            ; e9 12
-            sbc ($12,x)         ; e1 12
-            sbc $12,x           ; f5 12
-            sbc ($12),y         ; f1 12
-
-            sec                 ; 38
-            sed                 ; f8
-            sei                 ; 78
-
-            sta $1234           ; 8d 34 12
-            sta $1234,x         ; 9d 34 12
-            sta $1234,y         ; 99 34 12
-            sta $12             ; 85 12
-            sta ($12,x)         ; 81 12
-            sta $12,x           ; 95 12
-            sta ($12),y         ; 91 12
-
-            stx $1234           ; 8e 34 12
-            stx $12             ; 86 12
-            stx $12,y           ; 96 12
-
-            sty $1234           ; 8c 34 12
-            sty $12             ; 84 12
-            sty $12,x           ; 94 12
-
-            tax                 ; aa
-            tay                 ; a8
-            tsx                 ; ba
-            txa                 ; 8a
-            txs                 ; 9a
-            tya                 ; 98