1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-30 09:57:11 +00:00
kickc/src/test/ref/sequence-locality-0.asm

42 lines
797 B
NASM
Raw Normal View History

// Tests statement sequence locality of if(cond) { stmt1; } else { stmt2; }
// Commodore 64 PRG executable file
.file [name="sequence-locality-0.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(main)
.segment Code
main: {
.label screen = $400
ldy #0
ldx #0
__b1:
2020-02-23 08:44:36 +00:00
// if(i>5)
cpx #5+1
bcs __b2
2020-02-23 08:44:36 +00:00
// i-5
txa
sec
sbc #5
2020-02-23 08:44:36 +00:00
// screen[idx++] = i-5
sta screen,y
2020-02-23 08:44:36 +00:00
// screen[idx++] = i-5;
iny
__b3:
2020-02-23 08:44:36 +00:00
// for(byte i: 0..10)
inx
cpx #$b
bne __b1
2020-02-23 08:44:36 +00:00
// }
rts
__b2:
2020-02-23 08:44:36 +00:00
// screen[idx++] = i
txa
sta screen,y
2020-02-23 08:44:36 +00:00
// screen[idx++] = i;
iny
jmp __b3
}