User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:cpumtr.029

Deck CPUMTR Part 029

308 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
36372  M00S21590.cpumtr  +++|*
36373  M00S21591.cpumtr  +++|*         USES   A - 0, 1, 2, 3, 6, 7.
36374  M00S21592.cpumtr  +++|*                B - 2, 3, 4, 6.
36375  M00S21593.cpumtr  +++|*                X - 0, 1, 2, 3, 6, 7.
36376  M00S21594.cpumtr  +++|*
36377  M00S21595.cpumtr  +++|*         CALLS  BWD, CBS, CIM, CMS, CPT, CRA, CSP, CWD, SNT, SRA.
36378  M00S21596.cpumtr  +++|*
36379  M00S21597.cpumtr  +++|*         MACROS MONITOR.
36380  M00S21598.cpumtr  +++|
36381  M00S21599.cpumtr  +++|
36382  M00S21600.cpumtr  +++| WTF      SA3    A4          GET MESSAGE BUFFER PARAMETERS
36383  M00S21601.cpumtr  +++|          SX2    54B
36384  M00S21602.cpumtr  +++|          BX1    X2*X3       TERMINATION CONDITION AND *WRITECW* FLAG
36385  M00S21603.cpumtr  +++|          ERX2   X4          GET FST ENTRY
36386  M00S21604.cpumtr  +++|          SB4    X1-/CIO/EOI
36387  M00S21605.cpumtr  +++|          LX1    59-5
36388  M00S21606.cpumtr  +++|          SB2    B4-/CIO/EOF+/CIO/EOI
36389  M00S21607.cpumtr  +++|          SB6    WTF3        SET RETURN ADDRESS FOR *SNT*
36390  M00S21608.cpumtr  +++|          NZ     X7,WTF1     IF DATA IN BUFFER
36391  M00S21609.cpumtr  +++|          NG     X1,CMP5     IF *WRITECW* WITH NO DATA
36392  M00S21610.cpumtr  +++|          NZ     B2,WTF1     IF NOT EOF OPERATION
36393  M00S21611.cpumtr  +++|          SX1    6
36394  M00S21612.cpumtr  +++|          BX1    X1*X2
36395  M00S21613.cpumtr  +++|          SX1    X1-2
36396  M00S21614.cpumtr  +++|          MX7    1
36397  M00S21615.cpumtr  +++|          ZR     X1,WTF1     IF LAST OPERATION IS INCOMPLETE WRITE
36398  M00S21616.cpumtr  +++|          LX7    56-59       SET SKIP FLAG
36399  M00S21617.cpumtr  +++|          BX3    X3+X7
36400  M00S21618.cpumtr  +++| WTF1     NZ     X6,WTF2     IF AT LEAST ONE FULL SECTOR IN BUFFER
36401  M00S21619.cpumtr  +++|          ZR     B4,CMP5     IF BUFFERED WRITE
36402  M00S21620.cpumtr  +++| WTF2     SA1    A4+B1       GET MST ADDRESS
36403  M00S21621.cpumtr  +++|          LX2    -24
36404  M00S21622.cpumtr  +++|          MX7    -12
36405  M00S21623.cpumtr  +++|          AX1    18
36406  M00S21624.cpumtr  +++|          BX0    -X7*X2      CURRENT TRACK
36407  M00S21625.cpumtr  +++|          EQ     SNT         SET NEXT TRACK
36408  M00S21626.cpumtr  +++|
36409  M00S21627.cpumtr  +++| WTF3     ERX1   X4
36410  M00S21628.cpumtr  +++|          SA6    NTKP        SAVE OLD EOI SECTOR/NEXT TRACK POINTER
36411  M00S21629.cpumtr  +++|          MX0    1
36412  M00S21630.cpumtr  +++|          LX1    -12
36413  M00S21631.cpumtr  +++|          BX7    -X7*X1      CURRENT SECTOR
36414  M00S21632.cpumtr  +++|          LX0    10-59
36415  M00S21633.cpumtr  +++|          LX1    59-1+12-60
36416  M00S21634.cpumtr  +++|          BX7    X6-X7
36417  M00S21635.cpumtr  +++|          BX6    -X0*X3      CLEAR REWRITE FLAG
36418  M00S21636.cpumtr  +++|          NG     X2,WTF4     IF NOT EOI TRACK
36419  M00S21637.cpumtr  +++|          ZR     X7,WTF5     IF POSITIONED AT EOI
36420  M00S21638.cpumtr  +++|          SX2    -1
36421  M00S21639.cpumtr  +++| WTF4     BX6    X3
36422  M00S21640.cpumtr  +++|          PL     X1,WTF5     IF LAST OPERATION NOT WRITE
36423  M00S21641.cpumtr  +++|          BX6    X3+X0       SET REWRITE FLAG
36424  M00S21642.cpumtr  +++| WTF5     SA1    FMOD        GET FILE MODE
36425  M00S21643.cpumtr  +++|          SB5    X1-1
36426  M00S21644.cpumtr  +++|          ZR     X1,WTF6     IF NO RESTRICTIONS
36427  M00S21645.cpumtr  +++|          SX7    /CIOERR/IFM *ILLEGAL MODIFICATION*
36428  M00S21646.cpumtr  +++|          BX0    X0*X6
36429  M00S21647.cpumtr  +++|          ZR     B5,WTF5.1   IF UPDATE MODE
36430  M00S21648.cpumtr  +++|          PL     X2,WTF6     IF POSITIONED AT EOI
36431  M00S21649.cpumtr  +++|          EQ     B5,B1,RPC   IF APPEND MODE
36432  M00S21650.cpumtr  +++| WTF5.1   ZR     X0,RPC      IF NOT REWRITE FOR UPDATE OR MODIFY MODE
Line S21651 Modification History
M01 (Removed by) ns2241
Seq #  *Modification Id* Act 
----------------------------+
36433  M01S21651.ns2241  ---|          NZ     B5,WTF6     IF MODIFY MODE
36434  M01S21652.ns2241  ---|          BX3    X6
36435  M01S21653.ns2241  ---|          LX3    59-5
36436  M01S21654.ns2241  ---|          NG     X3,RPC      IF *WRITECW* WITH UPDATE MODE
36437  M00S21655.cpumtr  +++|
36438  M00S21656.cpumtr  +++|*         SET FILE SIZE LIMIT.
36439  M00S21657.cpumtr  +++|
36440  M00S21658.cpumtr  +++| WTF6     SA6    A4
36441  M00S21659.cpumtr  +++|          BX3    X2          PRESERVE EOI FLAG
36442  M00S21660.cpumtr  +++|          SX2    B1          GET FILE SIZE INDEX FROM FNT
36443  M00S21661.cpumtr  +++|          IX2    X4+X2
36444  M00S21662.cpumtr  +++|          ERX2   X2
36445  M00S21663.cpumtr  +++|          MX7    -3
36446  M00S21664.cpumtr  +++|          LX2    -30
36447  M00S21665.cpumtr  +++|          BX7    -X7*X2
36448  M00S21666.cpumtr  +++|          LX7    -1
36449  M00S21667.cpumtr  +++|          LX6    59-56
36450  M00S21668.cpumtr  +++|          SA2    TFSL+X7     GET MAXIMUM FILE SIZE IN PRUS
36451  M00S21669.cpumtr  +++|          PL     X7,WTF7     IF VALUE IN UPPER PART OF WORD
36452  M00S21670.cpumtr  +++|          LX2    30
36453  M00S21671.cpumtr  +++| WTF7     AX2    30
36454  M00S21672.cpumtr  +++|          BX7    X2
36455  M00S21673.cpumtr  +++|          SA7    FSZL        SAVE FILE SIZE LIMIT
36456  M00S21674.cpumtr  +++|          PL     X6,WTF7.1   IF NOT *WRITEF* WITH NO DATA
36457  M00S21675.cpumtr  +++|          SX6    B0+
36458  M00S21676.cpumtr  +++|          SA6    WCCB        CLEAR DATA WORD COUNT
36459  M00S21677.cpumtr  +++|          SA6    NPCB        CLEAR DATA PRU COUNT
36460  M00S21678.cpumtr  +++| WTF7.1   SB4    WTF7.2
36461  M00S21679.cpumtr  +++|          SB4    -B4
36462  M00S21680.cpumtr  +++|          NG     X3,SRA      IF NOT POSITIONED AT EOI
36463  M00S21681.cpumtr  +++|          ZR     X7,WTF7.5   IF NO FILE SIZE LIMIT
36464  M00S21682.cpumtr  +++|          SB4    WTF7.4
36465  M00S21683.cpumtr  +++|          SB4    -B4         PREVENT FST/FET UPDATE
36466  M00S21684.cpumtr  +++|          EQ     SRA         CALCULATE CURRENT POSITION RANDOM ADDRESS
36467  M00S21685.cpumtr  +++|
36468  M00S21686.cpumtr  +++| WTF7.2   SB4    WTF7.3      SET RETURN ADDRESS FOR *CRA*
36469  M00S21687.cpumtr  +++|          BX7    X3          SAVE CURRENT POSITION RANDOM ADDRESS
36470  M00S21688.cpumtr  +++|          SB4    -B4         PREVENT FST/FET UPDATE
36471  M00S21689.cpumtr  +++|          SA7    SCIE
36472  M00S21690.cpumtr  +++|          SX3    B0+
36473  M00S21691.cpumtr  +++|          EQ     CRA         CALCULATE EOI RANDOM ADDRESS
36474  M00S21692.cpumtr  +++|
36475  M00S21693.cpumtr  +++| WTF7.3   SA1    SCIE        NUMBER OF SECTORS AFTER CURRENT POSITION
36476  M00S21694.cpumtr  +++|          IX7    X3-X1
36477  M00S21695.cpumtr  +++|          SA7    A1
36478  M00S21696.cpumtr  +++|          EQ     WTF8        PROCESS WRITE
36479  M00S21697.cpumtr  +++|
36480  M00S21698.cpumtr  +++| WTF7.4   SA2    FSZL        SET FILE SIZE
36481  M00S21699.cpumtr  +++|          SX1    B2
36482  M00S21700.cpumtr  +++|          IX7    X7+X1       SECTOR COUNT THROUGH END OF TRACK
36483  M00S21701.cpumtr  +++|          LX7    30
36484  M00S21702.cpumtr  +++|          BX6    X2+X7
36485  M00S21703.cpumtr  +++|          SX7    B0
36486  M00S21704.cpumtr  +++|          SA6    A2
36487  M00S21705.cpumtr  +++| WTF7.5   SA7    SCIE        SET CURRENT POSITION = EOI ((SCIE) = 0)
36488  M00S21706.cpumtr  +++|
36489  M00S21707.cpumtr  +++|*         CALCULATE NUMBER OF SECTORS FOR WRITE OPERATION.
36490  M00S21708.cpumtr  +++|
36491  M00S21709.cpumtr  +++| WTF8     SA2    A4          GET TERMINATION CONDITION
36492  M00S21710.cpumtr  +++|          MX1    -2
Line S21711 Modification History
M01 (Removed by) ns2241
Seq #  *Modification Id* Act 
----------------------------+
36493  M01S21711.ns2241  ---|          SA0    WTF10.1     SET RETURN ADDRESS FOR *CMS*
Line S00001 Modification History
M01 (Added by) ns2241
Seq #  *Modification Id* Act 
----------------------------+
36494  M01S00001.ns2241  +++|          SA0    WTF11       SET RETURN ADDRESS FOR *CMS*
36495  M00S21712.cpumtr  +++|          LX2    -2
36496  M00S21713.cpumtr  +++|          BX1    -X1*X2
36497  M00S21714.cpumtr  +++|          SB6    WTF9        SET RETURN ADDRESS FOR *CBS*
36498  M00S21715.cpumtr  +++|          SB3    X1-/CIO/EOI/4
36499  M00S21716.cpumtr  +++|          ZR     B3,CBS      IF BUFFERED WRITE
36500  M00S21717.cpumtr  +++|          SA3    NPCB        GET NUMBER OF SECTORS IN *CIO* BUFFER
36501  M00S21718.cpumtr  +++|          SB2    X1
36502  M00S21719.cpumtr  +++|          SB2    X3+B2       SECTOR COUNT = FULL PRUS+EOR+EOF+EOI
36503  M00S21720.cpumtr  +++|          EQ     CMS         COMPUTE MOD 40B OF CURRENT SECTOR
36504  M00S21721.cpumtr  +++|
36505  M00S21722.cpumtr  +++| WTF9     SA2    A4+
36506  M00S21723.cpumtr  +++|          SB2    X6          SECTOR COUNT = FULL PRUS
36507  M00S21724.cpumtr  +++|          LX2    59-5
36508  M00S21725.cpumtr  +++|          PL     X2,WTF10    IF NOT *WRITECW*
36509  M00S21726.cpumtr  +++|          BX6    X7
36510  M00S21727.cpumtr  +++|          LX2    59-10-59+5
36511  M00S21728.cpumtr  +++|          NG     X2,WTF10    IF REWRITE
36512  M00S21729.cpumtr  +++|          SB2    B2+10B      COMPENSATE FOR SHORT SECTORS
36513  M00S21730.cpumtr  +++| WTF10    NZ     X6,CMS      IF DATA IN BUFFER
36514  M00S21731.cpumtr  +++|          EQ     CMP         COMPLETE PROCESSING
Line S21732 Modification History
M01 (Removed by) ns2241
Seq #  *Modification Id* Act 
----------------------------+
36515  M01S21732.ns2241  ---|
36516  M01S21733.ns2241  ---| WTF10.1  NZ     B5,WTF11    IF NOT UPDATE MODE
36517  M01S21734.ns2241  ---|          SA3    SCIE        SECTORS ON FILE AFTER CURRENT POSITION
36518  M01S21735.ns2241  ---|          SX7    /CIOERR/IFM *ILLEGAL MODIFICATION*
36519  M01S21736.ns2241  ---|          SX6    B2          SECTORS TO WRITE
36520  M01S21737.ns2241  ---|          IX3    X3-X6
36521  M01S21738.ns2241  ---|          NG     X3,RPC      IF EOI WILL BE OVERWRITTEN
36522  M00S21739.cpumtr  +++|
36523  M00S21740.cpumtr  +++|*         CALCULATE NUMBER OF I/O BUFFERS NEEDED FOR WRITE.
36524  M00S21741.cpumtr  +++|
36525  M00S21742.cpumtr  +++| WTF11    PX6    X2
36526  M00S21743.cpumtr  +++|          SB2    X1+B2       MOD 40B OF CURRENT SECTOR + SECTOR COUNT
36527  M00S21744.cpumtr  +++|          SA2    A4
36528  M00S21745.cpumtr  +++|          LX2    59-10
36529  M00S21746.cpumtr  +++|          NG     X2,WTF12    IF REWRITE
36530  M00S21747.cpumtr  +++|          SB2    B2+LSLB     ROUND UP NUMBER OF BUFFERS AND COUNT EOI
36531  M00S21748.cpumtr  +++| WTF12    SX1    B2+
36532  M00S21749.cpumtr  +++|          PX1    X1
36533  M00S21750.cpumtr  +++|          NX6    X6
36534  M00S21751.cpumtr  +++|          FX1    X1/X6
36535  M00S21752.cpumtr  +++|          UX1,B6 X1
36536  M00S21753.cpumtr  +++|          LX1    B6
36537  M00S21754.cpumtr  +++|          SB6    X1          NUMBER OF I/O BUFFERS NEEDED
Line S00140 Modification History
M01 (Added by) 272l774
Seq #  *Modification Id* Act 
----------------------------+
36538  M01S00140.272l774 +++|          SA1    A4+B1       GET SECTORS PER TRACK
36539  M01S00141.272l774 +++|          SX7    X1
36540  M00S21755.cpumtr  +++|          SA1    LBIA        CHECK IF BUFFER INTERLOCKED
Line S00142 Modification History
M01 (Added by) 272l774
Seq #  *Modification Id* Act 
----------------------------+
36541  M01S00142.272l774 +++|          AX7    LSLBS
36542  M01S00143.272l774 +++|          SB3    X7          NUMBER OF I/O BUFFERS PER TRACK
36543  M00S21756.cpumtr  +++|          SB4    11
Line S21757 Modification History
M01 (Removed by) 272l774
Seq #  *Modification Id* Act 
----------------------------+
36544  M01S21757.272l774 ---|          GE     B6,B4,WTF13 IF MORE THAN 11 BUFFERS NEEDED
36545  M01S21758.272l774 ---|          SB4    B6+
Line S00144 Modification History
M01 (Added by) 272l774
Seq #  *Modification Id* Act 
----------------------------+
36546  M01S00144.272l774 +++|          GE     B6,B4,WTF12.1  IF MORE THAN 11 BUFFERS NEEDED
36547  M01S00145.272l774 +++|          LE     B6,B3,WTF12.2  IF NOT MORE THAN ONE TRACK OF BUFFERS
36548  M01S00146.272l774 +++|          SB4    B3
36549  M01S00147.272l774 +++|          EQ     WTF13       RESTRICT TO ONE TRACK WORTH OF BUFFERS
36550  M01S00148.272l774 +++|
36551  M01S00149.272l774 +++| WTF12.1  LE     B4,B3,WTF13 IF NOT MORE THAN ONE TRACK OF BUFFERS
36552  M01S00150.272l774 +++|          SB4    B3+
36553  M01S00151.272l774 +++|          EQ     WTF13       RESTRICT TO ONE TRACK WORTH OF BUFFERS
36554  M01S00152.272l774 +++|
36555  M01S00153.272l774 +++| WTF12.2  SB4    B6+
36556  M00S21759.cpumtr  +++|          GT     B6,B1,WTF13 IF MORE THAN 1 BUFFER NEEDED
36557  M00S21760.cpumtr  +++|          SB4    1
36558  M00S21761.cpumtr  +++|          NZ     X1,CPT      IF BUFFER ALREADY INTERLOCKED
36559  M00S21762.cpumtr  +++|          SX7    BMVI*100B+BMRW
36560  M00S21763.cpumtr  +++|          NG     X2,WTF14    IF REWRITE OF ONE BUFFER
36561  M00S21764.cpumtr  +++| WTF13    SX7    BMVI*100B+BMWR
36562  M00S21765.cpumtr  +++|          ZR     X1,WTF14    IF NO INTERLOCKED BUFFER
36563  M00S21766.cpumtr  +++|          MX1    1           SET CURRENT BUFFER INTERLOCKED FLAG
36564  M00S21767.cpumtr  +++|          LX1    41-59
36565  M00S21768.cpumtr  +++|          BX7    X7+X1
36566  M00S21769.cpumtr  +++| WTF14    SX2    B4-B1
36567  M00S21770.cpumtr  +++|          SX1    LSLB        LOGICAL SECTORS PER I/O BUFFER
36568  M00S21771.cpumtr  +++|          IX0    X2*X1       CHECK IF PRU COUNT OVERFLOW
36569  M00S21772.cpumtr  +++|          LX2    42
36570  M00S21773.cpumtr  +++|          IX0    X0+X1
36571  M00S21774.cpumtr  +++|          SA1    PRUC
36572  M00S21775.cpumtr  +++|          IX1    X1+X0
36573  M00S21776.cpumtr  +++|          AX1    12
36574  M00S21777.cpumtr  +++|          NZ     X1,RCR      IF PRU COUNT WILL EXCEED 12 BITS
36575  M00S21778.cpumtr  +++|          BX7    X7+X2       SET NUMBER OF I/O BUFFERS TO REQUEST
36576  M00S21779.cpumtr  +++|          SA7    WLBR
36577  M00S21780.cpumtr  +++|
36578  M00S21781.cpumtr  +++|*         CALCULATE NUMBER OF I/O BUFFERS ON REMAINDER OF
36579  M00S21782.cpumtr  +++|*         CURRENT TRACK.
36580  M00S21783.cpumtr  +++|
36581  M00S21784.cpumtr  +++|          SA2    A4+B1       GET SECTORS PER TRACK
36582  M00S21785.cpumtr  +++|          SX7    X2
36583  M00S21786.cpumtr  +++|          IX1    X7-X3       SECTOR LIMIT - FIRST SECTOR IN BUFFER
36584  M00S21787.cpumtr  +++|          PX1    X1
36585  M00S21788.cpumtr  +++|          FX1    X1/X6
36586  M00S21789.cpumtr  +++|          UX1,B6 X1
36587  M00S21790.cpumtr  +++|          LX1    B6
Line S21791 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36588  M01S21791.251l664 ---|          SB6    X1          NUMBER OF I/O BUFFERS REMAINING ON TRACK
Line S01609 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36589  M01S01609.251l664 +++|          SB6    X1+         NUMBER OF I/O BUFFERS REMAINING ON TRACK
36590  M00S21792.cpumtr  +++|          GE     B6,B4,WTF20 IF SUFFICIENT ROOM ON CURRENT TRACK
36591  M00S21793.cpumtr  +++|          MX0    -12
36592  M00S21794.cpumtr  +++|          ERX3   X4          GET CURRENT TRACK
36593  M00S21795.cpumtr  +++|          LX2    -18
36594  M00S21796.cpumtr  +++|          SX1    X2          MST ADDRESS
36595  M00S21797.cpumtr  +++|          SB6    WTF15       SET RETURN ADDRESS FOR *SNT*
36596  M00S21798.cpumtr  +++|          LX3    -24
36597  M00S21799.cpumtr  +++|          BX0    -X0*X3
36598  M00S21800.cpumtr  +++|          EQ     SNT         SET NEXT TRACK
36599  M00S21801.cpumtr  +++|
36600  M00S21802.cpumtr  +++| WTF15    SA3    B7+ACLW     CHECK FOR JOB PRU LIMIT
36601  M00S21803.cpumtr  +++|          NG     X2,WTF20    IF NEXT TRACK ASSIGNED
Line S00002 Modification History
M01 (Added by) ns2241
Seq #  *Modification Id* Act 
----------------------------+
36602  M01S00002.ns2241  +++|          ZR     B5,WTF20    IF UPDATE MODE
36603  M00S21804.cpumtr  +++|          MX2    -18
36604  M00S21805.cpumtr  +++|          SX7    /CIOERR/PRL *PRU LIMIT*
36605  M00S21806.cpumtr  +++|          BX2    -X2*X3
36606  M00S21807.cpumtr  +++|          SA3    FSZL        FILE SIZE LIMIT
36607  M00S21808.cpumtr  +++|          ZR     X2,RPC      IF JOB PRU LIMIT
36608  M00S21809.cpumtr  +++|
36609  M00S21810.cpumtr  +++|*         CHECK FILE SIZE LIMIT.
36610  M00S21811.cpumtr  +++|
36611  M00S21812.cpumtr  +++|          ZR     X3,WTF18    IF UNLIMITED
36612  M00S21813.cpumtr  +++|          BX2    X3
36613  M00S21814.cpumtr  +++|          AX2    30
36614  M00S21815.cpumtr  +++|          SA1    A4+B1       SECTORS PER TRACK
36615  M00S21816.cpumtr  +++|          SX1    X1
36616  M00S21817.cpumtr  +++|          NZ     X2,WTF17    IF FILE SIZE ALREADY CALCULATED
36617  M00S21818.cpumtr  +++|          SB4    WTF16       SET RETURN ADDRESS FOR *SRA*
36618  M00S21819.cpumtr  +++|          SB4    -B4         PREVENT SETTING RANDOM INDEX IN FET
36619  M00S21820.cpumtr  +++|          EQ     SRA         CALCULATE NUMBER OF SECTORS ON FILE
36620  M00S21821.cpumtr  +++|
36621  M00S21822.cpumtr  +++| WTF16    SA3    FSZL        FILE SIZE LIMIT
36622  M00S21823.cpumtr  +++|          SX1    B2
36623  M00S21824.cpumtr  +++|          IX6    X7+X1       SECTOR COUNT THRU END OF CURRENT TRACK
36624  M00S21825.cpumtr  +++|          LX6    30
36625  M00S21826.cpumtr  +++|          BX3    X3+X6
36626  M00S21827.cpumtr  +++| WTF17    MX6    -30
36627  M00S21828.cpumtr  +++|          BX6    -X6*X3
36628  M00S21829.cpumtr  +++|          LX1    30          ADD IN SECTORS FOR NEW TRACK
36629  M00S21830.cpumtr  +++|          IX7    X1+X3
36630  M00S21831.cpumtr  +++|          SA7    A3+
36631  M00S21832.cpumtr  +++|          AX7    30
36632  M00S21833.cpumtr  +++|          IX6    X7-X6
36633  M00S21834.cpumtr  +++|          SX7    /CIOERR/FTL *FILE TOO LONG*
36634  M00S21835.cpumtr  +++|          PL     X6,RPC      IF FILE SIZE LIMIT EXCEEDED
36635  M00S21836.cpumtr  +++|
36636  M00S21837.cpumtr  +++|*         REQUEST ADDITIONAL TRACK.
36637  M00S21838.cpumtr  +++|
36638  M00S21839.cpumtr  +++| WTF18    ERX1   X4          GET EQUIPMENT AND CURENT TRACK
36639  M00S21840.cpumtr  +++|          MX6    -12
36640  M00S21841.cpumtr  +++|          LX1    12
36641  M00S21842.cpumtr  +++|          BX6    -X6*X1
36642  M00S21843.cpumtr  +++|          LX1    12
36643  M00S21844.cpumtr  +++|          MX0    12
36644  M00S21845.cpumtr  +++|          BX1    X0*X1
36645  M00S21846.cpumtr  +++|          BX6    X1+X6
36646  M00S21847.cpumtr  +++|          LX6    36
36647  M00S21848.cpumtr  +++|          SX7    B1          REQUEST ONE TRACK
36648  M00S21849.cpumtr  +++|          BX6    X6+X7
36649  M00S21850.cpumtr  +++|          MX0    -5
36650  M00S21851.cpumtr  +++|          MONITOR  RTCM
36651  M00S21852.cpumtr  +++|          MX6    -12         CHECK TRACK ASSIGNMENT
36652  M00S21853.cpumtr  +++|          BX7    -X6*X1
36653  M00S21854.cpumtr  +++|          NZ     X7,WTF19    IF TRACK ASSIGNED
36654  M00S21855.cpumtr  +++|
36655  M00S21856.cpumtr  +++|*         PROCESS TRACK LIMIT.
36656  M00S21857.cpumtr  +++|
36657  M00S21858.cpumtr  +++|+         NG     X1,RCR1     IF *RTCM* REJECT
36658  M00S21859.cpumtr  +++|          EQ     RPC         CALL PP CIO TO COMPLETE REQUEST
36659  M00S21860.cpumtr  +++|
36660  M00S21861.cpumtr  +++|*         INCREMENT MASS STORAGE PRU COUNT.
36661  M00S21862.cpumtr  +++|
36662  M00S21863.cpumtr  +++| WTF19    SA1    A4+B1       GET SECTORS PER TRACK
36663  M00S21864.cpumtr  +++|          SX1    X1
36664  M00S21865.cpumtr  +++|          SA2    PCMS
36665  M00S21866.cpumtr  +++|          IX6    X2+X1
36666  M00S21867.cpumtr  +++|          SA6    A2
36667  M00S21868.cpumtr  +++|          MX7    1
36668  M00S21869.cpumtr  +++|          LX7    10-59
36669  M00S21870.cpumtr  +++|          SA2    A4          CLEAR REWRITE FLAG
36670  M00S21871.cpumtr  +++|          BX7    -X7*X2
36671  M00S21872.cpumtr  +++|          SA7    A4+
36672  M00S21873.cpumtr  +++|
36673  M00S21874.cpumtr  +++|*         CALL I/O BUFFER MANAGER.
36674  M00S21875.cpumtr  +++|
36675  M00S21876.cpumtr  +++| WTF20    SA2    WLBR        GET NUMBER OF I/O BUFFERS TO REQUEST
36676  M00S21877.cpumtr  +++|          SB4    WTF21       SET RETURN ADDRESS FOR *CIM*
36677  M00S21878.cpumtr  +++|          EQ     CIM         CALL I/O BUFFER MANAGER
36678  M00S21879.cpumtr  +++|
Line S21880 Modification History
M01 (Removed by) cpumt55
Seq #  *Modification Id* Act 
----------------------------+
36679  M01S21880.cpumt55 ---| WTF21    SA3    LBIA        GET FWA I/O BUFFER CONTROL BUFFER
36680  M01S21881.cpumt55 ---|          SA2    A5+B1       CHECK IF MULTIPLE BUFFERS INTERLOCKED
36681  M01S21882.cpumt55 ---|          BX1    X1-X1
Line S00001 Modification History
M01 (Added by) cpumt55
Seq #  *Modification Id* Act 
----------------------------+
36682  M01S00001.cpumt55 +++| WTF21    SA2    A5+B1       CHECK IF MULTIPLE BUFFERS INTERLOCKED
36683  M01S00002.cpumt55 +++|          BX7    X7-X7
Line S21883 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36684  M01S21883.251l664 ---|          NZ     X2,WTF22    IF MORE THAN ONE BUFFER ASSIGNED
Line S01610 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36685  M01S01610.251l664 +++|          NZ     X2,CPT      IF MORE THAN ONE BUFFER ASSIGNED
36686  M00S21884.cpumtr  +++|          SA2    WLBR
Line S21885 Modification History
M01 (Removed by) cpumt55
Seq #  *Modification Id* Act 
----------------------------+
36687  M01S21885.cpumt55 ---|          AX2    43
Line S00003 Modification History
M01 (Added by) cpumt55
Seq #  *Modification Id* Act 
----------------------------+
36688  M01S00003.cpumt55 +++|          SA0    WTF21.1     SET RETURN ADDRESS FOR *CMS*
36689  M01S00004.cpumt55 +++|          AX2    41
Line S21886 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36690  M01S21886.251l664 ---|          ZR     X2,WTF22    IF ONLY ONE BUFFER REQUESTED
Line S01611 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36691  M01S01611.251l664 +++|          ZR     X2,CPT      IF ONLY ONE BUFFER REQUESTED
Line S21887 Modification History
M01 (Removed by) cpumt55
Seq #  *Modification Id* Act 
----------------------------+
36692  M01S21887.cpumt55 ---|+         SA2    A4          CHECK FOR REWRITE
Line S00005 Modification History
M01 (Added by) cpumt55
Seq #  *Modification Id* Act 
----------------------------+
36693  M01S00005.cpumt55 +++|          LX2    -1
36694  M01S00006.cpumt55 +++|          NG     X2,WTF21.2  IF NEXT BUFFER REQUIRED
36695  M01S00007.cpumt55 +++|          EQ     CMS         CALCULATE MOD 40B OF CURRENT SECTOR
36696  M01S00008.cpumt55 +++|
36697  M01S00009.cpumt55 +++| WTF21.1  SX1    X1-LSLB+LSLB/4
Line S00010 Modification History
M01 (Added by) cpumt55
M02 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36698  M02S00010.251l664 ---|          NG     X1,WTF22    IF CAN WRITE MORE DATA TO CURRENT BUFFER
Line S01612 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36699  M01S01612.251l664 +++|          NG     X1,CPT      IF CAN WRITE MORE DATA TO CURRENT BUFFER
Line S00011 Modification History
M01 (Added by) cpumt55
Seq #  *Modification Id* Act 
----------------------------+
36700  M01S00011.cpumt55 +++| WTF21.2  SA2    A4          CHECK FOR REWRITE
36701  M00S21888.cpumtr  +++|          LX2    59-10
36702  M00S21889.cpumtr  +++|          PL     X2,RCR2     IF NOT REWRITE
Line S21890 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36703  M01S21890.251l664 ---|
36704  M01S21891.251l664 ---|*         CHECK FOR UNRECOVERED DATA ERROR ON PRE-READ BLOCK.
36705  M01S21892.251l664 ---|
Line S21893 Modification History
M01 (Removed by) cpumt55
M02 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36706  M02S21893.251l664 ---| WTF22    SA1    X3          *PAD1*
Line S00012 Modification History
M01 (Added by) cpumt55
M02 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36707  M02S00012.251l664 ---| WTF22    SA3    LBIA        GET FWA CONTROL BUFFER
36708  M02S00013.251l664 ---|          SA1    X3          *PAD1*
Line S21894 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36709  M01S21894.251l664 ---|          SA2    A1+B1       *PAD2*
36710  M01S21895.251l664 ---|          SA3    A2+B1       *PAD3*
36711  M01S21896.251l664 ---|          BX1    X1+X2
36712  M01S21897.251l664 ---|          SA2    A3+B1       *PAD4*
36713  M01S21898.251l664 ---|          BX1    X1+X3
36714  M01S21899.251l664 ---|          MX3    2           CHECK ERROR BITS
36715  M01S21900.251l664 ---|          BX1    X1+X2
36716  M01S21901.251l664 ---|          LX3    21-59
36717  M01S21902.251l664 ---|          BX1    X3*X1
36718  M01S21903.251l664 ---|          ZR     X1,CPT      IF NO ERRORS
Line S21904 Modification History
M01 (Removed by) cpumt55
M02 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36719  M02S21904.251l664 ---|          BX7    X7-X7
Line S21905 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36720  M01S21905.251l664 ---|          EQ     RPC         CALL *1MS*
Line S01613 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36721  M01S01613.251l664 +++|          EQ     CPT         CALCULATE PRU-S TO TRANSFER
36722  M00S21906.cpumtr  +++|
36723  M00S21907.cpumtr  +++|*         REENTRY FROM *CPT*.
36724  M00S21908.cpumtr  +++|*         CHECK IF ROOM FOR BLOCK WRITE AND EOI.
36725  M00S21909.cpumtr  +++|
36726  M00S21910.cpumtr  +++| WTF23    ERX1   X4          GET CURRENT SECTOR
36727  M00S21911.cpumtr  +++|          LX1    -12
36728  M00S21912.cpumtr  +++|          MX7    -12
36729  M00S21913.cpumtr  +++|          BX1    -X7*X1
36730  M00S21914.cpumtr  +++|          IX7    X1+X6       LAST SECTOR POSITION + 1 TO TRANSFER
36731  M00S21915.cpumtr  +++|          SA1    A4          CHECK FOR REWRITE
36732  M00S21916.cpumtr  +++|          MX6    1
36733  M00S21917.cpumtr  +++|          LX1    59-10
36734  M00S21918.cpumtr  +++|          SB4    B6          SAVE WORD COUNT
36735  M00S21919.cpumtr  +++|          BX6    -X6*X1
36736  M00S21920.cpumtr  +++|          PL     X1,WTF24    IF NOT REWRITE
36737  M00S21921.cpumtr  +++|          SA1    NTKP        GET NEXT TRACK POINTER
36738  M00S21922.cpumtr  +++|          IX1    X1-X7
36739  M00S21923.cpumtr  +++|          PL     X1,WTF25    IF NOT OVERWRITTING EOI SECTOR
Line S00003 Modification History
M01 (Added by) ns2241
Seq #  *Modification Id* Act 
----------------------------+
36740  M01S00003.ns2241  +++|          NZ     B5,WTF24    IF NOT UPDATE MODE
36741  M01S00004.ns2241  +++|          SX7    /CIOERR/IFM *INCORRECT MODIFICATION*
36742  M01S00005.ns2241  +++|          EQ     RPC         CALL *1MS*
36743  M01S00006.ns2241  +++|
36744  M00S21924.cpumtr  +++| WTF24    SA1    A4+B1       SET WRITE EOI FLAG
36745  M00S21925.cpumtr  +++|          LX6    10-59
36746  M00S21926.cpumtr  +++|          SA6    A4+         CLEAR REWRITE FLAG
36747  M00S21927.cpumtr  +++|          MX6    1
36748  M00S21928.cpumtr  +++|          BX6    X1+X6
36749  M00S21929.cpumtr  +++|          SA6    A4+1
36750  M00S21930.cpumtr  +++|          SA1    LBIA        GET FIRST SECTOR OF CURRENT BUFFER
36751  M00S21931.cpumtr  +++|          AX1    30
36752  M00S21932.cpumtr  +++|          IX6    X7-X1       MOD 40B OF LAST SECTOR TO TRANSFER + 1
36753  M00S21933.cpumtr  +++|          SA1    A5+1        CHECK FOR MORE BUFFERS INTERLOCKED
36754  M00S21934.cpumtr  +++|          SX6    X6-LSLB
36755  M00S21935.cpumtr  +++|          NG     X6,WTF25    IF NOT OVERWRITE OF LAST SECTOR IN BUFFER
36756  M00S21936.cpumtr  +++|          ZR     X1,WTF8     IF MUST SAVE ROOM FOR EOI
36757  M00S21937.cpumtr  +++|
36758  M00S21938.cpumtr  +++|*         ADVANCE CURRENT TRACK/SECTOR.
36759  M00S21939.cpumtr  +++|
36760  M00S21940.cpumtr  +++| WTF25    ERX1   X4          GET FST ENTRY
36761  M00S21941.cpumtr  +++|          MX6    48
36762  M00S21942.cpumtr  +++|          LX1    -12
36763  M00S21943.cpumtr  +++|          BX6    X6*X1
36764  M00S21944.cpumtr  +++|          SA2    A4+B1       GET SECTOR LIMIT
36765  M00S21945.cpumtr  +++|          BX6    X6+X7       SAVE ADVANCED SECTOR
36766  M00S21946.cpumtr  +++|          SX1    X2
36767  M00S21947.cpumtr  +++|          IX1    X7-X1
36768  M00S21948.cpumtr  +++|          NG     X1,WTF28    IF NOT AT END OF TRACK
36769  M00S21949.cpumtr  +++|          LX2    -18         GET SECTOR LIMIT
36770  M00S21950.cpumtr  +++|          SX1    X2          MST ADDRESS
36771  M00S21951.cpumtr  +++|          BX7    X0          SAVE I/O BUFFER DATA ADDRESS
36772  M00S21952.cpumtr  +++|          LX6    -12
36773  M00S21953.cpumtr  +++|          MX0    -12
36774  M00S21954.cpumtr  +++|          BX0    -X0*X6      CURRENT TRACK
36775  M00S21955.cpumtr  +++|          SB6    WTF26       SET RETURN ADDRESS FOR *SNT*
36776  M00S21956.cpumtr  +++|          EQ     SNT         SET NEXT TRACK
36777  M00S21957.cpumtr  +++|
36778  M00S21958.cpumtr  +++| WTF26    PL     X2,WTF26    IF NEXT TRACK NOT ASSIGNED
36779  M00S21959.cpumtr  +++|          SA6    NTKP        SAVE NEXT TRACK POINTER
36780  M00S21960.cpumtr  +++|          BX0    X6
36781  M00S21961.cpumtr  +++|          SB6    WTF27       SET RETURN ADDRESS FOR *SNT*
36782  M00S21962.cpumtr  +++|          EQ     SNT         SET NEXT TRACK
36783  M00S21963.cpumtr  +++|
36784  M00S21964.cpumtr  +++| WTF27    SA1    A6
36785  M00S21965.cpumtr  +++|          BX0    X7          RESTORE I/O BUFFER DATA ADDRESS
36786  M00S21966.cpumtr  +++|          SA6    A6+         SAVE OLD EOI SECTOR/NEXT TRACK POINTER
36787  M00S21967.cpumtr  +++|          BX7    X1
36788  M00S21968.cpumtr  +++|          MX6    48
36789  M00S21969.cpumtr  +++|          ERX1   X4          GET FST ENTRY
36790  M00S21970.cpumtr  +++|          LX1    -24
36791  M00S21971.cpumtr  +++|          BX1    X6*X1
36792  M00S21972.cpumtr  +++|          BX1    X1+X7       SET CURRENT TRACK
36793  M00S21973.cpumtr  +++|          LX1    12
36794  M00S21974.cpumtr  +++|          BX6    X6*X1       CLEAR CURRENT SECTOR
36795  M00S21975.cpumtr  +++|
36796  M00S21976.cpumtr  +++|*         SET LINK IN HEADER IF LAST PRU IN SECTOR USED.
36797  M00S21977.cpumtr  +++|*         INCREMENT TOTAL PRU COUNT.
36798  M00S21978.cpumtr  +++|*         DECREMENT CIO BUFFER PRU COUNT AND WORD COUNT.
36799  M00S21979.cpumtr  +++|
36800  M00S21980.cpumtr  +++| WTF28    SA2    USCW        GET UPDATED SECTOR CONTROL WORD
Line S21981 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36801  M01S21981.251l664 ---|          MX1    4
36802  M01S21982.251l664 ---|          LX1    23-59       CLEAR PARITY ERROR AND IGNORE DATA FIELDS
Line S01614 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
36803  M01S01614.251l664 +++|          MX1    2
36804  M01S01615.251l664 +++|          LX1    23-59       CLEAR DATA FLAGS
36805  M00S21983.cpumtr  +++|          BX2    -X1*X2
36806  M00S21984.cpumtr  +++|          MX1    -LSLBS      CHECK IF LAST PRU IN BUFFER USED
36807  M00S21985.cpumtr  +++|          BX1    -X1*X6      MOD *LSLB* OF CURRENT SECTOR
36808  M00S21986.cpumtr  +++|          LX6    12
36809  M00S21987.cpumtr  +++|          SB6    X1
36810  M00S21988.cpumtr  +++|          BX1    X6
36811  M00S21989.cpumtr  +++|          BX6    X2
36812  M00S21990.cpumtr  +++|          MX2    48
36813  M00S21991.cpumtr  +++|          NZ     B6,WTF29    IF NOT WRITING LAST PRU IN BUFFER
36814  M00S21992.cpumtr  +++|          BX6    X2*X6       SET NEXT TRACK/SECTOR IN HEADER
36815  M00S21993.cpumtr  +++|          BX6    X6+X7
36816  M00S21994.cpumtr  +++| WTF29    SA6    X3          STORE HEADER
36817  M00S21995.cpumtr  +++|          SX3    B2-/CIO/EOR
36818  M00S21996.cpumtr  +++|          MX6    56
36819  M00S21997.cpumtr  +++|          SA2    NPTR        GET NUMBER OF PRUS TO TRANSFER
36820  M00S21998.cpumtr  +++|          BX6    X6*X1       SET LAST OPERATION INCOMPLETE WRITE
36821  M00S21999.cpumtr  +++|          LX2    6
36822  M00S22000.cpumtr  +++|          SB6    X2-100B
36823  M00S22001.cpumtr  +++|          SX2    2
36824  M00S22002.cpumtr  +++|          BX6    X6+X2
36825  M00S22003.cpumtr  +++|          LX7    36          BUILD EOF TRAILER
36826  M00S22004.cpumtr  +++|          NG     X3,WTF31    IF FULL BLOCK TRANSFER
36827  M00S22005.cpumtr  +++|          SX1    B6+77B
36828  M00S22006.cpumtr  +++|          NZ     X3,WTF30    IF EOF TRANSFERRED
36829  M00S22007.cpumtr  +++|          SX3    B4-B6       CALCULATE WORD COUNT OF SHORT PRU
36830  M00S22008.cpumtr  +++|          LX7    12
36831  M00S22009.cpumtr  +++|          LX3    -24
36832  M00S22010.cpumtr  +++|          BX7    X7+X3
36833  M00S22011.cpumtr  +++| WTF30    SA7    ERWB        PLACE TRAILER IN EXTENDED WRITE BUFFER
36834  M00S22012.cpumtr  +++|          SB6    A0+         SAVE (A0)
36835  M00S22013.cpumtr  +++|          BX7    X0          SAVE (X0)
36836  M00S22014.cpumtr  +++|          LX0    30
36837  M00S22015.cpumtr  +++|          SA0    A7          FWA TO BEGIN TRANSFER FROM
36838  M00S22016.cpumtr  +++|          AX0    30
36839  M00S22017.cpumtr  +++|          SX3    A7
36840  M00S22018.cpumtr  +++|          IX1    X0+X1
36841  M00S22019.cpumtr  +++|          LX3    30
36842  M00S22020.cpumtr  +++|          BX0    X1+X3       30/FWA FROM, 30/FWA I/O BUFFER DATA TO
36843  M00S22021.cpumtr  +++|          WE     1           TRANSFER ONE WORD
36844  M00S22022.cpumtr  +++|          RJ     HHE         HANG ON HALF-EXIT
36845  M00S22023.cpumtr  +++|          BX0    X7          RESTORE (X0)
36846  M00S22024.cpumtr  +++|          SA0    B6          RESTORE (A0)
36847  M00S22025.cpumtr  +++|          LX2    1           SET LAST OPERATION COMPLETE WRITE
36848  M00S22026.cpumtr  +++|          BX6    X6+X2
36849  M00S22027.cpumtr  +++| WTF31    SA2    A2          GET NUMBER OF PRUS TO TRANSFER
36850  M00S22028.cpumtr  +++|          EWX6   X4
36851  M00S22029.cpumtr  +++|          SA1    PRUC        INCREMENT TOTAL PRU COUNT
36852  M00S22030.cpumtr  +++|          SA3    WCCB        DECREMENT CIO BUFFER WORD COUNT
36853  M00S22031.cpumtr  +++|          IX6    X1+X2
36854  M00S22032.cpumtr  +++|          SA6    A1
36855  M00S22033.cpumtr  +++|          SA1    NPCB        DECREMENT CIO BUFFER PRU COUNT
36856  M00S22034.cpumtr  +++|          SX7    B4
36857  M00S22035.cpumtr  +++|          IX7    X3-X7
36858  M00S22036.cpumtr  +++|          IX6    X1-X2
36859  M00S22037.cpumtr  +++|          PL     X6,WTF32    IF MORE PRUS IN CIO BUFFER
36860  M00S22038.cpumtr  +++|          BX6    X6-X6
36861  M00S22039.cpumtr  +++| WTF32    SA6    A1
36862  M00S22040.cpumtr  +++|          SA7    A3
36863  M00S22041.cpumtr  +++|          SA1    SDTW        SKIP DATA TRANSFER FLAG FOR WRITE
36864  M00S22042.cpumtr  +++|          SA2    A4
36865  M00S22043.cpumtr  +++|          BX7    X2+X1       ADD SKIP FLAG
36866  M00S22044.cpumtr  +++|          SA7    A4
36867  M00S22045.cpumtr  +++|          LX2    59-5
36868  M00S22046.cpumtr  +++|          SA1    A5+3        GET *OUT*
36869  M00S22047.cpumtr  +++|          SX6    B4          SET WORD COUNT TO TRANSFER
36870  M00S22048.cpumtr  +++|          SX1    X1
36871  M00S22049.cpumtr  +++|          NG     X2,CWD      IF *WRITECW*
36872  M00S22050.cpumtr  +++|          SB6    WTF33       SET RETURN ADDRESS FOR *BWD*
36873  M00S22051.cpumtr  +++|          EQ     BWD         BUFFER WRITE DATA
36874  M00S22052.cpumtr  +++|
36875  M00S22053.cpumtr  +++|*         REENTRY FROM *BWD*/*CWD*.
36876  M00S22054.cpumtr  +++|*         DATA TRANSFERRED FROM CIO BUFFER TO I/O BUFFER.
36877  M00S22055.cpumtr  +++|*         UPDATE *OUT* POINTER IN FET AND MESSAGE BUFFER.
36878  M00S22056.cpumtr  +++|
36879  M00S22057.cpumtr  +++| WTF33    SX3    B1+B1       UPDATE *OUT* IN FET
36880  M00S22058.cpumtr  +++|          SX6    X1
36881  M00S22059.cpumtr  +++|          MX2    36
36882  M00S22060.cpumtr  +++|          IX3    X5+X3
36883  M00S22061.cpumtr  +++|          SA1    A5+3        UPDATE *OUT* IN MESSAGE BUFFER
36884  M00S22062.cpumtr  +++|          SB6    WTF34       SET RETURN ADDRESS FOR *CSP*
36885  M00S22063.cpumtr  +++|          EWX6   X3
36886  M00S22064.cpumtr  +++|          BX2    X2*X1       *IN*
36887  M00S22065.cpumtr  +++|          BX6    X6+X2
36888  M00S22066.cpumtr  +++|          SA6    A1
36889  M00S22067.cpumtr  +++|          EQ     CSP         CALCULATE SECTOR POSITION
36890  M00S22068.cpumtr  +++|
36891  M00S22069.cpumtr  +++|*         CHECK IF CURRENT SECTOR IN SAME I/O BUFFER.
36892  M00S22070.cpumtr  +++|
36893  M00S22071.cpumtr  +++| WTF34    SX2    BMRF*100B   RELEASE AND FLUSH WRITE BUFFER
36894  M00S22072.cpumtr  +++|          SB4    WTF36       SET RETURN ADDRESS FOR *CIM*
36895  M00S22073.cpumtr  +++|          NG     X7,CIM      IF SECTOR NOT IN SAME BUFFER
36896  M00S22074.cpumtr  +++|          SX7    X7-LSLB
36897  M00S22075.cpumtr  +++|          PL     X7,CIM      IF SECTOR NOT IN SAME BUFFER
36898  M00S22076.cpumtr  +++|          SB6    CPT         CALCULATE PRUS TO TRANSFER
36899  M00S22077.cpumtr  +++| WTF35    SA2    A4          CHECK IF TERMINATION CONDITION REACHED
36900  M00S22078.cpumtr  +++|          SX6    14B
36901  M00S22079.cpumtr  +++|          BX6    X6*X2
36902  M00S22080.cpumtr  +++|          SB3    X6
36903  M00S22081.cpumtr  +++|          SB2    B2-B3
36904  M00S22082.cpumtr  +++|          PL     B2,CMP      IF TERMINATION CONDITION REACHED
36905  M00S22083.cpumtr  +++|          JP     B6          CONTINUE WRITE PROCESSING
36906  M00S22084.cpumtr  +++|
36907  M00S22085.cpumtr  +++| WTF36    SA2    A4          CHECK FOR REWRITE
36908  M00S22086.cpumtr  +++|          LX2    59-10
36909  M00S22087.cpumtr  +++|          PL     X2,WTF36.1  IF NOT REWRITE
36910  M00S22088.cpumtr  +++|          SA1    PMFF
Line S22089 Modification History
M01 (Removed by) cpumt56
Seq #  *Modification Id* Act 
----------------------------+
36911  M01S22089.cpumt56 ---|          ZR     X1,RCR2     IF DIRECT ACCESS PERMANENT FILE
Line S00001 Modification History
M01 (Added by) cpumt56
Seq #  *Modification Id* Act 
----------------------------+
36912  M01S00001.cpumt56 +++|          SB6    RCR2        EXIT ADDRESS IF OPERATION NOT COMPLETE
36913  M01S00002.cpumt56 +++|          ZR     X1,WTF35    IF DIRECT ACCESS PERMANENT FILE
36914  M00S22090.cpumtr  +++| WTF36.1  ZR     X6,WTF37    IF NEXT BUFFER NOT INTERLOCKED
36915  M00S22091.cpumtr  +++|          SB6    CPT         CALCULATE PRUS TO TRANSFER
36916  M00S22092.cpumtr  +++|          NG     X2,WTF35    IF REWRITE
36917  M00S22093.cpumtr  +++|          SA1    A5+1
36918  M00S22094.cpumtr  +++|          NZ     X1,WTF35    IF ADDITIONAL I/O BUFFERS INTERLOCKED
36919  M00S22095.cpumtr  +++| WTF37    SB6    WTF8        REQUEST MORE I/O BUFFERS
36920  M00S22096.cpumtr  +++|          EQ     WTF35       CHECK FOR TERMINATION CONDITION
36921  M00S22097.cpumtr  +++| BWD      SPACE  4,15
36922  M00S22098.cpumtr  +++|**        BWD - BUFFER WRITE DATA.
36923  M00S22099.cpumtr  +++|*
36924  M00S22100.cpumtr  +++|*         ENTRY  (B6) = RETURN ADDRESS.
36925  M00S22101.cpumtr  +++|*                (X0) = FWA TO TRANSFER DATA IN I/O BUFFER.
36926  M00S22102.cpumtr  +++|*                (X1) = *OUT*.
36927  M00S22103.cpumtr  +++|*                (X6) = WORD COUNT TO TRANSFER.
36928  M00S22104.cpumtr  +++|*
36929  M00S22105.cpumtr  +++|*         EXIT   (X1) = ADVANCED *OUT* POINTER.
36930  M00S22106.cpumtr  +++|*                (B5) = FILE MODE - 1.
36931  M00S22107.cpumtr  +++|*
36932  M00S22108.cpumtr  +++|*         USES   A - 0, 1, 2.
36933  M00S22109.cpumtr  +++|*                B - 4, 5.
36934  M00S22110.cpumtr  +++|*                X - 0, 2, 3, 6, 7.
36935  M00S22111.cpumtr  +++|*
36936  M00S22112.cpumtr  +++|*         CALLS  ABP.
36937  M00S22113.cpumtr  +++|
36938  M00S22114.cpumtr  +++|
36939  M00S22115.cpumtr  +++| BWD      ZR     X6,RB6      IF NO DATA TO TRANSFER
36940  M00S22116.cpumtr  +++|          SA2    ABRA        ABSOLUTE *RA*
36941  M00S22117.cpumtr  +++|          LX0    -30
36942  M00S22118.cpumtr  +++|          IX2    X1+X2       ABSOLUTE *OUT*
36943  M00S22119.cpumtr  +++|          SA0    X2
36944  M00S22120.cpumtr  +++|          BX0    X0+X2
36945  M00S22121.cpumtr  +++|          LX0    30          30/ABSOLUTE *OUT*, 30/FWA I/O BUFFER DATA
36946  M00S22122.cpumtr  +++|          SX7    X6
36947  M00S22123.cpumtr  +++|          SB4    BWD1        SET RETURN ADDRESS FOR *ABP*
36948  M00S22124.cpumtr  +++|          EQ     ABP         ADVANCE *OUT*
36949  M00S22125.cpumtr  +++|
36950  M00S22126.cpumtr  +++| BWD1     NG     X7,BWD4     IF NO SECOND PART TO TRANSFER
36951  M00S22127.cpumtr  +++|          IX6    X6-X7       NUMBER OF WORDS IN FIRST PART
36952  M00S22128.cpumtr  +++|          SX3    X2          RELATIVE *FIRST*
36953  M00S22129.cpumtr  +++|          SB4    X6          SET TRANSFER SIZE
36954  M00S22130.cpumtr  +++|          SB5    BTSZ
36955  M00S22131.cpumtr  +++|          BX2    X2-X2
36956  M00S22132.cpumtr  +++|          GE     B5,B4,BWD3  IF ONE BLOCK OR LESS TO WRITE
36957  M00S22133.cpumtr  +++|          SA2    PSTA        ADDRESS INCREMENT WORD
36958  M00S22134.cpumtr  +++| BWD2     WE     BTSZ
36959  M00S22135.cpumtr  +++|          RJ     HHE         HANG ON HALF-EXIT
36960  M00S22136.cpumtr  +++|          SB5    B5+BTSZ     INCREMENT ADDRESSES
36961  M00S22137.cpumtr  +++|          SA0    A0+BTSZ
36962  M00S22138.cpumtr  +++| BWD3     IX0    X0+X2
36963  M00S22139.cpumtr  +++|          LT     B5,B4,BWD2  IF MORE BLOCKS TO TRANSFER
36964  M00S22140.cpumtr  +++|          SB5    B4-B5
36965  M00S22141.cpumtr  +++|          WE     B5+BTSZ
36966  M00S22142.cpumtr  +++|          RJ     HHE         HANG ON HALF-EXIT
36967  M00S22143.cpumtr  +++|          MX2    -30
36968  M00S22144.cpumtr  +++|          SX6    B5+BTSZ     SET WORD COUNT OF LAST BLOCK
36969  M00S22145.cpumtr  +++|          BX0    -X2*X0      CLEAR CM ADDRESS FIELD
36970  M00S22146.cpumtr  +++|          IX0    X0+X6       ADVANCE I/O BUFFER ADDRESS
36971  M00S22147.cpumtr  +++|          SA2    ABRA        ABSOLUTE *RA*
36972  M00S22148.cpumtr  +++|          IX3    X3+X2       ABSOLUTE *FIRST*
36973  M00S22149.cpumtr  +++|          SA0    X3
36974  M00S22150.cpumtr  +++|          LX3    30
36975  M00S22151.cpumtr  +++|          BX0    X0+X3
36976  M00S22152.cpumtr  +++|          BX6    X7          SET BLOCK SIZE OF SECOND BLOCK
36977  M00S22153.cpumtr  +++| BWD4     SB4    X6          SET TRANSFER SIZE
36978  M00S22154.cpumtr  +++|          SB5    BTSZ
36979  M00S22155.cpumtr  +++|          BX2    X2-X2
36980  M00S22156.cpumtr  +++|          GE     B5,B4,BWD6  IF .LE. ONE BLOCK TO TRANSFER
36981  M00S22157.cpumtr  +++|          SA2    PSTA
36982  M00S22158.cpumtr  +++| BWD5     WE     BTSZ
36983  M00S22159.cpumtr  +++|          RJ     HHE         HANG ON HALF-EXIT
36984  M00S22160.cpumtr  +++|          SB5    B5+BTSZ
36985  M00S22161.cpumtr  +++|          SA0    A0+BTSZ     INCREMENT ADDRESSES
36986  M00S22162.cpumtr  +++| BWD6     IX0    X0+X2
36987  M00S22163.cpumtr  +++|          LT     B5,B4,BWD5  IF MORE FULL BLOCKS TO TRANSFER
36988  M00S22164.cpumtr  +++|          SB5    B4-B5
36989  M00S22165.cpumtr  +++|          WE     B5+BTSZ
36990  M00S22166.cpumtr  +++|          RJ     HHE         HANG ON HALF-EXIT
36991  M00S22167.cpumtr  +++|          SA2    FMOD        RESTORE FILE MODE
36992  M00S22168.cpumtr  +++|          SB5    X2-1
36993  M00S22169.cpumtr  +++|          JP     B6          RETURN
36994  M00S22170.cpumtr  +++| CWD      SPACE  4,15
36995  M00S22171.cpumtr  +++|**        CWD - CONTROL WORD WRITE DATA.
36996  M00S22172.cpumtr  +++|*
36997  M00S22173.cpumtr  +++|*         ENTRY  (X0) = FWA TO TRANSFER DATA IN I/O BUFFER.
36998  M00S22174.cpumtr  +++|*                (X1) = *OUT*.
36999  M00S22175.cpumtr  +++|*                (X6) = WORD COUNT TO TRANSFER.
37000  M00S22176.cpumtr  +++|*
37001  M00S22177.cpumtr  +++|*         EXIT   TO *WTF33*.
37002  M00S22178.cpumtr  +++|*                (X1) = ADVANCED *OUT* POINTER.
37003  M00S22179.cpumtr  +++|*
37004  M00S22180.cpumtr  +++|*         USES   A - 2, 3, 7.
37005  M00S22181.cpumtr  +++|*                B - 4, 6.
37006  M00S22182.cpumtr  +++|*                X - 0, 2, 3, 6, 7.
37007  M00S22183.cpumtr  +++|*
37008  M00S22184.cpumtr  +++|*         CALLS  ABP, BWD.
37009  M00S22185.cpumtr  +++|
37010  M00S22186.cpumtr  +++|
37011  M00S22187.cpumtr  +++| CWD      SA2    NPTR        GET NUMBER OF PRUS TO TRANSFER
37012  M00S22188.cpumtr  +++|          SA3    WCCB        DECREMENT WORD COUNT OF *CIO* BUFFER
37013  M00S22189.cpumtr  +++|          LX2    1           COUNT CONTROL WORDS
37014  M00S22190.cpumtr  +++|          IX7    X3-X2
37015  M00S22191.cpumtr  +++|          SA7    A3
37016  M00S22192.cpumtr  +++|          BX3    X6          WORD COUNT OF TRANSFER
37017  M00S22193.cpumtr  +++|          SA2    NPTR
37018  M00S22194.cpumtr  +++|          ZR     X2,WTF33    IF TRANSFER COMPLETE
37019  M00S22195.cpumtr  +++|          SX6    B1
37020  M00S22196.cpumtr  +++|          IX7    X2-X6
37021  M00S22197.cpumtr  +++|          SA7    A2
37022  M00S22198.cpumtr  +++|          SX7    B1          SKIP OVER HEADER CONTROL WORD
37023  M00S22199.cpumtr  +++|          SB4    CWD2        SET RETURN ADDRESS FOR *ABP*
37024  M00S22200.cpumtr  +++|          EQ     ABP         ADVANCE *OUT*
37025  M00S22201.cpumtr  +++|
37026  M00S22202.cpumtr  +++| CWD2     LX6    6           SET FULL BLOCK WORD COUNT
37027  M00S22203.cpumtr  +++|          IX7    X0+X6       SAVE ADVANCED I/O BUFFER DATA ADDRESS
37028  M00S22204.cpumtr  +++|          SA7    CWLA
37029  M00S22205.cpumtr  +++|          IX3    X3-X6
37030  M00S22206.cpumtr  +++|          PL     X3,CWD3     IF FULL BLOCK
37031  M00S22207.cpumtr  +++|          IX6    X3+X6       SET SHORT BLOCK WORD COUNT
37032  M00S22208.cpumtr  +++| CWD3     BX7    X3          SAVE WORD COUNT
37033  M00S22209.cpumtr  +++|          SB6    CWD4
37034  M00S22210.cpumtr  +++|          SA7    A7+B1
37035  M00S22211.cpumtr  +++|          EQ     BWD         WRITE DATA
37036  M00S22212.cpumtr  +++|
37037  M00S22213.cpumtr  +++| CWD4     SA2    CWLA        GET ADVANCED I/O BUFFER DATA ADDRESS
37038  M00S22214.cpumtr  +++|          SA3    A2+B1       GET WORD COUNT
37039  M00S22215.cpumtr  +++|          BX0    X2          RESET (X0)
37040  M00S22216.cpumtr  +++|          SA2    NPTR        WORD COUNT OF TRANSFER
37041  M00S22217.cpumtr  +++|          SB4    WTF33       SET EXIT ADDRESS
37042  M00S22218.cpumtr  +++|          SX7    B1
37043  M00S22219.cpumtr  +++|          ZR     X2,ABP      IF TRANSFER COMPLETE, ADVANCE OUT
37044  M00S22220.cpumtr  +++|          IX7    X2-X7       DECREMENT PRUS
37045  M00S22221.cpumtr  +++|          SA7    A2
37046  M00S22222.cpumtr  +++|          SB4    CWD2        SET RETURN ADDRESS
37047  M00S22223.cpumtr  +++|          SX7    B1+B1       SKIP TRAILER AND HEADER CONTROL WORDS
37048  M00S22224.cpumtr  +++|          SX6    B1
37049  M00S22225.cpumtr  +++|          EQ     ABP         ADVANCE *OUT*
37050  M00S22226.cpumtr  +++| SCW      SPACE  4,30
37051  M00S22227.cpumtr  +++|**        SCW - SCAN CONTROL WORDS FOR *WRITECW*.
37052  M00S22228.cpumtr  +++|*
37053  M00S22229.cpumtr  +++|*         ENTRY  (B2) = MAXIMUM PRUS TO TRANSFER THIS PASS.
37054  M00S22230.cpumtr  +++|*                (B4) = MOD 10B OF CURRENT SECTOR.
37055  M00S22231.cpumtr  +++|*                (X0) = I/O BUFFER DATA FWA.
37056  M00S22232.cpumtr  +++|*                (X3) = ADDRESS OF CONTROL WORD.
37057  M00S22233.cpumtr  +++|*
37058  M00S22234.cpumtr  +++|*         EXIT   TO *CMP* IF TRANSFER TERMINATED DUE TO INSUFFICIENT
37059  M00S22235.cpumtr  +++|*                   DATA IN CIO BUFFER.
37060  M00S22236.cpumtr  +++|*                TO *CPT* IF MORE DATA AVAILABLE AFTER INSUFFICIENT
37061  M00S22237.cpumtr  +++|*                   DATA DETECTED.
37062  M00S22238.cpumtr  +++|*                TO *WTF23* IF PRUS TO TRANSFER.
37063  M00S22239.cpumtr  +++|*                (B2) = STATUS (0 = FULL BLOCK, 4 = EOR, 10B = EOF).
37064  M00S22240.cpumtr  +++|*                (B6) = WORD COUNT OF TRANSFER.
37065  M00S22241.cpumtr  +++|*                (X0) AND (X3) RESTORED TO SAME AS ON ENTRY.
37066  M00S22242.cpumtr  +++|*                (X6) = (NPTR) = NUMBER OF PRUS TO TRANSFER
37067  M00S22243.cpumtr  +++|*                   THIS PASS (1 TO 10B).
37068  M00S22244.cpumtr  +++|*
37069  M00S22245.cpumtr  +++|*         ERROR  TO *RPC* IF BUFFER CONTROL WORD ERROR.
37070  M00S22246.cpumtr  +++|*
37071  M00S22247.cpumtr  +++|*         USES   A - 0, 2, 3, 6, 7.
37072  M00S22248.cpumtr  +++|*                B - 2, 3, 4, 6.
37073  M00S22249.cpumtr  +++|*                X - 0, 1, 2, 3, 6, 7.
37074  M00S22250.cpumtr  +++|*
37075  M00S22251.cpumtr  +++|*         CALLS  ABP, CBS.
37076  M00S22252.cpumtr  +++|
37077  M00S22253.cpumtr  +++|
37078  M00S22254.cpumtr  +++| SCW      SA2    X3          GET HEADER WORD
37079  M00S22255.cpumtr  +++|          BX6    X2
37080  M00S22256.cpumtr  +++|          SA6    USCW        SAVE UPDATED SECTOR CONTROL WORD
37081  M00S22257.cpumtr  +++|          LX0    30
37082  M00S22258.cpumtr  +++|          SA2    A5+B1
37083  M00S22259.cpumtr  +++|          SB3    B4-LSLB/4
37084  M00S22260.cpumtr  +++|          SA0    B4          MOD 10B OF CURRENT SECTOR
37085  M00S22261.cpumtr  +++|          NZ     X2,SCW0     IF NEXT BUFFER RESERVED
37086  M00S22262.cpumtr  +++|          SB2    -B3         LIMIT TRANSFER TO PRESERVE ROOM FOR EOI
37087  M00S22263.cpumtr  +++| SCW0     BX0    X3+X0       SAVE (X3) AND (X0)
37088  M00S22264.cpumtr  +++|          SA3    A5+3        GET *OUT*
37089  M00S22265.cpumtr  +++|          BX6    X6-X6       CLEAR NUMBER OF PRUS TO TRANSFER
37090  M00S22266.cpumtr  +++|          SX1    X3
37091  M00S22267.cpumtr  +++| SCW1     SA2    WCCB        GET WORD COUNT OF *CIO* BUFFER
37092  M00S22268.cpumtr  +++|          LX3    X6,B1
37093  M00S22269.cpumtr  +++|          LX6    6
37094  M00S22270.cpumtr  +++|          IX3    X3+X6       NUMBER OF WORDS TO TRANSFER
37095  M00S22271.cpumtr  +++|          LX6    -6
37096  M00S22272.cpumtr  +++|          SB4    X2
37097  M00S22273.cpumtr  +++|          IX3    X2-X3
37098  M00S22274.cpumtr  +++|          SA2    ABRA        ABSOLUTE *RA*
37099  M00S22275.cpumtr  +++|          ZR     X3,SCW7     IF NO MORE DATA IN BUFFER
37100  M00S22276.cpumtr  +++|          IX2    X2+X1
37101  M00S22277.cpumtr  +++|          MX7    -12
37102  M00S22278.cpumtr  +++|          ERX2   X2          GET HEADER CONTROL WORD
37103  M00S22279.cpumtr  +++|          BX2    -X7*X2      BYTE COUNT
37104  M00S22280.cpumtr  +++|          SX7    X2-500B
37105  M00S22281.cpumtr  +++|          NZ     X7,SCW4     IF NOT FULL BLOCK
37106  M00S22282.cpumtr  +++|          SX3    X3-102B
37107  M00S22283.cpumtr  +++|          NG     X3,SCW7     IF NOT ENOUGH DATA IN BUFFER
37108  M00S22284.cpumtr  +++|          SX6    X6+B1       INCREMENT NUMBER OF SECTORS TO TRANSFER
37109  M00S22285.cpumtr  +++|          SB6    A0
37110  M00S22286.cpumtr  +++|          SA2    USCW        UPDATE SECTOR CONTROL WORD
37111  M00S22287.cpumtr  +++|          SB4    LSLB/4
37112  M00S22288.cpumtr  +++|          NE     B6,B4,SCW1.1  IF PRU NOT IN NEXT CONTROL WORD
37113  M00S22289.cpumtr  +++|          BX7    X2          STORE SECTOR CONTROL WORD IN BUFFER
37114  M00S22290.cpumtr  +++|          SB6    B0
37115  M00S22291.cpumtr  +++|          SA7    X0
37116  M00S22292.cpumtr  +++|          SA2    A7+B1       GET NEXT SECTOR CONTROL WORD
37117  M00S22293.cpumtr  +++|          SX3    B1          INCREMENT SECTOR CONTROL WORD ADDRESS
37118  M00S22294.cpumtr  +++|          SA0    B0+
37119  M00S22295.cpumtr  +++|          IX0    X0+X3
37120  M00S22296.cpumtr  +++| SCW1.1   SX7    10000B      BUILD SECTOR MASK
37121  M00S22297.cpumtr  +++|          LX7    B6
37122  M00S22298.cpumtr  +++|          SA0    A0+B1
37123  M00S22299.cpumtr  +++|          BX7    -X7*X2      CLEAR SHORT PRU FLAG
37124  M00S22300.cpumtr  +++|          SX3    B2+
37125  M00S22301.cpumtr  +++|          IX3    X3-X6
37126  M00S22302.cpumtr  +++|          SA7    USCW        SAVE UPDATED SECTOR CONTROL WORD
37127  M00S22303.cpumtr  +++|          SX7    102B        SET NUMBER OF WORDS TO ADVANCE
37128  M00S22304.cpumtr  +++|          SB4    SCW1        SET RETURN ADDRESS FOR *ABP*
37129  M00S22305.cpumtr  +++|          NZ     X3,ABP      IF MORE PRUS TO TRANSFER
37130  M00S22306.cpumtr  +++| SCW2     LX6    6
37131  M00S22307.cpumtr  +++|          SB6    X6          WORD COUNT TO TRANSFER
37132  M00S22308.cpumtr  +++|          SB2    B0          SET FULL BLOCK INDICATOR
37133  M00S22309.cpumtr  +++|          LX6    -6
37134  M00S22310.cpumtr  +++| SCW3     MX1    -30
37135  M00S22311.cpumtr  +++|          BX3    -X1*X0      RESTORE (X0) AND (X3)
37136  M00S22312.cpumtr  +++|          SA6    NPTR        SAVE NUMBER OF PRUS TO TRANSFER
37137  M00S22313.cpumtr  +++|          AX0    30
37138  M00S22314.cpumtr  +++|          EQ     WTF23       RETURN TO MAIN WRITE LOOP
37139  M00S22315.cpumtr  +++|
37140  M00S22316.cpumtr  +++| SCW4     PL     X7,SCW6     IF BYTE COUNT .GT. 500B
37141  M00S22317.cpumtr  +++|          SX7    5
37142  M00S22318.cpumtr  +++|          PX7    X7
37143  M00S22319.cpumtr  +++|          PX2    X2
37144  M00S22320.cpumtr  +++|          NX7    X7
37145  M00S22321.cpumtr  +++|          FX7    X2/X7
37146  M00S22322.cpumtr  +++|          UX7,B6 X7
37147  M00S22323.cpumtr  +++|          LX7    B6
37148  M00S22324.cpumtr  +++|          SX2    X7+2
37149  M00S22325.cpumtr  +++|          IX3    X3-X2
37150  M00S22326.cpumtr  +++|          NG     X3,SCW7     IF NOT ENOUGH DATA IN BUFFER
37151  M00S22327.cpumtr  +++|          SB3    X7
37152  M00S22328.cpumtr  +++|          SA2    USCW        GET UPDATED SECTOR CONTROL WORD
37153  M00S22329.cpumtr  +++|          SB4    LSLB/4
37154  M00S22330.cpumtr  +++|          SX3    B1
37155  M00S22331.cpumtr  +++|          SB6    A0
37156  M00S22332.cpumtr  +++|          NE     B6,B4,SCW4.1  IF PRU NOT IN NEXT CONTROL WORD
37157  M00S22333.cpumtr  +++|          BX7    X2          STORE SECTOR CONTROL WORD IN BUFFER
37158  M00S22334.cpumtr  +++|          SA0    B0
37159  M00S22335.cpumtr  +++|          SA7    X0
37160  M00S22336.cpumtr  +++|          SA2    A7+B1       GET NEXT SECTOR CONTROL WORD
37161  M00S22337.cpumtr  +++|          IX0    X0+X3
37162  M00S22338.cpumtr  +++|          SB6    B0
37163  M00S22339.cpumtr  +++| SCW4.1   LX3    12
37164  M00S22340.cpumtr  +++|          LX3    B6
37165  M00S22341.cpumtr  +++|          BX7    X2+X3       SET SHORT PRU FLAG
37166  M00S22342.cpumtr  +++|          SA7    USCW        SAVE UPDATED SECTOR CONTROL WORD
37167  M00S22343.cpumtr  +++|          LX6    6
37168  M00S22344.cpumtr  +++|          SB6    X6+B3       WORD COUNT OF TRANSFER
37169  M00S22345.cpumtr  +++|          LX6    -6
37170  M00S22346.cpumtr  +++|          SX6    X6+B1       INCREMENT NUMBER OF SECTORS TO TRANSFER
37171  M00S22347.cpumtr  +++|          SB2    /CIO/EOR    SET EOR STATUS
37172  M00S22348.cpumtr  +++|          NZ     B3,SCW3     IF DATA IN BLOCK
37173  M00S22349.cpumtr  +++|          SB4    SCW5        SET RETURN ADDRESS FOR *ABP*
37174  M00S22350.cpumtr  +++|          SX7    1           SET NUMBER OF WORDS TO ADVANCE
37175  M00S22351.cpumtr  +++|          EQ     ABP         ADVANCE *OUT*
37176  M00S22352.cpumtr  +++|
37177  M00S22353.cpumtr  +++| SCW5     SA2    ABRA        *RA*
37178  M00S22354.cpumtr  +++|          IX2    X2+X1
37179  M00S22355.cpumtr  +++|          MX7    -4
37180  M00S22356.cpumtr  +++|          ERX2   X2          GET TRAILER CONTROL WORD
37181  M00S22357.cpumtr  +++|          MX7    -4
37182  M00S22358.cpumtr  +++|          LX2    12
37183  M00S22359.cpumtr  +++|          BX7    X7+X2
37184  M00S22360.cpumtr  +++|          NZ     X7,SCW3     IF NOT LEVEL 17B
37185  M00S22361.cpumtr  +++|          SB2    /CIO/EOF    SET EOF STATUS
37186  M00S22362.cpumtr  +++|          EQ     SCW3        RESTORE ENTRY CONDITIONS
37187  M00S22363.cpumtr  +++|
37188  M00S22364.cpumtr  +++| SCW6     SX7    /CIOERR/BLE *BUFFER CONTROL WORD ERROR*
37189  M00S22365.cpumtr  +++|          EQ     RPC         CALL PP CIO
37190  M00S22366.cpumtr  +++|
37191  M00S22367.cpumtr  +++|*         PROCESS INSUFFICIENT DATA IN CIO BUFFER.
37192  M00S22368.cpumtr  +++|
37193  M00S22369.cpumtr  +++| SCW7     NZ     X6,SCW2     IF SECTORS TO TRANSFER
37194  M00S22370.cpumtr  +++|          SB6    SCW8        SET RETURN ADDRESS FOR *CBS*
37195  M00S22371.cpumtr  +++|          EQ     CBS         CHECK BUFFER SPACE
37196  M00S22372.cpumtr  +++|
37197  M00S22373.cpumtr  +++| SCW8     SX1    B4
37198  M00S22374.cpumtr  +++|          IX7    X1-X7
37199  M00S22375.cpumtr  +++|          NG     X7,CPT      IF MORE DATA IN BUFFER
37200  M00S22376.cpumtr  +++|          EQ     CMP         COMPLETE WRITE PROCESSING
37201  M00S22377.cpumtr  +++|          TITLE  CIO PROCESSOR SUBROUTINES.
37202  M00S22378.cpumtr  +++| ABP      SPACE  4,15
37203  M00S22379.cpumtr  +++|**        ABP - ADVANCE BUFFER POINTERS.
37204  M00S22380.cpumtr  +++|*
37205  M00S22381.cpumtr  +++|*         ENTRY  (B4) = RETURN ADDRESS.
37206  M00S22382.cpumtr  +++|*                (X1) = *IN* OR *OUT* POINTER TO BE ADVANCED.
37207  M00S22383.cpumtr  +++|*                (X7) = NUMBER OF WORDS TO TRANSFER.
37208  M00S22384.cpumtr  +++|*
37209  M00S22385.cpumtr  +++|*         EXIT   (X1) = ADVANCED *IN* OR *OUT* POINTER.
37210  M00S22386.cpumtr  +++|*                (X2) = *FIRST* POINTER IN BITS 0 - 17.
37211  M00S22387.cpumtr  +++|*                (X7) = NUMBER OF WORDS TO TRANSFER AFTER WRAP-AROUND
37212  M00S22388.cpumtr  +++|*                   IF .GT. 0.
37213  M00S22389.cpumtr  +++|*
37214  M00S22390.cpumtr  +++|*         USES   A - 2.
37215  M00S22391.cpumtr  +++|*                X - 1, 2, 7.
37216  M00S22392.cpumtr  +++|
37217  M00S22393.cpumtr  +++|
37218  M00S22394.cpumtr  +++| ABP      SA2    A4-B1       GET *FIRST* AND *LIMIT*
37219  M00S22395.cpumtr  +++|          SX2    X2          *LIMIT*
37220  M00S22396.cpumtr  +++|          IX2    X2-X1       NUMBER OF WORDS IN BUFFER BEFORE WRAP
37221  M00S22397.cpumtr  +++|          IX1    X1+X7       ADVANCE *IN* OR *OUT* POINTER
37222  M00S22398.cpumtr  +++|          IX7    X7-X2       NUMBER OF WORDS TO TRANSFER AFTER WRAP
37223  M00S22399.cpumtr  +++|          SA2    A4-1        GET *FIRST*
37224  M00S22400.cpumtr  +++|          LX2    -24
37225  M00S22401.cpumtr  +++|          SX2    X2
37226  M00S22402.cpumtr  +++|          NG     X7,RB4      IF NO WRAP AROUND
37227  M00S22403.cpumtr  +++|          SX1    X2          SET *IN* OR *OUT* = *FIRST*
37228  M00S22404.cpumtr  +++|          IX1    X1+X7       ADVANCE *IN* OR *OUT* POINTER
37229  M00S22405.cpumtr  +++|          NZ     X7,RB4      IF DATA IN SECOND PART
37230  M00S22406.cpumtr  +++|          SX7    -B1         INDICATE NO SECOND PART OF TRANSFER
37231  M00S22407.cpumtr  +++|          JP     B4          RETURN
37232  M00S22408.cpumtr  +++| CBS      SPACE  4,15
37233  M00S22409.cpumtr  +++|**        CBS - CHECK BUFFER SPACE.
37234  M00S22410.cpumtr  +++|*
37235  M00S22411.cpumtr  +++|*         ENTRY  (B6) = RETURN ADDRESS.
37236  M00S22412.cpumtr  +++|*
37237  M00S22413.cpumtr  +++|*         EXIT   (X6) = (NPCB) = BUFFER SIZE IN PRUS.
37238  M00S22414.cpumtr  +++|*                (X7) = (WCCB) = WORD COUNT OF DATA IN BUFFER
37239  M00S22415.cpumtr  +++|*                   IF WRITE, ROOM REMAINING IN BUFFER IF READ.
37240  M00S22416.cpumtr  +++|*
37241  M00S22417.cpumtr  +++|*         ERROR  TO *RPC* IF BUFFER ARGUMENT ERROR.
37242  M00S22418.cpumtr  +++|*
37243  M00S22419.cpumtr  +++|*         USES   A - 1, 2, 3, 6, 7.
37244  M00S22420.cpumtr  +++|*                B - 2, 3.
37245  M00S22421.cpumtr  +++|*                X - 0, 1, 2, 3, 6, 7.
37246  M00S22422.cpumtr  +++|
37247  M00S22423.cpumtr  +++|
37248  M00S22424.cpumtr  +++| CBS      SX2    B1+B1       GET *OUT* FROM FET
37249  M00S22425.cpumtr  +++|          IX2    X5+X2
37250  M00S22426.cpumtr  +++|          ERX2   X2
37251  M00S22427.cpumtr  +++|          SB2    X2
37252  M00S22428.cpumtr  +++|          SA2    A4          GET MESSAGE BUFFER PARAMETERS
37253  M00S22429.cpumtr  +++|          SX6    B2
37254  M00S22430.cpumtr  +++|          SA3    A4-B1       GET FIRST AND LIMIT FROM MESSAGE BUFFER
37255  M00S22431.cpumtr  +++|          LX2    59-6
37256  M00S22432.cpumtr  +++|          SA1    A3-B1       GET *IN* FROM MESSAGE BUFFER
37257  M00S22433.cpumtr  +++|          SX0    X3          LIMIT
37258  M00S22434.cpumtr  +++|          AX3    24
37259  M00S22435.cpumtr  +++|          SX3    X3          FIRST
37260  M00S22436.cpumtr  +++|          SB3    X3
37261  M00S22437.cpumtr  +++|          PL     X2,CBS1     IF READ
37262  M00S22438.cpumtr  +++|          SB2    X1          GET *OUT* FROM MESSAGE BUFFER
37263  M00S22439.cpumtr  +++|          SX1    1           GET *IN* FROM FET
37264  M00S22440.cpumtr  +++|          IX1    X5+X1
37265  M00S22441.cpumtr  +++|          ERX1   X1
37266  M00S22442.cpumtr  +++|          SX1    X1+
37267  M00S22443.cpumtr  +++|          BX6    X1
37268  M00S22444.cpumtr  +++|          LX1    24
37269  M00S22445.cpumtr  +++| CBS1     IX7    X6-X3       REVALIDATE IN OR OUT POINTER
37270  M00S22446.cpumtr  +++|          NG     X7,CBS5     IF POINTER .LT. FIRST
37271  M00S22447.cpumtr  +++|          IX7    X6-X0
37272  M00S22448.cpumtr  +++|          PL     X7,CBS5     IF POINTER .GE. LIMIT
37273  M00S22449.cpumtr  +++|          AX1    24
37274  M00S22450.cpumtr  +++|          IX0    X0-X3       LIMIT - FIRST
37275  M00S22451.cpumtr  +++|          LX1    24
37276  M00S22452.cpumtr  +++|          SX3    B2
37277  M00S22453.cpumtr  +++|          BX7    X1+X3       UPDATE MESSAGE BUFFER *IN* AND *OUT*
37278  M00S22454.cpumtr  +++|          SA7    A3-B1
37279  M00S22455.cpumtr  +++|          LX1    -24
37280  M00S22456.cpumtr  +++|          IX7    X1-X3       *IN* - *OUT*
37281  M00S22457.cpumtr  +++|          SX1    X1+1        *IN* + 1
37282  M00S22458.cpumtr  +++|          NG     X2,CBS2     IF WRITE FUNCTION
37283  M00S22459.cpumtr  +++|          IX7    X3-X1       *OUT* - *IN* - 1
37284  M00S22460.cpumtr  +++| CBS2     PL     X7,CBS3     IF NO BUFFER WRAP REQUIRED
37285  M00S22461.cpumtr  +++|          IX7    X0+X7
37286  M00S22462.cpumtr  +++| CBS3     SA7    WCCB        SAVE WORD COUNT
37287  M00S22463.cpumtr  +++|          BX6    X7          CALCULATE BUFFER SIZE IN PRUS
37288  M00S22464.cpumtr  +++|          LX2    59-5-59+6
37289  M00S22465.cpumtr  +++|          AX6    6
37290  M00S22466.cpumtr  +++|          PL     X2,CBS4     IF NOT *READCW*/*WRITECW*
37291  M00S22467.cpumtr  +++|          SX6    102B
37292  M00S22468.cpumtr  +++|          PX1    X7
37293  M00S22469.cpumtr  +++|          PX6    X6
37294  M00S22470.cpumtr  +++|          NX6    X6
37295  M00S22471.cpumtr  +++|          FX6    X1/X6
37296  M00S22472.cpumtr  +++|          UX6    B2,X6
37297  M00S22473.cpumtr  +++|          LX6    B2
37298  M00S22474.cpumtr  +++| CBS4     SA6    NPCB        SAVE BUFFER SIZE IN PRUS
37299  M00S22475.cpumtr  +++|          JP     B6          RETURN
37300  M00S22476.cpumtr  +++|
37301  M00S22477.cpumtr  +++| CBS5     SX7    /CIOERR/BUF *BUFFER ARGUMENT ERROR*
37302  M00S22478.cpumtr  +++|          EQ     RPC         CALL PP CIO
37303  M00S22479.cpumtr  +++| CIM      SPACE  4,25
37304  M00S22480.cpumtr  +++|**        CIM - CALL I/O BUFFER MANAGER.
37305  M00S22481.cpumtr  +++|*
37306  M00S22482.cpumtr  +++|*         ENTRY  (B4) = RETURN ADDRESS.
37307  M00S22483.cpumtr  +++|*                (X2) = 12/0,6/NBI,1/I,29/0,6/OP,6/BC.
37308  M00S22484.cpumtr  +++|*                       NBI = NUMBER OF ADDITIONAL WRITE BUFFERS
37309  M00S22485.cpumtr  +++|*                          TO INTERLOCK.
37310  M00S22486.cpumtr  +++|*                       I = SET IF CURRENT WRITE BUFFER INTERLOCKED.
37311  M00S22487.cpumtr  +++|*                       OP = I/O BUFFER MANAGER OPERATION.
37312  M00S22488.cpumtr  +++|*                       BC = BUFFER COUNT (OP = BMRD) OR
37313  M00S22489.cpumtr  +++|*                          INTERLOCK MODE (OP = BMVI).
37314  M00S22490.cpumtr  +++|*
37315  M00S22491.cpumtr  +++|*         EXIT   (X6) = FWA CONTROL BUFFER IF INTERLOCKED.
37316  M00S22492.cpumtr  +++|*                (LBIA) = INTERLOCKED BUFFER ADDRESS IF NONZERO.
37317  M00S22493.cpumtr  +++|*
37318  M00S22494.cpumtr  +++|*         ERROR  TO *RCR2* IF I/O BUFFER BUSY.
37319  M00S22495.cpumtr  +++|*                TO *RCR3* IF I/O BUFFER RECALL.
Line S22496 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37320  M01S22496.251l664 ---|*                TO *RPC* IF DISK NOT READY OR UNRECOVERABLE
Line S22497 Modification History
M01 (Removed by) ns2318
M02 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37321  M02S22497.251l664 ---|*                   HARDWARE ERROR.
Line S00024 Modification History
M01 (Added by) ns2318
M02 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37322  M02S00024.251l664 ---|*                HARDWARE ERROR OR ADDRESS ERROR.
Line S01616 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37323  M01S01616.251l664 +++|*                TO *RPC* IF I/O ERROR, ADDRESS ERROR OR INACCESSIBLE
37324  M01S01617.251l664 +++|*                   DEVICE.
37325  M00S22498.cpumtr  +++|*
37326  M00S22499.cpumtr  +++|*         USES   A - 0, 1, 2, 3, 6, 7.
37327  M00S22500.cpumtr  +++|*                B - 3.
37328  M00S22501.cpumtr  +++|*                X - 0, 1, 2, 3, 6, 7.
37329  M00S22502.cpumtr  +++|*
37330  M00S22503.cpumtr  +++|*         CALLS  CMS.
37331  M00S22504.cpumtr  +++|*
37332  M00S22505.cpumtr  +++|*         MACROS MONITOR.
37333  M00S22506.cpumtr  +++|
37334  M00S22507.cpumtr  +++|
37335  M00S22508.cpumtr  +++| CIM      SA3    A4          GET FNT ORDINAL
37336  M00S22509.cpumtr  +++|          MX0    -12
37337  M00S22510.cpumtr  +++|          LX3    -24
37338  M00S22511.cpumtr  +++|          BX6    -X0*X3
37339  M00S22512.cpumtr  +++|          SA3    LBIA
37340  M00S22513.cpumtr  +++|          BX7    X7-X7
37341  M00S22514.cpumtr  +++|          SA7    A3          CLEAR BUFFER INTERLOCK ADDRESS
37342  M00S22515.cpumtr  +++|          SX1    B7          GET CONTROL POINT NUMBER
37343  M00S22516.cpumtr  +++|          LX1    18-7
37344  M00S22517.cpumtr  +++|          BX6    X1+X6
37345  M00S22518.cpumtr  +++|          LX6    12
37346  M00S22519.cpumtr  +++|          BX6    X6+X2
37347  M00S22520.cpumtr  +++|          MONITOR  BFMM
Line S01618 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37348  M01S01618.251l664 +++|          SX2    X2+
Line S22521 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37349  M01S22521.251l664 ---|          SB3    X2-BMFL*100B
Line S01619 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37350  M01S01619.251l664 +++|          SB3    X2-BMFO*100B
37351  M00S22522.cpumtr  +++|          SX2    B1          GET FNT+2 WORD
37352  M00S22523.cpumtr  +++|          LX1    -12
37353  M00S22524.cpumtr  +++|          IX2    X4+X2
37354  M00S22525.cpumtr  +++|          BX6    -X0*X1      I/O BUFFER LINK
37355  M00S22526.cpumtr  +++|          ERX1   X2
37356  M00S22527.cpumtr  +++|          BX7    X0*X1
37357  M00S22528.cpumtr  +++|          BX7    X7+X6
37358  M00S22529.cpumtr  +++|          EWX7   X2
Line S22530 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37359  M01S22530.251l664 ---|          ZR     B3,CIM0     IF BUFFER FLUSH
37360  M01S22531.251l664 ---|          SB3    B3-BMRF*100B+BMFL*100B
37361  M01S22532.251l664 ---|          NZ     B3,CIM0.1   IF NOT BUFFER FLUSH
37362  M01S22533.251l664 ---| CIM0     SX6    B0+         CLEAR BUFFER INDEX
37363  M01S22534.251l664 ---| CIM0.1   BX7    X1
37364  M01S22535.251l664 ---|          SA1    A5+
37365  M01S22536.251l664 ---|          LX1    -12
37366  M01S22537.251l664 ---|          NG     X1,CIM2     IF RECALL STATUS
Line S01620 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37367  M01S01620.251l664 +++|          BX7    X1
37368  M01S01621.251l664 +++|          SA1    A5+
37369  M01S01622.251l664 +++|          LX1    -12
37370  M01S01623.251l664 +++|          NG     B3,CIM0     IF NOT A FLUSH OPERATION
37371  M01S01624.251l664 +++|          SX6    B0+
37372  M01S01625.251l664 +++| CIM0     NG     X1,CIM2     IF RECALL STATUS
37373  M00S22538.cpumtr  +++|          LX3    X1,B1
37374  M00S22539.cpumtr  +++|          BX7    X7-X7
37375  M00S22540.cpumtr  +++|          NG     X3,RCR2     IF I/O BUFFER BUSY
Line S22541 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37376  M01S22541.251l664 ---|          LX1    2
37377  M01S22542.251l664 ---|          LX3    2
37378  M01S22543.251l664 ---|          BX3    X1+X3
Line S00025 Modification History
M01 (Added by) ns2318
M02 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37379  M02S00025.251l664 ---|          LX1    1
37380  M02S00026.251l664 ---|          BX3    X1+X3
Line S01626 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37381  M01S01626.251l664 +++|          AX3    56
37382  M00S22544.cpumtr  +++|          SA1    A5+B1       CHECK FOR MULTIPLE WRITE BUFFERS
Line S22545 Modification History
M01 (Removed by) ns2318
Seq #  *Modification Id* Act 
----------------------------+
37383  M01S22545.ns2318  ---|          NG     X3,CIM3     IF DISK NOT READY OR HARDWARE ERROR
Line S00027 Modification History
M01 (Added by) ns2318
M02 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37384  M02S00027.251l664 ---|          NG     X3,CIM3     IF DISK NOT READY/HARDWARE/ADDRESS ERROR
Line S01627 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37385  M01S01627.251l664 +++|          SB3    X3+         SAVE BUFFER MANAGER STATUS
37386  M00S22546.cpumtr  +++|          SA0    CIM1        SET RETURN ADDRESS FOR *CMS*
37387  M00S22547.cpumtr  +++|          NZ     X6,CMS      IF LINK RETURNED
Line S22548 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37388  M01S22548.251l664 ---|          ZR     X1,RB4      IF NO ALTERNATE BUFFER
Line S01628 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37389  M01S01628.251l664 +++|          ZR     X1,CIM1.1   IF NO ALTERNATE BUFFER
37390  M00S22549.cpumtr  +++|          BX6    -X0*X1
37391  M00S22550.cpumtr  +++|          BX7    X0*X1
37392  M00S22551.cpumtr  +++|          LX7    -12
37393  M00S22552.cpumtr  +++|          SA7    A1
37394  M00S22553.cpumtr  +++|          ERX1   X2
37395  M00S22554.cpumtr  +++|          BX1    X0*X1
37396  M00S22555.cpumtr  +++|          BX7    X1+X6       SET I/O BUFFER LINK IN FNT
37397  M00S22556.cpumtr  +++|          EWX7   X2
37398  M00S22557.cpumtr  +++|          SA1    A5+B1
37399  M00S22558.cpumtr  +++|          SA2    A1+B1
37400  M00S22559.cpumtr  +++|          NZ     X1,CMS      IF MORE ALTERNATE BUFFERS
37401  M00S22560.cpumtr  +++|          BX7    X1
37402  M00S22561.cpumtr  +++|          SA7    A2
37403  M00S22562.cpumtr  +++|          BX7    X2
37404  M00S22563.cpumtr  +++|          SA7    A1
37405  M00S22564.cpumtr  +++|          EQ     CMS         CALCULATE FIRST SECTOR OF BUFFER
37406  M00S22565.cpumtr  +++|
37407  M00S22566.cpumtr  +++| CIM1     LX6    CBTLS       SET INTERLOCKED BUFFER ADDRESS
37408  M00S22567.cpumtr  +++|          LX3    30
37409  M00S22568.cpumtr  +++|          TX6    X6,CBT
37410  M00S22569.cpumtr  +++|          BX6    X6+X3
Line S22570 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37411  M01S22570.251l664 ---|          SA6    A3
Line S01629 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37412  M01S01629.251l664 +++|          SA6    A3+
37413  M01S01630.251l664 +++|          BX7    X7-X7
37414  M01S01631.251l664 +++| CIM1.1   NZ     B3,RPC      IF INACCESSIBLE DEVICE OR ERROR
37415  M00S22571.cpumtr  +++|          JP     B4          RETURN
37416  M00S22572.cpumtr  +++|
37417  M00S22573.cpumtr  +++|*         CHECK FOR RECALL ON FIRST OR SECOND I/O BUFFER.
37418  M00S22574.cpumtr  +++|
37419  M00S22575.cpumtr  +++| CIM2     SA1    A5+B1
37420  M00S22576.cpumtr  +++|          ZR     X1,RCR3     IF RECALL ON FIRST BUFFER
37421  M00S22577.cpumtr  +++|          EWX7   X2
37422  M00S22578.cpumtr  +++|          ZR     X3,RCR3     IF FIRST BUFFER NOT INITIALLY INTERLOCKED
37423  M00S22579.cpumtr  +++|          BX7    X3          RESET INTERLOCKED BUFFER ADDRESS
37424  M00S22580.cpumtr  +++|          SA7    A3
37425  M00S22581.cpumtr  +++|          BX7    X7-X7       CLEAR ORDINAL FROM MESSAGE BUFFER
37426  M00S22582.cpumtr  +++|          SA7    A5+B1
37427  M00S22583.cpumtr  +++|          EQ     RCR3        ENTER RECALL STACK
37428  M00S22584.cpumtr  +++|
Line S22585 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37429  M01S22585.251l664 ---| CIM3     LX6    CBTLS       SET INTERLOCKED BUFFER ADDRESS
37430  M01S22586.251l664 ---|          TX6    X6,CBT
37431  M01S22587.251l664 ---|          SA6    A3
37432  M01S22588.251l664 ---|          EQ     RPC         CALL *1MS* TO PROCESS ERROR
37433  M00S22589.cpumtr  +++| CMS      SPACE  4,15
37434  M00S22590.cpumtr  +++|**        CMS - CALCULATE MOD 40B OF CURRENT SECTOR.
37435  M00S22591.cpumtr  +++|*
37436  M00S22592.cpumtr  +++|*         ENTRY  (A0) = RETURN ADDRESS.
37437  M00S22593.cpumtr  +++|*
37438  M00S22594.cpumtr  +++|*         EXIT   (X1) = MOD 40B OF CURRENT SECTOR.
37439  M00S22595.cpumtr  +++|*                (X2) = LSLB = 40B.
37440  M00S22596.cpumtr  +++|*                (X3) = FIRST SECTOR IN CURRENT I/O BUFFER.
37441  M00S22597.cpumtr  +++|*
37442  M00S22598.cpumtr  +++|*         USES   A - 1.
37443  M00S22599.cpumtr  +++|*                B - 6.
37444  M00S22600.cpumtr  +++|*                X - 0, 1, 2, 3.
37445  M00S22601.cpumtr  +++|
37446  M00S22602.cpumtr  +++|
37447  M00S22603.cpumtr  +++| CMS      ERX1   X4          GET CURRENT SECTOR
37448  M00S22604.cpumtr  +++|          MX0    -12
37449  M00S22605.cpumtr  +++|          SX2    LSLB        LOGICAL SECTORS PER I/O BUFFER
37450  M00S22606.cpumtr  +++|          LX1    -12
37451  M00S22607.cpumtr  +++|          BX1    -X0*X1
37452  M00S22608.cpumtr  +++|          SB6    A0+         GET RETURN ADDRESS
37453  M00S22609.cpumtr  +++|          BX3    X1
37454  M00S22610.cpumtr  +++|          MX1    -LSLBS      CALCULATE MOD 40B OF CURRENT SECTOR
37455  M00S22611.cpumtr  +++|          BX1    -X1*X3
37456  M00S22612.cpumtr  +++|          IX3    X3-X1       CALCULATE FIRST SECTOR
37457  M00S22613.cpumtr  +++|          JP     B6          RETURN
37458  M00S22614.cpumtr  +++| CPT      SPACE  4,20
37459  M00S22615.cpumtr  +++|**        CPT - CALCULATE PRUS TO TRANSFER.
37460  M00S22616.cpumtr  +++|*
37461  M00S22617.cpumtr  +++|*         EXIT   TO *CMP* IF NO PRUS TO WRITE.
37462  M00S22618.cpumtr  +++|*                TO *RDF6* IF READ OPERATION.
37463  M00S22619.cpumtr  +++|*                TO *WTF23* IF PRUS TO WRITE.
Line S00001 Modification History
M01 (Added by) cpum136
Seq #  *Modification Id* Act 
----------------------------+
37464  M01S00001.cpum136 +++|*                TO *RPC* IF PRU SIZE ERROR.
37465  M00S22620.cpumtr  +++|*                (B2) = STATUS (0 = FULL BLOCK, 4 = EOR,
37466  M00S22621.cpumtr  +++|*                   10B = EOF, 14B = EOI).
37467  M00S22622.cpumtr  +++|*                (B6) = WORD COUNT OF TRANSFER.
37468  M00S22623.cpumtr  +++|*                (X0) = FWA DATA IN I/O BUFFER.
37469  M00S22624.cpumtr  +++|*                (X2) = (USCW) = SECTOR CONTROL WORD (UPDATED FOR
37470  M00S22625.cpumtr  +++|*                                WRITE).
37471  M00S22626.cpumtr  +++|*                (X3) = ADDRESS OF LAST ACCESSED SECTOR CONTROL WORD.
37472  M00S22627.cpumtr  +++|*                (B3) = (X6) = (NPTR) = NUMBER OF PRUS TO TRANSFER.
37473  M00S22628.cpumtr  +++|*                (SDTW) = 0, EXCEPT BIT 56 IS SET FOR SKIP DATA
37474  M00S22629.cpumtr  +++|*                            TRANSFER FLAG ON WRITE OPERATION.
37475  M00S22630.cpumtr  +++|*                (USCW) = LAST ACCESSED SECTOR CONTROL WORD.
37476  M00S22631.cpumtr  +++|*
37477  M00S22632.cpumtr  +++|*         USES   A - 1, 2, 6, 7.
37478  M00S22633.cpumtr  +++|*                B - 2, 3, 4, 6.
37479  M00S22634.cpumtr  +++|*                X - 1, 2, 6, 7.
37480  M00S22635.cpumtr  +++|*
37481  M00S22636.cpumtr  +++|*         CALLS  CBS, CSA, SCW.
37482  M00S22637.cpumtr  +++|
37483  M00S22638.cpumtr  +++|
37484  M00S22639.cpumtr  +++| CPT12    ZR     X6,CMP      IF NO DATA IN BUFFER
37485  M00S22640.cpumtr  +++|
37486  M00S22641.cpumtr  +++| CPT      SB4    CPT1        SET RETURN ADDRESS FOR *CSA*
37487  M00S22642.cpumtr  +++|          EQ     CSA         CALCULATE SECTOR ADDRESS IN I/O BUFFER
37488  M00S22643.cpumtr  +++|
37489  M00S22644.cpumtr  +++| CPT1     SA2    A4
37490  M00S22645.cpumtr  +++|          SB2    X7-LSLB     COMPLEMENT OF MAXIMUM PRUS TO TRANSFER
37491  M00S22646.cpumtr  +++|          BX7    X7-X7       CLEAR SKIP FLAG DATA TRANSFER ON WRITE
37492  M00S22647.cpumtr  +++|          SB2    -B2         MAXIMUM PRUS TO TRANSFER
37493  M00S22648.cpumtr  +++|          SA7    SDTW
37494  M00S22649.cpumtr  +++|          LX2    59-6
37495  M00S22650.cpumtr  +++|          SB4    B3+         MOD 10B OF CURRENT SECTOR
37496  M00S22651.cpumtr  +++|          SA1    NPCB        GET NUMBER OF PRUS IN BUFFER
37497  M00S22652.cpumtr  +++|          PL     X2,CPT4     IF READ/SKIP
37498  M00S22653.cpumtr  +++|          LX2    59-5-59+6
37499  M00S22654.cpumtr  +++|          SB3    X1
37500  M00S22655.cpumtr  +++|          NG     X2,SCW      IF *WRITECW*
37501  M00S22656.cpumtr  +++|          SB6    -B2
37502  M00S22657.cpumtr  +++|          SX7    X1+B6
37503  M00S22658.cpumtr  +++|          NG     X7,CPT2     IF WILL NOT REACH LAST SECTOR IN BUFFER
37504  M00S22659.cpumtr  +++|          SA1    A5+B1
37505  M00S22660.cpumtr  +++|          SB3    B2
37506  M00S22661.cpumtr  +++|          NZ     X1,CPT2     IF ANOTHER BUFFER RESERVED
37507  M00S22662.cpumtr  +++|          SB6    LSLB/4      LIMIT TRANSFER TO SAVE SPACE FOR EOI
37508  M00S22663.cpumtr  +++|          LE     B3,B6,CPT2  IF NO SWITCH OF SECTOR CONTROL WORD
37509  M00S22664.cpumtr  +++|          SB3    B6-B4       DO NOT ALLOW SWITCH OF CONTROL WORDS
37510  M00S22665.cpumtr  +++|          SB2    B6-B4
37511  M00S22666.cpumtr  +++| CPT2     SX7    B5          SAVE (B5)
37512  M00S22667.cpumtr  +++|          PX7    X7,B3       SAVE (B3)
37513  M00S22668.cpumtr  +++|          SB5    LSLB/4
37514  M00S22669.cpumtr  +++| CPT2.1   SB6    B5-B4       (B6) = REMAINING PRUS IN CONTROL WORD
37515  M00S22670.cpumtr  +++|          GE     B3,B6,CPT2.2  IF MULTIPLE SECTOR CONTROL WORDS
37516  M00S22671.cpumtr  +++|          SB6    B3          SET PRUS
37517  M00S22672.cpumtr  +++| CPT2.2   SB3    B3-B6       DECREMENT PRUS
37518  M00S22673.cpumtr  +++|          MX1    1
37519  M00S22674.cpumtr  +++|          SB6    B6-B1
37520  M00S22675.cpumtr  +++|          SA2    X3          READ SECTOR CONTROL WORD
37521  M00S22676.cpumtr  +++|          AX1    B6          MASK TO CLEAR SHORT PRU FLAGS
37522  M00S22677.cpumtr  +++|          SB6    B6+B4       SKIP PRUS ALREADY WRITTEN
37523  M00S22678.cpumtr  +++|          SB6    B6+B1
37524  M00S22679.cpumtr  +++|          LX1    B6
37525  M00S22680.cpumtr  +++|          LX1    12
37526  M00S22681.cpumtr  +++|          BX2    -X1*X2      CLEAR SHORT PRU FLAGS
37527  M00S22682.cpumtr  +++|          ZR     B3,CPT2.3   IF ALL PRUS PROCESSED
Line S22683 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37528  M01S22683.251l664 ---|          MX1    4           CLEAR PARITY ERROR AND IGNORE DATA FLAGS
Line S01632 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
37529  M01S01632.251l664 +++|          MX1    2           IGNORE DATA FLAGS
37530  M00S22684.cpumtr  +++|          LX1    23-59
37531  M00S22685.cpumtr  +++|          BX6    -X1*X2
37532  M00S22686.cpumtr  +++|          SX3    X3+B1       INCREMENT TO NEXT SECTOR CONTROL WORD
37533  M00S22687.cpumtr  +++|          SA6    A2          STORE SECTOR CONTROL WORD
37534  M00S22688.cpumtr  +++|          SB4    B0
37535  M00S22689.cpumtr  +++|          EQ     CPT2.1      UPDATE NEXT WORD
37536  M00S22690.cpumtr  +++|
37537  M00S22691.cpumtr  +++| CPT2.3   SB5    X7          RESTORE (B5)
37538  M00S22692.cpumtr  +++|          UX7,B3 X7          RESTORE (B3)
37539  M00S22693.cpumtr  +++|          SX7    14B         GET TERMINATION CONDITION
37540  M00S22694.cpumtr  +++|          SA1    A4
37541  M00S22695.cpumtr  +++|          BX7    X7*X1
37542  M00S22696.cpumtr  +++|          SX7    X7-/CIO/EOI
37543  M00S22697.cpumtr  +++|          SB4    WTF23       SET RETURN ADDRESS
37544  M00S22698.cpumtr  +++|          NZ     X7,CPT3     IF EOR/EOF OPERATION
37545  M00S22699.cpumtr  +++|          NZ     B3,CPT8     IF SECTORS TO TRANSFER
37546  M00S22700.cpumtr  +++|          SB6    CPT12       SET RETURN ADDRESS FOR *CBS*
37547  M00S22701.cpumtr  +++|          EQ     CBS         CHECK BUFFER SPACE
37548  M00S22702.cpumtr  +++|
37549  M00S22703.cpumtr  +++|*         PROCESS SHORT BLOCK FOR EOR/EOF WRITE.
37550  M00S22704.cpumtr  +++|
37551  M00S22705.cpumtr  +++| CPT3     SB2    B2-B3
37552  M00S22706.cpumtr  +++|          ZR     B2,CPT8     IF MAXIMUM PRU TRANSFER
37553  M00S22707.cpumtr  +++|          MX7    1
37554  M00S22708.cpumtr  +++|          LX6    X7,B6
37555  M00S22709.cpumtr  +++|          LX6    13
37556  M00S22710.cpumtr  +++|          SB2    B6-LSLB/4
37557  M00S22711.cpumtr  +++|          NZ     B2,CPT3.1   IF NOT END OF SECTOR CONTROL WORD
37558  M00S22712.cpumtr  +++|          MX1    4           CLEAR PARITY ERROR AND IGNORE DATA FLAGS
37559  M00S22713.cpumtr  +++|          LX1    23-59
37560  M00S22714.cpumtr  +++|          BX6    -X1*X2
37561  M00S22715.cpumtr  +++|          SX3    X3+B1       INCREMENT TO NEXT SECTOR CONTROL WORD
37562  M00S22716.cpumtr  +++|          SA6    A2          STORE SECTOR CONTROL WORD
37563  M00S22717.cpumtr  +++|          SA2    A2+B1       READ NEXT SECTOR CONTROL WORD
37564  M00S22718.cpumtr  +++|          SX6    10000B
37565  M00S22719.cpumtr  +++| CPT3.1   BX2    X2+X6       SET SHORT PRU FLAG IN HEADER
37566  M00S22720.cpumtr  +++|          SB3    B3+B1       INCREMENT NUMBER OF PRUS TO TRANSFER
37567  M00S22721.cpumtr  +++|          SA1    WCCB        GET WORD COUNT OF *CIO* BUFFER
37568  M00S22722.cpumtr  +++|          SB6    X1          NUMBER OF WORDS TO TRANSFER
37569  M00S22723.cpumtr  +++|          SA1    A4
37570  M00S22724.cpumtr  +++|          SB2    /CIO/EOF    SET EOF STATUS
37571  M00S22725.cpumtr  +++|          LX1    59-56
37572  M00S22726.cpumtr  +++|          LX7    56-59
37573  M00S22727.cpumtr  +++|          NG     X1,CPT9     IF PROCESSING EOF FOR *WRITEF*
37574  M00S22728.cpumtr  +++|          SB2    /CIO/EOR    SET EOR STATUS AND SKIP FLAG
37575  M00S22729.cpumtr  +++|          SA7    SDTW        SET SKIP FLAG
37576  M00S22730.cpumtr  +++|          EQ     CPT9        EXIT
37577  M00S22731.cpumtr  +++|
37578  M00S22732.cpumtr  +++|*         PROCESS READ AND SKIP OPERATIONS.
37579  M00S22733.cpumtr  +++|
37580  M00S22734.cpumtr  +++| CPT4     LX2    59-56-59+6
37581  M00S22735.cpumtr  +++|          SX7    B1          BUILD SHORT PRU MASK
37582  M00S22736.cpumtr  +++|          LX7    12-1+59-19
37583  M00S22737.cpumtr  +++|          LX7    B4
37584  M00S22738.cpumtr  +++|          NG     X2,CPT6     IF SKIP DATA TRANSFER
37585  M00S22739.cpumtr  +++|          LX2    0-2-59+56
37586  M00S22740.cpumtr  +++|          MX6    -2
37587  M00S22741.cpumtr  +++|          BX6    -X6*X2      GET TERMINATION CONDITION
37588  M00S22742.cpumtr  +++|          NZ     X6,CPT5     IF NOT *RPHRLS*
37589  M00S22743.cpumtr  +++|          SB2    B1          LIMIT TRANSFER TO ONE PRU
37590  M00S22744.cpumtr  +++| CPT5     SB4    -B2
37591  M00S22745.cpumtr  +++|          SX6    X1+B4
37592  M00S22746.cpumtr  +++|          PL     X6,CPT6     IF ENOUGH ROOM IN BUFFER FOR ALL PRUS
37593  M00S22747.cpumtr  +++|          SB2    X1+         TERMINATE TRANSFER ON FULL BUFFER
37594  M00S22748.cpumtr  +++| CPT6     SA2    X3
37595  M00S22749.cpumtr  +++|          SB3    B2
37596  M00S22750.cpumtr  +++|          SB4    RDF6        SET RETURN ADDRESS
37597  M00S22751.cpumtr  +++|
37598  M00S22752.cpumtr  +++|*         SCAN SHORT PRU FLAGS FOR EOR/EOF/EOI.
37599  M00S22753.cpumtr  +++|
37600  M00S22754.cpumtr  +++| CPT7     LX7    1-59+19     CHECK EOR FLAG
37601  M00S22755.cpumtr  +++|          BX1    X7*X2
37602  M00S22756.cpumtr  +++|          NZ     X1,CPT10    IF SHORT PRU
37603  M00S22757.cpumtr  +++|          SB2    B2-B1
37604  M00S22758.cpumtr  +++|          LX7    59-19
37605  M00S22759.cpumtr  +++|          ZR     B2,CPT8     IF ALL PRUS CHECKED
37606  M00S22760.cpumtr  +++|          PL     X7,CPT7     IF NOT END OF SECTOR CONTROL WORD
37607  M00S22761.cpumtr  +++|          SA2    A2+B1       READ NEXT SECTOR CONTROL WORD
37608  M00S22762.cpumtr  +++|          SX7    B1
37609  M00S22763.cpumtr  +++|          SX3    A2
37610  M00S22764.cpumtr  +++|          LX7    12-1+59-19
37611  M00S22765.cpumtr  +++|          EQ     CPT7        CHECK NEXT SECTOR CONTROL WORD
37612  M00S22766.cpumtr  +++|
37613  M00S22767.cpumtr  +++| CPT8     SX6    B3
37614  M00S22768.cpumtr  +++|          LX6    6
37615  M00S22769.cpumtr  +++|          SB6    X6
37616  M00S22770.cpumtr  +++|          SB2    B0
37617  M00S22771.cpumtr  +++| CPT9     SX6    B3          SAVE NUMBER OF PRUS TO TRANSFER
37618  M00S22772.cpumtr  +++|          BX7    X2          SAVE SECTOR CONTROL WORD
37619  M00S22773.cpumtr  +++|          SA6    NPTR
37620  M00S22774.cpumtr  +++|          SA7    USCW
37621  M00S22775.cpumtr  +++|          JP     B4          EXIT
37622  M00S22776.cpumtr  +++|
37623  M00S22777.cpumtr  +++|*         PROCESS SHORT PRU ON READ/SKIP OPERATION.
37624  M00S22778.cpumtr  +++|
37625  M00S22779.cpumtr  +++| CPT10    SB3    B3-B2       NUMBER OF FULL PRUS
37626  M00S22780.cpumtr  +++|          SX6    B3
37627  M00S22781.cpumtr  +++|          LX6    6
37628  M00S22782.cpumtr  +++|          SB6    X6          WORD COUNT OF FULL PRUS
37629  M00S22783.cpumtr  +++|          MX7    -12
37630  M00S22784.cpumtr  +++|          SX1    X6+77B      GET HEADER WORD FROM LAST DATA WORD
37631  M00S22785.cpumtr  +++|          IX1    X0+X1
37632  M00S22786.cpumtr  +++|          BX6    X0          SAVE (X0)
37633  M00S22787.cpumtr  +++|          SB2    A0          SAVE (A0)
37634  M00S22788.cpumtr  +++|          SA0    ERWB        READ HEADER WORD
37635  M00S22789.cpumtr  +++|          SX0    A0+
37636  M00S22790.cpumtr  +++|          LX0    30
37637  M00S22791.cpumtr  +++|          BX0    X0+X1
37638  M00S22792.cpumtr  +++|          RE     1           TRANSFER ONE WORD OF DATA
37639  M00S22793.cpumtr  +++|          RJ     HHE         HANG ON HALF-EXIT
37640  M00S22794.cpumtr  +++|          SA0    B2          RESTORE (A0)
37641  M00S22795.cpumtr  +++|          BX0    X6          RESTORE (X0)
37642  M00S22796.cpumtr  +++|          SA1    ERWB        GET HEADER WORD
37643  M00S22797.cpumtr  +++|          LX1    12
37644  M00S22798.cpumtr  +++|          SB3    B3+B1       TERMINATE TRANSFER ON SHORT PRU
37645  M00S22799.cpumtr  +++|          BX7    -X7*X1
37646  M00S22800.cpumtr  +++|          AX1    48
37647  M00S22801.cpumtr  +++|          ZR     X7,CPT11    IF EOF/EOI
Line S00002 Modification History
M01 (Added by) cpum136
Seq #  *Modification Id* Act 
----------------------------+
37648  M01S00002.cpum136 +++|          SX6    X1-100B
37649  M00S22802.cpumtr  +++|          SB6    B6+X1       ADD WORD COUNT OF SHORT PRU
Line S00003 Modification History
M01 (Added by) cpum136
Seq #  *Modification Id* Act 
----------------------------+
37650  M01S00003.cpum136 +++|          SX7    /CIOERR/DRE DEVICE ERROR
37651  M01S00004.cpum136 +++|          PL     X6,RPC      IF PRU SIZE ERROR CALL *1MS*
Line S00001 Modification History
M01 (Added by) cpu136a
Seq #  *Modification Id* Act 
----------------------------+
37652  M01S00001.cpu136a +++|          NG     X1,RPC      IF PRU SIZE ERROR CALL *1MS*
37653  M00S22803.cpumtr  +++|          SB2    /CIO/EOR    SET EOR STATUS
37654  M00S22804.cpumtr  +++|          EQ     CPT9        EXIT
37655  M00S22805.cpumtr  +++|
37656  M00S22806.cpumtr  +++| CPT11    SB2    /CIO/EOF    SET EOF STATUS
37657  M00S22807.cpumtr  +++|          NZ     X1,CPT9     IF EOF
37658  M00S22808.cpumtr  +++|          SB2    /CIO/EOI    SET EOI STATUS
37659  M00S22809.cpumtr  +++|          SB3    B3-1        RESET PRU COUNT TO PRECEED EOI
37660  M00S22810.cpumtr  +++|          EQ     CPT9        EXIT
37661  M00S22811.cpumtr  +++| CSA      SPACE  4,15
37662  M00S22812.cpumtr  +++|**        CSA - CALCULATE SECTOR ADDRESS IN I/O BUFFER.
37663  M00S22813.cpumtr  +++|*
37664  M00S22814.cpumtr  +++|*         ENTRY  (B4) = RETURN ADDRESS.
37665  M00S22815.cpumtr  +++|*
37666  M00S22816.cpumtr  +++|*         EXIT   (X0) = FWA DATA IN I/O BUFFER.
37667  M00S22817.cpumtr  +++|*                (X3) = ADDRESS OF SECTOR CONTROL WORD IN I/O
37668  M00S22818.cpumtr  +++|*                       BUFFER.
37669  M00S22819.cpumtr  +++|*                (X6) = (B3) = MOD 10B OF CURRENT SECTOR.
37670  M00S22820.cpumtr  +++|*                (X7) = CURRENT SECTOR - FIRST SECTOR IN BUFFER.
37671  M00S22821.cpumtr  +++|*
37672  M00S22822.cpumtr  +++|*         USES   A - 2.
37673  M00S22823.cpumtr  +++|*                B - 3, 6.
37674  M00S22824.cpumtr  +++|*                X - 0, 2, 3, 6, 7.
37675  M00S22825.cpumtr  +++|*
37676  M00S22826.cpumtr  +++|*         CALLS  CSP.
37677  M00S22827.cpumtr  +++|
37678  M00S22828.cpumtr  +++|
37679  M00S22829.cpumtr  +++| CSA      SB6    CSA1        SET RETURN ADDRESS FOR *CSP*
37680  M00S22830.cpumtr  +++|          EQ     CSP         CALCULATE CURRENT SECTOR POSITION
37681  M00S22831.cpumtr  +++|
37682  M00S22832.cpumtr  +++| CSA1     SX0    X3+IOLK
37683  M00S22833.cpumtr  +++|          SA2    X0+
37684  M00S22834.cpumtr  +++|          IX3    X3+X6       SECTOR CONTROL WORD ADDRESS
37685  M00S22835.cpumtr  +++|          MX6    -24
37686  M00S22836.cpumtr  +++|          BX0    -X6*X2      FWA I/O BUFFER
37687  M00S22837.cpumtr  +++|          MX6    -3
37688  M00S22838.cpumtr  +++|          BX6    -X6*X7      MOD 10B OF CURRENT SECTOR
37689  M00S22839.cpumtr  +++|          SB3    X6
37690  M00S22840.cpumtr  +++|          LX7    6
37691  M00S22841.cpumtr  +++|          IX0    X0+X7       FWA CURRENT SECTOR IN I/O BUFFER
37692  M00S22842.cpumtr  +++|          LX7    -6
37693  M00S22843.cpumtr  +++|          JP     B4          RETURN
37694  M00S22844.cpumtr  +++| CSP      SPACE  4,15
37695  M00S22845.cpumtr  +++|**        CSP - CALCULATE SECTOR POSITION IN I/O BUFFER.
37696  M00S22846.cpumtr  +++|*
37697  M00S22847.cpumtr  +++|*         ENTRY  (B6) = RETURN ADDRESS.
37698  M00S22848.cpumtr  +++|*
37699  M00S22849.cpumtr  +++|*         EXIT   (X1) = CURRENT SECTOR.
37700  M00S22850.cpumtr  +++|*                (X3) = FWA CONTROL BUFFER.
37701  M00S22851.cpumtr  +++|*                (X6) = (B3) = SECTOR CONTROL WORD INDEX IN CONTROL
37702  M00S22852.cpumtr  +++|*                              BUFFER.
37703  M00S22853.cpumtr  +++|*                (X7) = CURRENT SECTOR - FIRST SECTOR IN BUFFER.
37704  M00S22854.cpumtr  +++|*
37705  M00S22855.cpumtr  +++|*         USES   A - 1, 3.
37706  M00S22856.cpumtr  +++|*                B - 3.
37707  M00S22857.cpumtr  +++|*                X - 1, 2, 3, 6, 7.
37708  M00S22858.cpumtr  +++|
37709  M00S22859.cpumtr  +++|
37710  M00S22860.cpumtr  +++| CSP      SA3    LBIA        GET FWA INTERLOCKED I/O BUFFER
37711  M00S22861.cpumtr  +++|          ERX1   X4          GET CURRENT SECTOR
37712  M00S22862.cpumtr  +++|          MX6    -12
37713  M00S22863.cpumtr  +++|          BX2    X3
37714  M00S22864.cpumtr  +++|          LX1    -12
37715  M00S22865.cpumtr  +++|          AX2    30
37716  M00S22866.cpumtr  +++|          BX1    -X6*X1
37717  M00S22867.cpumtr  +++|          IX7    X1-X2       CURRENT SECTOR - FIRST SECTOR
37718  M00S22868.cpumtr  +++|          MX2    -24
37719  M00S22869.cpumtr  +++|          BX3    -X2*X3
37720  M00S22870.cpumtr  +++|          SX6    X7          INCREMENT FOR SECTOR CONTROL WORD
37721  M00S22871.cpumtr  +++|          AX6    CBTLS
37722  M00S22872.cpumtr  +++|          SB3    X6
37723  M00S22873.cpumtr  +++|          JP     B6          RETURN
37724  M00S22874.cpumtr  +++| IMF      SPACE  4,15
37725  M00S22875.cpumtr  +++|**        IMF - ISSUE CPU MONITOR FUNCTION.
37726  M00S22876.cpumtr  +++|*
37727  M00S22877.cpumtr  +++|*         ENTRY  (B6) = RETURN ADDRESS.
37728  M00S22878.cpumtr  +++|*                (X1) = FUNCTION CODE.
37729  M00S22879.cpumtr  +++|*                (X6) = FUNCTION PARAMETERS.
37730  M00S22880.cpumtr  +++|*
37731  M00S22881.cpumtr  +++|*         EXIT   (X1) = FUNCTION REPLY.
37732  M00S22882.cpumtr  +++|*                (X6) = 0.
37733  M00S22883.cpumtr  +++|*
37734  M00S22884.cpumtr  +++|*         ERROR  ADVANCE EXIT TO (B6)+1 IF FUNCTION REJECT.
37735  M00S22885.cpumtr  +++|*
37736  M00S22886.cpumtr  +++|*         USES   A - 1, 6.
37737  M00S22887.cpumtr  +++|*                B - 6.
37738  M00S22888.cpumtr  +++|*                X - 1, 6.
37739  M00S22889.cpumtr  +++|
37740  M00S22890.cpumtr  +++|
37741  M00S22891.cpumtr  +++| IMF      LX1    -12         ENTER REQUEST IN PSEUDO OUTPUT REGISTER
37742  M00S22892.cpumtr  +++|          BX6    X6+X1
37743  M00S22893.cpumtr  +++|          SA6    A5+
37744  M00S22894.cpumtr  +++|          XJ
37745  M00S22895.cpumtr  +++|
37746  M00S22896.cpumtr  +++| IMF1     SA1    A5+         CHECK OUTPUT REGISTER
37747  M00S22897.cpumtr  +++|          NG     X1,IMF2     IF REQUEST REJECTED
37748  M00S22898.cpumtr  +++|          LX1    59-56
37749  M00S22899.cpumtr  +++|          NG     X1,IMF2     IF REQUEST REJECTED
37750  M00S22900.cpumtr  +++|          LX1    56-59
37751  M00S22901.cpumtr  +++|          MX6    12
37752  M00S22902.cpumtr  +++|          BX6    X6*X1
37753  M00S22903.cpumtr  +++|          NZ     X6,IMF1     IF NOT CLEARED
37754  M00S22904.cpumtr  +++|          JP     B6          RETURN
37755  M00S22905.cpumtr  +++|
37756  M00S22906.cpumtr  +++| IMF2     SB6    B6+B1       ADVANCE EXIT FOR FUNCTION REJECT
37757  M00S22907.cpumtr  +++|          JP     B6          RETURN
37758  M00S22908.cpumtr  +++| SRA      SPACE  4,15
37759  M00S22909.cpumtr  +++|**        SRA - SET RANDOM ADDRESS FOR CURRENT TRACK/SECTOR.
37760  M00S22910.cpumtr  +++|*
37761  M00S22911.cpumtr  +++|*         ENTRY  (B4) = RETURN ADDRESS.
37762  M00S22912.cpumtr  +++|*                (B4) = COMPLEMENT OF RETURN ADDRESS IF NOT TO
37763  M00S22913.cpumtr  +++|*                       CALL *RRI*.
37764  M00S22914.cpumtr  +++|*
37765  M00S22915.cpumtr  +++|*         EXIT   TO *CRA*.
37766  M00S22916.cpumtr  +++|*                (X3) = 12/ CURRENT TRACK, 36/ 0, 12/ CURRENT SECTOR.
37767  M00S22917.cpumtr  +++|*
37768  M00S22918.cpumtr  +++|*         USES   A - 1.
37769  M00S22919.cpumtr  +++|*                X - 1, 3, 6.
37770  M00S22920.cpumtr  +++|
37771  M00S22921.cpumtr  +++|
37772  M00S22922.cpumtr  +++| SRA      ERX1   X4          GET CURRENT TRACK AND SECTOR
37773  M00S22923.cpumtr  +++|          MX6    -12
37774  M00S22924.cpumtr  +++|          LX1    -12
37775  M00S22925.cpumtr  +++|          BX3    -X6*X1
37776  M00S22926.cpumtr  +++|          LX1    -12
37777  M00S22927.cpumtr  +++|          BX6    -X6*X1
37778  M00S22928.cpumtr  +++|          LX6    -12
37779  M00S22929.cpumtr  +++|          BX3    X3+X6
37780  M00S22930.cpumtr  +++|*         EQ     CRA         COMPUTE RANDOM ADDRESS
37781  M00S22931.cpumtr  +++| CRA      SPACE  4,25
37782  M00S22932.cpumtr  +++|**        CRA - CONVERT/COMPUTE RANDOM ADDRESS.
37783  M00S22933.cpumtr  +++|*
37784  M00S22934.cpumtr  +++|*         ENTRY  (B4) = RETURN ADDRESS.
37785  M00S22935.cpumtr  +++|*                (B4) = COMPLEMENT OF RETURN ADDRESS, IF TO RETURN
37786  M00S22936.cpumtr  +++|*                       RANDOM ADDRESS WITHOUT UPDATING FST/FET.
37787  M00S22937.cpumtr  +++|*                (X3) = 0 IF POSITION TO EOI AND RETURN RANDOM
37788  M00S22938.cpumtr  +++|*                   ADDRESS FOR EOI.
37789  M00S22939.cpumtr  +++|*                (X3) .GT. 0 IF RANDOM ADDRESS TO BE CONVERTED
37790  M00S22940.cpumtr  +++|*                   AND POSITIONED TO.
37791  M00S22941.cpumtr  +++|*                (X3) .LT. 0 IF RETURN RANDOM ADDRESS FOR SPECIFIED
37792  M00S22942.cpumtr  +++|*                   TRACK AND SECTOR (12/TRACK, 36/0, 12/SECTOR).
37793  M00S22943.cpumtr  +++|*
37794  M00S22944.cpumtr  +++|*         EXIT   TO *SFP* FOR UPDATE OF FST CURRENT TRACK AND SECTOR
37795  M00S22945.cpumtr  +++|*                   TO POSITION FOR RANDOM ADDRESS.
37796  M00S22946.cpumtr  +++|*                TO *RRI* TO SET RANDOM INDEX IN FET.
37797  M00S22947.cpumtr  +++|*                (B2) = SECTORS PER TRACK.
37798  M00S22948.cpumtr  +++|*                (X3) = RANDOM ADDRESS OF POSITION.
37799  M00S22949.cpumtr  +++|*                (X7) = SECTORS ON FILE BEFORE CURRENT TRACK FOR *SRA*
37800  M00S22950.cpumtr  +++|*                       CALL.
37801  M00S22951.cpumtr  +++|*
37802  M00S22952.cpumtr  +++|*         ERROR  TO *RPC* IF INCORRECT RANDOM ADDRESS.
37803  M00S22953.cpumtr  +++|*
37804  M00S22954.cpumtr  +++|*         USES   A - 1, 2, 6.
37805  M00S22955.cpumtr  +++|*                B - 2, 3, 4, 6.
37806  M00S22956.cpumtr  +++|*                X - 0, 1, 2, 3, 6, 7.
37807  M00S22957.cpumtr  +++|
37808  M00S22958.cpumtr  +++|
37809  M00S22959.cpumtr  +++| CRA      ERX1   X4          GET FST ENTRY
37810  M00S22960.cpumtr  +++|          MX6    12
37811  M00S22961.cpumtr  +++|          LX1    24
37812  M00S22962.cpumtr  +++|          MX7    -2
37813  M00S22963.cpumtr  +++|          BX0    X6*X1       EXTRACT CURRENT TRACK
37814  M00S22964.cpumtr  +++|          LX1    -12
37815  M00S22965.cpumtr  +++|          ZR     X0,CRA12    IF FILE NOT USED
37816  M00S22966.cpumtr  +++|          BX1    X6*X1       EXTRACT FIRST TRACK
37817  M00S22967.cpumtr  +++|          SA2    A4+B1       GET MST ADDRESS AND SECTORS PER TRACK
37818  M00S22968.cpumtr  +++|          SB6    B0          PRESET TRACK COUNT
37819  M00S22969.cpumtr  +++|          LX2    -18
37820  M00S22970.cpumtr  +++|          SA2    X2+TRLL     SET TRT BASE ADDRESS
37821  M00S22971.cpumtr  +++|          SB3    X2-4000B/4
37822  M00S22972.cpumtr  +++|          SA2    A4+1        SET SECTORS PER TRACK
37823  M00S22973.cpumtr  +++|          NZ     X3,CRA3     IF NOT SKIP TO EOI
37824  M00S22974.cpumtr  +++|
37825  M00S22975.cpumtr  +++|*         PROCESS SKIP TO EOI.
37826  M00S22976.cpumtr  +++|
37827  M00S22977.cpumtr  +++| CRA1     BX0    X6*X1       EXTRACT LINK
37828  M00S22978.cpumtr  +++|          LX0    10
37829  M00S22979.cpumtr  +++|          SB6    B6+B1
37830  M00S22980.cpumtr  +++|          SA1    B3+X0       READ TRT WORD
37831  M00S22981.cpumtr  +++|          LX0    2
37832  M00S22982.cpumtr  +++|          BX2    -X7*X0      EXTRACT BYTE
37833  M00S22983.cpumtr  +++|          LX2    2           BYTE * 4
37834  M00S22984.cpumtr  +++|          LX3    X2,B1       BYTE * 8
37835  M00S22985.cpumtr  +++|          IX2    X3+X2       BYTE * 12
37836  M00S22986.cpumtr  +++|          SB2    X2+
37837  M00S22987.cpumtr  +++|          LX1    X1,B2       POSITION TRACK BYTE
37838  M00S22988.cpumtr  +++|          NG     X1,CRA1     IF NOT END OF TRACK CHAIN
37839  M00S22989.cpumtr  +++|          BX7    X1
37840  M00S22990.cpumtr  +++|          SA1    A4+B1       GET SECTORS PER TRACK
37841  M00S22991.cpumtr  +++|          SX3    B6-1
37842  M00S22992.cpumtr  +++|          AX7    48
37843  M00S22993.cpumtr  +++|          SX1    X1
37844  M00S22994.cpumtr  +++|          IX3    X3*X1
37845  M00S22995.cpumtr  +++|          IX3    X3+X7
37846  M00S22996.cpumtr  +++| CRA2     SB2    X1
37847  M00S22997.cpumtr  +++|          PL     B4,SFP      IF SETTING FST
37848  M00S22998.cpumtr  +++|          SB3    -B4
37849  M00S22999.cpumtr  +++|          JP     B3
37850  M00S23000.cpumtr  +++|
37851  M00S23001.cpumtr  +++|*         PROCESS POSITION TO RANDOM ADDRESS.
37852  M00S23002.cpumtr  +++|
37853  M00S23003.cpumtr  +++| CRA3     NG     X3,CRA7     IF RETURNING RANDOM ADDRESS
37854  M00S23004.cpumtr  +++|          SX6    X2
37855  M00S23005.cpumtr  +++|          SX2    X2          SECTORS PER TRACK
37856  M00S23006.cpumtr  +++|
37857  M00S23007.cpumtr  +++|*         IX2    X3/X2       SECTORS / SECTORS PER TRACK
37858  M00S23008.cpumtr  +++|          PX2    X2
37859  M00S23009.cpumtr  +++|          PX3    X3
37860  M00S23010.cpumtr  +++|          NX2    X2
37861  M00S23011.cpumtr  +++|          FX2    X3/X2
37862  M00S23012.cpumtr  +++|          UX3    X3
37863  M00S23013.cpumtr  +++|          UX2,B6 X2
37864  M00S23014.cpumtr  +++|          LX2    B6
37865  M00S23015.cpumtr  +++|
37866  M00S23016.cpumtr  +++|          IX6    X2*X6       CALCULATE SECTOR NUMBER IN LAST TRACK
37867  M00S23017.cpumtr  +++|          IX6    X3-X6
37868  M00S23018.cpumtr  +++|          SA6    CRAA
37869  M00S23019.cpumtr  +++|          MX6    12
37870  M00S23020.cpumtr  +++|          SB6    X2+B1
37871  M00S23021.cpumtr  +++|
37872  M00S23022.cpumtr  +++|*         SCAN TRT.
37873  M00S23023.cpumtr  +++|
37874  M00S23024.cpumtr  +++| CRA4     BX0    X6*X1       EXTRACT TRACK
37875  M00S23025.cpumtr  +++|          LX1    12
37876  M00S23026.cpumtr  +++|          LX0    10
37877  M00S23027.cpumtr  +++|          BX1    -X7*X1      EXTRACT BYTE POSITION
37878  M00S23028.cpumtr  +++|          LX1    2           BYTE * 4
37879  M00S23029.cpumtr  +++|          LX2    X1,B1       BYTE * 8
37880  M00S23030.cpumtr  +++|          IX2    X1+X2       BYTE * 12
37881  M00S23031.cpumtr  +++|          SA1    B3+X0       READ TRT WORD
37882  M00S23032.cpumtr  +++|          SB6    B6-1        DECREMENT TRACK COUNT
37883  M00S23033.cpumtr  +++|          SB2    X2
37884  M00S23034.cpumtr  +++|          LX1    X1,B2
37885  M00S23035.cpumtr  +++|          ZR     B6,CRA5     IF TRACK REACHED
37886  M00S23036.cpumtr  +++|          NG     X1,CRA4     IF NOT END OF TRACK CHAIN
37887  M00S23037.cpumtr  +++| CRA5     SA2    CRAA        GET SECTOR NUMBER IN LAST TRACK
37888  M00S23038.cpumtr  +++|          LX0    2           POSITION CURRENT TRACK
37889  M00S23039.cpumtr  +++|          BX6    X6*X1       EXTRACT EOI SECTOR OR NEXT TRACK
37890  M00S23040.cpumtr  +++|          SX7    /CIOERR/RAD * RANDOM ADDRESS NOT ON FILE.*
37891  M00S23041.cpumtr  +++|          LX6    -48
37892  M00S23042.cpumtr  +++|          IX6    X6-X2       EOI SECTOR - SECTOR NUMBER IN LAST TRACK
37893  M00S23043.cpumtr  +++|          NG     X6,RPC      IF ADDRESS NOT ON FILE
37894  M00S23044.cpumtr  +++|          SA1    A4+B1       GET SECTORS PER TRACK
37895  M00S23045.cpumtr  +++|          BX7    X2
37896  M00S23046.cpumtr  +++|          EQ     CRA2        EXIT
37897  M00S23047.cpumtr  +++|
37898  M00S23048.cpumtr  +++|*         PROCESS RETURN RANDOM ADDRESS.
37899  M00S23049.cpumtr  +++|
37900  M00S23050.cpumtr  +++| CRA7     SX6    X3          SAVE SECTOR
37901  M00S23051.cpumtr  +++|          BX3    X3-X6       CLEAR SECTOR
37902  M00S23052.cpumtr  +++|          SA6    CRAA
37903  M00S23053.cpumtr  +++|          SX2    B0
37904  M00S23054.cpumtr  +++|          MX6    12
37905  M00S23055.cpumtr  +++|          EQ     CRA9        ENTER LOOP
37906  M00S23056.cpumtr  +++|
37907  M00S23057.cpumtr  +++| CRA8     LX0    10
37908  M00S23058.cpumtr  +++|          SB6    B6+B1       INCREMENT TRACK COUNT
37909  M00S23059.cpumtr  +++|          SA1    B3+X0       READ TRT WORD
37910  M00S23060.cpumtr  +++|          LX0    2
37911  M00S23061.cpumtr  +++|          BX2    -X7*X0      EXTRACT BYTE
37912  M00S23062.cpumtr  +++|          LX2    2           BYTE * 4
37913  M00S23063.cpumtr  +++|          LX0    X2,B1       BYTE * 8
37914  M00S23064.cpumtr  +++|          IX2    X0+X2       BYTE * 12
37915  M00S23065.cpumtr  +++| CRA9     SB2    X2
37916  M00S23066.cpumtr  +++|          LX1    X1,B2       POSITION TRACK BYTE
37917  M00S23067.cpumtr  +++|          BX0    X6*X1       EXTRACT LINK
37918  M00S23068.cpumtr  +++|          BX2    X3-X0       COMPARE TRACK
37919  M00S23069.cpumtr  +++|          ZR     X2,CRA11    IF TRACK FOUND
37920  M00S23070.cpumtr  +++|          NG     X1,CRA8     IF NOT EOI
37921  M00S23071.cpumtr  +++|
37922  M00S23072.cpumtr  +++|*         IF THIS FALL THROUGH CASE IS TAKEN, THE TRT MUST BE MASHED.
37923  M00S23073.cpumtr  +++|
37924  M00S23074.cpumtr  +++| CRA10    SX7    /CIOERR/RAD * RANDOM ADDRESS NOT ON FILE.*
37925  M00S23075.cpumtr  +++|          EQ     RPC         CALL PP CIO
37926  M00S23076.cpumtr  +++|
37927  M00S23077.cpumtr  +++| CRA11    SA1    A4+B1       GET SECTORS PER TRACK
37928  M00S23078.cpumtr  +++|          SA2    CRAA        GET SECTOR NUMBER ON THIS TRACK
37929  M00S23079.cpumtr  +++|          SX6    B6
37930  M00S23080.cpumtr  +++|          SX1    X1
37931  M00S23081.cpumtr  +++|          IX7    X1*X6       TRACKS * SECTORS PER TRACK
37932  M00S23082.cpumtr  +++|          IX3    X2+X7       RANDOM ADDRESS
37933  M00S23083.cpumtr  +++|          SB3    -B4
37934  M00S23084.cpumtr  +++|          PL     B4,RRI      IF SET RANDOM ADDRESS IN FET
37935  M00S23085.cpumtr  +++|          JP     B3          RETURN
37936  M00S23086.cpumtr  +++|
37937  M00S23087.cpumtr  +++| CRA12    NZ     X3,CRA10    IF RANDOM ADDRESS SPECIFIED
37938  M00S23088.cpumtr  +++|          R=     X3,FSMS     SET RANDOM ADDRESS
37939  M00S23089.cpumtr  +++|          SB3    -B4
37940  M00S23090.cpumtr  +++|          PL     B4,RRI      IF SET RANDOM ADDRESS IN FET
37941  M00S23091.cpumtr  +++|          JP     B3          RETURN
37942  M00S23092.cpumtr  +++|
37943  M00S23093.cpumtr  +++| CRAA     CON    0           TEMPORARY
37944  M00S23094.cpumtr  +++| SFP      SPACE  4,15
37945  M00S23095.cpumtr  +++|**        SFP - SET FST POSITION FOR RANDOM POSITIONING.
37946  M00S23096.cpumtr  +++|*
37947  M00S23097.cpumtr  +++|*         ENTRY  (B4) = RETURN ADDRESS.
37948  M00S23098.cpumtr  +++|*                (X0) = VALUE TO SET FOR CURRENT TRACK.
37949  M00S23099.cpumtr  +++|*                (X3) = RANDOM ADDRESS TO BE SET IN FET+6.
37950  M00S23100.cpumtr  +++|*                (X7) = VALUE TO SET FOR CURRENT SECTOR.
37951  M00S23101.cpumtr  +++|*
37952  M00S23102.cpumtr  +++|*         EXIT   TO *RRI*.
37953  M00S23103.cpumtr  +++|*
37954  M00S23104.cpumtr  +++|*         USES   A - 1, 6.
37955  M00S23105.cpumtr  +++|*                X - 0, 1, 2, 6, 7.
37956  M00S23106.cpumtr  +++|
37957  M00S23107.cpumtr  +++|
37958  M00S23108.cpumtr  +++| SFP      ERX1   X4          GET FST ENTRY
37959  M00S23109.cpumtr  +++|          MX6    -24
37960  M00S23110.cpumtr  +++|          LX1    -12
37961  M00S23111.cpumtr  +++|          BX2    -X6*X1      PREVIOUS TRACK AND SECTOR
37962  M00S23112.cpumtr  +++|          BX6    X6*X1
37963  M00S23113.cpumtr  +++|          BX6    X6+X7       SET CURRENT SECTOR
37964  M00S23114.cpumtr  +++|          LX6    -12
37965  M00S23115.cpumtr  +++|          BX6    X6+X0       SET CURRENT TRACK
37966  M00S23116.cpumtr  +++|          LX6    24
37967  M00S23117.cpumtr  +++|          EWX6   X4
37968  M00S23118.cpumtr  +++|*         EQ     RRI         SET RANDOM INDEX IN FET
37969  M00S23119.cpumtr  +++| RRI      SPACE  4,10
37970  M00S23120.cpumtr  +++|**        RRI - RETURN RANDOM INDEX TO FET.
37971  M00S23121.cpumtr  +++|*
37972  M00S23122.cpumtr  +++|*         ENTRY  (B4) = RETURN ADDRESS.
37973  M00S23123.cpumtr  +++|*                (X3) = RANDOM INDEX.
37974  M00S23124.cpumtr  +++|*
37975  M00S23125.cpumtr  +++|*         USES   A - 1, 6.
37976  M00S23126.cpumtr  +++|*                X - 1, 2, 6.
37977  M00S23127.cpumtr  +++|
37978  M00S23128.cpumtr  +++|
37979  M00S23129.cpumtr  +++| RRI      SA1    A4-B1       GET RANDOM FILE FLAG
37980  M00S23130.cpumtr  +++|          PL     X1,RB4      IF NOT RANDOM FILE
37981  M00S23131.cpumtr  +++|          BX6    X3          STORE RANDOM INDEX IN FET+6
37982  M00S23132.cpumtr  +++|          SX2    5
37983  M00S23133.cpumtr  +++|          IX2    X5+X2
37984  M00S23134.cpumtr  +++|          LX6    30
37985  M00S23135.cpumtr  +++|          EWX6   X2
37986  M00S23136.cpumtr  +++|          JP     B4          RETURN
37987  M00S23137.cpumtr  +++| RBI      SPACE  4,10
37988  M00S23138.cpumtr  +++|**        RBI - RELEASE I/O BUFFER INTERLOCK.
37989  M00S23139.cpumtr  +++|*
37990  M00S23140.cpumtr  +++|*         ENTRY  (A0) = RETURN ADDRESS.
37991  M00S23141.cpumtr  +++|*                (X2) = INTERLOCK VALUE (1 FOR READ/SKIP,
37992  M00S23142.cpumtr  +++|*                   4000B FOR WRITE).
37993  M00S23143.cpumtr  +++|*
37994  M00S23144.cpumtr  +++|*         USES   A - 3, 6.
37995  M00S23145.cpumtr  +++|*                B - 4.
37996  M00S23146.cpumtr  +++|*                X - 2, 3, 6.
37997  M00S23147.cpumtr  +++|
37998  M00S23148.cpumtr  +++|
37999  M00S23149.cpumtr  +++| RBI      SA3    LBIA        CHECK IF I/O BUFFER INTERLOCKED
38000  M00S23150.cpumtr  +++|          SB4    A0          SET RETURN ADDRESS
38001  M00S23151.cpumtr  +++|          LX2    48
38002  M00S23152.cpumtr  +++|          ZR     X3,RB4      IF NO BUFFER INTERLOCKED
Line S23153 Modification History
M01 (Removed by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
38003  M01S23153.251l664 ---|          BX6    X6-X6       CLEAR BUFFER INTERLOCK ADDRESS
38004  M01S23154.251l664 ---|          SA6    A3
Line S01633 Modification History
M01 (Added by) 251l664
Seq #  *Modification Id* Act 
----------------------------+
38005  M01S01633.251l664 +++|          SX6    B0+
38006  M01S01634.251l664 +++|          SA6    A3+         CLEAR BUFFER INTERLOCK ADDRESS
38007  M01S01635.251l664 +++|          SA6    CHRV        CLEAR CONTROL FLAGS
Line S23155 Modification History
M01 (Removed by) cpum242
Seq #  *Modification Id* Act 
----------------------------+
38008  M01S23155.cpum242 ---| +        SA3    X3+LSLK     ** PERFORM UPDATE IN ONE WORD
38009  M01S23156.cpum242 ---|          IX6    X3-X2       **
38010  M01S23157.cpum242 ---|          SA6    A3          **
Line S00036 Modification History
M01 (Added by) cpum242
Seq #  *Modification Id* Act 
----------------------------+
38011  M01S00036.cpum242 +++|+         SA3    X3+LSLK     **** PERFORM IN ONE WORD ****
38012  M01S00037.cpum242 +++|          IX6    X3-X2       **** PERFORM IN ONE WORD ****
38013  M01S00038.cpum242 +++|          SA6    A3          **** PERFORM IN ONE WORD ****
38014  M00S23158.cpumtr  +++| +        NG     X6,*        IF DATA INTEGRITY ERROR - STOP
38015  M00S23159.cpumtr  +++|          JP     B4          RETURN
38016  M00S23160.cpumtr  +++| UAC      SPACE  4,15
38017  M00S23161.cpumtr  +++|**        UAC - UPDATE ACCOUNTING AND RELEASE TRACK INTERLOCK.
38018  M00S23162.cpumtr  +++|*
38019  M00S23163.cpumtr  +++|*         ENTRY  (A0) = RETURN ADDRESS.
38020  M00S23164.cpumtr  +++|*                (B6) = RETURN ADDRESS IF CLEAR TRACK INTERLOCK REJECT.
38021  M00S23165.cpumtr  +++|*                (X7) .LT. 0 IF *UADM* TO BE ISSUED BY *PPCX*.
38022  M00S23166.cpumtr  +++|*                (X7) BIT 0 = 0 IF TO RESTART CPU FOR NON-AUTO
38023  M00S23167.cpumtr  +++|*                   RECALL *CIO* CALL.
38024  M00S23168.cpumtr  +++|*
38025  M00S23169.cpumtr  +++|*         EXIT   (X2) = RECALL CPU FLAG IF *UADM* TO BE ISSUED LATER.
38026  M00S23170.cpumtr  +++|*                (X6) = (B4) = NUMBER OF *UADM* PARAMETER WORDS IN
38027  M00S23171.cpumtr  +++|*                   MESSAGE BUFFER IF *UADM* TO BE ISSUED LATER.
38028  M00S23172.cpumtr  +++|*
38029  M00S23173.cpumtr  +++|*         USES   A - 0, 1, 2, 3, 6.
38030  M00S23174.cpumtr  +++|*                B - 4, 6.
38031  M00S23175.cpumtr  +++|*                X - 0, 1, 2, 3, 6, 7.
38032  M00S23176.cpumtr  +++|*
38033  M00S23177.cpumtr  +++|*         MACROS MONITOR.
38034  M00S23178.cpumtr  +++|
38035  M00S23179.cpumtr  +++|
38036  M00S23180.cpumtr  +++|*         CHARGE FOR PRUS TRANSFERRED.
38037  M00S23181.cpumtr  +++|*         UPDATE CURRENT RANDOM INDEX IN FET+6 FOR RANDOM FILE.
38038  M00S23182.cpumtr  +++|
38039  M00S23183.cpumtr  +++| UAC      SA3    PRUC        GET PRU COUNT
38040  M00S23184.cpumtr  +++|          SX0    X3
38041  M00S23185.cpumtr  +++|          LX0    IMPT
38042  M00S23186.cpumtr  +++|          SA1    UACC        INCREMENT ACCOUNTING
38043  M00S23187.cpumtr  +++|          ZR     X0,UAC1     IF NO DATA TRANSFERRED
38044  M00S23188.cpumtr  +++|          IX6    X1+X0
38045  M00S23189.cpumtr  +++|          SA6    A1
38046  M00S23190.cpumtr  +++|          MX1    1           SET DATA TRANSFERRED FLAG
38047  M00S23191.cpumtr  +++|          LX1    54-59
38048  M00S23192.cpumtr  +++|          SA2    A4          GET MESSAGE BUFFER PARAMETERS
38049  M00S23193.cpumtr  +++|          BX6    X2+X1
38050  M00S23194.cpumtr  +++|          SA6    A4+
38051  M00S23195.cpumtr  +++|          SA1    A4-1        GET RANDOM FILE FLAG
38052  M00S23196.cpumtr  +++|          ZR     X5,UAC1     IF NO FET ADDRESS
38053  M00S23197.cpumtr  +++|          PL     X1,UAC1     IF NOT RANDOM FILE
38054  M00S23198.cpumtr  +++|          SX1    5
38055  M00S23199.cpumtr  +++|          LX0    -IMPT
38056  M00S23200.cpumtr  +++|          IX1    X5+X1
38057  M00S23201.cpumtr  +++|          AX3    30
38058  M00S23202.cpumtr  +++|          IX0    X0-X3
38059  M00S23203.cpumtr  +++|          ERX2   X1          UPDATE RANDOM INDEX IN FET
38060  M00S23204.cpumtr  +++|          LX0    30
38061  M00S23205.cpumtr  +++|          IX6    X2+X0
38062  M00S23206.cpumtr  +++|          EWX6   X1
38063  M00S23207.cpumtr  +++|
38064  M00S23208.cpumtr  +++|*         CLEAR TRACK INTERLOCK.
38065  M00S23209.cpumtr  +++|
38066  M00S23210.cpumtr  +++| UAC1     SA3    A4          CHECK TRACK INTERLOCK
38067  M00S23211.cpumtr  +++|          LX3    59-58
38068  M00S23212.cpumtr  +++|          PL     X3,UAC3     IF TRACK NOT INTERLOCKED
38069  M00S23213.cpumtr  +++|          ERX1   X4          GET EQUIPMENT AND FIRST TRACK
38070  M00S23214.cpumtr  +++|          SX6    CTIS*10000B CLEAR TRACK INTERLOCK
38071  M00S23215.cpumtr  +++|          MX2    24
38072  M00S23216.cpumtr  +++|          BX1    X2*X1
38073  M00S23217.cpumtr  +++|          LX1    -12
38074  M00S23218.cpumtr  +++|          BX6    X6+X1
38075  M00S23219.cpumtr  +++|          SX3    B6+         SAVE RETURN ADDRESS FOR REJECT
38076  M00S23220.cpumtr  +++|          MONITOR  STBM
38077  M00S23221.cpumtr  +++|          AX1    36
38078  M00S23222.cpumtr  +++|          MX6    -59         CLEAR TRACK INTERLOCK FLAG
38079  M00S23223.cpumtr  +++|          ZR     X1,UAC2     IF TRACK INTERLOCK CLEARED
38080  M00S23224.cpumtr  +++|+         SA0    X3          SET REJECT RETURN ADDRESS
38081  M00S23225.cpumtr  +++|          SX7    X7          FORCE *UADM* TO BE ISSUED
38082  M00S23226.cpumtr  +++|          EQ     UAC3        DO NOT CLEAR TRACK INTERLOCK FLAG
38083  M00S23227.cpumtr  +++|
38084  M00S23228.cpumtr  +++| UAC2     SA3    A4          GET MESSAGE BUFFER PARAMETERS
38085  M00S23229.cpumtr  +++|          LX6    58-59
38086  M00S23230.cpumtr  +++|          BX6    -X6*X3      CLEAR TRACK INTERLOCK FLAG
38087  M00S23231.cpumtr  +++|          SA6    A4
38088  M00S23232.cpumtr  +++|
38089  M00S23233.cpumtr  +++|*         BUILD *UADM* PARAMETER WORDS FOR ACCOUNTING CHARGE
38090  M00S23234.cpumtr  +++|*         AND FILE SIZE CHANGES.
38091  M00S23235.cpumtr  +++|
38092  M00S23236.cpumtr  +++| UAC3     SA1    UACC        GET ACCOUNTING CHARGE
38093  M00S23237.cpumtr  +++|          MX0    -24
38094  M00S23238.cpumtr  +++|          LX7    49-0
38095  M00S23239.cpumtr  +++|          BX3    -X0*X1
38096  M00S23240.cpumtr  +++|          BX6    X1
38097  M00S23241.cpumtr  +++|          SA1    A5-1        GET AUTO RECALL FLAG
38098  M00S23242.cpumtr  +++|          MX2    1
38099  M00S23243.cpumtr  +++|          LX1    49-41
38100  M00S23244.cpumtr  +++|          LX2    49-59
38101  M00S23245.cpumtr  +++|          BX2    -X7*X2
38102  M00S23246.cpumtr  +++|          BX2    -X1*X2
38103  M00S23247.cpumtr  +++|          LX7    0-49
38104  M00S23248.cpumtr  +++|          SB4    B0+
38105  M00S23249.cpumtr  +++|          ZR     X3,UAC4     IF NO ACCOUNTING UPDATE REQUIRED
38106  M00S23250.cpumtr  +++|          SA6    A5+B1
38107  M00S23251.cpumtr  +++|          SB4    B1
38108  M00S23252.cpumtr  +++| UAC4     SA3    PCMS
38109  M00S23253.cpumtr  +++|          ZR     X3,UAC5     IF NO PRU INCREMENT/DECREMENT
38110  M00S23254.cpumtr  +++|          SA1    UAMI        GET MASS STORAGE CHANGE PARAMETERS
38111  M00S23255.cpumtr  +++|          SB4    B4+1
38112  M00S23256.cpumtr  +++|          BX6    X1+X3
38113  M00S23257.cpumtr  +++|          SA6    A5+B4
38114  M00S23258.cpumtr  +++|          PL     X3,UAC5     IF TRACKS REQUESTED
38115  M00S23259.cpumtr  +++|          SX6    CICS-CDCS   INCREMENT MASS STORAGE PRU-S
38116  M00S23260.cpumtr  +++|          LX6    48
38117  M00S23261.cpumtr  +++|          IX1    X1+X6
38118  M00S23262.cpumtr  +++|          BX6    -X3+X1
38119  M00S23263.cpumtr  +++|          SA6    A5+B4
38120  M00S23264.cpumtr  +++| UAC5     SB6    A0          SET RETURN ADDRESS
38121  M00S23265.cpumtr  +++|          SX6    B4          SET *UADM* PARAMETER COUNT
38122  M00S23266.cpumtr  +++|          ZR     B4,RB6      IF *UADM* NOT REQUIRED
38123  M00S23267.cpumtr  +++|          NG     X7,RB6      IF *UADM* TO BE ISSUED LATER
38124  M00S23268.cpumtr  +++|          BX6    X6+X2       SET RECALL CPU FLAGS
38125  M00S23269.cpumtr  +++|          LX6    12
38126  M00S23270.cpumtr  +++|          SX3    1
38127  M00S23271.cpumtr  +++|          BX6    X6+X3       SET NO DROP FLAG
38128  M00S23272.cpumtr  +++|          LX6    24
38129  M00S23273.cpumtr  +++|          MONITOR  UADM,B6
38130  M00S23274.cpumtr  +++| WEI      SPACE  4,10
38131  M00S23275.cpumtr  +++|**        WEI - WRITE EOI/RELEASE BUFFER INTERLOCKS.
38132  M00S23276.cpumtr  +++|*
38133  M00S23277.cpumtr  +++|*         ENTRY  (A0) = RETURN ADDRESS.
38134  M00S23278.cpumtr  +++|*
38135  M00S23279.cpumtr  +++|*         EXIT   TO *RBI*.
38136  M00S23280.cpumtr  +++|*
38137  M00S23281.cpumtr  +++|*         USES   A - 1, 2, 3, 6.
38138  M00S23282.cpumtr  +++|*                B - 4, 6.
38139  M00S23283.cpumtr  +++|*                X - 0, 1, 2, 3, 6, 7.
38140  M00S23284.cpumtr  +++|*
38141  M00S23285.cpumtr  +++|*         CALLS  CIM, CSA, CSP, IDE, RBI.
38142  M00S23286.cpumtr  +++|*
38143  M00S23287.cpumtr  +++|*         MACROS MONITOR.
38144  M00S23288.cpumtr  +++|
38145  M00S23289.cpumtr  +++|
38146  M00S23290.cpumtr  +++| WEI      SA2    A4+         GET MESSAGE BUFFER PARAMETERS
38147  M00S23291.cpumtr  +++|          SB4    0
38148  M00S23292.cpumtr  +++|          LX2    59-6
38149  M00S23293.cpumtr  +++|          MX3    -12
38150  M00S23294.cpumtr  +++|          PL     X2,WEI8     IF NOT WRITE FUNCTION
38151  M00S23295.cpumtr  +++| WEI1     SB4    B4+B1
38152  M00S23296.cpumtr  +++|          SA1    A5+B4       GET MULTIPLE WRITE BUFFER ORDINALS
38153  M00S23297.cpumtr  +++|          ZR     X1,WEI3     IF NO MORE WRITE BUFFERS
38154  M00S23298.cpumtr  +++| WEI2     BX6    -X3*X1
38155  M00S23299.cpumtr  +++|          LX6    CBTLS
38156  M00S23300.cpumtr  +++|          MX0    1
38157  M00S23301.cpumtr  +++|          AX1    12
Line S23302 Modification History
M01 (Removed by) cpum242
Seq #  *Modification Id* Act 
----------------------------+
38158  M01S23302.cpum242 ---|+         TA2    X6+LSLK,CBT ** PERFORM IN ONE WORD
38159  M01S23303.cpum242 ---|          IX7    X2-X0       **
38160  M01S23304.cpum242 ---|          SA7    A2          ** CLEAR BUFFER INTERLOCK
Line S00039 Modification History
M01 (Added by) cpum242
Seq #  *Modification Id* Act 
----------------------------+
38161  M01S00039.cpum242 +++|+         TA2    X6+LSLK,CBT **** PERFORM IN ONE WORD ****
38162  M01S00040.cpum242 +++|          IX7    X2-X0       **** PERFORM IN ONE WORD ****
38163  M01S00041.cpum242 +++|          SA7    A2          **** PERFORM IN ONE WORD ****
38164  M00S23305.cpumtr  +++|          NZ     X1,WEI2     IF MORE BUFFERS TO RELEASE
38165  M00S23306.cpumtr  +++|          LE     B4,B1,WEI1  IF MORE INTERLOCK WORDS
38166  M00S23307.cpumtr  +++| WEI3     SA1    NTKP        GET OLD EOI SECTOR
38167  M00S23308.cpumtr  +++|          SB4    WEI4        SET RETURN ADDRESS FOR *CSA*
38168  M00S23309.cpumtr  +++|          SA2    A4+B1       CHECK IF EOI WRITE REQUIRED
38169  M00S23310.cpumtr  +++|          BX0    X1          SAVE CURRENT SECTOR
38170  M00S23311.cpumtr  +++|          NG     X2,CSA      IF WRITE EOI REQUIRED
38171  M00S23312.cpumtr  +++|          SA2    PCMS        GET MASS STORAGE PRU CHANGE
38172  M00S23313.cpumtr  +++|          ZR     X2,WEI7     IF NO *RTCM* ISSUED
38173  M00S23314.cpumtr  +++|          EQ     WEI5        RESET EOI IN TRT
38174  M00S23315.cpumtr  +++|
Proceed to Part 30
cdc/nos2.source/opl.opl871/deck/cpumtr.029.txt ยท Last modified: by 127.0.0.1