1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-15 11:05:56 +00:00
cc65/test/asm/val/ismnemonic.s

847 lines
16 KiB
ArmAsm

; Tests to ensure .ismnemonic is working correctly
; The .ismnemonic function calls FindInstruction internally,
; which is how the assembler detects all instructions
;
; Currently supported CPUs:
; "6502"
; "6502X"
; "6502DTV"
; "65SC02"
; "65C02"
; "4510"
; "huc6280"
; "65816"
; "sweet16"
; count any errors:
ismnemonic_error .set 0
; macro to test an instruction
.macro test_Ismnemonic instr
.if .ismnemonic(instr)
; do nothing
.else
ismnemonic_error .set 1
.endif
.endmacro
; test .feature ubiquitous_idents
; allow overloading mnemonics
.feature ubiquitous_idents
.setcpu "6502"
; make an adc macro
.macro adc
.endmacro
; should not match
.if .ismnemonic(adc)
ismnemonic_error .set 1
.endif
.delmac adc
; test all instructions:
; there is no instruction table for "none", make sure 'adc' (common to all CPUs) and 'add' (sweet16) doesn't match
.setcpu "none"
.if .ismnemonic(adc) || .ismnemonic(add)
ismnemonic_error .set 1
.endif
.setcpu "6502"
test_Ismnemonic adc
test_Ismnemonic and
test_Ismnemonic asl
test_Ismnemonic bcc
test_Ismnemonic bcs
test_Ismnemonic beq
test_Ismnemonic bit
test_Ismnemonic bmi
test_Ismnemonic bne
test_Ismnemonic bpl
test_Ismnemonic brk
test_Ismnemonic bvc
test_Ismnemonic bvs
test_Ismnemonic clc
test_Ismnemonic cld
test_Ismnemonic cli
test_Ismnemonic clv
test_Ismnemonic cmp
test_Ismnemonic cpx
test_Ismnemonic cpy
test_Ismnemonic dec
test_Ismnemonic dex
test_Ismnemonic dey
test_Ismnemonic eor
test_Ismnemonic inc
test_Ismnemonic inx
test_Ismnemonic iny
test_Ismnemonic jmp
test_Ismnemonic jsr
test_Ismnemonic lda
test_Ismnemonic ldx
test_Ismnemonic ldy
test_Ismnemonic lsr
test_Ismnemonic nop
test_Ismnemonic ora
test_Ismnemonic pha
test_Ismnemonic php
test_Ismnemonic pla
test_Ismnemonic plp
test_Ismnemonic rol
test_Ismnemonic ror
test_Ismnemonic rti
test_Ismnemonic rts
test_Ismnemonic sbc
test_Ismnemonic sec
test_Ismnemonic sed
test_Ismnemonic sei
test_Ismnemonic sta
test_Ismnemonic stx
test_Ismnemonic sty
test_Ismnemonic tax
test_Ismnemonic tay
test_Ismnemonic tsx
test_Ismnemonic txa
test_Ismnemonic txs
test_Ismnemonic tya
.setcpu "6502X"
test_Ismnemonic adc
test_Ismnemonic alr
test_Ismnemonic anc
test_Ismnemonic and
test_Ismnemonic ane
test_Ismnemonic arr
test_Ismnemonic asl
test_Ismnemonic axs
test_Ismnemonic bcc
test_Ismnemonic bcs
test_Ismnemonic beq
test_Ismnemonic bit
test_Ismnemonic bmi
test_Ismnemonic bne
test_Ismnemonic bpl
test_Ismnemonic brk
test_Ismnemonic bvc
test_Ismnemonic bvs
test_Ismnemonic clc
test_Ismnemonic cld
test_Ismnemonic cli
test_Ismnemonic clv
test_Ismnemonic cmp
test_Ismnemonic cpx
test_Ismnemonic cpy
test_Ismnemonic dcp
test_Ismnemonic dec
test_Ismnemonic dex
test_Ismnemonic dey
test_Ismnemonic eor
test_Ismnemonic inc
test_Ismnemonic inx
test_Ismnemonic iny
test_Ismnemonic isc
test_Ismnemonic jam
test_Ismnemonic jmp
test_Ismnemonic jsr
test_Ismnemonic las
test_Ismnemonic lax
test_Ismnemonic lda
test_Ismnemonic ldx
test_Ismnemonic ldy
test_Ismnemonic lsr
test_Ismnemonic nop
test_Ismnemonic ora
test_Ismnemonic pha
test_Ismnemonic php
test_Ismnemonic pla
test_Ismnemonic plp
test_Ismnemonic rla
test_Ismnemonic rol
test_Ismnemonic ror
test_Ismnemonic rra
test_Ismnemonic rti
test_Ismnemonic rts
test_Ismnemonic sax
test_Ismnemonic sbc
test_Ismnemonic sec
test_Ismnemonic sed
test_Ismnemonic sei
test_Ismnemonic sha
test_Ismnemonic shx
test_Ismnemonic shy
test_Ismnemonic slo
test_Ismnemonic sre
test_Ismnemonic sta
test_Ismnemonic stx
test_Ismnemonic sty
test_Ismnemonic tas
test_Ismnemonic tax
test_Ismnemonic tay
test_Ismnemonic tsx
test_Ismnemonic txa
test_Ismnemonic txs
test_Ismnemonic tya
.setcpu "6502DTV"
test_Ismnemonic adc
test_Ismnemonic alr
test_Ismnemonic anc
test_Ismnemonic and
test_Ismnemonic ane
test_Ismnemonic arr
test_Ismnemonic asl
test_Ismnemonic axs
test_Ismnemonic bcc
test_Ismnemonic bcs
test_Ismnemonic beq
test_Ismnemonic bit
test_Ismnemonic bmi
test_Ismnemonic bne
test_Ismnemonic bpl
test_Ismnemonic bra
test_Ismnemonic brk
test_Ismnemonic bvc
test_Ismnemonic bvs
test_Ismnemonic clc
test_Ismnemonic cld
test_Ismnemonic cli
test_Ismnemonic clv
test_Ismnemonic cmp
test_Ismnemonic cpx
test_Ismnemonic cpy
test_Ismnemonic dec
test_Ismnemonic dex
test_Ismnemonic dey
test_Ismnemonic eor
test_Ismnemonic inc
test_Ismnemonic inx
test_Ismnemonic iny
test_Ismnemonic jmp
test_Ismnemonic jsr
test_Ismnemonic las
test_Ismnemonic lax
test_Ismnemonic lda
test_Ismnemonic ldx
test_Ismnemonic ldy
test_Ismnemonic lsr
test_Ismnemonic nop
test_Ismnemonic ora
test_Ismnemonic pha
test_Ismnemonic php
test_Ismnemonic pla
test_Ismnemonic plp
test_Ismnemonic rla
test_Ismnemonic rol
test_Ismnemonic ror
test_Ismnemonic rra
test_Ismnemonic rti
test_Ismnemonic rts
test_Ismnemonic sac
test_Ismnemonic sbc
test_Ismnemonic sec
test_Ismnemonic sed
test_Ismnemonic sei
test_Ismnemonic sha
test_Ismnemonic shx
test_Ismnemonic shy
test_Ismnemonic sir
test_Ismnemonic sta
test_Ismnemonic stx
test_Ismnemonic sty
test_Ismnemonic tax
test_Ismnemonic tay
test_Ismnemonic tsx
test_Ismnemonic txa
test_Ismnemonic txs
test_Ismnemonic tya
.setcpu "65SC02"
test_Ismnemonic adc
test_Ismnemonic and
test_Ismnemonic asl
test_Ismnemonic bcc
test_Ismnemonic bcs
test_Ismnemonic beq
test_Ismnemonic bit
test_Ismnemonic bmi
test_Ismnemonic bne
test_Ismnemonic bpl
test_Ismnemonic bra
test_Ismnemonic brk
test_Ismnemonic bvc
test_Ismnemonic bvs
test_Ismnemonic clc
test_Ismnemonic cld
test_Ismnemonic cli
test_Ismnemonic clv
test_Ismnemonic cmp
test_Ismnemonic cpx
test_Ismnemonic cpy
test_Ismnemonic dea
test_Ismnemonic dec
test_Ismnemonic dex
test_Ismnemonic dey
test_Ismnemonic eor
test_Ismnemonic ina
test_Ismnemonic inc
test_Ismnemonic inx
test_Ismnemonic iny
test_Ismnemonic jmp
test_Ismnemonic jsr
test_Ismnemonic lda
test_Ismnemonic ldx
test_Ismnemonic ldy
test_Ismnemonic lsr
test_Ismnemonic nop
test_Ismnemonic ora
test_Ismnemonic pha
test_Ismnemonic php
test_Ismnemonic phx
test_Ismnemonic phy
test_Ismnemonic pla
test_Ismnemonic plp
test_Ismnemonic plx
test_Ismnemonic ply
test_Ismnemonic rol
test_Ismnemonic ror
test_Ismnemonic rti
test_Ismnemonic rts
test_Ismnemonic sbc
test_Ismnemonic sec
test_Ismnemonic sed
test_Ismnemonic sei
test_Ismnemonic sta
test_Ismnemonic stx
test_Ismnemonic sty
test_Ismnemonic stz
test_Ismnemonic tax
test_Ismnemonic tay
test_Ismnemonic trb
test_Ismnemonic tsb
test_Ismnemonic tsx
test_Ismnemonic txa
test_Ismnemonic txs
test_Ismnemonic tya
.setcpu "65C02"
test_Ismnemonic adc
test_Ismnemonic and
test_Ismnemonic asl
test_Ismnemonic bbr0
test_Ismnemonic bbr1
test_Ismnemonic bbr2
test_Ismnemonic bbr3
test_Ismnemonic bbr4
test_Ismnemonic bbr5
test_Ismnemonic bbr6
test_Ismnemonic bbr7
test_Ismnemonic bbs0
test_Ismnemonic bbs1
test_Ismnemonic bbs2
test_Ismnemonic bbs3
test_Ismnemonic bbs4
test_Ismnemonic bbs5
test_Ismnemonic bbs6
test_Ismnemonic bbs7
test_Ismnemonic bcc
test_Ismnemonic bcs
test_Ismnemonic beq
test_Ismnemonic bit
test_Ismnemonic bmi
test_Ismnemonic bne
test_Ismnemonic bpl
test_Ismnemonic bra
test_Ismnemonic brk
test_Ismnemonic bvc
test_Ismnemonic bvs
test_Ismnemonic clc
test_Ismnemonic cld
test_Ismnemonic cli
test_Ismnemonic clv
test_Ismnemonic cmp
test_Ismnemonic cpx
test_Ismnemonic cpy
test_Ismnemonic dea
test_Ismnemonic dec
test_Ismnemonic dex
test_Ismnemonic dey
test_Ismnemonic eor
test_Ismnemonic ina
test_Ismnemonic inc
test_Ismnemonic inx
test_Ismnemonic iny
test_Ismnemonic jmp
test_Ismnemonic jsr
test_Ismnemonic lda
test_Ismnemonic ldx
test_Ismnemonic ldy
test_Ismnemonic lsr
test_Ismnemonic nop
test_Ismnemonic ora
test_Ismnemonic pha
test_Ismnemonic php
test_Ismnemonic phx
test_Ismnemonic phy
test_Ismnemonic pla
test_Ismnemonic plp
test_Ismnemonic plx
test_Ismnemonic ply
test_Ismnemonic rmb0
test_Ismnemonic rmb1
test_Ismnemonic rmb2
test_Ismnemonic rmb3
test_Ismnemonic rmb4
test_Ismnemonic rmb5
test_Ismnemonic rmb6
test_Ismnemonic rmb7
test_Ismnemonic rol
test_Ismnemonic ror
test_Ismnemonic rti
test_Ismnemonic rts
test_Ismnemonic sbc
test_Ismnemonic sec
test_Ismnemonic sed
test_Ismnemonic sei
test_Ismnemonic smb0
test_Ismnemonic smb1
test_Ismnemonic smb2
test_Ismnemonic smb3
test_Ismnemonic smb4
test_Ismnemonic smb5
test_Ismnemonic smb6
test_Ismnemonic smb7
test_Ismnemonic sta
test_Ismnemonic stp
test_Ismnemonic stx
test_Ismnemonic sty
test_Ismnemonic stz
test_Ismnemonic tax
test_Ismnemonic tay
test_Ismnemonic trb
test_Ismnemonic tsb
test_Ismnemonic tsx
test_Ismnemonic txa
test_Ismnemonic txs
test_Ismnemonic tya
test_Ismnemonic wai
.setcpu "4510"
test_Ismnemonic adc
test_Ismnemonic and
test_Ismnemonic asl
test_Ismnemonic asr
test_Ismnemonic asw
test_Ismnemonic bbr0
test_Ismnemonic bbr1
test_Ismnemonic bbr2
test_Ismnemonic bbr3
test_Ismnemonic bbr4
test_Ismnemonic bbr5
test_Ismnemonic bbr6
test_Ismnemonic bbr7
test_Ismnemonic bbs0
test_Ismnemonic bbs1
test_Ismnemonic bbs2
test_Ismnemonic bbs3
test_Ismnemonic bbs4
test_Ismnemonic bbs5
test_Ismnemonic bbs6
test_Ismnemonic bbs7
test_Ismnemonic bcc
test_Ismnemonic bcs
test_Ismnemonic beq
test_Ismnemonic bit
test_Ismnemonic bmi
test_Ismnemonic bne
test_Ismnemonic bpl
test_Ismnemonic bra
test_Ismnemonic brk
test_Ismnemonic bsr
test_Ismnemonic bvc
test_Ismnemonic bvs
test_Ismnemonic clc
test_Ismnemonic cld
test_Ismnemonic cle
test_Ismnemonic cli
test_Ismnemonic clv
test_Ismnemonic cmp
test_Ismnemonic cpx
test_Ismnemonic cpy
test_Ismnemonic cpz
test_Ismnemonic dea
test_Ismnemonic dec
test_Ismnemonic dew
test_Ismnemonic dex
test_Ismnemonic dey
test_Ismnemonic dez
test_Ismnemonic eom
test_Ismnemonic eor
test_Ismnemonic ina
test_Ismnemonic inc
test_Ismnemonic inw
test_Ismnemonic inx
test_Ismnemonic iny
test_Ismnemonic inz
test_Ismnemonic jmp
test_Ismnemonic jsr
test_Ismnemonic lbcc
test_Ismnemonic lbcs
test_Ismnemonic lbeq
test_Ismnemonic lbmi
test_Ismnemonic lbne
test_Ismnemonic lbpl
test_Ismnemonic lbra
test_Ismnemonic lbvc
test_Ismnemonic lbvs
test_Ismnemonic lda
test_Ismnemonic ldx
test_Ismnemonic ldy
test_Ismnemonic ldz
test_Ismnemonic lsr
test_Ismnemonic map
test_Ismnemonic neg
test_Ismnemonic nop
test_Ismnemonic ora
test_Ismnemonic pha
test_Ismnemonic phd
test_Ismnemonic php
test_Ismnemonic phw
test_Ismnemonic phx
test_Ismnemonic phy
test_Ismnemonic phz
test_Ismnemonic pla
test_Ismnemonic plp
test_Ismnemonic plx
test_Ismnemonic ply
test_Ismnemonic plz
test_Ismnemonic rmb0
test_Ismnemonic rmb1
test_Ismnemonic rmb2
test_Ismnemonic rmb3
test_Ismnemonic rmb4
test_Ismnemonic rmb5
test_Ismnemonic rmb6
test_Ismnemonic rmb7
test_Ismnemonic rol
test_Ismnemonic ror
test_Ismnemonic row
test_Ismnemonic rti
test_Ismnemonic rtn
test_Ismnemonic rts
test_Ismnemonic sbc
test_Ismnemonic sec
test_Ismnemonic sed
test_Ismnemonic see
test_Ismnemonic sei
test_Ismnemonic smb0
test_Ismnemonic smb1
test_Ismnemonic smb2
test_Ismnemonic smb3
test_Ismnemonic smb4
test_Ismnemonic smb5
test_Ismnemonic smb6
test_Ismnemonic smb7
test_Ismnemonic sta
test_Ismnemonic stx
test_Ismnemonic sty
test_Ismnemonic stz
test_Ismnemonic tab
test_Ismnemonic tax
test_Ismnemonic tay
test_Ismnemonic taz
test_Ismnemonic tba
test_Ismnemonic trb
test_Ismnemonic tsb
test_Ismnemonic tsx
test_Ismnemonic tsy
test_Ismnemonic txa
test_Ismnemonic txs
test_Ismnemonic tya
test_Ismnemonic tys
test_Ismnemonic tza
.setcpu "HuC6280"
test_Ismnemonic adc
test_Ismnemonic and
test_Ismnemonic asl
test_Ismnemonic bbr0
test_Ismnemonic bbr1
test_Ismnemonic bbr2
test_Ismnemonic bbr3
test_Ismnemonic bbr4
test_Ismnemonic bbr5
test_Ismnemonic bbr6
test_Ismnemonic bbr7
test_Ismnemonic bbs0
test_Ismnemonic bbs1
test_Ismnemonic bbs2
test_Ismnemonic bbs3
test_Ismnemonic bbs4
test_Ismnemonic bbs5
test_Ismnemonic bbs6
test_Ismnemonic bbs7
test_Ismnemonic bcc
test_Ismnemonic bcs
test_Ismnemonic beq
test_Ismnemonic bit
test_Ismnemonic bmi
test_Ismnemonic bne
test_Ismnemonic bpl
test_Ismnemonic bra
test_Ismnemonic brk
test_Ismnemonic bsr
test_Ismnemonic bvc
test_Ismnemonic bvs
test_Ismnemonic cla
test_Ismnemonic clc
test_Ismnemonic cld
test_Ismnemonic cli
test_Ismnemonic clv
test_Ismnemonic clx
test_Ismnemonic cly
test_Ismnemonic cmp
test_Ismnemonic cpx
test_Ismnemonic cpy
test_Ismnemonic csh
test_Ismnemonic csl
test_Ismnemonic dea
test_Ismnemonic dec
test_Ismnemonic dex
test_Ismnemonic dey
test_Ismnemonic eor
test_Ismnemonic ina
test_Ismnemonic inc
test_Ismnemonic inx
test_Ismnemonic iny
test_Ismnemonic jmp
test_Ismnemonic jsr
test_Ismnemonic lda
test_Ismnemonic ldx
test_Ismnemonic ldy
test_Ismnemonic lsr
test_Ismnemonic nop
test_Ismnemonic ora
test_Ismnemonic pha
test_Ismnemonic php
test_Ismnemonic phx
test_Ismnemonic phy
test_Ismnemonic pla
test_Ismnemonic plp
test_Ismnemonic plx
test_Ismnemonic ply
test_Ismnemonic rmb0
test_Ismnemonic rmb1
test_Ismnemonic rmb2
test_Ismnemonic rmb3
test_Ismnemonic rmb4
test_Ismnemonic rmb5
test_Ismnemonic rmb6
test_Ismnemonic rmb7
test_Ismnemonic rol
test_Ismnemonic ror
test_Ismnemonic rti
test_Ismnemonic rts
test_Ismnemonic sax
test_Ismnemonic say
test_Ismnemonic sbc
test_Ismnemonic sec
test_Ismnemonic sed
test_Ismnemonic sei
test_Ismnemonic set
test_Ismnemonic smb0
test_Ismnemonic smb1
test_Ismnemonic smb2
test_Ismnemonic smb3
test_Ismnemonic smb4
test_Ismnemonic smb5
test_Ismnemonic smb6
test_Ismnemonic smb7
test_Ismnemonic st0
test_Ismnemonic st1
test_Ismnemonic st2
test_Ismnemonic sta
test_Ismnemonic stx
test_Ismnemonic sty
test_Ismnemonic stz
test_Ismnemonic sxy
test_Ismnemonic tai
test_Ismnemonic tam
test_Ismnemonic tam0
test_Ismnemonic tam1
test_Ismnemonic tam2
test_Ismnemonic tam3
test_Ismnemonic tam4
test_Ismnemonic tam5
test_Ismnemonic tam6
test_Ismnemonic tam7
test_Ismnemonic tax
test_Ismnemonic tay
test_Ismnemonic tdd
test_Ismnemonic tia
test_Ismnemonic tii
test_Ismnemonic tin
test_Ismnemonic tma
test_Ismnemonic tma0
test_Ismnemonic tma1
test_Ismnemonic tma2
test_Ismnemonic tma3
test_Ismnemonic tma4
test_Ismnemonic tma5
test_Ismnemonic tma6
test_Ismnemonic tma7
test_Ismnemonic trb
test_Ismnemonic tsb
test_Ismnemonic tst
test_Ismnemonic tsx
test_Ismnemonic txa
test_Ismnemonic txs
test_Ismnemonic tya
.setcpu "65816"
test_Ismnemonic adc
test_Ismnemonic and
test_Ismnemonic asl
test_Ismnemonic bcc
test_Ismnemonic bcs
test_Ismnemonic beq
test_Ismnemonic bit
test_Ismnemonic bmi
test_Ismnemonic bne
test_Ismnemonic bpl
test_Ismnemonic bra
test_Ismnemonic brk
test_Ismnemonic brl
test_Ismnemonic bvc
test_Ismnemonic bvs
test_Ismnemonic clc
test_Ismnemonic cld
test_Ismnemonic cli
test_Ismnemonic clv
test_Ismnemonic cmp
test_Ismnemonic cop
test_Ismnemonic cpa
test_Ismnemonic cpx
test_Ismnemonic cpy
test_Ismnemonic dea
test_Ismnemonic dec
test_Ismnemonic dex
test_Ismnemonic dey
test_Ismnemonic eor
test_Ismnemonic ina
test_Ismnemonic inc
test_Ismnemonic inx
test_Ismnemonic iny
test_Ismnemonic jml
test_Ismnemonic jmp
test_Ismnemonic jsl
test_Ismnemonic jsr
test_Ismnemonic lda
test_Ismnemonic ldx
test_Ismnemonic ldy
test_Ismnemonic lsr
test_Ismnemonic mvn
test_Ismnemonic mvp
test_Ismnemonic nop
test_Ismnemonic ora
test_Ismnemonic pea
test_Ismnemonic pei
test_Ismnemonic per
test_Ismnemonic pha
test_Ismnemonic phb
test_Ismnemonic phd
test_Ismnemonic phk
test_Ismnemonic php
test_Ismnemonic phx
test_Ismnemonic phy
test_Ismnemonic pla
test_Ismnemonic plb
test_Ismnemonic pld
test_Ismnemonic plp
test_Ismnemonic plx
test_Ismnemonic ply
test_Ismnemonic rep
test_Ismnemonic rol
test_Ismnemonic ror
test_Ismnemonic rti
test_Ismnemonic rtl
test_Ismnemonic rts
test_Ismnemonic sbc
test_Ismnemonic sec
test_Ismnemonic sed
test_Ismnemonic sei
test_Ismnemonic sep
test_Ismnemonic sta
test_Ismnemonic stp
test_Ismnemonic stx
test_Ismnemonic sty
test_Ismnemonic stz
test_Ismnemonic swa
test_Ismnemonic tad
test_Ismnemonic tas
test_Ismnemonic tax
test_Ismnemonic tay
test_Ismnemonic tcd
test_Ismnemonic tcs
test_Ismnemonic tda
test_Ismnemonic tdc
test_Ismnemonic trb
test_Ismnemonic tsa
test_Ismnemonic tsb
test_Ismnemonic tsc
test_Ismnemonic tsx
test_Ismnemonic txa
test_Ismnemonic txs
test_Ismnemonic txy
test_Ismnemonic tya
test_Ismnemonic tyx
test_Ismnemonic wai
test_Ismnemonic wdm
test_Ismnemonic xba
test_Ismnemonic xce
.setcpu "sweet16"
test_Ismnemonic add
test_Ismnemonic bc
test_Ismnemonic bk
test_Ismnemonic bm
test_Ismnemonic bm1
test_Ismnemonic bnc
test_Ismnemonic bnm1
test_Ismnemonic bnz
test_Ismnemonic bp
test_Ismnemonic br
test_Ismnemonic bs
test_Ismnemonic bz
test_Ismnemonic cpr
test_Ismnemonic dcr
test_Ismnemonic inr
test_Ismnemonic ld
test_Ismnemonic ldd
test_Ismnemonic pop
test_Ismnemonic popd
test_Ismnemonic rs
test_Ismnemonic rtn
test_Ismnemonic set
test_Ismnemonic st
test_Ismnemonic std
test_Ismnemonic stp
test_Ismnemonic sub
.setcpu "6502"
.import _exit
.export _main
_main:
.if ismnemonic_error
ldx #$01
.else
ldx #$00
.endif
txa
jmp _exit