Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/mcb/ddhar.list
There are no other files named ddhar.list in the archive.
DDHAR MACRO M1110 13-OCT-79 08:10 PAGE 3
1 .TITLE DDHAR
2 .IDENT /V01.00/
3
4 ;
5 ; COPYRIGHT (C) 1978 BY
6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
7 ;
8 ;
9 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
10 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
11 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
12 ; COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
13 ; OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
14 ; TRANSFERRED.
15 ;
16 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
17 ; AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
18 ; CORPORATION.
19 ;
20 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
21 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
22 ;
23 ;
24 ; MODULE DESCRIPTION
25 ; DDCMP HEADER ANALYSIS ROUTINE
26 ;
27 ; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING
28 ;
29 ; IDENT HISTORY:
30 ;
31 ; 1.00 10-FEB-78
32 ; VERSION 2.0 RELEASE
33 ;
34
35 ; MACRO LIBRARY CALLS
36 ;
37 .MCALL CCBDF$,HWDDF$
38 000000 CCBDF$ ; DEFINE THE CCB OFFSETS
39 000000 HWDDF$
40
41 ;
42 ; LOCAL SYMBOL DEFINITIONS
43 ;
44 000220 BOOT=220
45 000201 SOH=201
46 000005 ENQ=05
47 000226 RSYN=226
48 000377 RPAD=377
49 000007 MT.STK=7
50
51 000100 FINAL=100
DDHAR MACRO M1110 13-OCT-79 08:10 PAGE 4
53 ;+
54 ; **-$DDHAR-DDCMP HEADER ANALYSIS
55 ;
56 ; THIS SUBROUTINE IS CALLED BY DEVICE DRIVERS TO PERFORM
57 ; A DDCMP HEADER AND EXTRACT THE MESSAGE BYTE COUNT.
58 ;
59 ; INPUTS:
60 ;
61 ; R4 = ADDRESS OF CCB DESCRIBING A DATA BUFFER
62 ;
63 ; OUTPUTS:
64 ;
65 ; C/SET = RECEIVER RESYNCHRONIZATION REQUIRED
66 ;
67 ; R3 = IF MINUS: ERROR, REMAINING BITS ENCODE ERROR
68 ; IF EQUAL: HEADER IS AN UNNUMBERED MESSAGE
69 ; IF PLUS: BYTE COUNT FOR DATA OR BOOT MESSAGE
70 ;
71 ; REGISTERS MODIFIED:
72 ;
73 ; R4
74 ;-
75
76 000000 $DDHAR:: ; REF LABEL
77 .IF DF M$$MGE
78
79 .IF DF R$$11D!I$$AS
80
81 MOV #KP.AR3,-(SP) ; ASSUME WE CAME FROM KERNEL MODE
82 BIT #140000,PS.EXP ; DID WE?
83 BEQ 99$ ; YES
84 MOV #UPAR0+6,(SP) ; NO ... USER MAPPING REQUIRED
85 99$: MOV @(SP),-(SP) ; SAVE CURRENT MAPPING
86 MOV C.BUF(R4),@2(SP); MAP TO THE DATA BUFFER
87
88 .IFF
89
90 000000 013746 172352 MOV @#KISAR5,-(SP) ; SAVE CURRENT MAPPING
91 000004 016437 000014 172352 MOV C.BUF(R4),@#KISAR5 ; MAP TO DATA BUFFER
92 .ENDC
93
94 .IFTF
95
96 000012 016446 000030 MOV C.CNT2(R4),-(SP); GET BUFFER SIZE
97 000016 016404 000016 MOV C.BUF+2(R4),R4 ; GET VIRTUAL ADDRESS OF DATA BUFFER
98 .IFT
99 .IF DF R$$11D!I$$AS
100
101 ADD #20000,R4 ; FORCE APR3 RATHER THAN 2
102
103 .IFF
104
105 000022 162704 020000 SUB #20000,R4 ; FORCE KISAR5 (RATHER THAN 6)
106
107 .ENDC
108
109 .IFTF
DDHAR MACRO M1110 13-OCT-79 08:10 PAGE 4-1
110 000026 112403 MOVB (R4)+,R3 ; GET FIRST CHARACTER OF HEADER
111 000030 122703 000201 CMPB #SOH,R3 ; NUMBERED MESSAGE ?
112 000034 001416 BEQ 20$ ; IF EQ YES
113 000036 122703 000005 CMPB #ENQ,R3 ; UNNUMBERED MESSAGE ?
114 000042 001404 BEQ 10$ ; IF EQ YES
115 000044 122703 000220 CMPB #BOOT,R3 ; BOOTSTRAP MESSAGE ?
116 000050 001410 BEQ 20$ ; IF EQ YES
117 000052 000404 BR 15$ ; GO INDICATE AN ERROR
DDHAR MACRO M1110 13-OCT-79 08:10 PAGE 5
119 ;
120 ; UNNUMBERED MESSAGE
121 ;
122
123 000054 005003 10$: CLR R3 ; SET BYTE COUNT OF ZERO
124 000056 122724 000007 CMPB #MT.STK,(R4)+ ; IS THE MESSAGE TYPE IN RANGE
125 000062 002020 BGE 30$ ; YES, SO ALL IS OKAY
126 000064 012703 102000 15$: MOV #CS.ERR+CS.HFE,R3 ; SET HEADER FORMAT ERROR
127 000070 000420 BR 40$ ; AND EXIT
128
129 ;
130 ; NUMBERED MESSAGE OR BOOTSTRAP MESSAGE
131 ;
132
133 000072 112446 20$: MOVB (R4)+,-(SP) ; ASSEMBLE SECOND TWO BYTES OF HEADER
134 000074 111466 000001 MOVB (R4),1(SP) ; INTO THE COUNT FIELD
135 000100 012603 MOV (SP)+,R3 ; ...
136 000102 042703 140000 BIC #140000,R3 ; STRIP OFF SELECT AND FINAL BITS
137 000106 162716 000012 SUB #12,(SP) ; ACCOUNT FOR HEADER
138 000112 021603 CMP (SP),R3 ; MESSAGE TOO LONG
139 000114 103003 BHIS 30$ ; IF HIS NO, GO TEST FINAL BIT (C-BIT CLEAR)
140 000116 012703 104000 MOV #CS.ERR+CS.MTL,R3 ; SET MESSAGE TO LONG ERROR BITS
141 000122 000403 BR 40$ ; EXIT WITH C-BIT SET
142
143 ;
144 ; TEST FINAL BIT
145 ;
146
147 000124 132714 000100 30$: BITB #FINAL,(R4) ; FINAL BIT SET ? (C-BIT CLEAR ON ENTRY)
148 000130 001401 BEQ 50$ ; IF EQ NO, EXIT WITH C-BIT CLEAR
149 000132 000261 40$: SEC ; C-BIT SET INDICATES 'FINAL' SET
150 000134 50$: ;
151 000134 005226 INC (SP)+ ; CLEAN UP STACK
152 .IFT
153 .IF DF R$$11D!I$$AS
154
155 MOV (SP)+,@(SP)+ ; RESTORE MAPPING FOR RSX-11D/IAS
156
157 .IFF
158
159 000136 012637 172352 MOV (SP)+,@#KISAR5 ; RESTORE PREVIOUS MAPPING
160 .ENDC
161
162 .ENDC
163
164 000142 RETURN ; RETURN
165
166 000001 .END
DDHAR MACRO M1110 13-OCT-79 08:10 PAGE 5-1
SYMBOL TABLE
A$$CHK= 000000 C$$CKP= 000000 FE.DRV= 000010 I$$RAR= 000000 PR6 = 000300
A$$CPS= 000000 C$$ORE= 000400 FE.EXP= 000200 I$$RDN= 000000 PR7 = 000340
A$$PRI= 000000 C$$RSH= 177564 FE.EXT= 000001 KDSAR0= 172360 PS = 177776
A$$TRP= 000000 C.BID 000003 FE.EXV= 000004 KDSDR0= 172320 P$$P45= 000000
BOOT = 000220 C.BUF 000014 FE.LSI= 000400 KISAR0= 172340 P$$WRD= 000000
CB.CCB= 000002 C.BUF1 000014 FE.MUP= 000002 KISAR5= 172352 Q$$OPT= 000010
CB.RDB= 000004 C.BUF2 000024 FE.MXT= 040000 KISAR6= 172354 RPAD = 000377
CE.ABO= 100362 C.CNT 000020 FE.NLG= 100000 KISAR7= 172356 RSYN = 000226
CE.DIS= 100366 C.CNT1 000020 FE.PKT= 000100 KISDR0= 172300 R$$DER= 000000
CE.ERR= 100370 C.CNT2 000030 FE.PLA= 000020 KISDR6= 172314 R$$K11= 000001
CE.MOP= 100372 C.FLG 000022 FINAL = 000100 KISDR7= 172316 R$$SND= 000000
CE.NTE= 100361 C.FLG1 000022 FS.AST= 000000 K$$CNT= 177546 R$$11M= 000000
CE.RTE= 100376 C.FLG2 000032 FS.CIB= 002000 K$$CSR= 177546 SISDR0= 172200
CE.SRC= 100364 C.FNC 000010 FS.CRA= 001000 K$$LDC= 000000 SOH = 000201
CE.TMO= 100374 C.LIN 000006 FS.DIS= 013000 K$$TPS= 000074 SR0 = 177572
CF.EOM= 000004 C.LNK 000000 FS.DVC= 001000 LD$LP = 000000 SR3 = 172516
CF.HDR= 000020 C.MOD 000011 FS.ENB= 012000 L$$ASG= 000000 SWR = 177570
CF.LB = 100000 C.NSP 000004 FS.GET= 006000 L$$DRV= 000000 S$$WRG= 000000
CF.SOM= 000010 C.RSV 000002 FS.INI= 000000 L$$P11= 000001 S$$YSZ= 007600
CF.SYN= 000040 C.STA 000007 FS.KIL= 000000 L$$11R= 000000 TPS = 177564
CF.TRN= 000100 C.STS 000012 FS.LTM= 001000 MPAR = 172100 T$$KMG= 000000
CMODE = 140000 D$$BUG= 177514 FS.MNT= 004000 MPCSR = 177746 T$$MIN= 000000
CS.ABO= 000100 D$$ISK= 000000 FS.MSN= 014000 MT.STK= 000007 UBMPR = 170200
CS.BUF= 000200 D$$L11= 000001 FS.RNG= 011000 M$$CRB= 000124 UDSAR0= 177660
CS.DCR= 000400 D$$YNC= 000000 FS.RTN= 001000 M$$CRX= 000000 UDSDR0= 177620
CS.DEV= 000002 D$$YNM= 000000 FS.SET= 005000 M$$FCS= 000000 UISAR0= 177640
CS.DIS= 000040 ENQ = 000005 FS.STM= 000000 M$$MGE= 000000 UISAR4= 177650
CS.ENB= 000020 E$$XPR= 000000 FS.STP= 002000 M$$OVR= 000000 UISAR5= 177652
CS.EOF= 000001 FC.CCP= 000020 FS.STR= 001000 N$$LDV= 000001 UISAR6= 177654
CS.ERR= 100000 FC.CTL= 000006 FS.TRM= 003000 N$$MOV= 000010 UISAR7= 177656
CS.HFE= 002000 FC.KCP= 000016 FS.XKL= 002000 N$$SYS= 000001 UISDR0= 177600
CS.LST= 040000 FC.KIL= 000004 FS.XOF= 010000 N$$USR= 000001 UISDR4= 177610
CS.MTL= 004000 FC.RCE= 000002 FS.XON= 007000 PIRQ = 177772 UISDR5= 177612
CS.RNG= 000010 FC.RCP= 000014 F$$LVL= 000001 PMODE = 030000 UISDR6= 177614
CS.ROV= 000004 FC.TIM= 000010 G$$TPP= 000000 PR0 = 000000 UISDR7= 177616
CS.RSN= 010000 FC.XCP= 000012 G$$TSS= 000000 PR1 = 000040 V$$CTR= 001000
CS.SUC= 000001 FC.XME= 000000 G$$TTK= 000000 PR4 = 000200 X$$DBT= 000000
CS.TMO= 020000 FE.CAL= 000040 G$$WRD= 000000 PR5 = 000240 $DDHAR 000000RG
. ABS. 000034 000
000144 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 5145 WORDS ( 21 PAGES)
DYNAMIC MEMORY: 5836 WORDS ( 22 PAGES)
ELAPSED TIME: 00:00:11
DDHAR,[130,34]DDHAR/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,DDHAR
DDHAR CREATED BY MACRO ON 13-OCT-79 AT 08:10 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BOOT = 000220 #3-44 4-115
CS.ERR = 100000 5-126 5-140
CS.HFE = 002000 5-126
CS.MTL = 004000 5-140
C.BUF 000014 4-91 4-97
C.CNT2 000030 4-96
ENQ = 000005 #3-46 4-113
FINAL = 000100 #3-51 5-147
I$$AS = ****** 4-79 4-99 5-153
KISAR5 = 172352 4-90 4-91 5-159
MT.STK = 000007 #3-49 5-124
M$$MGE = 000000 4-77
RPAD = 000377 #3-48
RSYN = 000226 #3-47
R$$11D = ****** 4-79 4-99 5-153
SOH = 000201 #3-45 4-111
$DDHAR 000000 RG #4-76
DDHAR CREATED BY MACRO ON 13-OCT-79 AT 08:10 PAGE 2
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CCBDF$ #3-37 #3-38
HWDDF$ #3-37 #3-39
RETURN 5-164