mirror of
https://github.com/koute/pinky.git
synced 2025-04-02 10:31:50 -04:00
117 lines
1.3 KiB
ArmAsm
117 lines
1.3 KiB
ArmAsm
.include "instr_test.inc"
|
|
|
|
instrs:
|
|
entry $48,"PHA"
|
|
entry $08,"PHP"
|
|
|
|
entry $68,"PLA"
|
|
entry $28,"PLP"
|
|
|
|
entry $9A,"TXS"
|
|
entry $BA,"TSX"
|
|
instrs_size = * - instrs
|
|
|
|
instr_template:
|
|
pha
|
|
jmp instr_done
|
|
instr_template_size = * - instr_template
|
|
|
|
values2:
|
|
.byte 0,$FF,$01,$02,$04,$08,$10,$20,$40,$80
|
|
values2_size = * - values2
|
|
|
|
zp_byte operand
|
|
|
|
.macro set_in
|
|
sta in_p
|
|
set_paxyso
|
|
|
|
; Clear bytes on stack
|
|
stx $17F
|
|
sty $180
|
|
stx $181
|
|
|
|
sty $1FE
|
|
stx $1FF
|
|
sty $100
|
|
stx $101
|
|
sty $102
|
|
.endmacro
|
|
|
|
zp_byte save
|
|
zp_byte save2
|
|
zp_byte save3
|
|
zp_byte save4
|
|
zp_byte save5
|
|
|
|
.macro check_out
|
|
php
|
|
sta save ; A
|
|
pla
|
|
sta save2 ; P
|
|
pla
|
|
sta save3 ; PLA
|
|
stx save4 ; X
|
|
tsx
|
|
stx save5 ; S
|
|
|
|
ldx saved_s
|
|
txs
|
|
|
|
; Output
|
|
tya
|
|
jsr update_crc_fast
|
|
|
|
lda save
|
|
jsr update_crc_fast
|
|
|
|
lda save2
|
|
jsr update_crc_fast
|
|
|
|
lda save3
|
|
jsr update_crc_fast
|
|
|
|
lda save4
|
|
jsr update_crc_fast
|
|
|
|
lda save5
|
|
jsr update_crc_fast
|
|
|
|
ldx in_s
|
|
dex
|
|
lda $100,x
|
|
jsr update_crc_fast
|
|
|
|
inx
|
|
lda $100,x
|
|
jsr update_crc_fast
|
|
|
|
inx
|
|
lda $100,x
|
|
jsr update_crc_fast
|
|
.endmacro
|
|
|
|
.include "instr_test_end.s"
|
|
|
|
test_values:
|
|
; Values for SP
|
|
lda #$80
|
|
jsr :+
|
|
lda #$00
|
|
jsr :+
|
|
lda #$01
|
|
jsr :+
|
|
lda #$FF
|
|
jsr :+
|
|
lda #$FE
|
|
: sta in_s
|
|
test_normal
|
|
rts
|
|
|
|
correct_checksums:
|
|
.dword $798D2DB5
|
|
.dword $0CA6FC29
|
|
.dword $68C636F1
|
|
.dword $D35DB3D5
|
|
.dword $F1159742
|
|
.dword $A3EBB2D7
|