User Tools

Site Tools


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

Common COMPANS

1 Modification

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.compans +++|          CTEXT  COMPANS - ASSEMBLE NUMERIC STRING.
00002  M01S00002.compans +++| ANS      SPACE  4
00003  M01S00003.compans +++|          IF     -DEF,QUAL$,1
00004  M01S00004.compans +++|          QUAL   COMPANS
Line S00005 Modification History
M01 (Added by) compans
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00005  M02S00005.281l803 ---|          COMMENT COPYRIGHT CONTROL DATA CORP.  1976.
00006  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00007  M01S00006.compans +++| ANS      SPACE  4
00008  M01S00007.compans +++|***       ANS - ASSEMBLE NUMERIC STRING.
00009  M01S00008.compans +++|*         J. J. EIKUM.       76/04/04.
00010  M01S00009.compans +++| ANS      SPACE  4,15
00011  M01S00010.compans +++|***              ANS CONVERTS A NUMBER TO DISPLAY CODE, SUPPRESSES
00012  M01S00011.compans +++|*         LEADING ZEROS, AND APPENDS THE DIPLAY CODE TO THE END
00013  M01S00012.compans +++|*         OF A STRING.  ITS PURPOSE IS TO ADD A NUMBER TO A
00014  M01S00013.compans +++|*         MESSAGE CONTAINING VARIABLE LENGTH PARAMETERS.
00015  M01S00014.compans +++|*
00016  M01S00015.compans +++|*         ENTRY  (A) = NUMBER.
00017  M01S00016.compans +++|*                (T1) = ADDRESS FOR ASSEMBLY.
00018  M01S00017.compans +++|*                ((T1)) = END OF STRING IN *C* FORMAT.
00019  M01S00018.compans +++|*
00020  M01S00019.compans +++|*         EXIT   (T1) ADVANCED.
00021  M01S00020.compans +++|*                ((T1)) = END OF STRING IN *C* FORMAT.
00022  M01S00021.compans +++|*
00023  M01S00022.compans +++|*         USES   T0, CM - CM+1.
00024  M01S00023.compans +++|
00025  M01S00024.compans +++|
00026  M01S00025.compans +++| ANS      SUBR
00027  M01S00026.compans +++|          STD    CM+1        SAVE NUMBER
00028  M01S00027.compans +++|          SHN    -14
00029  M01S00028.compans +++|          STD    CM
00030  M01S00029.compans +++|          ZJN    ANS2        IF DIGITS 4 AND 5 ARE ZERO
00031  M01S00030.compans +++|          SHN    -3
00032  M01S00031.compans +++|          ZJN    ANS1        IF DIGIT 5 IS ZERO
00033  M01S00032.compans +++|          RJM    AND         ADD DIGIT 5
00034  M01S00033.compans +++| ANS1     LDD    CM          ADD DIGIT 4
00035  M01S00034.compans +++|          RJM    AND
00036  M01S00035.compans +++|
00037  M01S00036.compans +++| ANS2     LDD    CM          CHECK DIGITS 2 AND 3
00038  M01S00037.compans +++|          SHN    14
00039  M01S00038.compans +++|          LMD    CM+1
00040  M01S00039.compans +++|          SHN    -6
00041  M01S00040.compans +++|          ZJN    ANS4        IF DIGITS 2, 3, 4, AND 5 ARE ZERO
00042  M01S00041.compans +++|          SHN    -3
00043  M01S00042.compans +++|          ZJN    ANS3        IF DIGITS 3, 4, AND 5 ARE ZERO
00044  M01S00043.compans +++|          RJM    AND         ADD DIGIT 3
00045  M01S00044.compans +++| ANS3     LDD    CM+1        ADD DIGIT 2
00046  M01S00045.compans +++|          SHN    -6
00047  M01S00046.compans +++|          RJM    AND
00048  M01S00047.compans +++|
00049  M01S00048.compans +++| ANS4     LDD    CM          CHECK DIGIT 1
00050  M01S00049.compans +++|          SHN    14
00051  M01S00050.compans +++|          LMD    CM+1
00052  M01S00051.compans +++|          SHN    -3
00053  M01S00052.compans +++|          ZJN    ANS5        IF DIGITS 1, 2, 3, 4, AND 5 ARE ZERO
00054  M01S00053.compans +++|          RJM    AND         ADD DIGIT 1
00055  M01S00054.compans +++|
00056  M01S00055.compans +++| ANS5     LDD    CM+1        ADD DIGIT 0
00057  M01S00056.compans +++|          RJM    AND
00058  M01S00057.compans +++|          LJM    ANSX
00059  M01S00058.compans +++| AND      SPACE  4,10
00060  M01S00059.compans +++|**        AND - ADD NEXT DIGIT.
00061  M01S00060.compans +++|*
00062  M01S00061.compans +++|*         ENTRY  (BITS 0 - 2 OF A) = NEXT DIGIT
00063  M01S00062.compans +++|*
00064  M01S00063.compans +++|*         EXIT   (T1) ADVANCED.
00065  M01S00064.compans +++|*
00066  M01S00065.compans +++|*         USES   T0.
00067  M01S00066.compans +++|
00068  M01S00067.compans +++|
00069  M01S00068.compans +++| AND1     STM    1,T1        CLEAR NEXT BYTE
00070  M01S00069.compans +++|          LDD    T0          STORE CHARACTER
00071  M01S00070.compans +++|          SHN    6
00072  M01S00071.compans +++|          STI    T1
00073  M01S00072.compans +++|
00074  M01S00073.compans +++| AND      SUBR
00075  M01S00074.compans +++|          LPN    7           CONVERT TO DISPLAY CODE
00076  M01S00075.compans +++|          ADN    1R0
00077  M01S00076.compans +++|          STD    T0
00078  M01S00077.compans +++|          LDI    T1
00079  M01S00078.compans +++|          ZJN    AND1        IF ASSEMBLY ON BYTE BOUNDARY
00080  M01S00079.compans +++|          LDD    T0          ADD CHARACTER
00081  M01S00080.compans +++|          RAI    T1
00082  M01S00081.compans +++|          AOD    T1          ADVANCE POINTER
00083  M01S00082.compans +++|          UJN    ANDX
00084  M01S00083.compans +++|          SPACE  4,10
00085  M01S00084.compans +++|          IF     -DEF,QUAL$
00086  M01S00085.compans +++|          QUAL   *
00087  M01S00086.compans +++| ANS      EQU    /COMPANS/ANS
00088  M01S00087.compans +++|          ENDIF
00089  M01S00088.compans +++|          ENDX
cdc/nos2.source/opl.opl871/common/compans.txt ยท Last modified: by 127.0.0.1