190 lines
4.5 KiB
NASM
190 lines
4.5 KiB
NASM
; Test of instructions for the decompiler
|
|
;
|
|
; This file is intended to be assembled and then
|
|
; used as an input to a test that decompiles the
|
|
; binary back to the text version of the instructions
|
|
ADC #$ab ; ADC Immediate
|
|
ADC $ab ; ADC ZeroPage
|
|
ADC $ab,X ; ADC ZeroPageX
|
|
ADC $abcd ; ADC Absolute
|
|
ADC $abcd,X; ADC AbsoluteX
|
|
ADC $abcd,Y; ADC AbsoluteY
|
|
ADC ($ab,X); ADC IndirectX
|
|
ADC ($ab),Y; ADC IndirectY
|
|
|
|
AND #$ab ; AND Immediate
|
|
AND $ab ; AND ZeroPage
|
|
AND $ab,X ; AND ZeroPageX
|
|
AND $abcd ; AND Absolute
|
|
AND $abcd,X; AND AbsoluteX
|
|
AND $abcd,Y; AND AbsoluteY
|
|
AND ($ab,X); AND IndirectX
|
|
AND ($ab),Y; AND IndirectY
|
|
|
|
ASL ; ASL Accumulator
|
|
ASL $ab ; ASL ZeroPage
|
|
ASL $ab,X ; ASL ZeroPageX
|
|
ASL $abcd ; ASL Absolute
|
|
ASL $abcd,X; ASL AbsoluteX
|
|
|
|
BCC $71 ; BCC Immediate
|
|
BCS $71 ; BCS Immediate
|
|
BEQ $71 ; BEQ Immediate
|
|
|
|
BIT $ab ; BIT ZeroPage
|
|
BIT $abcd ; BIT Absolute
|
|
|
|
BMI $7b ; BMI Immediate
|
|
BNE $7b ; BNI Immediate
|
|
BPL $7b ; BPL Immediate
|
|
|
|
BRK ; BRK
|
|
|
|
BVC $ab ; BVC Immediate
|
|
BVS $ab ; BVS Immediate
|
|
|
|
CLC ; CLC
|
|
CLD ; CLD
|
|
CLI ; CLI
|
|
CLV ; CLV
|
|
|
|
CMP #$ab ; CMP Immediate
|
|
CMP $ab ; CMP ZeroPage
|
|
CMP $ab,X ; CMP ZeroPageX
|
|
CMP $abcd ; CMP Absolute
|
|
CMP $abcd,X; CMP AbsoluteX
|
|
CMP $abcd,Y; CMP AbsoluteY
|
|
CMP ($ab,X); CMP IndirectX
|
|
CMP ($ab),Y; CMP IndirectY
|
|
|
|
CPX #$ab ; CPX Immediate
|
|
CPX $ab ; CPX ZeroPage
|
|
CPX $abcd ; CPX Absolute
|
|
|
|
CPY #$ab ; CPY Immediate
|
|
CPY $ab ; CPY ZeroPage
|
|
CPY $abcd ; CPY Absolute
|
|
|
|
DEC $ab ; DEC ZeroPage
|
|
DEC $ab,X ; DEC ZeroPageX
|
|
DEC $abcd ; DEC Absolute
|
|
DEC $abcd,X; DEC AbsoluteX
|
|
|
|
DEX ; DEX
|
|
DEY ; DEY
|
|
|
|
EOR #$ab ; EOR Immediate
|
|
EOR $ab ; EOR ZeroPage
|
|
EOR $ab,X ; EOR ZeroPageX
|
|
EOR $abcd ; EOR Absolute
|
|
EOR $abcd,X; EOR AbsoluteX
|
|
EOR $abcd,Y; EOR AbsoluteY
|
|
EOR ($ab,X); EOR IndirectX
|
|
EOR ($ab),Y; EOR IndirectY
|
|
|
|
INC $ab ; INC ZeroPage
|
|
INC $ab,X ; INC ZeroPage,X
|
|
INC $abcd ; INC Absolute
|
|
INC $abcd,X; INC AbsoluteX
|
|
|
|
INX ; INX
|
|
INY ; INY
|
|
|
|
JMP $abcd ; JMP Absolute
|
|
JMP ($abcd); JMP Indirect
|
|
|
|
JSR $abcd ; JSR Absolute
|
|
|
|
LDA #$ab ; LDA Immediate
|
|
LDA $ab ; LDA ZeroPage
|
|
LDA $ab,X ; LDA ZeroPageX
|
|
LDA $abcd ; LDA Absolute
|
|
LDA $abcd,X; LDA AbsoluteX
|
|
LDA $abcd,Y; LDA AbsoluteY
|
|
LDA ($ab,X); LDA IndirectX
|
|
LDA ($ab),Y; LDA IndirectY
|
|
|
|
LDX #$ab ; LDX Immediate
|
|
LDX $ab ; LDX ZeroPage
|
|
LDX $ab,Y ; LDX ZeroPageY
|
|
LDX $abcd ; LDX Absolute
|
|
LDX $abcd,Y; LDX AbsoluteY
|
|
|
|
LDY #$ab ; LDY Immediate
|
|
LDY $ab ; LDY ZeroPage
|
|
LDY $ab,X ; LDY ZeroPageX
|
|
LDY $abcd ; LDY Absolute
|
|
LDY $abcd,X; LDY AbsoluteX
|
|
|
|
LSR ; LSR Accumulator
|
|
LSR $ab ; LSR ZeroPage
|
|
LSR $ab,X ; LSR ZeroPageX
|
|
LSR $abcd ; LSR Absolute
|
|
LSR $abcd,X; LSR AbsoluteX
|
|
|
|
NOP ; The great and powerful NOP
|
|
|
|
ORA #$ab ; ORA Immediate
|
|
ORA $ab ; ORA ZeroPage
|
|
ORA $ab,X ; ORA ZeroPageX
|
|
ORA $abcd ; ORA Absolute
|
|
ORA $abcd,X; ORA AbsoluteX
|
|
ORA $abcd,Y; ORA AbsoluteY
|
|
ORA ($ab,X); ORA IndirectX
|
|
ORA ($ab),Y; ORA IndirectY
|
|
|
|
PHA ; PHA
|
|
PHP ; PHP
|
|
PLA ; PLA
|
|
PLP ; PLP
|
|
|
|
ROL ; ROL Accumulator
|
|
ROL $ab ; ROL ZeroPage
|
|
ROL $ab,X ; ROL ZeroPageX
|
|
ROL $abcd ; ROL Absolute
|
|
ROL $abcd,X; ROL AbsoluteX
|
|
|
|
ROR ; ROR Accumulator
|
|
ROR $ab ; ROR ZeroPage
|
|
ROR $ab,X ; ROR ZeroPageX
|
|
ROR $abcd ; ROR Absolute
|
|
ROR $abcd,X; ROR AbsoluteX
|
|
|
|
RTI ; Interrupt Return
|
|
RTS ; Subroutine Return
|
|
|
|
SBC #$ab ; SBC Immediate
|
|
SBC $ab ; SBC ZeroPage
|
|
SBC $ab,X ; SBC ZeroPageX
|
|
SBC $abcd ; SBC Absolute
|
|
SBC $abcd,X; SBC AbsoluteX
|
|
SBC ($ab,X); SBC IndirectX
|
|
SBC ($ab),Y; SBC IndirectY
|
|
|
|
SEC ; SEC
|
|
SED ; SED
|
|
SEI ; SEI
|
|
|
|
STA $ab ; STA ZeroPage
|
|
STA $ab,X ; STA ZeroPageX
|
|
STA $abcd ; STA Absolute
|
|
STA $abcd,X; STA AbsoluteX
|
|
STA $abcd,Y; STA AbsoluteY
|
|
STA ($ab,X); STA IndirectX
|
|
STA ($ab),Y; STA IndirectY
|
|
|
|
STX $ab ; STX ZeroPage
|
|
STX $ab,Y ; STX ZeroPageY
|
|
STX $abcd ; STX Absolute
|
|
|
|
STY $ab ; STY ZeroPage
|
|
STY $ab,X ; STY ZeroPageX
|
|
STY $abcd ; STY Absolute
|
|
|
|
TAX ; TAX
|
|
TAY ; TAY
|
|
TSX ; TSX
|
|
TXA ; TXA
|
|
TXS ; TXS
|
|
TYA ; TYA
|