Motorola DSP96002 User Manual
Page 692
MOTOROLA
DSP96002 USER’S MANUAL
B-173
; ****** Flush DeNorms to 0 if Fast Mode ******
jclr #27,sr,_chksgn ;
move #$80000000,d1.l ;
jset #31,d6.m,_chkop2 ;
fclr d6 d6.h,d0.l ;
and d1,d0 ;
move d0.l,d6.h ;
_chkop2 jset #31,d7.m,_chksgn ;
fclr d7 d7.h,d0.l ;
and d1,d0 ;
move d0.l,d7.h ;
; ****** Sign Bit Calculation ******
_chksgn move d6.h,d0.l ;
move d7.h,d1.l ;
eor d1,d0 ;
move d0.l,d0.h ;
; ****** Check Input Operands ******
_chkops
depftst d6,d0,d1 ;
jeq _op1_0 ;
jset #4,sr,_op1inf ;
jset #5,sr,_op1nan ;
depftst d7,d0,d1 ;
jeq _op2_0 ;
jset #4,sr,_op2inf ;
jset #5,sr,_op2nan ;
; ****** Extract Exponents ******
; ------ Should be able to use FGETEXP here on double-extended ------
move d7.h,d0.l ;
move #EXP_MSK,d1.l ;
and d1,d0 ;
tst d0 ;
jne _ebias1 ;
inc d0 ;
_ebias1 move #EBIAS,d1.l ;
sub d1,d0 ;
move d0.l,d0.m ;
move d6.h,d0.l ;