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