Google
 

Trailing-Edge - PDP-10 Archives - cuspmar86binsrc_2of2_bb-fp63a-sb - 10,7/soup/fedctl.mac
There are 3 other files named fedctl.mac in the archive. Click here to see a list.
TITLE	FEDCTL	VERSION 3	
SUBTTL	FED CONTROL PROGRAM		CWRU/CAM

;EDIT==6

;COPYRIGHT 1971, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
	ENTRY	CBGET
	EXTERN	SAVFFF
	HISEG
	ENTRY	MESAPS
	A1=1
	A2=2
	A3=3
	A4=4
	A5=5
A7=7
	RC=16
	CHAR=13
	RETURN=14
	BAS=6
	USE=5
	DISK=200000
	DTAPE=100
	DCHAN=17
	LF=12
	VT=13
	FF=14


	DEFINE	LOOK(A,B) <XLIST
	JSP	A5,LOOKF
	XWD	A,B
	LIST>


	DEFINE CNVT(A,B,C,D) <XLIST
		JSP	RETURN,CONVRT
			XWD A,B
			XWD C,D
			LIST>
	DEFINE	FCAL(A,B,C) <XLIST
	JSP	14,A
		B
		C
		LIST>
	DEFINE	FILBUF(A,B) <XLIST
	JSP	A7,FILBFR
	XWD	A,B
	LIST>

	OPDEF	OUTSTR[TTCALL 3,0]
	EXTERNAL FED
	EXTERN	FEDIT
	EXTERN	CAMOPT
	EXTERN	MANCOR,MCBUF,MCIN,UCDDB,MRGDDB,LSTDDB,BPAGNO
	EXTERN	CONVRT,DIALOG,LOGOUT,MRGOUT,BOL,STORED,STORD2
	EXTERN	LOOKF
	EXTERN	MCDDB,LOGDDB,CMDLVL,FILBFR
MESN.1:	POINT	7,MESN+1,27
	ENTRY	LINEIN
LINEIN:
MESN.2:	POINT	7,MESN+3,6
MESN.3:	POINT	7,MESN+7,27
MESAPS:	POINT	6,A1,
	EXTERN	I,MESN,T2,TEMP
	EXTERN	PUSHST
	EXTERN	ATFLAG

CSTART:
	SETZM	ATFLAG		; DO NOT READ COMMANDS FROM FILE
	CALLI	0
	MOVE	16,[XWD -15,PUSHST]
CMORE:	SETOM	FED
	MOVE	16,[IOWD	15,PUSHST]
	SETOM	BOL
	SETZM	STORED
	SETZM	STORD2
	SETZM	UCDDB+6		;OLD BASE DEVICE
	SETZM	MCDDB+6		;CORR FILE
	SETZM	MRGDDB+6	;NEW UPDATED FILE
	SETZM	LSTDDB+6		;LIST FILE
	SETZM	LOGDDB+6		;LOG FILE

	PUSHJ	16,CMDLVL	;READ COMMAND STRING

;	FED CONTROL PROGRAM

FEDCTL:	MOVE	.JBFF
	MOVEM	SAVFFF

	JSP	14,LOGOUT	; SEND A CHAR TO
	[0]
	[0]			; MAKE A PERMANENT BUFFER
FC.1:	PUSHJ	16,MANCOR
	+	I
	SKIPA			;EOF
	JRST	FC.1		;NORMAL RETURN
FC.20:
	SETZM	BPAGNO
	FILBUF	MCBUF,MCIN	;GET FILE HEADER
	JRST	PEOF
FC.2:
	SKIPGE	MCBUF
	JRST	FC.21
	MOVE	0,[XWD MCBUF+12,UCDDB+2]
	BLT	0,UCDDB+3	;LOAD OLDFILE AND EXT
	LOOK	UCDDB,ERRBN	;LOOKUP OLD BASE FILE
FC.21:	
	MOVE	0,[XWD MCBUF+10,MRGDDB+2]
	BLT	0,MRGDDB+3	;LOAD NEW FILE NAME AND EXT
	EXTERNAL	ASTRFL
	MOVE	MCBUF+10
	MOVEM	LSTDDB+2
	MOVSI	(<SIXBIT /LST/>)
	SKIPN	ASTRFL
	MOVEM	LSTDDB+3
	JSP	17,FEDIT	;CALL EDITOR
	+	I
	SKIPN	I		;PEOF ?
	JRST	FC.3		;NO
PEOF:	JSP	14,LOGOUT
	[^D23]
	[ASCIZ/FED COMPLETED ON FILES /]
	JSP	14,LOGOUT
	[^D35]
	MCBUF+1
	JSP	14,LOGOUT
	[^D32]
	[ASCIZ/*** FED COMPLETED SUCCESSFULLY
/]
	RELEAS	1,
	RELEAS	2,
	RELEAS	3,
	MOVE	SAVFFF
	MOVEM	.JBFF
	EXTERNAL	INCOPT,.JBFF
	JRST	CMORE

; NO BASE ERROR ROUTINE

ERRBN:
	CNVT	UCDDB+2,MESN.1,MESAPS,6
	CNVT	UCDDB+3,MESN.2,MESAPS,3
	CNVT	UCDDB,MESN.3,MESAPS,6
	RELEAS	4,
	OUTSTR	MESN
	JSP	A1,DIALOG
	JRST	FC.1
	JRST	FC.2		
FC.3:	JSP	14,LOGOUT
	[^D23]
	[ASCIZ/FED COMPLETED ON FILES /]
	JSP	14,LOGOUT
	[^D35]
	MCBUF+1
	JRST	FC.20
	LIT
	VAR
CBGET:	0	; TO FOOL THE LOADER
	END	CSTART