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