Initial revision
authorduk <none@none>
Thu, 17 Jan 1985 14:20:52 +0000 (14:20 +0000)
committerduk <none@none>
Thu, 17 Jan 1985 14:20:52 +0000 (14:20 +0000)
mach/vax4/libem/head_em.s [new file with mode: 0644]

diff --git a/mach/vax4/libem/head_em.s b/mach/vax4/libem/head_em.s
new file mode 100644 (file)
index 0000000..232ccbc
--- /dev/null
@@ -0,0 +1,92 @@
+       # $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