1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-29 03:56:15 +00:00
kickc/src/test/ref/word-pointer-compound.asm
2020-02-23 09:44:36 +01:00

53 lines
969 B
NASM

// Test word pointer compound assignment
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
.const SIZEOF_WORD = 2
main: {
.label SCREEN = $400
ldx #0
__b1:
// words[i] += $0101
txa
asl
tay
clc
lda words,y
adc #<$101
sta words,y
lda words+1,y
adc #>$101
sta words+1,y
// for( byte i: 0..2)
inx
cpx #3
bne __b1
// >words[0]
lda words+1
// SCREEN[0] = >words[0]
sta SCREEN
// <words[0]
lda words
// SCREEN[1] = <words[0]
sta SCREEN+1
// >words[1]
lda words+1*SIZEOF_WORD+1
// SCREEN[2] = >words[1]
sta SCREEN+2
// <words[1]
lda words+1*SIZEOF_WORD
// SCREEN[3] = <words[1]
sta SCREEN+3
// >words[2]
lda words+2*SIZEOF_WORD+1
// SCREEN[4] = >words[2]
sta SCREEN+4
// <words[2]
lda words+2*SIZEOF_WORD
// SCREEN[5] = <words[2]
sta SCREEN+5
// }
rts
words: .word $3031, $3233, $3435
}