Reviewed-on: #2 Co-authored-by: Byron Lathi <byron@byronlathi.com> Co-committed-by: Byron Lathi <byron@byronlathi.com>
121 lines
1.6 KiB
ArmAsm
121 lines
1.6 KiB
ArmAsm
.export vec_reset, vec_irq, vec_nmi
|
|
|
|
.ZEROPAGE
|
|
|
|
result: .res 1
|
|
|
|
zp0: .res 1
|
|
zp1: .res 4
|
|
zp2: .res 8
|
|
zp3: .res 4
|
|
|
|
good_count: .res 1
|
|
|
|
.CODE
|
|
|
|
data1: .byte 1
|
|
data2: .byte 2
|
|
data3: .byte 3
|
|
data4: .byte 4
|
|
data5: .byte 5
|
|
data6: .res 4
|
|
.byte 6
|
|
data7: .res 2
|
|
.byte 7
|
|
|
|
vec_nmi:
|
|
vec_reset:
|
|
vec_irq:
|
|
|
|
|
|
prepare_test:
|
|
lda data1
|
|
sta zp0
|
|
|
|
lda #.LOBYTE(data2)
|
|
sta zp1
|
|
lda #.HIBYTE(data2)
|
|
sta zp1+1
|
|
lda #.BANKBYTE(data2)
|
|
sta zp1+2
|
|
lda #.TOPBYTE(data2)
|
|
sta zp1+3
|
|
|
|
lda #.LOBYTE(data4)
|
|
sta zp2+4
|
|
lda #.HIBYTE(data4)
|
|
sta zp2+5
|
|
lda #.BANKBYTE(data4)
|
|
sta zp2+6
|
|
lda #.TOPBYTE(data4)
|
|
sta zp2+7
|
|
|
|
lda #.LOBYTE(data5-2)
|
|
sta zp3
|
|
lda #.HIBYTE(data5-2)
|
|
sta zp3+1
|
|
lda #.BANKBYTE(data5-2)
|
|
sta zp3+2
|
|
lda #.TOPBYTE(data5-2)
|
|
sta zp3+3
|
|
|
|
stz good_count
|
|
|
|
lda_test:
|
|
@test1:
|
|
lda zp0 ; data 1
|
|
cmp #$1
|
|
bne @test2
|
|
inc good_count
|
|
|
|
@test2:
|
|
lda (zp1) ; data 2
|
|
cmp #$2
|
|
bne @test3
|
|
inc good_count
|
|
|
|
@test3:
|
|
lda data3 ; data 3
|
|
cmp #$3
|
|
bne @test4
|
|
inc good_count
|
|
|
|
@test4:
|
|
ldx #$4
|
|
ldy #$2
|
|
lda (zp2,x) ; data 4
|
|
cmp #$4
|
|
bne @test5
|
|
inc good_count
|
|
|
|
@test5:
|
|
lda (zp3),y ; data 5
|
|
cmp #$5
|
|
bne @test6
|
|
inc good_count
|
|
|
|
@test6:
|
|
lda data6,x ; data 6
|
|
cmp #$6
|
|
bne @test7
|
|
inc good_count
|
|
|
|
@test7:
|
|
lda data7,y ; data 7
|
|
cmp #$7
|
|
bne @done
|
|
inc good_count
|
|
|
|
@done:
|
|
lda good_count
|
|
cmp #$7
|
|
bne @fail
|
|
|
|
lda #$1
|
|
sta result
|
|
wai
|
|
|
|
@fail:
|
|
lda #$ff
|
|
sta result
|
|
wai |