summaryrefslogtreecommitdiff
path: root/SCM/ugsetjump.s
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-09-29 01:06:05 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-09-29 01:06:05 +0200
commitfd7702e9b009d2984328b2519db946f82ad834e9 (patch)
treef910466e18eddd34e157c98e01dc5414e3154451 /SCM/ugsetjump.s
parentace29d495df89afd2e3251064de91b00da2612da (diff)
parent45e00ec3f4dd6289cd14021ef1ee35568b4928c6 (diff)
Merge /home/mulk/Dropbox/Projekte/Toilet Lisp
Diffstat (limited to 'SCM/ugsetjump.s')
-rw-r--r--SCM/ugsetjump.s35
1 files changed, 35 insertions, 0 deletions
diff --git a/SCM/ugsetjump.s b/SCM/ugsetjump.s
new file mode 100644
index 0000000..e9e29f4
--- /dev/null
+++ b/SCM/ugsetjump.s
@@ -0,0 +1,35 @@
+#NO_APP
+.text
+ .align 1
+.globl _setjump
+_setjump:
+ .word 0x0
+ movl 4(ap),r0
+ movq r2,(r0)+
+ movq r4,(r0)+
+ movq r6,(r0)+
+ movq r8,(r0)+
+ movq r10,(r0)+
+ movl fp,(r0)+
+ movo 4(fp),(r0)+
+ movq 20(fp),(r0)
+ clrl r0
+ ret
+ ret
+ .align 1
+.globl _longjump
+_longjump:
+ .word 0x0
+ movl 4(ap),r0
+ movq (r0)+,r2
+ movq (r0)+,r4
+ movq (r0)+,r6
+ movq (r0)+,r8
+ movq (r0)+,r10
+ movl (r0)+,r1
+ movo (r0)+,4(r1)
+ movq (r0),20(r1)
+ movl 8(ap),r0
+ movl r1,fp
+ ret
+ ret