ack/mach/vax4/libem/cfu.s
1994-06-24 14:02:31 +00:00

39 lines
606 B
ArmAsm

#include "em_abs.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define .cfu
! $Id$
.cfu:
movl (sp)+,r2
movpsl r1
bicl2 $~040,r1
bicpsw $040 ! integer overflow traps must be ignored
movl (sp)+,r0
cmpl (sp),$4
bneq 1f
tstl (sp)+
tstf (sp)
bgeq 5f
mnegf (sp),(sp)
5:
cvtfl (sp)+,-(sp)
2:
cmpl r0,$4
bneq 4f
bispsw r1 ! restore trap enable bit
jmp (r2)
1:
cmpl (sp)+,$8
bneq 4f
tstd (sp)
bgeq 3f
mnegd (sp),(sp)
3:
cvtdl (sp)+,-(sp)
br 2b
4:
pushl $EILLINS
jmp .fat