DataMuseum.dk

Presents historical artifacts from the history of:

Philips Data Systems

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Philips Data Systems

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦35103694b⟧

    Length: 23078 (0x5a26)
    Notes: pts_type(SC)
    Names: »DRDCH1.SC«

Derivation

└─⟦fce1dcf99⟧ Bits:30009704 Philips computer tape "KMD15"
    └─⟦this⟧ »DLCSIM/DRDCH1.SC« 

PTS(SC)

	IDENT DRDCH1	REL 1.1 78-04-21  870150240110
****************************************************************
* 
*	DRIVER FOR TEST TOOL
* 
*	HDLC DRIVER FOR CC SIMULATOR
* 
*	HSON	76-04-29 
* 
******************************************************************
* 
* 
*	ENTRIES 
* 
* 
	ENTRY	DRLGOA	ACTIVATION OF CONTROL 
	ENTRY	DCH1ON	POWER ON RECOVERY 
	ENTRY	DRLGIA	ACTIVATION OF INPUT 
	ENTRY	DRLGUA	ACTIVATION OF OUTPUT
	ENTRY	IHH101	INPUT INTERRUPT 
	ENTRY	IHH102	OUTPUT INTERRUPT
	ENTRY	DWH101	CONTROL IO
	ENTRY	DWH102	LOG INPUT 
	ENTRY	DWH103	LOG OUTPUT
* 
* 
*	EXTERNAL REFERENCES 
* 
* 
	EXTRN	DWTECB	ECBADDRESS
	EXTRN	TENDIO	END OF EVENT
	EXTRN	TDISP	DISPATCHER 
	EXTRN	DISIOE 
	EXTRN	SAVE8	SAVE 8 REGS ON A15 STACK 
	EXTRN	SETIME	SET TIMER 
* 
	EXTRN	DWTST	DWT STATUS 
	EXTRN	DWTOR	DWT ORDER
	EJECT
* 
*	DEVICE ADRESSES 
* 
* 
DALGIN	EQU	/02	INPUT DEVICE ADDRESS 
DALGUT	EQU	/12	OUTPUT DEVICE ADDRESS
* 
* 
* 
* 
*	RELATIVE ECB EQUATES
* 
* 
ECBBA	EQU	2 
ECBRL	EQU	4 
ECBEL	EQU	6 
ECBRC	EQU	8 
ECBCW	EQU	/A
	EJECT
* 
* 
*	INSTRUCTION EQUATES 
* 
* 
CINRTS	EQU	/1	NO REQUEST TO SEND
CIT4WP	EQU	/2	TRANSMIT 4-WIRE PC
CIT2WP	EQU	/3	TRANSMIT 2-WIRE PC
CIT4WM	EQU	/A	TRANSMIT 4-WIRE MUX 
CIT2WM	EQU	/B	TRANSMIT 2-WIRE MUX 
CIIDLE	EQU	/4	TRANSMIT IDLE '1' 
* 
* 
*	CIO START IN COMMANDS 
* 
* 
CICMO	EQU	/2	CONNECT MODEM
CIDISC	EQU	/1	DISCONNECT MODEM
CIWAIC	EQU	/3	WAIT FOR CALL 
CIREPC	EQU	/5	RECEIVE ON PC 
CIAREP	EQU	/4	RECEIVE ALARM ON PC 
CIREMX	EQU	/B	RECEIVE ON MUX
CIAREM	EQU	/E	RECEIVE ALARM ON MUX
* 
* 
* 
*	DEVICE WORK AREA EQUATES
* 
* 
DWTSAV	EQU	/20	REGISTER SAVE AREA 
DWTA4	EQU	DWTSAV+6	A4 SAVE AREA 
DWTA5	EQU	DWTSAV+8	A5,SAVE AREA 
STB	EQU	/1E	RELATIVE STACK BASE 
	EJECT
* 
* 
*	WORK AREAS
* 
* 
RECIND	DATA	0 
TRAX	DATA	0	FIRST OUTPUT INTERRUPT INDICATOR
POLFIN	DATA	1 
FORTWO	DATA	0	FOUR WIRE IF ZERO 
PROCED	DATA	0	COMMON FLAG FOR HDLC SDLC 
TRAIND	DATA	0 
WATIPO	DATA	0 
WRTIMP	DATA	0	TIMER POINTER 
MESEXP	DATA	0	MESSAGE EXPECTED INDICATOR
BFULL	DATA	0
PBUFIN	DATA	BSTART
PBUFUT	DATA	BSTART
BSTART	EQU	*
	RES	3000 
BEND	EQU	*-2
	EJECT
* 
* 
*DRIVER ACTIVATION* 
* 
*INPUT REQUEST
* 
* 
DRLGIA	DATA	LGINAC	DWT REFERENCE
* 
* 
LGINAC	SUK	A7,1 
	RF(Z)	ENDR	ORDER 01: READ GENERAL
LIA100	ABL	DISIOE	ILLEGAL ORDER 
* 
	EJECT
* 
* 
* END READ REQUEST? 
* 
* 
ENDR	EQU	*
	INH
	LDKL	A5,STB+DWH101 
	LDKL	A6,DWH102 
	LD	A8,DWTECB,A6
	LD	A1,PBUFUT 
ENDR10	CW	A1,PBUFIN 
	RF(E)	ENDR20	NO NEW CHARACTEIN BUFFER
	ADK	A1,2 
	CWK	A1,BEND
	RF(NE)	ENDR15	NOT END OF BUFFER
	LDKL	A1,BSTART 
ENDR15	EQU	*
	LDR*	A2,A1 
	ANKL	A2,/FF00
	RF(NZ)	ENDR30	PCOUNTER OR COMMENT
	LD	A2,BFULL
	SUK	A2,1 
	RF(Z)	ENDR50	BUFFER FULL 
	EJECT
* 
* 
*ORDINARY CHARACTER 
* 
	ST	A1,PBUFUT 
	LDR*	A2,A1	FETCH CHARACTER 
	CF	A5,STORA	STORE IN REQUEST BUFFER
	SUK	A2,/FF 
	RF(E)	ENDR17	COMPLETE REQUEST ON MARK HOLD 
	LD	A2,ECBEL,A8 
	CW	A2,ECBRL,A8 
	RB(NE)	ENDR10	NOT END OF REQUESTED LINE
ENDR17	LDK	A1,0 
ENDEND	CF	A15,TENDIO
	ABL	TDISP
* 
* NO ENDING OF REQUEST
* 
ENDR20	EQU	*
	CF	A15,SETIME
	DATA	ENDR,5
	CM	BFULL 
	ABL	TDISP
	EJECT
* 
* 
ENDR30	EQU	*
	LD	A3,ECBEL,A8 
	RB(NZ)	ENDR17	COMPLETE PREVIOUS REQUEST
	ST	A1,PBUFUT	POLL/COMMENT
	LDR*	A2,A1 
* 
* COMMENT 
* 
ENDR40	EQU	*
	CF	A5,STORA
	LDKL	A1,/2000	RETURN CODE
	RB	ENDEND
* 
* BUFFER FULL 
ENDR50	EQU	*
	LD	A3,ECBEL,A8 
	RB(NZ)	ENDR17
	IM	BFULL 
	LDKL	A2,/240 
	RB	ENDR40
	EJECT
* 
* 
* STORE CHATACTER IN A2 IN REQUEST BUFFER 
* 
* 
STORA	LD	A3,ECBBA,A8
	AD	A3,ECBEL,A8 
	SCR	A2,A3
	IM	ECBEL,A8
	RTN	A5 
	EJECT
* 
* 
*OUTPUT 
* 
* 
DRLGUA	DATA	LGUTAC
* 
* 
LGUTAC	SUK	A7,6 
	RB(NZ)	LIA100	ILLEGAL ORDER
* 
* 
*	WRITE REQUEST 
* 
* 
LGUT10	EQU	*
	LDK	A5,STB 
	ADKL	A5,DWH103	LOAD STACKPOINTER 
	LDKL	A6,DWH103 
	LD	A8,DWTECB,A6
	LD	A1,ECBCW,A8 
	ST	A1,TRA300	SAVE TIMEOUT VALUE
	ABL	TRAMIT 
	EJECT
* 
* 
*	CONTROL COMMANDS
* 
* 
DRLGOA	DATA	LGOPAC	DWT REFERENCE
* 
* 
LGOPAC	EQU	*
	LDK	A5,STB 
	ADKL	A5,DWH101 
	ST	A5,DWTA5+DWH101	STORE STACK POINTER 
	LD	A8,DWTECB,A6
	LD	A7,ECBCW,A8 
	ANK	A7,/F
	LDR	A1,A7
	SUK	A1,1 
	RF(Z)	OPEN	CW=1
	SUK	A1,1 
	RF(Z)	RESET	CW=2 
	SUK	A1,2 
	RF(Z)	ENDW	CW=4
	SUK	A1,1 
	RF(Z)	CLOSE
	SUK	A1,1 
	RF(Z)	SPEPRO 
	SUK	A1,1 
	RF(Z)	SPWIRE 
	RB	LIA100	ILLEGAL ORDER
	EJECT
CLOSE	LDK	A5,STB
	ADKL	A5,DWH102 
	CF	A5,HALTIN 
	CF	A5,DISCON 
	LDKL	A1,BSTART 
	ST	A1,PBUFIN 
	ST	A1,PBUFUT 
	LDKL	A2,/242 
	CF	A5,STORE
	RF	RESET0
* 
* 
*	SPECIFY LINE PROTOCOL 
* 
* 
SPEPRO	LD	A1,ECBBA,A8 
	ST	A1,PROCED 
	RF	RESET1
* 
* 
*	SPECIFY WIRE TYPE 
* 
* 
SPWIRE	LD	A1,ECBBA,A8 
	ST	A1,FORTWO 
	RF	RESET1
	EJECT
* 
* 
*	OPEN RECEIVER 
* 
* 
OPEN	EQU	*
	LDK	A5,STB	LOAD STACK POINTER
	ADKL	A5,DWH102 
	CF	A5,HALTIN 
	CF	A5,DISCON	HALT COMMUNICATION
	CF	A5,CONMOD	CONNECT MODEM 
	IM	POLFIN
	LDKL	A1,BSTART 
	ST	A1,PBUFIN	RESET BUFFER
	ST	A1,PBUFUT 
OP250	LDK	A1,0
	CF	A15,TENDIO
	ABL	RECEIV	OPEN RECEIVER 
	EJECT
* 
* 
*	DISCONNECT MODEM
* 
* 
DISCON	EQU	*
	LDK	A2,1 
	LDK	A1,CIDISC
	CIO	A1,1,DALGIN	DISCONNECT MODEM 
	RF(A)	CONM20 
	RF(NA)	CONM15
	RF	CONM10
* 
* 
*	CONNECT MODEM 
* 
* 
CONMOD	EQU	*
	LDK	A2,1 
	LDK	A1,CICMO 
	CIO	A1,1,DALGIN	CONNECT MODEM
	RF(A)	CONM20 
	RF(NA)	CONM15
CONM10	EQU	*
	ADKL	A2,/4000	DEVICE ADDRESS UNKNOWN 
CONM15	EQU	*
	ADKL	A2,/8000	COMMAND NOT ACCEPTED 
	CF	A5,LOGG 
	RTN	A5 
CONM20	EQU	*
	CF	A5,LOGG 
	ABL	READ	WAIT FOR MODEM NOT READY
	EJECT
* 
* 
*RESET BUFFER 
* 
* 
RESET	EQU	* 
	LDKL	A1,BSTART 
	ST	A1,PBUFIN 
	ST	A1,PBUFUT 
RESET0	EQU	*
	LDKL	A2,/241	COMMENT: BUFFER RESET 
	CF	A5,STORE
	LDK	A1,/0
	ST	A1,BFULL	RESET,BFULL
RESET1	EQU	*
	LDK	A1,0 
	CF	A15,TENDIO
	ABL	TDISP
	EJECT
* 
* 
*END WRITE REQUEST
* 
* 
ENDW	EQU	*
	LDK	A1,/2	RETURN CODE
	CF	A15,TENDIO
ENDW01	EQU	*
	CM	WATIPO
	LDK	A1,/80	REQUEST ABORT 
ENDW05	EQU	*
	LDKL	A6,DWH103 
	CM	TRAIND
	CM	MESEXP
ENDW1	EQU	* 
	CF	A15,TENDIO
	ABL	TDISP
	EJECT
* 
* 
*	RECEIVE MODULE
* 
* 
RECEIV	EQU	*
	LDK	A5,STB 
	ADKL	A5,DWH102	LOAD STACK POINTER
	CM	RECIND
	CF	A5,STINP	START RECEIVER AND COLLECT DATA
	ANK	A1,1 
	RF(Z)	REC100 
	LDKL	A2,/242 
	CF	A5,STORE
	CF	A5,DISCON 
	ABL	TDISP
REC100	EQU	*
	LD	A1,MESEXP 
	RF(Z)	REC200	UNEXPECTED MESSAGE
	LD	A1,RECIND 
	RB(Z)	RECEIVE	NO DATA
REC150	EQU	*
	CM	MESEXP
	LDKL	A6,DWH103 
	LD	A1,2,A6 
	RF(N)	REC200	NO REQUEST WAS THERE
	LDK	A1,0 
	CF	A15,TENDIO	COMPLETE WRITE REQUEST 
	CM	TRAIND
REC200	EQU	*
	CM	RECIND	NOT BUSY RECEIVING 
	LD	A1,TRAIND 
	RF(Z)	REC300	NO WRITE ON QUEUE 
	LD	A1,WATIPO 
	RF(Z)	REC250 
	CM*	WATIPO 
	CM	WATIPO
REC250	EQU	*
	ABL	LGUT10 
REC300	EQU	*
	LDKL	A6,DWH102 
	RB	RECEIV	ENTER IDLE RECEIVE 
	EJECT
* 
* 
*	TRANSMIT MODULE 
* 
* 
TRAMIT	EQU	*
	IM	TRAIND	INDICATE TRANSMISSION
	LD	A1,RECIND 
	RF(Z)	TRA100	NOT BUSY RECEIVING
TRA050	EQU	*
	CF	A15,SETIME
	DATA	ENDW01,50 
	ST	A4,WATIPO 
	ABL	TDISP	WAIT MAX 5 SECONDS FOR RECEIVER
TRA100	EQU	*
	LD	A1,POLFIN 
* 
*	RB(Z)	TRA050   REMOVED  !!!!!!
	CF	A5,HALTIN	HALT INPUT
	LDKL	A6,DWH103 
	LDKL	A2,/200 
	CF	A5,STORE	STORE COMMENT C: 
	LD	A3,ECBRL,A8	GET LENGTH
	LDR	A1,A3
	ANKL	A1,/E000
	RF(NZ)	TRA110	ODD BITS PRESENT 
	LDR	A2,A3
	ANK	A2,1 
	RF(Z)	TRA130	EVEN NR OF BYTES
	RF	TRA120	ODD NR OF BYTES
TRA110	EQU	*
	SRL	A1,5 
	LDR	A2,A3
	ANK	A2,1 
	RF(NZ)	TRA130	ODD NR OF BYTES AND BITS 
TRA120	EQU	*
	ORKL	A1,/800 
TRA130	EQU	*
	ANKL	A3,/3FF	MASK BIT AREA 
	LD	A4,ECBBA,A8	GET BUFFER ADDRESS
	LD	A2,FORTWO 
	RF(Z)	TRA140	4-WIRE
	CF	A5,STOUT2 
	RF	TRA200
TRA140	EQU	*
	CF	A5,STOUT4 
TRA200	EQU	*
	LDK	A2,/FF 
	CF	A5,STORE
	LD	A1,FORTWO 
	RF(Z)	TRA250	4-WIRE
	CF	A5,IDLONE 
	CF	A5,NORTS
TRA250	EQU	*
	LD	A1,TRA300 
	RF(Z)	TRA400	NO TIMING 
	RB(N)	REC150	IMMEDIATE COMPLETION
	CF	A15,SETIME
	DATA	TRA500
TRA300	EQU	*
	DATA	0 
	ST	A4,WRTIMP 
TRA400	EQU	*
	IM	MESEXP
	CM	TRAIND
	ABL	REC300	START RECEIVER
TRA500	EQU	*
	INH
	CM	TRA300
	CM	WRTIMP
	LDKL	A2,/245 
	LDK	A5,STB 
	ADKL	A5,DWH103 
	CF	A5,STORE
	LDKL	A1,/100	SET RETURN CODE 
	LDKL	A6,DWH103 
	CM	TRAIND
	CM	MESEXP
	CF	A15,TENDIO	COMPLETE WRITE REQUEST 
	CF	A5,HALTIN 
	ABL	REC300 
	EJECT
************************************************
* 
*READ ONE CHARACTER 
* 
* 
READ	EQU	*
RETURN	EQU	*
	ST	A3,LCA3 
	ST	A4,LCA4 
	ST	A5,LCA5 
	ST	A6,LCA6 
	ST	A7,LCA7 
	ST	A8,LCA8 
	ABL	TDISP	GO TO DISPATCHER 
	EJECT
* 
* 
*STORE ONE CHARACTER
* 
* 
STORE	EQU	* 
	STR	A1,A15 
	STR	A2,A15 
	LD	A1,BFULL
	RF(NZ)	STOR20
	LD	A1,PBUFIN 
	ADK	A1,2 
	CWK	A1,BEND
	RF(NE)	STOR10	NOT END OF RING BUFFER 
	LDKL	A1,BSTART 
STOR10	CW	A1,PBUFUT 
	RF(E)	STOR30	BUFFER FULL 
STOR15	STR	A2,A1	STORE CHAR.
	ST	A1,PBUFIN 
STOR20	LDR*	A2,A15
	LDR*	A1,A15
	RTN	A5 
* 
*BUFFER FULL
* 
STOR30	EQU	*
	IM	BFULL 
	RB	STOR20
	EJECT
* 
* 
*RESTART INPUT
* 
* 
STINP	EQU	* 
	LDK	A2,1 
	LDK	A1,CIREPC
	CIO	A1,1,DALGIN	START RECEIVER 
	RF(A)	HALT20 
	RF(NA)	HALT15
	RF	HALT10
* 
* 
*	START CHLC TRANSMITTER
*	2-WIRE CASE 
* 
* 
STOUT2	EQU	*
	LDK	A2,/10 
	ADK	A1,CIT2WP	2-WIRE 
	IM	TRAX
STOU10	EQU	*
	CIO	A1,1,DALGUT	START TRANSMITTER
	RF(A)	HALT20 
	RF(NA)	HALT15
	RF	HALT10
* 
* 
*	START CHLC TRANSMITTER
*	4-WIRE CASE 
* 
* 
STOUT4	LDK	A2,/10 
	ADK	A1,CIT4WP
	IM	TRAX
	RB	STOU10
	EJECT
* 
* 
*	NO REQUEST TO SEND
* 
* 
NORTS	EQU	* 
	LDK	A2,/10 
	LDK	A1,CINRTS	NO REQUEST TO SEND 
	RB	STOU10
* 
* 
*	IDLE ONE
* 
* 
IDLONE	LDK	A2,/10 
	LDK	A1,CIIDLE	IDLE ONE 
	RB	STOU10
	EJECT
* 
* 
*	HALT RECEIVER 
* 
* 
HALTIN	EQU	*
	LDK	A2,8 
	LDK	A1,0 
	CIO	A1,0,DALGIN	HALT INPUT 
	RF(A)	HALT20 
	RF(NA)	HALT15
HALT10	EQU	*
	ADKL	A2,/4000	DEVICE ADDRESS UNKNOWN 
HALT15	EQU	*
	ADKL	A2,/8000	COMMAND NOT ACCEPTED 
	CF	A5,LOGG 
	RTN	A5 
HALT20	EQU	*
	CF	A5,LOGG 
	ABL	READ 
	EJECT
* 
* 
*	RESTORE REGISTERS A3 - A8 
* 
* 
LDREG	LDKL	A3,0 
LCA3	EQU	*-2
	LDKL	A4,0
LCA4	EQU	*-2
	LDKL	A5,0
LCA5	EQU	*-2
	LDKL	A6,0
LCA6	EQU	*-2
	LDKL	A7,0
LCA7	EQU	*-2
	LDKL	A8,0
LCA8	EQU	*-2
	ADKL	A15,4 
	ABR*	A15 
	EJECT
**********************************************************
* 
*     CHLC TRANSMITTER INTERRUPT
* 
**********************************************************
IHH102	CF	A15,SAVE8 
	CF	A15,LDREG	RESTORE A3 - A8 
	LDK	A2,/20 
	LDR*	A1,A4 
	LD	A7,PROCED 
	RF(Z)	IHLGU1	HDLC
	CF	A5,MIRROR 
IHLGU1	EQU	*
	OTR	A1,0,DALGUT
	ABL(NA)	STATUS	NOT ACCEPTED
	CF	A5,LOGG 
	LDR*	A1,A4 
	LD	A2,TRAX 
	RF(Z)	IHLGU2	NOT FIRST INTERRUPT 
	CM	TRAX
	LD	A2,PROCED 
	RF(NZ)	IHLGU2	SDLC RUNNING 
	LDR	A2,A1
	CF	A5,MIRROR 
	ANK	A1,/FF 
	ANKL	A2,/FF00
	ORR	A1,A2
	EJECT
IHLGU2	EQU	*
	LDR	A2,A1
	SRL	A2,8 
	CF	A5,STORE
	LDR	A2,A1
	ANK	A2,/FF 
	CF	A5,STORE
	ADK	A4,2 
	SUK	A3,2 
	ABL(P)	READ
	LDKL	A2,/100 
	LDK	A1,0 
	CIO	A1,0,DALGUT	HALT TRANSMITTER 
	CF	A5,LOGG 
	ABL	READ 
	EJECT
* 
* 
********************************************************* 
* 
*     CHLC RECEIVER INTERRUPT 
* 
********************************************************
IHH101	CF	A15,SAVE8 
	CF	A15,LDREG	RESTORE A3 - A8 
	LDK	A2,2 
	INR	A1,0,DALGIN
	RF(A)	IHLG20 
	LDKL	A2,4
	LDKL	A2,4
	LDKL	A2,4
	SST	A1,DALGIN
	RF(NA)	IHLG15
	CF	A5,LOGG 
	LD	A3,RECIND 
	RF(Z)	IHLG11 
	LDKL	A2,/202	STORE COMMENT 'SST-IN'
	CF	A5,STORE
	LDR	A2,A1
	SRL	A2,8 
	CF	A5,STORE
	LDR	A2,A1
	ANK	A2,/FF 
	CF	A5,STORE
IHLG10	LDK	A2,/FF 
	CF	A5,STORE
IHLG11	EQU	*
	RTN	A5 
IHLG15	ADKL	A2,/8000
	CF	A5,LOGG 
	RB	IHLG10
IHLG20	EQU	*
	CF	A5,LOGG 
	LD	A7,PROCED 
	RF(Z)	IHLG21	HDLC
	CF	A5,MIRROR 
IHLG21	EQU	*
	LD	A2,RECIND 
	RF(NZ)	IHLG40	NOT FIRST INTERRUPT
	IM	RECIND
	CM	POLFIN
	LD	A2,PROCED 
	RF(NZ)	IHLG24	SDLC RUNNING 
	LDR	A2,A1
	CF	A5,MIRROR 
	ANK	A1,/FF 
	ANKL	A2,/FF00
	ORR	A1,A2
IHLG24	EQU	*
	LDR	A2,A1
	ANK	A2,/10 
	RF(Z)	IHLG25	
	IM	POLFIN	POLL/FINAL PRESENT 
IHLG25	EQU	*
	LD	A2,TRA300 
	RF(Z)	IHLG30	NO TIMING 
	CM*	WRTIMP 
IHLG30	EQU	*
	LDR	A3,A1
	LDKL	A2,/201 
	CF	A5,STORE	STORE COMMENT T: 
	LDR	A1,A3
IHLG40	EQU	*
	LDR	A2,A1
	ECR	A2,A1
	ANK	A2,/FF 
	CF	A5,STORE
	LDR	A2,A1
	ANK	A2,/FF 
	CF	A5,STORE
	ABL	READ	WAIT FOR NEXT INTERRUPT 
	EJECT
********************************************************
* 
*     STATUS INTERRUPT FROM CHLC TRANSMITTER
* 
********************************************************
STATUS	EQU	*
	LDKL	A2,/80
	LDKL	A2,/80
	LDKL	A2,/80
	SST	A1,DALGUT
	RF(A)	STA110 
	HLT		HARDWARE ERROR
STA110	EQU	*
	CF	A5,LOGG 
	CM	TRAX
	RTN	A5 
	EJECT
* 
* 
* POWER ON RECOVERY 
* 
* 
DCH1ON	EQU	*
	LDK	A1,0 
	ST	A1,BFULL
	LDKL	A1,BSTART 
	ST	A1,PBUFIN 
	ST	A1,PBUFUT 
	IM	POLFIN
	CM	BFULL 
	RTN	A15
	EJECT
* 
* 
*	MIRROR ROUTINE FOR A1 
* 
* 
MIRROR	EQU	*
* 
*	NOT TO BE USED
* 
	LD	A7,PROCED 
	RF(Z)	SUITE
	RTN	A5 
SUITE	EQU	* 
	STR	A2,A15 
	STR	A3,A15 
	LDK	A7,16
	LDK	A3,0 
MIRLOP	EQU	*
	LDR	A2,A1
	ANKL	A2,/8000
	ORR	A3,A2
	SUK	A7,1 
	RF(Z)	MIRRUT 
	SRL	A3,1 
	SLL	A1,1 
	RB	MIRLOP
MIRRUT	EQU	*
	LDR	A1,A3
	ECR	A1,A3
	LDR*	A3,A15
	LDR*	A2,A15
	RTN	A5 
	EJECT
* 
********************************************************* 
* 
*	INTERRUPT LOGGING ROUTINE 
* 
********************************************************* 
* 
* 
*	CONTROL WORD CONTENTS 
* 
* 
*	8000	COMMAND NOT ACCEPTED 
*	4000	DEVICE ADDRESS UNKNOWN 
* 
*	0100	HDLCUT   CIO HALT
*	0080	HDLCUT   SST 
*	0040	HDLCUT   OTR 1 
*	0020	HDLCUT   OTR 0 
*	0010	HDLCUT   CIO START 
* 
*	0008	HDLCIN   CIO HALT
*	0004	HDLCIN   SST 
*	0002	HDLCIN   INR 
*	0001	HDLCIN   CIO START 
* 
* 
********************************************************* 
* 
	EJECT
* 
LOGG	EQU	*
	ST	A3,SAV3	SAVE A3 
	LD	A3,LOGPOI 
	ST	A2,LOGBUF,A3	STORE COMMAND
	ST	A1,LOGBUF+2,A3	STORE RESULT 
	CW	A3,LOGEND 
	RF(G)	EXIT 
	ADK	A3,4 
	ST	A3,LOGPOI	STORE POINTER 
EXIT	EQU	*
	LD	A3,SAV3	RESTORE A3
	RTN	A5 
* 
* 
SAV3	DATA	0 
LOGPOI	DATA	0	LOGG POINTER
LOGEND	DATA	1000	END OF BUFFER
LOGBUF	EQU	*
	RES	510	LOGG BUFFER
* 
* 
* 
	EJECT
* 
* 
*	LOG OUTPUT CHLC 1 
* 
* 
DWH103	DATA	/12	DEVICE ADDRESS
	DATA	/8000	STATUS
	DATA	0	ECB ADDRESS 
	DATA	0	ORDER 
	DATA	DRLGUA	DRIVER ADDRESS BLOCK 
	DATA	0	TASK TABLE ADDRESS
	DATA	0	WAIT/ACTIVATE INDICATOR 
	DATA	0	TASK QUEUE FOR THIS DEVICE
	RES	8	SUBROUTINE STACK 
	RES	5	SAVE AREA FOR A1 - A5
	DATA	DWH103	THIS DWT ADDRESS FOR A6
	DATA	DWH102	CORRESPONDING INPUT DWT IN A7
	RES	1	SAVE AREA FOR A8 
	DATA	0,0,0,0	WORK AREA 
* 
	EJECT
* 
* 
*	LOG INPUT CHLC 1
* 
* 
DWH102	DATA	/02	DEVICE ADDRESS
	DATA	/8000	STATUS
	DATA	0	ECB ADDRESS 
	DATA	0	ORDER 
	DATA	DRLGIA	DRIVER ADDRESS BLOCK 
	DATA	0	TASK TABLE ADDRESS
	DATA	0	WAIT/ACTIVATE INDICATOR 
	DATA	0	TASK QUEUE FOR THIS DEVICE
	RES	8	SUBROUTINE STACK 
	RES	5	SAVE AREA FOR A1 - A5
	DATA	DWH102	CORRESPONDING INPUT DWT IN A7
	DATA	DWH103	THIS DWT ADDRESS FOR A6
	RES	1	SAVE AREA FOR A8 
	DATA	0,0,0,0	WORK AREA 
* 
	EJECT
* 
* 
*	LOG CONTROL IO
* 
* 
DWH101	DATA	/02	DEVICE ADDRESS
	DATA	/8000	STATUS
	DATA	0	ECB ADDRESS 
	DATA	0	ORDER 
	DATA	DRLGOA	DRIVER ADDRESS BLOCK 
	DATA	0	TASK TABLE ADDRESS
	DATA	0	WAIT/ACTIVATE INDICATOR 
	DATA	0	TASK QUEUE FOR THIS DEVICE
	RES	8	SUBROUTINE STACK 
	RES	3	SAVE AREA FOR A1 - A5
	DATA	DWH102	INPUT DWT
	RES	1	SAVE A5
	DATA	DWH101	THIS DWT ADDRESS FOR A6
	DATA	DWH103	CORRESPONDING DWT IN A7
	RES	1	SAVE AREA FOR A8 
	DATA	0,0,0,0	WORK AREA 
* 
* 
* 
* 
	END

Full view