ack/mach/vax4/libbsd4_1a/head_em.s

82 lines
973 B
ArmAsm
Raw Normal View History

1986-12-12 12:49:50 +00:00
#include "em_abs.h"
1990-01-11 16:00:19 +00:00
.sect .text; .sect .rom; .sect .data; .sect .bss
.sect .text
1986-12-12 12:49:50 +00:00
1990-01-11 16:00:19 +00:00
! $Header$
1986-12-12 12:49:50 +00:00
1990-01-11 16:00:19 +00:00
.define hol0
.define .reghp
.define .trppc
.define .trpim
1986-12-12 12:49:50 +00:00
1990-01-11 16:00:19 +00:00
! run time startoff
.data2 0
bispsw $0100 ! set FU(0100)
1986-12-12 12:49:50 +00:00
movl 4(sp),r0
clrl -4(r0)
movl sp,r0
movl (r0)+,r1
movl r0,r2
1990-01-11 16:00:19 +00:00
1:
1986-12-12 12:49:50 +00:00
tstl (r0)+
1990-01-11 16:00:19 +00:00
bneq 1b
1986-12-12 12:49:50 +00:00
cmpl r0,(r2)
1990-01-11 16:00:19 +00:00
blssu 2f
1986-12-12 12:49:50 +00:00
tstl -(r0)
1990-01-11 16:00:19 +00:00
2:
1986-12-12 12:49:50 +00:00
pushl r0
pushl r2
pushl r1
1990-01-11 16:00:19 +00:00
movl $Im1,ap
chmk (ap)+ ! catch floating point exception
1986-12-12 12:49:50 +00:00
calls $3,_m_a_i_n
1990-01-11 16:00:19 +00:00
movl $Im2,ap
1986-12-12 12:49:50 +00:00
movl r0,6(ap)
chmk (ap)+
halt
.align 1
1990-01-11 16:00:19 +00:00
Isig8:
.data2 0x0000
1986-12-12 12:49:50 +00:00
pushl 8(ap)
movl (sp)+,ap
1990-01-11 16:00:19 +00:00
pushl Itab [ap]
1986-12-12 12:49:50 +00:00
jsb .trp
1990-01-11 16:00:19 +00:00
movl $Im1,ap
1986-12-12 12:49:50 +00:00
chmk (ap)+
ret
1990-01-11 16:00:19 +00:00
.sect .rom
Im1:
.data2 48
.data4 2
.data4 8
.data4 Isig8
Itab:
.data4 0
.data4 EIOVFL
.data4 EIDIVZ
.data4 EFOVFL
.data4 EFDIVZ
.data4 EFUNFL
.data4 EILLINS
.data4 EARRAY
.data4 EFOVFL
.data4 EFDIVZ
.data4 EFUNFL
.sect .data
Im2:
.data2 1
.data4 1
.data4 0
1986-12-12 12:49:50 +00:00
.reghp:
1990-01-11 16:00:19 +00:00
.data4 _end
1986-12-12 12:49:50 +00:00
hol0:
.space 8
.trppc:
.space 4
.trpim:
1990-01-11 16:00:19 +00:00
.data4 0