|
|
DataMuseum.dkPresents historical artifacts from the history of: Philips Data Systems |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Philips Data Systems Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 11174 (0x2ba6)
Notes: pts_type(SC)
Names: »TLDPGM.SC«
└─⟦13e5fd45a⟧ Bits:30009699 Philips computer tape "600507"
└─⟦this⟧ »TOSSWORK/TLDPGM.SC«
└─⟦bc20f3abf⟧ Bits:30009670 Philips computer tape "600126"
└─⟦this⟧ »TOSSWORK/TLDPGM.SC«
IDENT TLDPGM REL 11.0 81-01-26 870105041100 ************************************************************ * * * PHILIPS TERMINAL SYSTEM PTS * * =========================== * * * * TLDPGM - LOAD/UNLOAD PROGRAM PROCESSOR * * * * THIS MODULE CONTAINS THE LKM PROCESSOR USED IN TOSS * * DISC PAGING SYSTEMS FOR RUNTIME PROGRAM LOADING & * * UNLOADING. * * * * REQUEST: LKM * * DATA 25 * * * * REQUEST PARAMETERS: A1=0 - UNLOAD PROGRAM REQUEST * * A1<>0 - FILE NUMBER * * A7,A8 - SECTOR ADDRESS IN FILE * * * * RETURN PARAMETERS: A7 UNCHANGED IF OK * * A7=-1 IF ILLEGAL FILE NUMBER * * * ************************************************************ EJECT ************* * ENTRIES * ************* ENTRY TLDPGM LOAD PROGRAM ENTRY EJECT *************** * EXTERNALS * *************** EXTRN TDISP DISPATCHER ENTRY EXTRN QLTASK QUEUE LOAD TASK ENTRY IN LDTASK EXTRN LD:ECB LDTASK ECB AREA EXTRN LD:BUF LOAD TASK DISC BUFFER EXTRN LD:BUE DISC BUFFER END EXTRN LD:STB LOAD TASK STACK BASE EXTRN LKMQDI QUEUE TASK FOR DISPATCHING EXTRN QMEXIT QUEUE TASK FOR DISPATCHING EXTRN TTB:SP SEGMENT TABLE POINTER IN TTAB EXTRN TTB:SB SEGMENT BLOCK POINTER IN TTAB EXTRN TTB:AP APPL. CONTROL BLOCK ADDRESS EXTRN TTB:SA DISPATCH ADDRESS EXTRN SEG:NS NUMBER OF SEGMENTS IN SEGMENT TABLE EXTRN SEG:FC VOLUME FILE CODE FOR SEGMENTS EXTRN SEG:EL EFFECTIVE LENGTH EXTRN FWTVOL DISPL. TO VOLUME FILE CODE EXTRN FWTEXB FILE EXTENT BASE EXTRN SCTFWT START OF FILE WORK TABLE EXTRN SCTFWL FILE WORK TABLE LENGTH/TASK EXTRN SCTNOS MAXIMUM NUMBER OF FILES/TASK EXTRN SCTTCT ADDRESS TO TASK CONTROL TABLE EXTRN ACBSEG ADDRESS TO SEGMENT TABLE POOL EJECT ************* * EQUATES * ************* ECBFN EQU 1 FILE NUMBER ECBBA EQU 2 BUFFER ADDRESS ECBRL EQU 4 REQUESTED LENGTH ECBEL EQU 6 EFFECTIVE LENGTH ECBRC EQU 8 RETURN CODE ECBCW1 EQU 10 CONTROL WORD 1 ECBCW2 EQU 12 CONTROL WORD 2 * PHYRD EQU /91 PHYSICAL READ NUMSEG EQU 10 DISPL. TO NUMBER OF SEGMENTS EJECT TLDPGM EQU * * * SELECT LOAD/UNLOAD REQUEST * ADK A1,0 RF(NZ) LOAD LOAD PROGRAM REQUEST * * UNLOAD PROGRAM PROCESSING * ULD:10 EQU * LD A1,TTB:SP,A5 GET SEGMENT TABLE POINTER RF(Z) ULD:40 NO PROGRAM LOADED CM TTB:SP,A5 CLEAR SEGMENT TABLE POINTER CM TTB:SB,A5 CLEAR SEGMENT BLOCK POINTER LD A2,SCTTCT GET ADDRESS TO TCTAB LDR* A3,A2 GET LENGTH OF TCTAB ULD:20 EQU * SUK A3,2 DECREMENT LENGTH RF(Z) ULD:30 NO MOORE TASKS ADK A2,2 NEXT ENTRY IN TCTAB LDR* A4,A2 GET NEXT TTAB-ADDRESS LD A4,TTB:SP,A4 GET SEGMENT TABLE POINTER CWR A4,A1 SAME AS FOR CALLING TASK? RB(NE) ULD:20 NO RF ULD:40 ULD:30 EQU * CM SEG:NS,A1 CLEAR NUMBER OF SEGMENTS ULD:40 EQU * ABL LKMQDI QUEUE TASK AND DISPATCH EJECT LOAD EQU * * * ACTIVATE LOAD TASK AT ENTRY LP:LST DISPATCH ADDRESS * LDKL A2,LP:LST DISPATCH ADDRESS LDR A3,A5 SAVE CALLING TASK TTAB-ADDRESS INH CF A15,QLTASK ACTIVATE LOAD TASK ENB ABL TDISP GO TO DISPATCHER EJECT * * LOAD PROGRAM - RUNNING TASK IS LDTASK * LP:LST EQU * LDKL A14,LD:STB LOAD A14 STACK BASE LDR A5,A3 GET CALLING TASKS TTAB ST A1,LD:ECB+ECBFN STORE FILE NUMBER IN ECB LD A9,TTB:SA+14,A5 GET DISC ADDRESS BITS 0-15 LD A10,TTB:SA+16,A5 GET DISC ADDRESS BITS 16-30 LD A2,SCTFWT START OF FILE WORK TABLE AREA LP:100 SUK A1,1 FILE WORK TABLE FOUND? RF(Z) LP:200 YES AD A2,SCTFWL NEXT FILE WORK TABLE RB LP:100 LP:200 EQU * LDKL A1,LD:BUF GET BUFFER ADDRESS ST A1,LD:ECB+ECBBA STORE IN ECB LDKL A1,256 REQUESTED LENGTH ST A1,LD:ECB+ECBRL STORE IN ECB CF A14,RDSFM READ FIRST SECTOR LC A6,FWTEXB-1,A2 GET FILE EXTENT BASE (BITS 0-7) ANK A6,/FF ISOLATE ADDRESS LD A11,FWTEXB,A2 GET FILE EXTENT BASE (BITS 8-23) RF(NZ) LP:300 SUK A6,1 LP:300 SUKL A11,1 CF A14,CHIPLD CHECK IF PROGRAM LOADED ADK A1,0 A1=0 IF NO PROGRAM LOADED RF(NZ) LPMEND PROGRAM ALREADY LOADED CF A14,GETFST GET FREE SEGMENT TABLE ADK A1,0 A1=0 IF NO SEGMENT TABLE AVALIABLE RF(Z) REQERR IMPOSSIBLE TO LOAD PROGRAM LC A2,FWTVOL,A2 GET VOLUME FILE CODE SC A2,SEG:FC+1,A1 STORE IN SEGMENT TABLE LD A3,LD:BUF+NUMSEG GET NUMBER OF SEGMENTS RF(Z) REQERR NO SEGMENTS! CW A3,SCTNOS COMPARE TO MAXIMUM NUMBER/TASK RF(G) REQERR TOO MANY SEGMENTS ST A3,SEG:NS,A1 STORE CURRENT NUMBER OF SEGMENTS LDKL A2,LD:BUF+NUMSEG START OF SEGMENT BLOCKS * * STORE BLOCK 0 * LDKL A4,/8400 STATUS FOR SEGMENT 0 STR A4,A1 STORE STATUS CM 2,A1 CLEAR STATUS/DISC ADDRESS BIT 0-7 CM 6,A1 CLEAR PAGE BLOCK ADDRESS ADK A1,8 START OF SEGMENT ONE * * INIT SEGMENT BLOCKS * I:SBLK SUK A3,1 RF(N) LPMEND NO MOORE SEGMENTS! CF A14,GETWSG GET DISC ADDRESS ANK A4,/FF CLEAR STATUS BYTE ADR A4,A6 RELOCATE DISC ADDRESS STR A4,A1 STORE STATUS AND DISC ADDRESS ADK A1,2 DISC ADDRESS BIT 8-22 CF A14,GETWSG GET DISC ADDRESS BITS 8-22 ADR A4,A11 RELOCATE DISC ADDRESS STR A4,A1 STORE ADK A1,2 SEGMENT LENGTH CF A14,GETWSG GET SEGMENT LENGTH STR A4,A1 STORE CM 2,A1 CLEAR PAGE BLOCK ADDRESS ADK A1,4 NEXT SEGMENT BLOCK RB I:SBLK EJECT LPMEND EQU * ABL QMEXIT QUEUE TASK FOR DISPATCHING * * ERROR ENTRY * REQERR LDKL A7,-1 INDICATE REQUEST ERROR DSKERR ST A7,TTB:SA+14,A5 SET RETURN CODE IN A7 RB LPMEND EJECT ***************** INTERNAL SUBROUTINES ***************** * * GETWSG - GET WORD IN S:GTAB * * ENTRY: A2 - POINTER IN S:GTAB * * EXIT: A2 - ENTRY VALUE + 2 * A4 - CONTENTS IN LOCATION POINTED AT BY A2 * * SUBROUTINES: RDSFM * GETWSG ADK A2,2 INCREMENT S:GTAB POINTER CWK A2,LD:BUE END OF SECTOR? RF(NE) GETRTN NOT YET CF A14,RDSFM READ NEXT SECTOR LDKL A2,LD:BUF START OF BUFFER GETRTN LDR* A4,A2 GET CONTENT RTN A14 EJECT * * RDSFM - READ SECTOR VIA FILE MANAGEMENT * * ENTRY: ECB CONTAINING FILE NUMBER,BUFFER ADDRESS * REQUESTED LENGTH AND SECTOR ADDRESS * * EXIT: SECTOR ADDRESS IS INCREMENTED BY ONE * * WORK REGISTERS: A7,A8 * RDSFM LDK A7,PHYRD LOAD ORDER LDKL A8,LD:ECB LOAD ECB-ADDRESS ST A9,LD:ECB+ECBCW1 STORE DISC ADDRESS BITS 0-15 ST A10,LD:ECB+ECBCW2 STORE DISC ADDRESS BITS 16-30 LKM DATA 15 * * CHECK RETURN CODE * LD A7,LD:ECB+ECBRC GET RETURN CODE ANKL A7,/FEFF SKIP RETRY BIT RF(Z) RDSF10 OK! ANK A7,1 BIT 15=DISC NOT OPERABLE NGR A7,A7 TAKE 2'S COMPLEMENT SUK A7,2 SET ERROR RETURN CODE RB DSKERR * * INCREMENT SECTOR ADDRESS * RDSF10 ADKL A10,1 INCR. LEAST SIGN. PART RF(NN) RDSRET OVERFLOW? ADKL A9,1 INCR. MOST SIGN. PART RB(Z) REQERR ADDRESS OVERFLOW XRR A10,A10 RESET CARRY RDSRET RTN A14 EJECT * * * CHIPLD - CHECK IF PROGRAM LOADED * * ENTRY: A6 - FILE EXTENT BASE BITS 0-7 * A11 - FILE EXTENT BASE BITS 8-23 * LD:BUF CONTAINS FIRST SECTOR * * EXIT: A1=0 - PROGRAM NOT LOADED * A1<>0 - SEGMENT TABLE ADDRESS * * WORK REGISTERS: A1,A3,A4,A7,A8 * CHIPLD EQU * LD A7,SCTTCT GET ADDRESS TO TCTAB LDR* A8,A7 GET LENGTH OF TCTAB CHPL10 EQU * SUKL A8,2 MOORE TASKS? RF(Z) CHPL50 NO! ADK A7,2 NEXT ENTRY IN TCTAB LDR* A1,A7 GET NEXT TTAB-ADDRESS LD A1,TTB:SP,A1 GET SEGMENT TABLE POINTER RB(Z) CHPL10 NO SEGMENT TABLE ATTACHED LD A3,LD:BUF+12 GET DISC ADDRESS BITS 0-7 ANK A3,/FF ISOLATE ADDRESS ADR A3,A6 RELOCATE ADDRESS LD A4,8,A1 GET DISC ADDRESS IN SEGMENT TABLE ANK A4,/FF ISOLATE ADDRESS CWR A3,A4 MOST SIGNIFICANT BITS EQUAL? RB(NE) CHPL10 NO LD A3,LD:BUF+14 GET DISC ADDRESS BITS 8-23 ADR A3,A11 RELOCATE LD A4,10,A1 GET DISC ADDRES IN SEGMENT TABLE CWR A3,A4 LEAST SIGNIFICANT PART EQUAL? RB(NE) CHPL10 NO RF CHPL90 CHPL50 EQU * XRR A1,A1 CLEAR SEGMENT TABLE POINTER CHPL90 EQU * ST A1,TTB:SP,A5 STORE SEGMENT TABLE POINTER RTN A14 EJECT * * GETFST - GET FREE SEGMENT TABLE * * ENTRY: * * EXIT: A1 - SEGMENT TABLE POINTER * * WORK REGISTER: A1,A3 * GETFST EQU * LD A1,TTB:AP,A5 GET ADDRESS TO ACB LD A1,ACBSEG,A1 GET START OF SEGMENT TABLE POOL ADK A1,4 SEGMENT BLOCK 0 GFST10 EQU * LD A3,SEG:NS,A1 GET NUMBER OF SEGMENTS RF(Z) GFST30 NOT USED GFST20 EQU * LD A1,SEG:EL,A1 GET SEGMENT TABLE LINK RF(Z) GFST40 NO MORE SEGMENT TABLES SUK A1,4 ADJUST SEGMENT TABLE POINTER RB GFST10 CHECK NEXT SEGTAB GFST30 EQU * ST A1,TTB:SP,A5 STORE SEGMENT TABLE POINTER GFST40 EQU * RTN A14 RETURN END
0x0000…0036 (0, 0, 398) Head {h00=0x0032, h01=0x0050, text=» IDENT TLDPGM REL 11.0 81-01-26 870105041100 «, t00=0x0000, t01=0x0004}
0x0036…003e Head {h00=0x0004, h01=0x0050, t00=0x0000, t01=0x003a}
0x003e…0082 Head {h00=0x0040, h01=0x003c, text=»************************************************************«, t00=0x0000, t01=0x0042}
0x0082…00c6 Head {h00=0x0040, h01=0x003c, text=»* *«, t00=0x0000, t01=0x0086}
0x00c6…010a Head {h00=0x0040, h01=0x003c, text=»* PHILIPS TERMINAL SYSTEM PTS *«, t00=0x0000, t01=0x00ca}
0x010a…014e Head {h00=0x0040, h01=0x003c, text=»* =========================== *«, t00=0x0000, t01=0x010e}
0x014e…0192 Head {h00=0x0040, h01=0x003c, text=»* *«, t00=0x0000, t01=0x0152}
0x0192…01d6 Head {h00=0x0040, h01=0x0050, text=»* TLDPGM - LOAD/UNLOAD PROGRAM PROCESSOR *«, t00=0x0001, t01=0x0008}
0x01d6…021a Head {h00=0x0040, h01=0x003c, text=»* *«, t00=0x0001, t01=0x004c}
0x021a…025e Head {h00=0x0040, h01=0x003c, text=»* THIS MODULE CONTAINS THE LKM PROCESSOR USED IN TOSS *«, t00=0x0001, t01=0x0090}
0x025e…02a2 Head {h00=0x0040, h01=0x0050, text=»* DISC PAGING SYSTEMS FOR RUNTIME PROGRAM LOADING & *«, t00=0x0001, t01=0x00d4}
0x02a2…02e6 Head {h00=0x0040, h01=0x0050, text=»* UNLOADING. *«, t00=0x0001, t01=0x0118}
0x02e6…032a Head {h00=0x0040, h01=0x003c, text=»* *«, t00=0x0001, t01=0x015c}
0x032a…0370 Head {h00=0x0042, h01=0x0050, text=»* REQUEST: LKM * «, t00=0x0002, t01=0x0010}
0x0370…03b6 Head {h00=0x0042, h01=0x0050, text=»* DATA 25 * «, t00=0x0002, t01=0x0056}
0x03b6…03fc Head {h00=0x0042, h01=0x0050, text=»* * «, t00=0x0002, t01=0x009c}
0x03fc…0442 Head {h00=0x0042, h01=0x0050, text=»* REQUEST PARAMETERS: A1=0 - UNLOAD PROGRAM REQUEST * «, t00=0x0002, t01=0x00e2}
0x0442…0488 Head {h00=0x0042, h01=0x0050, text=»* A1<>0 - FILE NUMBER * «, t00=0x0002, t01=0x0128}
0x0488…04ce Head {h00=0x0042, h01=0x0050, text=»* A7,A8 - SECTOR ADDRESS IN FILE * «, t00=0x0002, t01=0x016e}
0x04ce…0514 Head {h00=0x0042, h01=0x0050, text=»* * «, t00=0x0003, t01=0x0024}
0x0514…055a Head {h00=0x0042, h01=0x0050, text=»* RETURN PARAMETERS: A7 UNCHANGED IF OK * «, t00=0x0003, t01=0x006a}
0x055a…05a0 Head {h00=0x0042, h01=0x0050, text=»* A7=-1 IF ILLEGAL FILE NUMBER * «, t00=0x0003, t01=0x00b0}
0x05a0…05e4 Head {h00=0x0040, h01=0x003c, text=»* *«, t00=0x0003, t01=0x00f6}
0x05e4…0628 Head {h00=0x0040, h01=0x003c, text=»************************************************************«, t00=0x0003, t01=0x013a}
0x0628…0636 Head {h00=0x000a, h01=0x0006, text=» EJECT«, t00=0x0003, t01=0x017e}
0x0636…064c Head {h00=0x0012, h01=0x000d, text=»************* «, t00=0x0003, t01=0x018c}
0x064c…0662 Head {h00=0x0012, h01=0x000d, text=»* ENTRIES * «, t00=0x0004, t01=0x0012}
0x0662…0678 Head {h00=0x0012, h01=0x000d, text=»************* «, t00=0x0004, t01=0x0028}
0x0678…06a0 Head {h00=0x0024, h01=0x0050, text=» ENTRY TLDPGM LOAD PROGRAM ENTRY«, t00=0x0004, t01=0x003e}
0x06a0…06a8 Head {h00=0x0004, h01=0x0002, t00=0x0004, t01=0x0066}
0x06a8…06b6 Head {h00=0x000a, h01=0x0006, text=» EJECT«, t00=0x0004, t01=0x006e}
0x06b6…06ce Head {h00=0x0014, h01=0x000f, text=»*************** «, t00=0x0004, t01=0x007c}
0x06ce…06e6 Head {h00=0x0014, h01=0x000f, text=»* EXTERNALS * «, t00=0x0004, t01=0x0094}
0x06e6…06fe Head {h00=0x0014, h01=0x000f, text=»*************** «, t00=0x0004, t01=0x00ac}
0x06fe…0724 Head {h00=0x0022, h01=0x0050, text=» EXTRN TDISP DISPATCHER ENTRY «, t00=0x0004, t01=0x00c4}
0x0724…075a Head {h00=0x0032, h01=0x002d, text=» EXTRN QLTASK QUEUE LOAD TASK ENTRY IN LDTASK «, t00=0x0004, t01=0x00ea}
0x075a…0780 Head {h00=0x0022, h01=0x0050, text=» EXTRN LD:ECB LDTASK ECB AREA «, t00=0x0004, t01=0x0120}
0x0780…07ac Head {h00=0x0028, h01=0x0023, text=» EXTRN LD:BUF LOAD TASK DISC BUFFER «, t00=0x0004, t01=0x0146}
0x07ac…07d2 Head {h00=0x0022, h01=0x0050, text=» EXTRN LD:BUE DISC BUFFER END «, t00=0x0004, t01=0x0172}
0x07d2…07fc Head {h00=0x0026, h01=0x0050, text=» EXTRN LD:STB LOAD TASK STACK BASE«, t00=0x0005, t01=0x0008}
0x07fc…082c Head {h00=0x002c, h01=0x0050, text=» EXTRN LKMQDI QUEUE TASK FOR DISPATCHING«, t00=0x0005, t01=0x0032}
0x082c…085c Head {h00=0x002c, h01=0x0050, text=» EXTRN QMEXIT QUEUE TASK FOR DISPATCHING«, t00=0x0005, t01=0x0062}
0x085c…0890 Head {h00=0x0030, h01=0x002b, text=» EXTRN TTB:SP SEGMENT TABLE POINTER IN TTAB «, t00=0x0005, t01=0x0092}
0x0890…08c4 Head {h00=0x0030, h01=0x0050, text=» EXTRN TTB:SB SEGMENT BLOCK POINTER IN TTAB «, t00=0x0005, t01=0x00c6}
0x08c4…08f6 Head {h00=0x002e, h01=0x0050, text=» EXTRN TTB:AP APPL. CONTROL BLOCK ADDRESS «, t00=0x0005, t01=0x00fa}
0x08f6…091c Head {h00=0x0022, h01=0x0050, text=» EXTRN TTB:SA DISPATCH ADDRESS«, t00=0x0005, t01=0x012c}
0x091c…0956 Head {h00=0x0036, h01=0x0031, text=» EXTRN SEG:NS NUMBER OF SEGMENTS IN SEGMENT TABLE «, t00=0x0005, t01=0x0152}
0x0956…098a Head {h00=0x0030, h01=0x002b, text=» EXTRN SEG:FC VOLUME FILE CODE FOR SEGMENTS «, t00=0x0005, t01=0x018c}
0x098a…09b0 Head {h00=0x0022, h01=0x0050, text=» EXTRN SEG:EL EFFECTIVE LENGTH«, t00=0x0006, t01=0x0030}
0x09b0…09e0 Head {h00=0x002c, h01=0x0028, text=» EXTRN FWTVOL DISPL. TO VOLUME FILE CODE«, t00=0x0006, t01=0x0056}
0x09e0…0a06 Head {h00=0x0022, h01=0x0050, text=» EXTRN FWTEXB FILE EXTENT BASE«, t00=0x0006, t01=0x0086}
0x0a06…0a34 Head {h00=0x002a, h01=0x0026, text=» EXTRN SCTFWT START OF FILE WORK TABLE«, t00=0x0006, t01=0x00ac}
0x0a34…0a66 Head {h00=0x002e, h01=0x0029, text=» EXTRN SCTFWL FILE WORK TABLE LENGTH/TASK «, t00=0x0006, t01=0x00da}
0x0a66…0a98 Head {h00=0x002e, h01=0x002a, text=» EXTRN SCTNOS MAXIMUM NUMBER OF FILES/TASK«, t00=0x0006, t01=0x010c}
0x0a98…0acc Head {h00=0x0030, h01=0x0050, text=» EXTRN SCTTCT ADDRESS TO TASK CONTROL TABLE «, t00=0x0006, t01=0x013e}
0x0acc…0b00 Head {h00=0x0030, h01=0x0050, text=» EXTRN ACBSEG ADDRESS TO SEGMENT TABLE POOL «, t00=0x0006, t01=0x0172}
0x0b00…0b0e Head {h00=0x000a, h01=0x0006, text=» EJECT«, t00=0x0007, t01=0x0016}
0x0b0e…0b24 Head {h00=0x0012, h01=0x0050, text=»************* «, t00=0x0007, t01=0x0024}
0x0b24…0b3a Head {h00=0x0012, h01=0x000d, text=»* EQUATES * «, t00=0x0007, t01=0x003a}
0x0b3a…0b50 Head {h00=0x0012, h01=0x000d, text=»************* «, t00=0x0007, t01=0x0050}
0x0b50…0b70 Head {h00=0x001c, h01=0x0017, text=»ECBFN EQU 1 FILE NUMBER «, t00=0x0007, t01=0x0066}
0x0b70…0b92 Head {h00=0x001e, h01=0x001a, text=»ECBBA EQU 2 BUFFER ADDRESS«, t00=0x0007, t01=0x0086}
0x0b92…0bb6 Head {h00=0x0020, h01=0x001c, text=»ECBRL EQU 4 REQUESTED LENGTH«, t00=0x0007, t01=0x00a8}
0x0bb6…0bda Head {h00=0x0020, h01=0x001c, text=»ECBEL EQU 6 EFFECTIVE LENGTH«, t00=0x0007, t01=0x00cc}
0x0bda…0bfa Head {h00=0x001c, h01=0x0017, text=»ECBRC EQU 8 RETURN CODE «, t00=0x0007, t01=0x00f0}
0x0bfa…0c1e Head {h00=0x0020, h01=0x001c, text=»ECBCW1 EQU 10 CONTROL WORD 1«, t00=0x0007, t01=0x0110}
0x0c1e…0c42 Head {h00=0x0020, h01=0x001c, text=»ECBCW2 EQU 12 CONTROL WORD 2«, t00=0x0007, t01=0x0134}
0x0c42…0c4c Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0007, t01=0x0158}
0x0c4c…0c70 Head {h00=0x0020, h01=0x0050, text=»PHYRD EQU /91 PHYSICAL READ «, t00=0x0007, t01=0x0162}
0x0c70…0ca2 Head {h00=0x002e, h01=0x002a, text=»NUMSEG EQU 10 DISPL. TO NUMBER OF SEGMENTS«, t00=0x0007, t01=0x0186}
0x0ca2…0cb0 Head {h00=0x000a, h01=0x0006, text=» EJECT«, t00=0x0008, t01=0x0028}
0x0cb0…0cc4 Head {h00=0x0010, h01=0x0050, text=»TLDPGM EQU *«, t00=0x0008, t01=0x0036}
0x0cc4…0cce Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0008, t01=0x004a}
0x0cce…0cf4 Head {h00=0x0022, h01=0x0050, text=»* SELECT LOAD/UNLOAD REQUEST «, t00=0x0008, t01=0x0054}
0x0cf4…0cfe Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0008, t01=0x007a}
0x0cfe…0d10 Head {h00=0x000e, h01=0x0050, text=» ADK A1,0 «, t00=0x0008, t01=0x0084}
0x0d10…0d3a Head {h00=0x0026, h01=0x0050, text=» RF(NZ) LOAD LOAD PROGRAM REQUEST «, t00=0x0008, t01=0x0096}
0x0d3a…0d44 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0008, t01=0x00c0}
0x0d44…0d68 Head {h00=0x0020, h01=0x0050, text=»* UNLOAD PROGRAM PROCESSING«, t00=0x0008, t01=0x00ca}
0x0d68…0d72 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0008, t01=0x00ee}
0x0d72…0d86 Head {h00=0x0010, h01=0x0050, text=»ULD:10 EQU *«, t00=0x0008, t01=0x00f8}
0x0d86…0db8 Head {h00=0x002e, h01=0x0050, text=» LD A1,TTB:SP,A5 GET SEGMENT TABLE POINTER«, t00=0x0008, t01=0x010c}
0x0db8…0de0 Head {h00=0x0024, h01=0x0050, text=» RF(Z) ULD:40 NO PROGRAM LOADED «, t00=0x0008, t01=0x013e}
0x0de0…0e12 Head {h00=0x002e, h01=0x0050, text=» CM TTB:SP,A5 CLEAR SEGMENT TABLE POINTER «, t00=0x0008, t01=0x0166}
0x0e12…0e44 Head {h00=0x002e, h01=0x0050, text=» CM TTB:SB,A5 CLEAR SEGMENT BLOCK POINTER «, t00=0x0009, t01=0x0008}
0x0e44…0e6e Head {h00=0x0026, h01=0x0050, text=» LD A2,SCTTCT GET ADDRESS TO TCTAB«, t00=0x0009, t01=0x003a}
0x0e6e…0e96 Head {h00=0x0024, h01=0x0050, text=» LDR* A3,A2 GET LENGTH OF TCTAB «, t00=0x0009, t01=0x0064}
0x0e96…0eaa Head {h00=0x0010, h01=0x0050, text=»ULD:20 EQU *«, t00=0x0009, t01=0x008c}
0x0eaa…0ecc Head {h00=0x001e, h01=0x0050, text=» SUK A3,2 DECREMENT LENGTH«, t00=0x0009, t01=0x00a0}
0x0ecc…0ef0 Head {h00=0x0020, h01=0x0050, text=» RF(Z) ULD:30 NO MOORE TASKS«, t00=0x0009, t01=0x00c2}
0x0ef0…0f16 Head {h00=0x0022, h01=0x0050, text=» ADK A2,2 NEXT ENTRY IN TCTAB «, t00=0x0009, t01=0x00e6}
0x0f16…0f40 Head {h00=0x0026, h01=0x0050, text=» LDR* A4,A2 GET NEXT TTAB-ADDRESS «, t00=0x0009, t01=0x010c}
0x0f40…0f72 Head {h00=0x002e, h01=0x0050, text=» LD A4,TTB:SP,A4 GET SEGMENT TABLE POINTER«, t00=0x0009, t01=0x0136}
0x0f72…0f9e Head {h00=0x0028, h01=0x0050, text=» CWR A4,A1 SAME AS FOR CALLING TASK?«, t00=0x0009, t01=0x0168}
0x0f9e…0fb8 (10, 0, 400) Head {h00=0x0016, h01=0x0050, text=» RB(NE) ULD:20 NO «, t00=0x000a, t01=0x0004}
0x0fb8…0fca Head {h00=0x000e, h01=0x0050, text=» RF ULD:40«, t00=0x000a, t01=0x001e}
0x0fca…0fde Head {h00=0x0010, h01=0x0050, text=»ULD:30 EQU *«, t00=0x000a, t01=0x0030}
0x0fde…100c Head {h00=0x002a, h01=0x0050, text=» CM SEG:NS,A1 CLEAR NUMBER OF SEGMENTS«, t00=0x000a, t01=0x0044}
0x100c…1020 Head {h00=0x0010, h01=0x0050, text=»ULD:40 EQU *«, t00=0x000a, t01=0x0072}
0x1020…104c Head {h00=0x0028, h01=0x0050, text=» ABL LKMQDI QUEUE TASK AND DISPATCH «, t00=0x000a, t01=0x0086}
0x104c…105a Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x000a, t01=0x00b2}
0x105a…106c Head {h00=0x000e, h01=0x0050, text=»LOAD EQU *«, t00=0x000a, t01=0x00c0}
0x106c…1076 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000a, t01=0x00d2}
0x1076…10b4 Head {h00=0x003a, h01=0x0050, text=»* ACTIVATE LOAD TASK AT ENTRY LP:LST DISPATCH ADDRESS«, t00=0x000a, t01=0x00dc}
0x10b4…10be Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000a, t01=0x011a}
0x10be…10e6 Head {h00=0x0024, h01=0x0050, text=» LDKL A2,LP:LST DISPATCH ADDRESS«, t00=0x000a, t01=0x0124}
0x10e6…1118 Head {h00=0x002e, h01=0x0050, text=» LDR A3,A5 SAVE CALLING TASK TTAB-ADDRESS «, t00=0x000a, t01=0x014c}
0x1118…1124 Head {h00=0x0008, h01=0x0050, text=» INH«, t00=0x000a, t01=0x017e}
0x1124…114e Head {h00=0x0026, h01=0x0050, text=» CF A15,QLTASK ACTIVATE LOAD TASK «, t00=0x000a, t01=0x018a}
0x114e…115a Head {h00=0x0008, h01=0x0050, text=» ENB«, t00=0x000b, t01=0x0024}
0x115a…117e Head {h00=0x0020, h01=0x0050, text=» ABL TDISP GO TO DISPATCHER «, t00=0x000b, t01=0x0030}
0x117e…118c Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x000b, t01=0x0054}
0x118c…1196 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000b, t01=0x0062}
0x1196…11c6 Head {h00=0x002c, h01=0x0050, text=»* LOAD PROGRAM - RUNNING TASK IS LDTASK«, t00=0x000b, t01=0x006c}
0x11c6…11d0 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000b, t01=0x009c}
0x11d0…11e4 Head {h00=0x0010, h01=0x0050, text=»LP:LST EQU *«, t00=0x000b, t01=0x00a6}
0x11e4…1210 Head {h00=0x0028, h01=0x0050, text=» LDKL A14,LD:STB LOAD A14 STACK BASE«, t00=0x000b, t01=0x00ba}
0x1210…123a Head {h00=0x0026, h01=0x0050, text=» LDR A5,A3 GET CALLING TASKS TTAB «, t00=0x000b, t01=0x00e6}
0x123a…126e Head {h00=0x0030, h01=0x0050, text=» ST A1,LD:ECB+ECBFN STORE FILE NUMBER IN ECB«, t00=0x000b, t01=0x0110}
0x126e…12a4 Head {h00=0x0032, h01=0x0050, text=» LD A9,TTB:SA+14,A5 GET DISC ADDRESS BITS 0-15«, t00=0x000b, t01=0x0144}
0x12a4…12dc Head {h00=0x0034, h01=0x0050, text=» LD A10,TTB:SA+16,A5 GET DISC ADDRESS BITS 16-30«, t00=0x000b, t01=0x017a}
0x12dc…1310 Head {h00=0x0030, h01=0x002b, text=» LD A2,SCTFWT START OF FILE WORK TABLE AREA «, t00=0x000c, t01=0x0022}
0x1310…133e Head {h00=0x002a, h01=0x0026, text=»LP:100 SUK A1,1 FILE WORK TABLE FOUND?«, t00=0x000c, t01=0x0056}
0x133e…1358 Head {h00=0x0016, h01=0x0011, text=» RF(Z) LP:200 YES «, t00=0x000c, t01=0x0084}
0x1358…1382 Head {h00=0x0026, h01=0x0022, text=» AD A2,SCTFWL NEXT FILE WORK TABLE«, t00=0x000c, t01=0x009e}
0x1382…1394 Head {h00=0x000e, h01=0x000a, text=» RB LP:100«, t00=0x000c, t01=0x00c8}
0x1394…13a8 Head {h00=0x0010, h01=0x0050, text=»LP:200 EQU *«, t00=0x000c, t01=0x00da}
0x13a8…13d2 Head {h00=0x0026, h01=0x0050, text=» LDKL A1,LD:BUF GET BUFFER ADDRESS«, t00=0x000c, t01=0x00ee}
0x13d2…13fa Head {h00=0x0024, h01=0x0050, text=» ST A1,LD:ECB+ECBBA STORE IN ECB«, t00=0x000c, t01=0x0118}
0x13fa…1420 Head {h00=0x0022, h01=0x0050, text=» LDKL A1,256 REQUESTED LENGTH «, t00=0x000c, t01=0x0140}
0x1420…1448 Head {h00=0x0024, h01=0x0050, text=» ST A1,LD:ECB+ECBRL STORE IN ECB«, t00=0x000c, t01=0x0166}
0x1448…1470 Head {h00=0x0024, h01=0x0050, text=» CF A14,RDSFM READ FIRST SECTOR «, t00=0x000c, t01=0x018e}
0x1470…14aa Head {h00=0x0036, h01=0x0050, text=» LC A6,FWTEXB-1,A2 GET FILE EXTENT BASE (BITS 0-7)«, t00=0x000d, t01=0x0026}
0x14aa…14ce Head {h00=0x0020, h01=0x0050, text=» ANK A6,/FF ISOLATE ADDRESS «, t00=0x000d, t01=0x0060}
0x14ce…1508 Head {h00=0x0036, h01=0x0050, text=» LD A11,FWTEXB,A2 GET FILE EXTENT BASE (BITS 8-23)«, t00=0x000d, t01=0x0084}
0x1508…151e Head {h00=0x0012, h01=0x0050, text=» RF(NZ) LP:300«, t00=0x000d, t01=0x00be}
0x151e…1530 Head {h00=0x000e, h01=0x0050, text=» SUK A6,1 «, t00=0x000d, t01=0x00d4}
0x1530…154a Head {h00=0x0016, h01=0x0050, text=»LP:300 SUKL A11,1 «, t00=0x000d, t01=0x00e6}
0x154a…1578 Head {h00=0x002a, h01=0x0050, text=» CF A14,CHIPLD CHECK IF PROGRAM LOADED«, t00=0x000d, t01=0x0100}
0x1578…15a4 Head {h00=0x0028, h01=0x0050, text=» ADK A1,0 A1=0 IF NO PROGRAM LOADED «, t00=0x000d, t01=0x012e}
0x15a4…15d2 Head {h00=0x002a, h01=0x0050, text=» RF(NZ) LPMEND PROGRAM ALREADY LOADED «, t00=0x000d, t01=0x015a}
0x15d2…1600 Head {h00=0x002a, h01=0x0050, text=» CF A14,GETFST GET FREE SEGMENT TABLE «, t00=0x000d, t01=0x0188}
0x1600…1634 Head {h00=0x0030, h01=0x0050, text=» ADK A1,0 A1=0 IF NO SEGMENT TABLE AVALIABLE«, t00=0x000e, t01=0x0026}
0x1634…1664 Head {h00=0x002c, h01=0x0050, text=» RF(Z) REQERR IMPOSSIBLE TO LOAD PROGRAM«, t00=0x000e, t01=0x005a}
0x1664…1692 Head {h00=0x002a, h01=0x0050, text=» LC A2,FWTVOL,A2 GET VOLUME FILE CODE «, t00=0x000e, t01=0x008a}
0x1692…16c4 Head {h00=0x002e, h01=0x0050, text=» SC A2,SEG:FC+1,A1 STORE IN SEGMENT TABLE «, t00=0x000e, t01=0x00b8}
0x16c4…16f8 Head {h00=0x0030, h01=0x0050, text=» LD A3,LD:BUF+NUMSEG GET NUMBER OF SEGMENTS «, t00=0x000e, t01=0x00ea}
0x16f8…171a Head {h00=0x001e, h01=0x0050, text=» RF(Z) REQERR NO SEGMENTS!«, t00=0x000e, t01=0x011e}
0x171a…174e Head {h00=0x0030, h01=0x0050, text=» CW A3,SCTNOS COMPARE TO MAXIMUM NUMBER/TASK«, t00=0x000e, t01=0x0140}
0x174e…1776 Head {h00=0x0024, h01=0x0050, text=» RF(G) REQERR TOO MANY SEGMENTS «, t00=0x000e, t01=0x0174}
0x1776…17b0 Head {h00=0x0036, h01=0x0050, text=» ST A3,SEG:NS,A1 STORE CURRENT NUMBER OF SEGMENTS «, t00=0x000f, t01=0x000c}
0x17b0…17e6 Head {h00=0x0032, h01=0x0050, text=» LDKL A2,LD:BUF+NUMSEG START OF SEGMENT BLOCKS«, t00=0x000f, t01=0x0046}
0x17e6…17f0 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000f, t01=0x007c}
0x17f0…1808 Head {h00=0x0014, h01=0x0010, text=»* STORE BLOCK 0«, t00=0x000f, t01=0x0086}
0x1808…1812 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000f, t01=0x009e}
0x1812…183e Head {h00=0x0028, h01=0x0023, text=» LDKL A4,/8400 STATUS FOR SEGMENT 0 «, t00=0x000f, t01=0x00a8}
0x183e…185e Head {h00=0x001c, h01=0x0017, text=» STR A4,A1 STORE STATUS «, t00=0x000f, t01=0x00d4}
0x185e…1890 Head {h00=0x002e, h01=0x0050, text=» CM 2,A1 CLEAR STATUS/DISC ADDRESS BIT 0-7«, t00=0x000f, t01=0x00f4}
0x1890…18ba Head {h00=0x0026, h01=0x0050, text=» CM 6,A1 CLEAR PAGE BLOCK ADDRESS «, t00=0x000f, t01=0x0126}
0x18ba…18e0 Head {h00=0x0022, h01=0x001e, text=» ADK A1,8 START OF SEGMENT ONE«, t00=0x000f, t01=0x0150}
0x18e0…18ea Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000f, t01=0x0176}
0x18ea…1908 Head {h00=0x001a, h01=0x0016, text=»* INIT SEGMENT BLOCKS«, t00=0x000f, t01=0x0180}
0x1908…1912 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0010, t01=0x000e}
0x1912…192a Head {h00=0x0014, h01=0x0050, text=»I:SBLK SUK A3,1 «, t00=0x0010, t01=0x0018}
0x192a…1952 Head {h00=0x0024, h01=0x0020, text=» RF(N) LPMEND NO MOORE SEGMENTS!«, t00=0x0010, t01=0x0030}
0x1952…197a Head {h00=0x0024, h01=0x0050, text=» CF A14,GETWSG GET DISC ADDRESS «, t00=0x0010, t01=0x0058}
0x197a…19a0 Head {h00=0x0022, h01=0x001d, text=» ANK A4,/FF CLEAR STATUS BYTE «, t00=0x0010, t01=0x0080}
0x19a0…19c8 Head {h00=0x0024, h01=0x0050, text=» ADR A4,A6 RELOCATE DISC ADDRESS«, t00=0x0010, t01=0x00a6}
0x19c8…19f8 Head {h00=0x002c, h01=0x0028, text=» STR A4,A1 STORE STATUS AND DISC ADDRESS«, t00=0x0010, t01=0x00ce}
0x19f8…1a20 Head {h00=0x0024, h01=0x001f, text=» ADK A1,2 DISC ADDRESS BIT 8-22 «, t00=0x0010, t01=0x00fe}
0x1a20…1a52 Head {h00=0x002e, h01=0x0050, text=» CF A14,GETWSG GET DISC ADDRESS BITS 8-22 «, t00=0x0010, t01=0x0126}
0x1a52…1a7c Head {h00=0x0026, h01=0x0050, text=» ADR A4,A11 RELOCATE DISC ADDRESS «, t00=0x0010, t01=0x0158}
0x1a7c…1a96 Head {h00=0x0016, h01=0x0011, text=» STR A4,A1 STORE «, t00=0x0010, t01=0x0182}
0x1a96…1ab6 Head {h00=0x001c, h01=0x0018, text=» ADK A1,2 SEGMENT LENGTH«, t00=0x0011, t01=0x000c}
0x1ab6…1ae0 Head {h00=0x0026, h01=0x0050, text=» CF A14,GETWSG GET SEGMENT LENGTH «, t00=0x0011, t01=0x002c}
0x1ae0…1af8 Head {h00=0x0014, h01=0x0010, text=» STR A4,A1 STORE«, t00=0x0011, t01=0x0056}
0x1af8…1b22 Head {h00=0x0026, h01=0x0050, text=» CM 2,A1 CLEAR PAGE BLOCK ADDRESS «, t00=0x0011, t01=0x006e}
0x1b22…1b46 Head {h00=0x0020, h01=0x001c, text=» ADK A1,4 NEXT SEGMENT BLOCK«, t00=0x0011, t01=0x0098}
0x1b46…1b58 Head {h00=0x000e, h01=0x000a, text=» RB I:SBLK«, t00=0x0011, t01=0x00bc}
0x1b58…1b66 Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x0011, t01=0x00ce}
0x1b66…1b7a Head {h00=0x0010, h01=0x0050, text=»LPMEND EQU *«, t00=0x0011, t01=0x00dc}
0x1b7a…1ba8 Head {h00=0x002a, h01=0x0050, text=» ABL QMEXIT QUEUE TASK FOR DISPATCHING«, t00=0x0011, t01=0x00f0}
0x1ba8…1bb0 Head {h00=0x0004, h01=0x0050, t00=0x0011, t01=0x011e}
0x1bb0…1bba Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0011, t01=0x0126}
0x1bba…1bd0 Head {h00=0x0012, h01=0x0050, text=»* ERROR ENTRY«, t00=0x0011, t01=0x0130}
0x1bd0…1bda Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0011, t01=0x0146}
0x1bda…1c0a Head {h00=0x002c, h01=0x0050, text=»REQERR LDKL A7,-1 INDICATE REQUEST ERROR«, t00=0x0011, t01=0x0150}
0x1c0a…1c42 Head {h00=0x0034, h01=0x0050, text=»DSKERR ST A7,TTB:SA+14,A5 SET RETURN CODE IN A7 «, t00=0x0011, t01=0x0180}
0x1c42…1c54 Head {h00=0x000e, h01=0x0050, text=» RB LPMEND«, t00=0x0012, t01=0x0028}
0x1c54…1c62 Head {h00=0x000a, h01=0x0006, text=» EJECT«, t00=0x0012, t01=0x003a}
0x1c62…1ca2 Head {h00=0x003c, h01=0x0038, text=»***************** INTERNAL SUBROUTINES *****************«, t00=0x0012, t01=0x0048}
0x1ca2…1caa Head {h00=0x0004, h01=0x0002, t00=0x0012, t01=0x0088}
0x1caa…1cb2 Head {h00=0x0004, h01=0x0002, t00=0x0012, t01=0x0090}
0x1cb2…1cbc Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0012, t01=0x0098}
0x1cbc…1ce2 Head {h00=0x0022, h01=0x001e, text=»* GETWSG - GET WORD IN S:GTAB«, t00=0x0012, t01=0x00a2}
0x1ce2…1cec Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0012, t01=0x00c8}
0x1cec…1d16 Head {h00=0x0026, h01=0x0021, text=»* ENTRY: A2 - POINTER IN S:GTAB «, t00=0x0012, t01=0x00d2}
0x1d16…1d20 Head {h00=0x0006, h01=0x0002, text=»* «, t00=0x0012, t01=0x00fc}
0x1d20…1d46 Head {h00=0x0022, h01=0x001e, text=»* EXIT: A2 - ENTRY VALUE + 2«, t00=0x0012, t01=0x0106}
0x1d46…1d82 Head {h00=0x0038, h01=0x0034, text=»* A4 - CONTENTS IN LOCATION POINTED AT BY A2«, t00=0x0012, t01=0x012c}
0x1d82…1d8c Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0012, t01=0x0168}
0x1d8c…1daa Head {h00=0x001a, h01=0x0016, text=»* SUBROUTINES: RDSFM«, t00=0x0012, t01=0x0172}
0x1daa…1db4 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0012, t01=0x0190}
0x1db4…1de4 Head {h00=0x002c, h01=0x0028, text=»GETWSG ADK A2,2 INCREMENT S:GTAB POINTER«, t00=0x0013, t01=0x000a}
0x1de4…1e0a Head {h00=0x0022, h01=0x0050, text=» CWK A2,LD:BUE END OF SECTOR? «, t00=0x0013, t01=0x003a}
0x1e0a…1e28 Head {h00=0x001a, h01=0x0016, text=» RF(NE) GETRTN NOT YET«, t00=0x0013, t01=0x0060}
0x1e28…1e4e Head {h00=0x0022, h01=0x0050, text=» CF A14,RDSFM READ NEXT SECTOR«, t00=0x0013, t01=0x007e}
0x1e4e…1e76 Head {h00=0x0024, h01=0x001f, text=» LDKL A2,LD:BUF START OF BUFFER «, t00=0x0013, t01=0x00a4}
0x1e76…1e9c Head {h00=0x0022, h01=0x001d, text=»GETRTN LDR* A4,A2 GET CONTENT «, t00=0x0013, t01=0x00cc}
0x1e9c…1eac Head {h00=0x000c, h01=0x0050, text=» RTN A14«, t00=0x0013, t01=0x00f2}
0x1eac…1eba Head {h00=0x000a, h01=0x0006, text=» EJECT«, t00=0x0013, t01=0x0102}
0x1eba…1ec4 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0013, t01=0x0110}
0x1ec4…1ef6 Head {h00=0x002e, h01=0x002a, text=»* RDSFM - READ SECTOR VIA FILE MANAGEMENT«, t00=0x0013, t01=0x011a}
0x1ef6…1f00 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0013, t01=0x014c}
0x1f00…1f3c Head {h00=0x0038, h01=0x0034, text=»* ENTRY: ECB CONTAINING FILE NUMBER,BUFFER ADDRESS«, t00=0x0013, t01=0x0156}
0x1f3c…1f72 (20, 0, 400) Head {h00=0x0032, h01=0x002e, text=»* REQUESTED LENGTH AND SECTOR ADDRESS«, t00=0x0014, t01=0x0004}
0x1f72…1f7c Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0014, t01=0x003a}
0x1f7c…1fb2 Head {h00=0x0032, h01=0x002e, text=»* EXIT: SECTOR ADDRESS IS INCREMENTED BY ONE«, t00=0x0014, t01=0x0044}
0x1fb2…1fbc Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0014, t01=0x007a}
0x1fbc…1fde Head {h00=0x001e, h01=0x0019, text=»* WORK REGISTERS: A7,A8 «, t00=0x0014, t01=0x0084}
0x1fde…1fe8 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0014, t01=0x00a6}
0x1fe8…200e Head {h00=0x0022, h01=0x0050, text=»RDSFM LDK A7,PHYRD LOAD ORDER «, t00=0x0014, t01=0x00b0}
0x200e…2036 Head {h00=0x0024, h01=0x0050, text=» LDKL A8,LD:ECB LOAD ECB-ADDRESS«, t00=0x0014, t01=0x00d6}
0x2036…2070 Head {h00=0x0036, h01=0x0050, text=» ST A9,LD:ECB+ECBCW1 STORE DISC ADDRESS BITS 0-15 «, t00=0x0014, t01=0x00fe}
0x2070…20ac Head {h00=0x0038, h01=0x0050, text=» ST A10,LD:ECB+ECBCW2 STORE DISC ADDRESS BITS 16-30 «, t00=0x0014, t01=0x0138}
0x20ac…20b8 Head {h00=0x0008, h01=0x0004, text=» LKM«, t00=0x0014, t01=0x0174}
0x20b8…20c8 Head {h00=0x000c, h01=0x0008, text=» DATA 15«, t00=0x0014, t01=0x0180}
0x20c8…20d2 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0014, t01=0x0190}
0x20d2…20ee Head {h00=0x0018, h01=0x0014, text=»* CHECK RETURN CODE«, t00=0x0015, t01=0x000a}
0x20ee…20f8 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0015, t01=0x0026}
0x20f8…2124 Head {h00=0x0028, h01=0x0050, text=» LD A7,LD:ECB+ECBRC GET RETURN CODE «, t00=0x0015, t01=0x0030}
0x2124…214a Head {h00=0x0022, h01=0x0050, text=» ANKL A7,/FEFF SKIP RETRY BIT «, t00=0x0015, t01=0x005c}
0x214a…2164 Head {h00=0x0016, h01=0x0050, text=» RF(Z) RDSF10 OK! «, t00=0x0015, t01=0x0082}
0x2164…218e Head {h00=0x0026, h01=0x0050, text=» ANK A7,1 BIT 15=DISC NOT OPERABLE«, t00=0x0015, t01=0x009c}
0x218e…21b4 Head {h00=0x0022, h01=0x0050, text=» NGR A7,A7 TAKE 2'S COMPLEMENT«, t00=0x0015, t01=0x00c6}
0x21b4…21dc Head {h00=0x0024, h01=0x0050, text=» SUK A7,2 SET ERROR RETURN CODE «, t00=0x0015, t01=0x00ec}
0x21dc…21ee Head {h00=0x000e, h01=0x0050, text=» RB DSKERR«, t00=0x0015, t01=0x0114}
0x21ee…21f8 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0015, t01=0x0126}
0x21f8…221c Head {h00=0x0020, h01=0x001b, text=»* INCREMENT SECTOR ADDRESS «, t00=0x0015, t01=0x0130}
0x221c…2226 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0015, t01=0x0154}
0x2226…2256 Head {h00=0x002c, h01=0x0050, text=»RDSF10 ADKL A10,1 INCR. LEAST SIGN. PART«, t00=0x0015, t01=0x015e}
0x2256…2276 Head {h00=0x001c, h01=0x0018, text=» RF(NN) RDSRET OVERFLOW?«, t00=0x0015, t01=0x018e}
0x2276…229e Head {h00=0x0024, h01=0x0050, text=» ADKL A9,1 INCR. MOST SIGN. PART«, t00=0x0016, t01=0x001e}
0x229e…22c4 Head {h00=0x0022, h01=0x0050, text=» RB(Z) REQERR ADDRESS OVERFLOW«, t00=0x0016, t01=0x0046}
0x22c4…22e4 Head {h00=0x001c, h01=0x0050, text=» XRR A10,A10 RESET CARRY«, t00=0x0016, t01=0x006c}
0x22e4…22fa Head {h00=0x0012, h01=0x0050, text=»RDSRET RTN A14«, t00=0x0016, t01=0x008c}
0x22fa…2308 Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x0016, t01=0x00a2}
0x2308…2312 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0016, t01=0x00b0}
0x2312…231c Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0016, t01=0x00ba}
0x231c…2348 Head {h00=0x0028, h01=0x0050, text=»* CHIPLD - CHECK IF PROGRAM LOADED «, t00=0x0016, t01=0x00c4}
0x2348…2352 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0016, t01=0x00f0}
0x2352…2384 Head {h00=0x002e, h01=0x0050, text=»* ENTRY: A6 - FILE EXTENT BASE BITS 0-7 «, t00=0x0016, t01=0x00fa}
0x2384…23b6 Head {h00=0x002e, h01=0x0050, text=»* A11 - FILE EXTENT BASE BITS 8-23«, t00=0x0016, t01=0x012c}
0x23b6…23e4 Head {h00=0x002a, h01=0x0050, text=»* LD:BUF CONTAINS FIRST SECTOR«, t00=0x0016, t01=0x015e}
0x23e4…23ee Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0016, t01=0x018c}
0x23ee…241a Head {h00=0x0028, h01=0x0050, text=»* EXIT: A1=0 - PROGRAM NOT LOADED «, t00=0x0017, t01=0x0008}
0x241a…244a Head {h00=0x002c, h01=0x0050, text=»* A1<>0 - SEGMENT TABLE ADDRESS «, t00=0x0017, t01=0x0034}
0x244a…2454 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0017, t01=0x0064}
0x2454…247e Head {h00=0x0026, h01=0x0050, text=»* WORK REGISTERS: A1,A3,A4,A7,A8«, t00=0x0017, t01=0x006e}
0x247e…2488 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0017, t01=0x0098}
0x2488…249c Head {h00=0x0010, h01=0x0050, text=»CHIPLD EQU *«, t00=0x0017, t01=0x00a2}
0x249c…24c6 Head {h00=0x0026, h01=0x0050, text=» LD A7,SCTTCT GET ADDRESS TO TCTAB«, t00=0x0017, t01=0x00b6}
0x24c6…24ee Head {h00=0x0024, h01=0x0050, text=» LDR* A8,A7 GET LENGTH OF TCTAB «, t00=0x0017, t01=0x00e0}
0x24ee…2502 Head {h00=0x0010, h01=0x0050, text=»CHPL10 EQU *«, t00=0x0017, t01=0x0108}
0x2502…2522 Head {h00=0x001c, h01=0x0050, text=» SUKL A8,2 MOORE TASKS? «, t00=0x0017, t01=0x011c}
0x2522…253c Head {h00=0x0016, h01=0x0050, text=» RF(Z) CHPL50 NO! «, t00=0x0017, t01=0x013c}
0x253c…2562 Head {h00=0x0022, h01=0x0050, text=» ADK A7,2 NEXT ENTRY IN TCTAB «, t00=0x0017, t01=0x0156}
0x2562…258c Head {h00=0x0026, h01=0x0050, text=» LDR* A1,A7 GET NEXT TTAB-ADDRESS «, t00=0x0017, t01=0x017c}
0x258c…25be Head {h00=0x002e, h01=0x0050, text=» LD A1,TTB:SP,A1 GET SEGMENT TABLE POINTER«, t00=0x0018, t01=0x0016}
0x25be…25ee Head {h00=0x002c, h01=0x0050, text=» RB(Z) CHPL10 NO SEGMENT TABLE ATTACHED «, t00=0x0018, t01=0x0048}
0x25ee…2620 Head {h00=0x002e, h01=0x0050, text=» LD A3,LD:BUF+12 GET DISC ADDRESS BITS 0-7«, t00=0x0018, t01=0x0078}
0x2620…2644 Head {h00=0x0020, h01=0x0050, text=» ANK A3,/FF ISOLATE ADDRESS «, t00=0x0018, t01=0x00aa}
0x2644…2668 Head {h00=0x0020, h01=0x0050, text=» ADR A3,A6 RELOCATE ADDRESS «, t00=0x0018, t01=0x00ce}
0x2668…269e Head {h00=0x0032, h01=0x0050, text=» LD A4,8,A1 GET DISC ADDRESS IN SEGMENT TABLE «, t00=0x0018, t01=0x00f2}
0x269e…26c2 Head {h00=0x0020, h01=0x0050, text=» ANK A4,/FF ISOLATE ADDRESS «, t00=0x0018, t01=0x0128}
0x26c2…26f2 Head {h00=0x002c, h01=0x0050, text=» CWR A3,A4 MOST SIGNIFICANT BITS EQUAL? «, t00=0x0018, t01=0x014c}
0x26f2…270c Head {h00=0x0016, h01=0x0050, text=» RB(NE) CHPL10 NO «, t00=0x0018, t01=0x017c}
0x270c…2740 Head {h00=0x0030, h01=0x0050, text=» LD A3,LD:BUF+14 GET DISC ADDRESS BITS 8-23 «, t00=0x0019, t01=0x0008}
0x2740…275c Head {h00=0x0018, h01=0x0050, text=» ADR A3,A11 RELOCATE«, t00=0x0019, t01=0x003c}
0x275c…2792 Head {h00=0x0032, h01=0x0050, text=» LD A4,10,A1 GET DISC ADDRES IN SEGMENT TABLE «, t00=0x0019, t01=0x0058}
0x2792…27c2 Head {h00=0x002c, h01=0x0050, text=» CWR A3,A4 LEAST SIGNIFICANT PART EQUAL?«, t00=0x0019, t01=0x008e}
0x27c2…27dc Head {h00=0x0016, h01=0x0050, text=» RB(NE) CHPL10 NO «, t00=0x0019, t01=0x00be}
0x27dc…27ee Head {h00=0x000e, h01=0x0050, text=» RF CHPL90«, t00=0x0019, t01=0x00d8}
0x27ee…2802 Head {h00=0x0010, h01=0x0050, text=»CHPL50 EQU *«, t00=0x0019, t01=0x00ea}
0x2802…2830 Head {h00=0x002a, h01=0x0050, text=» XRR A1,A1 CLEAR SEGMENT TABLE POINTER«, t00=0x0019, t01=0x00fe}
0x2830…2844 Head {h00=0x0010, h01=0x0050, text=»CHPL90 EQU *«, t00=0x0019, t01=0x012c}
0x2844…2878 Head {h00=0x0030, h01=0x0050, text=» ST A1,TTB:SP,A5 STORE SEGMENT TABLE POINTER«, t00=0x0019, t01=0x0140}
0x2878…2888 Head {h00=0x000c, h01=0x0050, text=» RTN A14«, t00=0x0019, t01=0x0174}
0x2888…2896 Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x0019, t01=0x0184}
0x2896…28a0 (26, 0, 400) Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x001a, t01=0x0004}
0x28a0…28ca Head {h00=0x0026, h01=0x0050, text=»* GETFST - GET FREE SEGMENT TABLE«, t00=0x001a, t01=0x000e}
0x28ca…28d4 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x001a, t01=0x0038}
0x28d4…28e6 Head {h00=0x000e, h01=0x0050, text=»* ENTRY: «, t00=0x001a, t01=0x0042}
0x28e6…28f0 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x001a, t01=0x0054}
0x28f0…291c Head {h00=0x0028, h01=0x0050, text=»* EXIT: A1 - SEGMENT TABLE POINTER«, t00=0x001a, t01=0x005e}
0x291c…2926 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x001a, t01=0x008a}
0x2926…2946 Head {h00=0x001c, h01=0x0050, text=»* WORK REGISTER: A1,A3«, t00=0x001a, t01=0x0094}
0x2946…2950 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x001a, t01=0x00b4}
0x2950…2964 Head {h00=0x0010, h01=0x0050, text=»GETFST EQU *«, t00=0x001a, t01=0x00be}
0x2964…2990 Head {h00=0x0028, h01=0x0050, text=» LD A1,TTB:AP,A5 GET ADDRESS TO ACB «, t00=0x001a, t01=0x00d2}
0x2990…29c8 Head {h00=0x0034, h01=0x0050, text=» LD A1,ACBSEG,A1 GET START OF SEGMENT TABLE POOL«, t00=0x001a, t01=0x00fe}
0x29c8…29ea Head {h00=0x001e, h01=0x0050, text=» ADK A1,4 SEGMENT BLOCK 0 «, t00=0x001a, t01=0x0136}
0x29ea…29fe Head {h00=0x0010, h01=0x0050, text=»GFST10 EQU *«, t00=0x001a, t01=0x0158}
0x29fe…2a2e Head {h00=0x002c, h01=0x0050, text=» LD A3,SEG:NS,A1 GET NUMBER OF SEGMENTS «, t00=0x001a, t01=0x016c}
0x2a2e…2a4c Head {h00=0x001a, h01=0x0050, text=» RF(Z) GFST30 NOT USED«, t00=0x001b, t01=0x000c}
0x2a4c…2a60 Head {h00=0x0010, h01=0x0050, text=»GFST20 EQU *«, t00=0x001b, t01=0x002a}
0x2a60…2a90 Head {h00=0x002c, h01=0x0050, text=» LD A1,SEG:EL,A1 GET SEGMENT TABLE LINK «, t00=0x001b, t01=0x003e}
0x2a90…2abc Head {h00=0x0028, h01=0x0050, text=» RF(Z) GFST40 NO MORE SEGMENT TABLES«, t00=0x001b, t01=0x006e}
0x2abc…2aea Head {h00=0x002a, h01=0x0050, text=» SUK A1,4 ADJUST SEGMENT TABLE POINTER«, t00=0x001b, t01=0x009a}
0x2aea…2b0e Head {h00=0x0020, h01=0x0050, text=» RB GFST10 CHECK NEXT SEGTAB«, t00=0x001b, t01=0x00c8}
0x2b0e…2b22 Head {h00=0x0010, h01=0x0050, text=»GFST30 EQU *«, t00=0x001b, t01=0x00ec}
0x2b22…2b56 Head {h00=0x0030, h01=0x0050, text=» ST A1,TTB:SP,A5 STORE SEGMENT TABLE POINTER«, t00=0x001b, t01=0x0100}
0x2b56…2b5e Head {h00=0x0004, h01=0x0050, t00=0x001b, t01=0x0134}
0x2b5e…2b72 Head {h00=0x0010, h01=0x0050, text=»GFST40 EQU *«, t00=0x001b, t01=0x013c}
0x2b72…2b8a Head {h00=0x0014, h01=0x0050, text=» RTN A14 RETURN «, t00=0x001b, t01=0x0150}
0x2b8a…2b96 Head {h00=0x0008, h01=0x0004, text=» END«, t00=0x001b, t01=0x0168}
0x2b96…2b9a Head {h00=0x4004, h01=0x0000}
0x2b9a…2b9e 00 1b 01 74 ┆ t┆
0x2b9e…2ba6 (28, 1, 8) 20 04 00 00 00 1c 00 04 ┆ ┆