2019-02-02 23:14:56 +00:00
%zeropage basicsafe
2019-04-04 21:51:22 +00:00
%option enable_floats
%import c64flt
2019-03-29 01:13:28 +00:00
2019-03-19 00:22:26 +00:00
~ main {
2019-02-21 00:31:33 +00:00
sub start() {
2019-04-04 19:02:24 +00:00
ubyte[3] array1
ubyte[3] array2
ubyte[3] array3
str string1="hello"
str string2="bye"
uword pointer = &array1
2019-04-11 19:32:23 +00:00
uword pointer2
uword pointer3
2019-04-04 19:02:24 +00:00
byte bt
2019-04-11 19:32:23 +00:00
pointer2 = &array2
pointer3 = &string1
2019-04-04 19:02:24 +00:00
2019-04-11 22:58:40 +00:00
uword[4] pointers = [&array1, &array2, &string1, &string2]
2019-04-04 19:02:24 +00:00
2019-04-05 11:14:19 +00:00
2019-04-11 19:32:23 +00:00
ptrsubasm("moet werken")
pointersub("moet werken")
2019-04-11 18:55:20 +00:00
myprintasm(string1)
myprintasm(string2)
myprintasm("moet werken3")
myprintasm("moet werken3")
myprintasm("moet werken4")
2019-04-05 11:14:19 +00:00
2019-04-11 19:32:23 +00:00
c64scr.print("this print must work\n")
2019-04-05 11:14:19 +00:00
c64.CHROUT('\n')
2019-04-04 19:02:24 +00:00
ptrsubasm(&array1)
2019-04-04 21:51:22 +00:00
ptrsubasm(&array2)
2019-04-04 19:02:24 +00:00
ptrsubasm(&string1)
2019-04-04 21:51:22 +00:00
ptrsubasm(&string2)
2019-04-04 19:02:24 +00:00
pointersub(&array1)
2019-04-04 21:51:22 +00:00
pointersub(&array2)
2019-04-04 19:02:24 +00:00
pointersub(&string1)
2019-04-04 21:51:22 +00:00
pointersub(&string2)
2019-04-11 22:58:40 +00:00
c64scr.print_uwhex(1, pointers[0])
c64.CHROUT(',')
c64scr.print_uwhex(1, pointers[1])
c64.CHROUT(',')
c64scr.print_uwhex(1, pointers[2])
c64.CHROUT(',')
c64scr.print_uwhex(1, pointers[3])
2019-04-04 19:02:24 +00:00
}
sub pointersub(uword arg) {
2019-04-04 21:51:22 +00:00
c64scr.print_uwhex(1, arg)
c64.CHROUT('\n')
2019-04-04 19:02:24 +00:00
}
asmsub ptrsubasm(uword arg @ AY) -> clobbers() -> () {
2019-04-04 21:51:22 +00:00
%asm {{
sec
jsr c64scr.print_uwhex
lda #13
jmp c64.CHROUT
}}
2019-04-04 19:02:24 +00:00
}
asmsub myprintasm(str arg @ AY) -> clobbers() -> () {
2019-04-04 21:51:22 +00:00
%asm {{
sec
jsr c64scr.print_uwhex
lda #13
jmp c64.CHROUT
}}
2019-02-24 17:52:48 +00:00
}
2019-03-16 16:50:59 +00:00
2019-01-27 17:33:21 +00:00
}
2019-04-11 22:04:15 +00:00
~ test {
sub testsub() {
uword[4] pointers = [&main.start.array1, &main.start.array2, &main.start.string1, &main.start.string2] ; @todo make it possible to initialize array with pointers
}
}