File: KEY.PA of Tape: Sources/Focal/s6
(Source file text)
/FILE SECURITY DATAPLAN-FOCAL73 /TO BE LOADED WITH L L KEY;KEY.SV ON SYS: /THAN CALL PROGRAM TO BE MODIFIED WITH L C XXXXX /PROGRAM THAN SAVES AGAIN AND COMES BACK FOR MORE /IF FOCAL IS TO BE CODED:INSERT THE CODE-NUMBER FIRST /ADRESS FOR CODE-NUMBER IN FOCAL IS:01762 MQL=7421 MQA=7501 GOSUB=1711 CODENU=1762 BUFR=60 AUTO3=12 AUTO4=13 PC0=200 LINE0=210 LINE1=224 SAVPR=1432 EXITOS=22 PDLXR=11 POPA=4536 PUSHF=4542 SCHAR=1273 WRITE=634 FOCTXT=1570 BLLL=1524 FIELD 0 *3000 NOP TAD (CODENU&177+1+5200 /"JMP CODENU+1" DCA I (GOSUB-1 /MODIFY "L CALL" EXIT SO THAT TAD (CODENU&177+2+5600 /"JMP I CODENU+2" DCA I (CODENU+1 TAD (.+3 /WE COME BACK TO HERE+3 DCA I (CODENU+2 /AFTER A "L CALL XXX" JMP I (201 /TO CHAIN RETURN POINT;BACK TO FOCAL CDF 0 TAD I (CODENU /TRANSFER CODE-NUMBER CIA DCA TMCOD TAD TMCOD /NEG. TEMP CIA DCA I (CODE /IN APPEN CDF 10 TAD (7600 MQL TAD I (BUFR /GET LENGTH OF PROGRAM MQA /OR WITH 7600 CLL TAD (7600-7525 /SEE IF APPEN FITS IN PAGE SZL CLA TAD (200 /NO.ADD ONE PAGE TAD I (BUFR AND (7600 /IF IT DIDN'T FIT START OF PAGE TAD (APPEN&177-1 DCA APPSTR /STORE TEMP TAD APPSTR DCA I (BUFR /RESET BUFR TAD (APPEN-2 DCA AUTO3 CMA TAD APPSTR DCA AUTO4 TAD (7600-7525 CIA DCA COUNT TRNSLP, CDF 0 /NOW TRANSFER APPEN TO FLD 2 TAD I AUTO3 CDF 20 DCA I AUTO4 ISZ COUNT /7525-7600 JMP TRNSLP TAD TMCOD TAD I (LINE1 DCA I (PC0+1 /C(LINE1)-CODE>PC0+1 TAD TMCOD TAD I (LINE0 DCA I (LINE1 /C(LINE0)-CODE>LINE1 DCA I (LINE0 /0>LINE0 TAD TMCOD TAD APPSTR IAC DCA I (PC0+2 /APPEN ENTRY-CODE>PC0+2 DCA I (LINE0-1 /NOT NEEDED ANY MORE CDF 0 DCA I (SAVPR+14 /SO "SAVPR" DOESN'T RESET LINE0-1 JMS I (SAVPR /NOW RESAVE PROGRAM JMP EXITOS /AND BACK TO FOCAL TMCOD, 0 APPSTR, 0 COUNT, 0 PAGE /THIS PART IS MOVED TO FLD 2 AT THE END OF THE PROGRAM *3325 SKP /FALLING IN WILL GIVE ERROR APPEN, JMS . /ADRESS: C (PC0+2) + CODE CMA /AC CARRIES C(PC0+2) TAD APPEN /AC=CODE CIA TAD CODE SZA /IF ZERO ALL OK JMP I PDLXR /IT WILL BLOW UP DCA I PC02PT /CLEAR POINTER TAD I LIN1PT TAD CODE DCA I LIN0PT /SET LINE0 TAD I PC01PT TAD CODE DCA I LIN1PT /SET LINE1 DCA I PC01PT CDF 10 TAD VPOPA DCA I SCHARPT /KILL MODIFY TAD VPOPA DCA I WRIT2PT TAD VPUSHF DCA I WRIT10 /KILL WRITE CIF CDF 0 DCA I SVPTPT TAD SAVMOD DCA I BLM3PT /KILL SAVE TAD APPEN /APPEN IN AC FOR BUFR JMP I .+1 GOSUB-4 SAVEPT=1467 CODE, 0 PC02PT, PC0+2 LIN1PT, LINE1 LIN0PT, LINE0 PC01PT, PC0+1 VPOPA, POPA VPUSHF, PUSHF SCHARP, SCHAR WRIT2P, WRITE+2 WRIT10, WRITE+10 SVPTPT, SAVEPT+3 SAVMOD, FOCTXT&177-1+1200 /"TAD FOCTXT-1" BLM3PT, BLLL-3 $$$$