home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Distributions / ucb / spencer_2bsd.tar.gz / 2bsd.tar / src / px / 10mul.s < prev    next >
Text File  |  1980-02-17  |  845b  |  80 lines

  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
  30. 1:
  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
  48. 1:
  49.     mulf    (sp)+,fr0
  50.     cfcc
  51.     bvs    9f
  52.     movf    fr0,-(sp)
  53.     return
  54. _MUL28:
  55.     tst    (sp)
  56.     sxt    -(sp)
  57. _MUL48:
  58.     movif    (sp)+,fr0
  59.     mulf    (sp)+,fr0
  60.     cfcc
  61.     bvs    9f
  62.     movf    fr0,-(sp)
  63.     return
  64. _MUL82:
  65.     movf    (sp)+,fr0
  66.     tst    (sp)
  67.     sxt    -(sp)
  68.     br    1f
  69. _MUL84:
  70.     movf    (sp)+,fr0
  71. 1:
  72.     movif    (sp)+,fr2
  73.     mulf    fr0,fr2
  74.     cfcc
  75.     bvs    9f
  76.     movf    fr2,-(sp)
  77.     return
  78. 9:
  79.     jmp    fpovflo
  80.