221 lines
4.1 KiB
ArmAsm
221 lines
4.1 KiB
ArmAsm
; test file for flash's lovely assembler
|
|
; this is nonsense code
|
|
|
|
.org $0300
|
|
|
|
; ADCs
|
|
adc ADC #40 ; 69 28
|
|
ADC $0245 ; 6D 45 02
|
|
ADC $35 ; 65 35
|
|
ADC $0965,X ; 7D 05 91
|
|
ADC $0965,Y ; 79 05 91
|
|
ADC $45,X ; 75 45
|
|
ADC ($45,X) ; 61 45
|
|
ADC ($45),Y ; 71 45
|
|
|
|
; ANDs
|
|
and AND #92 ; 29 92
|
|
AND $1234 ; 2D 34 12
|
|
AND $36 ; 25 36
|
|
AND $2345,X ; 3D 45 23
|
|
AND $3456,Y ; 39 56 34
|
|
AND $45,X ; 35 45
|
|
AND ($56,X) ; 21 56
|
|
AND ($67),Y ; 31 67
|
|
|
|
; ASLs
|
|
asl ASL A ; 0A
|
|
ASL $9876 ; 0E 76 98
|
|
ASL $54 ; 06 54
|
|
ASL $2938,X ; 1E 38 29
|
|
ASL $55,X ; 16 55
|
|
|
|
; Branches
|
|
bcc BCC asl ; 90 xx
|
|
bcs BCS asl ; B0 xx
|
|
beq BEQ asl ; F0 xx
|
|
bmi BMI asl ; 30 xx
|
|
bne BNE asl ; D0 xx
|
|
bpl BPL asl ; 10 xx
|
|
bvc BVC asl ; 50 xx
|
|
bvs BVS asl ; 70 xx
|
|
|
|
; Test Memory Bits
|
|
bit BIT $6502 ; 2C 02 65
|
|
BIT $67 ; 24 67
|
|
|
|
; Software Break
|
|
brk BRK ; 00 00
|
|
BRK #$40 ; 00 40
|
|
|
|
; Clear flags
|
|
clc CLC ; 18
|
|
cld CLD ; D8
|
|
cli CLI ; 58
|
|
clv CLV ; B8
|
|
|
|
; Compare
|
|
cmp CMP #67 ; C9 43
|
|
CMP $5432 ; CD 32 54
|
|
CMP $98 ; C5 98
|
|
CMP $4466,X ; DD 66 44
|
|
CMP $5577,Y ; D9 77 55
|
|
CMP $33,X ; D5 33
|
|
CMP ($22,X) ; C1 22
|
|
CMP ($11),Y ; D1 11
|
|
|
|
; Compare with X
|
|
cpx CPX #$12 ; E0 12
|
|
CPX $8086 ; EC 86 80
|
|
CPX $44 ; E4 44
|
|
|
|
; Compare with Y
|
|
cpy CPY #$95 ; C0 95
|
|
CPY $4334 ; CC 34 43
|
|
CPY $C4 ; C4 C4
|
|
|
|
; Decrement
|
|
dec DEC $0987 ; CE 87 09
|
|
DEC $08 ; C6 08
|
|
DEC $0765,X ; DE 65 07
|
|
DEC 128,X ; D6 80
|
|
|
|
; Decrement X
|
|
dex DEX ; CA
|
|
|
|
; Decrement Y
|
|
dey DEY ; 88
|
|
|
|
; XOR
|
|
eor EOR #$65 ; 49 65
|
|
EOR $2330 ; 4D 30 23
|
|
EOR $43 ; 45 43
|
|
EOR $5544,X ; 5D 44 55
|
|
EOR $4433,Y ; 59 33 44
|
|
EOR $66,X ; 55 66
|
|
EOR ($44,X) ; 41 44
|
|
EOR ($45),Y ; 51 45
|
|
|
|
; Increment
|
|
inc INC 31234 ; EE 02 7A
|
|
INC 60 ; E6 3C
|
|
INC $5040,X ; FE 40 50
|
|
INC $60,X ; F6 60
|
|
|
|
; Increment X
|
|
inx INX ; E8
|
|
|
|
; Increment Y
|
|
iny INY ; C8
|
|
|
|
; Jump!
|
|
jmp JMP 65535 ; 4C FF FF
|
|
JMP (43605) ; 6C 55 AA
|
|
|
|
; Jump! to subroutine
|
|
jsr JSR $0200 ; 20 00 02
|
|
|
|
; Load A
|
|
lda LDA #$55 ; A9 55
|
|
LDA $6789 ; AD 89 67
|
|
LDA $34 ; A5 34
|
|
LDA $5634,X ; BD 34 56
|
|
LDA $2345,Y ; B9 45 23
|
|
LDA $54,X ; B5 54
|
|
LDA ($12,X) ; A1 12
|
|
LDA ($31),Y ; B1 31
|
|
|
|
; Load X
|
|
ldx LDX #255 ; A2 FF
|
|
LDX $6699 ; AE 99 66
|
|
LDX $96 ; A6 96
|
|
LDX $9669,Y ; BE 69 96
|
|
LDX $69,Y ; B9 69
|
|
|
|
; Load Y
|
|
ldy LDY #0 ; A0 00
|
|
LDY $1122 ; AC 22 11
|
|
LDY $33 ; A4 33
|
|
LDY $4455,x ; BC 55 44
|
|
LDY $66,x ; B4 66
|
|
|
|
; Logical shift right
|
|
lsr LSR A ; 4A
|
|
LSR 10009 ; 4E 19 27
|
|
LSR 176 ; 46 B0
|
|
LSR 20010,x ; 5E 2A 4E
|
|
LSR 200,x ; 56 C8
|
|
|
|
; No-op
|
|
nop NOP ; EA
|
|
|
|
; OR
|
|
ora ORA #$55 ; 09 55
|
|
ORA $6770 ; 0D 70 67
|
|
ORA $23 ; 05 23
|
|
ORA $2552,X ; 1D 52 25
|
|
OrA $5225,Y ; 19 25 52
|
|
ORA $12,X ; 15 12
|
|
ORA ($23,X) ; 01 23
|
|
ORA ($34),Y ; 11 34
|
|
|
|
; Push onto stack
|
|
pha PHA ; 48
|
|
php PHP ; 08
|
|
|
|
; Pull from stack
|
|
pla PLA ; 68
|
|
plp PLP ; 28
|
|
|
|
; Rotate left
|
|
rol ROL A ; 2A
|
|
ROL $1234 ; 2E 34 12
|
|
ROL $56 ; 26 56
|
|
rol $7890,X ; 3E 90 78
|
|
rol $12,x ; 36 12
|
|
|
|
; Rotate right
|
|
ror ROR A ; 6A
|
|
ROR $5434 ; 6E 34 54
|
|
ROR $45 ; 66 45
|
|
ROR $6545,X ; 7E 45 65
|
|
ROR $12,X ; 76 12
|
|
|
|
; Return from interrupt
|
|
rti RTI ; 40
|
|
|
|
; Return form subroutine
|
|
rts RTS ; 60
|
|
|
|
; Set flags
|
|
sec SEC ; 38
|
|
sed SED ; F8
|
|
sei SEI ; 78
|
|
|
|
; Store A
|
|
sta STA $4554 ; 8D 54 45
|
|
STA $65 ; 85 65
|
|
STA $3443,X ; 9D 43 34
|
|
STA $1221,Y ; 99 21 12
|
|
STA $65,X ; 95 65
|
|
STA ($34,X) ; 81 34
|
|
STA ($45),Y ; 91 45
|
|
|
|
; Store X
|
|
stx STX $1234 ; 8E 34 12
|
|
STX $21 ; 86 21
|
|
STX $98,Y ; 96 98
|
|
|
|
; Store Y
|
|
sty STY $4321 ; 8C 21 43
|
|
STY $65 ; 84 65
|
|
STY $87,X ; 94 87
|
|
|
|
; Transfers
|
|
tax TAX ; AA
|
|
tay TAY ; A8
|
|
tsx TSX ; BA
|
|
txa TXA ; 8A
|
|
txs TXS ; 9A
|
|
; 98
|
|
tya TYA
|