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