*20 //MOD4 /DECODE MODULE 4 /BLOCK 26 /CONTENTS / COMFL2 (COMFIL STARTER) / ENDCOM (COMFIL ENDER) / MAKDIL / DISK LODSYM SEGMNT 4 *1400 4 ADD COMAND ADA I JMP .+4 STC .+2 STC COMAND JMP / JMP DODSK JMP MAKDL JMP GONORM JMP GOCOM / GOCOM, IOB 2 0 / IOB 6002 CLR AXO LDF 0 RDC 4050 RDC 5051 RDC 6052 RDC 7053 LDF 3 WRC 6056 RCG 3054 / / SET I 14 CURNUM SET I 17 FILE0-1 CLR LDF 3 / LDH 4\DILUN STA I 14 STA I 17 LDA DILBLK STA I 14 STA I 14 STA I 17 STA I 17 LDA I 4\3400+1 STA I 14 STA I 17 JMP GOUSER EJECT GONORM, IOB 2 0 IOB 6002 CLR AXO LDF 0 RDC 4000 RDC 5001 RDC 6002 RDC 7003 LIF 0 JMP 20 EJECT /DISK HANDLER /CALL /READ=3, WRITE=5 /XCORE /CORE /XDISK /DISK /-N. WORDS 2S COMP / DODSK, FETCH BSE I 6600 STC DSK FETCH BCL I 7770 ROL 3 STC DEXT FETCH AZE JMP .+3 COM SKP ADD M1 STC W7751 FETCH BCL I 7740 ROL 6 ADD DEXT STC DEXT FETCH STC DADR FETCH STC W7750 / DAGN, LDF 3 LDA I W7750, STA 3750 LDA I W7751, STA 3751 LDA I DEXT, 0 2 PMODE 6615 CLA CLL TAD DADR IOF DSK, 0 / DWAT, 6621 JMP .+3 6141 LMODE JMP DAGN PMODE 6622 JMP DWAT 6621 JMP .-5 6611 6601 ION 6141 LMODE JMP GOUSER DADR, 0 / /ROUTINE TO MAKE A DIAL INDEX ENTRY /GET ARGUMENTS FROM USER CALL SEQUENCE / /GET DIAL NAME MAKDL, FETCH STC FDV+1 FETCH STC FDV+2 FETCH STC FDV+3 FETCH STC FDV+4 /GET TAPE UNIT AND FILE TYPE FETCH STC FDV ADD FDV BCL I 0777 /FILE TYPE AZE JMP .+4 /SOURCE LDA I /BINARY 2 /BINARY CODE JMP .+3 LDA I 23 /SOURCE CODE STC FDV+5 /FILE TYPE CODE ADD FDV BCL I 7770 STC FDV /TAPE UNIT /GET FILE LENGTH FETCH STC FDV+7 / /GET FRED; PUT IN DF 6 /FIRST SAVE DF 6 & 7 JMP SAV67 LDF 6 IOB 12 4036 IOB 12 5037 /JUMP TO FRED TO ENTER DIAL NAME /FIRST TURN OFF INTERRUPT IOB 6002 /IOF LDA I FDV LIF 6 JMP 22 /ENTER IN INDEX JMP EXISTS /FILE ALREADY EXISTS SKP /NO ROOM FOR FILE LV10, XSK I RETURN /NORMAL RETURN LV7, LDA FDV+6 /FILE BN STC COMNO /RETURN AC /TURN BACK ON INTERRUPT IOB 6001 /ION /RESTORE DF 6 & 7 AND RETURN TO USER JMP GET67 / /FILE ALREADY PRESENT /ASK IF WANT TO REPLACE EXISTS, TYPEC RMES /REPLACE? JMP DECOD /OPEN INPUT BUFFER / LDH INBUF SAE I 22 /R JMP LV7 /NO REPLACE, LEAVE /REPLACE FILE USING FRED /FIRST TURN OFF INTERRUPT IOB 6002 /IOF LIF 6 JMP 24 /REPLACE JMP LV7 /NO ROOM JMP LV10 /NORMAL RETURN / /PARAMETER LIST FOR FRED / FDV, 0 /TAPE UNIT NUMBER 0 /DIAL NAME 0 0 0 0 /FILE TYPE / 2 = BINARY / 23 = SOURCE 0 /STARTING BN / (FILLED BY FRED) AA4, 0 /NO. OF BLOCKS / / / /MOD4 /FEB 74