Seq # *Modification Id* Act
----------------------------+
00001 M00S00001.comcwtw +++| CTEXT COMCWTW - WRITE WORDS FROM WORKING BUFFER.
00002 M00S00002.comcwtw +++| WTW SPACE 4
00003 M00S00003.comcwtw +++| IF -DEF,QUAL$,1
00004 M00S00004.comcwtw +++| QUAL COMCWTW
00005 M00S00005.comcwtw +++| 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.comcwtw +++| WTW SPACE 4
00009 M00S00008.comcwtw +++|*** WTW - WRITE WORDS FROM WORKING BUFFER.
00010 M00S00009.comcwtw +++|* D. A. CAHLANDER. 70/11/29.
00011 M00S00010.comcwtw +++|* R. E. TATE. 73/11/04.
00012 M00S00011.comcwtw +++| WTW SPACE 4
00013 M00S00012.comcwtw +++|*** WTW TRANSFERS DATA FROM A WORKING BUFFER TO A CIO
00014 M00S00013.comcwtw +++|* BUFFER. THIS DECK ALSO CONTAINS DCB=, AND WTX=.
00015 M00S00014.comcwtw +++|* IF THE BUFFER BECOMES SUFFICIENTLY FULL TO REQUIRE WRITING,
00016 M00S00015.comcwtw +++|* THE THRESHOLD CONDITION TO ISSUE WRITE FUNCTIONS
00017 M00S00016.comcwtw +++|* IS BUFFER HALF FULL FOR BUFFERS LARGER
00018 M00S00017.comcwtw +++|* THAN 511 DECIMAL WORDS, AND BUFFER TOTALLY
00019 M00S00018.comcwtw +++|* FULL FOR SMALLER BUFFERS. IF THE SYMBOL
00020 M00S00019.comcwtw +++|* WTX$ IS DEFINED, THEN THE THRESHOLD IS
00021 M00S00020.comcwtw +++|* BUFFER FULL FOR ALL BUFFER SIZES.
00022 M00S00021.comcwtw +++|* WTW WILL PERFORM A *WRITE* FUNCTION UNLESS THE SYMBOL *WRIF$*
00023 M00S00022.comcwtw +++|* IS DEFINED. IN THIS CASE, THE CIO FUNCTION THAT IS IN THE FET
00024 M00S00023.comcwtw +++|* WILL BE REISSUED. A *WRITEW* REQUEST MAY READ DATA FROM
00025 M00S00024.comcwtw +++|* BEYOND THE END OF THE WORKING BUFFER, THUS CAUSING AN ABORT
00026 M00S00025.comcwtw +++|* IF THE LAST WORD ADDRESS OF THE BUFFER IS WITHIN 4 WORDS OF
00027 M00S00026.comcwtw +++|* FL.
00028 M00S00027.comcwtw +++|*
00029 M00S00028.comcwtw +++|* WHEN CALLING CIO= FROM THIS ROUTINE B6 AND B7
00030 M00S00029.comcwtw +++|* MUST CONTAIN WORKING STORAGE BUFFER ADDRESS,
00031 M00S00030.comcwtw +++|* AND NUMBER OF WORDS TO TRANSFER RESPECTIVELY
00032 M00S00031.comcwtw +++|* AS ERROR PROCESSING ROUTINES DEPEND UPON
00033 M00S00032.comcwtw +++|* THESE REGISTERS.
00034 M00S00033.comcwtw +++|*
00035 M00S00034.comcwtw +++|* ENTRY (X2) = ADDRESS OF FET FOR FILE.
00036 M00S00035.comcwtw +++|* (B6) = FWA WORKING BUFFER.
00037 M00S00036.comcwtw +++|* (B7) = WORD COUNT OF WORKING BUFFER.
00038 M00S00037.comcwtw +++|* IF (B7) = 0, NO TRANSFER WILL BE PERFORMED.
00039 M00S00038.comcwtw +++|*
00040 M00S00039.comcwtw +++|* EXIT (X2) = ADDRESS OF FET FOR FILE.
00041 M00S00040.comcwtw +++|* (B6) = ADDRESS OF NEXT WORD TO BE TRANSFERRED FROM
00042 M00S00041.comcwtw +++|* WORKING BUFFER.
00043 M00S00042.comcwtw +++|* (B7) = 0 IF TRANSFER COMPLETE.
00044 M00S00043.comcwtw +++|* = REMAINING WORD COUNT IF *CIO=* WAS CALLED TO
00045 M00S00044.comcwtw +++|* WRITE DATA AND RETURNED AN ERROR STATUS.
00046 M00S00045.comcwtw +++|* (X7) = ERROR STATUS IF (B7) .NE. 0.
00047 M00S00046.comcwtw +++|*
00048 M00S00047.comcwtw +++|* USES X - 1, 2, 3, 4, 6, 7.
00049 M00S00048.comcwtw +++|* B - 1, 2, 3, 4, 5, 6, 7.
00050 M00S00049.comcwtw +++|* A - 1, 2, 3, 4, 6, 7.
00051 M00S00050.comcwtw +++|*
00052 M00S00051.comcwtw +++|* CALLS CIO=.
00053 M00S00052.comcwtw +++|
00054 M00S00053.comcwtw +++|
00055 M00S00054.comcwtw +++| WTW18 SX6 B3+B4 ADVANCE IN
00056 M00S00055.comcwtw +++| SB3 B3+B4
00057 M00S00056.comcwtw +++| SB6 B6+B4
00058 M00S00057.comcwtw +++| SB7 B7-B4
00059 M00S00058.comcwtw +++| NE B3,B5,WTW19 IF IN " LIMIT
00060 M00S00059.comcwtw +++| SA1 X2+B1 IN = FIRST
00061 M00S00060.comcwtw +++| SX6 X1
00062 M00S00061.comcwtw +++| WTW19 SA6 X2+2 UPDATE IN
00063 M00S00062.comcwtw +++| NZ B7,WTW1 IF NOT END OF TRANSFER
00064 M00S00063.comcwtw +++|
00065 M00S00064.comcwtw +++| WTW= PS ENTRY/EXIT
00066 M00S00065.comcwtw +++| WTW1 SA1 X2+3 (B4) = OUT
00067 M00S00066.comcwtw +++| SA3 X2+2 (B3) = IN
00068 M00S00067.comcwtw +++| IF -DEF,B1=1,1
00069 M00S00068.comcwtw +++| SB1 1
00070 M00S00069.comcwtw +++| SA4 A1+B1 (B5) = LIMIT
00071 M00S00070.comcwtw +++| ZR B7,WTW= IF WORKING BUFFER EMPTY
00072 M00S00071.comcwtw +++| SB4 X1
00073 M00S00072.comcwtw +++| SA1 X2+B1 (B2) = FIRST
00074 M00S00073.comcwtw +++| SB3 X3
00075 M00S00074.comcwtw +++| SB5 X4
00076 M00S00075.comcwtw +++| SB2 X1
00077 M00S00076.comcwtw +++| SA1 B6 READ FIRST WORD
00078 M00S00077.comcwtw +++| NE B2,B4,WTW2 IF OUT " FIRST
00079 M00S00078.comcwtw +++| SB4 B5
00080 M00S00079.comcwtw +++| WTW2 LT B3,B4,WTW3 IF NO END AROUND
00081 M00S00080.comcwtw +++| SB4 B5+1
00082 M00S00081.comcwtw +++| WTW3 SB4 B4-B1 CALCULATE FREE DATA SPACE
00083 M00S00082.comcwtw +++| SB4 B4-B3 (B4) = TRANSFER LENGTH
00084 M00S00083.comcwtw +++| ZR B4,WTW13 IF NO ROOM
00085 M00S00084.comcwtw +++| BX7 X1
00086 M00S00085.comcwtw +++| LE B4,B7,WTW4 IF NOT ENOUGH ROOM
00087 M00S00086.comcwtw +++| SB4 B7
00088 M00S00087.comcwtw +++|
00089 M00S00088.comcwtw +++|* INITIALIZE REGISTERS FOR TRANSFER.
00090 M00S00089.comcwtw +++|
00091 M00S00090.comcwtw +++| WTWA BSS 0
00092 M00S00091.comcwtw +++| WTW4 SA3 WTWC PRESET CMU CODE AND VOID STACK
00093 M00S00092.comcwtw +++| RJ WTW16
00094 M00S00093.comcwtw +++|* SA1 A1+B1 (NO CMU)
00095 M00S00094.comcwtw +++|* SX4 B4-B1 (NO CMU)
00096 M00S00095.comcwtw +++|* MX6 -3 (NO CMU)
00097 M00S00096.comcwtw +++|* SA7 B3 (NO CMU)
00098 M00S00097.comcwtw +++|*
00099 M00S00098.comcwtw +++|* GT B4,B1,WTW14 IF MORE THAN 1 WORD (CMU)
00100 M00S00099.comcwtw +++|* BX4 X4-X4 (CMU)
00101 M00S00100.comcwtw +++|* SA7 B3 (CMU)
00102 M00S00101.comcwtw +++|
00103 M00S00102.comcwtw +++| WTW5 BX3 -X6*X4 NUMBER OF ODD WORDS
00104 M00S00103.comcwtw +++| AX4 3 NUMBER OF BLOCKS
00105 M00S00104.comcwtw +++| ZR X3,WTW7 IF NO ODD WORDS
00106 M00S00105.comcwtw +++|
00107 M00S00106.comcwtw +++|* TRANSFER UP TO 7 WORDS.
00108 M00S00107.comcwtw +++|
00109 M00S00108.comcwtw +++| WTW6 SX3 X3-1
00110 M00S00109.comcwtw +++| BX7 X1
00111 M00S00110.comcwtw +++| SA1 A1+B1
00112 M00S00111.comcwtw +++| SA7 A7+B1
00113 M00S00112.comcwtw +++| NZ X3,WTW6 LOOP
00114 M00S00113.comcwtw +++|
00115 M00S00114.comcwtw +++|* PRE-READ REGISTERS.
00116 M00S00115.comcwtw +++|
00117 M00S00116.comcwtw +++| WTW7 ZR X4,WTW18 IF NO BLOCKS
00118 M00S00117.comcwtw +++| SB5 X2 (B5) = FET ADDRESS
00119 M00S00118.comcwtw +++| SA2 A1+B1
00120 M00S00119.comcwtw +++| SB2 B1+B1 (B2) = 2
00121 M00S00120.comcwtw +++| SA3 A2+B1
00122 M00S00121.comcwtw +++| SB3 X4 (B3) = BLOCK COUNT
00123 M00S00122.comcwtw +++| SA4 A3+B1
00124 M00S00123.comcwtw +++|
00125 M00S00124.comcwtw +++|* TRANSFER 8 WORD BLOCKS.
00126 M00S00125.comcwtw +++|
00127 M00S00126.comcwtw +++| WTW8 BX6 X1
00128 M00S00127.comcwtw +++| LX7 X2
00129 M00S00128.comcwtw +++| SA1 A3+B2
00130 M00S00129.comcwtw +++| SA2 A4+B2
00131 M00S00130.comcwtw +++| SA6 A7+B1
00132 M00S00131.comcwtw +++| SB3 B3-B1
00133 M00S00132.comcwtw +++| SA7 A6+B1
00134 M00S00133.comcwtw +++| BX6 X3
00135 M00S00134.comcwtw +++| LX7 X4
00136 M00S00135.comcwtw +++| SA3 A1+B2
00137 M00S00136.comcwtw +++| SA4 A2+B2
00138 M00S00137.comcwtw +++| SA6 A6+B2
00139 M00S00138.comcwtw +++| SA7 A7+B2
00140 M00S00139.comcwtw +++| BX6 X1
00141 M00S00140.comcwtw +++| LX7 X2
00142 M00S00141.comcwtw +++| SA1 A3+B2
00143 M00S00142.comcwtw +++| SA2 A4+B2
00144 M00S00143.comcwtw +++| SA6 A6+B2
00145 M00S00144.comcwtw +++| SA7 A7+B2
00146 M00S00145.comcwtw +++| BX6 X3
00147 M00S00146.comcwtw +++| LX7 X4
00148 M00S00147.comcwtw +++| SA3 A1+B2
00149 M00S00148.comcwtw +++| SA4 A2+B2
00150 M00S00149.comcwtw +++| SA6 A6+B2
00151 M00S00150.comcwtw +++| SA7 A7+B2
00152 M00S00151.comcwtw +++| NZ B3,WTW8 LOOP
00153 M00S00152.comcwtw +++|
00154 M00S00153.comcwtw +++|* WRITE EXIT.
00155 M00S00154.comcwtw +++|
00156 M00S00155.comcwtw +++| SA3 B5+B2 READ IN
00157 M00S00156.comcwtw +++| SA1 A3+B2 (B5) = LIMIT
00158 M00S00157.comcwtw +++| SX2 B5
00159 M00S00158.comcwtw +++| SB5 X1
00160 M00S00159.comcwtw +++| SA4 X2 CHECK BUFFER STATUS
00161 M00S00160.comcwtw +++| WTW9 SB6 B6+B4
00162 M00S00161.comcwtw +++| SB7 B7-B4
00163 M00S00162.comcwtw +++| SB3 X3+B4 ADVANCE IN
00164 M00S00163.comcwtw +++| SX6 X3+B4
00165 M00S00164.comcwtw +++| LX4 59-0
00166 M00S00165.comcwtw +++| SA3 X2+B1 READ FIRST
00167 M00S00166.comcwtw +++| NE B3,B5,WTW10 IF IN " LIMIT
00168 M00S00167.comcwtw +++| SX6 X3+ IN = FIRST
00169 M00S00168.comcwtw +++| WTX$ IF DEF,WTX$
00170 M00S00169.comcwtw +++| WTW10 EQ WTW19 CLEAN UP AND RETURN
00171 M00S00170.comcwtw +++| WTX$ ELSE
00172 M00S00171.comcwtw +++|
00173 M00S00172.comcwtw +++|* TRY TO BUFFER AHEAD.
00174 M00S00173.comcwtw +++|
00175 M00S00174.comcwtw +++| WTW10 PL X4,WTW19 IF BUFFER BUSY
00176 M00S00175.comcwtw +++| SA1 X2+3 READ OUT
00177 M00S00176.comcwtw +++| SA6 X2+2 STORE IN
00178 M00S00177.comcwtw +++| SB2 X3 (LIMIT-FIRST)
00179 M00S00178.comcwtw +++| IX6 X1-X6 (OUT-IN)
00180 M00S00179.comcwtw +++| SX7 B5-B2
00181 M00S00180.comcwtw +++| LX3 X6,B1 2*(OUT-IN)
00182 M00S00181.comcwtw +++| AX6 60 SIGN OF (OUT-IN)
00183 M00S00182.comcwtw +++| BX4 X6-X7 INVERT BUFFER IF IN \ OUT
00184 M00S00183.comcwtw +++| IX6 X4-X3 BUFFER SIZE - 2*(OUT-IN)
00185 M00S00184.comcwtw +++| NG X6,WTW12 IF BUFFER THRESHOLD NOT REACHED
00186 M00S00185.comcwtw +++| AX7 9
00187 M00S00186.comcwtw +++| ZR X7,WTW12 IF BUFFER NOT BIG ENOUGH TO WRITE AHEAD
00188 M00S00187.comcwtw +++| WTX$ ENDIF
00189 M00S00188.comcwtw +++| WRIF$ IF DEF,WRIF$
00190 M00S00189.comcwtw +++| WTW11 SA1 X2 RE-ISSUE CURRENT WRITE FUNCTION
00191 M00S00190.comcwtw +++| SX6 774B
00192 M00S00191.comcwtw +++| BX7 X6*X1
00193 M00S00192.comcwtw +++| RJ =XCIO=
00194 M00S00193.comcwtw +++| WRIF$ ELSE 1
00195 M00S00194.comcwtw +++| WTW11 WRITE X2
00196 M00S00195.comcwtw +++| NZ X7,WTW= IF ERROR IN LAST *CIO* REQUEST
00197 M00S00196.comcwtw +++| WTW12 NZ B7,WTW1 IF NOT DONE
00198 M00S00197.comcwtw +++| JP WTW= RETURN
00199 M00S00198.comcwtw +++|
00200 M00S00199.comcwtw +++|* DUMP CIRCULAR BUFFER.
00201 M00S00200.comcwtw +++|
00202 M00S00201.comcwtw +++| WTW13 SA1 X2 CHECK BUFFER STATUS
00203 M00S00202.comcwtw +++| LX1 59-0
00204 M00S00203.comcwtw +++| NG X1,WTW11 IF NOT BUSY
00205 M00S00204.comcwtw +++| ZR X1,WTW11 IF BLANK FET
00206 M00S00205.comcwtw +++| RECALL
00207 M00S00206.comcwtw +++| JP WTW1 CONTINUE WRITE
00208 M00S00207.comcwtw +++|
00209 M00S00208.comcwtw +++|* MOVE DATA WITH CMU.
00210 M00S00209.comcwtw +++|
00211 M00S00210.comcwtw +++| WTW14 SX4 B4-819
00212 M00S00211.comcwtw +++| PL X4,WTW15 IF TOO BIG FOR CMU
00213 M00S00212.comcwtw +++| SX4 B4 10 * WORDS = CHARACTERS
00214 M00S00213.comcwtw +++| LX6 X4,B1
00215 M00S00214.comcwtw +++| BX1 X0 SAVE X0
00216 M00S00215.comcwtw +++| LX4 3
00217 M00S00216.comcwtw +++| IX6 X4+X6
00218 M00S00217.comcwtw +++| SX7 B6 SET SOURCE ADDRESS
00219 M00S00218.comcwtw +++| SX4 B3 SET DESTINATION ADDRESS
00220 M00S00219.comcwtw +++| LX7 30
00221 M00S00220.comcwtw +++| BX4 X4+X7
00222 M00S00221.comcwtw +++| MX7 -4
00223 M00S00222.comcwtw +++| BX3 X7*X6 EXTRACT UPPER PORTION
00224 M00S00223.comcwtw +++| BX6 -X7*X6 EXTRACT LOWER PORTION
00225 M00S00224.comcwtw +++| LX3 48-4
00226 M00S00225.comcwtw +++| BX4 X4+X3
00227 M00S00226.comcwtw +++| LX6 26
00228 M00S00227.comcwtw +++| BX6 X4+X6
00229 M00S00228.comcwtw +++| AX3 51
00230 M00S00229.comcwtw +++| SA6 WTWC STORE DESCRIPTOR WORD
00231 M00S00230.comcwtw +++| IM WTWC MOVE DATA
00232 M00S00231.comcwtw +++| BX0 X1 RESTORE X0
00233 M00S00232.comcwtw +++| ZR X3,WTW18 IF NO WRITE EXIT
00234 M00S00233.comcwtw +++| SA4 X2
00235 M00S00234.comcwtw +++| SX3 B3 RESET IN
00236 M00S00235.comcwtw +++| JP WTW9
00237 M00S00236.comcwtw +++|
00238 M00S00237.comcwtw +++| WTWB BSS 0
00239 M00S00238.comcwtw +++| WTW15 SA1 A1+B1 MOVE DATA WITHOUT CMU
00240 M00S00239.comcwtw +++| SX4 B4-B1
00241 M00S00240.comcwtw +++| MX6 -3
00242 M00S00241.comcwtw +++| SA7 B3
00243 M00S00242.comcwtw +++| JP WTW5
00244 M00S00243.comcwtw +++|
00245 M00S00244.comcwtw +++|* CMU PRESET CODE.
00246 M00S00245.comcwtw +++|* WWTC IS READ UP AND THEN RETURN JUMPED TO IN ORDER TO VOID
00247 M00S00246.comcwtw +++|* STACK. WWTC IS ALSO USED AS THE CMU DESCRIPTOR WORD
00248 M00S00247.comcwtw +++|
00249 M00S00248.comcwtw +++| WTWC GT B4,B1,WTW14 IF MORE THAN 1 WORD TO MOVE (CMU)
00250 M00S00249.comcwtw +++| BX4 X4-X4
00251 M00S00250.comcwtw +++| SA7 B3
00252 M00S00251.comcwtw +++| WTW16 EQU WTWC USED TO VOID STACK
00253 M00S00252.comcwtw +++|
00254 M00S00253.comcwtw +++|* PRESET FOR CMU CODE.
00255 M00S00254.comcwtw +++|
00256 M00S00255.comcwtw +++| SA4 CMUR CHECK IF CMU AVAIALABLE
00257 M00S00256.comcwtw +++| SB4 WTWA
00258 M00S00257.comcwtw +++| NG X4,WTW17 IF CMU
00259 M00S00258.comcwtw +++| SA3 WTWB
00260 M00S00259.comcwtw +++| WTW17 BX6 X3
00261 M00S00260.comcwtw +++| SA6 B4
00262 M00S00261.comcwtw +++| JP WTW1
00263 M00S00262.comcwtw +++|
00264 M00S00263.comcwtw +++| WTX SPACE 4
00265 M00S00264.comcwtw +++|** WTX - WRITE EXIT.
00266 M00S00265.comcwtw +++|* IF BUFFER IS BUSY, RETURN.
00267 M00S00266.comcwtw +++|* OTHERWISE, WORD COUNT OF BUFFER IS CHECKED, AND A WRITE
00268 M00S00267.comcwtw +++|* FUNCTION IS REQUESTED IF NECESSARY.
00269 M00S00268.comcwtw +++|*
00270 M00S00269.comcwtw +++|* ENTRY (A2) = ADDRESS OF IN.
00271 M00S00270.comcwtw +++|* (A3) = ADDRESS OF FIRST.
00272 M00S00271.comcwtw +++|* (A4) = RETURN ADDRESS.
00273 M00S00272.comcwtw +++|* (B3) = IN+1.
00274 M00S00273.comcwtw +++|* (B4) = OUT.
00275 M00S00274.comcwtw +++|* (B5) = LIMIT.
00276 M00S00275.comcwtw +++|* (X2) = IN
00277 M00S00276.comcwtw +++|*
00278 M00S00277.comcwtw +++|* EXIT TO RETURN ADDRESS.
00279 M00S00278.comcwtw +++|*
00280 M00S00279.comcwtw +++|* CALLS NONE.
00281 M00S00280.comcwtw +++|
00282 M00S00281.comcwtw +++|
00283 M00S00282.comcwtw +++| WTX= SA1 A3-B1 CHECK BUFFER STATUS
00284 M00S00283.comcwtw +++| SX6 X2 STORE IN
00285 M00S00284.comcwtw +++| LX1 59
00286 M00S00285.comcwtw +++| SA6 A2
00287 M00S00286.comcwtw +++| WTX$ IF -DEF,WTX$
00288 M00S00287.comcwtw +++| PL X1,WTX1 IF BUFFER BUSY
00289 M00S00288.comcwtw +++|
00290 M00S00289.comcwtw +++|* IF BUFFER IS NOT BUSY, CHECK SIZE OF BUFFER.
00291 M00S00290.comcwtw +++|* ISSUE WRITE IF THRESHOLD IS REACHED.
00292 M00S00291.comcwtw +++|
00293 M00S00292.comcwtw +++| SA1 A2+B1 REREAD OUT
00294 M00S00293.comcwtw +++| SA3 A3 FIRST
00295 M00S00294.comcwtw +++| SB4 X1
00296 M00S00295.comcwtw +++| SX6 B4-B3 (OUT-IN+1)
00297 M00S00296.comcwtw +++| SB2 X3 (LIMIT-FIRST)
00298 M00S00297.comcwtw +++| LX3 X6,B1 2*(OUT-IN+1)
00299 M00S00298.comcwtw +++| SX7 B5-B2
00300 M00S00299.comcwtw +++| AX6 60 SIGN OF (OUT-IN+1)
00301 M00S00300.comcwtw +++| BX4 X6-X7 INVERT BUFFER IF IN+1 \ OUT
00302 M00S00301.comcwtw +++| IX6 X4-X3 BUFFER SIZE - 2*(OUT-IN+1)
00303 M00S00302.comcwtw +++| NG X6,WTX1 IF BUFFER THRESHOLD NOT REACHED
00304 M00S00303.comcwtw +++| AX7 9
00305 M00S00304.comcwtw +++| ZR X7,WTX1 IF BUFFER NOT BIG ENOUGH TO WRITE AHEAD
00306 M00S00305.comcwtw +++| WRIF$ IF DEF,WRIF$
00307 M00S00306.comcwtw +++| SA1 A3-B1 RE-ISSUE CURRENT WRITE FUNCTION
00308 M00S00307.comcwtw +++| SX6 774B
00309 M00S00308.comcwtw +++| BX7 X6*X1
00310 M00S00309.comcwtw +++| SX2 A1 SET FET ADDRESS
00311 M00S00310.comcwtw +++| RJ =XCIO=
00312 M00S00311.comcwtw +++| WRIF$ ELSE 1
00313 M00S00312.comcwtw +++| WRITE A3-B1
00314 M00S00313.comcwtw +++|
00315 M00S00314.comcwtw +++| WTX$ ENDIF
00316 M00S00315.comcwtw +++| WTX1 SB2 A4 SET RETURN ADDRESS
00317 M00S00316.comcwtw +++| SX2 A3-B1 RESET (X2)
00318 M00S00317.comcwtw +++| JP B2 RETURN
00319 M00S00318.comcwtw +++| DCB SPACE 4
00320 M00S00319.comcwtw +++|** DCB - DUMP CIRCULAR BUFFER.
00321 M00S00320.comcwtw +++|* IF BUFFER IS BUSY, RECALL AND RETURN.
00322 M00S00321.comcwtw +++|* IF BUFFER IS NOT BUSY, REQUEST WRITE FUNCTION AND RETURN.
00323 M00S00322.comcwtw +++|*
00324 M00S00323.comcwtw +++|* ENTRY (A2) = ADDRESS OF IN.
00325 M00S00324.comcwtw +++|* (A3) = ADDRESS OF FIRST.
00326 M00S00325.comcwtw +++|* (A4) = RETURN ADDRESS.
00327 M00S00326.comcwtw +++|* (B2) = FET STATUS READ PRIOR TO READ OF OUT.
00328 M00S00327.comcwtw +++|* (X2) = IN.
00329 M00S00328.comcwtw +++|*
00330 M00S00329.comcwtw +++|* EXIT TO RETURN ADDRESS - 1.
00331 M00S00330.comcwtw +++|* (X2) = FET ADDRESS.
00332 M00S00331.comcwtw +++|
00333 M00S00332.comcwtw +++|
00334 M00S00333.comcwtw +++| DCB= SX1 B2 CHECK BUFFER STATUS
00335 M00S00334.comcwtw +++| SX6 X2 STORE IN
00336 M00S00335.comcwtw +++| LX1 59
00337 M00S00336.comcwtw +++| SA6 A2
00338 M00S00337.comcwtw +++| NG X1,DCB1 IF NOT BUSY
00339 M00S00338.comcwtw +++| ZR X1,DCB1 IF BLANK FET
00340 M00S00339.comcwtw +++| SX2 A3-B1 RESET FET ADDRESS
00341 M00S00340.comcwtw +++| RECALL
00342 M00S00341.comcwtw +++| SB2 A4-B1 CONTINUE WRITE
00343 M00S00342.comcwtw +++| JP B2
00344 M00S00343.comcwtw +++| WRIF$ IF DEF,WRIF$
00345 M00S00344.comcwtw +++| DCB1 SA1 A3-B1 RE-ISSUE CURRENT WRITE FUNCTION
00346 M00S00345.comcwtw +++| SX6 774B
00347 M00S00346.comcwtw +++| BX7 X6*X1
00348 M00S00347.comcwtw +++| SX2 A1 SET FET ADDRESS
00349 M00S00348.comcwtw +++| RJ =XCIO=
00350 M00S00349.comcwtw +++| WRIF$ ELSE 1
00351 M00S00350.comcwtw +++| DCB1 WRITE A3-B1
00352 M00S00351.comcwtw +++| SB2 A4-B1 CONTINUE WRITE
00353 M00S00352.comcwtw +++| JP B2
00354 M00S00353.comcwtw +++| SPACE 4
00355 M00S00354.comcwtw +++| BASE *
00356 M00S00355.comcwtw +++| QUAL$ IF -DEF,QUAL$
00357 M00S00356.comcwtw +++| QUAL *
00358 M00S00357.comcwtw +++| WTW= EQU /COMCWTW/WTW=
00359 M00S00358.comcwtw +++| WTX= EQU /COMCWTW/WTX=
00360 M00S00359.comcwtw +++| DCB= EQU /COMCWTW/DCB=
00361 M00S00360.comcwtw +++| QUAL$ ENDIF
00362 M00S00361.comcwtw +++| ENDX