/CASSETTE ENTER, LOOKUP, CLOSE: RTS8 V2B 8/30/74 VERS= 1 XLIST 1 /COPYRIGHT ALSO GIVEN IN PARAM.PA / / / / / / / / / /COPYRIGHT (C) 1974,1975,1976 BY DIGITAL EQUIPMENT CORPORATION / / / / / / / / / / /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. / /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. / /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY /DIGITAL. / / / / / / / / / / XLIST 0 /LIST TASK /CSAF /FORMAT OF MASSAGE IS: /MSG, ZBLOCK 3 /WORD 1 OP,UNIT BIT 0=ENTER / 1=LOOKUP / 2=CLOSE / 9-11 = UNIT /WORD 2 ADDRESS OF START OF HEADER INFO FOR ENTER+LOOKUP / MUST ALL BE IN SAME FIELD / STATUS WORD FOR CLOSE /WORD 3 FIELD OF HEADER IN BITS 6-8 FOR ENTER+LOOKUP / RECSIZE PUT IN HEADER+13 BY LOOKUP / 0=NOT FOUND OR PHYSICAL ERROR /WORD 4 STATUS WORD FOR ENTER+LOOKUP /STATUS WORD RETURNS B STATUS FOR PHYSICAL ERROR(E,L+C) OR /NEG. ERROR CODE FOR LOGICAL ERROR (NONE DEFINED YET) F1=10 /FIELD OF R/W BUFFER READ=0 WRITE=4000 REWIND=10 BACKFI=30 WRGAP=40 BACKBL=50 SKPFIL=70 HSIZE=40 /PARAMETERS FOR RTS8 INIWT=0 CUR=10 TASK=CSAF FIELD CUR%10 *3000 START, LOOP, CAL RECEIV ADDR, 0 DCA FLD AC7775 TAD ADDR DCA MEVFLG DCA STATUS JMS CDFMSG TAD I ADDR CDF CUR DCA CUNIT TAD CUNIT /DET. TYPE OF OPERATION CLL RAL SZL JMP ENTER SMA CLA JMP I (CLOSE JMP I (LOOKUP ALDONE, CLL CLA ISZ ADDR TAD STATUS /RETURN IT TO CALLER JMS CDFMSG DCA I ADDR CDF CUR TAD FLD DCA RFLD TAD MEVFLG CAL POST RFLD, 0 JMP LOOP CUNIT, 0 MEVFLG, 0 STATUS, 0 CDFMSG, 0 FLD, 0 JMP I CDFMSG ENTER, CLA CLL JMS GETARG JMS I (ENTLKP /SEE IF ALREADY EXISTS LKPRTN, JMP ALDONE JMP NTF /NO-NOT FOUND JMP DELET /YES-DELETE IT NTF, JMS BACK JMS I (HANSET /DO A HANDLER OP WRFLD, 0 HDRADR, 0 JMP ALDONE JMP ALDONE GETARG, 0 /GET ARGS FROM CALLER'S MESSAGE ISZ ADDR JMS CDFMSG TAD I ADDR /WORD 2 DCA HDRADR ISZ ADDR AC4000 /WRITE TAD I ADDR /WORD 3 CDF CUR DCA WRFLD JMP I GETARG RDOR, 0 AND (374 TAD (-200 SZA CLA JMP ALDONE /NOT CRC JMP I RDOR /WAS CRC BACK, 0 JMS I (UTILST BACKFI /TO FILE GAP JMP ALDONE /NON-ZERO JMS I (UTILST BACKBL JMP BKERR /PASS STATUS TAD I (OLDRSZ DCA I (RECSIZ JMS I (HANSET /READ LAST REC OF PREV FILE READ+F1+1 /DON'T STORE DATA INCH JMS RDOR /ERROR READING LAST BLK NEWGAP, JMS I (UTILST WRGAP /WRITE NEW GAP JMP ALDONE TAD (HSIZE DCA I (RECSIZ JMP I BACK BKERR, AND (3775 /AC=STATUS TAD (-41 /CLEAR LEADER ERROR SZA CLA JMP ALDONE JMP NEWGAP /YES-WRITE NEW GAP DELET, JMS BACK JMS I (HANSET WRITE+F1 EMPTIN JMP ALDONE TAD (LKPRTN DCA I (ENTLKP JMP I (FLOOP PAGE UTILST, 0 TAD I (CUNIT AND (7 DCA MSG1 TAD I UTILST DCA MSG2 /FNC ISZ UTILST JMS I (DOA TAD MSG3 DCA I (STATUS TAD I (STATUS SNA ISZ UTILST JMP I UTILST HANSET, 0 TAD I (CUNIT AND (7 TAD (4000 DCA MSG1 TAD I HANSET DCA MSG2 /FNC+BUFFLD ISZ HANSET TAD I HANSET DCA MSG3 /BUF TAD RECSIZ DCA MSG4 ISZ HANSET JMS I (DOA TAD MSG5 DCA I (STATUS TAD I (STATUS SNA ISZ HANSET /GOOD RET JMP I HANSET MSG, ZBLOCK 3 MSG1, 0 MSG2, 0 MSG3, 0 MSG4, 0 MSG5, 0 RECSIZ, 0 LOOKUP, JMS I (GETARG TAD I (HDRADR TAD (13 DCA RETADR JMS ENTLKP NOP /ERROR SKP /NOT FOUND TAD I (INCH+13 /RECSIZE JMS I (CDFMSG DCA I RETADR CDF CUR JMP I (ALDONE ENTLKP, 0 TAD I (WRFLD TAD (2201 /ALREADY HAS 4000 DCA USRFLD JMS UTILST REWIND JMP STSET /ERROR TAD (HSIZE DCA RECSIZ DCA FILNUM JMP FL2 FLOOP, JMS UTILST SKPFIL JMP STSET FL2, ISZ FILNUM JMS HANSET READ+F1 INCH /BUFFER JMP STSET TAD (INCH DCA P1 TAD I P1 SNA CLA JMP NFNDRT /SENTINEL. FILE NOT FOUND TAD I (INCH+13 DCA OLDRSZ /FOR ENTER-FOUND RETURN'S BACKSPACE TAD I (HDRADR DCA P2 TAD (-10 /FIRST 10 CHARACTERS DCA SCNT SLOOP, TAD I P1 CIA USRFLD, 0 TAD I P2 CDF CUR AND (177 /MATCH HI 7 SZA CLA JMP FLOOP /NOT CORRECT FILE KEY ISZ P1 ISZ P2 ISZ SCNT JMP SLOOP ISZ ENTLKP /FOUND NFNDRT, ISZ ENTLKP /NOT FOUND STSET, DCA I (STATUS /ALL HAVE STATUS IN AC(0 FOR FOUND+NOT FOUND) JMP I ENTLKP P1, 0 P2, 0 SCNT, 0 FILNUM, 0 OLDRSZ, 0 RETADR, 0 PAGE CLOSE, JMS I (UTILST WRGAP JMP I (ALDONE /ERROR WRITING GAP TAD (HSIZE DCA I (RECSIZ JMS I (HANSET /WRITE SENTINEL WRITE+F1 ZER JMP I (ALDONE JMS I (UTILST REWIND JMP I (ALDONE JMP I (ALDONE DOA, 0 CAL SENDW CSA MSG JMP I DOA ZER, 0 EMPTIN, 52;105;115;120;124;131;40;40;40;14 0;0;0;0;40;40;40;40;40;40 ZBLOCK 14 INCH, ZBLOCK 40 /USED BY LOOKUP FOR READING HEADER $