Seq # *Modification Id* Act
----------------------------+
00001 M00S00001.comcwth +++| CTEXT COMCWTH - WRITE CODED LINE, -H- FORMAT.
00002 M00S00002.comcwth +++| WTH SPACE 4
00003 M00S00003.comcwth +++| IF -DEF,QUAL$,1
00004 M00S00004.comcwth +++| QUAL COMCWTH
00005 M00S00005.comcwth +++| BASE D
Line S00006 Modification History |
M01 (Removed by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00006 M01S00006.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORP. 1970.
Line S00001 Modification History |
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00007 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00008 M00S00007.comcwth +++| WTH SPACE 4
00009 M00S00008.comcwth +++|*** WTH - WRITE CODED LINE, -H- FORMAT.
00010 M00S00009.comcwth +++|* G. R. MANSFIELD. 70/10/09.
00011 M00S00010.comcwth +++|* S. R. MCPHERSON. 74/09/30.
00012 M00S00011.comcwth +++| WTH SPACE 4
00013 M00S00012.comcwth +++|*** WTH TRANSFERS 1 CODED LINE IN -H- FORMAT FROM A
00014 M00S00013.comcwth +++|* WORKING BUFFER TO A CIO BUFFER. TRAILING SPACES ARE DELETED.
00015 M00S00014.comcwth +++|* IF THE BUFFER BECOMES SUFFICIENTLY FULL TO REQUIRE WRITING,
00016 M00S00015.comcwth +++|* WTH WILL PERFORM A *WRITE* FUNCTION UNLESS THE SYMBOL *WRIF$*
00017 M00S00016.comcwth +++|* IS DEFINED. IN THIS CASE, THE CIO FUNCTION THAT IS IN THE FET
00018 M00S00017.comcwth +++|* WILL BE RE-ISSUED.
00019 M00S00018.comcwth +++|* IF THE BOCK TO BE WRITTEN TERMINATES WITH 6 BITS OF ZERO A
00020 M00S00019.comcwth +++|* WORD CONTAINING A BLANK BYTE WILL BE APPENDED TO PRESERVE
00021 M00S00020.comcwth +++|* THE *00* CHARACTER AS A COLON. IF THE LINE TERMINATES
00022 M00S00021.comcwth +++|* ON AN END-OF-LINE IT WILL BE WRITTEN AS IS.
00023 M00S00022.comcwth +++|*
00024 M00S00023.comcwth +++|* ENTRY (X2) = ADDRESS OF FET FOR FILE.
00025 M00S00024.comcwth +++|* (B6) = FWA WORKING BUFFER.
00026 M00S00025.comcwth +++|* (B7) = WORD COUNT OF WORKING BUFFER.
00027 M00S00026.comcwth +++|* IF (B7) = 0, NO TRANSFER WILL BE PERFORMED.
00028 M00S00027.comcwth +++|*
00029 M00S00028.comcwth +++|* EXIT (X2) = ADDRESS OF FET FOR FILE.
00030 M00S00029.comcwth +++|*
00031 M00S00030.comcwth +++|* USES X - 1, 2, 3, 4, 6, 7.
00032 M00S00031.comcwth +++|* B - 1, 2, 3, 4, 5, 6, 7.
00033 M00S00032.comcwth +++|* A - 1, 2, 3, 4, 6, 7.
00034 M00S00033.comcwth +++|*
00035 M00S00034.comcwth +++|* CALLS DCB=, WTX=.
00036 M00S00035.comcwth +++|
00037 M00S00036.comcwth +++|
00038 M00S00037.comcwth +++| + EQ WTH3
00039 M00S00038.comcwth +++|
00040 M00S00039.comcwth +++| WTH= PS ENTRY/EXIT
00041 M00S00040.comcwth +++| SA4 *-1
00042 M00S00041.comcwth +++| ZR B7,WTH= IF WORKING BUFFER EMPTY
00043 M00S00042.comcwth +++|
00044 M00S00043.comcwth +++| IF -DEF,B1=1,1
00045 M00S00044.comcwth +++| SB1 1
00046 M00S00045.comcwth +++|
00047 M00S00046.comcwth +++|* DELETE TRAILING BLANK WORDS.
00048 M00S00047.comcwth +++|
00049 M00S00048.comcwth +++| SA3 WTHA =1H
00050 M00S00049.comcwth +++| SA1 B6+B7 PRESET (A1)
00051 M00S00050.comcwth +++| SB7 B7+B1
00052 M00S00051.comcwth +++| WTH1 SA1 A1-B1
00053 M00S00052.comcwth +++| IX6 X1-X3
00054 M00S00053.comcwth +++| SB7 B7-B1
00055 M00S00054.comcwth +++| EQ B7,B1,WTH2
00056 M00S00055.comcwth +++| ZR X6,WTH1
00057 M00S00056.comcwth +++| WTH2 SA1 X2+4 (B5) = LIMIT
00058 M00S00057.comcwth +++| SA3 X2+B1 (X3) = FIRST
00059 M00S00058.comcwth +++| SB5 X1
00060 M00S00059.comcwth +++|
00061 M00S00060.comcwth +++|* INITIALIZE REGISTERS FOR TRANSFER.
00062 M00S00061.comcwth +++|
00063 M00S00062.comcwth +++| WTH3 SA2 X2 (B2) = FET STATUS
00064 M00S00063.comcwth +++| SA1 A3+2 (B4) = OUT
00065 M00S00064.comcwth +++| SB2 X2
00066 M00S00065.comcwth +++| SA2 A3+B1 (X2) = IN
00067 M00S00066.comcwth +++| SB4 X1
00068 M00S00067.comcwth +++|
00069 M00S00068.comcwth +++|* TRANSFER DATA FROM WORKING BUFFER TO CIRCULAR BUFFER.
00070 M00S00069.comcwth +++|
00071 M00S00070.comcwth +++| WTH4 SB3 X2+1 (IN+1)
00072 M00S00071.comcwth +++| EQ B3,B5,WTH9 IF (IN+1) = LIMIT
00073 M00S00072.comcwth +++| WTH5 EQ B3,B4,=XDCB= DUMP CIRCULAR BUFFER IF (IN+1) = OUT
00074 M00S00073.comcwth +++| SA1 B6 READ WORD
00075 M00S00074.comcwth +++| SB7 B7-B1 DECREMENT WORD COUNT
00076 M00S00075.comcwth +++| BX6 X1
00077 M00S00076.comcwth +++| SA6 X2 STORE WORD
00078 M00S00077.comcwth +++| SB6 B6+B1 ADVANCE WORKING BUFFER
00079 M00S00078.comcwth +++| SX2 B3 IN = (IN+1)
00080 M00S00079.comcwth +++| GE B7,B1,WTH4 LOOP TO LAST WORD
00081 M00S00080.comcwth +++|
00082 M00S00081.comcwth +++| MX1 -12 CHECK LAST BYTE
00083 M00S00082.comcwth +++| BX7 -X1*X6
00084 M00S00083.comcwth +++| ZR X7,WTX= EXIT IF 0000 BYTE
00085 M00S00084.comcwth +++| SB6 WTHB PREPARE ZERO WORD
00086 M00S00085.comcwth +++| SX7 X7-2R
00087 M00S00086.comcwth +++| ZR X7,WTH6 IF * * BYTE
00088 M00S00087.comcwth +++| MX4 -6 SET CHARACTER MASK
00089 M00S00088.comcwth +++| BX4 -X4*X6 GET LAST CHARACTER OF WORD
00090 M00S00089.comcwth +++| NZ X4,WTH4 IF LAST CHARACTER NOT *00*
00091 M00S00090.comcwth +++| SB6 WTHC PRESERVE *00* CHARACTER WITH * *
00092 M00S00091.comcwth +++| JP WTH4
00093 M00S00092.comcwth +++|
00094 M00S00093.comcwth +++|* DELETE TRAILING SPACE BYTES.
00095 M00S00094.comcwth +++|
00096 M00S00095.comcwth +++| WTH6 MX4 -6 SINGLE CHARACTER MASK
00097 M00S00096.comcwth +++| LX4 12
00098 M00S00097.comcwth +++| BX7 -X4*X6 GET RIGHT CHARACTER OF BYTE
00099 M00S00098.comcwth +++| ZR X7,WTH4 IF *00* CHARACTER ADD BLANK BYTE
00100 M00S00099.comcwth +++| SX2 2R SET SPACE BYTE
00101 M00S00100.comcwth +++| WTH7 BX6 X1*X6 ZERO OUT SPACE BYTE
00102 M00S00101.comcwth +++| LX1 12 CHECK NEXT BYTE
00103 M00S00102.comcwth +++| LX2 12
00104 M00S00103.comcwth +++| BX7 -X1*X6 GET BYTE
00105 M00S00104.comcwth +++| LX4 12
00106 M00S00105.comcwth +++| BX7 X7-X2 CHECK FOR SPACE BYTE
00107 M00S00106.comcwth +++| NZ X7,WTH8 IF NOT SPACE BYTE
00108 M00S00107.comcwth +++| BX7 -X4*X6 CHECK CHARACTER BEFORE BYTE
00109 M00S00108.comcwth +++| NZ X7,WTH7 IF NOT *00* CHARACTER
00110 M00S00109.comcwth +++| WTH8 SA6 A6
00111 M00S00110.comcwth +++| SX2 B3
00112 M00S00111.comcwth +++| EQ =XWTX= EXIT
00113 M00S00112.comcwth +++|
00114 M00S00113.comcwth +++| WTH9 SB3 X3 (IN+1) = FIRST
00115 M00S00114.comcwth +++| EQ WTH5
00116 M00S00115.comcwth +++|
00117 M00S00116.comcwth +++| WTHA DATA 1H
00118 M00S00117.comcwth +++| WTHB CON 0
00119 M00S00118.comcwth +++| WTHC DATA 2L
00120 M00S00119.comcwth +++| SPACE 4
00121 M00S00120.comcwth +++| BASE *
00122 M00S00121.comcwth +++| QUAL$ IF -DEF,QUAL$
00123 M00S00122.comcwth +++| QUAL *
00124 M00S00123.comcwth +++| WTH= EQU /COMCWTH/WTH=
00125 M00S00124.comcwth +++| QUAL$ ENDIF
00126 M00S00125.comcwth +++| ENDX