User Tools

Site Tools


cdc:nos2.source:opl.opl871:common:compans

Common COMPANS

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.compans +++|          CTEXT  COMPANS - ASSEMBLE NUMERIC STRING.
00002  M00S00002.compans +++| ANS      SPACE  4
00003  M00S00003.compans +++|          IF     -DEF,QUAL$,1
00004  M00S00004.compans +++|          QUAL   COMPANS
Line S00005 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00005  M01S00005.281l803 ---|          COMMENT COPYRIGHT CONTROL DATA CORP.  1976.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00006  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00007  M00S00006.compans +++| ANS      SPACE  4
00008  M00S00007.compans +++|***       ANS - ASSEMBLE NUMERIC STRING.
00009  M00S00008.compans +++|*         J. J. EIKUM.       76/04/04.
00010  M00S00009.compans +++| ANS      SPACE  4,15
00011  M00S00010.compans +++|***              ANS CONVERTS A NUMBER TO DISPLAY CODE, SUPPRESSES
00012  M00S00011.compans +++|*         LEADING ZEROS, AND APPENDS THE DIPLAY CODE TO THE END
00013  M00S00012.compans +++|*         OF A STRING.  ITS PURPOSE IS TO ADD A NUMBER TO A
00014  M00S00013.compans +++|*         MESSAGE CONTAINING VARIABLE LENGTH PARAMETERS.
00015  M00S00014.compans +++|*
00016  M00S00015.compans +++|*         ENTRY  (A) = NUMBER.
00017  M00S00016.compans +++|*                (T1) = ADDRESS FOR ASSEMBLY.
00018  M00S00017.compans +++|*                ((T1)) = END OF STRING IN *C* FORMAT.
00019  M00S00018.compans +++|*
00020  M00S00019.compans +++|*         EXIT   (T1) ADVANCED.
00021  M00S00020.compans +++|*                ((T1)) = END OF STRING IN *C* FORMAT.
00022  M00S00021.compans +++|*
00023  M00S00022.compans +++|*         USES   T0, CM - CM+1.
00024  M00S00023.compans +++|
00025  M00S00024.compans +++|
00026  M00S00025.compans +++| ANS      SUBR
00027  M00S00026.compans +++|          STD    CM+1        SAVE NUMBER
00028  M00S00027.compans +++|          SHN    -14
00029  M00S00028.compans +++|          STD    CM
00030  M00S00029.compans +++|          ZJN    ANS2        IF DIGITS 4 AND 5 ARE ZERO
00031  M00S00030.compans +++|          SHN    -3
00032  M00S00031.compans +++|          ZJN    ANS1        IF DIGIT 5 IS ZERO
00033  M00S00032.compans +++|          RJM    AND         ADD DIGIT 5
00034  M00S00033.compans +++| ANS1     LDD    CM          ADD DIGIT 4
00035  M00S00034.compans +++|          RJM    AND
00036  M00S00035.compans +++|
00037  M00S00036.compans +++| ANS2     LDD    CM          CHECK DIGITS 2 AND 3
00038  M00S00037.compans +++|          SHN    14
00039  M00S00038.compans +++|          LMD    CM+1
00040  M00S00039.compans +++|          SHN    -6
00041  M00S00040.compans +++|          ZJN    ANS4        IF DIGITS 2, 3, 4, AND 5 ARE ZERO
00042  M00S00041.compans +++|          SHN    -3
00043  M00S00042.compans +++|          ZJN    ANS3        IF DIGITS 3, 4, AND 5 ARE ZERO
00044  M00S00043.compans +++|          RJM    AND         ADD DIGIT 3
00045  M00S00044.compans +++| ANS3     LDD    CM+1        ADD DIGIT 2
00046  M00S00045.compans +++|          SHN    -6
00047  M00S00046.compans +++|          RJM    AND
00048  M00S00047.compans +++|
00049  M00S00048.compans +++| ANS4     LDD    CM          CHECK DIGIT 1
00050  M00S00049.compans +++|          SHN    14
00051  M00S00050.compans +++|          LMD    CM+1
00052  M00S00051.compans +++|          SHN    -3
00053  M00S00052.compans +++|          ZJN    ANS5        IF DIGITS 1, 2, 3, 4, AND 5 ARE ZERO
00054  M00S00053.compans +++|          RJM    AND         ADD DIGIT 1
00055  M00S00054.compans +++|
00056  M00S00055.compans +++| ANS5     LDD    CM+1        ADD DIGIT 0
00057  M00S00056.compans +++|          RJM    AND
00058  M00S00057.compans +++|          LJM    ANSX
00059  M00S00058.compans +++| AND      SPACE  4,10
00060  M00S00059.compans +++|**        AND - ADD NEXT DIGIT.
00061  M00S00060.compans +++|*
00062  M00S00061.compans +++|*         ENTRY  (BITS 0 - 2 OF A) = NEXT DIGIT
00063  M00S00062.compans +++|*
00064  M00S00063.compans +++|*         EXIT   (T1) ADVANCED.
00065  M00S00064.compans +++|*
00066  M00S00065.compans +++|*         USES   T0.
00067  M00S00066.compans +++|
00068  M00S00067.compans +++|
00069  M00S00068.compans +++| AND1     STM    1,T1        CLEAR NEXT BYTE
00070  M00S00069.compans +++|          LDD    T0          STORE CHARACTER
00071  M00S00070.compans +++|          SHN    6
00072  M00S00071.compans +++|          STI    T1
00073  M00S00072.compans +++|
00074  M00S00073.compans +++| AND      SUBR
00075  M00S00074.compans +++|          LPN    7           CONVERT TO DISPLAY CODE
00076  M00S00075.compans +++|          ADN    1R0
00077  M00S00076.compans +++|          STD    T0
00078  M00S00077.compans +++|          LDI    T1
00079  M00S00078.compans +++|          ZJN    AND1        IF ASSEMBLY ON BYTE BOUNDARY
00080  M00S00079.compans +++|          LDD    T0          ADD CHARACTER
00081  M00S00080.compans +++|          RAI    T1
00082  M00S00081.compans +++|          AOD    T1          ADVANCE POINTER
00083  M00S00082.compans +++|          UJN    ANDX
00084  M00S00083.compans +++|          SPACE  4,10
00085  M00S00084.compans +++|          IF     -DEF,QUAL$
00086  M00S00085.compans +++|          QUAL   *
00087  M00S00086.compans +++| ANS      EQU    /COMPANS/ANS
00088  M00S00087.compans +++|          ENDIF
00089  M00S00088.compans +++|          ENDX
cdc/nos2.source/opl.opl871/common/compans.txt ยท Last modified: (external edit)