beautypg.com

Motorola DSP96002 User Manual

Page 697

background image

B-178

DSP96002 USER’S MANUAL

MOTOROLA

jmp _endrnd ;

_den move #EDEN,d1.l ;

move d0.m,d0.l ;

cmp d1,d0 ;

jne _endrnd ;

jclr #31,d4.l,_asml ;

inc d0 ;

move d0.l,d0.m ;

jmp _asml ;

_rnd0 ; Reaches here if value is too small

; to denormalize.

ori #$05,er ;

ori #$05,ier ;

jset #22,sr,_nxt1 ;

jclr #21,sr,_rn1 ;

jmp _ret0 ;

_pinf1 jset #31,d0.h,_ret0 ;

jmp _retsml ;

_rn1 move #-56,d1.l ;

cmp d1,d0 ;

jle _grs0 ;

move #-53,d1.l ;

_grsl cmp d1,d0 ;

jeq _rnrnd ;

lsr d4 ;

dec d0 ;

jmp _grsl ;

_grs0 move #0,d4.l ;

_rnrnd jclr #31,d4.l,_ret0 ;

jset #30,d4.l,_retsml ;

jset #0,d1.h,_retsml ;

jmp _ret0 ;

_nxt1 ;

jset #21,sr,_pinf1 ;

jclr #31,d0.h,_ret0 ;

_retsml jset #27,sr,_ret0 ;

move #0,d5.h ;

move d5.h,d5.m ;

move #$800,d5.l ;

jmp _putsgn ;

_endrnd

; ****** Overflow Check ******