fmpy
; Calculate reciprocal 1/W (old point)
fseedd d2,d6
fmpy.s d2,d6,d1
fmpy.s d1,d4,d1
fmpy
fmpy.s d1,d3,d1
; Multiply coordinates by 1/W, scale and add offset (old point)
fmpy.s d0,d4,d2
fmpy.s d2,d1,d2
fmpy
fmpy.s d3,d1,d3
move
move
; Calculate reciprocal 1/W (new point)
fseedd d1,d6
fmpy.s d1,d6,d1
fmpy.s d1,d4,d1
fmpy
fmpy.s d1,d3,d1
; Multiply coordinates by 1/W, scale and add offset (old point)
MOTOROLA
d5,d6,d2 fadd.s d3,d1
fadd.s d3,d2
fsub.s d1,d4 d4.s,d3.s
d6,d4,d1 fsub.s d1,d3
d7,d4,d3 fadd.s d3,d2
fadd.s d6,d3
fsub.s d1,d4 d4.s,d3.s
d6,d4,d1 fsub.s d1,d3
DSP96002 USER'S MANUAL
d4.s,y:(r1)+
d1.s,y:(r6)
d9.s,d4.s
(r4)-n4
x:(r4)+,d4.s
y:,d3.s
x:(r4)-,d4.s y:,d6.s
y:(r1)+n1,d4.s ;
d4.s,y:(r1)+n1 ;
d2.s,y:(r5)+
y:(r6)-,d1.s
d3.s,y:(r5)+
d9.s,d4.s
y:(r6)-,d5.s
y:(r6),d0.s
x:(r4)+,d4.s
y:,d3.s
;
Wo
1
1
;Wnd
1
1
;
1
1
;
1
1
;
1
1
;
r4-2 1
1
;
1
1
;Xs
Xf
1
1
;
1
1
;Ys
Yf
1
1
Zn
1
1
Zo
1
1
;
X1
1
1
;
Wnd 1
1
;
Y1
1
1
;
1
1
;
1
1
;
Ynd 1
1
;
Xnd 1
1
;
1
1
;Xs
Xf
1
1
B-99