2022-08-28 16:43:15 +02:00
|
|
|
%zpreserved 10,20
|
|
|
|
%zpreserved 30,40
|
|
|
|
|
2022-07-08 21:50:32 +02:00
|
|
|
main {
|
2022-08-21 19:57:52 +02:00
|
|
|
|
2022-09-10 14:51:46 +02:00
|
|
|
uword @shared global1 = 1234
|
|
|
|
str @shared globalstring = "irmen"
|
2022-08-21 19:57:52 +02:00
|
|
|
|
2022-08-28 16:43:15 +02:00
|
|
|
%asm {{
|
|
|
|
nop
|
|
|
|
nop
|
|
|
|
return
|
|
|
|
}}
|
|
|
|
|
2022-09-17 14:07:13 +02:00
|
|
|
romsub $ee33 = myromsub(ubyte arg1 @A) clobbers() -> ubyte @Y
|
|
|
|
romsub $ee44 = myromsubmulti(ubyte arg1 @A) clobbers() -> ubyte @Y, ubyte @X, ubyte @Pc
|
|
|
|
|
2022-08-28 16:43:15 +02:00
|
|
|
asmsub testasmsub(ubyte arg1 @A) clobbers(Y) -> uword @AX {
|
|
|
|
%asm {{
|
|
|
|
nop
|
|
|
|
return
|
|
|
|
}}
|
|
|
|
}
|
|
|
|
|
2022-08-07 13:45:03 +02:00
|
|
|
sub start() {
|
2022-09-17 14:07:13 +02:00
|
|
|
void myromsubmulti(44)
|
|
|
|
global1 = myromsub(44)
|
2022-08-28 16:43:15 +02:00
|
|
|
sys.wait(1)
|
|
|
|
|
|
|
|
%asm {{
|
|
|
|
nop
|
2022-09-15 23:08:41 +02:00
|
|
|
jump _a_label
|
2022-08-28 16:43:15 +02:00
|
|
|
}}
|
2022-09-08 22:59:13 +02:00
|
|
|
a_label:
|
2022-08-12 00:46:38 +02:00
|
|
|
|
2022-09-10 14:51:46 +02:00
|
|
|
%asmbinary "LICENSE", 200, 513
|
|
|
|
|
2022-09-04 23:18:35 +02:00
|
|
|
; TODO add proper memory SLAB support to IR+VM
|
|
|
|
; uword @shared slab1 = memory("slab 1", 2000, 0)
|
|
|
|
; uword @shared slab2 = memory("slab 1", 2000, 0)
|
|
|
|
; uword @shared slab3 = memory("other # slab", 2000, 64)
|
|
|
|
|
2022-08-25 22:38:53 +02:00
|
|
|
&uword mapped = $c000
|
2022-08-28 16:43:15 +02:00
|
|
|
&ubyte[20] mappedarray = $c100
|
2022-08-23 00:05:57 +02:00
|
|
|
|
2022-09-04 23:18:35 +02:00
|
|
|
uword @shared zz
|
|
|
|
; TODO zz = slab1+slab2+slab3
|
2022-08-23 00:05:57 +02:00
|
|
|
|
2022-08-28 16:43:15 +02:00
|
|
|
uword @shared @zp qq = zz
|
|
|
|
uword @shared @zp qq2 = &zz
|
|
|
|
|
|
|
|
str @shared namestring = "irmen"
|
|
|
|
uword[] @shared wordarray1 = [1111,2222,3333,4444]
|
|
|
|
uword[4] @shared wordarray2 = 12345
|
|
|
|
uword[4] @shared wordzeroarray
|
2022-08-13 00:14:19 +02:00
|
|
|
|
2022-08-21 17:21:29 +02:00
|
|
|
qq=4242 ; TODO should generate symbol not allocated address
|
2022-09-10 17:06:51 +02:00
|
|
|
mapped = 99 ; TODO wrong VMASM code generated... should generate mapped memory address
|
|
|
|
mappedarray[1]=99
|
2022-08-21 19:57:52 +02:00
|
|
|
|
|
|
|
qq=global1
|
|
|
|
qq=other.global2
|
2022-09-11 22:34:36 +02:00
|
|
|
nested(11,22)
|
2022-08-27 13:22:38 +02:00
|
|
|
main.start.nested.nested2()
|
2022-08-25 22:38:53 +02:00
|
|
|
|
2022-09-11 22:34:36 +02:00
|
|
|
sub nested(ubyte a1, ubyte a2) {
|
2022-08-25 22:38:53 +02:00
|
|
|
qq++
|
2022-08-27 13:22:38 +02:00
|
|
|
txt.print("zzz")
|
|
|
|
nested2()
|
|
|
|
|
|
|
|
sub nested2() {
|
|
|
|
txt.print("zzz2")
|
|
|
|
qq++
|
|
|
|
}
|
2022-08-25 22:38:53 +02:00
|
|
|
}
|
2022-08-13 00:14:19 +02:00
|
|
|
}
|
2022-07-14 19:25:08 +02:00
|
|
|
}
|
2022-08-21 19:57:52 +02:00
|
|
|
|
|
|
|
other {
|
|
|
|
|
|
|
|
uword global2 = 9999
|
|
|
|
|
|
|
|
}
|