diff options
Diffstat (limited to 'lisc/test/dark.ssa')
-rw-r--r-- | lisc/test/dark.ssa | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/lisc/test/dark.ssa b/lisc/test/dark.ssa deleted file mode 100644 index 5046af3..0000000 --- a/lisc/test/dark.ssa +++ /dev/null @@ -1,30 +0,0 @@ -# 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 add %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 -} - -# >>> driver -# extern void test(void); -# int a = 2; -# int main() { test(); return !(a == 5); } -# <<< |