BSD 1 development
[unix-history] / px / 10mul.s
CommitLineData
4e754410
BJ
1/
2/ MULTIPLICATION & SQUARING
3/
4_SQR2:
5 mov (sp),-(sp)
6_MUL2:
7 mov (sp)+,r0
8 mul (sp)+,r0
9 mov r1,-(sp)
10 mov r0,-(sp)
11 return
12_MUL42:
13 mov 2(sp),r2
14 sxt r1
15 sub (sp),r1
16 tst 4(sp)
17 sxt 2(sp)
18 br 1f
19_MUL24:
20 tst (sp)
21 sxt -(sp)
22 br _MUL4
23_SQR4:
24 mov 2(sp),-(sp)
25 mov 2(sp),-(sp)
26_MUL4:
27 mov 2(sp),r2
28 sxt r1
29 sub (sp)+,r1
301:
31 mov 4(sp),r0
32 sxt r3
33 sub 2(sp),r3
34 mul r0,r1
35 mul r2,r3
36 add r1,r3
37 mul r2,r0
38 sub r3,r0
39 add $6.,sp
40 mov r1,-(sp)
41 mov r0,-(sp)
42 return
43_SQR8:
44 movf (sp),fr0
45 br 1f
46_MUL8:
47 movf (sp)+,fr0
481:
49 mulf (sp)+,fr0
50 movf fr0,-(sp)
51 return
52_MUL28:
53 tst (sp)
54 sxt -(sp)
55_MUL48:
56 movif (sp)+,fr0
57 mulf (sp)+,fr0
58 movf fr0,-(sp)
59 return
60_MUL82:
61 movf (sp)+,fr0
62 tst (sp)
63 sxt -(sp)
64 br 1f
65_MUL84:
66 movf (sp)+,fr0
671:
68 movif (sp)+,fr2
69 mulf fr0,fr2
70 movf fr2,-(sp)
71 return