Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/dskeat.mac
There are no other files named dskeat.mac in the archive.
;*MAINDEC-10-DSKEA
MCNVER=0
DECVER=1
XLIST
DEFINE NAME (MCNVER,DECVER),<
TITLE DSKEA DECSYSTEM 2020 PAGING HARDWARE DIAGNOSTIC - VER MCNVER,DECVER>
LIST
LALL
NAME \MCNVER,\DECVER
LOC 137
MCNVER,,DECVER
;*COPYRIGHT 1978
;*DIGITAL EQUIPMENT CORPORATION
;*MARLBORO, MASS. 01752
;*JOHN R. KIRCHOFF
NOSYM
SUBTTL DIAGNOSTIC PARAMETERS
;*SUBROUTINE ASSEMBLY PARAMETERS
EXCASB= 1 ;ASSEMBLE FOR EXEC MODE
PGMEND= 1 ; " PROGRAM END STATEMENT
DEBUG= 100 ; " ROOM FOR DEBUGGING
MODDVL= BEGIN
MODDVU= BEGIN
;*ACCUMULATOR DEFINITIONS
CNTR=6 ;COUNTER AC
AC=7 ;COMMON AC 1
AC1=10 ;COMMON AC 2
AC2=11 ;COMMON AC 3
AC3=12 ;COMMON AC 4
ACT=13 ;ACTUAL RESULTS AC
COR=14 ;CORRECT RESULTS AC
INDX=5 ;INDEXING AC
;*MISCELLANEOUS
OPDEF MAP [257B8] ;MAP INSTRUCTION
PGRDTB=END+1 ;440(8) WORD PAGED READ DATA BLOCK
PGWRTB=END+1 ;440(8) WORD PAGED WRITE DATA BLOCK
END1=END+440 ;NEW END OF PROGRAM
TN0==400 ;TRAP NUMBER 0
TN1==200 ;TRAP NUMBER 1
COMMENT %
MAP INSTRUCTION READOUT ASSIGNMENTS
BIT 0 - USER ADDRESS
1 - PAGE FAIL
2 - ACCESS
3 - WRITABLE
4 - SOFTWARE
7 - CACHE
8 - PAGED REF
9-13 - 0
16
^ - CORE ADDRESS BITS 16-35
35
PAGE FAIL ERROR FORMAT
IF BIT 1 = 1
20 - I/O PAGE FAIL
25 - PAGE TABLE PARITY ERROR
36 - HARD MEMORY ERROR
37 - NXM
PAGE TABLE ENTRY WORD FORMAT
BIT 0 - ACCESS
2 - WRITABLE
3 - SOFTWARE
4 - CACHE
7
^ - PHYSICAL PAGE ADDRESS BITS 16-26
17
;LEFT HALF = EVEN VIRTUAL PAGE
;RIGHT HALF = ODD VIRTUAL PAGE
%
;*BEGIN PARAMETERS
SADR1= SFSRT1 ;SPECIAL FEATURE START
SADR2= RESRT1 ;POWER FAIL RESTART
SADR3= BEGIN ;NO REENTER START
SADR4= SRTDDT ;DDT
SADR5= $BEND2 ;^C - START OVER
SADR6= BEGIN ;ALTMODE - START OVER
SADR7= HALT BEGIN
SADR8= HALT BEGIN
SADR9= HALT BEGIN
SADR10= HALT BEGIN
SADR11= HALT BEGIN
PAREA1= 0 ;NO RANDOM
PAREA2= 0 ;NO SYS EXR
PAREA3= SIXBIT/DSKEA/ ;PROGRAM NAME
PAREA4= 0 ;NO EXTENTION
PAREA5= 0
PAREA6= 0
ITERAT= 1
;MACROS
DEFINE SUBTST<
MOVEI .
MOVEM TESTPC ;SETUP SUBTEST PC >
OPDEF REPTLP [SOJG REPT,] ;REPEAT LOOP
S
;*KS-10 EXEC PAGE MAP PAGE ASSIGNMENTS
S
LAROVTP==421 ;ARITHMETIC TRAP
LPDOVTP==422 ;PUSHDOWN OVERFLOW TRAP
LTRP3TP==423 ;TRAP 3 TRAP
LTBASH==510 ;TIME-BASE, HI
LTBASL==511 ;TIME-BASE, LO
LPRFMH==512 ;PERFORMANCE ANAYLYSIS, HI
LPRFML==513 ;PERFORMANCE ANAYLYSIS, LO
S
;*KS-10 USER PAGE MAP PAGE ASSIGNMENTS
S
LAROVTP==421 ;ARITHMETIC TRAP
LPDOVTP==422 ;PUSHDOWN OVERFLOW TRAP
LTRP3TP==423 ;TRAP 3 TRAP
LMUUO== 424 ;MUUO STORAGE
LMUUOPC==425 ;C(PC) OF MUUO STORAGE
LCNTXT==426 ;PROCESS CONTEXT WORD
LKNTRP==430 ;KERNAL NO TRAP - NEW PC'S-
LKTRP== 431 ;" TRAP
LSNTRP==432 ;SUPERVISOR NO TRAP
LSTRP== 433 ;" TRAP
LCNTRP==434 ;CONCEAL NO TRAP
LCTRP== 435 ;" TRAP
LPNTRP==436 ;PUBLIC NO TRAP
LPTRP== 437 ;" TRAP
LEUPFW==500 ;EXEC & USER PAGE FAIL WORD
LPFWPC==501 ;C(PC) OF PAGE FAIL WORD
LPGFTR==502 ;PAGE FAIL NEW PC
LEBXMH==504 ;E-BOX CLOCK TICK METER, HI
LEBXML==505 ;E-BOX CLOCK TICK METER, LO
LMBXMH==506 ;M-BOX CYCLE METER, HI
LMBXML==507 ;M-BOX CYCLE METER, LO
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
PAGECN
MOVSI 1B21 ;UUO TO DO
MOVEM %FLAG2 ;STORE UUO TO DO
MOVE [FLAG,,%FLAG3] ;PC AND FLAGS TO RESTORE
MOVEM UPMP+CNTRP
MOVEM UPMP+CTRP
MOVEM UPMP+PNTRP
MOVEM UPMP+PTRP
MOVEM UPMP+SNTRP
MOVEM UPMP+STRP
MOVEM KNTRP
MOVEM KTRP
SETZM UPMP+MUUO
SETZM UPMP+MUUOPC ;CLEAR WORK AREAS
%FLAG2: 0 ;HERE IS THE UUO
ERROR %FLAG0,13,0,0,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
>
SUBTTL PROGRAM MACROS AND OPDEFS
OPDEF TRPSET [JSR TRAPST]
OPDEF RESET [CONO APR,200000]
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