* Copyright (c) 1985 The Regents of the University of California.
* This code is derived from software contributed to Berkeley by
* %sccs.include.redist.c%
* @(#)Kfnorm.s 7.1 (Berkeley) %G%
#include "../tahoe/SYS.h"
ENTRY(Kfnorm, R6|R5|R4|R3|R2)
movl r0,r4 # copy to temporary.
clrl r3 # r3 - pos of m.s.b
# compute the shift (r4).
jlss shiftr # if less then zero we shift right.
shlq r4,r0,r0 # else we shift left.
subl2 r4,r2 # uodate exponent.
jleq underflow # if less then 0 (biased) it is underflow.
jmp combine # go to combine exponent and fraction.
shrq r4,r0,r0 # shift right.
addl2 r4,r2 # update exponent
jgeq overflow # check for overflow.
andl2 $CLEARHID,r0 # clear the hidden bit.
shal $EXPSHIFT,r2,r2 # shift the exponent to its proper place.