X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=sw%2Fos8%2Fv3d%2Fsources%2Fdevext%2Fdectapes%2Fdectape1%2Fcclat.ma;fp=sw%2Fos8%2Fv3d%2Fsources%2Fdevext%2Fdectapes%2Fdectape1%2Fcclat.ma;h=e644fc8996ea4e86f5f86f9ff868f080bf60e77b;hb=81e70d488b71bf995c459ca3a02c025993460ffa;hp=0000000000000000000000000000000000000000;hpb=07ec0278333ed187ac242dedcff13c56cf1b0b91;p=pdp8.git diff --git a/sw/os8/v3d/sources/devext/dectapes/dectape1/cclat.ma b/sw/os8/v3d/sources/devext/dectapes/dectape1/cclat.ma new file mode 100644 index 0000000..e644fc8 --- /dev/null +++ b/sw/os8/v3d/sources/devext/dectapes/dectape1/cclat.ma @@ -0,0 +1,212 @@ +/ +/ +/ +/COPYRIGHT (C) 1979 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. +/ +/ +/ + + +/VERSION=V3A (D.H.) + /2 CCL INDIRECT COMMAND FILE PROCESSOR + + .GLOBAL AT,FUDG,DONB + + .EXTERNAL BEGLN,GETSPC,ASSIGN,SETEXT,EXTCM + .GLOBAL SAVL + .EXTERNAL DEFALT,LOOKUP,ASADR,LNAME + .EXTERNAL PRMESG,MOVE + .EXTERNAL OUTSW,OUTLIM + + XR=16 + CLXR=35 + T=20 + LXR=34 + BFR=3000 + + .RSECT AT1 + FIELD 1 + +AT, 0 +ATMORE, TAD (BEGLN-1 + DCA LXR +ATLOOP, JMS I (GLXR + SNA + JMP I AT + TAD (-300 + SZA CLA + JMP ATLOOP + TAD LXR + DCA I (SAVL + JMS FUDG + JMS I (GETSPC + JMS I (ASSIGN + DCA I (SETEXT + TAD (EXTCM + DCA I (DEFALT + JMS I (LOOKUP + SZA CLA /V3C + TAD I (ASADR + SNA + JMP I (ATERR /IF NO FILESPEC AFTER @, ERROR + DCA T + TAD I (LNAME /GET BLOCK NUMBER + DCA BLN + CIF 0 + JMS I T + 200 /READ 2 PAGES +NWB, BFR+200 /INTO BUFFER +COUNT, +BLN, 0 /FROM THIS BLOCK + JMP I (ATERR / I/O ERROR + TAD (-200 + DCA COUNT + TAD (BFR-1 + DCA XR + TAD NWB + DCA T + CDF 0 +L$: TAD I T + JMS I (P + CLL RTR + RTR + DCA TEMP$ + ISZ T + TAD I T + JMS I (P + CLL RTL + RTL + RAL + TAD TEMP$ + JMS I (P + CLA + ISZ T + ISZ COUNT + JMP L$ + JMP I (ATOVER + +TEMP$: 0 + +/ATFIN, TAD LXR +/ TAD (-BEGLN +/ SZA CLA +/ JMP I AT /LEAVE +/ JMP I (LEAVE /LEAVE BECAUSE LINE NOW EMPTY + FUDG, 0 + DCA I (OUTSW /LOAD HANDLER + TAD I (OUTLIM + CIA + DCA CLXR + JMP I FUDG + +GLXR, 0 + CDF 0 + ISZ LXR + TAD I LXR + CDF 10 + JMP I GLXR + +DONB, 0 /USED AS A FLAG + JMP I DONB + PAGE + P, 0 + AND (177 + SNA + JMP CTZ /END AT 0 OR ^Z + TAD (-32 + SNA + JMP CTZ + TAD (32-16 /IGNORE CR,LF,FF,VT + CLL + TAD (16-12 + SZL + JMP 1$ + TAD (212 /FORCE 8-BIT + DCA I XR +1$: CLA + TAD I T + AND (7400 + JMP I P + CTZ, CDF 10 + TAD LXR + DCA ATEND + STA + TAD LXR + DCA LXR /INCASE @ GOES TO EOL + JMS I (GLXR /SEARCH FOR EOL + SZA CLA + JMP .-2 + TAD LXR + CMA + TAD ATEND + DCA ENDLEN + TAD XR + CMA + TAD (BFR /GET LENGTH OF INSERTED STUFF + DCA NEWLEN + CDF 0 + TAD I ATEND /GET NEXT CHAR AFTER FILESPEC + CDF 10 /V3C + TAD (-"' + SZA CLA /IS IT AN APOSTROPHE? + JMP .+3 /NO + ISZ ENDLEN /YES + ISZ ATEND /MAKE IT GO AWAY + TAD ENDLEN + JMS I (MOVE /MOVE REST OF LINE UP + CDF 0 +ATEND, 0 /FIRST CHAR POSITION AFTER @ SPEC + CDF 0 + BEGLN+1000 + TAD NEWLEN /IF 0, 'MOVE' WILL IGNORE IT + JMS I (MOVE /MOVE IN NEW STUFF + CDF 0 + BFR + CDF 0 +SAVL, 0 /POINTS TO @ + TAD NEWLEN + CIA + TAD SAVL + DCA NEWEND + CLL + TAD NEWEND + TAD MB + SZL CLA + JMP ATOVER + TAD ENDLEN + JMS I (MOVE /MOVE BACK END + CDF 0 + BEGLN+1000 + CDF 0 +NEWEND, 0 /FIRST POSITION AFTER NEW STUFF + JMP I (ATMORE /LOOK FOR MORE + +MB, -BEGLN-1000 + ATOVER, JMS I (PRMESG + OVFLOW +ENDLEN, 0 /- NO. OF CHARS AT END INCLUDING 0 +NEWLEN, 0 /- NO. OF CHARS BEING INSERTED + +ATERR, CDF 10 + CLA + JMS I (PRMESG + ATIO + ATIO, TEXT /#BAD FILENAME OR ERROR READING INDIRECT FILE/ +OVFLOW, TEXT /#COMMAND LINE OVERFLOW/ + PAGE