Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/rsx11s/drput.list
There are no other files named drput.list in the archive.
DRPUT MACRO M1110 22-AUG-79 07:01 PAGE 3
1 .TITLE DRPUT
2 .IDENT /07/
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 07
12 ;
13 ; D. N. CUTLER 6-SEPT-73
14 ;
15 ; PREVIOUSLY MODIFIED BY:
16 ;
17 ; D. N. CUTLER
18 ; T. J. MILLER
19 ;
20 ; MODIFIED BY:
21 ;
22 ; SPECIFY FLOATING POINT, POWERFAIL, AND RECEIVE AST TRAPS
23 ;
24 ; MACRO LIBRARY CALLS
25 ;
26
27 .MCALL HDRDF$,TCBDF$
28 000000 HDRDF$ ;DEFINE TASK HEADER OFFSETS
29 000000 TCBDF$ ;DEFINE TASK CONTROL BLOCK OFFSETS
30
31 ;+
32 ; **-$DRFEX-SPECIFY FLOATING POINT EXCEPTION AST
33 ;
34 ; THIS DIRECTIVE INSTRUCTS THE SYSTEM TO EITHER RECORD THAT FLOATING POINT
35 ; AST'S ARE DESIRED OR NOT DESIRED FOR THE ISSUING TASK.
36 ;
37 ; DPB FORMAT:
38 ;
39 ; WD. 00 -- DIC(111.),DPB SIZE(2.).
40 ; WD. 01 -- AST ENTRY POINT ADDRESS OR ZERO.
41 ;
42 ; INPUTS:
43 ;
44 ; R2=ADDRESS OF THE TASK STATUS WORD OF THE CURRENT TASK.
45 ; R3=ADDRESS OF THE AST ADDRESS IN THE DPB.
46 ; R4=ADDRESS OF THE HEADER OF THE CURRENT TASK.
47 ; R5=ADDRESS OF THE TCB OF THE CURRENT TASK.
48 ;
49 ; OUTPUTS: (DIRECTIVE STATUS AND PS RETURNED TO TASK)
50 ;
51 ; C=0 IF DIRECTIVE SUCCESSFULLY COMPLETED.
52 ; DIRECTIVE STATUS OF +1 IS RETURNED.
53 ; C=1 IF DIRECTIVE IS REJECTED.
54 ; DIRECTIVE STATUS OF 'D.RS8' IS RETURNED IF AST'S ARE ALREADY
55 ; NOT DESIRED.
56 ; DIRECTIVE STATUS OF 'D.RS80' IS RETURNED IF DIRECTIVE WAS
57 ; ISSUED FROM AN AST ROUTINE.
DRPUT MACRO M1110 22-AUG-79 07:01 PAGE 3-1
58 ;-
59
60 .ENABL LSB
61
62
63 .IF DF A$$TRP&F$$LPP
64
65 $DRFEX::ADD #H.FPVA,R4 ;POINT TO FLOATING POINT CONTROL BLOCK ADDRESS
66 MOV #2,-(SP) ;SET NUMBER OF AST PARAMETERS
67 MOV #9.*2,-(SP) ;SET NUMBER OF BYTES TO ALLOCATE
68 MOV #<H.FPVA*256.>,-(SP) ;SET OFFSET TO CONTROL BLOCK ADDRESS
69 BR 10$ ;FINISH IN COMMON CODE
70
71 .ENDC
72
73
74 ;+
75 ; **-$DRPUT-SPECIFY POWER RECOVERY AST
76 ;
77 ; THIS DIRECTIVE INSTRUCTS THE SYSTEM TO EITHER RECORD THAT POWER RECOVERY
78 ; AST'S ARE DESIRED OR NOT DESIRED FOR THE ISSUING TASK.
79 ;
80 ; DPB FORMAT:
81 ;
82 ; WD. 00 -- DIC(109.),DPB SIZE(2.).
83 ; WD. 01 -- AST ENTRY POINT ADDRESS OR ZERO.
84 ;
85 ; INPUTS:
86 ;
87 ; R2=ADDRESS OF THE TASK STATUS WORD OF THE CURRENT TASK.
88 ; R3=ADDRESS OF THE AST ADDRESS IN THE DPB.
89 ; R4=ADDRESS OF THE HEADER OF THE CURRENT TASK.
90 ; R5=ADDRESS OF THE TCB OF THE CURRENT TASK.
91 ;
92 ; OUTPUTS: (DIRECTIVE STATUS AND PS RETURNED TO TASK)
93 ;
94 ; C=0 IF DIRECTIVE IS SUCCESSFULLY COMPLETED.
95 ; DIRECTIVE STATUS OF +1 IS RETURNED.
96 ; C=1 IF DIRECTIVE IS REJECTED.
97 ; DIRECTIVE STATUS OF 'D.RS8' IS RETURNED IF AST'S ARE ALREADY
98 ; NOT DESIRED.
99 ; DIRECTIVE STATUS OF 'D.RS80' IS RETURNED IF DIRECTIVE WAS
100 ; ISSUED FROM AN AST ROUTINE.
101 ;-
102
103
104 .IF DF A$$TRP&P$$RFL
105
106 $DRPUT::ADD #H.PFVA,R4 ;POINT TO POWERFAIL CONTROL BLOCK ADDRESS
107 CLR -(SP) ;SET NUMBER OF AST PARAMETERS
108 MOV #7.*2,-(SP) ;SET NUMBER OF BYTES TO ALLOCATE
109 MOV #<H.PFVA*256.>,-(SP) ;SET OFFSET TO CONTROL BLOCK ADDRESS
110 BR 10$ ;FINISH IN COMMON CODE
111
112 .ENDC
113
114
DRPUT MACRO M1110 22-AUG-79 07:01 PAGE 3-2
115 ;+
116 ; **-$DRRRA-SPECIFY RECEIVE BY REFERENCE AST
117 ;
118 ; THIS DIRECTIVE INSTRUCTS THE SYSTEM TO EITHER RECORD THAT RECEIVE
119 ; BY REFERENCE AST'S ARE DESIRED OR NOT DESIRED FOR THE ISSUING TASK.
120 ;
121 ; DPB FORMAT:
122 ;
123 ; WD. 00 -- DIC(21.),DPB SIZE(2.).
124 ; WD. 01 -- AST ENTRY POINT ADDRESS OR ZERO.
125 ;
126 ; INPUTS:
127 ;
128 ; R2=ADDRESS OF THE TASK STATUS WORD OF THE CURRENT TASK.
129 ; R3=ADDRESS OF THE AST ADDRESS IN THE DPB.
130 ; R4=ADDRESS OF THE HEADER OF THE CURRENT TASK.
131 ; R5=ADDRESS OF THE TCB OF THE CURRENT TASK.
132 ;
133 ; OUTPUTS: (DIRECTIVE STATUS AND PS RETURNED TO TASK)
134 ;
135 ; C=0 IF THE DIRECTIVE IS SUCCESSFULLY COMPLETED.
136 ; DIRECTIVE STATUS OF +1 IS RETURNED.
137 ; C=1 IF THE DIRECTIVE IS REJECTED.
138 ; DIRECTIVE STATUS OF 'D.RS8' IS RETURNED IF AST'S ARE
139 ; ALREADY NOT DESIRED.
140 ; DIRECTIVE STATUS OF 'D.RS80' IS RETURNED IF DIRECTIVE
141 ; WAS ISSUED FROM AN AST ROUTINE.
142 ;-
143
144
145 .IF DF A$$TRP&P$$LAS&P$$SRF
146
147 $DRRRA::ADD #H.RRVA,R4 ;POINT TO RECEIVE BY REF CONTROL BLOCK
148 CLR -(SP) ;SET NUMBER OF AST PARAMETERS
149 MOV #7.*2,-(SP) ;SET NUMBER OF BYTES TO ALLOCATE
150 MOV #<H.RRVA*256.>,-(SP) ;SET OFFSET TO CONTROL BLOCK ADDR
151 BR 10$ ;FINISH IN COMMON CODE
152
153 .ENDC
154
155
156 ;+
157 ; **-$DRRCV-SPECIFY RECEIVE AST
158 ;
159 ; THIS DIRECTIVE INSTRUCTS THE SYSTEM TO EITHER RECORD THAT RECEIVE
160 ; AST'S ARE DESIRED OR NOT DESIRED FOR THE ISSUING TASK.
161 ;
162 ; DPB FORMAT:
163 ;
164 ; WD. 00 -- DIC(107.),DPB SIZE(2.).
165 ; WD. 01 -- AST ENTRY POINT ADDRESS OR ZERO.
166 ;
167 ; INPUTS:
168 ;
169 ; R2=ADDRESS OF THE TASK STATUS WORD OF THE CURRENT TASK.
170 ; R3=ADDRESS OF THE AST ADDRESS IN THE DPB.
171 ; R4=ADDRESS OF THE HEADER OF THE CURRENT TASK.
DRPUT MACRO M1110 22-AUG-79 07:01 PAGE 3-3
172 ; R5=ADDRESS OF THE TCB OF THE CURRENT TASK.
173 ;
174 ; OUTPUTS: (DIRECTIVE STATUS AND PS RETURNED TO TASK)
175 ;
176 ; C=0 IF THE DIRECTIVE IS SUCCESSFULLY COMPLETED.
177 ; DIRECTIVE STATUS OF +1 IS RETURNED.
178 ; C=1 IF THE DIRECTIVE IS REJECTED.
179 ; DIRECTIVE STATUS OF 'D.RS8' IS RETURNED IF AST'S ARE ALREADY
180 ; NOT DESIRED.
181 ; DIRECTIVE STATUS OF 'D.RS80' IS RETURNED IF DIRECTIVE WAS
182 ; ISSUED FROM AN AST ROUTINE.
183 ;-
184
185
186 .IF DF A$$TRP&R$$SND
187
188 000000 062704 000036 $DRRCV::ADD #H.RCVA,R4 ;POINT TO RECEIVE CONTROL BLOCK ADDRESS
189 000004 005046 CLR -(SP) ;SET NUMBER OF AST PARAMETERS
190 000006 012746 000016 MOV #7.*2,-(SP) ;SET NUMBER OF BYTES TO ALLOCATE
191 000012 012746 017000 MOV #<H.RCVA*256.>,-(SP) ;SET OFFSET TO CONTROL BLOCK ADDRESS
192
193 .ENDC
194
195
196 .IF DF F$$LPP!P$$RFL!P$$SRF!R$$SND
197
198
199 .IF DF A$$TRP
200
201 000016 032712 140000 10$: BIT #T2.AST!T2.DST,(R2) ;ISSUED FROM AST OR AST'S DISABLED?
202 000022 001024 BNE 50$ ;IF NE YES
203 000024 011305 MOV (R3),R5 ;GET AST ADDRESS
204 000026 001413 BEQ 30$ ;IF EQ AST'S NOT DESIRED
205 000030 011400 MOV (R4),R0 ;GET CURRENT CONTROL BLOCK ADDRESS
206 000032 001002 BNE 20$ ;IF NE ALREADY SETUP
207 000034 CALL $ALCLK ;ALLOCATE AST CONTROL BLOCK
208 000040 010001 20$: MOV R0,R1 ;COPY AST CONTROL BLOCK ADDRESS
209 000042 005721 TST (R1)+ ;POINT TO LENGTH OF CONTROL BLOCK
210 000044 012621 MOV (SP)+,(R1)+ ;SET OFFSET TO CONTROL BLOCK ADDRESS
211 000046 012621 MOV (SP)+,(R1)+ ;SET NUMBER OF BYTES TO ALLOCATE
212 000050 010521 MOV R5,(R1)+ ;SET AST TRAP ADDRESS
213 000052 012611 MOV (SP)+,(R1) ;SET NUMBER OF PARAMETERS TO TRANSFER
214 000054 000405 BR 40$ ;TAKE COMMON EXIT
215 000056 011400 30$: MOV (R4),R0 ;GET CURRENT CONTROL BLOCK ADDRESS
216 000060 001406 BEQ 60$ ;IF EQ AST'S ALREADY NOT DESIRED
217 000062 CALL $DECLK ;DEALLOCATE POWERFAIL CONTROL BLOCK
218 000066 005000 CLR R0 ;CLEAR CONTROL BLOCK ADDRESS
219 000070 010014 40$: MOV R0,(R4) ;SET ADDRESS OF CONTROL BLOCK
220 000072 DRSTS +1 ;RETURN DIRECTIVE STATUS OF +1
221 000074 50$: DRSTS D.RS80 ;SET DIRECTIVE STATUS
222 000076 60$: DRSTS D.RS8 ;SET DIRECTIVE STATUS
223
224 .ENDC
225
226
227 .ENDC
228
DRPUT MACRO M1110 22-AUG-79 07:01 PAGE 3-4
229
230 .DSABL LSB
231
232 000001 .END
DRPUT MACRO M1110 22-AUG-79 07:01 PAGE 3-5
SYMBOL TABLE
A$$CHK= 000000 H.ODVA 000022 R$$EXV= 000000 T.OFF 000060 T3.CLI= 001000
A$$CPS= 000000 H.ODVL 000024 R$$SND= 000000 T.PCB 000046 T3.MCR= 004000
A$$TRP= 000000 H.OVLY 000054 R$$11M= 000000 T.PRI 000002 T3.NET= 000020
C$$ORE= 002000 H.PFVA 000032 R$$11S= 000000 T.RCVL 000012 T3.NSD= 000200
D.RS8 = ****** GX H.RCVA 000036 S$$YSZ= 001740 T.RRFL 000064 T3.PMD= 040000
D.RS80= ****** GX H.RRVA 000062 TS.BLK= 170700 T.SRCT 000063 T3.PRV= 010000
G$$TPP= 000000 H.SPRI 000060 TS.CKP= 000200 T.STAT 000032 T3.REM= 020000
G$$TTK= 000000 H.TKVA 000026 TS.CKR= 000100 T.ST2 000034 T3.ROV= 000040
H$$RTZ= 000074 H.TKVL 000030 TS.EXE= 100000 T.ST3 000036 T3.RST= 000400
H.CSP 000000 H.VEXT 000056 TS.MSG= 020000 T.TCBL 000030 T3.SLV= 002000
H.CUIC 000010 H.WND 000044 TS.NRP= 010000 T.UCB 000026 V$$CTR= 001200
H.DSW 000046 I$$RDN= 000000 TS.OUT= 000400 T2.ABO= 000100 V$$RSN= 000031
H.DUIC 000012 K$$CNT= 177546 TS.RDN= 040000 T2.AST= 100000 W.BATT 000006
H.EFLM 000004 K$$CSR= 177546 TS.RUN= 004000 T2.BFX= 004000 W.BFPD 000014
H.EFSV 000040 K$$IEN= 000115 T.ACTL 000052 T2.CAF= 000400 W.BHVR 000004
H.FCS 000050 K$$LDC= 000001 T.ASTL 000016 T2.CHK= 020000 W.BLGH 000020
H.FORT 000052 K$$TPS= 000074 T.ATT 000054 T2.CKD= 010000 W.BLPD 000016
H.FPSA 000042 L$$ASG= 000000 T.CPCB 000004 T2.DST= 040000 W.BLVR 000002
H.FPVA 000034 L$$DRV= 000000 T.DPRI 000040 T2.FXD= 002000 W.BNPD 000015
H.GARD 000072 M$$CRB= 000124 T.EFLG 000022 T2.HLT= 000200 W.BOFF 000012
H.HDLN 000002 M$$MGE= 000000 T.IOC 000003 T2.SPN= 000004 W.BPCB 000000
H.IPC 000016 M$$NET= 000000 T.LBN 000041 T2.STP= 000020 W.BSIZ 000010
H.IPS 000014 M$$NT2= 000000 T.LDV 000044 T2.TIO= 001000 X$$DBT= 000000
H.ISP 000020 N$$LDV= 000001 T.LNK 000000 T2.WFR= 000001 $ALCLK= ****** GX
H.LUN 000076 P$$RTY= 000000 T.MXSZ 000050 T3.ACP= 100000 $DECLK= ****** GX
H.NLUN 000074 P$$TPT= 000000 T.NAM 000006 T3.CAL= 000100 $DRRCV 000000RG
H.NML 000061 R$$DER= 000000
. ABS. 000102 000
000100 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 2765 WORDS ( 11 PAGES)
DYNAMIC MEMORY: 4036 WORDS ( 15 PAGES)
ELAPSED TIME: 00:00:17
[11,24]DRPUT,SY0:[11,34]DRPUT/-SP=[1,1]EXEMC/ML,[11,10]RSXMC/PA:1,DRPUT