B-190
DSP96002 USER’S MANUAL
MOTOROLA
dec d1 ;and adjust exponent
_startdiv
move d1.l,x:(r0) ;save new exponent
;
; unsigned fractional divide: d7:d6 / d5:d4 = d3:d2
;
do #64,_divloop
cmp d5,d7 ;compare ms word
jhi _big ;dividend > divisor
jlo _small ;dividend < divisor
cmp d4,d6 ;compare ls word
jhs _big ;dividend >= divisor
_small andi #$fe,ccr ;set 0 q bit
jmp _q
_big sub d4,d6 ;adjust remainder
subc d5,d7
ori #$01,ccr ;set 1 q bit
_q rol d2 ;move in q bit
rol d3
lsl d6 ;adjust remainder
rol d7
_divloop move d3.l,x:(r0+ms) ;save ms
move d2.l,x:(r0+ls) ;save ls
move x:(r0+sign),d0.l ;get sign
move x:(r1+sign),d1.l ;get sign
eor d1,d0 ;new sign
move d0.l,x:(r0+sign) ;save sign
jmp echeck ;check for errors
;
; MOTOROLA DSP96002 DPLIB - VERSION 1.0
;
; DP_INT - Truncate a double precision number to an integer.
;
; Entry point: dp_int: c(r0)
←
truncate to integer
←
c(r0)
;
; Inputs: r0 contains the lowest address of a 4-word internal
; extended precision number
;
; Outputs: r0 contains the lowest address of a 4-word internal
; extended precision number
;
; Alters: D2.L,D3.L,D4.L,D7.L,D0.H
;
dp_int move x:(r0),d4.l ;get exponent
move #bias,d7.l ;get bias
sub d7,d4 #64,d2.l ;calculate how far to shift
jmi dp_clr ;if a fraction, zero the number
cmp d2,d4 #32,d2.l ;is A > 2**63
jpl aequala ;yes, out of range
cmp d2,d4 #$80000000,d3.l ;is A > 2**31
jpl rndls ;yes, last valid digit is in ls
clr d1.l d4.l,d0.h ;no, put # shifts in .h register
asr d0,d3 x:(r0+ms),d0.l ;zero ls, create trunc. mask
Содержание DSP96002
Страница 3: ...1 2 DSP96002 USER S MANUAL MOTOROLA ...
Страница 38: ...MOTOROLA DSP96002 USER S MANUAL 3 15 Figure 3 4 Modulo Arithmetic Unit Block Diagram ...
Страница 39: ...3 16 DSP96002 USER S MANUAL MOTOROLA ...
Страница 53: ...4 14 DSP96002 USER S MANUAL MOTOROLA ...
Страница 76: ...MOTOROLA DSP96002 USER S MANUAL 5 23 Figure 5 8 Address Modifier Summary ...
Страница 86: ...6 10 DSP96002 USER S MANUAL MOTOROLA ...
Страница 101: ...MOTOROLA DSP96002 USER S MANUAL 7 15 Figure 7 9 HI Block Diagram One Port ...
Страница 140: ...7 54 DSP96002 USER S MANUAL MOTOROLA ...
Страница 166: ...9 10 DSP96002 USER S MANUAL MOTOROLA ...
Страница 181: ...MOTOROLA DSP96002 USER S MANUAL 10 15 Figure 10 8 Program Address Bus FIFO ...
Страница 336: ...A 148 DSP96002 USER S MANUAL MOTOROLA FMPY S2 S1 D1 FSUB S S3 D2 move syntax see the MOVE instruction de scription ...
Страница 337: ...MOTOROLA DSP96002 USER S MANUAL A 149 ...
Страница 404: ...A 216 DSP96002 USER S MANUAL MOTOROLA PC xxxx D ...
Страница 460: ...A 272 DSP96002 USER S MANUAL MOTOROLA SIOP Not affected ...
Страница 484: ...A 296 DSP96002 USER S MANUAL MOTOROLA SSH PC SSL SR SP 1 SP ...
Страница 519: ...MOTOROLA DSP96002 USER S MANUAL A 331 ...
Страница 580: ...MOTOROLA DSP96002 USER S MANUAL B 61 X Memory Y Memory n0 3 r0 x0 Xmin r4 y0 Xmax z0 Ymin x1 Ymax y1 Zmin z1 Zmax ...
Страница 718: ...MOTOROLA DSP96002 USER S MANUAL B 199 ...
Страница 871: ... MOTOROLA INC 1994 MOTOROLA TECHNICAL DATA SEMICONDUCTOR M Addendum ...
Страница 888: ...MOTOROLA INDEX 1 INDEX ...
Страница 889: ......