Google
 

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