File DECODE2

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

*20
	/// DECODE2
/
/COMMAND DECODER FOR
/SIGNAL ANALYSIS SYSTEM
/
/BLOCKS 20-22
/OVERLAYS 23-33 AND 60-63
/DIAL UNIT 0 INDEX 34-35
/
	IOB=500
	STD=416
	TAC=3
	RMF=6224
	TMA=23
	AXO=1
	RIB=6234
	RDF=6214
	RIF=6224
	OLDPTR=1
	CURPTR=2
	RETURN=3
	COMNO=4
	BETA1=5
	BETA2=6
	BETA3=7
	RETRN1=10
	BETA4=11
	FILPTR=12
	STATE=13
	COMAND=16
	MAXCOM=46
	TAPBUF=3000
/COMEXC LINKS
/
	CURNUM=3641
	CURFIL=3642
	FILE0=3654
/FP TAGS
/
	FAC=0
	FCOMP=740
	FSUB=741
	FMUL=742
	FDIV=743
	LOAD=744
	STORE=745
	SETWRD=746
	INPUT=747
	OUTPUT=750
	ISTOR1=751
	SQRT=752
	DFLOAT=753
	SFLOAT=754
	FIX=755
	FADD=756
	ISTOR2=757
	FCOMP=761
	FZER=762
	FAPO=763
	FAZE=764
	RECIP=765
/
/LINKS TO MODULES
/
/2
	LISTH=1401
/36
	MGETNM=1401
	TABGT=1460
	MGETF=1463
	FIXT=1470
/40
	TABNAM=1443
	 
	 
	 
	SEGMNT 4
	*20
	 
	JMP RSTOP
/
	XSK I COMAND 	/STRSCN
	XSK I COMAND 	/INUNIT
	XSK I COMAND 	/STORIT
	XSK I COMAND 	/GETFIL
	XSK I COMAND 	/GETNAM
	XSK I COMAND 	/DIRINI
	XSK I COMAND 	/LIST
	XSK I COMAND 	/ASSIGN
	XSK I COMAND 	/DEASS
	XSK I COMAND 	/OUTUNIT
	XSK I COMAND 	/LOAD
	XSK I COMAND 	/CHAIN
	XSK I COMAND 	/FIND
	XSK I COMAND 	/ENDCOM
	XSK I COMAND 	/CALL
	XSK I COMAND 	/UNCALL
	XSK I COMAND 	/OLAY
	XSK I COMAND 	/INTRAC
	XSK I COMAND 	/MESOUT
	XSK I COMAND 	/DISK
	XSK I COMAND 	/TABSET
	XSK I COMAND 	/INTABLE
	XSK I COMAND 	/MISSNG
	XSK I COMAND 	/TABGET
	XSK I COMAND 	/TABPUT
	XSK I COMAND 	/TABZER
	XSK I COMAND 	/MAKDIL
	XSK I COMAND 	/TABINI
	XSK I COMAND	/MGETNAM
	XSK I COMAND	/MGETFIL
	XSK I COMAND	/MSTORIT
/
/
/
	LDF 4
	SET RETURN
	0
	STC ACTMP
	IOB
	RIB
	ROL 2
	SCR 5
	BCL I
	3740
	STH
	4\GSRIF
	QAC
	SCR 6
	BSE I
	LDF
	STC GSRDF
/
	ADD COMAND
	ADA I
	JMP COMTAB
	STC .+2
	STC COMAND
	JMP
/
/
EX4,	XSK I RETURN 	/EOL
EX3,	XSK I RETURN 	/UNKNOWN
EX2,	XSK I RETURN 	/ILLEGAL
EX1,	XSK I RETURN 	/NORMAL
/
GOUSER,	NOP
	NOP
GSRIF,	0600 	/LMB
GSRDF,	0 	/UMB
	LDA
	RETURN
	STC GJ
	ADD COMNO
GJ,	JMP
	EJECT
	 
	 
COMTAB,	JMP GOUSER
	JMP MSTOR
	JMP MGETFL
	JMP MGETM
	JMP TABINI
	JMP MAKDIL
	JMP TABZER
	JMP TABPUT
	JMP TABGET
	JMP MISSNG
	JMP INTABL
	JMP TABSET
	JMP DISK
	JMP MESOUT
	JMP INTRAC
	JMP OLAY
	JMP UNCALL
	JMP CALL
	JMP ENDCOM
	JMP FIND
	JMP CHAINX
	JMP DOLOD
	JMP OUTUNI
	JMP DEASS
	JMP ASSN
	JMP LIST1
	JMP GETINI
	JMP GETNAM
	JMP GETFIL
	JMP STORIT
	JMP INUNIT
	JMP STRSCN
	EJECT
/
/
DECOD,	LDA
	1400
	STC MONNUM
	ADD 0
	STC MONNUM+1
	IOB 11
	0113
	215
	4
	INBUF
	JMP .-5
	IOB 1
	13
	.+3
	JMP .-3
	IOB 5
	MONCAL
MONNUM,	0		/MONCAL NUMBER
	0		/EXIT JUMP
/
/
	MONCAL=JMP .
	SET 14
	0
	LDF 4
	LDA 14
	SAE
	1400
	SKP
	JMP MX
	ADA I
	7022
	STC RMON
	IOB 13
	0
CO12,	IOB 12
RMON,	0
MX,	CLR
	XSK I 14
	LDF 3
	JMP 14
/
/
	WIPE=JMP .
	LDA I
	5757
	STA I FILPTR
	STA I FILPTR
	JMP 0
/
/
	SKPFIL=JMP .
	XSK I FILPTR
	XSK I FILPTR
	NOP
	JMP 0
/
/
	SETFIL=JMP .
	LDF 3
	SET I FILPTR
CT,	TAPBUF-1
	JMP 0
/
/
	SETAXO=JMP .
	CLR
ONE,	AXO
	JMP 0
	 
	 
	 
	*252
OUTLST,	*.+10
OTCNT,	0
OUPTR,	0
OUTFLG,	-0
TPTR,	0
TCTR,	0
TABLOC,	0
TABEND,	0
TABTAB,	*.+14
/
	*305
DILNAM,	*.+4
DILUN,	0
DILBLK,	0
ASSUN,	0
CURUN,	0
CALRET,	0
SAVDIR,	0
CURU,	0
/
	*320
FILNAM,	*.+3
WORD1,	7107
WORD2,	4406
INBUF,	*.+20
MTEM,	*.+6
INLST,	*.+10
ITCNT,	0
IUPTR,	0
INFLG,	-0
FSV,	0
FSV1,	0
FSV2,	0
ASSFLG,	0
UCDF,	LDF
/
/
REPLAX,	ADD M1
REPLAC,	ADD JMPGO	/JMP GOUSER
	STC REPX+1
REPCK,	ADD 0		/OR JMP 0
	STC REPX
	 
	ADD FILNAM
	STC RMES+3
	SETWRD
	0400
	DFLOAT
	FILNAM+1
	OUTPUT
	RMES+4
	TYPEC
	RMES
	JMP DECOD
	 
	LDH
	INBUF
	SHD I
	2200		/R
REPX,	JMP		/REPLACE, EXIT
	JMP		/NO REPLACE
	 
	 
	 
STOP,	IOB 2
	0
	SETAXO
	STC CALRET
	ADD ADD0	/ADD 0
	STC REPCK
	IOB 11
	7704
M1,	-1
	0
	252
	JMP .-5
	JMP DECOD
/
	LDA I
	STOP
	LIF 4
	JMP 21
	JMP STOP 	/LEVEL1
	NOP 	/NORMAL
	NOP 	/ILLEGAL
	JMP QUES 	/UNKNOWN
	JMP STOP 	/EOL
/
/
IDF,	LDA
	GSRIF
	BSE I
	40
	STC .+1
DFI,	LDF
	JMP 0
/
/
/
/
/CALLS TO DECODE MODULES
/
/2
/
LIST1,	LDA I		/USER CALLED
	6145
	STC INBUF
LISTX,	MONCAL		/TTY CALLED
	2
	JMP LISTH
/
/3
/
DELET,	XSK I COMAND
STORX,	XSK I COMAND
GET,	XSK I COMAND
	ADD ASSFLG
	AZE I
	JMP BADCOM
STORIT,	XSK I COMAND
GETNAM,	XSK I COMAND
GETFIL,	MONCAL
	3
	JMP 1401
/
/4
/
COMFL2,	XSK I COMAND
ENDCOM,	XSK I COMAND
MAKDIL,	XSK I COMAND
DISK,	MONCAL
	4
	JMP 1401
	EJECT
/
/5
/
MOVE,	XSK I COMAND
CREAT,	MONCAL
	5
	JMP 1401
/
/7
/
MESOUT,	XSK I COMAND
INTRAC,	MONCAL
	7
	JMP 1401
/
/10
/
COMFIL,	XSK I COMAND
FIND,	XSK I COMAND
CALL,	XSK I COMAND
UNCALL,	XSK I COMAND
OLAY,	XSK I COMAND
RUN,	XSK I COMAND
CHAINX,	XSK I COMAND
DOLOD,	MONCAL 
TEN,	10
	JMP 1401
	EJECT
/36
/
MGETM,	MONCAL
	36
	JMP MGETNM
/
MGETFL,	MONCAL
	36
	JMP MGETF
/
TABGET,	MONCAL
	36
	JMP TABGT
/
TABZER,	MONCAL
	36
	JMP FIXT
	LDA I
	-2
	ADD FILPTR
	STC FILPTR
	STA FILPTR
	STA I FILPTR
JMPGO,	JMP GOUSER
/
	EJECT
/37
/
ASSN,	XSK I COMAND
ASSIGN,	XSK I COMAND
DEASS,	MONCAL
	37
	JMP 1401
/
/40
/
TABPUT,	MONCAL
	40
	JMP TABNAM
	XSK I RETURN
	JMP 1401
/
MSTOR,	MONCAL
	40
	JMP 1401
/
/41
/
INUNIT,	XSK I COMAND
OUTUNI,	XSK I COMAND
INTABL,	XSK I COMAND
MISSNG,	XSK I COMAND
TABSET,	MONCAL 
	41
	JMP 1401
/
/
	EJECT
PARAM,	LDA I
	4100
	JMP GVW
/
/
VIEW,	LDA I
	4040
GVW,	LDF 5
	JMP LREAD
	LIF 5
	JMP 20
/
/
GETINI,	ADD CT
	STC TPTR
	ADD Q126
	STC TCTR
	JMP GOUSER
/
/
TABINI,	FETCH
	ROL 2
	ADA I
	TABTAB+3
	STC BETA1
	STA BETA1
	JMP GOUSER
	EJECT
/
/
	FETCH=JMP .
	SET 14
	0
	JMP IDF
	LDA RETURN
	XSK I RETURN
	LDF 3
	JMP 14
/
/
/
	TYPEC=JMP .
	LDA I
	272
	STC TERM
	 
	TYPE=JMP .
	SET 14
	0
	LDF 4
	LDA 14
	XSK I 14
	STC .+5
/
	IOB 11
	4104
TERM,	212
	4
	0
	JMP .-5
	IOB 1
	4
	.+3
	JMP .-3
	IOB 5
	LDA I
	212
	STC TERM
	LDF 3
	JMP 14
/
/
/
/ILLEGAL COMMAND
BADCOM,	TYPE
	QM
	JMP EX2
/
/TAPE FULL
FULL,	TYPE
	TAPFUL
	JMP GOUSER
/
/
QUES,	TYPE
	QM
	JMP STOP
/
/
TAPFUL,	0625
	1414
	4543
/
/
TAPMSG,	0201
	0440
	2401
	2005
CR,	4543
/
/
QM,	7777
	4543
/
/
NULL,	5757
	5757
/
/
Q126,	-126
/
/
/
LREAD,	SET 14
	0
	STC LB
	IOB 13
	0
	IOB 12
LB,	0
	CLR
	LDA I
	1001
	LAM
	LB
	STC LB
	LZE I
	JMP LB-1
	JMP 14
/
/
STRSCN,	SET I OLDPTR
	INBUF
	COM
	STC L1FLG
/
SCANIT,	LDA I
ACTMP,	0
	BSE I
	2000
	STC STATE
/
	JMP SETSCN
	JMP DOSCAN
	JMP EX4 	/EOL
	JMP EX3 	/UNKNOWN
	ADD COMNO 	/CHECK FOR LEVEL1
	ADA I
	-16
	APO
	JMP LEVEL1
	JMP IDF
	LDA I STATE 	/CHECK LEGALITY
	AZE I
	JMP BADCOM
	SAE
	COMNO
	JMP .-5
	JMP EX1
	EJECT
/
/
/LEVEL1 COMMAND PROCESSOR
/
LEVEL1,	LDA I
L1FLG,	0
	APO I
	JMP BADCOM
	CLR
	STC L1FLG
	ADD COMNO
	ADA I
	JMP L1COM
	STC .+1
	0
/
L1COM,	JMP RUN
	JMP LISTX
	JMP CREAT
	JMP STORX
	JMP GET
	JMP DELET
	JMP RSTOP
	JMP RUN
	JMP DEASS
	JMP ASSIGN
	JMP PARAM
	JMP VIEW
	JMP COMFIL
	JMP STOP 	/UNUSED
	JMP MOVE
	 
/
/
	EJECT
DOSCAN,	SET BETA3
	0
DNA,	LDH CURPTR
	SHD I
	4500
	JMP ELZ+2 	/EOL
/
	SHD I
	4000
DNX,	LDH I CURPTR
	LDH I BETA1
	SHD I
	4500
	JMP MATCH
	SHD CURPTR
	JMP DNX 	/CHECK ANOTHER CHARACTER
/
	LDH I BETA1 	/MOVE TO NEXT
	SAE I
	45
	JMP .-3
/
NX,	SET CURPTR 	/RESET TO START OF
	OLDPTR 	/COMMAND STRING
	XSK I COMNO 	/BUMP COMMAND NUMBER
	XSK I BETA2 	/END OF TABLE?
	JMP DNA 	/NO
/
/UNKNOWN COMMAND
/
	LDH I CURPTR
	SHD I
	4000
	JMP ELZ+1
	SHD I
	4500
	JMP ELZ+1
	JMP .-7
	EJECT
MATCH,	LDH CURPTR
	SHD I
	4500
	JMP ELZ
	SAE I
	40
	JMP NX 	/MUST BE DELIMITED
ELZ,	XSK I BETA3
	XSK I BETA3
	CLR
	JMP BETA3 	/EOL RETURN
/
SETSCN,	SET CURPTR
	OLDPTR
	SET I COMNO
	0
	SET I BETA1
	4\COMTBL-1
	SET I BETA2
	-MAXCOM
	JMP 0
	EJECT
/
/
/USER STOP
RSTOP,	IOB 2
	0
	SET I 17
	-100
	IOB 7
	XSK I 17
	JMP .-2
	IOB 3
	5100
	1750
	LDF 1
	LDA I
	4004
	JMP LREAD
	LDF 2
	LDA I
	4010
	JMP LREAD
	JMP STOP
	EJECT
/
/
/IMAGE SAVERS
SAV67,	LDA I
	IOB I 12
	STC LB-1
ADD0,	ADD 0
	STC SAV67X
	LDF 6
	ADD K4140
	JMP LREAD
	LDF 7
	ADD K4144
	JMP LREAD
	ADD CO12
	STC LB-1
SAV67X,	JMP
/
/
GET67,	LDF 6
	LDA I
K4140,	4140
	JMP LREAD
	LDF 7
	LDA I
K4144,	4144
	JMP LREAD
	JMP GOUSER
	EJECT
/
/
/ROUTINE TO SET UP
/QN-BN FOR TRANSFER
/OF FILES BETWEEN CORE
/AND DISK OR TAPE
/OPERATES ON WORD1 AND WORD2
/
BLDWRD,	SET 15
	0
	LDA
	WORD1
	JMP GETQTR
	STC TAPWRD
	ADD WORD2
	JMP GETQTR
	STC TAPWR2
/
	ADD WORD1
	JMP GETNUM
	STC CNT1 
	ADD WORD2
	JMP GETNUM
	STC CNT2
/
	ADD WORD1
	JMP GETUMB
	STC TUMB1
	ADD WORD2
	JMP GETUMB
	STC TUMB2
/
	ADD FILNAM+2 	/BN
	BCL I
	7000
	ADD TAPWRD
	STC TAPWRD
	ADD TAPWRD
	BCL I
	7000
	COM
	ADD CNT1
	COM
	ADD TAPWR2
	STC TAPWR2
	JMP 15
	EJECT
GETQTR,	BCL I
	0777
	BSE I
	4000
	JMP 0
/
GETNUM,	BCL I
	7077
	ROR 6
	COM
	JMP 0
/
GETUMB,	BCL I
	7700
	BSE I
	LDF
	JMP 0
/
TAPWRD,	0
TAPWR2,	0
TUMB1,	0
TUMB2,	0
CNT1,	0
CNT2,	0
/
/
RMES,	2205
	2014
	0340
	4040
	4040
	4040
	7772
	 
/
/TABLE FOR DECODE
/
COMTBL,	2225 	/RUN 0
	1645
	1411 	/LI - LIST 1
	4503 	/CR - CREATE 2
	2245
	2324 	/STO - STORE 3
	1745
	0705 	/GET 4
	2445
	0405 	/DEL - DELETE 5
	1445
	2324 	/STOP 6
	1720
	4500
	0000 	/NULL 7
	4504 	/DAS - DEASS 10
	0123
	4501 	/AS - ASSIGN 11
	2345
	2001 	/PAR - PARAM 12
	2245
	2611 	/VIEW 13
	0527
	4503 	/COM - COMFILE 14
	1715
	4500 	/UNUSED 15
	1145 	/MV - MOVE 16
	1526
/END OF LEVEL 1 COMMANDS
	EJECT
	4531 	/YES 17
	0523
	4516 	/NO 20
	1745
	2301 	/SAM 21
	1545
	2401 	/TABLE 22
	0114
	0545
	0717 	/GO 23
	4516 	/NEXT 24
	0530
	2445
	0325 	/CU 25
	4503 	/CONT 26
	1716
	2445
	0114 	/ALL 27
	1445
	0126 	/AVG 30
	0745
	0145 	/A 31
	0245 	/B 32
	0345 	/C 33
	0445 	/D 34
	0545 	/E 35
	0645 	/F 36
	0745 	/G 37
	1045 	/H 40
	1145 	/I 41
	1245 	/J 42
	2014 	/PLOT 43
	1724
	4520 	/PRINT 44
	2211
	1624
	4524 	/T 45
AAD,	4500
/
/
	SAVSYM 2
	 
/
/
/DECODE2
/4 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