File FCOMSV2

Directory of image this file is from
This file as a plain text file

*20
/FCOMSV2
/DIAL FILE COMMANDS
/SP,LI,AS,PS
/TBLK 350-353
/MBLK 0-3
/31 DEC 69
/USES  17 MBLKS FOR SP
/TAPE TRANSFERS
	*15
	RCG DIALU
	7\DIALST
	JMP SAYNO
FCSA,	NOP		/EDITOR CALLS
	NOP		/TO FCOMS ALL
	NOP		/GO HERE
	JMP SAVPRG
	JMP LIORAS
	JMP PRNPRG
FLDSET,	LDF 2
	LDF 3
	LDF 0
	LDF 1
			/TAPE CONTROL
M2,	SET 2
	F1		/-NUM OF TBLKS
	SET 5
	2
	SET I 7
	FLDSET-1
	SET I 6
	R1
	JMP C2		/SET UP R1
	JMP DTEXTR-1	/SET UP EXT
	15		/TAPE (READ)
R1,	WA
	JMP KLEER	/CLR XOB
	JMP R2		/ADV TBLK NUM
	JMP N2-1
	AZE
	JMP R1-2
	JMP C2
	LDA 7
	SAE I
	LDF 1
	JMP R1-2
	LDA I
N2,	MTB
	JMP X2
			/WRITE
	SET 2
	5
	SET I 6
	B2
	SET I 7
	FLDSET-1
	JMP C2
	JMP DTEXTW-1	/SET UP EXT
			/TAPE (WRITE)
	0		/WRITE INST
B2,	0		/TBLK IN FILE
	JMP KLEER	/CLR XOB
	JMP R2		/UP TBLK NUM
	JMP CHKBLK	/CHK TBLKS
	AZE
	JMP B2-2	/NOT DONE
	JMP C2
	LDA 7
	SAE I
	LDF 1
	JMP B2-2
	LDA I
A2,	0		/MTB INST
	JMP X2		/CHK MOTION
	JMP M2+2	/DO SOME MORE
			/SRT QUARTER
C2,	CLR
	SET 1
	0
	LDA I 7
	STC .+1
	0		/AN LDF
	ADD .-1
	SAE I
	LDF 2
	JMP .+6
	LDA 6
	BSE I
	5000
	STA 6
	JMP 1
	LDA 6
	BSE I
	4000
	STA 6
	JMP 1
			/UP BLOCK NUMBER
R2,	LDA I		/AND MBLK
	1001		/AT LOC R1
	LAM 6
	BCL I
	0777
	XSK I 2
	XSK I 0
	JMP 0
			/CHECK N BLOCKS
CHKBLK,	SET I 2
F1,	0
	JMP DTEXTW-1	/EXT UNITS
	0		/CHK INST
	0		/TBLK IN FILE
	AZE
	JMP FAILED	/CHK FAILED
	ADD .-3
	ADD P1
	STC .-5
	JMP KLEER
	XSK I 2
	JMP F1+1
	JMP EDRTN
			/CHECK FAIL
FAILED,	LDA		/RESET TBLK
	CHKBLK+4	/AND TRY AGAIN
	STC B2
	ADD 2
	STA
	F1
	ADD R1
	AZE I
	COM
	BCL I
	7000
	STC R1
	JMP M2+2
			/MOTION CHECK
X2,	SET 1
	0
	SHD
	4\.+3
	JMP 0
	STA I
	0
	JMP 1
P1,	1
	JMP EDRTN
	0
SAYNO,	CLR		/COMMAND CAN
	SET I 1		/NOT OR WILL
	340		/NOT BE
	DSC I		/EXECUTED
	3077
	DSC I
	7706
	SET I 1
	352
	DSC I
	4177
	DSC I
	7741
	KST		/DISPLAY UNTIL
	JMP SAYNO+1	/KEY IS STRUCK
	JMP EDRTN	/RTN TO EDITOR
			/SAVE PROGRAM
			/LAST BN IN AC
SAVPRG,	ADA I
	-WA-5000+2
	COM
	STC F1		/- NUM OF TBLKS
	RCG DIALU	/RDC REST
	2\FCTBLK+1	/OF FCOMS
	ADD P1		/SET BUMP WD
	STC Q2		/IN SEARCH SR
			/CHECK PARTIAL 
	ADA		/SAVE
	E6
	AZE
	JMP P2		/SAYNO PARTIAL
			/SAVE ILLEGAL
L2,	LDA I
	WAUNIT
	JMP J1		/SET UP UNIT
			/ARGS FOR RDC
	JMP MAKMTP	/SET UP MPT
			/INST
	JMP CHKIND	/CHK FOR INDEX
	JMP MAKIND	/NO INDEX
			/MAKE ONE
	JMP LOOKUP	/DO NAME SEARCH
	JMP .+4		/NO NAME MATCH
 	JMP SRORBN	/CHK SOURCE
			/OR BINARY
	JMP REPLAC	/ASK REPLACE
	JMP .+3		/REPLACE
			/REQUESTED
	JMP V1		/PUT NAME IN
			/INDEX
	JMP SAYNO	/NO ROOM IN
			/INDEX
	SET 4
	2		/SAVE PTR
	JMP U1		/DO GAP SEARCH
	BSE I		/RTN WITH 1ST
E3,	0		/TBLK IN AC
	JMP T1
	JMP M2
KLEER,	CLR
	AXO
	JMP 0
			/PRINT SOURCE
PRNPRG,	LDH		/CHK MC PARAM
	E6+2		/TABLE
	SHD I		/FILE ENTRY
	7700		/OR WA ?
	JMP F3C		/PS THE WA
	RCG I DIALU	/RDC REST
	2\FCTBLK+1	/OF FCOMS
	ADD P1		/SET BUMP WD
	STC Q2		/FOR SEARCH
	JMP MAKMTP
	JMP CHKIND
	JMP SAYNO	/NO INDEX
	JMP LOOKUP	/INDEX
	JMP SAYNO	/NO NAME MATCH
	JMP SRORBN	/SOURCE OR
			/BINARY ?
	JMP .+2
	JMP SAYNO	/BINARY ONLY
	RDC I DIALU	/GET PS
	2\PSTBLK
F3,	LDA 2
	STC 1377
	ADD A2
	ADA I
	-3
	STC 1376
	ADD DTEXTW
	BCL I
	7774
	ADD 1376
	STC 1376
	JMP 1000
F3C,	RDC I DIALU	/GET PS
	2\PSTBLK
	JMP 1000	/GO PS
			/FILE SUBS
			/CHECK SOURCE
			/OR BINARY
SRORBN,	SET 5
	2
	LDA I 5		/DOES NAME HAVE
	APO		/A SOURCE ?
	XSK I 0		/NO BINARY ONLY
	JMP 0
EDRTN,	SET I 15	/FINISHED
	LDF 3		/RTN TO THE
	SET I 16	/EDITOR
	RCG DIALU
	SET I 17
	7\DIALST
	JMP KLEER
	JMP 15
	LDA I		/FOR EXTENDED
DTEXTR,	0		/READ UNITS
	AXO
	CLR
	JMP 0
	LDA I		/FOR EXTENDED
DTEXTW,	0		/WRITE UNITS
	AXO
	CLR
	JMP 0
			/FIX ADDRESS
ADVIND,	LDA		/TO NEXT NAME
	2		/IN INDEX
	BSE I		/EACH NAME IS
	7007		/10 WDS LONG
	STC 2
	XSK 2		/SCANNED INDEX ?
	JMP 0		/NO
	JMP 1
			/CHECK BOUNDS
H1,	LDA
	6
	ADD F1
	AZE I
	COM
	APO
	XSK I 0		/NOT OK
	JMP 0		/OK
			/RCG AND CHECK 
			/INDEX
CHKIND,	SET 3		/RTN JMP
	0
	JMP DTEXTW-1	/EXT UNIT
	0
	1\INDEX
	JMP KLEER	/CLR XOB
	LDA 
	3000
	SHD I		/IS THERE AN
	5700		/INDEX ?
	XSK I 3		/YES
	JMP 3		/NO
			/MAKE INDEX
MAKIND,	SET 1
	0
	SET I 2
	2777
	LDA I		/FILL WITH
	5757		/5757 (//)
	STA I 2
	XSK 2		/DONE ?
	JMP .-2		/NO
	JMP 1
			/NAME SEARCH
LOOKUP,	SET 1
	0
	SET I 2		/START OF
	3000		/INDEX
	SET I 3		/LENGTH OF
	-4		/NAME
	SET I 4		/START OF
	E6+1		/REQUESTED NAME
	JMP ADVIND
	LDA I 2		/CHK INDEX NAME
	SAE I 4		/WITH REQ NAME
	JMP LOOKUP+4	/NO MATCH
			/TRY NEXT NAME
	XSK I 3		/MATCHED ALL ?
	JMP .-4		/NO TRY NXT PAIR
	LDA I		/STEP PTR
Q2,	0		/TO SOURCE
	ADM		/ENTRY 
	2
	XSK I 1
	JMP 1		/RTN
			/ASK REPLACE
REPLAC,	SET 3
	0
	SET I 1
	234
	SET I 4
	H3-4000
	LDH I 4
	SHD I		/DISPLAYED
	CR1		/REPLACE ?  ?
	JMP K2		/YES CHK KBD
	ROL 1
	ADA I
	A6
	STC 5
	DSC 5
	DSC I 5
	LDA I
	2
	ADD 1
	STC 1
	JMP REPLAC+6
K2,	KST
	JMP REPLAC+2	/NO KBD REFRESH
			/SCOPE
	IOB		/GET CHAR
 	6036		/KRB
	IOB
	6046		/ECHO CHAR
	SAE I
	322		/R ?
	JMP EDRTN	/NO RETURN
	SET 5
	2
	LDA I
	5757
	STA 5
	STA I 5
	JMP 3
			/SLOT SEARCH
V1,	SET I 4		/PTR TO
	E6+1		/REQ NAME
	SET 1		/RTN JMP
	0
	SET I 2		/PTR TO INDEX
	3000
	JMP ADVIND
	SET 5
	2
	LDA I 2
	SAE I		/FOUND A
	5757		/BLANK SLOT ?
	JMP V1+6	/NO TRY NXT SLOT
	LDA I 4		/PUT REQ NAME
	STA I 5		/IN INDEX
	SRO I		/SKP OUT AFT
	3567 		/4 PASSES 
	JMP .-4
	SET 2		/TO END OF
	5		/NAME
	JMP Q2-1	/BUMP PTR N XIT
U1,	SET 10		/B6 IS
	0		/DYNAMICALLY
	SET I 6		/RESET TO
	-FILE		/NEAREST TBLK
	LDA I		/SWITCH OFF
	7777		/LOWER FILE
	STC SWITCH
	JMP GAPSR	/RTN WITH B6 SET
			/TO -CLOSEST BLK
	SET 7
	6
	CLR		/SWITCH ON
	STC SWITCH	/LOWER FILE
	SET I 6
	FREE
	JMP GAPSR
			/FIND NEAREST
			/OF TWO
G1,	LDA 
	7		/UPPER FILE
	COM
	ADD 6		/LOWER FILE
	ADA I
	-INDEX-INDEX
	APO		/WHICH IS BEST ?
	JMP .+3		/CHK UPPER FILE
	JMP H1		/CHK LOWER FILE
	JMP 10		/OK 1ST TBLK IN
			/AC
	LDA
	7
	ADA I
	1000
	JMP H1+2	/UPPER FILE
	JMP .+4		/OK
	JMP H1		/CHK LOWER
	JMP 10		/OK
	JMP SAYNO	/FILE AREA FULL
	LDA 
	7
	COM
	JMP 10
			/GAP SEARCH ALL
GAPSR,	SET 1		/ACTIVE ENTRIES
	0		/TO SEE IF
	SET I 2		/B6 (BEST TBLK)
	7000		/HAS TO BE RESET
	JMP ADVIND
	LDH I 2
	SHD I		/IS THERE
	5700		/AN ENTRY ?
	JMP .-4		/NO DO SOME MORE
	XSK I 2		/ADV ENTRY TO
	XSK I 2		/TBLK INFO
	XSK I 2		/SECTOR
	JMP GETBN	/RTN P+2 IF
			/INVALID
	JMP COMPBN
	JMP GETBN
	JMP COMPBN
	JMP GAPSR+4
			/GET BN
GETBN,	LDA I 2		/TBLK NUM
	BCL I		/IN LOW ORDER
	7000		/9 BITS
	STA
	11
	ADA I 2		/NUM OF TBLKS
	APO
	XSK I 0		/INACTIVE ENTRY
	COM
	STA
	12
	SRO I		/FOR UPPER OR
SWITCH,	0		/LOWER FILE
	JMP 0
	SET 12
	11
	STC 11
	JMP 0
			/BN COMPARE
COMPBN,	LDA		/WITH B6
	11
	ADD 6
	AZE I
	COM
	APO
	JMP 0
	ADD F1
	APO
	AZE I
	JMP 0
	SET 6
	12
	JMP GAPSR+2
			/WRITE INDEX
T1,	SET 13
	0
	STA 4
	BCL I
	7000
	STA 
	B2
	STC CHKBLK+4
	ADD F1
	COM
	STA I 4
	KST I		/LAST CHANCE TO
			/INHIBIT COMMAND
	JMP EDRTN
	JMP DTEXTW-1
TJ,	0
	1\INDEX
	JMP KLEER
	JMP 13
			/FIX TAPE
			/INSTRUCTIONS
			/RDC UNIT
J1,	SET 3
	0
	JMP SETS+3	/WAUNIT IN AC
	STC DTEXTR
	ROL I 4
	ADM
	N2
	ADM 
	R1-1
	JMP 3
			/LIST NAME
LIORAS,	RCG DIALU	/RDC REST
	1\FCTBLK+2	/OF FCOMS
	CLR
	SET 17
	E6
	SAE
	E6+1
	JMP .+4
	SAE
	E6
	JMP SAYNO
	LDA
	E6
	COM
	ADA
	E6+1
	LAM
	17
	LZE
	JMP SAYNO
	CLR
	ADD P1		/BUMP WD FOR
	STC Q2		/NAME SEARCH
	JMP MAKMTP
	JMP CHKIND
	JMP SAYNO	/NO INDEX
	JMP LOOKUP	/SEARCH FOR
			/NAME MATCH
	JMP SAYNO	/NO NAME MATCH
	JMP SRORBN	/SOURCE OR
			/BINARY ?
	JMP .+2
	JMP SAYNO	/BINARY ONLY
	LDA		/UNITS 0 AND 1
	E6+6		/ARE ONLY
	BCL I		/LEGAL UNITS
	7771
	AZE
	JMP SAYNO	/ILLEGAL UNIT
	LDA
	E6+6
	STC UNITNO
	LDA
	2000		/QL OR LI WD
	STC UNITNO-3
	LDA 2
	LIF 3
AAA,	JMP KBDOPR-1	/RTN TO EDITOR
	*1400
			/WRITE UNIT
MAKMTP,	SET 3
	0
	JMP SETS
	STC DTEXTW
	ROL I 4
	BSE I
	RCG
	STA
	CHKIND+3
	ADD E3-3
	STA 
	A2
	STA
	X2+6
	ADD E3-3
	STA
	TJ
	ADA I
	21
	STA
	B2-1
	ADD P1
	STC CHKBLK+3
	JMP 3
P2,	JMP SAYNO	/SET I 1 WHEN
			/DEBUGGED
SETS,	CLR		/SET UP
	LDA		/REQUESTED
	E6+6		/UNITS
	ROR I 1
	BCL I
	7774
	JMP 0
T2,	0		/LN
	0		/LN
	-0		/NAME
	-0
	-0
	-0
	-0
			/REPLACE TABLE
H3,	2205
	2014
	0103
	0577
	4377
	DIALST=300
	WA=370
	FCTBLK=350
	PSTBLK=364
	J9=771
	J7=430
	DIALU=0
	WAUNIT=0
	WAEND=467
	FILE=WAEND+1
	E6=2371
	UNITNO=777
	INDEX=346
	FREE=270
	A6=2001
	KBDOPR=1400
	CR1=4300



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search