Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/rsx11s/drgcl.list
There are no other files named drgcl.list in the archive.
DRGCL	MACRO M1110  22-AUG-79 06:59  PAGE 3


      1						.TITLE	DRGCL
      2						.IDENT	/03/
      3
      4					;
      5					; COPYRIGHT (C) 1974, 1976
      6					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
      7					;
      8					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
      9					; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
     10					;
     11					; VERSION 03
     12					;
     13					; D. N. CUTLER 20-SEP-73
     14					;
     15					; PREVIOUSLY MODIFIED BY:
     16					;
     17					;	D. N. CUTLER
     18					;
     19					; MODIFIED BY:
     20					;
     21					;+
     22					; **-$DRGCL-GET MCR COMMAND LINE
     23					;
     24					; THIS DIRECTIVE INSTRUCTS THE SYSTEM TO TRANSFER A 1 TO 80. BYTE COMMAND LINE
     25					; TO THE LAST MCR FUNCTION TASK REQUESTED BY THE MCR DISPATCHER.
     26					;
     27					; DPB FORMAT:
     28					;
     29					;	WD. 00 -- DIC(127.),DPB SIZE(41.).
     30					;	WD. 01 -- FIRST WORD OF 80. BYTE BUFFER.
     31					;	    .
     32					;	    .
     33					;	    .
     34					;	WD. 50 -- LAST WORD OF 80. BYTE BUFFER.
     35					;
     36					; INPUTS:
     37					;
     38					;	R2=ADDRESS OF THE TASK STATUS WORD OF THE CURRENT TASK.
     39					;	R3=ADDRESS OF THE 80. BYTE BUFFER IN THE DPB.
     40					;	R4=ADDRESS OF THE HEADER OF THE CURRENT TASK.
     41					;	R5=ADDRESS OF THE TCB OF THE CURRENT TASK.
     42					;
     43					; OUTPUTS: (DIRECTIVE STATUS AND PS RETURNED TO TASK)
     44					;
     45					;	C=0 IF DIRECTIVE IS SUCCESSFULLY COMPLETED.
     46					;		DIRECTIVE STATUS EQUAL TO THE LENGTH OF THE COMMAND LINE
     47					;			IN BYTES IS RETURNED.
     48					;	C=1 IF DIRECTIVE IS REJECTED.
     49					;		DIRECTIVE STATUS OF 'D.RS80' IS RETURNED IF THE ISSUING
     50					;			TASK IS NOT THE LAST TASK THAT WAS REQUESTED
     51					;			BY THE MCR DISPATCHER.
     52					;-
     53
     54
     55						.IF DF	M$$CRX
     56
     57						.ENABL	LSB
DRGCL	MACRO M1110  22-AUG-79 06:59  PAGE 3-1


     58					$DRGCL::CALL	30$		;SEARCH FOR TASK COMMAND BUFFER
     59						BCC	10$		;IF CC ONE FOUND
     60						DRSTS	D.RS80		;SET DIRECTIVE STATUS
     61					10$:	CMP	(R0)+,(R0)+	;POINT TO COMMAND TEXT
     62					20$:	INC	2(SP)		;INCREMENT BYTE COUNT
     63						MOVB	(R0),(R3)	;INSERT BYTE INTO USER BUFFER
     64						CMPB	#33,(R0)+	;ALTMODE TERMINATOR?
     65						BEQ	25$		;IF EQ YES
     66						CMPB	#15,(R3)+	;CARRIAGE RETURN?
     67						BNE	20$		;IF NE NO
     68					25$:	SUB	#2,2(SP)	;ADJUST TO PROPER BYTE COUNT
     69
     70					;+
     71					; **-$RLMCB-RELEASE MCR COMMAND BUFFER
     72					;
     73					; INPUTS:
     74					;
     75					;	R5=ADDRESS OF THE TCB OF THE CURRENT TASK.
     76					;
     77					; OUTPUTS:
     78					;
     79					;	IF THE COMMAND LINE CURRENTLY IN THE MCR COMMAND BUFFER IS
     80					;	FOR THE CURRENT TASK, THEN THE BUFFER IS RELEASED AND $MCRTN
     81					;	IS CLEARED.
     82					;-
     83
     84					$RLMCB::CALL	30$		;SEARCH FOR TASK COMMAND BUFFER
     85						BCS	50$		;IF CS NONE FOUND
     86						MOV	(R0),(R1)	;REMOVE BUFFER FROM LIST
     87						MOV	#84.,R1		;SET LENGTH OF BUFFER TO RELEASE
     88						CALLR	$DEACB		;DEALLOCATE BUFFER
     89
     90					;
     91					; SUBROUTINE TO SEARCH FOR COMMAND BUFFER FOR CURRENT TASK
     92					;
     93
     94					30$:	MOV	#$MCRCB,R0	;POINT TO COMMAND BUFFER LISTHEAD
     95					40$:	MOV	R0,R1		;SAVE ADDRESS OF PREVIOUS BUFFER
     96						MOV	(R1),R0		;GET ADDRESS OF NEXT BUFFER
     97						SEC			;ASSUME END OF LIST
     98						BEQ	50$		;IF EQ YES
     99						CMP	R5,2(R0)	;TCB ADDRESS MATCH?
    100						BNE	40$		;IF NE NO
    101					50$:	RETURN			;
    102						.DSABL	LSB
    103
    104						.ENDC
    105
    106
    107		000001 				.END
DRGCL	MACRO M1110  22-AUG-79 06:59  PAGE 3-2
SYMBOL TABLE

A$$CHK= 000000   	I$$RDN= 000000   	L$$ASG= 000000   	N$$LDV= 000001   	R$$11M= 000000
A$$CPS= 000000   	K$$CNT= 177546   	L$$DRV= 000000   	P$$RTY= 000000   	R$$11S= 000000
A$$TRP= 000000   	K$$CSR= 177546   	M$$CRB= 000124   	P$$TPT= 000000   	S$$YSZ= 001740
C$$ORE= 002000   	K$$IEN= 000115   	M$$MGE= 000000   	R$$DER= 000000   	V$$CTR= 001200
G$$TPP= 000000   	K$$LDC= 000001   	M$$NET= 000000   	R$$EXV= 000000   	V$$RSN= 000031
G$$TTK= 000000   	K$$TPS= 000074   	M$$NT2= 000000   	R$$SND= 000000   	X$$DBT= 000000
H$$RTZ= 000074

. ABS.	000000	   000
      	000000	   001
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  1140 WORDS  ( 5 PAGES)
DYNAMIC MEMORY:  2980 WORDS  ( 11 PAGES)
ELAPSED TIME:  00:00:08
[11,24]DRGCL,SY0:[11,34]DRGCL/-SP=[1,1]EXEMC/ML,[11,10]RSXMC/PA:1,DRGCL