1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-29 03:56:15 +00:00
kickc/src/test/ref/summin.asm

50 lines
676 B
NASM
Raw Normal View History

2017-11-04 18:53:55 +00:00
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
.label screen = $400
2017-11-04 18:53:55 +00:00
main: {
.label s1 = 2
.label s3 = 3
2020-02-23 08:44:36 +00:00
// sum(1,2)
2017-11-04 18:53:55 +00:00
lda #2
2018-05-31 22:45:18 +00:00
ldy #1
2017-11-04 18:53:55 +00:00
jsr sum
2020-02-23 08:44:36 +00:00
// sum(1,2)
// s1=sum(1,2)
sta.z s1
2020-02-23 08:44:36 +00:00
// sum(3,4)
2017-11-04 18:53:55 +00:00
lda #4
2018-05-31 22:45:18 +00:00
ldy #3
2017-11-04 18:53:55 +00:00
jsr sum
2020-02-23 08:44:36 +00:00
// sum(3,4)
// s2=sum(3,4)
2018-05-31 22:45:18 +00:00
tax
2020-02-23 08:44:36 +00:00
// sum(9,13)
2017-11-04 18:53:55 +00:00
lda #$d
2018-05-31 22:45:18 +00:00
ldy #9
2017-11-04 18:53:55 +00:00
jsr sum
2020-02-23 08:44:36 +00:00
// sum(9,13)
// s3=sum(9,13)
sta.z s3
2020-02-23 08:44:36 +00:00
// s1+s2
2018-05-31 22:45:18 +00:00
txa
2017-11-04 18:53:55 +00:00
clc
adc.z s1
2020-02-23 08:44:36 +00:00
// s4=s1+s2+s3
2017-11-04 18:53:55 +00:00
clc
adc.z s3
2020-02-23 08:44:36 +00:00
// *screen = s4
sta screen
2020-02-23 08:44:36 +00:00
// }
2017-11-04 18:53:55 +00:00
rts
}
// sum(byte register(Y) a, byte register(A) b)
2017-08-12 16:30:21 +00:00
sum: {
2020-02-23 08:44:36 +00:00
// a+b
sty.z $ff
2017-08-12 16:30:21 +00:00
clc
adc.z $ff
2020-02-23 08:44:36 +00:00
// }
2017-08-12 16:30:21 +00:00
rts
}