File MOD7

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

*20
//MOD7
	 
/DECODE MODULE 7
/BLOCK 31
	 
/CONTENTS
/   INTRACT
/   MESOUT
	 
	LODSYM
	 
	SEGMNT 4
	*1400
KP7,	7 	/MONCAL
	 
	ADD COMAND
	ADA I
	JMP .+4
	STC .+2
	STC COMAND
	JMP
	 
	JMP MESGET
	JMP MESS
/
/MESGET CODING FOLLOWS.
GETDF,	0
	JMP 0
/
/GET ARGUMENTS AND SAVE IN DECODE.
MESGET,	FETCH 	/GET CJN
	STC MTEM
	FETCH 	/MN
	STC MTEM+1
	ADD GSRDF 	/OLD DF
	STC MTEM+2
	JMP IDF
	LDA
	DFI 	/OLD IF AS DF
	STC MTEM+3
/
/PRINT MESSAGE AND OPEN INPUT BUFFER.
/NOTE: IN ORDER TO BE COMPATABLE WITH
/THE COMEXEC, THE INPUT BUFFER MUST BE
/OPENED BEFORE ANY INTERNAL SETUP IS
/DONE SINCE THE COMEXEC WILL WIPE OUT
/THE CURRENT MESGET MODULE.
/
AGN,	LDA
	MTEM+1
	STA
	HOLD
	JMP BITSET	/BSE 2000
	STC MSPTR
	JMP TEST	/OLD IF OR DF?
	JMP BITSTP	/BCL 7770
	STC DF2
/
/TYPE MESSAGE ON TTY
	IOB 11
	4104
	272
DF2,	0
MSPTR,	0
	JMP .-5
/
/OPEN INPUT BUFFER
	JMP DECOD
/
/
/STUFF MESGET WITH ARGUMENTS.
/
	CLR
	ADD MTEM 	/CJN
	STA
	HOLD
	JMP BITSET 	/BSE2000
	STC CODPTR
	JMP TEST 	/OLD DF OR IF
	STA
	GETDF
	BCL I
	0040
	STC LIFX	/EXIT IF
	ADD MTEM+2
	STC LDFX	/EXIT DF
	 
	JMP DECUD	/DECODE INPUT BUFFER
	 
	EJECT
/
/
/ROUTINE TO SEE IF TERMINAL
/JUMP IS TO IF OR ANOTHER DF.
TEST,	SET 14
	0
	LDA I
HOLD,	0
	ROL I 2
	LZE 	/2000?
	JMP .+4
/
	LDA 	/BIT 1 NOT SET
	MTEM+3 	/OLD IF AS DF
	JMP 14 	/LEAVE TEST
/
	LDA 	/YES, BIT1 SET
	MTEM+2 	/OLD DF AS DF
	JMP 14 	/LEAVE TEST
/
/BIT SETTING ROUTINES.
BITSET,	BSE I
	2000
	JMP 0
BITSTP,	BCL I
	7770
	JMP 0
	EJECT
/DECODING SEQUENCE, STRSCN EQUIVALENT ROUTINE.
DECUD,	SET I 14
CODPTR,	0 	/CJN
	SET I OLDPTR
	INBUF
	COM
	STC L1FLG
/
	JMP GETDF
	LDA 14
	JMP BITSET 	/BSE2000
	ADD KM1
	STC STATE
	JMP SETSCN
	JMP DOSCAN
	JMP EOL 	/CR EXIT
	JMP UNK 	/UNK OR NUMBER
	ADD COMNO
/LEAVE FOR STOP COMMAND.
	SAE I
	13
	SKP
	STOP
/
	ADA I
	-16
	APO
	JMP LVL1 	/LEVEL1
	JMP GETDF
	LDA I STATE
	AZE I
	JMP BDCM 	/NOT IN TABL
	SAE
	COMNO
	JMP .-5
/GOT COMMAND, LOOK IT UP.
	EJECT
/LOOKUP COMMAND IN TABLE.
LOOKUP,	STA I
CURCOM,	0
GOTONE,	SET 15
	CODPTR
	LDA 15
	ADD KM1
	JMP BITSET 	/BSE2000
	STC 17 	/VALID COMPTR
	LDA I 15
	ADD KP1
	JMP BITSET 	/BSE2000
	STC 15 	/JMP PTR
	ADD CURCOM
	SAE I 17
	SKP
	JMP GOTCOM
	XSK I 15
	JMP .-4
/
GOTCOM,	CLR
	STC HOLD
	LDA 15
	JMP USERGO
/
/LEVEL 1 HANDLER.
LVL1,	LDA I
	JMP AGN
	STC RETURN
	LDA I
	LIF 4
	STC GSRIF
	ADD GETDF
	STC GSRDF
	LDA I
	MONCAL
	STC GOUSER
	LDA I
	7
	STC GOUSER+1
	JMP LEVEL1
/
/BAD COMMAND, NOT IN TABLE HANDLER.
BDCM,	TYPE
	QM
	JMP AGN
	EJECT
/UNKNOWN COMMAND OR NUMBER.
UNK,	SET 15
	CODPTR
/
	INPUT
	INBUF
	STORE
	MTEM
	FIX
	FAC
	ISTOR1
	HOLD
/
	JMP GETDF
	LDA 15
	ADD KM1
	JMP BITSET 	/BSE2000
	STC 17 	/VALID COMPTR
	LDA I 15
	ADD KP1
	JMP BITSET 	/BSE2000
	STC 15 	/JMP PTR
	LDA I 17
	AZE I
	JMP .+3
	XSK I 15
	JMP .-4
	LOAD
	MTEM
	JMP GOTCOM+2
/
/CR ONLY HANDLER.
EOL,	SET 15
	CODPTR
	CLR
	STC HOLD
/
	JMP GETDF
	LDA I 15
/JMP USERGO
	EJECT
/ROUTINE TO RETURN TO USER.
USERGO,	BSE I
	6000
	STC RJ
	LDA I
	NOP
	STA
	GOUSER
	STC GOUSER+1
	ADD HOLD
LDFX,	0		/RETURN DF
LIFX,	0		/RETURN IF
RJ,	0 	/RETURN JUMP
/
KM1,	-1
KP1,	+1
	EJECT
/MESSAGE PRINTER ROUTINE.
MESS,	FETCH 	/GET MN
	STA
	HOLD
	JMP BITSET
	STC MS
/ MSG IN OLD IF OR OLD DF?
	ADD HOLD 	/TEST 2000 BIT
	ROL I 2
	LZE
	JMP .+5
/
	JMP IDF 	/NOT SET
	LDA
	DFI 	/OLD IF AS DF
	JMP .+3
/
	LDA
	GSRDF 	/OLD DF AS DF
	JMP BITSTP 	/BCL7770
	STC MS-1
/
	IOB 11
	4124
	212
	0
MS,	0
	JMP .-5
	IOB 1
	24
	.+3
	JMP .-3
	IOB 5
/
	CLR
	STC COMNO
AA7,	JMP GOUSER
/
/MOD7
/FEB 74



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