A large commit.
[pdp8.git] / sw / os8 / v3d / sources / devext / dectapes / dectape1 / cclsem.ma
diff --git a/sw/os8/v3d/sources/devext/dectapes/dectape1/cclsem.ma b/sw/os8/v3d/sources/devext/dectapes/dectape1/cclsem.ma
new file mode 100644 (file)
index 0000000..724bb73
--- /dev/null
@@ -0,0 +1,199 @@
+/
+/
+/
+/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.
+/
+/
+/
+
+\f
+/VERSION=V3A (D.H.)
+\f/1    CCL SEMICOLON CODE
+
+       .ENTRY SEMI
+
+       .EXTERNAL PRMESG,YBATCH,ZOW,BEGLN
+       MOFILE=7600
+       XR=16
+
+       .RSECT SEM1
+       FIELD 1
+
+ENGOA, TAD (-5
+       JMS I (ZEROCD
+       TAD I (BLKNO
+       DCA I (7620
+       CLA IAC
+       DCA I (7617     /'CCBTCH' IS ON SYS:
+       TAD (20         /   /T OPTION
+       DCA I (7644
+       TAD (20         /  ALSO /H (HUSH) OPTION
+       DCA I (7643
+       TAD (YBATCH
+       JMP I (ZOW      /CHAIN TO BATCH
+
+ZEROCD,        0
+       TAD (-42        /AC MAY BE NON-0
+       DCA T$
+       TAD (MOFILE-1
+       DCA XR
+       DCA I XR        /ZERO THE COMMAND DECODER OUTPUT AREA
+       ISZ T$
+       JMP .-2
+       JMP I ZEROCD
+T$:    0
+\fSEMSG1,       TEXT    /? ENTER ERROR/
+SEMSG2,        TEXT    \?I/O ERROR\
+SEMSG3,        TEXT    /?DEVICE FULL/
+SEMSG4,        TEXT    /?CLOSE ERROR/
+       PAGE
+\f      BATBUF=4400     /LOCATION OF ONE BLOCK BATCH TEMP BUFFER
+       USR=200
+       GLINE=1200      /LOCATION FROM KBM
+       CTRLCK=1241     /LOC FROM KBM, PTS TO PLACE TO BRANCH ON ^C
+BATPTR,        BATBUF-1
+LCHAR, 0
+
+SEMGO, CIF CDF 10
+       JMP I SEMI
+
+SEMI,  0
+       CLA IAC         /SYS
+       JMS I (USR
+       3               /ENTER
+BLKNO, TEMNAM
+BLKLEN,        0               /NEG OF LENGTH
+       JMP SEMER1      /ENTER ERROR
+       TAD BLKNO
+       DCA BATBLK
+       TAD (BEGLN-1
+       DCA XR
+       TAD (7600
+       DCA I (CTRLCK   /FORCE ^C TO GLINE TO GO TO 7600
+       JMS BATLST
+       BATHED
+S2,    CDF 0
+       TAD I XR
+       CDF 10
+       SNA
+       JMP LINEND
+       DCA LCHAR       /SAVE CHAR
+       TAD LCHAR
+       TAD (-";
+       SNA CLA
+       JMP GOTSEM
+       TAD LCHAR
+S3,    JMS BATPUT
+       JMP S2
+\fLINEND,       TAD LCHAR
+       TAD (-";        /LOOK AT LAST CHAR
+       SZA CLA         /WAS IT SEMICOLON?
+       JMP BATEND      /NO, END OF TEMP BATCH STREAM
+       CIF CDF 0
+       JMS I (GLIN     /YES, READ NEW LINE FROM KEYBOARD
+/**** WHAT IF WE'RE RUNNING UNDER BATCH ****
+       TAD (BEGLN-1
+       DCA XR
+       JMP S2
+
+GOTSEM,        JMS KRLF
+       TAD (".
+       JMP S3
+
+KRLF,  0
+       TAD (215
+       JMS BATPUT
+       TAD (212
+       JMS BATPUT
+       JMP I KRLF
+
+BATPUT,        0
+       ISZ BATPTR
+       CDF BATBUF
+       DCA I BATPTR
+       CDF 10
+       TAD BATPTR
+       TAD (-BATBUF-377
+       SNA CLA
+       JMS BATWRIT     /WRITE OUT BUFFER IF FULL
+       JMP I BATPUT
+\fBATWRIT,0
+       CIF 0
+       JMS I (7607
+       4200            /WRITE 1 BLOCK
+       BATBUF
+BATBLK,        0
+       JMP SEMER2      /  I/O ERROR
+       ISZ BATBLK      /POINT TO NEXT BLOCK
+       ISZ BATLEN      /BUMP LENGTH
+       ISZ BLKLEN
+       SKP
+       JMP SEMER3      /DEVICE FULL
+       TAD (BATBUF-1
+       DCA BATPTR
+       JMP I BATWRIT
+
+BATEND,        JMS KRLF
+       JMS BATLST
+       BATAIL
+       JMS BATWRIT
+       CLA IAC         /SYS
+       JMS I (USR
+       4               /CLOSE
+       TEMNAM
+BATLEN,        0               /LENGTH OF TEMPORARY FILE
+       JMP SEMER4      /CLOSE ERROR
+       JMP I (ENGOA
+\fBATLST,       0
+       TAD I BATLST
+       DCA T$
+       ISZ BATLST
+L$:    TAD I T$
+       SNA
+       JMP I BATLST
+       JMS BATPUT
+       ISZ T$
+       JMP L$
+
+T$:    0
+
+SEMER1,        JMS I (PRMESG
+       SEMSG1
+SEMER2,        JMS I (PRMESG
+       SEMSG2
+SEMER3,        JMS I (PRMESG
+       SEMSG3
+SEMER4,        JMS I (PRMESG
+       SEMSG4
+       PAGE
+\f      .FSECT GLYN
+       FIELD 0
+
+GLIN,  0
+       JMS I PGLINE
+       CIF CDF 10
+       JMP I GLIN
+PGLINE,        GLINE
+\f      .ASECT SEMSGS
+       .ENABLE ASCII
+       FIELD 0
+       *7400
+BATHED,        TEXT    "$JOB"<215><212>"."
+BATAIL,        TEXT ".R FOTP"<215><212>"*SYS:CCBTCH.TM/D$"<215><212>"$END"<215><212><32>
+TEMNAM,        FILENAME CCBTCH.TM