Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/rsx11s/drgpp.list
There are no other files named drgpp.list in the archive.
DRGPP MACRO M1110 22-AUG-79 06:59 PAGE 3
1 .TITLE DRGPP
2 .IDENT /05/
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 05
12 ;
13 ; D. N. CUTLER 3-JAN-74
14 ;
15 ; PREVIOUSLY MODIFIED BY:
16 ;
17 ; D. N. CUTLER
18 ; T. J. MILLER
19 ;
20 ; MODIFIED BY:
21 ;
22 ; MACRO LIBRARY CALLS
23 ;
24
25 .MCALL PCBDF$,TCBDF$
26 000000 PCBDF$ ;DEFINE PARTITION CONTROL BLOCK OFFSETS
27 000000 TCBDF$ ;DEFINE TASK CONTROL BLOCK OFFSETS
28
29 ;+
30 ; **-$DRGPP-GET PARTITION PARAMETERS
31 ;
32 ; THIS DIRECTIVE INSTRUCTS THE SYSTEM TO FILL A THREE WORD BUFFER WITH
33 ; PARTITION PARAMETERS.
34 ;
35 ; DPB FORMAT:
36 ;
37 ; WD. 00 -- DIC(65.),DPB SIZE(4.).
38 ; WD. 01 -- FIRST HALF OF OPTIONAL PARTITION NAME.
39 ; WD. 02 -- SECOND HALF OF OPTIONAL PARTITION NAME.
40 ; WD. 03 -- ADDRESS OF A THREE WORD BUFFER.
41 ;
42 ; BUFFER FORMAT:
43 ;
44 ; WD. 00 -- BASE ADDRESS OF PARTITION IN 32W BLOCKS.
45 ; WD. 01 -- SIZE OF PARTITION IN 32W BLOCKS.
46 ; WD. 02 -- PARTITION FLAGS WORD.
47 ;
48 ; INPUTS:
49 ;
50 ; R2=ADDRESS OF THE TASK STATUS WORD OF THE CURRENT TASK.
51 ; R3=ADDRESS OF THE PARTITION NAME IN THE DPB.
52 ; R4=ADDRESS OF THE HEADER OF THE CURRENT TASK.
53 ; R5=ADDRESS OF THE TCB OF THE CURRENT TASK.
54 ;
55 ; OUTPUTS: (DIRECTIVE STATUS AND PS RETURNED TO TASK)
56 ;
57 ; C=0 IF DIRECTIVE IS SUCCESSFULLY COMPLETED.
DRGPP MACRO M1110 22-AUG-79 06:59 PAGE 3-1
58 ; DIRECTIVE STATUS EQUAL TO THE STARTING VIRTUAL ADDRESS
59 ; OF THE SPECIFIED PARTITION IS RETURNED.
60 ; C=1 IF DIRECTIVE IS REJECTED.
61 ; DIRECTIVE STATUS OF 'D.RS2' IS RETURNED IF SPECIFIED
62 ; PARTITION IS NOT IN SYSTEM.
63 ;-
64
65
66 .IF DF G$$TPP
67
68
69 .IF DF P$$LAS
70
71 $DRGPP::TST (R3)+ ;PARTITION NAME SPECIFIED?
72 BNE 10$ ;IF NE YES
73 CALL $SRATT ;SEARCH FOR REGION ID
74 MOV A.PCB(R5),R2 ;PICK UP PCB ADDRESS
75 BR 30$ ;
76 10$: TST -(R3) ;POINT TO FIRST WORD OF PARTITION NAME
77 CALL $SRNAM ;SEARCH FOR NAMED PARTITION
78 BCC 20$ ;IF CC NAMED PARTITION FOUND
79 DRSTS D.RS2 ;INVALID PARTITION NAME
80 20$: TST (R3)+ ;ADVANCE POINTER
81 30$: MOV R2,R4 ;COPY PCB POINTER
82
83 .IFF
84
85 000000 012300 $DRGPP::MOV (R3)+,R0 ;PARTITION SPECIFIED?
86 000002 001413 BEQ 30$ ;IF EQ NO
87 000004 016704 000000G MOV $PARHD,R4 ;GET ADDRESS OF FIRST PARTITION PCB
88 000010 020064 000004 10$: CMP R0,P.NAM(R4) ;FIRST HALF OF NAME MATCH?
89 000014 001003 BNE 20$ ;IF NE NO
90 000016 021364 000006 CMP (R3),P.NAM+2(R4) ;SECOND HALF OF NAME MATCH?
91 000022 001405 BEQ 40$ ;IF EQ YES
92 000024 011404 20$: MOV (R4),R4 ;GET ADDRESS OF NEXT PCB
93 000026 001370 BNE 10$ ;IF NE MORE TO SCAN
94 000030 DRSTS D.RS2 ;SET DIRECTIVE STATUS
95 000032 016504 000046 30$: MOV T.PCB(R5),R4 ;GET PCB ADDRESS OF CURRENT TASK
96
97 .ENDC
98
99
100 000036 016303 000002 40$: MOV 2(R3),R3 ;GET ADDRESS OF 3 WORD BUFFER
101
102
103 .IF DF A$$CHK!M$$MGE
104
105 000042 012701 000006 MOV #3*2,R1 ;SET LENGTH OF BUFFER
106 000046 CALL $ACHKP ;ADDRESS CHECK BUFFER
107
108 .ENDC
109
110
111 .IF DF M$$MGE
112
113 000052 016423 000014 MOV P.REL(R4),(R3)+ ;INSERT PHYSICAL ADDRESS OF PARTITION
114 000056 005066 000002 CLR 2(SP) ;SET DIRECTIVE STATUS WORD
DRGPP MACRO M1110 22-AUG-79 06:59 PAGE 3-2
115
116 .IFF
117
118 MOV P.REL(R4),R1 ;GET STARTING VIRTUAL ADDRESS OF PARTITION
119 MOV R1,(R3)+ ;INSERT PHYSICAL ADDRESS OF PARTITION
120 MOV R1,2(SP) ;SET DIRECTIVE STATUS WORD
121
122 .IFTF
123
124 000062 016423 000016 MOV P.SIZE(R4),(R3)+ ;INSERT SIZE OF PARTITION
125 000066 005013 CLR (R3) ;ASSUME SYSTEM CONTROLLED PARTITION
126
127
128 .IF DF D$$YNM&M$$MGE
129
130 BIT #PS.SYS,P.STAT(R4) ;SYSTEM CONTROLLED PARTITION?
131 BNE 60$ ;IF NE YES
132
133 .ENDC
134
135
136 000070 005213 INC (R3) ;SET USER CONTROLLED PARTITION
137
138 .IFF
139
140 CALL (PC) ;CONVERT LENGTH TO 32W BLOCKS
141 SWAB -(R3) ;CONVERT TO 32W BLOCKS
142 ASLB 1(R3) ;
143 ROL (R3) ;
144 ROL (R3) ;
145
146 .ENDC
147
148
149 000072 60$: RETURN
150
151 .ENDC
152
153
154 000001 .END
DRGPP MACRO M1110 22-AUG-79 06:59 PAGE 3-3
SYMBOL TABLE
AS.DEL= 000010 L$$ASG= 000000 P.MAIN 000012 T.ASTL 000016 T2.CKD= 010000
AS.EXT= 000004 L$$DRV= 000000 P.NAM 000004 T.ATT 000054 T2.DST= 040000
AS.RED= 000001 M$$CRB= 000124 P.OWN 000026 T.CPCB 000004 T2.FXD= 002000
AS.WRT= 000002 M$$MGE= 000000 P.PRI 000002 T.DPRI 000040 T2.HLT= 000200
A$$CHK= 000000 M$$NET= 000000 P.REL 000014 T.EFLG 000022 T2.SPN= 000004
A$$CPS= 000000 M$$NT2= 000000 P.SIZE 000016 T.IOC 000003 T2.STP= 000020
A$$TRP= 000000 N$$LDV= 000001 P.STAT 000030 T.LBN 000041 T2.TIO= 001000
A.IOC 000003 PS.APR= 000007 P.SUB 000010 T.LDV 000044 T2.WFR= 000001
A.LGTH= 000014 PS.CHK= 010000 P.SWSZ 000022 T.LNK 000000 T3.ACP= 100000
A.MPCT 000011 PS.CKP= 040000 P.TCB 000026 T.MXSZ 000050 T3.CAL= 000100
A.PCB 000012 PS.CKR= 020000 P.WAIT 000020 T.NAM 000006 T3.CLI= 001000
A.PCBL 000000 PS.COM= 000200 R$$DER= 000000 T.OFF 000060 T3.MCR= 004000
A.PRI 000002 PS.DEL= 000010 R$$EXV= 000000 T.PCB 000046 T3.NET= 000020
A.STAT 000010 PS.DRV= 000020 R$$SND= 000000 T.PRI 000002 T3.NSD= 000200
A.TCB 000004 PS.FXD= 004000 R$$11M= 000000 T.RCVL 000012 T3.PMD= 040000
A.TCBL 000006 PS.LIO= 001000 R$$11S= 000000 T.RRFL 000064 T3.PRV= 010000
C$$ORE= 002000 PS.NSF= 000400 S$$YSZ= 001740 T.SRCT 000063 T3.REM= 020000
D.RS2 = ****** GX PS.OUT= 100000 TS.BLK= 170700 T.STAT 000032 T3.ROV= 000040
G$$TPP= 000000 PS.PER= 002000 TS.CKP= 000200 T.ST2 000034 T3.RST= 000400
G$$TTK= 000000 PS.PIC= 000100 TS.CKR= 000100 T.ST3 000036 T3.SLV= 002000
H$$RTZ= 000074 PS.SYS= 000040 TS.EXE= 100000 T.TCBL 000030 V$$CTR= 001200
I$$RDN= 000000 P$$RTY= 000000 TS.MSG= 020000 T.UCB 000026 V$$RSN= 000031
K$$CNT= 177546 P$$TPT= 000000 TS.NRP= 010000 T2.ABO= 000100 X$$DBT= 000000
K$$CSR= 177546 P.BLKS 000016 TS.OUT= 000400 T2.AST= 100000 $ACHKP= ****** GX
K$$IEN= 000115 P.BUSY 000024 TS.RDN= 040000 T2.BFX= 004000 $DRGPP 000000RG
K$$LDC= 000001 P.IOC 000003 TS.RUN= 004000 T2.CAF= 000400 $PARHD= ****** GX
K$$TPS= 000074 P.LNK 000000 T.ACTL 000052 T2.CHK= 020000
. ABS. 000070 000
000074 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 2866 WORDS ( 12 PAGES)
DYNAMIC MEMORY: 4036 WORDS ( 15 PAGES)
ELAPSED TIME: 00:00:13
[11,24]DRGPP,SY0:[11,34]DRGPP/-SP=[1,1]EXEMC/ML,[11,10]RSXMC/PA:1,DRGPP