Google
 

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