File KW12SUBC

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

*20
/KW12 SETUP SUBROUTINE PACKAGE
/WITH EXTENSIVE COMMENTS
/OCT 23,1969
CLSK=6131
CLLR=6132
CLAB=6133
CLEN=6134
CLSA=6135
CLBA=6136
CLCA=6137
PMODE
/CHANGE THE NEXT LINE TO RELOCATE
*6000
KWINIT,	0	/INITIALIZE CLOCK
	DCA KWAC	/STORE AC
	DCA KWCONR	/CLEAR SOFTWARE REGISTERS
	DCA KWENAB
	DCA KWBUFF
	JMS KW2SER	/CLEAR THE COUNTER
	CLSA	/CLEAR STATUS
	JMS KW1SER	/CLEAR HARDWARE REGISTERS
	TAD KWAC	/RESTORE AC
	JMP I KWINIT	/RETURN
/
/STOP THE COUNTER
/
KWSTOP,	0
	DCA KWAC	/STORE AC
	CLEN	/CLEAR ENABLE REGISTERS
	CLLR	/CLEAR THE CONTROL REGISTER
	CLSA	/CLEAR STATUS
	CLA	/CLEAR AC
	TAD KWAC	/RESTORE AC
	JMP I KWSTOP	/RETURN
/
/CONTINUE COUNTING
/
KWCONT,	0
	DCA KWAC	/STORE AC
	JMS KW2SER	/RESTART CLOCK
	JMS KW3SER
	JMS KW1SER
	TAD KWAC	/RESTORE AC
	JMP I KWCONT	/RETURN
/
/SET HARDWARE REGISTERS
/
KW1SER,	0
	CLA	/CLEAR AC
	TAD KWENAB/LOAD ENABLE REG
	CLEN
	CLA	/CLEAR AC
	TAD KWCONR	/LOAD CONTROL REG
	CLLR
	CLA	/CLEAR AC
	JMP I KW1SER	/RETURN
/
/CLEAR CLOCK COUNTER
/
KW2SER,	0
	CLA	/CLEAR AC
	CLAB	/CLEAR BUFFER
	CLLR	/CLEAR CONTROL REG
	CLEN	/CLEAR ENABLE REG
	TAD KW0100
	CLLR	/GENERATE CLEAR COUNTER
	CLA	/CLEAR AC
	TAD KWBUFF	/LOAD BUFFER
	CLAB
	CLSA	/CLEAR STATUS
	CLA	/CLEAR AC
	JMP I KW2SER	/RETURN
/
/LOAD COUNTER
/
KW3SER,	0
	CLA	/CLEAR AC
	TAD KW0200	/GENERATE LOAD COUNTER
	CLEN
	CLA	/CLEAR AC
	JMP I KW3SER	/RETURN
/
/SETUP CLOCK TO MEASURE TIME OR EVENTS
/
KWMEAS,	0
	DCA KWAC	/STORE AC
	ISZ KWMEAS	/INDEX POINTER
	TAD I KWMEAS	/GET CONTROL REG SETTING
	AND KW7700	/REMOVE CHAN SIM BITS
	DCA KWCONR	/DEPOSIT IN SOFTWARE REG
	ISZ KWMEAS	/INDEX POINTER
	TAD I KWMEAS	/GET BUFFER SETTING
	CIA	/FORM TWOS COMPLEMENT
	DCA KWBUFF	/DEPOSIT IN SOFTWARE REG
	ISZ KWMEAS	/INDEX POINTER
	TAD I KWMEAS	/GET ENABLE REG SETTING
	AND KW0177	/REMOVE UNUSED BITS AND LD COUNTER BIT
	DCA KWENAB	/DEPOSIT IN SOFTWARE REG
	JMS KW2SER	/START CLOCK
	JMS KW3SER
	JMS KW1SER
	ISZ KWMEAS	/INDEX KWMEAS
	TAD KWAC	/RESTORE AC
	JMP I KWMEAS	/RETURN
/
/READ COUNTER
/
KWREAD,	0
	CLCA	/READ COUNTER
	DCA KWTEMP	/PUT IN TEMP STORAGE
	CLL	/CLEAR LINK
	CLSA	/GET STATUS
	SPA CLA	/SKIP IF NOT OVERFLOW
	STL	/SET LINK
	TAD KWBUFF	/RESTORE HARDWARE BUFFER
	CLAB
	CLA	/CLEAR AC
	TAD KWTEMP	/PUT COUNTER VALUE IN AC
	JMP I KWREAD	/RETURN
/
/SYMBOLS
/
KWAC,	0	/TEMP AC
KWCONR,	0	/SOFTWARE CONTROL REG
KWBUFF,	0	/SOFTWARE BUFFER
KWENAB,	0	/SOFTWARE ENABLE REG
KW0700,	0700	/CONSTANTS
KW0200,	0200
KW0100,	0100
KW7700,	7700
KW0177,	0177
KWTEMP,	0	/TEMP STORAGE



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