--- /dev/null
+ # $Header$
+#include "system.h"
+#include "em_abs.h"
+#ifdef BSD42
+#include "/usr/include/syscall.h"
+#endif BSD42
+
+.globl hol0
+.globl .reghp
+.globl .trppc
+.globl .trpim
+
+ # run time startoff
+ .word 0
+ bispsw $0100 # set FU(0100)
+ movl 4(sp),r0
+ clrl -4(r0)
+ movl sp,r0
+ movl (r0)+,r1
+ movl r0,r2
+a1:
+ tstl (r0)+
+ bneq a1
+ cmpl r0,(r2)
+ blssu a2
+ tstl -(r0)
+a2:
+ pushl r0
+ pushl r2
+ pushl r1
+ movl $m1,ap
+ chmk (ap)+ # catch floating point exception
+ calls $3,_m_a_i_n
+ movl $m2,ap
+ movl r0,6(ap)
+ chmk (ap)+
+ halt
+
+ .align 1
+sig8:
+ .word 0x0000
+ pushl 8(ap)
+ movl (sp)+,ap
+ pushl tab [ap]
+ jsb .trp
+ movl $m1,ap
+ chmk (ap)+
+ ret
+
+ .data
+#ifdef BSD42
+m1:
+ .word SYS_sigvec
+ .long 3
+ .long 8
+ .long m1a
+ .long 0
+m1a:
+ .long sig8
+ .long 0
+ .long 0
+#else BSD42
+m1:
+ .word 48
+ .long 2
+ .long 8
+ .long sig8
+#endif BSD42
+m2:
+ .word 1
+ .long 1
+ .long 0
+.reghp:
+ .long _end
+hol0:
+ .space 8
+.trppc:
+ .space 4
+.trpim:
+ .long 0
+tab:
+ .long 0
+ .long EIOVFL
+ .long EIDIVZ
+ .long EFOVFL
+ .long EFDIVZ
+ .long EFUNFL
+ .long EILLINS
+ .long EARRAY
+ .long EFOVFL
+ .long EFDIVZ
+ .long EFUNFL