Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dfkebt.mac
There are no other files named dfkebt.mac in the archive.
;*MAINDEC-10-DFKEB


	MCNVER==000
	DECVER==003

	XLIST
DEFINE	NAME (MCNVER,DECVER),<

TITLE	DFKEB	DECSYSTEM KL10 MUUO AND MODE DIAGNOSTIC, VER MCNVER,DECVER>
	LIST
	LALL

	NAME	\MCNVER,\DECVER

	LOC	137
	MCNVER,,DECVER

;*COPYRIGHT 1975,1984
;*DIGITAL EQUIPMENT CORP.
;*MARLBORO, MASS. 01752

;*JOHN R. KIRCHOFF

	NOSYM
SUBTTL	PROGRAM PARAMETERS

;*DEFINE SUBROUTINE PARAMETERS

KL10==1
KL10P0==1
EXCASB==1
PGMEND==1
ITERAT==1
MODDVU==BEGIN
MODDVL==BEGIN
DEBUG==100

;*SPECIAL SUBROUTINE PARAMETERS

SADR1=BEGIN
SADR2=BEGIN
SADR3=BEGIN
SADR4=BEGIN
SADR5=JRST BEGIN
SADR6=JRST BEGIN
SADR7=JRST BEGIN
SADR8=JRST BEGIN
SADR9=JRST BEGIN
SADR10=JRST BEGIN
SADR11=JRST BEGIN

PAREA0=0
PAREA1=0
PAREA2=0
PAREA3=SIXBIT/DFKEB/
PAREA4=SIXBIT/TMP/
PAREA5=0
PAREA6=0
SUBTTL	PROGRAM MACRO'S

DEFINE	FLGTST	(FLAG,MSG0,%FLAG0,%FLAG3,%FLAG2),<
	LALL
;*TRY TO SET FLAG VIA MONITOR UUO TRAP
;*TRAPS TO ANY MODE IS OK FOR THIS TEST

	A=1			;ACTUAL FLAGS AND PC STORED
	C=[FLAG,,%FLAG3]	;CORRECT FLAGS AND PC

%FLAG0:	CONO	PAG,LTRPEN
	DATAO	PAG,[LLDUSB,,400000]	;CLEAR BASE REGISTER
	TNSET
	JFCL	17,.+1		;CLEAR ANY AND ALL FLAGS
	SKIPN	[MODE]		;DONT PAGE IF MODE = 0
	JRST	.+3
	PAGEPN
	MOVSI	1B21		;UUO TO DO
	MOVEM	%FLAG2		;STORE UUO TO DO
	MOVE	[FLAG,,%FLAG3]	;PC AND FLAGS TO RESTORE
	MOVEM	UPMP+LCNTRP
	MOVEM	UPMP+LCTRP
	MOVEM	UPMP+LPNTRP
	MOVEM	UPMP+LPTRP
	MOVEM	UPMP+LSNTRP
	MOVEM	UPMP+LSTRP
	MOVEM	LKNTRP
	MOVEM	LKTRP
	SETZM	UPMP+LMUUO
	SETZM	UPMP+LMUUOPC	 ;CLEAR WORK AREAS
%FLAG2:	0			;HERE IS THE UUO
	ERROR	%FLAG0,13,C,A,MUUO DID NOT CAUSE TRAP
	LALL
%FLAG3:	JSP	1,.+1		;GET FLAGS
	TLNN	1,FLAG		;ARE FLAG(S) SET?
	ERROR	%FLAG0,13,C,A,MSG0
>
	DEFINE	SUPEX<
	LALL
;THIS SECTION PUTS THE PROCESSOR INTO SUPERVISOR MODE.
;PAGE TABLE SETUP
	MOVSI	740000!<UPMP_-^D9>
	MOVEM	200		;STORE PAGE WORD
	CONO	PAG,LTRPEN
	DATAO	PAG,[LLDUSB,,400000]
>
SUBTTL	PROGRAM MACROS AND OPDEFS

OPDEF	TRPSET	[JSR	TRAPST]

OPDEF	RESET	[CONO APR,200000]

OPDEF	APRID	[BLKI APR]

DEFINE	MOVMEM(A,B)<
	PUT	[A]
	GET	B
>

DEFINE	PAGECN<
	SETOM	CNSFLG		;INFORM PAGE ROUTINE 
	GO	PAGSET		;THAT I WANT CONCEALED MODE
>
DEFINE	PAGEPN<
	SETZM	CNSFLG		;INFORM PAGE ROUTINE
	GO	PAGSET		;THAT I WANT PUBLIC MODE
>

DEFINE	TNSET<
	MOVEI	.		;STORE THIS PC IN CASE WE GET LOST
	MOVEM	TESTPC		;INTO TEST
>

IFNDEF	UPMP,<UPMP=<END+1000>&777000>	;INSURE THAT THE USER PAGE MAP PAGE
				;STARTS AT AN EVEN ADDRESS WICH IS
				;A MULTIPLE OF 1K

;*SPECIAL PAGE TABLE DEFINITIONS

AROVTP=	421		;ARITHMETIC TRAP
PDOVTP=	422		;PUSHDOWN OVERFLOW TRAP
TRP3TP=	423		;TRAP 3 TRAP
MUUO=	424		;MUUO STORAGE
MUUOPC=	425		;MUUO NEW PC
KNTRP=	430		;KERNAL
KTRP=	431
SNTRP=	432		;SUPERVISOR
STRP=	433
CNTRP=	434		;CONCEALED
CTRP=	435
PNTRP=	436		;PUBLIC
PTRP=	437

LIP=	2000		;PC FLAG, LAST INST PUBLIC
TN0=	400		;PC FLAG, TN 0 BIT
TN1=	200		;PC FLAG, TN 1 BIT