From 400a8c70f9b4525615497481a405cb78fffe194f Mon Sep 17 00:00:00 2001 From: Quentin Carbonneaux Date: Tue, 23 Feb 2016 18:28:28 -0500 Subject: add fun example, does not compile yet --- lisc/test/dark.ssa | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 lisc/test/dark.ssa (limited to 'lisc/test/dark.ssa') diff --git a/lisc/test/dark.ssa b/lisc/test/dark.ssa new file mode 100644 index 0000000..0448fae --- /dev/null +++ b/lisc/test/dark.ssa @@ -0,0 +1,24 @@ +# a hack example, +# we use a dark type to get +# a pointer to the stack. + +type :magic = align 1 { 0 } + +data $ret = { l 0 } + +function $test(:magic %p) { +@start + %av =w loadw $a + %a1 =w add 1, %av + storew %a1, $a # increment $a + %r1 =l loadl $ret # fetch from $ret + %p1 =l sub %p, 8 + %r2 =l loadl %p1 # get the return address + storel %r2, $ret # store it in $ret + %c =w ceql %r1, %r2 + jnz %c, @fin, @cal +@cal + %i =w call $test() # no argument given, intentionally! +@fin + ret +} -- cgit 1.4.1