2017-11-04 18:53:55 +00:00
|
|
|
.pc = $801 "Basic"
|
|
|
|
:BasicUpstart(main)
|
|
|
|
.pc = $80d "Program"
|
2018-01-31 20:27:22 +00:00
|
|
|
.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)
|
2019-08-07 19:00:19 +00:00
|
|
|
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)
|
2019-08-07 19:00:19 +00:00
|
|
|
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
|
2019-08-07 19:00:19 +00:00
|
|
|
adc.z s1
|
2020-02-23 08:44:36 +00:00
|
|
|
// s4=s1+s2+s3
|
2017-11-04 18:53:55 +00:00
|
|
|
clc
|
2019-08-07 19:00:19 +00:00
|
|
|
adc.z s3
|
2020-02-23 08:44:36 +00:00
|
|
|
// *screen = s4
|
2017-11-30 22:19:02 +00:00
|
|
|
sta screen
|
2020-02-23 08:44:36 +00:00
|
|
|
// }
|
2017-11-04 18:53:55 +00:00
|
|
|
rts
|
|
|
|
}
|
2019-02-19 19:51:48 +00:00
|
|
|
// 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
|
2019-08-07 19:00:19 +00:00
|
|
|
sty.z $ff
|
2017-08-12 16:30:21 +00:00
|
|
|
clc
|
2019-08-07 19:00:19 +00:00
|
|
|
adc.z $ff
|
2020-02-23 08:44:36 +00:00
|
|
|
// }
|
2017-08-12 16:30:21 +00:00
|
|
|
rts
|
|
|
|
}
|