Common COMPDV5

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.compdv5 +++|          CTEXT  COMPDV5 - DIVIDE BY FIVE.
00002  M00S00002.compdv5 +++|          BASE   M
00003  M00S00003.compdv5 +++| DV5      SPACE  4
00004  M00S00004.compdv5 +++|          IF     -DEF,QUAL$,1
00005  M00S00005.compdv5 +++|          QUAL   COMPDV5
Line S00006 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00006  M01S00006.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORP. 1976.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00007  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00008  M00S00007.compdv5 +++| DV5      SPACE  4
00009  M00S00008.compdv5 +++|***       DV5 - DIVIDE BY FIVE.
00010  M00S00009.compdv5 +++|*         P. D. HAAS.        76/09/08.
00011  M00S00010.compdv5 +++| DV5      SPACE  4
00012  M00S00011.compdv5 +++|***              DV5 DIVIDES A 12 BIT QUANTITY BY FRACTIONAL
00013  M00S00012.compdv5 +++|*         APPROXIMATION OF ONE FIFTH.  THE ALGORITHM IS ADAPTED FROM
00014  M00S00013.compdv5 +++|*         SUBROUTINE *RTB* IN *STL*.  IF RND$ IS DEFINED, ROUNDING
00015  M00S00014.compdv5 +++|*         WILL BE PERFORMED.
00016  M00S00015.compdv5 +++|*
00017  M00S00016.compdv5 +++|*         ENTRY  (A) = QUANTITY TO BE DIVIDED.
00018  M00S00017.compdv5 +++|*
00019  M00S00018.compdv5 +++|*         EXIT   (A) = QUANTITY / 5.
00020  M00S00019.compdv5 +++|*
00021  M00S00020.compdv5 +++|*         USES   T0, T2.
00022  M00S00021.compdv5 +++|
00023  M00S00022.compdv5 +++|
00024  M00S00023.compdv5 +++| DV5      SUBR               ENTRY/EXIT
00025  M00S00024.compdv5 +++|          IF     DEF,RND$,1
00026  M00S00025.compdv5 +++|          ADN    4           ROUND
00027  M00S00026.compdv5 +++|          STD    T2          SET BYTE COUNT
00028  M00S00027.compdv5 +++|          SHN    1           2*BYTES
00029  M00S00028.compdv5 +++|          ADD    T2          3*BYTES
00030  M00S00029.compdv5 +++|          SHN    2           12*BYTES
00031  M00S00030.compdv5 +++|          ADD    T2          13*BYTES
00032  M00S00031.compdv5 +++|          SHN    14   (-6)   13*BYTES/64
00033  M00S00032.compdv5 +++|          STD    T0
00034  M00S00033.compdv5 +++|          SHN    6+2         4*13*BYTES = 52*BYTES
00035  M00S00034.compdv5 +++|          SBD    T2          51*BYTES
00036  M00S00035.compdv5 +++|          ADD    T0          51*BYTES + 13*BYTES/64
00037  M00S00036.compdv5 +++|          SHN    -8D         (51*BYTES + 13*BYTES/64) / 256
00038  M00S00037.compdv5 +++|          UJN    DV5X        RETURN
00039  M00S00038.compdv5 +++| DV5      SPACE  4
00040  M00S00039.compdv5 +++|          BASE   *
00041  M00S00040.compdv5 +++|          IF     -DEF,QUAL$
00042  M00S00041.compdv5 +++|          QUAL   *
00043  M00S00042.compdv5 +++| DV5      EQU    /COMPDV5/DV5
00044  M00S00043.compdv5 +++|          ENDIF
00045  M00S00044.compdv5 +++|          ENDX