Motorola DSP96002 User Manual
Page 572
MOTOROLA
DSP96002 USER’S MANUAL
B-53
6.
Dynamic bit field insertion. Register d2.l contains FOFF, d3.l con-
tains FSIZE.
Program
ICycles
Words
move #32,d4.l ;get 32 1 1 sub
d3,d4 #-1,d5.l ;32-fsize, load 1’s mask 2 2 sub d2,d4
d4.l,d5.h ;32-(fsize+foff) 1 1 lsl d5,d5 d4.l,d5.h
;shift one’s mask up 1 1 lsr d5,d5 ;shift
one’s mask down 1 1 andc d5,d0 d2.l,d1.h ;invert mask
and clear 1 1 lsl d1,d1 ;move bits to field
1 1 or d1,d0 ;insert bit field 1 1
--- ---
Totals: 9 9
7.
Static bit field clear.
Program
ICycles
Words
move #-1,d1.l ;mask of all 1s 1 1 lsr
#32-fsize,d1 ;make 1s size of foff 1 1 lsl #foff,d1
;align field 1 1 andc d1,d0 ;invert
mask and clear 1 1
--- ---
Totals: 4 4
8. Static bit field set.
Program
ICycles
Words
move #-1,d1.l ;mask of all 1s 1 1 lsr
#32-fsize,d1 ;make 1s size of foff 1 1 lsl #foff,d1
;align field 1 1 or d1,d0 ;clear
field 1 1
--- ---
Totals: 4 4