Trailing-Edge
-
PDP-10 Archives
-
BB-H240B-BM
-
dngen/rsxmc.mac
There are no other files named rsxmc.mac in the archive.
.IIF NDF S$$YDF , .NLIST
.TITLE RSXMC
.IDENT /M3.1/
;
; COPYRIGHT (C) 1976, 1977
; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
;
; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
; SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE
; INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR
; ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE
; MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH
; SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE
; TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN
; IN DEC.
;
; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
; EQUIPMENT CORPORATION.
;
; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF
; ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
;
; VERSION M3.1
;
R$$11S=0 ;RSX-11S SYSTEM
V$$RSN=31 ;RSX-11M VERSION 3.1
A$$CHK=0 ;ADDRESS CHECKING
I$$RDN=0 ;I/O RUNDOWN
M$$MGE=0 ;MEMORY MANAGEMENT
A$$CPS=0 ;ACP SUPPORT
M$$NET=0 ;NETWORK ACP SUPPORT
P$$TPT=0 ;POINT TO POINT NETWORK SUPPORT
A$$TRP=0 ;AST SUPPORT
G$$TPP=0 ;GET PARTITION PARAMETERS DIRECTIVE
R$$SND=0 ;RECEIVE/SEND DIRECTIVES
L$$ASG=0 ;LOGICAL UNIT ASSIGNMENT
L$$DRV=0 ;LOADABLE DRIVER SUPPORT
M$$NT2=0 ;DECNET VERSION 2 SUPPORT
A$$CHK=0 ;ADDRESS CHECKING
G$$TTK=0 ;GET TASK PARAMETERS DIRECTIVE
R$$SND=0 ;RECEIVE/SEND DIRECTIVES
X$$DBT=0 ;EXECUTIVE DEBUGGING TOOL
R$$DER=0 ;CORAL DEALLOCATION ERROR CHECKING
C$$ORE=1024. ;SIZE OF DYNAMIC STORAGE REGION
S$$YSZ=32.*32. ;SIZE OF PHYS. MEMORY IN 32W BLOCKS
H$$RTZ=60. ;LINE FREQUENCY
K$$CSR=177546 ;LINE CLOCK CSR ADDRESS
K$$CNT=177546 ;COUNT REGISTER ADDRESS
K$$TPS=60. ;TICKS PER SECOND
K$$LDC=1 ;LOAD COUNT VALUE
K$$IEN=115 ;CLOCK INTERRUPT ENABLE (KW11-P AT LINE FREQ)
P$$RTY=0 ;PARITY MEMORY
N$$LDV=1 ;NULL DEVICE
V$$CTR=1200 ;ADDRESS OF HIGHEST VECTOR PLUS 4
M$$CRB=84. ;MCR COMMAND BUFFER LENGTH
R$$11M=0 ;RSX-11M SYSTEM
V$$RSN=31 ;RSX-11M VERSION 3.1
;
; EXEC MACROS
;
; ASSUME MACRO FOR CHECKING ADJACENCY AND OFFSET VALUE ASSUMPTIONS
;
; .MACRO ASSUME A,B=0
; .IF NE A-B
; .ERROR ;EXPRESSION(S) NOT EQUAL
; .ENDC
; .ENDM
;
; CALL SUBROUTINE
;
;
.MACRO CALL SUBR ARG
.IF IDN <$INTSV>,<SUBR>
JSR R5,$INTSV
.IF DF L$$SI1
.WORD ARG
.IFF
.WORD ^C<ARG>&PR7
.ENDC
.IFF
.IF IDN <$SAVNR>,<SUBR>
JSR R5,$SAVNR
.IFF
.IF IDN <$SWSTK>,<SUBR>
EMT 376
.WORD ARG
.IFF
JSR PC,SUBR
.ENDC
.ENDC
.ENDC
.ENDM
;
; CALL AND RETURN FROM SUBROUTINE
;
;
.MACRO CALLR SUBR
JMP SUBR
.ENDM
;
; CRASH SYSTEM
;
;
.MACRO CRASH
IOT
.ENDM
;
; DIRECTIVE REGISTER SAVE AND SET PRIORITY
;
;
.MACRO DIRSV$
JSR R5,$DIRSV
.ENDM
;
; SET DIRECTIVE STATUS
;
;
.MACRO DRSTS VALUE
TRAP VALUE
.ENDM
;
; GENERATE INTERRUPT ROUTINE ENTRY POINT LABEL
;
;
;
.IF DF E$$DVC
.MACRO INTLB NUM,NAM
$'NAM'NUM'T::
.ENDM
.ENDC
;
; INTERRUPT SAVE GENERATION MACRO FOR ERROR LOGGING DEVICES
;
;
.MACRO INTSE$ DEV,PRI,NCTRLR,PSWSV,UCBSV,?LAB
.IF DF L$$DRV & LD$'DEV & M$$MGE
$'DEV'INT::
.IF NDF E$$DVC
.IF EQ NCTRLR-1
CLR R4
.ENDC
.ENDC
.IFF
.IF NDF E$$DVC
$'DEV'INT::INTSV$ DEV,PRI,NCTRLR,PSWSV,UCBSV
.IF EQ NCTRLR-1
CLR R4
.ENDC
.MEXIT
.IFF
$$$=0
.REPT NCTRLR
INTLB \$$$,DEV
JSR R5,$INTSE
SCBLB \$$$,DEV
.IF DF L$$SI1
.WORD PRI
.IFF
.WORD ^C<PRI>&PR7
.ENDC
.IF GT NCTRLR-$$$-1
BR LAB
.ENDC
$$$=$$$+1
.ENDR
LAB:
.ENDC
.ENDC
GTUCB$ UCBSV,NCTRLR
.ENDM
;
; INTERRUPT SAVE GENERATION FOR NON-ERROR LOGGING DEVICES
;
;
.MACRO INTSV$ DEV,PRI,NCTRLR,PSWSV,UCBSV
.IF NDF L$$DRV ! M$$MGE ! LD$'DEV
.IF GT NCTRLR-1
.IF B <PSWSV>
MFPS TEMP
.IFF
MFPS PSWSV
.ENDC
.IFTF
JSR R5,$INTSV
.IF DF L$$SI1
.WORD PRI
.IFF
.WORD ^C<PRI>&PR7
.ENDC
.IFT
.IF B <PSWSV>
MOV TEMP,R4
.IFF
MOV PSWSV,R4
.ENDC
BIC #177760,R4
ASL R4
.ENDC
.ENDC
GTUCB$ UCBSV,NCTRLR
.ENDM
;
; GENERATE CODE TO LOAD UCB ADDRESS INTO R5 -- CALLED
; ONLY BY INTSE$ AND INTSV$
;
;
.MACRO GTUCB$ UCBSV,NCTRLR
.IF NB <UCBSV>
.IF GT NCTRLR-1
MOV UCBSV(R4),R5
.IFF
MOV UCBSV,R5
.ENDC
.IFF
.IF GT NCTRLR-1
MOV CNTBL(R4),R5
.IFF
MOV CNTBL,R5
.ENDC
.ENDC
.ENDM
;
; PROCESSOR STATUS READ/WRITE
;
;
.IF NDF L$$SI1
.MACRO MFPS DST
MOVB @#PS,DST
.ENDM
.MACRO MTPS SRC
.IF IDN <#0>,<SRC>
CLRB @#PS
.IFF
MOVB SRC,@#PS
.ENDC
.ENDM
.ENDC
;
; SAVE NONVOLATILE REGISTERS
;
;
.MACRO SAVNR
JSR R5,$SAVNR
.ENDM
;
; GENERATE STATUS CONTROL BLOCK REFERENCE LABEL
;
;
;
.IF DF E$$DVC
.MACRO SCBLB NUM,NAM
.WORD $'NAM'NUM
.ENDM
.ENDC
;
; RETURN FROM SUBROUTINE
;
;
.MACRO RETURN
RTS PC
.ENDM
;
; SOB LOOP INSTRUCTION
;
;
;
.IF NDF R$$EIS
.MACRO SOB A,B
DEC A
BNE B
.ENDM
.ENDC
;
; STATE SWITCHING MACRO
;
;
.MACRO SWSTK$ ARG
CALL $SWSTK,ARG
.ENDM
.IF DF F$$LPP
;
; LOAD FLOATING DOUBLE
;
;
.MACRO LDD A,B
.NTYPE N,A
.NTYPE M,B
.WORD 172400+<M*64.>+N
.ENDM
;
; LOAD FLOATING POINT STATUS
;
;
.MACRO LDFPS A
.IF IDN <A>,<@H.FPSA(R2)>
.WORD 170100+72
.WORD H.FPSA
.IFF
.NTYPE N,A
.WORD 170100+N
.ENDC
.ENDM
;
; SET DOUBLE FLOATING MODE
;
;
.MACRO SETD
.WORD 170011
.ENDM
;
; STORE FLOATING DOUBLE
;
;
.MACRO STD A,B
.NTYPE N,A
.NTYPE M,B
.WORD 174000+<N*64.>+M
.ENDM
;
; STORE FLOATING POINT STATUS
;
;
.MACRO STFPS A
.NTYPE N,A
.WORD 170200+N
.ENDM
;
; STORE STATUS
;
;
.MACRO STST A
.WORD 170337
.WORD FLSTS
.ENDM
.ENDC
.IIF NDF S$$YDF , .LIST