Google
 

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


      1						.TITLE	DRMKT
      2						.IDENT	/04/
      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 04
     12					;
     13					; D. N. CUTLER 5-SEP-73
     14					;
     15					; PREVIOUSLY MODIFIED BY:
     16					;
     17					;	T. J. MILLER
     18					;
     19					; MODIFIED BY:
     20					;
     21					; MARK TIME AND RUN DIRECTIVES
     22					;
     23					; MACRO LIBRARY CALLS
     24					;
     25
     26						.MCALL	CLKDF$
     27	000000					CLKDF$			;DEFINE CLOCK QUEUE CONTROL BLOCK OFFSETS
     28
     29					;+
     30					; **-$DRMKT-MARK TIME
     31					;
     32					; THIS DIRECTIVE INSTRUCTS THE SYSTEM TO DECLARE A SIGNIFICANT EVENT AT A
     33					; SPECIFIED INTERVAL FROM INSSUANCE.
     34					;
     35					; DPB FORMAT:
     36					;
     37					;	WD. 00 -- DIC(23.),DPB SIZE(5.).
     38					;	WD. 01 -- EVENT FLAG NUMBER OF EVENT FLAG TO BE SET.
     39					;	WD. 02 -- TIME INTERVAL MAGNITUDE.
     40					;	WD. 03 -- TIME INTERVAL UNITS.
     41					;	WD. 04 -- AST ENTRY POINT ADDRESS.
     42					;
     43					;	IF AN EVENT FLAG IS SPECIFIED, THEN IT IS CLEARED AT ISSUANCE AND
     44					;	SET AT THE TIME OF THE SIGNIFICANT EVENT.
     45					;
     46					;	IF AN AST ENTRY POINT IS SPECIFIED, THEN AN ASYNCHRONOUS TRAP
     47					;	WILL OCCUR AT THE TIME OF THE SIGNIFICANT EVENT. PS, PC, THE
     48					;	DIRECTIVE STATUS WORD, AND THE SPECIFIED EVENT FLAG NUMBER
     49					;	ARE PUSHED ONTO THE TASK STACK WHEN THE AST IS EFFECTED.
     50					;
     51					; INPUTS:
     52					;
     53					;	R0=EVENT FLAG MASK WORD.
     54					;	R1=EVENT FLAG MASK ADDRESS.
     55					;	R2=ADDRESS OF THE TASK STATUS WORD OF THE CURRENT TASK.
     56					;	R3=ADDRESS OF THE THIRD WORD IN THE DPB.
     57					;	R4=ADDRESS OF THE HEADER OF THE CURRENT TASK.
DRMKT	MACRO M1110  22-AUG-79 07:01  PAGE 3-1


     58					;	R5=ADDRESS OF THE TCB OF THE CURRENT TASK.
     59					;
     60					; OUTPUTS: (DIRECTIVE STATUS AND PS WORD RETURNED TO TASK)
     61					;
     62					;	C=0 IF DIRECTIVE IS SUCCESSFULLY COMPLETED.
     63					;		DIRECTIVE STATUS OF +1 IS RETURNED.
     64					;	C=1 IF DIRECTIVE IS REJECTED.
     65					;		DIRECTIVE STATUS OF 'D.RS1' IS RETURNED IF INSUFFICIENT
     66					;			CORE IS AVAILABLE TO ALLOCATE CLOCK QUEUE ENTRY.
     67					;-
     68
     69						.ENABL	LSB
     70	000000	016346 	177776 		$DRMKT::MOV	-2(R3),-(SP)	;SAVE EVENT FLAG NUMBER
     71	000004	040011 				BIC	R0,(R1)		;CLEAR EVENT FLAG
     72	000006	010146 				MOV	R1,-(SP)	;SAVE EVENT FLAG MASK ADDRESS
     73	000010	010004 				MOV	R0,R4		;SAVE EVENT FLAG MASK
     74	000012					CALL	$CVRTM		;CONVERT TIME TO CLOCK TICKS
     75	000016	010046 				MOV	R0,-(SP)	;SAVE HIGH ORDER PART OF TIME
     76	000020	010146 				MOV	R1,-(SP)	;SAVE LOW ORDER PART OF TIME
     77	000022	010446 				MOV	R4,-(SP)	;SAVE EVENT FLAG MASK
     78	000024	005004 				CLR	R4		;SET TYPE OF CLOCK QUEUE ENTRY
     79	000026	011346 				MOV	(R3),-(SP)	;SAVE AST ENTRY POINT ADDRESS
     80	000030	000422 				BR	20$		;
     81
     82					;+
     83					; **-$DRRUN-RUN TASK
     84					;
     85					; THIS DIRECTIVE INSTRUCTS THE SYSTEM TO GENERATE A CLOCK QUEUE ENTRY
     86					; TO CAUSE A TASK TO BE REQUESTED AT A SPECIFIED DELTA TIME FROM
     87					; ISSUANCE AND TO OPTIONALLY REPEAT THE REQUEST PERIODICALLY.
     88					;
     89					; DPB FORMAT:
     90					;
     91					;	WD. 00 -- DIC(17.),DPB SIZE (11.).
     92					;	WD. 01 -- FIRST HALF OF TASK NAME.
     93					;	WD. 02 -- SECOND HALF OF TASK NAME.
     94					;	WD. 03 -- PARTITION NAME-NOT SUPPORTED BUT MUST BE PRESENT.
     95					;	WD. 04 -- PARTITION NAME-NOT SUPPORTED BUT MUST BE PRESENT.
     96					;	WD. 05 -- REQUEST PRIORITY-NOT SUPPORTED BUT MUST BE PRESENT.
     97					;	WD. 06 -- REQUEST UIC.
     98					;	WD. 07 -- DELTA TIME MAGNITUDE.
     99					;	WD. 10 -- DELTA TIME UNITS.
    100					;	WD. 11 -- RESCHEDULE INTERVAL MAGNITUDE.
    101					;	WD. 12 -- RESCHEDULE INTERVAL UNITS.
    102					;
    103					; INPUTS:
    104					;
    105					;	R0=ADDRESS OF THE TCB OF THE OF THE TASK TO BE RUN.
    106					;	R1=ADDRESS OF THE TASK STATUS WORD OF THE TASK TO BE RUN.
    107					;	R2=ADDRESS OF THE TASK STATUS WORD OF THE CURRENT TASK.
    108					;	R3=ADDRESS OF THE PARTITION NAME IN THE DPB.
    109					;	R4=ADDRESS OF THE HEADER OF THE CURRENT TASK.
    110					;	R5=ADDRESS OF THE TCB OF THE CURRENT TASK.
    111					;
    112					; OUTPUTS: (DIRECTIVE STATUS AND PS RETURNED TO TASK)
    113					;
    114					;	C=0 IF DIRECTIVE IS SUCCESSFULLY COMPLETED.
DRMKT	MACRO M1110  22-AUG-79 07:01  PAGE 3-2


    115					;		DIRECTIVE STATUS OF +1 IS RETURNED.
    116					;	C=1 IF DIRECTIVE IS REJECTED.
    117					;		DIRECTIVE STATUS OF 'D.RS1' IS RETURNED IF INSUFFICIENT
    118					;			CORE IS AVAILABLE TO ALLOCATE CLOCK QUEUE ENTRY.
    119					;-
    120
    121	000032	010005 			$DRRUN::MOV	R0,R5		;SAVE TCB ADDRESS OF TASK TO RUN
    122	000034	062703 	000006 			ADD	#6,R3		;POINT TO REQUEST UIC IN DPB
    123	000040	005046 				CLR	-(SP)		;SET DUMMY EFN NUMBER
    124
    125
    126						.IF DF	M$$MUP
    127
    128						MOV	(R3)+,R1	;PICK UP SPECIFIED UIC
    129						MOV	R3,-(SP)	;SAVE R3
    130						CALL	$UISET		;ESTABLISH DEFAULT AND CURRENT UIC'S
    131						MOV	(SP)+,R3	;RESTORE R3
    132						BCS	30$		;IF CS NONPRV TASK SPECIFIED DIFF UIC
    133						MOV	R1,-(SP)	;SAVE CURRENT UIC
    134
    135						.IFF
    136
    137	000042	012346 				MOV	(R3)+,-(SP)	;SAVE SPECIFIED UIC
    138
    139						.ENDC
    140
    141
    142	000044					CALL	$CVRTM		;CONVERT DELTA TIME TO CLOCK TICKS
    143	000050	010046 				MOV	R0,-(SP)	;SAVE HIGH ORDER PART OF TIME
    144	000052	010146 				MOV	R1,-(SP)	;SAVE LOW ORDER PART OF TIME
    145	000054	012704 	000004 			MOV	#C.SSHT,R4	;ASSUME SINGLE SHOT REQUEST
    146	000060	012300 				MOV	(R3)+,R0	;ANY RESCHEDULE INTERNAL SPECIFIED?
    147	000062	001403 				BEQ	10$		;IF EQ NO
    148	000064	024344 				CMP	-(R3),-(R4)	;ADJUST DPB ADDRESS AND ENTRY TYPE
    149	000066					CALL	$CVRTM		;CONVERT RESCHEDULE INTERNAL TO CLOCK TICKS
    150	000072	010046 			10$:	MOV	R0,-(SP)	;SAVE HIGH ORDER PART OF TIME
    151	000074	010146 				MOV	R1,-(SP)	;SAVE LOW ORDER PART OF TIME
    152	000076				20$:	CALL	$ALCLK		;ALLOCATE A CLOCK QUEUE CONTROL BLOCK
    153	000102	012660 	000012 			MOV	(SP)+,C.RSI(R0)	;INSERT AST ADDRESS/LOW PART OF RSI
    154	000106	012660 	000014 			MOV	(SP)+,C.RSI+2(R0) ;INSERT EFN MASK/HIGH PART OF RSI
    155	000112	012602 				MOV	(SP)+,R2	;RETRIEVE DELTA TIME TICKS COUNT
    156	000114	012601 				MOV	(SP)+,R1	;
    157	000116	012660 	000016 			MOV	(SP)+,C.UIC(R0)	;INSERT EFN MASK ADDRESS/UIC
    158	000122	112660 	000003 			MOVB	(SP)+,C.EFN(R0)	;INSERT EFN/ZERO BYTE
    159	000126					CALLR	$CLINS		;INSERT IN CLOCK QUEUE
    160
    161
    162						.IF DF	M$$MUP
    163
    164					30$:	DRSTS	D.RS16		;PRIVILEGE VIOLATION
    165
    166						.ENDC
    167
    168
    169						.DSABL	LSB
    170
    171		000001 				.END
DRMKT	MACRO M1110  22-AUG-79 07:01  PAGE 3-3
SYMBOL TABLE

A$$CHK= 000000   	C.MRKT= 000000   	C.UIC   000016   	L$$DRV= 000000   	R$$11M= 000000
A$$CPS= 000000   	C.RQT   000002   	G$$TPP= 000000   	M$$CRB= 000124   	R$$11S= 000000
A$$TRP= 000000   	C.RSI   000012   	G$$TTK= 000000   	M$$MGE= 000000   	S$$YSZ= 001740
C$$ORE= 002000   	C.SCHD= 000002   	H$$RTZ= 000074   	M$$NET= 000000   	V$$CTR= 001200
C.AR5   000014   	C.SRC   000014   	I$$RDN= 000000   	M$$NT2= 000000   	V$$RSN= 000031
C.AST   000012   	C.SSHT= 000004   	K$$CNT= 177546   	N$$LDV= 000001   	X$$DBT= 000000
C.CSTP= 000012   	C.SUB   000012   	K$$CSR= 177546   	P$$RTY= 000000   	$ALCLK= ****** GX
C.DST   000016   	C.SYST= 000006   	K$$IEN= 000115   	P$$TPT= 000000   	$CLINS= ****** GX
C.EFN   000003   	C.SYTK= 000010   	K$$LDC= 000001   	R$$DER= 000000   	$CVRTM= ****** GX
C.LGTH= 000020   	C.TCB   000004   	K$$TPS= 000074   	R$$EXV= 000000   	$DRMKT  000000RG
C.LNK   000000   	C.TIM   000006   	L$$ASG= 000000   	R$$SND= 000000   	$DRRUN  000032RG

. ABS.	000020	   000
      	000132	   001
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  1541 WORDS  ( 7 PAGES)
DYNAMIC MEMORY:  2980 WORDS  ( 11 PAGES)
ELAPSED TIME:  00:00:13
[11,24]DRMKT,SY0:[11,34]DRMKT/-SP=[1,1]EXEMC/ML,[11,10]RSXMC/PA:1,DRMKT