User Tools

Site Tools


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

Common COMCSNM

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.comcsnm +++|          CTEXT  COMCSNM - SET NAME IN MESSAGE.
00002  M00S00002.comcsnm +++|          SPACE  4,10
00003  M00S00003.comcsnm +++|          IF     -DEF,QUAL$,1
00004  M00S00004.comcsnm +++|          QUAL   COMCSNM
00005  M00S00005.comcsnm +++|          BASE   D
Line S00006 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00006  M01S00006.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORPORATION. 1977.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00007  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00008  M00S00007.comcsnm +++|          SPACE  4,10
00009  M00S00008.comcsnm +++|***       SNM - SET NAME IN MESSAGE.
00010  M00S00009.comcsnm +++|*         J. L. LARSON.      77/01/14.
00011  M00S00010.comcsnm +++| SNM      SPACE  4,10
00012  M00S00011.comcsnm +++|***              SNM REPLACES OCCURANCES OF THE SEARCH CHARACTER
00013  M00S00012.comcsnm +++|*         WITHIN A MESSAGE OR LINE WITH THE CHARACTERS OF THE GIVEN
00014  M00S00013.comcsnm +++|*         NAME OR NUMBER, ELIMINATING ALL EXCESS OCCURANCES OF THE
00015  M00S00014.comcsnm +++|*         SEARCH CHARACTER, AND GUARENTEEING END OF LINE IN THE NEW
00016  M00S00015.comcsnm +++|*         MESSAGE.  THE ORIGINAL MESSAGE MUST CONTAIN A SUFFICIENT
00017  M00S00016.comcsnm +++|*         NUMBER OF SEARCH CHARACTERS (USUALLY CONSECUTIVE) TO ALLOW
00018  M00S00017.comcsnm +++|*         FOR REPLACEMENT BY THE NAME OR NUMBER (UP TO 10 CHARACTERS).
00019  M00S00018.comcsnm +++|*         THE MESSAGE MUST NOT CONTAIN COLONS (00B) SINCE THEY WILL
00020  M00S00019.comcsnm +++|*         BE INTERPRETTED AS EOL.
00021  M00S00020.comcsnm +++|*
00022  M00S00021.comcsnm +++|*         ENTRY  (B1) = 1.
00023  M00S00022.comcsnm +++|*                (B2) = DISPLAY CODE SEARCH CHARACTER,
00024  M00S00023.comcsnm +++|*                       RIGHT JUSTIFIED, BINARY ZERO FILLED.
00025  M00S00024.comcsnm +++|*                (B3) = OPTIONAL ADDRESS OF ASSEMBLY AREA.
00026  M00S00025.comcsnm +++|*                (B5) = FWA MESSAGE.
00027  M00S00026.comcsnm +++|*                (B5) .LT. 0, USE (B3) AS ADDRESS OF ASSEMBLY AREA.
00028  M00S00027.comcsnm +++|*                (X1) = DISPLAY CODE NAME TO BE SET IN MESSAGE,
00029  M00S00028.comcsnm +++|*                       LEFT JUSTIFIED, BINARY ZERO FILLED.
00030  M00S00029.comcsnm +++|*
00031  M00S00030.comcsnm +++|*         EXIT   (A7) = LWA OF NEW MESSAGE.
00032  M00S00031.comcsnm +++|*                NAME ENTERED INTO MESSAGE IN PLACE OF SEARCH
00033  M00S00032.comcsnm +++|*                CHARACTERS.
00034  M00S00033.comcsnm +++|*
00035  M00S00034.comcsnm +++|*         USES   A - 4, 7.
00036  M00S00035.comcsnm +++|*                B - 3, 4.
00037  M00S00036.comcsnm +++|*                X - 1, 2, 3, 4, 6, 7.
00038  M00S00037.comcsnm +++|
00039  M00S00038.comcsnm +++|
00040  M00S00039.comcsnm +++| SNM4     SX2    B4          INSURE EVEN NUMBER OF CHARACTERS
00041  M00S00040.comcsnm +++|          LX2    -1
00042  M00S00041.comcsnm +++|          PL     X2,SNM6     IF NOT ODD NUMBER OF CHARACTERS
00043  M00S00042.comcsnm +++|          SX3    1R
00044  M00S00043.comcsnm +++|          BX2    -X6*X7
00045  M00S00044.comcsnm +++|          IX2    X2-X3
00046  M00S00045.comcsnm +++|          NZ     X2,SNM5     IF LAST CHARACTER NOT BLANK
00047  M00S00046.comcsnm +++|          AX7    6           REMOVE TRAILING BLANK
00048  M00S00047.comcsnm +++|          SB4    B4+B1
00049  M00S00048.comcsnm +++|          EQ     SNM6        LEFT JUSTIFY LAST WORD OF NEW MESSAGE
00050  M00S00049.comcsnm +++|
00051  M00S00050.comcsnm +++| SNM5     LX7    6           ADD TRAILING BLANK
00052  M00S00051.comcsnm +++|          SB4    B4-1
00053  M00S00052.comcsnm +++|          BX7    X3+X7
00054  M00S00053.comcsnm +++| SNM6     SB4    B4+B4       LEFT JUSTIFY LAST WORD OF NEW MESSAGE
00055  M00S00054.comcsnm +++|          SB3    B4+B4       CALCULATE SHIFT COUNT
00056  M00S00055.comcsnm +++|          MX2    -12
00057  M00S00056.comcsnm +++|          SB4    B3+B4
00058  M00S00057.comcsnm +++|          LX7    X7,B4
00059  M00S00058.comcsnm +++|          SA7    A7+1
00060  M00S00059.comcsnm +++|          BX2    -X2*X7
00061  M00S00060.comcsnm +++|          ZR     X2,SNMX     IF END OF LINE SET
00062  M00S00061.comcsnm +++|          BX7    X7-X7       GUARANTEE END OF LINE
00063  M00S00062.comcsnm +++|          SA7    A7+B1
00064  M00S00063.comcsnm +++|
00065  M00S00064.comcsnm +++| SNM      SUBR               ENTRY/EXIT
00066  M00S00065.comcsnm +++|          SB4    -B5         MESSAGE AREA
00067  M00S00066.comcsnm +++|          SX2    B3-B1       ASSEMBLY AREA - 1
00068  M00S00067.comcsnm +++|          MX6    -6
00069  M00S00068.comcsnm +++|          SB3    B0
00070  M00S00069.comcsnm +++|          NG     B5,SNM0     IF MESSAGE ASSEMBLY AREA SPECIFIED
00071  M00S00070.comcsnm +++|          SB4    B5          MESSAGE AREA
00072  M00S00071.comcsnm +++|          SX2    B5-B1       SET ASSEMBLY AREA = MESSAGE AREA
00073  M00S00072.comcsnm +++| SNM0     SA4    X2          PRESET ASSEMBLY AREA
00074  M00S00073.comcsnm +++|          BX7    X4
00075  M00S00074.comcsnm +++|          SA7    A4+         (A7) = ASSEMBLY AREA - 1
00076  M00S00075.comcsnm +++|          BX7    X7-X7
00077  M00S00076.comcsnm +++|          SA4    B4-B1       (A4) = MESSAGE AREA - 1
00078  M00S00077.comcsnm +++|          SB4    10
00079  M00S00078.comcsnm +++| SNM1     SB3    B3-B1       DECREMENT OLD MESSAGE WORD CHARACTER COUNT
00080  M00S00079.comcsnm +++|          SX3    B2
00081  M00S00080.comcsnm +++|          PL     B3,SNM2     IF MORE CHARACTERS IN OLD MESSAGE WORD
00082  M00S00081.comcsnm +++|          SA4    A4+1        GET NEXT WORD IN ORIGINAL MESSAGE
00083  M00S00082.comcsnm +++|          SB3    9           RESET OLD MESSAGE WORD CHARACTER COUNT
00084  M00S00083.comcsnm +++| SNM2     LX4    6           GET NEXT CHARACTER FROM ORIGINAL MESSAGE
00085  M00S00084.comcsnm +++|          BX2    -X6*X4
00086  M00S00085.comcsnm +++|          ZR     X2,SNM4     IF END OF LINE
00087  M00S00086.comcsnm +++|          IX3    X2-X3
00088  M00S00087.comcsnm +++|          NZ     X3,SNM3     IF NOT SEARCH CHARACTER
00089  M00S00088.comcsnm +++|          LX1    6
00090  M00S00089.comcsnm +++|          ZR     X1,SNM1     IF REPLACEMENT ALREADY COMPLETED
00091  M00S00090.comcsnm +++|          BX2    -X6*X1      GET NEXT CHARACTER FROM SPECIFIED NAME
00092  M00S00091.comcsnm +++|          BX1    X6*X1
00093  M00S00092.comcsnm +++| SNM3     LX7    6           ENTER NEXT CHARACTER INTO NEW MESSAGE WORD
00094  M00S00093.comcsnm +++|          BX7    X7+X2
00095  M00S00094.comcsnm +++|          SB4    B4-1        DECREMENT NEW MESSAGE WORD CHARACTER COUNT
00096  M00S00095.comcsnm +++|          GT     B4,SNM1     IF NEW MESSAGE WORD NOT FULL
00097  M00S00096.comcsnm +++|          SA7    A7+B1       SAVE NEW MESSAGE WORD
00098  M00S00097.comcsnm +++|          BX7    X7-X7
00099  M00S00098.comcsnm +++|          SB4    10          RESET NEW MESSAGE WORD CHARACTER COUNT
00100  M00S00099.comcsnm +++|          EQ     SNM1        CONTINUE BUILDING NEW MESSAGE
00101  M00S00100.comcsnm +++|          SPACE  4,10
00102  M00S00101.comcsnm +++|          BASE   *
00103  M00S00102.comcsnm +++| QUAL$    IF     -DEF,QUAL$
00104  M00S00103.comcsnm +++|          QUAL   *
00105  M00S00104.comcsnm +++| SNM      EQU    /COMCSNM/SNM
00106  M00S00105.comcsnm +++| QUAL$    ENDIF
00107  M00S00106.comcsnm +++| SNM      ENDX
cdc/nos2.source/opl.opl871/common/comcsnm.txt ยท Last modified: by 127.0.0.1