Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dskect.mac
There are no other files named dskect.mac in the archive.
;DSKEC

	MCNVER==0
	DECVER==2

	XLIST
DEFINE	NAME	(MCNVER,DECVER)<
	LALL

TITLE	DSKEC - DECSYSTEM KS10 KL-PAGING DIAGNOSTIC, VER MCNVER,DECVER>
	LIST

	NAME	\MCNVER,\DECVER

	SALL

;*COPYRIGHT (C) 1978,1979
;*DIGITAL EQUIPMENT CORPORATION
;*MARLBORO, MASS. 01754

;*AUTHOR:	JOHN R. KIRCHOFF
;*		EDWARD G. PRENTICE

;*MAINTAINER:	LARGE SYSTEMS DIAGNOSTIC ENGINEERING

	LOC 137
MCNVER,,DECVER

	SEARCH	MONSYM
	SEARCH	MACSYM
	NOSYM

IF2,<PRINTX [STARTING PASS 2]>
SUBTTL DIAGNOSTIC PARAMETERS

; **********************************************************************
;*RIGHT HALF SWITCHES
; **********************************************************************

XCHSW=	1B35			;IF SET, DO EXTENDED CHECKING

; **********************************************************************
;*ASSEMBLY PARAMETERS
; **********************************************************************

EXCASB==1			;EXEC MODE ONLY
PGMEND==1			;SUPPLY END STATEMENT
KS10==1				;PGM TO RUN ON KS10 ONLY
DEBUG==200			;ENUF ROOM TO DEBUG WITH
ITERAT==1			;NUMBER OF PASSES TO RUN

SADR1==BEGIN
SADR2==BEGIN
SADR3==BEGIN
SADR4==BEGIN
SADR5==$BEND2			;CTRL-C BACK TO DIAG MONITOR
SADR6==BEGIN
SADR7==JRST BEGIN
SADR8==JRST BEGIN
SADR9==JRST BEGIN
SADR10==JRST BEGIN
SADR11==JRST BEGIN
PAREA1==137526,,402651		;RANDOM SEED
PAREA2==0
PAREA3==SIXBIT\DSKEC\
PAREA4==SIXBIT\PNT\		;PGM NAME
PAREA5==0
PAREA6==0
; **********************************************************************
;*AC DEFINITIONS
; **********************************************************************

AC0=	0
AC1=	1
AC2=	2
AC3=	3
AC4=	4
AC5=	5
AC6=	6
AC7=	7
AC10=	10
AC11=	11
AC12=	12
AC13=	13
AC14=	14
AC15=	15
AC16=	16

; **********************************************************************
;*SPECIAL AC DEFINITIONS
; **********************************************************************

A=	1
B=	2
C=	3
AC=	4

T1=	12
T2=	13
T3=	14
T4=	15
T5=	16

; **********************************************************************
;*OPDEFS
; **********************************************************************

OPDEF	RDTIME	[702200,,0]	;READS TIME BASE TO E,E+1(4MHZ)
OPDEF	UMOVE	[704000,,0]	;UMOVE A,B =>PXCT 4,[MOVE A,B]
OPDEF	UMOVEM	[705000,,0]	;UMOVEM A,B=>PXCT 4,[MOVEM A,B]
OPDEF	PXCT	[XCT]		;PREVIOUS CONTEXT EXECUTE
; **********************************************************************
;*MACROS
; **********************************************************************

; **********************************************************************
;THE FOLLOWING MACRO ALLOWS ARBITRARY PHYSICAL PAGES TO BE REFERENCED
;BY ARBITRARY VIRTUAL PAGE.  FOR EXAMPLE,
;	PAGMAP (P1,345)
;CAUSES PAGE P1/1000 TO BE PAGE 345.
;THIS ROUTINE IS FOR EXEC MAPPING.  USE UPAGMP FOR USER MAPPING.
; **********************************************************************

DEFINE	PAGMAP	(ADDR,PN),<
	MOVEI	A,ADDR
	MOVEI	C,PN
	MOVSI	T3,0
	PUSHJ	P,PMAPRT
>
; **********************************************************************
;MACRO FOR ASSIGNING USER PAGES.
; **********************************************************************

DEFINE	UPAGMP	(ADDR,PN),<
	MOVEI	A,ADDR
	MOVEI	C,PN
	MOVSI	T3,1
	PUSHJ	P,PMAPRT
>
; **********************************************************************
;MACRO FOR CREATING PAGE ASSIGNMENTS IN MEMORY
; **********************************************************************

DEFINE	.PGE	(ARG),<
	LOC	<.!777>+1
ARG:	ARG'PN==<ARG_-^D9>
>
; **********************************************************************
;MACRO FOR SUBTEST CONTROL
; **********************************************************************

DEFINE	SUBTST,<
	MOVEI	0,.
	MOVEM	0,TESTPC
>
; **********************************************************************
;*MISCELANEOUS DEFINITIONS
; **********************************************************************

PON=	LTRPEN!EPTPN		;VALUE TO TURN ON PAGING AND SET EBR
POFF=	EPTPN			;VALUE TO TURN OFF PAGING AND SET EBR

TRAP3=	EPT+423			;HOLDS TRAP 3 TRAP INSTRUCTION.
ESECT=	EPT+540			;ESECT+N/POINTER TO EXEC SECTION N PAGE TABLE

USRBIT=	1B5			;USER MODE BIT
UIOBIT=	1B6			;USER IO BIT

PCUBIT=	1B6			;PREVIOUS CONTEXT USER BIT.
USECT=	UPT+540			;USECT+N/POINTER TO USER SECTION N PAGE TABLE

MCODE=	UPT+424			;MUUO OPCODE AND FLAGS
MOLDPC=	MCODE+1			;PC WHENCE MUUO CAME
MADDR=	MCODE+2			;EFFECTIVE ADDRESS OF MUUO
MINFO=	UPT+427			;HOLDS PCS AND OTHER STUFF AT TIME OF MUUO

UUONPC=	UPT+430			;EIGHT LOCATIONS STARTING HERE HOLD NEW PC'S FOR MUUO

ULPTR=	UPT+420			;HOLDS USER LUUO BLOCK POINTER.

PFW=	UPT+500			;PAGE FAIL WORD.
PFFLGS=	UPT+501			;PAGE FAIL FLAGS
PFPC=	UPT+502			;PAGE FAIL OLD PC
PFHA=	UPT+503			;PAGE FAULT HANDLER ADDRESS ADDRESS

CACHEB=	1B6			;CACHE BIT
WRITEB=	1B4			;WRITE BIT.

ACCESS=	(1B2+WRITEB+CACHEB)	;ACCESS BITS, CACHE, WRITE
SHARE=	(2B2+WRITEB+CACHEB)	;SHARE POINTER AND ACCESS BITS.
NDIREC=	(3B2+WRITEB+CACHEB)	;INDIRECT POINTER AND ACCESS BITS.

KLPAGF=	1B21			;FLAG FOR TURNING ON KL PAGING
TRAPF=	1B22			;FLAG FOR TURNING ON TRAPPING

NPAGES==7			;NUMBER OF RESERVED PAGES.

CSTLEN=	2000			;LENGTH OF CST (ONE ENTRY NEEDED PER PHYSICAL PAGE)

PAGOFF=	0			;VALUE TO TURN OFF PAGING
PAGON=	TRAPF+KLPAGF+EPTPN	;VALUE TO TURN ON PAGING