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 / 13mod.s < prev    next >
Text File  |  1980-02-17  |  563b  |  57 lines

  1. /
  2. / MODULO
  3. /
  4. _MOD42:
  5.     movif    (sp)+,fr0
  6.     tst    (sp)
  7.     sxt    -(sp)
  8.     br    2f
  9. _MOD24:
  10.     mov    (sp)+,r2
  11.     mov    (sp)+,r0
  12.     mov    (sp)+,r1
  13.     div    r2,r0
  14.     bvs    1f
  15.     mov    r1,-(sp)
  16.     sxt    -(sp)
  17.     return
  18. 1:
  19.     sub    $6.,sp
  20.     tst    r2
  21.     sxt    -(sp)
  22. _MOD4:
  23.     movif    (sp)+,fr0
  24. 2:
  25.     cfcc
  26.     beq    9f
  27.     movif    (sp)+,fr1
  28.     divf    fr0,fr1
  29.     modf    $ONE,fr1
  30.     mulf    fr0,fr1
  31.     cfcc
  32.     bgt    1f
  33.     subf    $HALF,fr1
  34.     br    2f
  35. 1:
  36.     addf    $HALF,fr1
  37. 2:
  38.     movfi    fr1,-(sp)
  39.     return
  40. _MOD2:
  41.     mov    (sp)+,r2
  42.     beq    9f
  43.     mov    (sp)+,r1
  44.     sxt    r0
  45.     div    r2,r0
  46.     bvs    1f
  47.     mov    r1,-(sp)
  48.     sxt    -(sp)
  49.     return
  50. 1:
  51.     clr    -(sp)
  52.     sxt    -(sp)
  53.     return
  54. 9:
  55.     mov    $EMODCHK,_perrno
  56.     error    EMODCHK
  57.