Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-02 - 43,50263/initlz.fas
There are 2 other files named initlz.fas in the archive. Click here to see a list.
;-CROSREF
;*	*	*	*	*	*	*	*	*
;*	*	DECLARATIONS	*	*	*	*	*
;*	*	*	*	*	*	*	*	*
;*
;*		LOCAL
;*
;	DECLARE('SNOBOL.SUBPROGRAM','INITLZ')
;	DECLARE('OPTION','NO.STNO')
;	DECLARE('PURGE.VARIABLE',ALL)
;	DECLARE('PURGE.LABEL',ALL)
;	DECLARE('EXTERNAL.FUNCTION','INIDEC,INIEXE,INIEAC,INICRS,NEWNAM,
;.INITLA,INITLB,PRTOUT,ERRMSG')
;	DECLARE('INTEGER','I,J,K')
;	DECLARE('ENTRY.FUNCTION','INITLZ()')
;*
;*		SYSTEM COMMON
;*
;*	TABLES AND LISTS
;	DECLARE('EXTERNAL.VARIABLE',
;.'SYMBTB,XNAMTB,KEYWTB,CTRLTB,DECLTB,CROSTB,CONSTB,ENTFTB,DSIZTB,
;.BOPRTB,UOPRTB')
;	DECLARE('EXTERNAL.VARIABLE',
;.'ENTRLS,EXTRLS,FORTLS')
;*	ARRAYS
;	DECLARE('EXTERNAL.VARIABLE',
;.'PTVRAR,PTFNAR,PRIMAR,GOTOAR,DECLAR,PROGAR,VARBAR,MACHAR,STENAR,BOPRAR,
;.UOPRAR,PATRAR,EXPRAR,AROPAR,ARITAR,EACTAR')
;*	PARAMETERS (STRINGS,DATATYPES)
;	DECLARE('EXTERNAL.VARIABLE',
;.'C,INDENT,SPLASH,ITNAM,ITENT,NOFAIL,SNONAM,SUBNAM,PARBLK,PRGNAM,STARTP,
;.TEMLOC,P1,P2,P3,P4,P5')
;*	PARAMETERS (INTEGERS)
;	DECLARE('EXTERNAL.VARIABLE',
;.'P,OBJFLG,LISTSR,INTGER,ITTYP,ITATR,PRGALV,PRGALL,PRGALF,STNFLG,HSHSIZ,
;.STRTIM,DMPFLG,LISTOB,STNO,MAXTMP')
;	DECLARE('INTEGER',
;.'P,OBJFLG,LISTSR,INTGER,ITTYP,ITATR,PRGALV,PRGALL,PRGALF,STNFLG,HSHSIZ,
;.STRTIM,DMPFLG,LISTOB,STNO,MAXTMP')
;	DECLARE('EXTERNAL.VARIABLE',
;.'XNATRB,VTATRB,VDATRB,LTATRB,FTATRB,FDATRB,TXATRB,VNATRB,VXATRB,VIATRB,
;.VGATRB,LIATRB,LGATRB,FIATRB,FGATRB,FXATRB,SKATRB,SDATRB,BTATRB')
;	DECLARE('INTEGER',
;.'XNATRB,VTATRB,VDATRB,LTATRB,FTATRB,FDATRB,TXATRB,VNATRB,VXATRB,VIATRB,
;.VGATRB,LIATRB,LGATRB,FIATRB,FGATRB,FXATRB,SKATRB,SDATRB,BTATRB')
;	DECLARE('EXTERNAL.VARIABLE',
;.'XNVATR,XNLATR,XNFATR,XNXMSK,VTVATR,VDDATR,VDPATR,VDDMSK,LTDATR,LTTMSK,
;.FTFATR,FDPATR,FDIATR,FDDMSK,TXTATR,TXTMSK,VNNATR,VXXATR,VIPATR,VGGATR,
;.LIPATR,LGGATR,FIPATR,FGGATR,FXXATR,FXXMSK,SKRATR,SDRATR,BTRATR')
;	DECLARE('INTEGER',
;.'XNVATR,XNLATR,XNFATR,XNXMSK,VTVATR,VDDATR,VDPATR,VDDMSK,LTDATR,LTTMSK,
;.FTFATR,FDPATR,FDIATR,FDDMSK,TXTATR,TXTMSK,VNNATR,VXXATR,VIPATR,VGGATR,
;.LIPATR,LGGATR,FIPATR,FGGATR,FXXATR,FXXMSK,SKRATR,SDRATR,BTRATR')
;*	SPECIAL CHARACTERS,CHARACTER SEQUENCES, AND CHARACTER CLASSES
;	DECLARE('EXTERNAL.VARIABLE',
;.'FFCHR,CRLCHR,LFCHR,CRCHR,SQCHR,DQCHR,TBCHR,LCSCHR,BLNCHR,EQLCHR,
;.QTSCHR,ELTCHR,LBCHR')
;*	PATTERNS AND MATCHES
;	DECLARE('EXTERNAL.VARIABLE',
;.'COMSPT,INTGPT,BLNKPT,OPBLPT,PCOMPT,PCPRMT,IDENPT,DCLCMT,RSIDPT,LABLPT,
;.POPRMT,IDENMT,SQLTPT,DQLTPT,LBDCPT,IDDCPT')
;*
;*	MINIMAL SYMBOL TABLE
;*
;	DECLARE('UNPURGE.VARIABLE','INITLZ,SYMBOL,EXNAME')
;	DECLARE('UNPURGE.LABEL','INITLZ')
;	DECLARE('PURGE.FUNCTION','DATA,SUBSTR,DUPL,TABLE,DEFINE,ARRAY,
;.COPY,TIME,IDENT,OPEN,DIFFER,ENTER,OUTPUT,LOOKUP,INPUT,DATE,
;.DAYTIM,RELEASE,SIZE,LGT')
;*	*	*	*	*	*	*	*	*
;*	*	INITIALIZE SYSTEM COMMON	*	*	*
;*	*	*	*	*	*	*	*	*
;*
;*	LOCAL INITIALIZATION
;INITLZ	DATA('SYM(INAM,ATRB)')
TITLE INITLZ
	OPDEF	UFERR$	[1B8]
	OPDEF	CFERR$	[2B8]
	OPDEF	FCALV$	[3B8]
	OPDEF	FCALN$	[4B8]
	OPDEF	DASGN$	[5B8]
	OPDEF	DCONC$	[6B8]
	OPDEF	DICNV$	[7B8]
	OPDEF	DRCNV$	[10B8]
	OPDEF	AREFV$	[11B8]
	OPDEF	AREFN$	[12B8]
ENTRY INITLZ
EXTERN IDDCPT,LBDCPT,DQLTPT,SQLTPT,IDENMT,POPRMT,LABLPT,RSIDPT,DCLCMT,IDENPT
EXTERN PCPRMT,PCOMPT,OPBLPT,BLNKPT,INTGPT,COMSPT,LBCHR,ELTCHR,QTSCHR,EQLCHR
EXTERN BLNCHR,LCSCHR,TBCHR,DQCHR,SQCHR,CRCHR,LFCHR,CRLCHR,FFCHR,BTRATR
EXTERN SDRATR,SKRATR,FXXMSK,FXXATR,FGGATR,FIPATR,LGGATR,LIPATR,VGGATR,VIPATR
EXTERN VXXATR,VNNATR,TXTMSK,TXTATR,FDDMSK,FDIATR,FDPATR,FTFATR,LTTMSK,LTDATR
EXTERN VDDMSK,VDPATR,VDDATR,VTVATR,XNXMSK,XNFATR,XNLATR,XNVATR,BTATRB,SDATRB
EXTERN SKATRB,FXATRB,FGATRB,FIATRB,LGATRB,LIATRB,VGATRB,VIATRB,VXATRB,VNATRB
EXTERN TXATRB,FDATRB,FTATRB,LTATRB,VDATRB,VTATRB,XNATRB,MAXTMP,STNO,LISTOB
EXTERN DMPFLG,STRTIM,HSHSIZ,STNFLG,PRGALF,PRGALL,PRGALV,ITATR,ITTYP,INTGER
EXTERN LISTSR,OBJFLG,P,P5,P4,P3,P2,P1,TEMLOC,STARTP
EXTERN PRGNAM,PARBLK,SUBNAM,SNONAM,NOFAIL,ITENT,ITNAM,SPLASH,INDENT,C
EXTERN EACTAR,ARITAR,AROPAR,EXPRAR,PATRAR,UOPRAR,BOPRAR,STENAR,MACHAR,VARBAR
EXTERN PROGAR,DECLAR,GOTOAR,PRIMAR,PTFNAR,PTVRAR,FORTLS,EXTRLS,ENTRLS,UOPRTB
EXTERN BOPRTB,DSIZTB,ENTFTB,CONSTB,CROSTB,DECLTB,CTRLTB,KEYWTB,XNAMTB,SYMBTB
EXTERN ERRMSG,PRTOUT,INITLB,INITLA,NEWNAM,INICRS,INIEAC,INIEXE,INIDEC
L10097:
	MOVEI	14,Q10002
	MOVEM	14,S$$FLP##
	MOVE	1,S10241
	FCALV$	^D1,F10060
Q10002:
;	DATA('NOD(FRNT,BACK)')
	MOVEI	14,Q10003
	MOVEM	14,S$$FLP##
	MOVE	1,S10242
	FCALV$	^D1,F10060
Q10003:
;	INITLA()
	MOVEI	14,Q10004
	MOVEM	14,S$$FLP##
	FCALV$	^D0,INITLA
Q10004:
;	INITLB()
	MOVEI	14,Q10005
	MOVEM	14,S$$FLP##
	FCALV$	^D0,INITLB
Q10005:
;*	*	*	*	*	*	*	*	*
;*	*	INITIALIZE OTHER COMPILATION PHASES	*	*
;*	*	*	*	*	*	*	*	*
;	INIDEC()
	MOVEI	14,Q10006
	MOVEM	14,S$$FLP##
	FCALV$	^D0,INIDEC
Q10006:
;	INIEXE()
	MOVEI	14,Q10007
	MOVEM	14,S$$FLP##
	FCALV$	^D0,INIEXE
Q10007:
;	INIEAC()
	MOVEI	14,Q10008
	MOVEM	14,S$$FLP##
	FCALV$	^D0,INIEAC
Q10008:
;	INICRS()
	MOVEI	14,Q10009
	MOVEM	14,S$$FLP##
	FCALV$	^D0,INICRS
Q10009:
;*	*	*	*	*	*	*	*	*
;*	*	FREEZE THE COMPILER AT THIS POINT	*	*
;*	*	*	*	*	*	*	*	*
;	FREEZE()
	MOVEI	14,Q10010
	MOVEM	14,S$$FLP##
	SUB	16,S$$STB##
	MOVEM	16,S$$STS##
	JSA	16,F$$FRZ##
	ADD	16,S$$STB##
	MOVE	1,0
Q10010:
;	STRTIM	= TIME()
	MOVEI	14,Q10011
	MOVEM	14,S$$FLP##
	FCALV$	^D0,F10045
	DASGN$	2,STRTIM
Q10011:
;*	*	*	*	*	*	*	*	*
;*	*	UPON RESTART, DECODE COMMAND LINE	*	*
;*	*	*	*	*	*	*	*	*
;COMLIN	OUTPUTC	= CRLCHR '*'
L10243:
	MOVEI	14,Q10012
	MOVEM	14,S$$FLP##
	MOVE	1,@CRLCHR
	PUSH	16,1
	MOVE	1,S10244
	JSP	14,S$$CNC##
	EXP	^D2
	MOVEM	1,@S$$OUC##
Q10012:
;	C	= INPUT '?'
	MOVEI	14,Q10013
	MOVEM	14,S$$FLP##
	MOVE	1,@S$$INP##
	PUSH	16,1
	MOVE	1,S10245
	JSP	14,S$$CNC##
	EXP	^D2
	MOVEM	1,@C
Q10013:
;	P	=
	MOVEI	14,Q10014
	MOVEM	14,S$$FLP##
	SETZM	P
Q10014:
;	&ERRLIMIT	= 1
	MOVE	^D1,K10246
	MOVEM	1,S$$KWD##+^D14
;	FILSMT	= TAB(*P)  (BREAK(':,?' EQLCHR) . DEV  ':' ! '' . DEV)  @P
;.  BREAK('.,?' EQLCHR) . FIL  @P  ('.'  BREAK(',?' EQLCHR) ! '') . EXT  @P
	MOVEI	14,Q10020
	MOVEM	14,S$$FLP##
	MOVE	1,S10248
	PUSH	16,1
	MOVE	1,@EQLCHR
	JSP	14,S$$CNC##
	EXP	^D2
	JSP	11,S$$MBT##
	EXP	.
	PUSH	16,1
	MOVE	1,S10251
	PUSH	16,1
	MOVE	1,@EQLCHR
	JSP	14,S$$CNC##
	EXP	^D2
	JSP	11,S$$MBT##
	EXP	.
	PUSH	16,1
	MOVE	1,S10254
	PUSH	16,1
	MOVE	1,@EQLCHR
	JSP	14,S$$CNC##
	EXP	^D2
	JSP	11,S$$MBT##
	EXP	.
	PUSH	16,1
	JSP	14,S$$GPB##
	XWD	^D-4,Q10019
	MOVE	^D1,P
	JUMPL	1,S$$MIE##
	JSP	11,S$$TAB##
	JSP	11,S$$APS##
	XWD	.-.,Q10016
	JSP	11,S$$VAS##
	MOVE	1,^D1(15)
	JSP	11,S$$BRK##
	MOVE	1,N10249
	JSP	11,S$$CVA##
	MOVE	1,S10250
	JSP	11,S$$MST##
	JRST	Q10015
Q10016:
	JSP	11,S$$APF##
	JSP	11,S$$VAS##

	MOVE	1,N10249
	JSP	11,S$$CVA##
Q10015:
	HRRZ	1,@S$$SJC##
	SUBI	1,(13)
	MOVEM	1,P
	JSP	11,S$$VAS##
	MOVE	1,^D2(15)
	JSP	11,S$$BRK##
	MOVE	1,N10252
	JSP	11,S$$CVA##
	HRRZ	1,@S$$SJC##
	SUBI	1,(13)
	MOVEM	1,P
	JSP	11,S$$VAS##
	JSP	11,S$$APS##
	XWD	.-.,Q10018
	MOVE	1,S10253
	JSP	11,S$$MST##
	MOVE	1,^D3(15)
	JSP	11,S$$BRK##
	JRST	Q10017
Q10018:
	JSP	11,S$$APF##

Q10017:
	MOVE	1,N10255
	JSP	11,S$$CVA##
	HRRZ	1,@S$$SJC##
	SUBI	1,(13)
	MOVEM	1,P
	JRST	S$$PTS##
Q10019:
	MOVEM	1,@N10247
Q10020:
;*	OBJECT FILE
;OBJFIL	C	FILSMT  ','  @P	:F(BADCOM)
L10256:
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,@C
	PUSH	16,1
	MOVE	1,@N10247
	JSP	11,S$$MKP##
	PUSH	16,1
	JSP	14,S$$MTX##
	XWD	^D2,0
	MOVE	1,^D1(15)
	JSP	11,S$$PTX##
	MOVE	1,S10257
	JSP	11,S$$MST##
	HRRZ	1,@S$$SJC##
	SUBI	1,(13)
	MOVEM	1,P
	JSP	11,S$$MTS##
;	?IGT(P,1)	:F(LSTFIL)
	MOVEI	14,L10259
	MOVEM	14,S$$FLP##
	SUB	16,S$$STB##
	MOVEM	16,S$$STS##
	JSA	16,F$$GTP##
	JUMP	0,P
	JUMP	0,K10246
	ADD	16,S$$STB##
	SETZ	1,
;	DEV	= ?IDENT(DEV) 'DSK'
	MOVEI	14,Q10021
	MOVEM	14,S$$FLP##
	MOVE	1,@N10249
	FCALV$	^D1,F10072
	SETZ	1,
	MOVE	1,S10260
	MOVEM	1,@N10249
Q10021:
;	OPEN(DEV '(2)',1)	:F(BADCOM)
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,@N10249
	PUSH	16,1
	MOVE	1,S10261
	JSP	14,S$$CNC##
	EXP	^D2
	PUSH	16,1
	MOVE	1,I10246
	FCALV$	^D2,F10068
;	DIFFER(FIL)	:F(OBJF1)
	MOVEI	14,L10262
	MOVEM	14,S$$FLP##
	MOVE	1,@N10252
	FCALV$	^D1,F10071
;	EXT	= ?IDENT(EXT) '.MAC'
	MOVEI	14,Q10022
	MOVEM	14,S$$FLP##
	MOVE	1,@N10255
	FCALV$	^D1,F10072
	SETZ	1,
	MOVE	1,S10263
	MOVEM	1,@N10255
Q10022:
;	ENTER(FIL EXT,1)	:F(BADCOM)
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,@N10252
	PUSH	16,1
	MOVE	1,@N10255
	JSP	14,S$$CNC##
	EXP	^D2
	PUSH	16,1
	MOVE	1,I10246
	FCALV$	^D2,F10070
;OBJF1	OUTPUT('OBJLIN',1,500)	:F(BADCOM)
L10262:
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,S10264
	PUSH	16,1
	MOVE	1,I10246
	PUSH	16,1
	MOVE	1,I10265
	FCALV$	^D3,F10002
;	OUTPUT('OBJCHR',1,-1)	:F(BADCOM)
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,S10266
	PUSH	16,1
	MOVE	1,I10246
	PUSH	16,1
	MOVN	^D1,K10246
	TLO	1,1B18
	TLZ	1,1B19
	FCALV$	^D3,F10002
;	OBJFLG	= 1
	MOVE	^D1,K10246
	MOVEM	1,OBJFLG
;*	LISTING FILE
;LSTFIL	I	= P + 1
L10259:
	MOVE	^D1,P
	ADD	^D1,K10246
	MOVEM	1,V10094
;	C	FILSMT  ANY(EQLCHR)  @P	:F(BADCOM)
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,@C
	PUSH	16,1
	MOVE	1,@N10247
	JSP	11,S$$MKP##
	PUSH	16,1
	MOVE	1,@EQLCHR
	JSP	11,S$$MBT##
	EXP	.
	PUSH	16,1
	JSP	14,S$$MTX##
	XWD	^D3,0
	MOVE	1,^D1(15)
	JSP	11,S$$PTX##
	MOVE	1,^D2(15)
	JSP	11,S$$ANY##
	HRRZ	1,@S$$SJC##
	SUBI	1,(13)
	MOVEM	1,P
	JSP	11,S$$MTS##
;	?IGT(P,I)	:F(SRCFIL)
	MOVEI	14,L10267
	MOVEM	14,S$$FLP##
	SUB	16,S$$STB##
	MOVEM	16,S$$STS##
	JSA	16,F$$GTP##
	JUMP	0,P
	JUMP	0,V10094
	ADD	16,S$$STB##
	SETZ	1,
;	DEV	= ?IDENT(DEV) 'DSK'
	MOVEI	14,Q10023
	MOVEM	14,S$$FLP##
	MOVE	1,@N10249
	FCALV$	^D1,F10072
	SETZ	1,
	MOVE	1,S10260
	MOVEM	1,@N10249
Q10023:
;	OPEN(DEV '(2)',2)	:F(BADCOM)
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,@N10249
	PUSH	16,1
	MOVE	1,S10261
	JSP	14,S$$CNC##
	EXP	^D2
	PUSH	16,1
	MOVE	1,I10268
	FCALV$	^D2,F10068
;	DIFFER(FIL)	:F(LSTF1)
	MOVEI	14,L10269
	MOVEM	14,S$$FLP##
	MOVE	1,@N10252
	FCALV$	^D1,F10071
;	ENTER(FIL EXT,2)	:F(BADCOM)
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,@N10252
	PUSH	16,1
	MOVE	1,@N10255
	JSP	14,S$$CNC##
	EXP	^D2
	PUSH	16,1
	MOVE	1,I10268
	FCALV$	^D2,F10070
;LSTF1	OUTPUT('LSTLIN',2,500)	:F(BADCOM)
L10269:
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,S10270
	PUSH	16,1
	MOVE	1,I10268
	PUSH	16,1
	MOVE	1,I10265
	FCALV$	^D3,F10002
;	OUTPUT('LSTCHR',2,-1)	:F(BADCOM)
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,S10271
	PUSH	16,1
	MOVE	1,I10268
	PUSH	16,1
	MOVN	^D1,K10246
	TLO	1,1B18
	TLZ	1,1B19
	FCALV$	^D3,F10002
;	LISTSR	= 1
	MOVE	^D1,K10246
	MOVEM	1,LISTSR
;*	SOURCE FILE
;SRCFIL	I	= P + 1
L10267:
	MOVE	^D1,P
	ADD	^D1,K10246
	MOVEM	1,V10094
;	C	FILSMT  '?'  @P  RPOS(0)	:F(BADCOM)
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,@C
	PUSH	16,1
	MOVE	1,@N10247
	JSP	11,S$$MKP##
	PUSH	16,1
	JSP	14,S$$MTX##
	XWD	^D2,0
	MOVE	1,^D1(15)
	JSP	11,S$$PTX##
	MOVE	1,S10245
	JSP	11,S$$MST##
	HRRZ	1,@S$$SJC##
	SUBI	1,(13)
	MOVEM	1,P
	HRRZ	1,K10272
	CAIE	1,(13)
	POPJ	16,
	JSP	11,S$$MTS##
;	?IGT(P,I)	:F(BADCOM)
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	SUB	16,S$$STB##
	MOVEM	16,S$$STS##
	JSA	16,F$$GTP##
	JUMP	0,P
	JUMP	0,V10094
	ADD	16,S$$STB##
	SETZ	1,
;	DEV	= ?IDENT(DEV) 'DSK'
	MOVEI	14,Q10024
	MOVEM	14,S$$FLP##
	MOVE	1,@N10249
	FCALV$	^D1,F10072
	SETZ	1,
	MOVE	1,S10260
	MOVEM	1,@N10249
Q10024:
;	OPEN(DEV '(0,2)',3)	:F(BADCOM)
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,@N10249
	PUSH	16,1
	MOVE	1,S10273
	JSP	14,S$$CNC##
	EXP	^D2
	PUSH	16,1
	MOVE	1,I10274
	FCALV$	^D2,F10068
;	DIFFER(FIL)	:F(SRCF1)
	MOVEI	14,L10275
	MOVEM	14,S$$FLP##
	MOVE	1,@N10252
	FCALV$	^D1,F10071
;	EXT	= ?IDENT(EXT) '.SNO'
	MOVEI	14,Q10025
	MOVEM	14,S$$FLP##
	MOVE	1,@N10255
	FCALV$	^D1,F10072
	SETZ	1,
	MOVE	1,S10276
	MOVEM	1,@N10255
Q10025:
;	LOOKUP(FIL EXT,3)	:F(BADCOM)
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,@N10252
	PUSH	16,1
	MOVE	1,@N10255
	JSP	14,S$$CNC##
	EXP	^D2
	PUSH	16,1
	MOVE	1,I10274
	FCALV$	^D2,F10069
;SRCF1	INPUT('SRCLIN',3,132)	:F(BADCOM)
L10275:
	MOVEI	14,L10258
	MOVEM	14,S$$FLP##
	MOVE	1,S10277
	PUSH	16,1
	MOVE	1,I10274
	PUSH	16,1
	MOVE	1,I10278
	FCALV$	^D3,F10000
;	PRTOUT(SPLASH INDENT '** FASBOL II COMPILER V 1.0 (JUNE,1972) **
;.' CRLCHR SPLASH CRLCHR 'COMPILATION DONE ON ' DATE() ' AT ' DAYTIM()
;. CRLCHR CRLCHR)
	MOVEI	14,Q10026
	MOVEM	14,S$$FLP##
	MOVE	1,@SPLASH
	PUSH	16,1
	MOVE	1,@INDENT
	PUSH	16,1
	MOVE	1,S10279
	PUSH	16,1
	MOVE	1,@CRLCHR
	PUSH	16,1
	MOVE	1,@SPLASH
	PUSH	16,1
	MOVE	1,@CRLCHR
	PUSH	16,1
	MOVE	1,S10280
	PUSH	16,1
	FCALV$	^D0,F10044
	PUSH	16,1
	MOVE	1,S10281
	PUSH	16,1
	FCALV$	^D0,F10046
	PUSH	16,1
	MOVE	1,@CRLCHR
	PUSH	16,1
	MOVE	1,@CRLCHR
	JSP	14,S$$CNC##
	EXP	^D12
	FCALV$	^D1,PRTOUT
Q10026:
;	&ERRLIMIT	=
	MOVEI	14,Q10027
	MOVEM	14,S$$FLP##
	SETZM	S$$KWD##+^D14
Q10027:
;	OUTPUT('OUTPUT',0,500)
	MOVEI	14,Q10028
	MOVEM	14,S$$FLP##
	MOVE	1,S10002
	PUSH	16,1
	MOVE	1,I10272
	PUSH	16,1
	MOVE	1,I10265
	FCALV$	^D3,F10002
Q10028:
;	INITLZ	= $'SRCLIN'	:S(RETURN)
	MOVEI	14,Q10029
	MOVEM	14,S$$FLP##
	MOVE	1,S10277
	JSP	14,S$$IVV##
	MOVEM	1,@N10097
	JRST	S$$SRT##
Q10029:
;*	IMMEDIATE EOF
;	ERRMSG('NO SOURCE PROGRAM')	:(FRETURN)
	MOVEI	14,S$$FRT##
	MOVEM	14,S$$FLP##
	MOVE	1,S10282
	FCALV$	^D1,ERRMSG
	JRST	S$$FRT##
;*	BAD COMMAND LINE
;BADCOM	OUTPUT	= DUPL(' ',P) '^'
L10258:
	MOVEI	14,Q10030
	MOVEM	14,S$$FLP##
	MOVE	1,S10283
	PUSH	16,1
	MOVE	^D1,P
	TLO	1,1B18
	TLZ	1,1B19
	FCALV$	^D2,F10065
	PUSH	16,1
	MOVE	1,S10284
	JSP	14,S$$CNC##
	EXP	^D2
	MOVEM	1,@S$$OUT##
Q10030:
;	OUTPUT	= '*BAD COMMAND LINE*'
	MOVEI	14,Q10031
	MOVEM	14,S$$FLP##
	MOVE	1,S10285
	MOVEM	1,@S$$OUT##
Q10031:
;	RELEASE()	:(COMLIN)
	MOVEI	14,L10243
	MOVEM	14,S$$FLP##
	FCALV$	^D0,F10059
	JRST	L10243
;END
	JRST	S$$SXT##
Q10001:	BLOCK	^D0
K10246:	EXP	^D1
I10246:	EXP	^D1!1B0
I10265:	EXP	^D500!1B0
I10268:	EXP	^D2!1B0
K10272:	EXP	^D0
I10272:	EXP	^D0!1B0
I10274:	EXP	^D3!1B0
I10278:	EXP	^D132!1B0
F10000:	BYTE	(4)4(4)0(5)^D3(5)0(18)P$$INP##
F10002:	BYTE	(4)4(4)0(5)^D3(5)0(18)P$$OUT##
S10002:	POINT	7,A10002,35
A10002:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'OUTPUT'
F10044:	BYTE	(4)4(4)0(5)^D0(5)0(18)P$$DTE##
F10045:	BYTE	(4)4(4)0(5)^D0(5)0(18)P$$TIM##
F10046:	BYTE	(4)4(4)0(5)^D0(5)0(18)P$$DTM##
F10050:	BYTE	(4)4(4)0(5)^D1(5)0(18)P$$SIZ##
F10053:	BYTE	(4)4(4)0(5)^D1(5)0(18)P$$CPY##
F10059:	BYTE	(4)4(4)0(5)^D1(5)0(18)P$$RLS##
F10060:	BYTE	(4)4(4)0(5)^D1(5)0(18)P$$DAT##
F10061:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$LGT##
F10063:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$ARR##
F10064:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$TBL##
F10065:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$DUP##
F10066:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$DEF##
F10068:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$OPN##
F10069:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$LKF##
F10070:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$NTF##
F10071:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$DIF##
F10072:	BYTE	(4)4(4)0(5)^D2(5)0(18)P$$IDT##
F10081:	BYTE	(4)4(4)0(5)^D3(5)0(18)P$$SBS##
V10094:	EXP	0
V10095:	EXP	0
V10096:	EXP	0
A10097:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'INITLZ'
A10098:	BYTE	(2)2(16)^D2+1(18)^D8
	ASCII	'INITLZ()'
A10239:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'SYMBOL'
A10240:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'EXNAME'
S10241:	POINT	7,A10241,35
A10241:	BYTE	(2)2(16)^D3+1(18)^D14
	ASCII	'SYM(INAM,ATRB)'
S10242:	POINT	7,A10242,35
A10242:	BYTE	(2)2(16)^D3+1(18)^D14
	ASCII	'NOD(FRNT,BACK)'
S10244:	POINT	7,A10244,35
A10244:	BYTE	(2)2(16)^D1+1(18)^D1
	ASCII	'*'
S10245:	POINT	7,A10245,35
A10245:	BYTE	(2)2(16)^D1+1(18)^D1
	ASCII	'?'
N10247:	BYTE	(4)4(14)0(18)Q10032+^D4
S10248:	POINT	7,A10248,35
A10248:	BYTE	(2)2(16)^D1+1(18)^D3
	ASCII	':,?'
N10249:	BYTE	(4)4(14)0(18)Q10032+^D5
S10250:	POINT	7,A10250,35
A10250:	BYTE	(2)2(16)^D1+1(18)^D1
	ASCII	':'
S10251:	POINT	7,A10251,35
A10251:	BYTE	(2)2(16)^D1+1(18)^D3
	ASCII	'.,?'
N10252:	BYTE	(4)4(14)0(18)Q10032+^D6
S10253:	POINT	7,A10253,35
A10253:	BYTE	(2)2(16)^D1+1(18)^D1
	ASCII	'.'
S10254:	POINT	7,A10254,35
A10254:	BYTE	(2)2(16)^D1+1(18)^D2
	ASCII	',?'
N10255:	BYTE	(4)4(14)0(18)Q10032+^D7
S10257:	POINT	7,A10257,35
A10257:	BYTE	(2)2(16)^D1+1(18)^D1
	ASCII	','
S10260:	POINT	7,A10260,35
A10260:	BYTE	(2)2(16)^D1+1(18)^D3
	ASCII	'DSK'
S10261:	POINT	7,A10261,35
A10261:	BYTE	(2)2(16)^D1+1(18)^D3
	ASCII	'(2)'
S10263:	POINT	7,A10263,35
A10263:	BYTE	(2)2(16)^D1+1(18)^D4
	ASCII	'.MAC'
S10264:	POINT	7,A10264,35
A10264:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'OBJLIN'
S10266:	POINT	7,A10266,35
A10266:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'OBJCHR'
S10270:	POINT	7,A10270,35
A10270:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'LSTLIN'
S10271:	POINT	7,A10271,35
A10271:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'LSTCHR'
S10273:	POINT	7,A10273,35
A10273:	BYTE	(2)2(16)^D1+1(18)^D5
	ASCII	'(0,2)'
S10276:	POINT	7,A10276,35
A10276:	BYTE	(2)2(16)^D1+1(18)^D4
	ASCII	'.SNO'
S10277:	POINT	7,A10277,35
A10277:	BYTE	(2)2(16)^D2+1(18)^D6
	ASCII	'SRCLIN'
S10279:	POINT	7,A10279,35
A10279:	BYTE	(2)2(16)^D9+1(18)^D42
	ASCII	'** FASBOL II COMPILER V 1.0 (JUNE,1972) **'
S10280:	POINT	7,A10280,35
A10280:	BYTE	(2)2(16)^D4+1(18)^D20
	ASCII	'COMPILATION DONE ON '
S10281:	POINT	7,A10281,35
A10281:	BYTE	(2)2(16)^D1+1(18)^D4
	ASCII	' AT '
S10282:	POINT	7,A10282,35
A10282:	BYTE	(2)2(16)^D4+1(18)^D17
	ASCII	'NO SOURCE PROGRAM'
S10283:	POINT	7,A10283,35
A10283:	BYTE	(2)2(16)^D1+1(18)^D1
	ASCII	' '
S10284:	POINT	7,A10284,35
A10284:	BYTE	(2)2(16)^D1+1(18)^D1
	ASCII	'^'
S10285:	POINT	7,A10285,35
A10285:	BYTE	(2)2(16)^D4+1(18)^D18
	ASCII	'*BAD COMMAND LINE*'
Q10032:	BYTE	(2)2(16)^D7+1(18)0
	REPEAT	^D7,<0>
Q10033:	BYTE	(2)2(16)^D5*4+1(18)-^D5
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10240,35
N10240:	BYTE	(4)4(14)0(18)Q10032+^D3
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10239,35
N10239:	BYTE	(4)4(14)0(18)Q10032+^D2
	EXP	0
	BYTE	(5)5(31)0
	POINT	7,A10097,35
INITLZ:	BYTE	(4)4(4)0(5)^D0(5)0(18)E10097
	EXP	0
	BYTE	(5)3(31)0
	POINT	7,A10097,35
	JRST	L10097
	EXP	0
	BYTE	(5)1(31)0
	POINT	7,A10097,35
N10097:	BYTE	(4)4(14)0(18)Q10032+^D1
	POINT	7,A10097,35
Q10000:	XWD	0,Q10032
	XWD	Q10033,^D0
	EXP	Q10033
	XWD	^D7,Q10000
E10097:	JSP	13,S$$EFI##
	POINT	7,A10098,35
	EXP	0
	END