Initial revision
This commit is contained in:
parent
6512a304a0
commit
e1ef16649c
1 changed files with 92 additions and 0 deletions
92
mach/vax4/libem/head_em.s
Normal file
92
mach/vax4/libem/head_em.s
Normal file
|
@ -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
|
Loading…
Add table
Reference in a new issue