Motorola DSP96002 User Manual
Page 699
B-180
DSP96002 USER’S MANUAL
MOTOROLA
jset #5,sr,_op1nan ;
jset #4,sr,_operr ;
jmp _ret0 ;
_retinf move #0,d5.l ;
move d5.l,d5.m ;
move #MAX,d5.h ;
ori #$10,ccr ;
jmp _putsgn ;
_op1_0 depftst d7,d0,d1 ;
jset #5,sr,_op2nan ;
jset #4,sr,_operr ;
_ret0 move #0,d5.h ;
move d5.h,d5.m ;
move d5.m,d5.l ;
bset #2,sr ;
jmp _putsgn ;
_operr bset #12,sr ;
bset #20,sr ;
bset #4,sr ;
move #$ffffffff,d5.l ;
move #$ffffffff,d5.m ;
move #$7ff,d5.h ;
jclr #31,d0.h,_done ;
bset #31,d5.h ;
jmp _done ;
; ****** Infinity Operand Detected ******
_op2inf depftst d6,d0,d1 ;
jset #5,sr,_op1nan ;
jeq _operr ;
jmp _retinf ;
_op1inf depftst d7,d0,d1 ;
jset #5,sr,_op2nan ;
jeq _operr ;
jmp _retinf ;
; ****** NaN Operand Detected ******
_op2nan jset #13,sr,_op2sn ;
ftfr.x d7,d5 ;
jmp _done ;
_op1nan jset #13,sr,_op1sn ;
bset #4,sr ;
ftfr.x d6,d5 ;