Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/rsx11s/drsst.list
There are no other files named drsst.list in the archive.
DRSST MACRO M1110 22-AUG-79 07:04 PAGE 3
1 .TITLE DRSST
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 30-AUG-73
14 ;
15 ; PREVIOUSLY MODIFIED BY:
16 ;
17 ; D. N. CUTLER
18 ;
19 ; MODIFIED BY:
20 ;
21 ; MACRO LIBRARY CALLS
22 ;
23
24 .MCALL HDRDF$
25 000000 HDRDF$ ;DEFINE TASK HEADER OFFSETS
26
27 ;+
28 ; **-$DRSDV-SPECIFY DEBUGGING AID SST VECTOR
29 ;
30 ; THIS DIRECTIVE INSTRUCTS THE SYSTEM TO RECORD THE ADDRESS AND LENGTH
31 ; OF A VECTOR OF SST SERVICE ROUTINE ENTRY POINTS FOR USE BY AN INTRA-
32 ; TASK DEGUGGING AID (E.G. ODT)
33 ;
34 ; DPB FORMAT:
35 ;
36 ; WD. 00 -- DIC (103.),DPB SIZE(3.).
37 ; WD. 01 -- ADDRESS OF THE SST VECTOR.
38 ; WD. 02 -- NUMBER OF ENTRIES IN THE SST VECTOR.
39 ;
40 ; SST VECTOR FORMAT:
41 ;
42 ; WD. 00 -- TRAPS TO 4 (ODD ADDRESS, NONEX MEM, ETC.).
43 ; WD. 01 -- SEGMENT FAULT.
44 ; WD. 02 -- TRACE TRAP (T-BIT) OR EXECUTION OF BPT INSTRUCTION.
45 ; WD. 03 -- EXECUTION OF AN IOT INSTRUCTION.
46 ; WD. 04 -- EXECUTION OF AN ILLEGAL OR RESERVED INSTRUCTION.
47 ; WD. 05 -- EXECUTION OF A NON RSX EMT INSTRUCTION.
48 ; WD. 06 -- EXECUTION OF A TRAP INSTRUCTION.
49 ; WD. 07 -- PDP 11/40 FLOATING POINT EXCEPTION FAULT.
50 ;
51 ; INPUTS:
52 ;
53 ; R2=ADDRESS OF THE TASK STATUS WORD OF THE CURRENT TASK.
54 ; R3=ADDRESS OF THE SECOND WORD IN THE DPB.
55 ; R4=ADDRESS OF THE HEADER OF THE CURRENT TASK.
56 ; R5=ADDRESS OF THE TCB OF THE CURRENT TASK.
57 ;
DRSST MACRO M1110 22-AUG-79 07:04 PAGE 3-1
58 ; OUTPUTS: (DIRECTIVE STATUS AND PS RETURNED TO TASK)
59 ;
60 ; C=0 IF DIRECTIVE IS SUCCESSFULLY COMPLETED.
61 ; DIRECTIVE STATUS OF +1 IS RETURNED.
62 ; C=1 IF DIRECTIVE IS REJECTED.
63 ; DIRECTIVE STATUS OF 'D.RS98' IS RETURNED IF PART OF VECTOR
64 ; IS OUTSIDE OF ISSUING TASK'S ADDRESS SPACE,
65 ; VECTOR ADDRESS OF ZERO IS SPECIFIED, OR THE
66 ; VECTOR SIZE IS GREATER THAN 31. WORDS.
67 ;-
68
69 .ENABL LSB
70 000000 062704 000024 $DRSDV::ADD #H.ODVL,R4 ;POINT TO ODT VECTOR LENGTH IN HEADER
71 000004 000402 BR 10$ ;FINISH UP IN COMMON CODE
72
73 ;+
74 ; **-$DRSTV-SPECIFY TASK SST VECTOR
75 ;
76 ; THIS DIRECTIVE INSTRUCTS THE SYSTEM TO RECORD THE ADDRESS AND LENGTH OF
77 ; A VECTOR OF SST SERVICE ROUTINE ENTRY POINT FOR USE BY THE ISSUING TASK.
78 ;
79 ; DPB FORMAT:
80 ;
81 ; WD. 00 -- DIC(105.),DPB SIZE(3.).
82 ; WD. 01 -- ADDRESS OF THE SST VECTOR.
83 ; WD. 02 -- NUMBER OF ENTRIES IN THE SST VECTOR.
84 ;
85 ; SST VECTOR FORMAT:
86 ;
87 ; WD. 00 -- TRAPS TO 4 (ODD ADDRESS, NONEX MEM, ETC.).
88 ; WD. 01 -- SEGMENT FAULT.
89 ; WD. 02 -- TRACE TRAP (T-BIT) OR EXECUTION OF A BPT INSTRUCTION.
90 ; WD. 03 -- EXECUTION OF AN IOT INSTRUCTION.
91 ; WD. 04 -- EXECUTION OF AN ILLEGAL OR RESERVED INSTRUCTION.
92 ; WD. 05 -- EXECUTION OF A NON RSX EMT INSTRUCTION.
93 ; WD. 06 -- EXECUTION OF A TRAP INSTRUCTION.
94 ; WD. 07 -- PDP 11/40 FLOATING POINT EXCEPTION FAULT.
95 ;
96 ; INPUTS:
97 ;
98 ; R2=ADDRESS OF THE TASK STATUS WORD OF THE CURRENT TASK.
99 ; R3=ADDRESS OF THE SECOND WORD IN THE DPB.
100 ; R4=ADDRESS OF THE HEADER OF THE CURRENT TASK.
101 ; R5=ADDRESS OF THE TCB OF THE CURRENT TASK.
102 ;
103 ; OUTPUTS: (DIRECTIVE STATUS AND PS RETURNED TO TASK)
104 ;
105 ; C=0 IF DIRECTIVE IS SUCCESSFULLY COMPLETED.
106 ; DIRECTIVE STATUS OF +1 IF RETURNED.
107 ; C=1 IF DIRECTIVE IS REJECTED.
108 ; DIRECTIVE STATUS OF 'D.RS98' IS RETURNED IF PART OF VECTOR
109 ; IS OUTSIDE OF ISSUING TASK'S ADDRESS SPACE,
110 ; VECTOR ADDRESS OF ZERO IS SPECIFIED, OR THE
111 ; VECTOR SIZE IS GREATER THAN 31. WORDS.
112 ;-
113
114 000006 062704 000030 $DRSTV::ADD #H.TKVL,R4 ;POINT TO TASK VECTOR LENGTH IN HEADER
DRSST MACRO M1110 22-AUG-79 07:04 PAGE 3-2
115 000012 012300 10$: MOV (R3)+,R0 ;GET ADDRESS OF VECTOR
116 000014 001412 BEQ 20$ ;IF EQ DEASSIGN VECTOR
117 000016 011301 MOV (R3),R1 ;GET LENGTH OF SST VECTOR
118 000020 001406 BEQ 15$ ;IF EQ DEASSIGN VECTOR
119 000022 021327 000037 CMP (R3),#31. ;VECTOR TOO BIG?
120 000026 101007 BHI 30$ ;IF HI YES
121
122
123 .IF DF A$$CHK!M$$MGE
124
125 000030 006301 ASL R1 ;CONVERT LENGTH TO BYTES
126 000032 CALL $ACHKW ;ADDRESS CHECK SST VECTOR
127
128 .ENDC
129
130
131 000036 011314 15$: MOV (R3),(R4) ;SET SST VECTOR LENGTH
132 000040 006314 ASL (R4) ;CONVERT LENGTH TO BYTES
133 000042 014344 20$: MOV -(R3),-(R4) ;SET SST VECTOR ADDRESS
134 000044 RETURN ;RETURN DIRECTIVE STATUS OF +1
135 000046 30$: DRSTS D.RS98 ;SET DIRECTIVE STATUS
136 .DSABL LSB
137
138 000001 .END
DRSST MACRO M1110 22-AUG-79 07:04 PAGE 3-3
SYMBOL TABLE
A$$CHK= 000000 H.FORT 000052 H.RCVA 000036 M$$CRB= 000124 W.BATT 000006
A$$CPS= 000000 H.FPSA 000042 H.RRVA 000062 M$$MGE= 000000 W.BFPD 000014
A$$TRP= 000000 H.FPVA 000034 H.SPRI 000060 M$$NET= 000000 W.BHVR 000004
C$$ORE= 002000 H.GARD 000072 H.TKVA 000026 M$$NT2= 000000 W.BLGH 000020
D.RS98= ****** GX H.HDLN 000002 H.TKVL 000030 N$$LDV= 000001 W.BLPD 000016
G$$TPP= 000000 H.IPC 000016 H.VEXT 000056 P$$RTY= 000000 W.BLVR 000002
G$$TTK= 000000 H.IPS 000014 H.WND 000044 P$$TPT= 000000 W.BNPD 000015
H$$RTZ= 000074 H.ISP 000020 I$$RDN= 000000 R$$DER= 000000 W.BOFF 000012
H.CSP 000000 H.LUN 000076 K$$CNT= 177546 R$$EXV= 000000 W.BPCB 000000
H.CUIC 000010 H.NLUN 000074 K$$CSR= 177546 R$$SND= 000000 W.BSIZ 000010
H.DSW 000046 H.NML 000061 K$$IEN= 000115 R$$11M= 000000 X$$DBT= 000000
H.DUIC 000012 H.ODVA 000022 K$$LDC= 000001 R$$11S= 000000 $ACHKW= ****** GX
H.EFLM 000004 H.ODVL 000024 K$$TPS= 000074 S$$YSZ= 001740 $DRSDV 000000RG
H.EFSV 000040 H.OVLY 000054 L$$ASG= 000000 V$$CTR= 001200 $DRSTV 000006RG
H.FCS 000050 H.PFVA 000032 L$$DRV= 000000 V$$RSN= 000031
. ABS. 000102 000
000050 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 1807 WORDS ( 8 PAGES)
DYNAMIC MEMORY: 2980 WORDS ( 11 PAGES)
ELAPSED TIME: 00:00:13
[11,24]DRSST,SY0:[11,34]DRSST/-SP=[1,1]EXEMC/ML,[11,10]RSXMC/PA:1,DRSST