Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99e-bb - qsradm.c08
There is 1 other file named qsradm.c08 in the archive. Click here to see a list.
 REP 22/8	;08C1
		INTERN	A$ENABLE		;ENABLE MESSAGE
		INTERN	A$DISABLE		;DISABLE MESSAGE
 WIT
	;**;[1152]DELETE 2, ADD 1 LINE TO ORION MESSAGES	18-SEP-83/CTK
		INTERN	A$QUEUE			;[1152]ENABLE/DISABLE OBJECT QUEUES
 INS 1/20	;08C2
		SUBTTL A$QUEUE - ROUTINE TO ENABLE/DISABLE SPECIFIC OBJECT QUEUES
	;**;[1152]ADD A$QUEUE ROUTINE		18-SEP-83/CTK
	;
	;	THIS ROUTINE ALLOWS SPECIFIC OBJECT QUEUES (E.G. MOUNT-REQUESTS, ETC.)
	;	TO BE ENABLED OR DISABLED.  NOTE, THE ENTRIES IN QUENAM ARE PARELLEL
	;	TO THE E.XXX FLAGS DEFINED IN ORNMAC FOR THE .EDQUE MESSAGE TYPE.
	;	THIS ROUTINE REPLACES A$ENABLE AND A$DISABLE.
	;
	A$QUEUE: $SAVE	<P1,P2>			;[1152]GET SOME AC'S TO WORK WITH
		MOVE	P2,S2			;[1152]GET THE CODE (.OMDIS/.OMENA)
		MOVX	S1,.EDQUE		;[1152]GET THE MESSAGE TYPE
		$CALL	A$FNDB			;[1152]FIND THE BLOCK
		 JUMPF	BADMSG			;[1152]DIE IF BAD MESSAGE
		MOVE	S1,(S1)			;[1152]GET THE FLAGS (E.XXX)
		CAIE	P2,.OMENA		;[1152]ENABLE?
		 JRST	QUE.1			;[1152]NO...MUST BE DISABLE
		MOVEI	P1,[ASCIZ/enabled/]	;[1152]FOR $ACK
		ANDCAM	S1,G$QUEUE##		;[1152]TURN OFF THE BITS
		 JRST	QUE.2			;[1152]GO FINISH UP
	QUE.1:	MOVEI	P1,[ASCIZ/disabled/]	;[1152]FOR $ACK
		IORM	S1,G$QUEUE##		;[1152]TURN ON BITS
	QUE.2:	MOVEI	S2,[ASCIZ/all requests/] ;[1152]ASSUME ALL QUEUES
		CAXN	S1,E.ALL		;[1152]NOW CHECK
		 JRST	QUE.3			;[1152]YEP..DON'T LOOK FURTHER
		JFFO	S1,.+1			;[1152]GET THE OFFSET (INTO S2)
		MOVE	S2,QUENAM(S2)		;[1152]GET THE CORRECT MSG. ADDRESS
	QUE.3:	$ACK	(Queue entry of ^T/(S2)/ is now ^T/(P1)/,,,.MSCOD(M))	;[1152]
		$RETT				;[1152]ALL DONE...HERE

	;HERE IS THE TABLE OF QUEUE NAMES TO BE ENABLED/DISABLED.
	;NOTE THAT THE ENTRIES MUST BE PARALLEL TO THE FLAG NAMES
	;DEFINED IN ORNMAC (E.XXX FLAGS FOR THE .EDQUE MESSAGE TYPE).

	QUENAM:	[ASCIZ/tape mounts/]		;[1152]
		[ASCIZ/disk mounts/]		;[1152]
		[ASCIZ/batch jobs/]		;[1152]
		[ASCIZ/printer jobs/]		;[1152]
		[ASCIZ/plotter jobs/]		;[1152]
		[ASCIZ/card punch jobs/]	;[1152]
		[ASCIZ/paper tape punch jobs/]	;[1152]

	;**;[1152]TURN OFF OLD CODE BEFORE A$ENABLE	18-SEP-83/CTK
	REPEAT	0,<				;[1152]JUST GET RID OF THIS STUFF
 INS 14/20	;08C3
	;**;[1152]TURN OFF OLD CODE AFTER A$DISABLE	18-SEP-83/CTK
		>				;[1152]END REPEAT 0,..
 REP 19/22	;08C4
		MOVX	S1,OBSBUS		;PICK UP BUSY BIT.
 WIT
		MOVX	S1,OBSBUS!OBSFCH	;[1163] PICK UP BUSY BIT AND FORMS CHANGE BIT
 REP 22/24	;08C5
		MOVE	S1,P1			;GET THE OBJECT ADDRESS IN S1
		PUSHJ	P,A$OBST		;UPDATE THE STATUS
		$RETT				;AND RETURN
 WIT
	;**;[1202] Delete 3 lines and insert 1 line at A$OPAU+17L. /LWS
		JRST	OPAU.3			;[1202] GO SET 'STOPPED' AND UPDATE
 REP 34/24	;08C6
		MOVX	S1,OBSSTP		;GET THE 'STOPPED' STATUS BIT
 WIT
	;**;[1202] Add a label at OPAU.2+2L. /LWS
	OPAU.3:	MOVX	S1,OBSSTP		;GET THE 'STOPPED' STATUS BIT
 INS 30/29	;08C7
	;**;[1206]ADD 1 LINE AT DN60.1:+1L	20-APR-84/CTK
		MOVEI	S1,G$MSG##		;[1206] GET MESSAGE BUFFER ADDR
 REP 8/30	;08C8
		PUSHJ	P,A$FOBJ		;[NXT] FIND THE OBJECT BLOCK
 WIT
	;**;[1167] Change 1 line at A$NEXT+5L. 19-Dec-83 /LWS
		PUSHJ	P,GETOBJ		;[1167] [NXT] FIND OR CREATE OBJ ENTRY 
 REP 31/36	;08C9
		MOVX	S1,OBSSTP		;Get the stopped bit
 WIT
		MOVX	S1,OBSFCH		;[1163] Get the 'forms change' bit
 INS 30/41	;08C10
		TXNE	S2,OBSFCH		;[1166] CHANGING FORMS?
		MOVX	S1,%FRMCH		;[1163] YES,,GET 'CHANGING FORMS' STATUS
 REP 36/42	;08C11
			 MOVX   S2,OBSSTP	;YES,,GET 'STOPPED' STATUS
			 ANDCAM S2,OBJSCH(S1)	;CLEAR IT
 WIT
			 MOVX   S2,OBSSTP!OBSFCH;[1163] YES,,GET 'STOPPED' AND 'CHANGING FORMS' STATUS
			 ANDCAM S2,OBJSCH(S1)	;CLEAR THEM
 REP 15/48	;08C12
		MOVEM	S1,OBJ.ND(P1)		;SYSTEM'IZE IT (NBR ON -10, NAME ON -20)
 WIT
	;**;[1210]ADD 1 AND RESTORE 1 LINES AT GETOBJ:+4L	16-MAY-84/CTK
		SKIPE	S1			;[1210]DON'T STORE A ZERO
		MOVEM	S1,OBJ.ND(P1)		;[1210]YES, SYSTEM'IZE IT (NBR ON -10)
 SUM 201465