*20 / FOCLDR ROUTINE / / KEITH WHITTLE / DEC,1971 / /READING IN FOCAL-RT / /ASSUME FOCAL-RT IS THE FIRST BINARY /SAVED ON TAPE UNIT 0. / / /ENTER ROUTINE PROGRAM WITH VALUE IN /AC TO INDICATE WHICH FOCAL PROGRAM /IS TO BE LOADED. / /CORE POISTION OF BINARY IS CRITICAL. /SUGGEST STARTING AT 4000 OR 4020. / / SEGMNT 2 *20 STC CHOICE AXO /CLEAR EX. ADDR. / / /MAKE SURE DIAL-MS I/O ROUTINES ARE /PRESENT IN FIELD1 7000-7777 / / LDF 7 RDC 6322 RDC 7323 / /READ IN FOCAL-RT / PDP PMODE CLA 6201 IN, 6212 JMS I PREAD /POINTER IS SET INITIALLY FOR FIRST /SECTION OF FOCAL-RT. PTR / /UPDATE TAPE BLOCK / TAD PTR+3 TAD PTR+2 DCA PTR+2 / TAD I POINT /DATA ADDRESS DCA PTR+1 /STORE MBLK. ISZ POINT /MOVE DOWN LIST. TAD I POINT DCA PTR+3 /STORE NBLK. ISZ POINT /MOVE DOWN LIST. ISZ LOOP /COUNT LOOPS. JMP IN / / /MAKE APPROPRIATE CHANGES TO FOCAL /TO ALLOW INITIALIZATION. / TAD P5616 /JMP I 216 DCA I 77 /STORE IN 215 /THE NEXT VALUE VARIES ACCORDING TO /PROGRAMS LOCATION IN CORE.IT IS /USED TO RETURN FROM FOCAL INITIALIZ- /ATION TO THE CORRECT POSITION IN /THE FOCLDR ROUTINE. TAD PRTN /RETURN ADDR. DCA I P216 JMP I 13 /INITIALIZE. / / /LOAD CORRECT INSTRUCTION INTO COMMAND /BUFFER. / RTN, TAD CHOICE /VARIABLE NO. TAD CODE+5 DCA CODE+5 TAD I ADD2 ISZ ADD2 DCA I 10 ISZ COUNT /VARIES WITH JMP .-4 /NAME LENGTH. / / /JAM CR INTO "CHAR" REGISTER TO ALLOW /EXECUTION OF COMMAND. TAD 77 DCA 66 / / /RESTORE LOCATIONS IN FOCAL. / TAD P1132 DCA I 77 TAD P3027 DCA I P216 JMP I P227 /START PROGRAM. PREAD, 7774 POINT, DATA /MBLK AND NBLK INFORMATION TO READ IN /FOCAL-RT. DATA, 11 7 20 1 22 3 30 2 LOOP, -5 ADD2, CODE CODE, 1440 /L 0754 /G, 2022 /PR 1707 /OG 2201 /RA 1560 /M0 /CHANGE TO DESIRED UNIT, REMEMBERING /FOCAL-RT USES NOS. 1 TO 9. I.E. THE /ASCII CODES 60 T0 71 5460 /,0 P216, 216 PRTN, RTN P3027, 3027 P227, 227 P5616, 5616 P1132, 1132 COUNT, -7 CHOICE, 0 PTR, 0 0 243 /1ST BINARY BLK. 10