Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/dfkec.seq
There are no other files named dfkec.seq in the archive.
;DFKEC
SEQ 0001
IDENTIFICATION
--------------
PRODUCT CODE: AH-E568B-DD
DIAGNOSTIC CODE: DFKEC
PRODUCT NAME: DFKECB0 KL10 PXCT DIAGNOSTIC
VERSION: 0.2
DATE RELEASED: SEPTEMBER 1981
MAINTAINED BY: 36-BIT DIAGNOSTIC ENGINEERING
AUTHOR: JOHN R. KIRCHOFF
EDWARD G. PRENTICE
COPYRIGHT (C) 1978, 1981
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 DIGITAL EQUIPMENT
CORPORATION.
THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
EQUIPMENT CORPORATION.
DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE
USE OR RELIABILITY OF ITS SOFTWARE IN EQUIPMENT WHICH IS NOT
SUPPLIED BY DIGITAL EQUIPMENT CORPORATION.
DFKEC - KL10 PXCT DIAGNOSTIC Page 1 SEQ 0002
TABLE OF CONTENTS
-----------------
1.0 ABSTRACT
2.0 REQUIREMENTS
2.1 EQUIPMENT
2.2 STORAGE
2.3 PRELIMINARY PROGRAMS
3.0 PROGRAM PROCEDURES
3.1 LOADING PROCEDURE
3.2 STARTING PROCEDURE
3.3 OPERATING PROCEDURE
4.0 DATA SWITCH FUNCTIONS
5.0 TEST DESCRIPTIONS
6.0 ERRORS
7.0 ITERATION COUNTER
8.0 OPERATIONAL VARIATIONS
9.0 MISCELLANEOUS
10.0 HISTORY FILE
11.0 DOCUMENTATION FILE
12.0 LISTING
DFKEC - KL10 PXCT DIAGNOSTIC Page 2 SEQ 0003
1.0 ABSTRACT
This diagnostic intends to do a functional test of a specific
instruction on the KL10, that being the PXCT instruction. The PXCT
instruction is not a useful instruction in itself, but rather a
convenient way to allow some other instructions to be executed under
different conditions. 'PXCT' stands for previous-context-execute, and
allows a program to execute those other instructions as if they were
being executed in the previous context. Previous context is defined
by at least the following fields: a bit to say whether the previous
context was user or exec, 12 bits to say what section the program was
in, and 3 bits to define what ac block was being used by the program.
The operation of the PXCT instruction takes a lot of other
conditions into account also; the section number that the PXCT is
residing in, the addressing mode used by the PXCT'd instruction, the
section number that the PXCT'd instruction is in, and the section that
the effective address in the PXCT'd instruction is in.
Due to the fact that the PXCT is not really an instruction
itself, but rather a variation of the other instructions, the code for
the PXCT is written in different places for different instructions.
Thus a simple test that tests PXCT of move will not be sufficient to
test PXCT.
It is not the goal of this diagnostic to test all the
combinations possible, but rather to estimate the most important
combinations and test those.
The following instructions are tested: MOVE, MOVEM, BLT, XBLT,
PUSH, POP, LDB and DPB.
The net result of all this is that the PXCT test has grown to be
very complicated, (much more so than expected), and in an effort to
test lots of variations, there are many instructions that won't get
tested.
DFKEC - KL10 PXCT DIAGNOSTIC Page 3 SEQ 0004
The program is setup to test many cases for each instruction, and
uses the case number to specify various parameters. All page mappings
are done separately for each case, to insure that each case is
independent of previous cases. A common routine is used to do the
actual PXCT instruction. The routine therefore provides a stable base
to insure that each test is performed in the same environment. The
effective address calculation (except for XBLT) is performed by a
routine to simulate the result that is expected. That page is then
mapped in by the program, so that no page fail will result. In case
the hardware does cause a page fail, it is easy to diagnose the
failure, because the page fail address is stored by the hardware, and
can be compared to the expected address to identify the problem.
After insuring that no illegal page fail has occured, the results of
the instruction are compared to what was expected, and again any
errors are reported.
A few checks on the program itself have been provided, to stop
the program if it gets into an unhealthy state. Usually these fatal
errors will type an error message with the pc of the error, and will
go to DDT.
The following are some things that could be tested by a future
version of this diagnostic.
1. PXCT of more instructions.
2. Other addressing modes including illegal ones. For instance,
hitting a global indirect word with bits 0-1 both set should
cause a page fail. Setting a section number to 7777 should
also cause a pagefail. Also, global indexing needs testing.
3. More wraparound cases should be tested.
4. Test PXCT for different version of the microcode. (i.e.,
KL-paging model A, KI-paging model A/B.
5. Add test where effective address calculation results in ac
reference.
DFKEC - KL10 PXCT DIAGNOSTIC Page 4 SEQ 0005
2.0 REQUIREMENTS
2.1 EQUIPMENT
A DECSYSTEM KL10 EQUIPPED WITH A MINIMUM OF 32K OF MEMORY
CONSOLE PROCESSOR
CONSOLE TERMINAL
LOAD DEVICE
2.2 STORAGE
THE PROGRAM RUNS WITHIN 32K OF MEMORY.
2.3 PRELIMINARY PROGRAMS
PREVIOUS PROCESSOR DIAGNOSTICS
3.0 PROGRAM PROCEDURES
3.1 LOADING PROCEDURE
THIS DIAGNOSTIC REQUIRES THAT THE DECSYSTEM KL10 SUBROUTINE
PROGRAM BE RESIDENT IN THE DECSYSTEM KL10.
FOLLOW THE APPROPRIATE DIAGNOSTIC LOADING PROCEDURES.
3.2 STARTING PROCEDURE
A. SELECT OPERATIONAL CONSOLE DATA SWITCH SETTINGS (REFER TO
4.0 DATA SWITCH FUNCTIONS).
B. EXEC MODE
STAND-ALONE STARTING ADDRESS IS 30000.
3.3 OPERATING PROCEDURE
A. ERROR INFORMATION MAY BE OBTAINED QUICKLY BY PRINTING
ERRORS ON THE LINE PRINTER.
B. IN THE EVENT OF A PRINT ROUTINE FAILURE THE 'NOPNT' SWITCH
AND THE 'ERSTOP' SWITCH MAY BE SET TO INHIBIT PRINTOUT
BUT HALT THE PROGRAM POINTING TO THE ERROR.
DFKEC - KL10 PXCT DIAGNOSTIC Page 5 SEQ 0006
4.0 DATA SWITCH FUNCTIONS
SWITCH STATE FUNCTION
------ ----- --------
0 ABORT 0 NORMAL OPERATION
1 ABORT AT END OF PASS
1 RSTART NOT USED
2 TOTALS NOT USED
3 NOPNT 0 NORMAL TYPEOUT
1 INHIBIT ALL PRINT/TYPEOUT
(EXCEPT FORCED)
4 PNTLPT 0 NORMAL OUTPUT TO TTY
1 PRINT ALL DATA ON LPT
5 DING 0 NO FUNCTION
1 RING TTY BELL ON ERROR
6 LOOPER 0 PROCEED TO NEXT TEST
1 ENTER LOOP ON TEST ERROR
7 ERSTOP 0 NO FUNCTION
1 HALT ON TEST ERROR
8 PALERS 0 PRINT ONLY FIRST ERROR WHEN LOOPING
1 PRINT ALL ERRORS, EVEN IF SAME ERROR
9 RELIAB 0 FAST CYCLE (1 PASS)
1 REPETITION COUNT OF 10
10 TXTINH 0 PRINT FULL ERROR MESSAGES.
1 INHIBIT COMMENT PORTION OF
ERROR MESSAGES.
11 INHPAG 0 ALLOW PAGING AND TRAP ENABLE
1 INHIBIT PAGING AND TRAPPING
12 MODDVC NOT USED
13 INHCSH 0 ALLOW CACHE USE
1 INHIBIT CACHE
DFKEC - KL10 PXCT DIAGNOSTIC Page 6 SEQ 0007
5.0 TEST DESCRIPTION
Ordinarily an instruction in a user program is performed entirely
in user address spece, and an instruction in the executive program is
performed entirely in executive address space. But to facilitate
communication between Monitor and users, the executive can execute
instructions in which selected references cross over the boundary
between user and executive address spaces. This feature is
implemented by the previous context execute, or PXCT, instruction.
The mnemonic PXCT is for convenience only and is used simply to
indicate an XCT with nonzero A bits (instruction accumulator field).
A PXCT is an XCT. Although the PXCT is given by a program in the
current context, some of the references made by the the executed
instruction can be in the previous context. A PXCT can be given only
in executive mode, but the previous context may be the user, as
following a call to the Monitor by the user. The previous context can
however be the executive, to allow communication between one level of
the executive program and another, as when the monitor gives an MUUO
to itself.
The only difference between an instruction executed by a PXCT and
an instruction performed in normal circumstances is in the way certain
of its memory and index register references are made. To work as a
PXCT, an XCT must be given in executive mode, and the bits in its A
field (9-12) must not all be 0 (in user mode A is ignored). But there
is otherwise no difference in the way the XCT itself is performed:
everything in the PXCT is done in the current (executive) context, and
the instruction to be executed by the XCT is fetched in the current
context. Moreever in the executed instruction, all accumulator
references (specified by bits 9-12 of the instruction word) are in the
current context. If the instruction makes no memory operand
references, as in a shift or immediate mode instruction, and it has no
indexing or indirection (i.e., the instruction word gives E directly),
then its execution differs in no way from the normal case. The only
difference is in memory and index references.
The previous context is specified by four guantities. Following
a call by an MUUO, the section in which the calling program was
running Iits PC section) and the fast memory block assigned to it
appear as the previous context section and current AC block in the
word read by a DATAI PAG,. For the called program, these two
quantities can then be assigned as the previous context by a DATAO
PAG,. The current AC block of the calling program also appears in the
process context word supplied by the MUUO. Various levels of the
Monitor may all use fast memory block 0; or a separate block may be
assigned to that part of the Monitor that uses PXCTs in handling MUUO
calls from other parts of the Monitor.
DFKEC - KL10 PXCT DIAGNOSTIC Page 7 SEQ 0008
Just as the current mode is indicated by the USER and PUBLIC
flags, the mode in which the calling program was running is indicated
by PREVIOUS CONTEXT USER and PREVIOUS CONTEXT PUBLIC. At a call these
flags may be set up automatically or they may be set up by a flag-PC
doubleword or a PC word. Note that the restrictions on references
made in the previous context are those of the previous context - not
those of the context in which the PXCT is given - with the single
exception that if the current program is running in section 0, the
previous context is also limited to section 0.
Which references in the executed instruction are made in the
previous context is determined by 1s in the A portion of the PXCT
instruction word as follows:
Bit References Made in Previous Context if Bit is 1
9 Effective address calculation of instruction, including both
instruction words in EXTEND (index registers, address words by
indirection); also EXTEND effective address calculation of
source pointer if bit 11 is 1 and of destination pointer if
bit 12 is 1.
10 Memory operands specified by E, whether fetch or store (for
example; PUSH source, POP or BLT destination); byte pointer;
second instruction word in EXTEND.
11 Effective address calculation of byte pointer; source in
EXTEND; effective address calculation of EXTEND source
pointer if bit 9 is 1.
12 Byte data; stack in PUSH or POP; source in BLT; destination
in EXTEND; effective address calculation of EXTEND
destination pointer if bit 9 is 1.
Previous context referencing is useful and reasonable in some
instructions but inapplicable to others. There is no trap of any
kind, and the effect of using the feature with an instruction to which
it does not apply is simply undefined.
Applicable Inapplicable
Move, XMOVEI LUUO, MUUO
EXCH, BLT, XBLT AOBJN, AOBJP
Half word, XHLLI JUMP, AOJ, SOJ
Arithmetic JSR, JSP, JSA, JRA, JRST
Boolean PUSHJ, POPJ
Double move XCT, PXCT
DFKEC - KL10 PXCT DIAGNOSTIC Page 8 SEQ 0009
CAI, CAM Shift-rotate
SKIP, AOS, SOS I/O
Logical test
PUSH, POP, ADJSP
Byte
EXTEND
MAP
Note that no jumps can use previous context referencing. Even
among the instructions to which such referencing is applicable, only a
limited number of the sixteen possible bit combinations is useful or
meaningful. Doing an effective address calculation in the previous
context (selected by bit 9 or 11) makes sense only if the
corresponding data access is also in the previous context (as selected
by bit 10 or 12 except 11 or 12 for EXTEND).
Only these combinations are permitted.
Instructions 9 10 11 12 References in Previous Context
General 0 1 0 0 Data
1 1 0 0 E, data
Immediate 1 0 0 0 E
BLT 0 0 0 1 Source
0 1 0 0 Destination
0 1 0 1 Source, destination
1 1 0 0 E, destination
1 1 0 1 E, source, destination
XBLT 0 0 1 0 Source
0 0 0 1 Destination
0 0 1 1 Source, destination
Stack 0 0 0 1 Stack
0 1 0 1 Memory data
0 1 0 1 Memory data, stack
1 1 0 0 E, memory data
1 1 0 1 E, memory data, stack
Byte 0 0 0 1 Data
0 0 1 1 Pointer E, data
0 1 1 1 Pointer, pointer E, data
1 1 1 1 E, pointer, pointer E, data
EXTEND 0 0 0 1 Destination
DFKEC - KL10 PXCT DIAGNOSTIC Page 9 SEQ 0010
(other than 1 0 0 1 E(=Y), destination pointer, destination
XBLT) 0 0 1 0 Source
1 0 1 0 E(=Y), source pointer, source
0 0 1 1 Source, destination
1 0 1 1 E(=Y), pointers, source, destination
Execution of a BLT by a PXCT is limited to these three cases:
1. Where all operations, regardless of context, are in section
0.
2. Where the previous context fast memory block is being saved
in or restored from the current context, which may be any
section. (But remember that regardless of context, a
BLT-given in-section address in the range 0-17 always refers
to fast memory. Hence an AC block can never be saved in or
restored from the first sixteen storage locations in any
section.)
3. Where all operations are confined to a single section in the
previous context, as would be the case when clearing a user
page.
In all other circumstances, XBLT must be used instead.
DFKEC - KL10 PXCT DIAGNOSTIC Page 10 SEQ 0011
6.0 ERRORS
ERRORS ARE PRINTED ON THE TTY OR LINE PRINTER. THERE ARE
TWO TYPES OF PROGRAM ERROR PRINTOUT.
THE FIRST TYPE IS THE STANDARD SUBROUTINE PACKAGE ERROR MACRO
PRINTOUT WHICH CONTAINS THE TEST TITLE, THE PC OF THE FAILURE,
TEST DESCRIPTION AND THE CORRECT DATA, ACTUAL DATA, AND THE
DISCREPANCY BETWEEN THE TWO.
THE SECOND TYPE IS IMPLEMENTED COMPLETELY IN THE PROGRAM.
THIS TYPE OF ERROR REPORT IS USED TO DISPLAY THE CURRENT TEST
CONDITIONS. AFTER DISPLAYING COMMON PARAMETERS A DISPATCH
IS MADE TO SHOW INDIVIDUAL PARAMETERS.
7.0 ITERATION COUNTER
THE ITERATION COUNT OF THE PROGRAM IS PRINTED BY THE
CONSOLE PROCESSOR.
8.0 OPERATIONAL VARIATIONS
A. DIAGNOSTIC MONITOR
THE PROGRAM IS USABLE WITH THE DIAGNOSTIC MONITOR TO PROVIDE
RELIABILITY AND ACCEPTANCE TESTS FOR THE EXTENDED
INSTRUCTION SET MICRO-CODE. THE FOLLOWING INFORMATION MAY
BE USEFUL:
1. THE DIAGNOSTIC MONITOR TRANSFERS CONTROL TO THE PROGRAM
AND STARTS IT AT LOCATION 30002.
2. MONCTL - LOCATION 30043 IS USED AS THE DIAGNOSTIC MONITOR
CONTROL WORD.
LH = 0, STAND-ALONE OPERATION
-1, RUNNING UNDER DIAGNOSTIC MONITOR
RH = RIGHT HALF OF CONSOLE SWITCHES IF UNDER
DIAGNOSTIC MONITOR CONTROL.
9.0 MISCELLANEOUS
10.0 HISTORY FILE
11.0 DOCUMENTATION FILE
12.0 LISTING
HISTORY FILE FOR DFKEC
---------------------- SEQ 0012
---------------------------------------------------------------
CODE: MAINDEC-10-DFKEC
TITLE: DECSYSTEM KL10 PXCT DIAGNOSTIC
VERSION: 0.2
DATE: SEPTEMBER 1981
AUTHOR: JOHN R. KIRCHOFF
REASON: MAJOR REVISION TO CORRECT PROGRAM BUGS AND OPERATION.
ALSO, THE FORMAT AND DOCUMENTATION OF THE LISTING WAS
VASTLY IMPROVED TO BRING IT UP TO DIAGNOSTIC STANDARDS.
---------------------------------------------------------------
VERSION: 0.1
DATE: JULY 1978
AUTHOR: EDWARD G. PRENTICE
REASON: ORIGINAL RELEASE OF THIS PROGRAM FOR KL-10.
---------------------------------------------------------------
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2^ DECDOC VER 00.24 4-SEP-81 16:03:18 PAGE 1
SEQ 0013
DOCUMENT
**************
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2^
**************
COPYRIGHT 1981
DIGITAL EQUIPMENT CORPORATION
MAYNARD, MASS. 01754
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2^ DECDOC VER 00.24 4-SEP-81 16:03:18 PAGE 2
SEQ 0014
TABLE OF CONTENTS
*******************
34 DIAGNOSTIC PARAMETERS
207 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, SEPT 18,1979
242 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, SEPT 18,1979
448 ERROR HANDLING UUO DEFINITIONS, SEPT 18,1979
486 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, SEPT 18,1979
814 TEST CONTROL SECTION
902 TEST SECTION
2093 SUPPORT ROUTINES
3357 STORAGE SPECIFIC TO THE PXCT TEST
4269 *STOR* RESERVED STORAGE, SEPT 18,1979
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2^ DECDOC VER 00.24 4-SEP-81 16:03:18 PAGE 3
SEQ 0015
16 COPYRIGHT (C) 1981
DIGITAL EQUIPMENT CORP.
MARLBORO, MASS. 01754
20 AUTHOR: JOHN R. KIRCHOFF
EDWARD G. PRENTICE
23 MAINTAINER: LARGE SYSTEMS DIAGNOSTIC GROUP
25 ASSEMBLE AS:
DFKEC,DFKEC/C=DFKECT,PARAM.KLM,FIXED.KLM,DFKECM,STOR.KLM
*****************************************************************
34 DIAGNOSTIC PARAMETERS
*****************************************************************
37 SUBROUTINE ASSEMBLY PARAMETERS
66 AC DEFINITIONS
85 APRID FLAG DEFINITIONS
98 FLAG FOR EA CALCULATION PARAMETER IN AC C
104 MISCELLANOUS DEFINITIONS
140 EPT/UPT DEFINITIONS
149 MACROS
163 INDIRECT WORD DEFINITIONS
L IS THE MNEMONIC USED TO GENERATE A LOCAL INDIRECT WORD
G IS USED FOR GLOBAL INDIRECTING.
184 OPDEFS
*****************************************************************
207 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, SEPT 18,1979
*****************************************************************
212 DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE)
LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2^ DECDOC VER 00.24 4-SEP-81 16:03:18 PAGE 4
SEQ 0016
*****************************************************************
242 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, SEPT 18,1979
*****************************************************************
245 SPECIAL SUBPROGRAM LINKAGES
256 SPECIAL SUBROUTINE FATAL HALTS
USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
*****************************************************************
448 ERROR HANDLING UUO DEFINITIONS, SEPT 18,1979
*****************************************************************
*****************************************************************
486 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, SEPT 18,1979
*****************************************************************
*****************************************************************
814 TEST CONTROL SECTION
*****************************************************************
819 START - STARTUP CODE
870 STARTA - PROGRAM PASS RESTART SECTION
881 TSTLOP - MAIN LOOP
*****************************************************************
902 TEST SECTION
*****************************************************************
905 .MOVE - TEST OF 'PXCT N,[MOVE A,Y]'
1073 .MOVE2 - TEST OF PXCT N,[MOVEM A,Y]'>
1110 .BLT - TEST OF 'PXCT N,[BLT A,Y]'
1369 .XBLT - TEST OF 'PXCT N,[EXTEND A,[XBLT]]'>
1650 .PUSH - TEST OF 'PXCT N,[PUSH A,Y]'
1849 .PUSH2 - TEST OF 'PXCT N,[POP A,Y]'
1887 .LDB - TEST OF 'PXCT N,[LDB A,Y]'
2037 .DPB - TEST OF 'PXCT N,[DPB A,Y]'
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2^ DECDOC VER 00.24 4-SEP-81 16:03:18 PAGE 5
SEQ 0017
*****************************************************************
2093 SUPPORT ROUTINES
*****************************************************************
2096 EACALC - EXTENDED EFFECTIVE ADDRESS CALCULATION
ENTER WITH EFFECTIVE ADDRESS (IN A) OF INSTRUCTION FORMAT WORD (IFW)
TO WHICH THE EFFECTIVE ADDRESS CALCULATION IS TO BE APPLIED, AND
BITS 0,1 SET ACCORDINGLY.
B0(A)=1 => PREVIOUS CONTEXT FOR FETCH OF IFW
B1(A)=1 => PREVIOUS CONTEXT FOR EFFECTIVE ADDRESS CALCULATION OF IFW
RETURNS+1 ALWAYS, EFFECTIVE ADDRESS IN A(6-35), AND LOCAL/GLOBAL SET
ACCORDINGLY IN A(0) (1=LOCAL, 0=GLOBAL)
2237 XXREAD - SPECIAL CXREAD FOR SETTING UP MAPPINGS
ENTER W/ ADR IN A, CONTEXT IN C (C=0 => CURRENT), EXIT W/RESULT IN B
THIS ROUTINE WORKS LIKE CXREAD, BUT ALSO SETS UP ADDR MODE CHAINS IN
DIFFERENT SECTIONS
2309 CXREAD - CONTEXT READ...
ENTER W/ ADR IN A, CONTEXT IN C (C=0 => CURRENT), EXIT W/RESULT IN B
2452 KLPSET - KL PAGING INITIALIZATION ROUTINE
THIS ROUTINE INITIALIZES PAGING. ALL PAGE TABLES ARE CLEARED
ALSO ALL MICROCODE VERSION DEPENDENT LOCATIONS (EPT,UPT) ARE ACCESSED
THRU INDIRECT POINTERS SETUP HERE.
2586 CLRPGS - CLEAR PAGING TABLES
2662 BADUUO - HERE FOR UNRECOGNIZED UUO
2687 DOPXCT - ROUTINE TO DO PXCT
THIS IS THE ROUTINE THAT ACTUALLY SETS UP FOR THE PXCT INSTR. IT
MAPS IN ITSELF, AS WELL AS THE ACTUAL PXCT INSTR. ALSO, VARIOUS
AC TRANSACTIONS ARE PERFORMED. RETURN AFTER PXCT INSTR IS TO 'S0FIX'.
2789 MUUOH - MUUO HANDLER
2801 PFH - PAGE FAULT HANDLER
2841 PMAPRT - PAGE MAP ROUTINE
ENTER WITH PHYSICAL ADDR OF PHSICAL PAGE TO BE MAPPED IN A
VIRTUAL SECTION IN B, VIRTUAL PAGE NUMBER IN C,
AND CONTEXT (0=EXEC) IN T3
ALL ACS ARE PRESERVED, AND MOST ARE USED.
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2^ DECDOC VER 00.24 4-SEP-81 16:03:18 PAGE 6
SEQ 0018
2977 FATALP - HERE ON FATAL PGM ERROR TO PRINT PC AND MSG
3003 SAV15 - SAVE AC-0 TO AC-16 ON STACK
3020 RES15 - RECOVER AC-0 TO AC-16 FROM STACK
3037 PXDISP - PXCT PARAMETER DISPLAY ROUTINE
THIS ROUTINE IS USED TO DISPLAY THE CURRENT TEST CONDITIONS.
AFTER DISPLAYING COMMON PARAMETERS, A SPECIAL DISPATCH IS MADE TO
SHOW INDIVIDUAL PARAMETERS (SUCH AS THE AC FOR STACK INSTRS).
3132 SETCXT - SETUP PREVIOUS-CONTEXT-USER BIT AND
PREVIOUS-CONTEXT-SECTION FIELD
3250 CASECK - CHECK FOR SECTION-0 AND GLOBAL ADDRESSING CASE
THIS ROUTINE ELIMINATES SOME ILLEGAL CASES FROM THE TEST.
3265 UMAP - DO USER MAP OF VIRTUAL TO PHYSICAL, CHECKING ACCESS
3273 EMAP - DO EXECUTIVE MAP OF VIRTUAL TO PHYSICAL, CHECKING ACCESS
3318 AMAP - MAP IN ADDR MODE TABLE
3340 RANDOM - GENERATE PSEUDO-RANDOM NUMBERS
*****************************************************************
3357 STORAGE SPECIFIC TO THE PXCT TEST
*****************************************************************
3371 TEST DISPATCH AREA. PUT A 'RTN' HERE TO SKIP A TEST.
3404 THESE PTRS HOLD THE ADDRESS OF THE PTRS THAT ARE DIFFERENT IN DIFF
VERSIONS OF THE MICROCODE (MUUO/PGFAIL/SECTION PTRS).
3420 PXCTGO,PXCTAD - FLAGS AND ADDR OF A PXCT INSTR FOR XJRSTF
3533 EMER.P - THIS LOCATION HOLDS A STK PTR THAT WILL WORK WITHOUT DESTROYING
THE REST OF THE STACK, AND WITHOUT KNOWING THE REAL STK PTRS' VALUE.
4002 TO TRACE, PUT A HALT INSTRUCTION IN PXCTBP. WHEN KL HALTS, TYPE:
>. LP
LP Y OR N ? - Y ;ANSWER Y TO TURN ON LPT
>. FX0
>. FX11
>. FX12
>. RP PL,ALL ;THIS WILL TRACE ALL UCODE STEPS
>. ^C^C ;TO STOP, TYPE CTRL-C WHEN PC CHANGES
>. LP
LP Y OR N ? - N ;ANSWER N TO TURN OFF LPT
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2^ DECDOC VER 00.24 4-SEP-81 16:03:18 PAGE 7
SEQ 0019
4015 PXCTBP,PXCTIN - ACTUAL PXCT GOES HERE
4080 AMODTB - ADDRESSING MODE TABLE
HERE IS THE TABLE OF ALL THE ADDRESSING MODES USED.
4103 LGCASE - HERE IS THE TABLE STATING WHETHER OR NOT THE ADDRESS GOES
GLOBAL IN THE AMODTB TABLE.
THIS IS A PARALLEL TABLE, AND SHOULD BE UPDATED TOO.
4142 CASTAB - HERE IS THE TABLE CONTAINING THE NUMBER OF CASES TO TRY FOR
EACH INSTRUCTION.
4153 PAGE STORAGE
*****************************************************************
4269 *STOR* RESERVED STORAGE, SEPT 18,1979
*****************************************************************
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 1
DFKECT MAC 5-Mar-81 13:56 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, SEPT 18,1979 SEQ 0020
1 ;DFKEC
2
3 000000 MCNVER==0
4 000002 DECVER==2
5
6 XLIST
7 LIST
8 LALL
9
10 NAME \MCNVER,\DECVER^
11
12 TITLE DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2^
13
14 XALL
15
16 ;*COPYRIGHT (C) 1981
17 ;*DIGITAL EQUIPMENT CORP.
18 ;*MARLBORO, MASS. 01754
19
20 ;*AUTHOR: JOHN R. KIRCHOFF
21 ;* EDWARD G. PRENTICE
22
23 ;*MAINTAINER: LARGE SYSTEMS DIAGNOSTIC GROUP
24
25 ;*ASSEMBLE AS:
26 ;*DFKEC,DFKEC/C=DFKECT,PARAM.KLM,FIXED.KLM,DFKECM,STOR.KLM
27
28 000137 LOC 137
29 000137 000000 000002 MCNVER,,DECVER
30
31 NOSYM
32
33 IF2,<PRINTX [STARTING PASS 2]>
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 2
DFKECT MAC 5-Mar-81 13:56 DIAGNOSTIC PARAMETERS SEQ 0021
34 SUBTTL DIAGNOSTIC PARAMETERS
35
36 ; **********************************************************************
37 ;*SUBROUTINE ASSEMBLY PARAMETERS
38 ; **********************************************************************
39
40 000001 EXCASB==1 ;EXEC MODE ASSEMBLY (ONLY)
41 000001 PGMEND==1 ;SUPPLY END STATEMENT
42 000001 KL10==1 ;PGM TO RUN ONLY ON KL10
43 000001 PL10P0==1
44 000100 DEBUG=100 ;SUPPLY 100 WDS OF DEBUG SPACE
45 000010 ITERAT==10 ;NUMBER OF ITERATIONS
46
47 030000 SADR1=BEGIN
48 030000 SADR2=BEGIN
49 030007 SADR3=DDTSRT
50 030007 SADR5=DDTSRT
51 030007 SADR6=DDTSRT
52 000000 SADR7=0
53 000000 SADR8=0
54 000000 SADR9=0
55 000000 SADR10=0
56 000000 SADR11=0
57
58 137526 402651 PAREA1==137526,,402651 ;RANDOM SEED
59 000000 PAREA2=0
60 444653 454300 PAREA3==SIXBIT/DFKEC/
61 000000 PAREA4=0
62 000000 PAREA5=0
63 000000 PAREA6=0
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 3
DFKECT MAC 5-Mar-81 13:56 DIAGNOSTIC PARAMETERS SEQ 0022
64
65 ; **********************************************************************
66 ;*AC DEFINITIONS
67 ; **********************************************************************
68
69 000001 A=1 ;GENERAL USE, PASSING ARGS
70 000002 B=A+1
71 000003 C=B+1
72 000004 D=C+1
73 000005 E=D+1
74 000006 F=E+1
75
76 000007 T0=F+1
77 000010 T1=T0+1
78 000011 T2=T1+1
79 000012 T3=T2+1
80 000013 T4=T3+1
81
82 000016 TN=16 ;CURRENT TEST NUMBER
83
84 ; **********************************************************************
85 ;*APRID FLAG DEFINITIONS
86 ; **********************************************************************
87
88 400000 000000 KLXTST= 1B0 ;ON=HDW+SW BOTH ALLOW EXT ADDR, OFF=NOT BOTH
89 200000 000000 KLPGNG= 1B1 ;ON=KL-PAGING, OFF=KI-PAGING
90 100000 000000 UCODX= 1B2 ;ON=EXTENDED UCODE, OFF=UNEXTENDED UCODE
91 040000 000000 UCODSP= 1B3 ;ON=SPECIAL FLAVOR OF UCODE...
92 020000 000000 KL10X= 1B4 ;ON=EXTENDED KL (HDW), OFF=UNEXTENDED
93 010000 000000 KLAKLB= 1B5 ;ON=KLA OR KLB UCODE
94
95 320000 000000 KLXCON= KLPGNG!UCODX!KL10X ;CONDITIONS NECESSARY TO RUN PXCT TST
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 4
DFKECT MAC 5-Mar-81 13:56 DIAGNOSTIC PARAMETERS SEQ 0023
96
97 ; **********************************************************************
98 ;*FLAG FOR EA CALCULATION PARAMETER IN AC C
99 ; **********************************************************************
100
101 400000 000000 LOCREF= 1B0 ;LOCAL/GLOBAL REFERENCE FLAG
102
103 ; **********************************************************************
104 ;*MISCELLANOUS DEFINITIONS
105 ; **********************************************************************
106
107 000000 EPT==0 ;EPT AT ZERO WHERE SUBRTN EXPECTS IT
108 000020 PCSECT==20 ;SECTION NUMBER FOR PC OF PXCT INSTR
109 220500 PCSHW= 220500 ;PREVIOUS CONTEXT SECTION BYTE PTR
110 300300 PACB= 300300 ;PREVIOUS AC BLOCK BYTE PTR
111 330300 CACB= 330300 ;CURRENT AC BLOCK BYTE PTR
112
113 000002 MYACS= 2 ;MY AC BLOCK #
114
115 000003 USRACS= 3 ;USER AC BLOCK #
116
117 000006 REVBLK= 6 ;RESERVED AC BLOCK #
118 000000 CSTMSK= 0 ;HOLDS CST MASK
119 000001 CSTDAT= 1 ;HOLDS CST DATA
120 000002 CBR= 2 ;CST BASE REG
121 000003 SPTBR= 3 ;HOLDS SPT BASE REG
122
123 000037 MAXSEC= 37 ;MAXIMUM ALLOWABLE SECTION NUMBER
124 000007 NPAGES= 7 ;NUMBER OF RESERVED PAGES
125 000002 INDMAX= 2 ;MAX INDIRECT CHAIN LENGTH
126
127 400000 NOSTAC= 400000 ;DON'T STORE ACCTG INFO
128 020000 TRAPF= 1B22 ;FLAG FOR TRAPPING
129 040000 KLPAGF= 1B21 ;FLAG TO TURN ON KL PAGING
130
131 104000 000000 RACCES= 1B2!1B6 ;IMMEDIATE+CACHEABLE
132 124000 000000 ACCESS= RACCES!1B4 ;READ ACCESS + WRITE ACCESS
133 124001 000000 NWACC= ACCESS!1B17 ;B17 TO DISALLOW ACCESS, BUT SETUP MAP
134
135 010000 000000 USRBIT= 1B5 ;USER MODE
136 004000 000000 UIOBIT= 1B6 ;USER I/O BIT
137 004000 000000 PCUBIT= 1B6 ;PREVIOUS CONTEXT USER
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 5
DFKECT MAC 5-Mar-81 13:56 DIAGNOSTIC PARAMETERS SEQ 0024
138
139 ; **********************************************************************
140 ;*EPT/UPT DEFINITIONS
141 ; **********************************************************************
142
143 037420 ULPTR= UPT+420 ;POINTER TO USER LUUO BLOCK
144 037430 UUONPC= UPT+430 ;8 LOCS FOR NEW MUUO PC'S
145
146 000420 UUOPTR= EPT+420 ;POINTER TO 4WD EXEC LUUO BLOCK
147
148 ; **********************************************************************
149 ;*MACROS
150 ; **********************************************************************
151
152 DEFINE FATALE (ARG),<
153 001B8 [ASCIZ\ARG\]
154 >
155 033255 LUUO1= FATALP
156
157 DEFINE .PGE (ARG),<
158 LOC <.!777>+1
159 ARG: ARG'PN= <ARG_-^D9>
160 >
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 6
DFKECT MAC 5-Mar-81 13:56 DIAGNOSTIC PARAMETERS SEQ 0025
161
162 ; **********************************************************************
163 ;*INDIRECT WORD DEFINITIONS
164 ;* L IS THE MNEMONIC USED TO GENERATE A LOCAL INDIRECT WORD
165 ;* G IS USED FOR GLOBAL INDIRECTING.
166 ; **********************************************************************
167
168 400000 000000 OPDEF L [1B0]
169
170 DEFINE G (ARG1,ARG2),<
171 IFB <ARG2>,<INSUFFICIENT ARGS>
172 IFNB <ARG2>,<
173 IFB <ARG1>,<INSUFFICIENT ARGS>
174 IFNB <ARG1>,<....%S==ARG1>
175 ....%E==<Z ARG2>
176 >
177 ....%X==<<....%E&17B17>_-^D18>
178 ....%Y==<....%E&777777>
179 ....%I==<<....%E&1B13>_-^D22>
180 BYTE (1)0,....%I (4)....%X (12)....%S (18)....%Y
181 >
182
183 ; **********************************************************************
184 ;*OPDEFS
185 ; **********************************************************************
186
187 701100 000000 OPDEF CLRPT [701100,,0] ;CLR HDW PG TBL
188 701440 000000 OPDEF SWPIA [DATAI CCA,]
189 700000 000000 OPDEF APRID [BLKI APR,]
190
191 415000 000000 OPDEF XMOVEI [SETMI]
192 254240 000000 OPDEF XJRSTF [JRST 5,]
193 254300 000000 OPDEF XJEN [JRST 6,]
194 254340 000000 OPDEF XPCW [JRST 7,]
195 254600 000000 OPDEF SFM [JRST 14,]
196
197 123000 000000 OPDEF EXTEND [123B8]
198 004000 000000 OPDEF EDIT [4B8]
199 010000 000000 OPDEF CVTBO [10B8]
200 016000 000000 OPDEF MOVSLJ [16B8]
201 020000 000000 OPDEF XBLT [20B8]
202
203 256000 000000 OPDEF PXCT [XCT]
204 254000 030064 OPDEF RTNSKP [JRST CPOPJ1]
205 076000 000000 OPDEF GOEXEC [76B8]
206 LALL
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 1
PARAM KLM 18-Sep-79 17:16 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, SEPT 18,1979 SEQ 0026
207 SUBTTL *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, SEPT 18,1979
208
209 DEFINE S,<; *********************************************************************>
210
211 ; **********************************************************************
212 ;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE)
213 ;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
214 ;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
215 ; **********************************************************************
216
217 400000 ABORT== 400000 ;ABORT PROGRAM ON PASS COMPLETION
218 200000 RSTART==200000 ;RESTART TEST, PRINT TOTALS
219 100000 TOTALS==100000 ;PRINT TOTALS, CONTINUE
220
221 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
222 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
223 010000 DING== 010000 ;RING BELL ON ERROR
224
225 004000 LOOPER==004000 ;ENTER EXERCISE/CHECK LOOP ON ERROR
226 002000 ERSTOP==002000 ;HALT ON TEST ERROR
227 001000 PALERS==001000 ;PRINT ALL ERRORS
228
229 000400 RELIAB==000400 ;RELIABILITY MODE
230 000200 TXTINH==000200 ;INHIBIT ERROR TEXT
231 000100 INHPAG==000100 ;INHIBIT PAGING
232
233 000040 MODDVC==000040 ;MODIFY DEVICE CODE
234 000020 INHCSH==000020 ;INHIBIT CACHE
235 000010 OPRSEL==000010 ;OPERATOR SELECTION
236
237 000004 CHAIN== 000004 ;CHAIN CONTROL SWITCH
238
239 000002 KAHZ50==000002 ;KA10 50 HERTZ POWER
240
241 ;SWITCH 17 RESERVED !!!
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 2
PARAM KLM 18-Sep-79 17:16 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, SEPT 18,1979 SEQ 0027
242 SUBTTL *PARAM* PROGRAM/SUBROUTINE PARAMETERS, SEPT 18,1979
243
244 ; **********************************************************************
245 ;*SPECIAL SUBPROGRAM LINKAGES
246 ; **********************************************************************
247
248 027772 FSELNK= 27772 ;FILE SELECT LINK
249 027773 FRDLNK= 27773 ;FILE READ LINK
250 027774 LDLNK= 27774 ;LOAD LINKAGE ADDRESS
251 027775 DDTLNK= 27775 ;DDT LINKAGE ADDRESS
252 027776 MODLNK= 27776 ;OPERATIONAL MODE CHECK LINKAGE ADDRESS
253 027777 SUBLNK= 27777 ;SUBROUTINE LINKAGE ADDRESS
254
255 ; **********************************************************************
256 ;*SPECIAL SUBROUTINE FATAL HALTS
257 ;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
258 ; **********************************************************************
259
260 ;ADDRESS TAG REASON
261 ;---------------------
262
263 ; 1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION
264 ; 1011 PLERR ;FATAL PUSH LIST POINTER ERROR
265 ; 1012 PLERR1 ;INITIAL PUSH LIST POINTER ERROR
266 ; 1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT
267 ; 1014 DTEBER ;DTE20 INTERRUPT WITHOUT DOORBELL
268 ; 1015 DTECER ;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET
269 ; 1016 CPIERR ;CPU INITIALIZATION ERROR
270 ; 1017 EOPERR ;END OF PROGRAM ERROR
271 ; 1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT
272
273 ; **********************************************************************
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 3
PARAM KLM 18-Sep-79 17:16 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, SEPT 18,1979 SEQ 0028
274 ; **********************************************************************
275 ;OPERATOR DEFINITIONS (NON-UUO'S)
276 ; **********************************************************************
277
278 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL
279 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN
280 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST
281 262740 000000 OPDEF GET [POP P,] ;GET DATA FROM PUSH LIST
282 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S
283 254200 000000 OPDEF HALT [JRST 4,] ;DEFINITION FOR DDT
284 254100 000000 OPDEF JRSTF [JRST 2,] ;DEFINITION FOR DDT
285 254500 000000 OPDEF JEN [JRST 12,] ;DEFINITION FOR DDT
286
287 ; **********************************************************************
288 ;SUBROUTINE INITIALIZATION CALL
289 ; **********************************************************************
290
291 265000 030011 OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION
292
293 ; **********************************************************************
294 ;HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
295 ; **********************************************************************
296
297 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT
298 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT
299
300 ; **********************************************************************
301 ;TERMINAL INPUT UUO'S
302 ;ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
303 ;CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
304 ; **********************************************************************
305
306 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER
307 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y
308 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N
309 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD
310 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD
311 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD
312 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK
313 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK
314 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD
315 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT
316 037500 000003 OPDEF TTICLR [37B8!12B12!3] ;TTY, CLEAR INPUT
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 4
PARAM KLM 18-Sep-79 17:16 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, SEPT 18,1979 SEQ 0029
317 ;TERMINAL OUTPUT UUO'S.
318
319 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD
320 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED
321 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE
322 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED
323 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE
324 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED
325 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE
326 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED
327 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE
328 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED
329 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE
330 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED
331 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER
332 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED
333 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT
334 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED
335 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS
336 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED
337 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS
338 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED
339 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS
340 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED
341 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS
342 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED
343 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS
344 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED
345 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS
346 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED
347 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS
348 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED.
349 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS
350 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED
351 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL
352 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED
353 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6
354 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
355 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S
356 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
357 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S
358 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
359 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S
360 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 5
PARAM KLM 18-Sep-79 17:16 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, SEPT 18,1979 SEQ 0030
361 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME
362 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD
363 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED
364 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE
365 037100 000002 OPDEF PNTCW [37B8!2B12!2] ;PRINT DF10 CONTROL WORD
366 037140 000002 OPDEF PNTCWF [37B8!3B12!2] ;PRINT DF10 CONTROL WORD FORCED
367 037000 030242 OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
368 037040 030242 OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
369 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE
370 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED
371 037000 030243 OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
372 037040 030243 OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
373 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL
374
375 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE
376
377 DEFINE PMSG (ARG),<
378 PSIXM [SIXBIT\ARG'_\]>
379
380 DEFINE PMSGF (ARG),<
381 PSIXMF [SIXBIT\ARG'_\]>
382
383 ;SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
384 ; CONSERVES CORE OVER ASCIZ
385
386 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]>
387
388 ;CONSOLE SWITCH INPUT UUO.
389 ;READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
390 ; USER MODE.
391
392 037400 000002 OPDEF SWITCH [37B8!10B12!2] ;INPUT CONSOLE SWITCHES
393
394 ;CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
395 ;EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
396
397 037540 000004 OPDEF CLOKOP [37B8!13B12!4] ;CLOCK OPERATION UUO - PDP-11 CLOCK
398 037200 000004 OPDEF MTROP [37B8!4B12!4] ;CLOCK OPERATION UUO - DK20 METER
399
400 ;KL10 ONLY CACHE OPERATION UUO'S
401
402 037040 000004 OPDEF CINVAL [37B8!1B12!4] ;CACHE INVALIDATE
403 037100 000004 OPDEF CFLUSH [37B8!2B12!4] ;CACHE FLUSH
404 037140 000004 OPDEF CWRTBI [37B8!3B12!4] ;CACHE WRITE-BACK & INVALIDATE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 6
PARAM KLM 18-Sep-79 17:16 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, SEPT 18,1979 SEQ 0031
405 ;END OF PASS/PROGRAM UUOS
406
407 ;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT,
408 ;DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
409
410 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS
411 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO
412
413 ;MEMORY MANAGEMENT UUO'S
414 ;UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
415 ;ADDRESS CONVERSION, ETC...
416
417 037000 000004 OPDEF MAPMEM [37B8!0B12!4] ;MAP MEMORY
418 037500 000002 OPDEF MEMZRO [37B8!12B12!2] ;ZERO MEMORY
419 037440 000002 OPDEF MEMSEG [37B8!11B12!2] ;SETUP MEMORY SEGMENT
420 037540 000002 OPDEF MAPADR [37B8!13B12!2] ;VIRTUAL TO PHYSICAL ADR CONVERT
421 037640 000002 OPDEF MAPCNK [37B8!15B12!2] ;MAP MEMORY CHUNK
422 037600 000002 OPDEF MAPSET [37B8!14B12!2] ;SET KI10 EXEC PAGE MAP
423 037740 000002 OPDEF MAPPNT [37B8!17B12!2] ;PRINT MEMORY MAP
424
425 ;DEVICE CODE MODIFICATION UUO
426 ;ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
427 ;IOT'S TO A DIFFERENT DEVICE CODE.
428
429 037340 000002 OPDEF MODPCU [37B8!7B12!2] ;MODIFY PERHIPERAL CODE, USER
430 037300 000002 OPDEF MODPCP [37B8!6B12!2] ;MODIFY PERHIPERAL CODE, PROGRAM
431
432 030000 IFNDEF MODDVL,<MODDVL==BEGIN>
433 030000 IFNDEF MODDVU,<MODDVU==BEGIN>
434
435 ;"DIAMON" FILE SELECTION AND READ UUOS
436
437 037240 000004 OPDEF FSELECT [37B8!5B12!4] ;FILE SELECTION
438 037300 000004 OPDEF FREAD [37B8!6B12!4] ;FILE READ - ASCII DATA
439 037340 000004 OPDEF FRD36 [37B8!7B12!4] ;FILE READ - 36 BIT DATA
440 037400 000004 OPDEF FRD8 [37B8!10B12!4] ;FILE READ - 8 BIT DATA
441
442 ;KI10 ONLY UUO FOR PRINTING MARGIN VALUES
443
444 037700 000002 OPDEF PNTMGN [37B8!16B12!2] ;PRINT MARGIN VALUE
445
446 XLIST
447 IFNDEF KLOLD,<LIST
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 7
PARAM KLM 18-Sep-79 17:16 ERROR HANDLING UUO DEFINITIONS, SEPT 18,1979 SEQ 0032
448 SUBTTL ERROR HANDLING UUO DEFINITIONS, SEPT 18,1979
449
450 ; **********************************************************************
451 ;ERROR HANDLER PARAMETERS
452 ; **********************************************************************
453
454 036000 000000 OPDEF ERUUO [36B8] ;ERROR CALL UUO
455 035000 000000 OPDEF ERLOOP [35B8] ;ERROR LOOP, CHECKS PC,REPT,REPT1,ERROR
456 035040 000000 OPDEF ERLP1 [35B8!1B12] ;ERROR LOOP IF PC'S MATCH
457 035100 000000 OPDEF ERLP2 [35B8!2B12] ;ERROR LOOP IF ANY ERROR
458 034000 000000 OPDEF REPTUO [34B8] ;REPEAT LOOP UUO
459
460 ;THE ERROR HANDLER MACROS
461
462 ;A MACRO TO REPORT AN ERROR AND LOOP
463
464 DEFINE ERROR (ADR,FORMAT,CORECT,ACTUAL,F,D,ERR)<
465 SALL
466 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
467 CORECT,,ACTUAL
468 [SIXBIT\D'_\],,ERR]
469 XALL
470 ERLOOP ADR ;IF ERROR, LOOP TO ADR
471 >
472
473 ;A MACRO TO REPORT AN ERROR AND NOT LOOP
474
475 DEFINE ERROR1 (FORMAT,CORECT,ACTUAL,F,D,ERR)<
476 SALL
477 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
478 CORECT,,ACTUAL
479 [SIXBIT\D'_\],,ERR]
480 XALL>
481
482 >;END OF KLOLD CONDITIONAL
483
484 XLIST
485 LIST
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 1
FIXED KLM 18-Sep-79 17:18 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, SEPT 18,1979 SEQ 0033
486 SUBTTL *FIXED* FIXED CONTROL AND DISPATCH STORAGE, SEPT 18,1979
487
488 030000 LOC 30000
489
490 ; **********************************************************************
491 ;PROGRAM STARTING ADDRESSES
492 ;THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
493 ;NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
494 ;OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
495 ;MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
496 ; **********************************************************************
497
498 030000 254 00 04 00 027776 BEGIN: JRST @MODLNK ;STAND-ALONE START
499 030001 254 00 0 00 030600 $START: JRST START ;MODE CHECK STARTING ADDRESS
500
501 030002 254 00 1 00 027774 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START
502
503 030003 254 00 1 00 027774 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START
504
505 030004 254 00 0 00 030000 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START
506
507 030005 254 00 0 00 030000 PFSTRT: JRST SADR2 ;POWER FAIL RESTART
508
509 030006 254 00 0 00 030007 REENTR: JRST SADR3 ;REENTER START(USUALLY USER MODE ONLY)
510
511 030007 SRTDDT: ;COMMONLY MISTAKEN NAME FOR "DDTSRT"
512 030007 254 00 1 00 027775 DDTSRT: JRST @DDTLNK ;DDT START
513
514 030010 254 00 0 00 030637 BEGIN1: JRST STARTA ;LOOP START(END OF PASS COMES HERE)
515 030011 254 00 1 00 027777 SBINIT: JRST @SUBLNK ;PMGINT LINKAGE
516 030012 000000 000000 RETURN: 0 ;RETURN ADDRESS STORAGE
517
518 030013 000000 000000 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS
519 030014 000000 000000 START2: SADR8 ; "
520 030015 000000 000000 START3: SADR9 ; "
521 030016 000000 000000 START4: SADR10 ; "
522 030017 000000 000000 START5: SADR11 ; "
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 2
FIXED KLM 18-Sep-79 17:18 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, SEPT 18,1979 SEQ 0034
523 ; **********************************************************************
524 ;PROGRAM FIXED PARAMETER AREA
525 ; **********************************************************************
526
527 030020 444653 454300 PNTNAM: PAREA3 ;SIXBIT PROGRAM NAME
528 030021 000000 000000 PNTEXT: PAREA4 ;SIXBIT PROGRAM EXTENSION
529 030022 137526 402651 RANDBS: PAREA1 ;RANDOM BASE NUMBER
530 030023 000000 000000 SWTEXR: PAREA2 ;SYSTEM EXERCISER SWITCHES
531 030024 000000 000010 ITRCNT: ITERAT ;PROGRAM ITERATIONS
532 030025 000000 033623 $PNAME: PGMNAM ;POINTER TO PROGRAMS NAME
533 030026 000000 000002 $PVER: MCNVER,,DECVER ;MCN & DEC VERSION LEVEL
534 030027 000000 030000 $MODVL: MODDVL ;DEVICE CODE CHANGE LOWER LIMIT
535 030030 000000 030000 $MODVU: MODDVU ;DEVICE CODE CHANGE UPPER LIMIT
536 030031 777777 777777 $EMODE: IFNDEF EXCASB,<0> IFDEF EXCASB,<-1> ;EXEC ALLOWED
537 030032 000000 000000 $UMODE: IFNDEF USRASB,<0> IFDEF USRASB,<-1> ;USER ALLOWED
538 030033 000000 000000 $DSKUP: IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1> ;DISK UPDATE MODE
539 030034 000000 000000 $MMAP: IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1> ;ALLOW MEMORY RTNS
540 030035 000000 000000 PAREA7: PAREA5 ;OPTIONAL PARAMETER
541 030036 000000 000000 PAREA8: PAREA6 ;OPTIONAL PARAMETER
542
543 ; **********************************************************************
544 ;PROGRAM VARIABLE PARAMETER AREA
545 ; **********************************************************************
546
547 030037 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG
548 030040 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10
549 030041 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
550 030042 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG
551 030043 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG
552 030044 000000 000000 MONTEN: 0 ;-1= LOADED BY 10
553 030045 000000 000000 CLOCKF: 0 ;CLOCK TICKED FLAG
554 030046 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS
555 030047 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT
556 030050 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG
557 030051 000000 000000 TESTPC: 0 ;SUBTEST PC
558 030052 000000 000000 ERRPC: 0 ;ERROR PC
559 030053 000000 000000 ERRTLS: 0 ;ERROR TOTALS
560 030054 000000 000000 TICKS: 0 ;PROGRAM RUNNING TIME
561 030055 000000 000000 MARGIN: 0 ;KI10 MARGIN WORD VALUE
562 030056 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 3
FIXED KLM 18-Sep-79 17:18 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, SEPT 18,1979 SEQ 0035
563 ; **********************************************************************
564 ;SPECIAL PROGRAM DISPATCH ADDRESSES
565 ; **********************************************************************
566
567 030057 037 12 0 00 000004 BEGEND: ENDUUO ;END OF PASS
568 030060 254 00 0 00 030010 $BEND1: JRST BEGIN1 ;KEEP RUNNING PROGRAM
569 030061 037 16 0 00 000004 $BEND2: EOPUUO ;END OF PROGRAM - NO RETURN
570 030062 000000 030007 CNTLC: SADR5 ;CONTROL C XFER ADDRESS
571 030063 000000 030007 ALTMGO: SADR6 ;ALTMODE XFER ADDRESS
572 030064 CPOPJ1: ;SKIP RETURN
573 030064 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO
574 030065 CPOPJ: ;NON-SKIP REGULAR RETURN
575 030065 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN
576 030066 255 00 0 00 000000 UUORTN: JFCL ;ADDITIONAL USERS UUO ROUTINE
577 030067 255 00 0 00 000000 $UORTX: JFCL ;ADDITIONAL UUO LINKAGE
578 030070 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX)
579 030071 255 00 0 00 000000 $ITRHL: JFCL ;ADDITIONAL INTERRUPT LINKAGE
580 030072 255 00 0 00 000000 $ITRX1: JFCL ; "
581 030073 255 00 0 00 000000 $USRHL: JFCL ; "
582 030074 255 00 0 00 000000 $RSRTX: JFCL ;ADDITIONAL POWER FAIL LINKAGE
583 030075 255 00 0 00 000000 $RSRTY: JFCL ; "
584 030076 255 00 0 00 000000 RESRT1: JFCL ; INITED AS (JRST RESRTX)
585 030077 255 00 0 00 000000 RESRT2: JFCL ; "
586 030100 255 00 0 00 000000 $PARER: JFCL ;ADDITIONAL PARITY ERROR LINKAGE
587 030101 255 00 0 00 000000 ERMORE: JFCL ;ADDITIONAL ERROR HANDLER LINKAGE
588 030102 254 04 0 00 030102 HALT . ;IMPROPER TRANSFER HALT
589
590 030103 000000 000000 $PSHER: 0 ;INITED AS (JRST PSHERR)
591 030104 000000 000000 ITRCH1: 0 ;PC & FLAGS OF CURRENT INTERRUPT
592 030105 000000 000000 0 ;INITED AS (JRST $ITRC1)
593
594 ; **********************************************************************
595 ;PROCESSOR CONTROL STORAGE
596 ; **********************************************************************
597
598 030106 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0
599 030107 000000 000000 $SVPI: 0 ;INTERRUPT SAVED PI
600 030110 000000 000000 $SVAPR: 0 ;INTERRUPT SAVED APR
601 030111 000000 000000 $SVPAG: 0 ;INTERRUPT SAVED PAG (DATAI)
602 030112 000000 000000 $SPAG1: 0 ;INTERRUPT SAVED PAG (CONI)
603
604 030113 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO
605 030114 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO
606
607 030115 000000 000000 REPTU: 0 ;REPEAT UUO ITERATIONS
608 030116 000000 000000 SCOPE: 0 ;ERROR HANDLER SCOPE LOOP FLAG
609 030117 000000 000000 %CORFLG:0 ; " CORRECT FLAG
610 030120 000000 000000 %COREC: 0 ; " CORRECT DATA
611 030121 000000 000000 %ACTFL: 0 ; " ACTUAL FLAG
612 030122 000000 000000 %ACTUL: 0 ; " ACTUAL DATA
613 030123 000000 000000 %DISCR: 0 ; " DISCREPENCY DATA
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 4
FIXED KLM 18-Sep-79 17:18 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, SEPT 18,1979 SEQ 0036
614 ; **********************************************************************
615 ;UUO DISPATCH TABLE
616 ; **********************************************************************
617 XLIST
618 LIST
619 030124 033255 030070 UUODIS: LUUO1,,$UUOER
620 030125 030070 030070 LUUO3,,LUUO2
621 030126 030070 030070 LUUO5,,LUUO4
622 030127 030070 030070 LUUO7,,LUUO6
623 030130 030070 030070 LUUO11,,LUUO10
624 030131 030070 030070 LUUO13,,LUUO12
625 030132 030070 030070 LUUO15,,LUUO14
626 030133 030070 030070 LUUO17,,LUUO16
627 030134 030070 030070 LUUO21,,LUUO20
628 030135 030070 030070 LUUO23,,LUUO22
629 030136 030070 030070 LUUO25,,LUUO24
630 030137 030070 030070 LUUO27,,LUUO26
631 030140 030070 030070 LUUO31,,LUUO30
632 030141 030070 030070 LUUO33,,LUUO32
633
634 ; **********************************************************************
635 ;MEMORY MANAGMENT STORAGE
636 ; **********************************************************************
637
638 030142 000000 000000 DF22F: 0 ;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
639 030143 000000 000000 MAPNEW: 0 ;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
640 030144 000000 000000 MEMTOT: 0 ;TOTAL MEMORY SIZE IN K (1024.)
641 030145 000000 000000 MEMLOW: 0 ;LOWEST USABLE MEMORY
642 030146 MEMSIZ: BLOCK ^D41 ;MEMORY SEGMENT POINTER TABLE
643
644 ; **********************************************************************
645 ;PRINT CONTROL STORAGE
646 ; **********************************************************************
647
648 030217 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
649 030220 000000 000000 PNTENB: 0 ;PRINT ENABLE
650 030221 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG
651 030222 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS
652 030223 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL
653 030224 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME
654 030225 000000 000000 $TWCNT: 0 ;TIME WAITED
655 030226 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG
656 030227 000000 000000 TTYFIL: 0 ;TTY EXEC FILLERS FLAG
657 030230 000000 000000 TTYSPD: 0 ;TTY EXEC BAUD RATE
658 030231 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR
659 030232 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR
660 030233 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER
661 030234 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG
662 030235 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG
663 030236 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG
664 030237 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG
665 030240 000000 000000 USRLFF: 0 ;USER LF FILLERS
666 030241 000000 000000 USRCRF: 0 ;USER CR FILLERS
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 5
FIXED KLM 18-Sep-79 17:18 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, SEPT 18,1979 SEQ 0037
667 ; **********************************************************************
668 ;THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
669 ;TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
670 ; MOVEI NAME
671 ; PNTA ;OR PNTAF
672 ; **********************************************************************
673
674 030242 CRLF: ASCII/
675 030242 015 012 000 000 000 /
676 030243 CRLF2: ASCII/
677
678 030243 015 012 015 012 000 /
679 030244 054 000 000 000 000 COMMA: ASCII/,/
680 030245 056 000 000 000 000 PERIOD: ASCII/./
681 030246 040 000 000 000 000 SPACE: ASCII/ /
682 030247 011 000 000 000 000 TAB: ASCII/ /
683 030250 MINUS:
684 030250 055 000 000 000 000 HYPEN: ASCII/-/
685 030251 053 000 000 000 000 PLUS: ASCII/+/
686 030252 052 000 000 000 000 AST: ASCII/*/
687 030253 100 000 000 000 000 ATSIN: ASCII/@/
688 030254 050 000 000 000 000 LFP: ASCII/(/
689 030255 051 000 000 000 000 RTP: ASCII/)/
690 030256 007 0000000000 BELL: BYTE (7) 007
691 030257 077 000 000 000 000 QUEST: ASCII/?/
692 030260 057 000 000 000 000 SLASH: ASCII!/!
693 030261 044 000 000 000 000 DOLLAR: ASCII/$/
694 030262 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX
695 030263 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR
696 030264 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT
697
698 ; **********************************************************************
699 ;USER MODE OUTPUT FILE INFORMATION
700 ; **********************************************************************
701
702 030265 $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER
703 030270 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME
704 030271 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION
705 030272 BLOCK 2
706
707 ; **********************************************************************
708 ;DISK UPDATE MODE FILE INFORMATION
709 ; **********************************************************************
710
711 030274 $IBUF: BLOCK 3
712 030277 60 62 51 56 64 00 $INNM: SIXBIT /PRINT/
713 030300 60 56 64 00 00 00 $INEXT: SIXBIT /PNT/
714 030301 BLOCK 2
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 6
FIXED KLM 18-Sep-79 17:18 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, SEPT 18,1979 SEQ 0038
715 ; **********************************************************************
716 ;PUSHDOWN LIST CONTROL INFORMATION
717 ; **********************************************************************
718
719 030303 777577 030303 PLIST: PLIST-PLISTE,,PLIST
720 030304 PLISTS: BLOCK 200
721 030504 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST
722
723 ; **********************************************************************
724 ;POWER LINE CLOCK FREQUENCY FLAG
725 ; **********************************************************************
726
727 030505 000000 000000 CYCL60: 0 ;0 = 60, -1 = 50 CYCLE
728
729 ; **********************************************************************
730 ;KL10 CACHE CONTROL FLAGS
731 ; **********************************************************************
732
733 030506 000000 000000 CSHFLG: 0 ;ALLOW CACHE IF 0
734 030507 000000 000000 CSHMEM: 0 ;CACHE MEMORY SEGMENTS IF 0
735
736 ; **********************************************************************
737 ;NUMBER INPUT DIGIT FLAG
738 ; **********************************************************************
739
740 030510 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED
741
742 ; **********************************************************************
743 ;KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
744 ; **********************************************************************
745
746 030511 000000 000000 PVPAGI: 0 ;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
747
748 ; **********************************************************************
749 ;ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
750 ; **********************************************************************
751
752 030512 000000 000000 %ERHI1: 0 ;IF NON-ZERO, XCT'D AT START OF %ERUUO
753 030513 000000 000000 %ERHI2: 0 ;IF NON-ZERO, XCT'D AT END OF %ERUUO
754 030514 000000 000000 %ERHI3: 0 ;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
755
756 ; **********************************************************************
757 ;SPECIAL USERS UUO INTERCEPT INSTRUCTION
758 ; **********************************************************************
759
760 030515 000000 000000 $$UUO: 0 ;IF NON-ZERO, XCT'D AT START OF $UORTN
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 7
FIXED KLM 18-Sep-79 17:18 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, SEPT 18,1979 SEQ 0039
761 ; **********************************************************************
762 ;USER MODE MONITOR TYPE FLAG
763 ; **********************************************************************
764
765 030516 000000 000000 MONTYP: 0 ;0 = TOPS10, -1 = TOPS20
766
767 ; **********************************************************************
768 ;SPECIAL USERS MUUO INTERCEPT INSTRUCTION
769 ; **********************************************************************
770
771 030517 000000 000000 $$MUUO: 0 ;IF NON-ZERO, XCT'D AT START OF MUUOER
772
773 ; **********************************************************************
774 ;SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
775 ; **********************************************************************
776
777 030520 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
778
779 ; **********************************************************************
780 ;"SWITCH" CALL USAGE CONTROL
781 ; **********************************************************************
782
783 030521 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
784
785 ; **********************************************************************
786 ;SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
787 ; **********************************************************************
788
789 030522 000000 000000 $$TAX1: 0 ;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
790 030523 000000 000000 $$TAX2: 0 ;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
791
792 ; **********************************************************************
793 ;SM10 (KS-10) PROCESSOR TYPE FLAG
794 ; **********************************************************************
795
796 030524 000000 000000 SM10: 0 ;IF -1 THIS IS A KS-10
797
798 ; **********************************************************************
799 ;RIGHT HALF SWITCHES PROMPT TABLE ADDRESS
800 ; **********************************************************************
801
802 030525 000000 000000 SWPTAB: 0 ;0 = NO PROMPT, ADR = ADR OF SIXBIT PROMPT TABLE
803
804 ; **********************************************************************
805 ;SPECIAL FUTURE EXPANSION ROOM
806 ; **********************************************************************
807
808 ; **********************************************************************
809 ;END OF FIXED STORAGE
810 ; **********************************************************************
811
812 030577 LOC 30577
813 030577 000000 000000 ENDFIX: 0 ;END OF FIXED STORAGE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 1
DFKECM MAC 4-Sep-81 15:22 TEST CONTROL SECTION SEQ 0040
814 SUBTTL TEST CONTROL SECTION
815 SALL
816 034170 T=SIXBTZ <KL10 PXCT TEST>
817
818 ; **********************************************************************
819 ;*START - STARTUP CODE
820 ; **********************************************************************
821
822 030600 START:
823 030600 201 00 0 00 030600 S: MOVEI .
824 030601 202 00 0 00 030051 MOVEM TESTPC
825 030602 265 00 0 00 030011 PGMINT ;INIT SUBRTN PACKAGE
826 030603 402 00 0 00 030053 SETZM ERRTLS
827
828 030604 202 17 0 00 033776 MOVEM P,GOODP ;SAVE A GOOD P
829
830 030605 7 010 04 0 00 000001 DATAI PAG,A
831 030606 621 01 0 00 007000 TLZ A,(7B8) ;CLR BLK NO
832 030607 670 01 0 00 034173 TDO A,[<MYACS>B8+UPTPN] ;SET AC BLK TO MINE
833 030610 7 010 14 0 00 000001 DATAO PAG,A ;DO IT
834
835 030611 200 17 0 00 033776 MOVE P,GOODP ;RESTORE P
836
837 030612 400 06 0 00 000000 SETZ F, ;CLEAR ALL FLAGS
838
839 030613 700 00 0 00 000001 APRID A ;GET APRID TO A
840
841 030614 603 01 0 00 400000 TLNE A,(1B0) ;KL PAGING IN UCODE?
842 030615 661 06 0 00 200000 TLO F,(KLPGNG) ;YES
843
844 030616 603 01 0 00 200000 TLNE A,(1B1) ;EXTENDED ADDR IN UCODE?
845 030617 661 06 0 00 100000 TLO F,(UCODX) ;YES
846
847 030620 607 01 0 00 100000 TLNN A,(1B2) ;SPECIAL FLAVOR OF UCODE?
848 030621 254 00 0 00 030624 JRST ST1 ;NO
849
850 030622 661 06 0 00 040000 TLO F,(UCODSP) ;YES
851 030623 037 02 0 00 034174 PMSG <^NOTE: THIS IS A NON-STANDARD VERSION OF THE MICROCODE.^>
852
853 030624 603 06 0 00 200000 ST1: TLNE F,(KLPGNG) ;KL PAGING?
854 030625 603 06 0 00 100000 TLNE F,(UCODX) ;YES, UCODE EXTENDED?
855 030626 254 00 0 00 030630 JRST ST2 ;NOT KLA OR KLB
856
857 030627 661 06 0 00 010000 TLO F,(KLAKLB) ;NOTE KLA OR KLB
858
859 030630 602 01 0 00 040000 ST2: TRNE A,1B21 ;HDW EXTENDED?
860 030631 661 06 0 00 020000 TLO F,(KL10X) ;YES
861
862 030632 641 06 0 00 320000 TLC F,(KLXCON) ;CHECK KLXTST CONDITIONS
863 030633 647 06 0 00 320000 TLCN F,(KLXCON) ;SKIP IF NOT ALL SET
864 030634 661 06 0 00 400000 TLO F,(KLXTST) ;NOTE EXTENDED ADR TEST
865
866 030635 402 00 0 00 033750 SETZM GCASEN ;CLR GRAND TOTAL CASES CNTR
867 030636 202 06 0 00 033771 MOVEM F,GOODF ;SAVE A COPY OF FLAGS
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 2
DFKECM MAC 4-Sep-81 15:22 TEST CONTROL SECTION SEQ 0041
868
869 ; **********************************************************************
870 ;*STARTA - PROGRAM PASS RESTART SECTION
871 ; **********************************************************************
872
873 030637 200 06 0 00 033771 STARTA: MOVE F,GOODF ;GET A COPY OF FLAGS
874 030640 607 06 0 00 200000 TLNN F,(KLPGNG) ;SKIP IF KL PAGING
875 030641 001000 034206 FATALE <LOAD KLL (MODEL A) OR KLX (MODEL B) MICROCODE AND RESTART>
876
877 030642 603 06 0 00 200000 TLNE F,(KLPGNG) ;SKIP IF KI PAGING
878 030643 260 17 0 00 032541 GO KLPSET ;SETUP KL PAGING
879
880 ; **********************************************************************
881 ;*TSTLOP - MAIN LOOP
882 ; **********************************************************************
883
884 030644 205 16 0 00 777773 MOVSI TN,-TTABSZ ;SETUP AOBJN CTR
885 030645 476 00 0 00 033747 TSTLOP: SETOM CASE ;INIT CASE COUNTER
886 030646 202 16 0 00 033772 MOVEM TN,SAVETN ;SAVE A GOOD COPY OF TN FOR PXDISP
887
888 030647 260 17 0 16 033634 GO TSTTAB(TN) ;DO THE TEST
889
890 030650 200 16 0 00 033772 MOVE TN,SAVETN ;RECOVER TN
891 030651 253 16 0 00 030645 AOBJN TN,TSTLOP ;CONTINUE TILL DONE
892
893 030652 336 00 0 00 030053 SKIPN ERRTLS ;SEE IF ANY ERRORS
894 030653 254 00 0 00 030057 JRST BEGEND ;GO DECR ITER CTR, ETC
895
896 030654 037 02 0 00 034222 PMSG <^TOTAL ERRORS ENCOUNTERED = >
897 030655 200 00 0 00 030053 MOVE 0,ERRTLS ;GET COUNT
898 030656 037 16 0 00 000003 PNTOCS ;SHOW IT
899 030657 037 00 0 00 030242 PCRL
900 030660 254 00 0 00 030057 JRST BEGEND ;GO DECR ITER CTR, ETC
901
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 3
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0042
902 SUBTTL TEST SECTION
903
904 ; **********************************************************************
905 ;*.MOVE - TEST OF 'PXCT N,[MOVE A,Y]'
906 ; **********************************************************************
907 SALL
908 034227 T=SIXBTZ <'PXCT N,[MOVE A,Y]'>
909
910 030661 201 00 0 00 030661 .MOVE: MOVEI .
911 030662 202 00 0 00 030051 MOVEM TESTPC
912 030663 200 17 0 00 033775 MOVE P,TESTP ;GET A GOOD VALUE OF P
913
914 030664 350 01 0 00 033747 AOS A,CASE ;GET CURRENT CASE NUMBER
915 030665 311 01 0 16 046060 CAML A,CASTAB(TN) ;COMPARE AGAINST MAX TO TRY
916 030666 263 17 0 00 000000 RTN ;DONE
917
918 030667 260 17 0 00 032637 GO CLRPGS ;CLEAR EXTRA PAGES
919
920 030670 231 01 0 00 000002 IDIVI A,2 ;GET INDEX INTO 'N' TABLE DATA
921 MOVE B,[4
922 030671 200 02 0 02 034233 14](B) ;PXCT 'N' IS EITHER 4 OR 14 FOR THIS TEST
923 030672 202 02 0 00 033753 MOVEM B,PXCTN ;SAVE 'N' TO TEST
924 030673 137 02 0 00 034235 DPB B,[POINT 4,PXCTIN,12] ;PUT IN PXCT INSTR
925
926 030674 260 17 0 00 033417 GO SETCXT ;SETUP PREVIOUS CONTEXTS
927
928 030675 231 01 0 00 000016 .MOVE0: IDIVI A,AMODLN ;GET ADDR MODE TO TRY
929 030676 202 02 0 00 033752 MOVEM B,TMOD ;SAVE TEST ADDR MODE
930
931 ; ******************************
932 030677 ELOOP=. ;PLACE TO LOOP BACK TO ON ERROR
933 ; ******************************
934
935 030677 200 02 0 00 033752 MOVE B,TMOD ;RECOVER INCASE LOOPING
936 030700 201 01 0 02 046000 MOVEI A,AMODTB(B) ;GET ADDR OF INSTR TO BE TESTED
937
938 030701 200 03 0 01 000000 MOVE C,(A) ;GET ADDR MODE TO BE TESTED
939 030702 202 03 0 00 041005 MOVEM C,PXCTEA ;SETUP @ PXCT'S EA
940
941 030703 201 03 0 00 000200 MOVEI C,<MOVE>_-^D27 ;GET OPCODE FOR MOVE INSTR
942 030704 137 03 0 00 034236 DPB C,[POINT 9,PXCTEA,8] ;DEPOSIT OPCODE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 4
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0043
943
944 ; ************************************************
945 ;SETUP FOR EFFECTIVE ADDRESS CALCULATION
946 ; ************************************************
947
948 030705 476 00 0 00 034072 SETOM SETFLG ;NOTE WE'RE SETTING UP
949
950 030706 201 03 0 00 000010 MOVEI C,10 ;VALUE FOR INDEX REGISTER
951 030707 202 03 0 00 034033 MOVEM C,EXECAC+B ;SAVE IN EXEC AC BLOCK
952
953 030710 200 03 0 00 033753 MOVE C,PXCTN ;GET 'N'
954 030711 504 01 0 00 033723 HRL A,CCS ;START IN CURRENT CONTEXT SECTION
955
956 030712 602 03 0 00 000010 TRNE C,1B<9+23> ;SKIP IF CURRENT CONTEXT EA CALC
957 030713 504 01 0 00 033724 HRL A,PCS ;ELSE USE PCS
958
959 030714 621 01 0 00 200000 TLZ A,(1B1) ;ASSUME CURRENT CONTEXT FOR EACALC
960 030715 602 03 0 00 000010 TRNE C,1B<9+23> ;BUT NOT IF PXCT BIT 9 = 1
961 030716 661 01 0 00 200000 TLO A,(1B1) ;USE PREVIOUS CONTEXT
962
963 030717 260 17 0 00 033524 GO CASECK ;SEE IF THIS CASE VALID FOR SECTION-0
964 030720 254 00 0 00 030661 JRST .MOVE ;N, SEC-0 & GLOBAL ADDRESSING CASE
965
966 030721 260 17 0 00 033573 GO AMAP ;MAP IN ADDR MODE PAGE
967
968 030722 260 17 0 00 032246 GO EACALC ;DO EA CALC TO SETUP ADDR CHAINS
969 030723 202 01 0 00 041006 MOVEM A,PEA ;SAVE INSTR'S EA
970
971 030724 402 00 0 00 034072 SETZM SETFLG ;CLEAR SET FLAG
972
973 030725 260 17 0 00 033611 GO RANDOM ;GET A RANDOM NUMBER
974 030726 202 00 0 00 044000 MOVEM 0,PQ ;SAVE FOR EA OF MOVE INSTR
975 030727 202 00 0 00 034114 MOVEM 0,OLDSRC ;SAVE SRC DATA
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 5
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0044
976
977 ; ************************************************
978 ;CALC MAPPING FOR DATA PAGE
979 ; ************************************************
980
981 030730 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N'
982 030731 205 12 0 00 000001 MOVSI T3,1 ;ASSUME PREVIOUS
983 030732 135 02 0 00 034237 LDB B,[POINT 12,PEA,17] ;GET GLOBAL VIRT SECTION FROM EA
984 030733 402 00 0 00 077101 SETZM PCSSUB# ;CLEAR SUBSTITUTION FLAG
985
986 030734 606 01 0 00 000004 TRNN A,1B<10+23> ;CHECK N BIT FOR PREV CXT
987 030735 254 00 0 00 030740 JRST .MOV10 ;CURRENT CONTEXT FOR DATA REF
988
989 030736 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT FOR PREV CXT USER
990 030737 400 12 0 00 000000 SETZ T3, ;NO, EXEC
991
992 030740 336 00 0 00 034120 .MOV10: SKIPN LOCGBL ;IS EA GLOBAL OR LOCAL?
993 030741 254 00 0 00 030746 JRST .MOV20 ;GLOBAL, DON'T DO SUBSTITUTION
994
995 030742 302 01 0 00 000004 CAIE A,4 ;IS PXCT-N EQUAL TO DATA REF ONLY CASE?
996 030743 254 00 0 00 030746 JRST .MOV20 ;NO, DON'T DO SUBSTITUTION
997
998 030744 200 02 0 00 033724 MOVE B,PCS ;GET PREVIOUS CXT SECTION
999 030745 476 00 0 00 077101 SETOM PCSSUB ;NOTE WE SUBSTITUTED PCS FOR DATA REF
1000
1001 030746 506 02 0 00 034126 .MOV20: HRLM B,PXDEA ;SAVE SECTION FOR PXDISP TO PRINT
1002 030747 200 03 0 00 041006 MOVE C,PEA ;GET ADDRESS
1003 030750 542 03 0 00 034126 HRRM C,PXDEA ;SAVE FOR PXDISP TO PRINT
1004
1005 030751 201 03 0 00 000043 MOVEI C,<VQ_-9> ;GET VIR PAG NUM
1006 030752 201 01 0 00 044000 MOVEI A,PQ ;GET PHYS ADR
1007 030753 260 17 0 00 033125 GO PMAPRT ;MAP IN PAGE
1008
1009 ; ************************************************
1010 ;CALCULATE MAPPING FOR ADDR CHAIN PAGE
1011 ; ************************************************
1012
1013 030754 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N'
1014 030755 205 12 0 00 000001 MOVSI T3,1 ;ASSUME PREVIOUS
1015
1016 030756 602 01 0 00 000010 TRNE A,1B<9+23> ;CHECK 'N' BIT
1017 030757 336 00 0 00 034074 SKIPN PCU ;CHECK PCU
1018 030760 400 12 0 00 000000 SETZ T3, ;NO, CURRENT CONTEXT
1019
1020 030761 540 02 0 00 033723 HRR B,CCS ;ASSUME CURRENT CONTEXT SECTION
1021
1022 030762 602 01 0 00 000010 TRNE A,1B<9+23> ;CHECK 'N' BIT
1023 030763 540 02 0 00 033724 HRR B,PCS ;NO, PREVIOUS
1024
1025 030764 201 01 0 00 046000 MOVEI A,AMOD ;GET ADDR OF ADDR CHAIN PAGE
1026 030765 201 03 0 00 000046 MOVEI C,AMODPN ;GET PAGE NUMBER
1027 030766 260 17 0 00 033125 GO PMAPRT ;MAP IN THE ADDR MODE PAGE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 6
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0045
1028
1029 ; ************************************************
1030 ;GET READY TO DO ACTUAL PXCT
1031 ; ************************************************
1032
1033 030767 402 00 0 00 033756 .MOVE1: SETZM PFHSPC ;CLR SPECIAL PF HANDLER ADDR
1034
1035 030770 201 02 0 00 000010 MOVEI B,10 ;USER GETS 10
1036 030771 201 03 0 00 000101 MOVEI C,101 ;EXEC GET 101
1037
1038 030772 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N' BIT
1039 030773 602 01 0 00 000010 TRNE A,1B<9+23> ;SEE IF EACALC IN PREVIOUS CONTEXT
1040 030774 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
1041 030775 250 02 0 00 000003 EXCH B,C ;EXEC GETS 10 IF -(PCU AND 'N'BIT)
1042
1043 030776 202 03 0 00 034033 MOVEM C,EXECAC+B ;SET EXEC VALUE
1044 030777 202 02 0 00 034053 MOVEM B,PACBLK+B ;SAVE USER AC
1045
1046 ; **************************************************
1047
1048 031000 260 17 0 00 033000 GO DOPXCT ;GO DO PXCT
1049 031001 254 00 0 00 031005 JRST .+4 ;OK, AVOID ERROR CALL
1050
1051 ; **************************************************
1052
1053 031002 036 13 0 00 034245 ERROR (ELOOP,13,0,0,MOVE,UNEXPECTED PAGE FAULT,PXDISP)
1054 031003 035 00 0 00 030677 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1055 031004 254 00 0 00 030661 JRST .MOVE ;DO NEXT CASE
1056
1057 031005 200 02 0 00 034032 MOVE B,EXECAC+1 ;GET RESULT OF MOVE
1058 031006 316 02 0 00 034114 CAMN B,OLDSRC ;CHECK AGAINST RESULT EXPECTED
1059 031007 254 00 0 00 031013 JRST .+4 ;OK, AVOID ERROR CALL
1060
1061 ERROR (ELOOP,13,OLDSRC,EXECAC+1,MOVE,AC RESULT INCORRECT,PXDISP)^
1062 031010 036 13 0 00 034254
1063 031011 035 00 0 00 030677 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1064 031012 254 00 0 00 030661 JRST .MOVE ;ELSE DO NEXT CASE
1065
1066 031013 260 17 0 00 033611 GO RANDOM ;GET A RANDOM VALUE
1067 031014 202 00 0 00 044000 MOVEM 0,PQ ;CHG DESTINATION LOC
1068
1069 031015 201 03 0 00 000202 MOVEI C,<MOVEM>_-^D27 ;GET OPCODE FOR MOVEM
1070 031016 137 03 0 00 034236 DPB C,[POINT 9,PXCTEA,8] ;SET IT
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 7
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0046
1071
1072 ; **********************************************************************
1073 ;*.MOVE2 - TEST OF PXCT N,[MOVEM A,Y]'>
1074 ; **********************************************************************
1075 SALL
1076 034257 T=SIXBTZ <'PXCT N,[MOVEM A,Y]'>
1077
1078 031017 402 00 0 00 033756 .MOVE2: SETZM PFHSPC ;NO PF EXPECTED
1079 031020 201 02 0 00 000010 MOVEI B,10 ;USER GETS 10
1080 031021 201 03 0 00 000101 MOVEI C,101 ;EXEC GET 101
1081
1082 031022 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N' BIT
1083 031023 602 01 0 00 000010 TRNE A,1B<9+23> ;SEE IF EACALC IN PREVIOUS CONTEXT
1084 031024 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
1085 031025 250 02 0 00 000003 EXCH B,C ;EXEC GETS 10 IF -(PCU AND 'N'BIT)
1086
1087 031026 202 03 0 00 034033 MOVEM C,EXECAC+B ;SET EXEC VALUE
1088 031027 202 02 0 00 034053 MOVEM B,PACBLK+B ;SAVE USER AC
1089
1090 ; **************************************************
1091
1092 031030 260 17 0 00 033000 GO DOPXCT ;REWRITE DATA TO MEMORY
1093 031031 254 00 0 00 031035 JRST .+4 ;OK, AVOID ERROR CALL
1094
1095 ; **************************************************
1096
1097 031032 036 13 0 00 034264 ERROR (ELOOP,13,0,0,MOVEM,UNEXPECTED PAGE FAULT,PXDISP)
1098 031033 035 00 0 00 030677 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1099 031034 254 00 0 00 030661 JRST .MOVE ;DO NEXT CASE
1100
1101 031035 200 01 0 00 034114 MOVE A,OLDSRC ;GET ORIGINAL SRC DATA
1102 031036 312 01 0 00 044000 CAME A,PQ ;SEE IF IT GOT REWRITTEN CORRECTLY
1103 ERROR (ELOOP,13,OLDSRC,PQ,MOVEM,MEM DATA INCORRECT,PXDISP)^
1104 031037 036 13 0 00 034273
1105 031040 035 00 0 00 030677 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1106 031041 254 00 0 00 030661 JRST .MOVE ;DO NEXT CASE
1107
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 8
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0047
1108
1109 ; **********************************************************************
1110 ;*.BLT - TEST OF 'PXCT N,[BLT A,Y]'
1111 ; **********************************************************************
1112 SALL
1113 034276 T=SIXBTZ <'PXCT N,[BLT A,Y]'>
1114
1115 031042 201 00 0 00 031042 .BLT: MOVEI .
1116 031043 202 00 0 00 030051 MOVEM TESTPC
1117 031044 200 17 0 00 033775 MOVE P,TESTP ;GET A GOOD VALUE OF P
1118
1119 031045 350 01 0 00 033747 AOS A,CASE ;GET NEXT CASE NUMBER
1120 031046 311 01 0 16 046060 CAML A,CASTAB(TN) ;SEE IF DONE
1121 031047 263 17 0 00 000000 RTN ;YES
1122
1123 031050 260 17 0 00 032637 GO CLRPGS ;CLEAR EXTRA PAGES
1124
1125 031051 231 01 0 00 000005 IDIVI A,BLNTLN ;DIVIDE BY NUMBER OF N'S TO TEST
1126 031052 200 02 0 02 033702 MOVE B,BLTNTB(B) ;GET AN 'N'
1127 031053 202 02 0 00 033753 MOVEM B,PXCTN ;SAVE IT
1128
1129 031054 260 17 0 00 033417 GO SETCXT ;SETUP PREVIOUS CONTEXTS
1130
1131 031055 400 02 0 00 000000 SETZ B, ;READY B TO GET A BIT
1132 031056 246 01 0 00 777776 LSHC A,-2 ;MOVE BITS TO B
1133 031057 241 02 0 00 000002 ROT B,2 ;RIGHT JUSTIFY THEM IN B
1134 031060 202 02 0 00 033735 MOVEM B,BLTYPE ;SAVE BLT TYPE
1135
1136 031061 231 01 0 00 000004 IDIVI A,NSECS
1137 031062 200 02 0 02 033676 MOVE B,SECTAB(B)
1138 031063 202 02 0 00 033726 MOVEM B,BLEASC ;SAVE BLT'S EA SECTION
1139
1140 ; ******************************
1141 031064 ELOOP=. ;PLACE TO LOOP BACK TO ON ERROR
1142 ; ******************************
1143
1144 031064 200 01 0 00 034302 MOVE A,[BLT A,@VEA] ;GET AN INSTRUCTION TO TEST
1145 031065 202 01 0 00 041005 MOVEM A,PXCTEA ;SAVE AT PXCT'S EA
1146
1147 031066 200 01 0 00 033753 MOVE A,PXCTN ;GET N FOR PXCT N,[BLT A,Y]
1148 031067 137 01 0 00 034235 DPB A,[POINT 4,PXCTIN,12] ;PUT IN PXCT INSTR
1149
1150 031070 200 02 0 00 033735 MOVE B,BLTYPE ;GET BLT TEST TYPE
1151 031071 200 02 0 02 033727 MOVE B,BLSTOP(B) ;GET A STOP ADDR
1152 031072 202 02 0 00 041006 MOVEM B,PEA ;SAVE IT
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 9
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0048
1153
1154 ; ************************************************
1155 ;READY TO MAP PAGE FOR EACALC
1156 ; ************************************************
1157
1158 031073 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N'
1159 031074 200 02 0 00 033724 MOVE B,PCS ;ASSUME PREVIOUS CXT
1160 031075 606 01 0 00 000010 TRNN A,1B<9+23> ;SEE IF EACALC IN PREVIOUS CXT
1161 031076 200 02 0 00 033723 MOVE B,CCS ;NO, USE CURRENT CXT SEC
1162
1163 031077 201 03 0 00 000042 MOVEI C,VPXPN ;GET VIRTUAL PAGE NUMBER
1164 031100 200 12 0 00 034074 MOVE T3,PCU ;GET PREV CXT USER BIT
1165 031101 606 01 0 00 000010 TRNN A,1B<9+23> ;SKIP IF PREVIOUS CXT
1166 031102 400 12 0 00 000000 SETZ T3, ;ELSE SETUP FOR CURRENT CXT
1167
1168 031103 201 01 0 00 041006 MOVEI A,PEA ;POINT TO PAGE CONTAINING EA
1169 031104 260 17 0 00 033125 GO PMAPRT ;MAP IN PAGE
1170
1171 031105 200 01 0 00 033726 MOVE A,BLEASC ;GET SECTION FOR BLT EA
1172 031106 137 01 0 00 034237 DPB A,[POINT 12,PEA,17] ;PUT IN EA
1173
1174 031107 200 02 0 00 033735 MOVE B,BLTYPE ;GET BLT TEST TYPE
1175 031110 200 01 0 02 033736 MOVE A,BLACWD(B) ;GET BLT AC WD
1176 031111 202 01 0 00 033742 MOVEM A,BLTAC ;SAVE BLT'S AC CONTENTS
1177
1178 031112 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N'
1179 031113 302 01 0 00 000001 CAIE A,1 ;SRC ONLY IN PREV CXT?
1180 031114 254 00 0 00 031122 JRST BLT10 ;NO
1181
1182 031115 200 01 0 00 034303 MOVE A,[16,,VD1] ;BLT PTR
1183 031116 202 01 0 00 033742 MOVEM A,BLTAC ;SRC MUST BE AC REF
1184
1185 031117 201 01 0 00 067001 MOVEI A,VD1+1 ;STOP ADDRESS
1186 031120 552 01 0 00 041006 HRRZM A,PEA ;SAVE STOP ADDR
1187 031121 254 00 0 00 031133 JRST BLT50 ;OK
1188
1189 031122 302 01 0 00 000004 BLT10: CAIE A,4 ;DST ONLY IN PREV CXT?
1190 031123 254 00 0 00 031131 JRST BLT20 ;NO
1191
1192 031124 200 01 0 00 034304 BLT30: MOVE A,[VS1,,16] ;BLT PTR
1193 031125 202 01 0 00 033742 MOVEM A,BLTAC ;DST MUST BE AC REF
1194
1195 031126 201 01 0 00 000017 MOVEI A,17 ;STOP ADDR
1196 031127 552 01 0 00 041006 HRRZM A,PEA ;SAVE STOP ADDR
1197 031130 254 00 0 00 031133 JRST BLT50 ;OK
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 10
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0049
1198
1199 031131 306 01 0 00 000014 BLT20: CAIN A,14 ;DST + EACALC IN PREV CXT?
1200 031132 254 00 0 00 031124 JRST BLT30 ;YES, SETUP AS FOR PXCTN=4
1201
1202 031133 200 01 0 00 041006 BLT50: MOVE A,PEA ;GET EA
1203 031134 202 01 0 00 034126 MOVEM A,PXDEA ;SAVE A COPY FOR PXDISP
1204
1205 031135 205 12 0 00 000001 MOVSI T3,1 ;ASSUME PREV CXT
1206 031136 200 01 0 00 033753 MOVE A,PXCTN ;GET PXCT 'N'
1207 031137 602 01 0 00 000001 TRNE A,1B<12+23> ;SKIP IF NOT PREV CXT FOR SRC
1208 031140 336 00 0 00 034074 SKIPN PCU ;SEE IF IT MATTERS
1209 031141 400 12 0 00 000000 SETZ T3, ;CURRENT CONTEXT
1210
1211 031142 202 12 0 00 034112 MOVEM T3,SRCCXT ;SAVE SOURCE CONTEXT
1212
1213 031143 200 02 0 00 033726 MOVE B,BLEASC ;ASSUME CURRENT CONTEXT
1214 031144 602 01 0 00 000001 TRNE A,1B<12+23> ;SKIP IF CURRENT CXT FOR SRC
1215 031145 200 02 0 00 033724 MOVE B,PCS ;ELSE USE PREVIOUS CXT SEC
1216 031146 202 02 0 00 034105 MOVEM B,SRCSEC ;SAVE SOURCE SECTION
1217
1218 031147 554 03 0 00 033742 HLRZ C,BLTAC ;GET FROM ADDR
1219 031150 202 03 0 00 034107 MOVEM C,SRCADD ;SAVE SOURCE ADDR
1220 031151 506 02 0 00 034107 HRLM B,SRCADD ;SAVE SECTION IN ADDR
1221
1222 031152 242 03 0 00 777767 LSH C,-11 ;MAKE PAGE NUMBER
1223 031153 202 03 0 00 034103 MOVEM C,SRCPG1 ;SAVE 1ST SRC PAGE NUM
1224
1225 031154 201 01 0 00 072000 MOVEI A,PS1 ;ADDR OF DATA PAGE
1226 031155 260 17 0 00 033125 GO PMAPRT ;GO MAP IN PAGE
1227
1228 031156 350 01 0 00 034107 AOS A,SRCADD ;GET SRCADD+1
1229 031157 336 00 0 00 034105 SKIPN SRCSEC ;SKIP IF NON-ZERO SECTION
1230 031160 553 00 0 00 000001 HRRZS A ;ELSE INSURE WRAPAROUND
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 11
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0050
1231
1232 031161 135 03 0 00 034305 LDB C,[POINT 9,A,26] ;GET PAGE NUMBER
1233 031162 554 02 0 00 000001 HLRZ B,A ;GET SECTION NUMBER
1234 031163 201 01 0 00 076000 MOVEI A,PS2 ;SECOND SRC PAGE
1235 031164 316 02 0 00 034105 CAMN B,SRCSEC ;SEE IF SECTION SAME
1236 031165 312 03 0 00 034103 CAME C,SRCPG1 ;SEE IF SAME AS SRC PAGE 1
1237 031166 260 17 0 00 033125 GO PMAPRT ;MAP IN 2ND PAGE IF EITHER IS DIFFERENT
1238
1239 031167 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N'
1240 031170 205 12 0 00 000001 MOVSI T3,1 ;ASSUME PREVIOUS
1241 031171 602 01 0 00 000004 TRNE A,1B<10+23> ;SKIP IF NOT PREVIOUS CXT
1242 031172 336 00 0 00 034074 SKIPN PCU ;SKIP IF PREVIOUS CXT USER
1243 031173 400 12 0 00 000000 SETZ T3, ;ELSE EXEC CXT
1244 031174 202 12 0 00 034113 MOVEM T3,DSTCXT ;SAVE DESTINATION CONTEXT
1245
1246 031175 200 02 0 00 033726 MOVE B,BLEASC ;ASSUME CURRENT CONTEXT
1247 031176 602 01 0 00 000004 TRNE A,1B<10+23> ;SKIP IF CURRENT CXT FOR DST
1248 031177 200 02 0 00 033724 MOVE B,PCS ;ELSE USE PREVIOUS CXT SEC
1249
1250 031200 550 03 0 00 033742 HRRZ C,BLTAC ;GET 'TO' ADDR
1251 031201 202 03 0 00 034110 MOVEM C,DSTADD ;SAVE DESTINATION ADDRESS
1252
1253 031202 506 02 0 00 034110 HRLM B,DSTADD ;PUT SECTION NUMBER IN ADDR
1254 031203 242 03 0 00 777767 LSH C,-11 ;MAKE PAGE NUMBER
1255 031204 202 03 0 00 034104 MOVEM C,DSTPG1 ;SAVE 1ST DESTINATION PAGE
1256
1257 031205 201 01 0 00 070000 MOVEI A,PD1 ;ADDR OF DST DATA PAGE
1258 031206 260 17 0 00 033125 GO PMAPRT ;MAP IN PAGE
1259
1260 031207 350 01 0 00 034110 AOS A,DSTADD ;GET 2ND DESTINATION ADDR
1261 031210 336 00 0 00 033726 SKIPN BLEASC ;SKIP IF NON-ZERO SECTION
1262 031211 553 00 0 00 000001 HRRZS A ;ELSE INSURE WRAPAROUND
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 12
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0051
1263
1264 031212 135 03 0 00 034305 LDB C,[POINT 9,A,26] ;GET PAGE NUMBER
1265 031213 554 02 0 00 000001 HLRZ B,A ;GET SECTION NUMBER
1266 031214 201 01 0 00 074000 MOVEI A,PD2 ;SECOND DESTINATION PAGE
1267 031215 316 02 0 00 033726 CAMN B,BLEASC ;SEE IF SAME SECTION
1268 031216 312 03 0 00 034104 CAME C,DSTPG1 ;SEE IF SAME PAGE
1269 031217 260 17 0 00 033125 GO PMAPRT ;NEED TO MAP IN SECOND PAGE
1270
1271 031220 514 01 0 00 034105 HRLZ A,SRCSEC ;GET SOURCE SECTION
1272 031221 544 01 0 00 033742 HLR A,BLTAC ;PUT FROM ADDR IN RH(A)
1273
1274 031222 260 17 0 00 033611 GO RANDOM ;GET A RANDOM WORD
1275 031223 200 02 0 00 000000 MOVE B,0 ;GET TO B
1276 031224 202 02 0 00 033733 MOVEM B,BLT1 ;SAVE BLT 1ST WORD
1277
1278 031225 200 03 0 00 034112 MOVE C,SRCCXT ;GET CORRECT CONTEXT FOR WRITE
1279 031226 260 17 0 00 032471 GO CXWRIT ;WRITE TO PROPER ADDR
1280 031227 350 00 0 00 000001 AOS A ;NEXT ADDR
1281
1282 031230 336 00 0 00 034105 SKIPN SRCSEC ;SKIP IF NOT SECTION ZERO
1283 031231 553 00 0 00 000001 HRRZS A ;ELSE INSURE WRAPAROUND
1284
1285 031232 260 17 0 00 033611 GO RANDOM ;GET ANOTHER RANDOM WORD
1286 031233 200 02 0 00 000000 MOVE B,0 ;GET WORD TO B
1287 031234 202 02 0 00 033734 MOVEM B,BLT2 ;SAVE BLT 2ND WORD
1288
1289 031235 260 17 0 00 032471 GO CXWRIT ;WRITE ANOTHER WORD
1290
1291 031236 200 02 0 00 033742 MOVE B,BLTAC ;GET CONTENTS
1292 031237 202 02 0 00 034032 MOVEM B,EXECAC+A ;PUT IN EXEC AC A
1293
1294 031240 554 01 0 00 041006 HLRZ A,PEA ;GET SECTION NUMBER FOR STOP ADDR
1295 031241 305 01 0 00 000040 CAIGE A,40 ;ILLEGAL?
1296 031242 254 00 0 00 031247 JRST .BLT1 ;NO
1297
1298 031243 201 01 0 00 033041 MOVEI A,S0PFIN ;SPECIAL PF HANDLER
1299 031244 402 00 0 00 033755 SETZM PFFLAG ;CLR FLAG
1300 031245 202 01 0 00 033756 MOVEM A,PFHSPC ;SAVE ADDR FOR PFH ROUTINE
1301 031246 254 00 0 00 031250 JRST .BLT2 ;DON'T CLR THAT WD
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 13
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0052
1302
1303 031247 402 00 0 00 033756 .BLT1: SETZM PFHSPC ;NO SPECIAL PF ROUTINE
1304
1305 031250 201 02 0 00 000010 .BLT2: MOVEI B,10 ;USER GETS 10
1306 031251 201 03 0 00 000101 MOVEI C,101 ;EXEC GET 101
1307
1308 031252 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N' BIT
1309 031253 602 01 0 00 000010 TRNE A,1B<9+23> ;SEE IF EACALC IN PREVIOUS CONTEXT
1310 031254 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
1311 031255 250 02 0 00 000003 EXCH B,C ;EXEC GETS 10 IF -(PCU AND 'N'BIT)
1312
1313 031256 202 03 0 00 034033 MOVEM C,EXECAC+B ;SET EXEC VALUE
1314 031257 202 02 0 00 034053 MOVEM B,PACBLK+B ;SAVE USER AC
1315
1316 ; **************************************************
1317
1318 031260 260 17 0 00 033000 GO DOPXCT ;DO THE PXCT
1319 031261 254 00 0 00 031265 JRST .+4 ;OK, AVOID ERROR CALL
1320
1321 ; **************************************************
1322
1323 031262 036 13 0 00 034307 ERROR (ELOOP,13,0,0,BLT,UNEXPECTED PAGE FAULT,PXDISP)
1324 031263 035 00 0 00 031064 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1325 031264 254 00 0 00 030064 RTNSKP ;OK, RETURN GOOD
1326
1327 031265 200 01 0 00 033742 MOVE A,BLTAC ;GET BLT AC
1328 031266 504 01 0 00 034106 HRL A,DSTSEC ;GET DESTINATION SECTION TO LH(A)
1329 031267 200 03 0 00 034113 MOVE C,DSTCXT ;GET CORRECT CONTEXT
1330
1331 031270 260 17 0 00 032450 GO CXREAD ;GET RESULTS OF 1ST XFER
1332
1333 031271 316 02 0 00 033733 CAMN B,BLT1 ;SAME AS EXPECTED?
1334 031272 254 00 0 00 031307 JRST SNDCHK ;Y, CHK 2ND WD
1335 ERROR1 (13,BLT1,B,BLT,FIRST WORD XFER'D INCORRECTLY,PXDISP)^
1336 031273 036 13 0 00 034317
1337
1338 031274 350 00 0 00 000001 AOS A ;INCR ADDR
1339 031275 336 00 0 00 034106 SKIPN DSTSEC ;BUT CHECK FOR SECTION ZERO
1340 031276 553 00 0 00 000001 HRRZS A ;AND INSURE WRAPROUND
1341
1342 031277 260 17 0 00 032450 GO CXREAD ;GET 2ND WD XFER'D
1343
1344 031300 316 02 0 00 033734 CAMN B,BLT2 ;OK?
1345 031301 254 00 0 00 031305 JRST FSTBAD ;YES, ONLY FIRST WAS BAD
1346
1347 ERROR1 (13,BLT2,B,BLT,BOTH WORDS XFER'D INCORRECTLY,PXDISP)^
1348 031302 036 13 0 00 034327
1349 031303 035 02 0 00 031064 ERLP2 ELOOP
1350 031304 254 00 0 00 031042 JRST .BLT ;DO NEXT CASE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 14
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0053
1351
1352 031305 035 02 0 00 031064 FSTBAD: ERLP2 ELOOP
1353 031306 254 00 0 00 031042 JRST .BLT ;DO NEXT CASE
1354
1355 031307 350 00 0 00 000001 SNDCHK: AOS A ;INCR ADDR
1356 031310 336 00 0 00 034106 SKIPN DSTSEC ;BUT CHECK FOR SECTION ZERO
1357 031311 553 00 0 00 000001 HRRZS A ;AND INSURE WRAPROUND
1358
1359 031312 260 17 0 00 032450 GO CXREAD ;GET 2ND WD XFER'D
1360
1361 031313 312 02 0 00 033734 CAME B,BLT2 ;OK?
1362 ERROR (ELOOP,13,BLT2,B,BLT,LAST WORD XFER'D INCORRECTLY,PXDISP)^
1363 031314 036 13 0 00 034337
1364 031315 035 00 0 00 031064 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1365 031316 254 00 0 00 031042 JRST .BLT ;DO NEXT CASE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 15
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0054
1366
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 16
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0055
1367
1368 ; **********************************************************************
1369 ;*.XBLT - TEST OF 'PXCT N,[EXTEND A,[XBLT]]'>
1370 ; **********************************************************************
1371 SALL
1372 034342 T=SIXBTZ <'PXCT N,[EXTEND A,[XBLT]]'>
1373
1374 031317 201 00 0 00 031317 .XBLT: MOVEI .
1375 031320 202 00 0 00 030051 MOVEM TESTPC
1376 031321 200 17 0 00 033775 MOVE P,TESTP ;GET A GOOD VALUE OF P
1377
1378 031322 350 01 0 00 033747 AOS A,CASE ;GET NEXT CASE NUMBER
1379 031323 311 01 0 16 046060 CAML A,CASTAB(TN) ;SEE IF DONE
1380 031324 263 17 0 00 000000 RTN ;Y
1381
1382 031325 260 17 0 00 032637 GO CLRPGS ;CLEAR EXTRA PAGES
1383
1384 031326 402 00 0 00 033756 SETZM PFHSPC ;ASSUME REGULAR PF HANDER
1385
1386 031327 231 01 0 00 000003 IDIVI A,XBLNTL ;DIV BY NUMBER OF N'S TO TEST
1387 031330 200 02 0 02 033707 MOVE B,XBLNTB(B) ;GET AN 'N' TO TEST
1388 031331 202 02 0 00 033753 MOVEM B,PXCTN ;SAVE N
1389
1390 031332 400 02 0 00 000000 SETZ B, ;READY B TO GET TWO BITS
1391 031333 246 01 0 00 777776 LSHC A,-2 ;MOVE BITS TO B
1392 031334 241 02 0 00 000002 ROT B,2 ;RIGHT JUSTIFY IN B
1393 031335 202 02 0 00 033735 MOVEM B,BLTYPE ;SAVE BLT TYPE
1394
1395 031336 231 01 0 00 000005 IDIVI A,XBLTBL ;DIVIDE BY XBLT LENGTH-TAB LENGTH
1396 031337 200 02 0 02 033712 MOVE B,XBLTAB(B) ;GET A LENGTH TO USE
1397 031340 202 02 0 00 034100 MOVEM B,XBLAC1 ;SAVE IT.
1398
1399 031341 231 01 0 00 000004 IDIVI A,NSECS
1400 031342 200 02 0 02 033676 MOVE B,SECTAB(B)
1401 031343 202 02 0 00 034076 MOVEM B,XBSRCS ;GET SOURCE SECTION NUMBER
1402
1403 031344 231 01 0 00 000004 IDIVI A,NSECS
1404 031345 200 02 0 02 033676 MOVE B,SECTAB(B)
1405 031346 202 02 0 00 034077 MOVEM B,XBDSTS ;GET DESTINATION SECTION
1406
1407 031347 260 17 0 00 033417 GO SETCXT ;SETUP PREVIOUS CONTEXTS
1408
1409 ; ******************************
1410 031350 ELOOP=. ;PLACE TO LOOP BACK TO ON ERROR
1411 ; ******************************
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 17
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0056
1412
1413 031350 200 01 0 00 034347 MOVE A,[EXTEND 1,VEA] ;GET INSTR TO TEST
1414 031351 202 01 0 00 041005 MOVEM A,PXCTEA ;SAVE AT PXCT'S EA
1415
1416 031352 200 01 0 00 034350 MOVE A,[XBLT] ;GET SUB INSTR TO TEST
1417 031353 202 01 0 00 041006 MOVEM A,PEA ;SAVE AT EXTEND'S EA
1418
1419 031354 200 01 0 00 033753 MOVE A,PXCTN ;GET N TO TEST
1420 031355 137 01 0 00 034235 DPB A,[POINT 4,PXCTIN,12] ;PUT IN PXCT INSTR
1421
1422 031356 200 02 0 00 033735 MOVE B,BLTYPE ;GET BLT TYPE
1423 031357 554 01 0 02 033736 HLRZ A,BLACWD(B) ;GET FROM ADDR
1424 031360 504 01 0 00 034076 HRL A,XBSRCS ;GET SECTION NUMBER
1425 031361 202 01 0 00 034101 MOVEM A,XBLAC2 ;SAVE SRC ADDR
1426
1427 031362 550 02 0 02 033736 HRRZ B,BLACWD(B) ;GET "TO" ADDR
1428 031363 504 02 0 00 034077 HRL B,XBDSTS ;GET SECTION NUMBER
1429 031364 202 02 0 00 034102 MOVEM B,XBLAC3 ;SAVE DST ADDR
1430
1431 031365 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N'
1432 031366 205 12 0 00 000001 MOVSI T3,1 ;ASSUME PREV CXT
1433 031367 602 01 0 00 000002 TRNE A,1B<11+23> ;CHECK 'N' BIT
1434 031370 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
1435 031371 400 12 0 00 000000 SETZ T3, ;CURRENT CXT
1436 031372 202 12 0 00 034112 MOVEM T3,SRCCXT ;SAVE SRC CXT
1437
1438 031373 201 01 0 00 072000 MOVEI A,PS1 ;USE SRC PAGE
1439 031374 135 02 0 00 034351 LDB B,[POINT 12,XBLAC2,17] ;GET SECTION NUMBER
1440 031375 135 03 0 00 034352 LDB C,[POINT 9,XBLAC2,26] ;GET PAGE NUMBER
1441 031376 260 17 0 00 033125 GO PMAPRT ;MAP THE PAGE
1442
1443 031377 200 01 0 00 034101 MOVE A,XBLAC2 ;GET AC2
1444 031400 350 00 0 00 000001 AOS A ;GET SRC+1
1445 031401 620 01 0 00 000777 TRZ A,777 ;CLEAR WORD ADDR
1446 031402 316 01 0 00 034101 CAMN A,XBLAC2 ;SEE IF WE CHANGED PAGE NUMBER
1447 031403 254 00 0 00 031415 JRST .XBL05 ;NO
1448
1449 031404 135 02 0 00 034353 LDB B,[POINT 12,A,17] ;YES, GET SECTION NUMBER
1450 031405 307 02 0 00 000037 CAIG B,37 ;ILL SECTION NUMBER?
1451 031406 254 00 0 00 031412 JRST .XBL04 ;NO, OK
1452
1453 031407 201 03 0 00 033041 MOVEI C,S0PFIN ;GET ADR OF SPECIAL PF HANDLER
1454 031410 202 03 0 00 033756 MOVEM C,PFHSPC ;SAVE FOR PFH ROUTINE
1455 031411 254 00 0 00 031415 JRST .XBL05 ;DON'T MAP IN ILLEGAL PAGE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 18
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0057
1456
1457 031412 135 03 0 00 034305 .XBL04: LDB C,[POINT 9,A,26] ;GET PAGE NUMBER
1458 031413 201 01 0 00 076000 MOVEI A,PS2 ;MAP TO SECOND SRC PAGE
1459 031414 260 17 0 00 033125 GO PMAPRT ;DO THE MAP
1460
1461 031415 135 02 0 00 034354 .XBL05: LDB B,[POINT 12,XBLAC3,17] ;GET SECTION NUMBER
1462 031416 135 03 0 00 034355 LDB C,[POINT 9,XBLAC3,26] ;GET PAGE NUMBER
1463 031417 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N'
1464 031420 205 12 0 00 000001 MOVSI T3,1 ;ASSUME PREV CXT
1465 031421 602 01 0 00 000001 TRNE A,1B<12+23> ;CHECK 'N' BIT
1466 031422 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
1467 031423 400 12 0 00 000000 SETZ T3, ;CURRENT CXT
1468 031424 202 12 0 00 034113 MOVEM T3,DSTCXT ;SAVE DST CXT
1469
1470 031425 201 01 0 00 070000 MOVEI A,PD1 ;USE DST PAGE
1471 031426 260 17 0 00 033125 GO PMAPRT ;MAP THE PAGE
1472
1473 031427 200 01 0 00 034102 MOVE A,XBLAC3 ;GET DST ADR
1474 031430 350 00 0 00 000001 AOS A ;DST ADR+1
1475 031431 620 01 0 00 000777 TRZ A,777 ;CLEAR WORD ADDR
1476 031432 316 01 0 00 034102 CAMN A,XBLAC3 ;SEE IF WE CHANGED PAGE NUMBER
1477 031433 254 00 0 00 031445 JRST .XBL06 ;NO
1478
1479 031434 135 02 0 00 034353 LDB B,[POINT 12,A,17] ;YES, GET SECTION NUMBER
1480 031435 307 02 0 00 000037 CAIG B,37 ;ILL SEC NUM?
1481 031436 254 00 0 00 031442 JRST .XBL07 ;NO, OK
1482
1483 031437 201 01 0 00 033041 MOVEI A,S0PFIN ;GET ADR OF SPECIAL PF HANDLER
1484 031440 202 01 0 00 033756 MOVEM A,PFHSPC ;SAVE FOR PFH ROUTINE
1485 031441 254 00 0 00 031445 JRST .XBL06 ;DONT MAP ILL PAGE
1486
1487 031442 135 03 0 00 034305 .XBL07: LDB C,[POINT 9,A,26] ;GET PAGE NUMBER
1488 031443 201 01 0 00 074000 MOVEI A,PD2 ;MAP TO SECOND DST PAGE
1489 031444 260 17 0 00 033125 GO PMAPRT ;DO THE MAP
1490
1491 031445 335 04 0 00 034100 .XBL06: SKIPGE D,XBLAC1 ;GET LEN AND SKIP IF NOT NEG
1492 031446 210 04 0 00 034100 MOVN D,XBLAC1 ;ELSE GET ABSOLUTE VALUE
1493
1494 031447 322 04 0 00 031476 JUMPE D,XBLNOC ;SETUP FOR ZERO LEN TEST
1495
1496 031450 200 01 0 00 034101 MOVE A,XBLAC2 ;GET SRC ADDR TO A
1497 031451 200 05 0 00 034102 MOVE E,XBLAC3 ;DST TO E
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 19
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0058
1498
1499 031452 135 02 0 00 034353 .XBL11: LDB B,[POINT 12,A,17] ;GET SECTION NUMBER
1500 031453 303 02 0 00 000037 CAILE B,37 ;SKIP IF OK
1501 031454 254 00 0 00 031461 JRST .XBL12 ;ELSE DON'T WRITE TO THAT ADR
1502
1503 031455 260 17 0 00 033611 GO RANDOM ;GET A RANDOM VALUE
1504 031456 200 02 0 00 000000 MOVE B,0 ;GET TO B
1505 031457 200 03 0 00 034112 MOVE C,SRCCXT ;SOURCE CONTEXT
1506 031460 260 17 0 00 032471 GO CXWRIT ;WRITE TO CORRECT MEMORY
1507
1508 031461 350 00 0 00 000001 .XBL12: AOS A ;NEXT A
1509 031462 250 01 0 00 000005 EXCH A,E ;GET DST, SAVE SRC
1510
1511 031463 135 02 0 00 034353 LDB B,[POINT 12,A,17] ;GET SECTION NUMBER
1512 031464 303 02 0 00 000037 CAILE B,37 ;SKIP IF OK
1513 031465 254 00 0 00 031472 JRST .XBL13 ;ELSE DON'T WRITE TO THAT ADR
1514
1515 031466 260 17 0 00 033611 GO RANDOM ;GET A RANDOM VALUE
1516 031467 200 02 0 00 000000 MOVE B,0 ;GET IT TO B
1517 031470 200 03 0 00 034113 MOVE C,DSTCXT ;DESTINATION CONTEXT
1518 031471 260 17 0 00 032471 GO CXWRIT ;WRITE IT
1519
1520 031472 350 00 0 00 000001 .XBL13: AOS A ;NEXT ADDR
1521 031473 250 01 0 00 000005 EXCH A,E ;GET SRC, SAV DST
1522 031474 367 04 0 00 031452 SOJG D,.XBL11 ;LOOP TILL DONE
1523
1524 031475 254 00 0 00 031503 JRST .XBL22
1525
1526 031476 260 17 0 00 033611 XBLNOC: GO RANDOM ;GET A VALUE
1527 031477 200 02 0 00 000000 MOVE B,0 ;GET IT TO B
1528 031500 200 01 0 00 034102 MOVE A,XBLAC3 ;GET ADDR OF DESTINATION
1529 031501 200 03 0 00 034113 MOVE C,DSTCXT ;GET THE CONTEXT
1530 031502 260 17 0 00 032471 GO CXWRIT ;WRITE THE VALUE
1531
1532 031503 331 00 0 00 034100 .XBL22: SKIPL XBLAC1 ;NEGATIVE?
1533 031504 254 00 0 00 031510 JRST .XBL23 ;NO
1534
1535 031505 210 01 0 00 034100 MOVN A,XBLAC1 ;Y, GET ABS VALUE
1536 031506 272 01 0 00 034101 ADDM A,XBLAC2 ;START AT 'END+1' OF SRC BLOCK
1537 031507 272 01 0 00 034102 ADDM A,XBLAC3 ;START AT 'END+1' OF DST BLOCK
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 20
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0059
1538
1539 031510 200 02 0 00 034100 .XBL23: MOVE B,XBLAC1 ;GET LENGTH FOR MOVE
1540 031511 202 02 0 00 034032 MOVEM B,EXECAC+1 ;WRITE TO EXEC AC 1
1541
1542 031512 200 02 0 00 034101 MOVE B,XBLAC2 ;GET SRC ADDR
1543 031513 202 02 0 00 034033 MOVEM B,EXECAC+2 ;WRITE TO EXEC AC 2
1544
1545 031514 200 02 0 00 034102 MOVE B,XBLAC3 ;GET DESTINATION ADDR
1546 031515 202 02 0 00 034034 MOVEM B,EXECAC+3 ;WRITE TO EXEC AC 3
1547
1548 031516 554 01 0 00 034101 HLRZ A,XBLAC2 ;GET SECTION NUMBER OF SRC ADDR
1549 031517 301 01 0 00 000040 CAIL A,40 ;ILLEGAL?
1550 031520 254 00 0 00 031524 JRST XBLT1B ;Y, SETUP SPECIAL RETURN ADDR
1551
1552 031521 554 01 0 00 034102 XBLT1A: HLRZ A,XBLAC3 ;GET SECTION NUMBER OF DST ADDR
1553 031522 305 01 0 00 000040 CAIGE A,40 ;ILLEGAL?
1554 031523 254 00 0 00 031527 JRST .XBLT2 ;NO
1555
1556 031524 201 01 0 00 033041 XBLT1B: MOVEI A,S0PFIN ;SPECIAL PF HANDLER
1557 031525 202 01 0 00 033756 MOVEM A,PFHSPC ;SAVE ADDR FOR PFH ROUTINE
1558 031526 402 00 0 00 033755 SETZM PFFLAG ;CLR FLAG
1559
1560 ; **************************************************
1561
1562 031527 260 17 0 00 033000 .XBLT2: GO DOPXCT ;DO THE PXCT
1563 031530 254 00 0 00 031534 JRST .+4 ;OK, AVOID ERROR CALL
1564
1565 ; **************************************************
1566
1567 031531 036 13 0 00 034357 ERROR (ELOOP,13,0,0,XBLT,UNEXPECTED PAGE FAULT,PXDISP)
1568 031532 035 00 0 00 031350 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1569 031533 254 00 0 00 031317 JRST .XBLT ;DO NEXT CASE
1570
1571 031534 200 01 0 00 034101 MOVE A,XBLAC2 ;GET SRC ADDR
1572 031535 202 01 0 00 034001 MOVEM A,SVAC2 ;SAVE A COPY OF AC2
1573
1574 031536 200 01 0 00 034102 MOVE A,XBLAC3 ;GET DST ADDR
1575 031537 202 01 0 00 034002 MOVEM A,SVAC3 ;SAVE A COPY OF AC3
1576
1577 031540 335 04 0 00 034100 SKIPGE D,XBLAC1 ;LENGTH NEGATIVE?
1578 031541 254 00 0 00 031572 JRST .XBLT4 ;GO COMPARE BACKWARDS
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 21
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0060
1579
1580 031542 200 01 0 00 034001 .XBLT3: MOVE A,SVAC2 ;GET SRC ADR TO READ
1581 031543 200 03 0 00 034112 MOVE C,SRCCXT ;GET CONTEXT
1582 031544 260 17 0 00 032450 GO CXREAD ;GET CONTENTS
1583 031545 261 17 0 00 000002 PUT B ;SAVE RESULT
1584
1585 031546 200 01 0 00 034002 MOVE A,SVAC3 ;GET A DST ADDR
1586 031547 200 03 0 00 034113 MOVE C,DSTCXT ;GET CONTEXT
1587 031550 260 17 0 00 032450 GO CXREAD ;GET CONTENTS
1588
1589 031551 262 17 0 00 000001 GET A ;SRC IN A, DST IN B
1590 031552 322 04 0 00 031617 JUMPE D,NOCHG ;IF LEN IS ZERO, SHOULD BE DIFFERENT
1591 031553 316 01 0 00 000002 CAMN A,B ;ELSE SHOULD BE THE SAME
1592 031554 254 00 0 00 031560 JRST .+4 ;OK, AVOID ERROR CALL
1593
1594 ERROR (ELOOP,13,A,B,XBLT,CORRECT DATA NOT TRANSFERRED,PXDISP)^
1595 031555 036 13 0 00 034367
1596 031556 035 00 0 00 031350 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1597 031557 254 00 0 00 031317 JRST .XBLT ;DO NEXT CASE
1598
1599 031560 350 00 0 00 034001 AOS SVAC2 ;INCR SRC ADDR
1600 031561 135 02 0 00 034372 LDB B,[POINT 12,SVAC2,17] ;GET SECTION
1601 031562 303 02 0 00 000037 CAILE B,37 ;STILL VALID?
1602 031563 254 00 0 00 031317 JRST .XBLT ;NO
1603
1604 031564 350 00 0 00 034002 AOS SVAC3 ;INCR DST ADDR
1605 031565 135 02 0 00 034373 LDB B,[POINT 12,SVAC3,17] ;GET SECTION
1606 031566 303 02 0 00 000037 CAILE B,37 ;STILL VALID?
1607 031567 254 00 0 00 031317 JRST .XBLT ;NO
1608
1609 031570 367 04 0 00 031542 SOJG D,.XBLT3 ;LOOP TILL DONE
1610
1611 031571 254 00 0 00 031317 JRST .XBLT ;NEXT CASE
1612
1613 031572 370 01 0 00 034001 .XBLT4: SOS A,SVAC2 ;GET SRC ADDR TO READ
1614 031573 200 03 0 00 034112 MOVE C,SRCCXT ;GET SRC CONTEXT
1615 031574 135 02 0 00 034353 LDB B,[POINT 12,A,17] ;GET SECTION
1616 031575 303 02 0 00 000037 CAILE B,37 ;STILL VALID?
1617 031576 254 00 0 00 031317 JRST .XBLT ;NO, OK DONE.
1618
1619 031577 260 17 0 00 032450 GO CXREAD ;READ THE LOC
1620 031600 261 17 0 00 000002 PUT B ;SAVE RESULT
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 22
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0061
1621
1622 031601 370 01 0 00 034002 SOS A,SVAC3 ;GET DST ADDR TO READ
1623 031602 200 03 0 00 034113 MOVE C,DSTCXT ;GET CONTEXT TO READ IN
1624 031603 135 02 0 00 034353 LDB B,[POINT 12,A,17] ;GET SECTION
1625 031604 303 02 0 00 000037 CAILE B,37 ;STILL VALID?
1626 031605 254 00 0 00 031317 JRST .XBLT ;NO, OK DONE.
1627
1628 031606 260 17 0 00 032450 GO CXREAD ;READ DST
1629 031607 262 17 0 00 000001 GET A ;SRC IN A, DST IN B
1630 031610 316 01 0 00 000002 CAMN A,B ;SHOULD BE THE SAME
1631 031611 254 00 0 00 031615 JRST .+4 ;OK, AVOID ERROR CALL
1632
1633 ERROR (ELOOP,13,A,B,XBLT,CORRECT DATA NOT TRANSFERRED,PXDISP)^
1634 031612 036 13 0 00 034367
1635 031613 035 00 0 00 031350 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1636 031614 254 00 0 00 031317 JRST .XBLT ;NEXT CASE
1637
1638 031615 341 04 0 00 031572 AOJL D,.XBLT4 ;LOOP TILL DONE
1639
1640 031616 254 00 0 00 031317 JRST .XBLT ;NEXT CASE
1641
1642 031617 316 01 0 00 000002 NOCHG: CAMN A,B ;SHOULD BE DIFFERENT
1643 ERROR (ELOOP,13,A,B,XBLT,ZERO LENGTH XBLT CHANGED DESTINATION,PXDISP)^
1644 031620 036 13 0 00 034403
1645 031621 035 00 0 00 031350 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1646 031622 254 00 0 00 031317 JRST .XBLT ;DO NEXT CASE
1647
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 23
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0062
1648
1649 ; **********************************************************************
1650 ;*.PUSH - TEST OF 'PXCT N,[PUSH A,Y]'
1651 ; **********************************************************************
1652 SALL
1653 034406 T=SIXBTZ <'PXCT N,[PUSH A,Y]'>
1654
1655 031623 201 00 0 00 031623 .PUSH: MOVEI .
1656 031624 202 00 0 00 030051 MOVEM TESTPC
1657 031625 200 17 0 00 033775 MOVE P,TESTP ;GET A GOOD VALUE OF P
1658
1659 031626 350 01 0 00 033747 AOS A,CASE ;GET NEXT CASENUMBER
1660 031627 311 01 0 16 046060 CAML A,CASTAB(TN) ;SEE IF DONE
1661 031630 263 17 0 00 000000 RTN ;Y
1662
1663 031631 260 17 0 00 032637 GO CLRPGS ;CLEAR EXTRA PAGES
1664
1665 031632 231 01 0 00 000002 IDIVI A,2 ;GET INDEX INTO 'N' TABLE DATA
1666 MOVE B,[4
1667 031633 200 02 0 02 034233 14](B) ;PXCT 'N' IS EITHER 4 OR 14 FOR THIS TEST
1668 031634 202 02 0 00 033753 MOVEM B,PXCTN ;SAVE 'N' TO TEST
1669 031635 137 02 0 00 034235 DPB B,[POINT 4,PXCTIN,12] ;PUT IN PXCT INSTR
1670
1671 031636 260 17 0 00 033417 GO SETCXT ;SETUP PREVIOUS CONTEXTS
1672
1673 031637 231 01 0 00 000016 .PUSH0: IDIVI A,AMODLN ;GET ADDR MODE TO TRY
1674 031640 202 02 0 00 033752 MOVEM B,TMOD ;SAVE TEST ADDR MODE
1675
1676 ; ******************************
1677 031641 ELOOP=. ;PLACE TO LOOP BACK TO ON ERROR
1678 ; ******************************
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 24
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0063
1679
1680 031641 200 02 0 00 033752 MOVE B,TMOD ;RECOVER INCASE LOOPING
1681 031642 201 01 0 02 046000 MOVEI A,AMODTB(B) ;GET ADDR OF INSTR TO BE TESTED
1682 031643 200 03 0 01 000000 MOVE C,(A) ;GET ADDR MODE TO BE TESTED
1683 031644 202 03 0 00 041005 MOVEM C,PXCTEA ;SETUP @ PXCT'S EA
1684
1685 031645 201 03 0 00 000261 MOVEI C,<PUSH>_-^D27 ;GET OPCODE FOR PUSH INSTR
1686 031646 137 03 0 00 034236 DPB C,[POINT 9,PXCTEA,8] ;DEPOSIT OPCODE
1687
1688 ; ************************************************
1689 ;SETUP FOR EFFECTIVE ADDRESS CALCULATION
1690 ; ************************************************
1691
1692 031647 476 00 0 00 034072 SETOM SETFLG ;NOTE WE'RE SETTING UP
1693
1694 031650 201 03 0 00 000010 MOVEI C,10 ;VALUE FOR INDEX REGISTER
1695 031651 202 03 0 00 034033 MOVEM C,EXECAC+B ;SAVE IN EXEC AC BLOCK
1696
1697 031652 200 03 0 00 033753 MOVE C,PXCTN ;GET 'N'
1698 031653 504 01 0 00 033723 HRL A,CCS ;START IN CURRENT CONTEXT SECTION
1699 031654 602 03 0 00 000010 TRNE C,1B<9+23> ;SKIP IF CURRENT CONTEXT EA CALC
1700 031655 504 01 0 00 033724 HRL A,PCS ;ELSE USE PCS
1701
1702 031656 621 01 0 00 200000 TLZ A,(1B1) ;ASSUME CURRENT CONTEXT FOR EACALC
1703 031657 602 03 0 00 000010 TRNE C,1B<9+23> ;BUT NOT IF PXCT BIT 9 = 1
1704 031660 661 01 0 00 200000 TLO A,(1B1) ;USE PREVIOUS CONTEXT
1705
1706 031661 260 17 0 00 033524 GO CASECK ;SEE IF THIS CASE VALID FOR SECTION-0
1707 031662 254 00 0 00 031623 JRST .PUSH ;N, SEC-0 & GLOBAL ADDRESSING CASE
1708
1709 031663 260 17 0 00 033573 GO AMAP ;MAP IN ADDR MODE PAGE
1710
1711 031664 260 17 0 00 032246 GO EACALC ;DO EA CALC TO SETUP ADDR CHAINS
1712 031665 202 01 0 00 041006 MOVEM A,PEA ;SAVE INSTR'S EA
1713
1714 031666 402 00 0 00 034072 SETZM SETFLG ;CLEAR SET FLAG
1715
1716 031667 260 17 0 00 033611 GO RANDOM ;GET A RANDOM NUMBER
1717 031670 202 00 0 00 044000 MOVEM 0,PQ ;SAVE FOR EA OF MOVE INSTR
1718 031671 202 00 0 00 034114 MOVEM 0,OLDSRC ;SAVE SRC DATA
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 25
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0064
1719
1720 ; ************************************************
1721 ;CALC MAPPING FOR DATA PAGE
1722 ; ************************************************
1723
1724 031672 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N'
1725 031673 205 12 0 00 000001 MOVSI T3,1 ;ASSUME PREVIOUS
1726 031674 135 02 0 00 034237 LDB B,[POINT 12,PEA,17] ;GET GLOBAL VIRT SECTION FROM EA
1727 031675 402 00 0 00 077101 SETZM PCSSUB# ;CLEAR SUBSTITUTION FLAG
1728 031676 606 01 0 00 000004 TRNN A,1B<10+23> ;CHECK N BIT FOR PREV CXT
1729 031677 254 00 0 00 031702 JRST .PSH10 ;CURRENT CONTEXT FOR DATA REF
1730
1731 031700 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT FOR PREV CXT USER
1732 031701 400 12 0 00 000000 SETZ T3, ;NO, EXEC
1733
1734 031702 336 00 0 00 034120 .PSH10: SKIPN LOCGBL ;IS EA GLOBAL OR LOCAL?
1735 031703 254 00 0 00 031710 JRST .PSH20 ;GLOBAL, DON'T DO SUBSTITUTION
1736
1737 031704 302 01 0 00 000004 CAIE A,4 ;IS PXCT-N EQUAL TO DATA REF ONLY CASE?
1738 031705 254 00 0 00 031710 JRST .PSH20 ;NO, DON'T DO SUBSTITUTION
1739
1740 031706 200 02 0 00 033724 MOVE B,PCS ;GET PREVIOUS CXT SECTION
1741 031707 476 00 0 00 077101 SETOM PCSSUB ;NOTE WE SUBSTITUTED PCS FOR DATA REF
1742
1743 031710 506 02 0 00 034126 .PSH20: HRLM B,PXDEA ;SAVE SECTION FOR PXDISP TO PRINT
1744 031711 200 03 0 00 041006 MOVE C,PEA ;GET ADDRESS
1745 031712 542 03 0 00 034126 HRRM C,PXDEA ;SAVE FOR PXDISP TO PRINT
1746
1747 031713 201 03 0 00 000043 MOVEI C,<VQ_-9> ;GET VIR PAG NUM
1748 031714 201 01 0 00 044000 MOVEI A,PQ ;GET PHYS ADR
1749 031715 260 17 0 00 033125 GO PMAPRT ;MAP IN PAGE
1750
1751 ; ************************************************
1752 ;CALC MAPPING FOR ADDR CHAIN PAGE
1753 ; ************************************************
1754
1755 031716 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N'
1756 031717 205 12 0 00 000001 MOVSI T3,1 ;ASSUME PREVIOUS
1757 031720 602 01 0 00 000010 TRNE A,1B<9+23> ;CHECK 'N' BIT
1758 031721 336 00 0 00 034074 SKIPN PCU ;CHECK PCU
1759 031722 400 12 0 00 000000 SETZ T3, ;NO, CURRENT CONTEXT
1760
1761 031723 540 02 0 00 033723 HRR B,CCS ;ASSUME CURRENT CONTEXT SECTION
1762 031724 602 01 0 00 000010 TRNE A,1B<9+23> ;CHECK 'N' BIT
1763 031725 540 02 0 00 033724 HRR B,PCS ;NO, PREVIOUS
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 26
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0065
1764
1765 031726 201 01 0 00 046000 MOVEI A,AMOD ;GET ADDR OF ADDR CHAIN PAGE
1766 031727 201 03 0 00 000046 MOVEI C,AMODPN ;GET PAGE NUMBER
1767 031730 260 17 0 00 033125 GO PMAPRT ;MAP IN THE ADDR MODE PAGE
1768
1769 031731 260 17 0 00 033611 GO RANDOM ;GET A VALUE FOR STK OF PUSH INSTR
1770 031732 202 00 0 00 034115 MOVEM 0,OLDDST ;SAVE WHAT DST VAL WAS
1771 031733 202 00 0 00 070101 MOVEM 0,PD1+101 ;SETUP PREVIOUS DESTINATION CONTENTS
1772
1773 031734 205 12 0 00 000001 MOVSI T3,1 ;ASSUME PREV CXT
1774 031735 602 01 0 00 000001 TRNE A,1B<12+23> ;CHECK 'N' BIT
1775 031736 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
1776 031737 400 12 0 00 000000 SETZ T3, ;NO, CURRENT CONTEXT
1777 031740 202 12 0 00 034113 MOVEM T3,DSTCXT ;SAVE DESTINATION CONTEXT
1778
1779 031741 201 01 0 00 070000 MOVEI A,PD1 ;GET ADDR OF PHYS PAGE
1780 031742 336 02 0 00 034106 SKIPN B,DSTSEC ;GET SECTION IF NON-ZERO
1781 031743 200 02 0 00 033723 MOVE B,CCS ;ELSE USE CURRENT SECTION
1782
1783 031744 201 03 0 00 000067 MOVEI C,VD1PN ;GET VIRT PAGE NUM
1784 031745 260 17 0 00 033125 GO PMAPRT ;MAP A PAGE
1785
1786 031746 514 02 0 00 034106 HRLZ B,DSTSEC ;GET DESTINATION SECTION
1787 031747 336 00 0 00 000002 SKIPN B ;SKIP IF NON-ZERO W/ GLOBAL SECTION
1788 031750 515 02 0 00 777776 HRLZI B,-2 ;NEGATIVE COUNT FOR LOCAL PTR
1789
1790 031751 541 02 0 00 067100 HRRI B,VD1+100 ;CURRENT END OF STACK
1791 031752 202 02 0 00 034116 MOVEM B,OLDSP ;SAVE OLD SP
1792 031753 202 02 0 00 034032 MOVEM B,EXECAC+A ;WRITE AC
1793
1794 031754 336 00 0 00 034106 SKIPN DSTSEC ;SEE IF DESTINATION SECTION IS ZERO
1795 031755 270 02 0 00 034412 ADD B,[1,,0] ;IF SO, INCR LH (STK LEN)
1796
1797 031756 350 00 0 00 000002 AOS B ;NOW INCR END-OF-STK ADDR
1798 031757 202 02 0 00 034117 MOVEM B,NEWSP ;SAVE WHAT AC SHOULD BE AFTER PUSH
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 27
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0066
1799
1800 031760 402 00 0 00 033756 .PUSH1: SETZM PFHSPC ;CLR SPECIAL PF HANDLER ADDR
1801
1802 031761 201 02 0 00 000010 MOVEI B,10 ;USER GETS 10
1803 031762 201 03 0 00 000101 MOVEI C,101 ;EXEC GET 101
1804
1805 031763 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N' BIT
1806 031764 602 01 0 00 000010 TRNE A,1B<9+23> ;SEE IF EACALC IN PREVIOUS CONTEXT
1807 031765 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
1808 031766 250 02 0 00 000003 EXCH B,C ;EXEC GETS 10 IF -(PCU AND 'N'BIT)
1809
1810 031767 202 03 0 00 034033 MOVEM C,EXECAC+B ;SET EXEC VALUE
1811 031770 202 02 0 00 034053 MOVEM B,PACBLK+B ;SAVE USER AC
1812
1813 ; **************************************************
1814
1815 031771 260 17 0 00 033000 GO DOPXCT ;GO DO PXCT
1816 031772 254 00 0 00 031776 JRST .+4 ;OK, AVOID ERROR CALL
1817
1818 ; **************************************************
1819
1820 031773 036 13 0 00 034414 ERROR (ELOOP,13,0,0,PUSH,UNEXPECTED PAGE FAULT,PXDISP)
1821 031774 035 00 0 00 031641 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1822 031775 254 00 0 00 031623 JRST .PUSH ;DO NEXT CASE
1823
1824 031776 200 01 0 00 044000 MOVE A,PQ ;GET THE VALUE OF THE SRC FIELD
1825 031777 316 01 0 00 070101 CAMN A,PD1+101 ;SEE IF STACK CHANGED
1826 032000 254 00 0 00 032004 JRST .+4 ;OK, AVOID ERROR CALL
1827
1828 ERROR (ELOOP,13,PQ,PD1+101,PUSH,FAILED TO CHANGE STACK,PXDISP)^
1829 032001 036 13 0 00 034423
1830 032002 035 00 0 00 031641 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1831 032003 254 00 0 00 031623 JRST .PUSH ;DO NEXT CASE
1832
1833 032004 200 01 0 00 034032 MOVE A,EXECAC+1 ;GET NEW VAL FOR SP
1834 032005 316 01 0 00 034117 CAMN A,NEWSP ;SEE IF CORRECT
1835 032006 254 00 0 00 032012 JRST .+4 ;OK, AVOID ERROR CALL
1836
1837 ERROR (ELOOP,13,NEWSP,A,PUSH,INCORRECT STACK PTR AFTER PUSH,PXDISP)^
1838 032007 036 13 0 00 034434
1839 032010 035 00 0 00 031641 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1840 032011 254 00 0 00 031623 JRST .PUSH ;NEXT CASE
1841
1842 032012 260 17 0 00 033611 GO RANDOM ;GET A RANDOM VALUE
1843 032013 202 00 0 00 044000 MOVEM 0,PQ ;CHG DESTINATION LOC
1844
1845 032014 201 03 0 00 000262 MOVEI C,<POP>_-^D27 ;GET OPCODE FOR POP
1846 032015 137 03 0 00 034236 DPB C,[POINT 9,PXCTEA,8] ;SET IT
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 28
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0067
1847
1848 ; **********************************************************************
1849 ;*.PUSH2 - TEST OF 'PXCT N,[POP A,Y]'
1850 ; **********************************************************************
1851 SALL
1852 034437 T=SIXBTZ <'PXCT N,[POP A,Y]'>
1853
1854 032016 402 00 0 00 033756 .PUSH2: SETZM PFHSPC ;NO PF EXPECTED
1855
1856 032017 201 02 0 00 000010 MOVEI B,10 ;USER GETS 10
1857 032020 201 03 0 00 000101 MOVEI C,101 ;EXEC GET 101
1858
1859 032021 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N' BIT
1860 032022 602 01 0 00 000010 TRNE A,1B<9+23> ;SEE IF EACALC IN PREVIOUS CONTEXT
1861 032023 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
1862 032024 250 02 0 00 000003 EXCH B,C ;EXEC GETS 10 IF -(PCU AND 'N'BIT)
1863
1864 032025 202 03 0 00 034033 MOVEM C,EXECAC+B ;SET EXEC VALUE
1865 032026 202 02 0 00 034053 MOVEM B,PACBLK+B ;SAVE USER AC
1866
1867 ; **************************************************
1868
1869 032027 260 17 0 00 033000 GO DOPXCT ;REWRITE DATA TO MEMORY
1870 032030 254 00 0 00 032034 JRST .+4 ;OK, AVOID ERROR CALL
1871
1872 ; **************************************************
1873
1874 032031 036 13 0 00 034444 ERROR (ELOOP,13,0,0,POP,UNEXPECTED PAGE FAULT,PXDISP)
1875 032032 035 00 0 00 031641 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1876 032033 254 00 0 00 031623 JRST .PUSH ;DO NEXT CASE
1877
1878 032034 200 01 0 00 034114 MOVE A,OLDSRC ;GET ORIGINAL SRC DATA
1879 032035 312 01 0 00 044000 CAME A,PQ ;SEE IF IT GOT REWRITTEN CORRECTLY
1880
1881 ERROR (ELOOP,13,OLDSRC,PQ,POP,MEM DATA INCORRECT,PXDISP)^
1882 032036 036 13 0 00 034447
1883 032037 035 00 0 00 031641 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
1884 032040 254 00 0 00 031623 JRST .PUSH ;DO NEXT CASE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 29
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0068
1885
1886 ; **********************************************************************
1887 ;*.LDB - TEST OF 'PXCT N,[LDB A,Y]'
1888 ; **********************************************************************
1889 SALL
1890 034452 T=SIXBTZ <'PXCT N,[LDB A,Y]'>
1891
1892 032041 201 00 0 00 032041 .LDB: MOVEI .
1893 032042 202 00 0 00 030051 MOVEM TESTPC
1894 032043 200 17 0 00 033775 MOVE P,TESTP ;GET A GOOD VALUE OF P
1895
1896 032044 350 01 0 00 033747 AOS A,CASE ;GET NEXT CASE NUMBER
1897 032045 311 01 0 16 046060 CAML A,CASTAB(TN) ;SEE IF DONE
1898 032046 263 17 0 00 000000 RTN ;Y
1899
1900 032047 260 17 0 00 032637 GO CLRPGS ;CLEAR EXTRA PAGES
1901 032050 231 01 0 00 000004 IDIVI A,LBLNTL ;DIV BY NUM OF 'N'S TO TEST
1902 032051 200 02 0 02 033717 MOVE B,LBLNTB(B) ;GET AN 'N'
1903 032052 202 02 0 00 033753 MOVEM B,PXCTN ;SAVE IT
1904
1905 ; ******************************
1906 032053 ELOOP=. ;PLACE TO LOOP BACK TO ON ERROR
1907 ; ******************************
1908
1909 032053 231 01 0 00 000002 IDIVI A,BMODLN/2 ;GET ADDR MODE FOR BYTE PTR
1910 032054 202 02 0 00 033751 MOVEM B,BPMOD ;SAVE IT
1911
1912 032055 231 01 0 00 000016 IDIVI A,AMODLN ;GET ADDR MODE FOR INSTR
1913 032056 202 02 0 00 033752 MOVEM B,TMOD ;SAVE IT
1914
1915 032057 201 01 0 02 046000 MOVEI A,AMODTB(B) ;GET ADDR OF INSTR TO BE TESTED
1916 032060 200 03 0 01 000000 MOVE C,(A) ;GET ADDR MODE TO BE TESTED
1917 032061 202 03 0 00 041005 MOVEM C,PXCTEA ;SAVE AT PXCT'S EA
1918
1919 032062 200 02 0 00 033751 MOVE B,BPMOD ;GET INDEX INTO BYTE PTR TABLE
1920 032063 242 02 0 00 000001 LSH B,1 ;TIMES 2, CAUSE 2 WD ENTRIED
1921 032064 120 02 0 02 045000 DMOVE B,BMODTB(B) ;GET DBL WORD BYTE PTR
1922 032065 124 02 0 00 044000 DMOVEM B,PQ ;SAVE AT PQ,PQ+1
1923
1924 032066 201 03 0 00 000135 MOVEI C,<LDB>_-^D27 ;GET OPCODE
1925 032067 137 03 0 00 034236 DPB C,[POINT 9,PXCTEA,8] ;PUT IN INSTR TO BE TESTED
1926
1927 032070 476 00 0 00 034072 SETOM SETFLG ;NOTE WE'RE SETTING UP ADDR CHAINS
1928
1929 032071 201 03 0 00 000010 MOVEI C,10 ;VALUE FOR INDEX REGISTER
1930 032072 202 03 0 00 034033 MOVEM C,EXECAC+2 ;SET IT
1931 032073 260 17 0 00 033524 GO CASECK ;SEE IF VALID CASE
1932 032074 254 00 0 00 032041 JRST .LDB ;N, SEC-0 & GLOBAL CASE
1933
1934 032075 260 17 0 00 033573 GO AMAP ;MAP IN ADDR CHN PAGE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 30
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0069
1935
1936 032076 260 17 0 00 032246 GO EACALC ;SETUP ADDR CHAINS
1937 032077 202 01 0 00 041006 MOVEM A,PEA ;SAVE INSTR'S EA
1938
1939 032100 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N'
1940 032101 137 01 0 00 034235 DPB A,[POINT 4,PXCTIN,12] ;PUT IN PXCT INSTR
1941 032102 205 12 0 00 000001 MOVSI T3,1 ;ASSUME PREV CXT
1942 032103 602 01 0 00 000004 TRNE A,1B<10+23> ;CHECK 'N' BIT
1943 032104 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
1944 032105 400 12 0 00 000000 SETZ T3, ;NO, CURRENT CONTEXT
1945 032106 202 12 0 00 034122 MOVEM T3,BPCXT ;SAVE BYTE PTR CONTEXT
1946
1947 032107 201 01 0 00 044000 MOVEI A,PQ ;GET PHYS ADDR
1948 032110 135 02 0 00 034237 LDB B,[POINT 12,PEA,17] ;GET SECTION NUMBER FROM EA
1949 032111 202 02 0 00 033725 MOVEM B,BPSEC ;SAVE BYTE PTR SECTION
1950
1951 032112 201 03 0 00 000043 MOVEI C,VQ_-9 ;VIRTUAL PAG NUM
1952 032113 260 17 0 00 033125 GO PMAPRT ;MAP IN PAGE
1953
1954 032114 200 01 0 00 044000 MOVE A,PQ ;GET BYTE PTR
1955 032115 607 01 0 00 000040 TLNN A,(1B12) ;SEE IF LOCAL/GLOBAL WORD
1956 032116 254 00 0 00 032121 JRST LDBLOC ;LOCAL
1957
1958 032117 332 00 0 00 033725 SKIPE BPSEC ;SKIP IF SECTION ZERO
1959 032120 334 01 0 00 034457 SKIPA A,[[Z VQ+1]] ;USE GLOBAL WORD INSTEAD
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 31
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0070
1960
1961 032121 201 01 0 00 043000 LDBLOC: MOVEI A,VQ ;GET ADDR OF BYTE PTR
1962 032122 260 17 0 00 032246 GO EACALC
1963 032123 202 01 0 00 041006 MOVEM A,PEA ;SAVE EA CALC
1964
1965 032124 402 00 0 00 034125 SETZM BPLG ;ASSUME GLOBAL
1966 032125 623 01 0 00 400000 TLZE A,(1B0) ;CLEAR AND CHECK LOCAL/GLOBAL FLAG
1967 032126 476 00 0 00 034125 SETOM BPLG ;NO, LOCAL
1968
1969 032127 202 01 0 00 034121 MOVEM A,BPEA ;SAVE BYTE PTR'S EA
1970 032130 402 00 0 00 034072 SETZM SETFLG ;DONE SETTING UP
1971
1972 032131 201 01 0 00 071000 MOVEI A,VS1 ;ADDR OF SOURCE DATA PAGE
1973 032132 554 02 0 00 034121 HLRZ B,BPEA ;GET SECTION NUMBER FROM BYTE PTR'S EA
1974 032133 135 03 0 00 034460 LDB C,[POINT 9,BPEA,26] ;GET VIR PAG NUM FROM BP EA
1975 032134 260 17 0 00 033125 GO PMAPRT ;MAP IN THAT PAGE
1976
1977 032135 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N'
1978 032136 205 12 0 00 000001 MOVSI T3,1 ;ASSUME PREV CXT
1979 032137 602 01 0 00 000001 TRNE A,1B<12+23> ;CHECK 'N' BIT
1980 032140 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
1981 032141 400 12 0 00 000000 SETZ T3, ;NO, CURRENT CONTEXT
1982 032142 202 12 0 00 034112 MOVEM T3,SRCCXT ;SAVE BYTE PTR CONTEXT
1983
1984 032143 260 17 0 00 033611 GO RANDOM ;GET A RANDOM WORD
1985 032144 202 00 0 00 071000 MOVEM 0,BPDATA ;INIT THE WORD
1986 032145 202 00 0 00 034114 MOVEM 0,OLDSRC ;ALSO SAVE A COPY FOR LATER
1987
1988 032146 510 01 0 00 044000 HLLZ A,PQ ;GET LH OF BP
1989 032147 541 01 0 00 071000 HRRI A,BPDATA ;POINT TO DATA
1990 032150 202 01 0 00 034123 MOVEM A,BP ;SAVE A COPY OF THE BYTE PTR
1991
1992 032151 135 02 0 00 000001 LDB B,A ;GET THE BYTE THAT WILL RESULT
1993 032152 202 02 0 00 034124 MOVEM B,BPBYTE ;SAVE THE BYTE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 32
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0071
1994
1995 032153 402 00 0 00 033756 .LDB2: SETZM PFHSPC ;NO SPECIAL PFHANDLER
1996
1997 032154 201 02 0 00 000010 MOVEI B,10 ;USER GETS 10
1998 032155 201 03 0 00 000101 MOVEI C,101 ;EXEC GET 101
1999 032156 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N' BIT
2000 032157 602 01 0 00 000010 TRNE A,1B<9+23> ;SEE IF EACALC IN PREVIOUS CONTEXT
2001 032160 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
2002 032161 250 02 0 00 000003 EXCH B,C ;EXEC GETS 10 IF -(PCU AND 'N'BIT)
2003
2004 032162 202 03 0 00 034033 MOVEM C,EXECAC+B ;SET EXEC VALUE
2005 032163 202 02 0 00 034053 MOVEM B,PACBLK+B ;SAVE USER AC
2006
2007 ; **************************************************
2008
2009 032164 260 17 0 00 033000 GO DOPXCT ;DO THE PXCT
2010 032165 254 00 0 00 032171 JRST .+4 ;OK, AVOID ERROR CALL
2011
2012 ; **************************************************
2013
2014 032166 036 13 0 00 034462 ERROR (ELOOP,13,0,0,LDB,UNEXPECTED PAGE FAULT,PXDISP)
2015 032167 035 00 0 00 032053 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
2016 032170 254 00 0 00 032041 JRST .LDB ;DO NEXT CASE
2017
2018 032171 200 01 0 00 034032 MOVE A,EXECAC+A ;GET C(AC)
2019 032172 316 01 0 00 034124 CAMN A,BPBYTE ;SEE IF OK
2020 032173 254 00 0 00 032177 JRST .+4 ;OK, AVOID ERROR CALL
2021
2022 ERROR (ELOOP,13,BPBYTE,EXECAC+A,LDB,FAILED TO LOAD CORRECT DATA,PXDISP)^
2023 032174 036 13 0 00 034472
2024 032175 035 00 0 00 032053 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
2025 032176 254 00 0 00 032041 JRST .LDB ;DO NEXT CASE
2026
2027 032177 200 01 0 00 034114 MOVE A,OLDSRC ;GET ORIGINAL SOURCE DATA
2028 032200 316 01 0 00 071000 CAMN A,BPDATA ;SEE IF LDB CHANGED DATA
2029 032201 254 00 0 00 032205 JRST .+4 ;OK, AVOID ERROR CALL
2030
2031 ERROR (ELOOP,13,OLDSRC,BPDATA,LDB,CHANGED SOURCE DATA,PXDISP)^
2032 032202 036 13 0 00 034501
2033 032203 035 00 0 00 032053 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
2034 032204 254 00 0 00 032041 JRST .LDB ;DO NEXT CASE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 33
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0072
2035
2036 ; **********************************************************************
2037 ;*.DPB - TEST OF 'PXCT N,[DPB A,Y]'
2038 ; **********************************************************************
2039 SALL
2040 034504 T=SIXBTZ <'PXCT N,[DPB A,Y]'>
2041
2042 032205 201 03 0 00 000137 .DPB: MOVEI C,<DPB>_-^D27 ;GET OPCODE
2043 032206 137 03 0 00 034236 DPB C,[POINT 9,PXCTEA,8] ;PUT IN INSTR
2044 032207 200 01 0 00 034123 MOVE A,BP ;GET BYTE PTR
2045
2046 032210 260 17 0 00 033611 CHGBYT: GO RANDOM ;GET A RANDOM WORD
2047 032211 137 00 0 00 000001 DPB 0,A ;CHANGE DESTINATION CONTENTS
2048
2049 032212 200 01 0 00 071000 MOVE A,BPDATA ;FIND OUT WHAT THE WORD LOOKS LIKE
2050 032213 316 01 0 00 034114 CAMN A,OLDSRC ;DID IT CHANGE?
2051 032214 254 00 0 00 032210 JRST CHGBYT ;NO
2052
2053 032215 402 00 0 00 033756 SETZM PFHSPC ;NO SPECIAL PF HANDLER
2054
2055 032216 201 02 0 00 000010 MOVEI B,10 ;USER GETS 10
2056 032217 201 03 0 00 000101 MOVEI C,101 ;EXEC GET 101
2057 032220 200 01 0 00 033753 MOVE A,PXCTN ;GET 'N' BIT
2058 032221 602 01 0 00 000010 TRNE A,1B<9+23> ;SEE IF EACALC IN PREVIOUS CONTEXT
2059 032222 336 00 0 00 034074 SKIPN PCU ;CHECK PCU BIT
2060 032223 250 02 0 00 000003 EXCH B,C ;EXEC GETS 10 IF -(PCU AND 'N'BIT)
2061
2062 032224 202 03 0 00 034033 MOVEM C,EXECAC+B ;SET EXEC VALUE
2063 032225 202 02 0 00 034053 MOVEM B,PACBLK+B ;SAVE USER AC
2064
2065 ; **************************************************
2066
2067 032226 260 17 0 00 033000 GO DOPXCT ;DO THE PXCT
2068 032227 254 00 0 00 032233 JRST .+4 ;OK, AVOID ERROR CALL
2069
2070 ; **************************************************
2071
2072 032230 036 13 0 00 034511 ERROR (ELOOP,13,0,0,DPB,UNEXPECTED PAGE FAULT,PXDISP)
2073 032231 035 00 0 00 032053 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
2074 032232 254 00 0 00 032041 JRST .LDB ;DO NEXT CASE
2075
2076 032233 200 01 0 00 071000 MOVE A,BPDATA ;GET DESTINATION
2077 032234 316 01 0 00 034114 CAMN A,OLDSRC ;BACK TO ORIGINAL VALUE?
2078 032235 254 00 0 00 032241 JRST .+4 ;OK, AVOID ERROR CALL
2079
2080 ERROR (ELOOP,13,OLDSRC,BPDATA,DPB,DID NOT WRITE BYTE CORRECTLY,PXDISP)^
2081 032236 036 13 0 00 034521
2082 032237 035 00 0 00 032053 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
2083 032240 254 00 0 00 032041 JRST .LDB ;DO NEXT CASE
2084
2085 032241 200 01 0 00 034032 MOVE A,EXECAC+A ;GET BYTE
2086 032242 312 01 0 00 034124 CAME A,BPBYTE ;STILL OK?
2087
2088 ERROR (ELOOP,13,BPBYTE,EXECAC+A,DPB,CHANGED SOURCE AC,PXDISP)^
2089 032243 036 13 0 00 034527
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 33-1
DFKECM MAC 4-Sep-81 15:22 TEST SECTION SEQ 0073
2090 032244 035 00 0 00 032053 ERLOOP ELOOP ;IF ERROR, LOOP TO ELOOP
2091 032245 254 00 0 00 032041 JRST .LDB ;DO NEXT CASE
2092
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 34
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0074
2093 SUBTTL SUPPORT ROUTINES
2094 SALL
2095 ; **********************************************************************
2096 ;*EACALC - EXTENDED EFFECTIVE ADDRESS CALCULATION
2097 ;*
2098 ;* ENTER WITH EFFECTIVE ADDRESS (IN A) OF INSTRUCTION FORMAT WORD (IFW)
2099 ;* TO WHICH THE EFFECTIVE ADDRESS CALCULATION IS TO BE APPLIED, AND
2100 ;* BITS 0,1 SET ACCORDINGLY.
2101 ;*
2102 ;* B0(A)=1 => PREVIOUS CONTEXT FOR FETCH OF IFW
2103 ;* B1(A)=1 => PREVIOUS CONTEXT FOR EFFECTIVE ADDRESS CALCULATION OF IFW
2104 ;*
2105 ;* RETURNS+1 ALWAYS, EFFECTIVE ADDRESS IN A(6-35), AND LOCAL/GLOBAL SET
2106 ;* ACCORDINGLY IN A(0) (1=LOCAL, 0=GLOBAL)
2107 ; **********************************************************************
2108
2109 032246 261 17 0 00 000002 EACALC: PUT B ;SAVE B
2110 032247 261 17 0 00 000003 PUT C ;SAVE C
2111
2112 032250 202 01 0 00 033762 MOVEM A,XEA ;INIT EA SECTION TO CURRENT SECTION
2113
2114 032251 135 03 0 00 034532 LDB C,[POINT 1,A,0] ;GET CONTEXT FOR IFW FETCH
2115 032252 260 17 0 00 032373 GO XXREAD ;DO CONTEXT-READ TO GET IFW TO B
2116
2117 032253 403 03 0 00 034127 SETZB C,CHNPTR ;INIT CHAIN TABLE INDEX
2118
2119 032254 552 02 0 00 034130 HRRZM B,CHNTAB+0 ;SAVE FETCHED WD IN TABLE
2120
2121 032255 621 01 0 00 770000 TLZ A,770000 ;CLEAR EXTRA BITS
2122 032256 502 01 0 00 034130 HLLM A,CHNTAB+0 ;SAVE SECTION NUMBER FETCHED FROM
2123
2124 032257 402 00 0 00 034150 SETZM CHNCHR+0 ;SEPARATE WITH SLASH
2125
2126 032260 201 01 0 00 000002 MOVEI A,INDMAX ;MAX INDIRECT CHAIN LENGTH
2127 032261 202 01 0 00 033766 MOVEM A,INDCNT ;STORE COUNT-DOWN VALUE
2128
2129 032262 200 01 0 00 033762 MOVE A,XEA ;RESTORE A
2130 032263 135 03 0 00 034533 LDB C,[POINT 1,A,1] ;GET CONTEXT FOR IFW EA CALC
2131 032264 202 03 0 00 034111 MOVEM C,EACCXT ;SAVE EACALC CONTEXT
2132
2133 032265 200 06 0 00 033771 MOVE F,GOODF ;MAKE SURE WE HAVE A GOOD F
2134 032266 607 06 0 00 400000 TLNN F,(KLXTST) ;IS THIS AN EXTENDED ADDR TEST?
2135 032267 402 00 0 00 033762 SETZM XEA ;NO, SET SECTION ZERO
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 35
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0075
2136
2137 032270 661 03 0 00 400000 LOCL00: TLO C,(LOCREF) ;SET LOCAL REFERENCE FLAG
2138 032271 135 01 0 00 034534 LDB A,[POINT 4,B,17] ;GET INDEX FIELD
2139 032272 202 01 0 00 033763 MOVEM A,X ;SAVE IN X
2140
2141 032273 135 01 0 00 034535 LDB A,[POINT 1,B,13] ;GET INDIRECT BIT
2142 032274 202 01 0 00 033765 MOVEM A,I ;SAVE IN I
2143
2144 032275 570 01 0 00 000002 HRRE A,B ;SIGN EXTEND 18 BIT Y FIELD
2145 032276 202 01 0 00 033764 MOVEM A,Y ;SAVE IN Y
2146
2147 032277 336 01 0 00 033763 SKIPN A,X ;READY ADDR, SKIP IF NON-ZERO NDX
2148 032300 254 00 0 00 032315 JRST LOCL03 ;ELSE NO INDEXING
2149
2150 032301 200 02 0 01 034031 MOVE B,EXECAC(A) ;READ EXEC INDEX REGISTER
2151 032302 202 02 0 00 033763 MOVEM B,X ;X NOW HAS C(X)
2152
2153 032303 350 01 0 00 034127 AOS A,CHNPTR ;GET NEXT CHAIN TABLE ADDR
2154 032304 202 02 0 01 034130 MOVEM B,CHNTAB(A) ;SAVE FETCHED WD IN TABLE
2155 032305 476 00 0 01 034150 SETOM CHNCHR(A) ;SEPARATE WITH PLUS SIGN
2156
2157 032306 135 01 0 00 034536 LDB A,[POINT 12,XEA,17] ;GET EA SECTION NUMBER
2158 032307 322 01 0 00 032312 JUMPE A,LOCL02 ;SECTION 0 FORCES LOCAL REFERENCE
2159
2160 032310 554 01 0 00 033763 HLRZ A,X ;GET LH(X)
2161 032311 327 01 0 00 032354 JUMPG A,GLBL02 ;POSITIVE LH(X) IS GLOBAL REFERENCE
2162
2163 032312 550 01 0 00 033763 LOCL02: HRRZ A,X ;GET 18-BIT INDEX REG VALUE
2164 032313 270 01 0 00 033764 ADD A,Y ;CALC X+Y
2165 032314 334 00 0 00 000000 SKIPA ;SKIP OVER NO INDEXING ENTRY
2166
2167 032315 200 01 0 00 033764 LOCL03: MOVE A,Y ;GET DISPLACEMENT
2168 032316 542 01 0 00 033762 HRRM A,XEA ;SAVE 18-BIT ADDR (WRAP-AROUND)
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 36
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0076
2169
2170 032317 336 00 0 00 033765 ICHECK: SKIPN I ;SKIP IF INDIRECTION
2171 032320 254 00 0 00 032362 JRST EADONE ;ELSE DONE, GO CLEANUP
2172
2173 032321 375 00 0 00 033766 SOSGE INDCNT ;CHECK INDIRECT LEVEL
2174
2175 032322 001000 034537 FATALE <INDIRECT CHAIN TOO LONG> ;MORE THAN INDMAX
2176
2177 032323 135 01 0 00 034544 LDB A,[POINT 30,XEA,35] ;GET 30 BIT ADDRESS
2178 032324 260 17 0 00 032373 GO XXREAD ;DO SPECIAL CONTEXT READ
2179
2180 032325 350 01 0 00 034127 AOS A,CHNPTR ;GET NEXT CHAIN TABLE ADDR
2181 032326 202 02 0 01 034130 MOVEM B,CHNTAB(A) ;SAVE FETCHED WD IN TABLE
2182 032327 402 00 0 01 034150 SETZM CHNCHR(A) ;SEPARATE WITH SLASH
2183
2184 032330 135 01 0 00 034536 LDB A,[POINT 12,XEA,17] ;GET SECTION FROM EA
2185 032331 322 01 0 00 032270 JUMPE A,LOCL00 ;LOCAL IF SECTION 0
2186
2187 032332 135 01 0 00 034545 LDB A,[POINT 1,B,1] ;GET INDIRECT BIT
2188 032333 202 01 0 00 033765 MOVEM A,I ;SAVE IN I
2189
2190 032334 325 02 0 00 032340 JUMPGE B,GLBL00 ;GLOBAL IF B0 CLEAR
2191
2192 032335 336 00 0 00 033765 SKIPN I ;SEE IF PGFAIL
2193 032336 254 00 0 00 032270 JRST LOCL00 ;B(01)=10 MEANS LOCAL REFERENCE
2194
2195 032337 001000 034546 FATALE <IMPROPER INDIRECT WORD> ;B(01)=11 MEANS PAGE-FAIL-TRAP
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 37
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0077
2196
2197 032340 621 03 0 00 400000 GLBL00: TLZ C,(LOCREF) ;NOTE GLOBAL ADDRESS
2198
2199 032341 135 01 0 00 034553 LDB A,[POINT 4,B,5] ;GET INDEX REG FIELD
2200 032342 202 01 0 00 033763 MOVEM A,X ;SAVE IN X
2201
2202 032343 135 01 0 00 034554 LDB A,[POINT 30,B,35] ;GET DISPLACEMENT (Y FIELD)
2203 032344 202 01 0 00 033764 MOVEM A,Y ;SAVE IN Y
2204
2205 032345 336 01 0 00 033763 SKIPN A,X ;READY ADDR, CHECK FOR ZERO
2206 032346 254 00 0 00 032357 JRST GLBL03 ;NO INDEXING
2207
2208 032347 200 02 0 01 034031 MOVE B,EXECAC(A) ;READ EXEC INDEX REGISTER
2209 032350 350 01 0 00 034127 AOS A,CHNPTR ;GET NEXT CHAIN TABLE ADDR
2210 032351 202 02 0 01 034130 MOVEM B,CHNTAB(A) ;SAVE FETCHED WD IN TABLE
2211 032352 476 00 0 01 034150 SETOM CHNCHR(A) ;SEPARATE WITH PLUS SIGN
2212
2213 032353 202 02 0 00 033763 MOVEM B,X ;X NOW HAS C(X)
2214
2215 032354 135 01 0 00 034555 GLBL02: LDB A,[POINT 30,X,35] ;GET 30 BIT INDEX REG VALUE
2216 032355 270 01 0 00 033764 ADD A,Y ;CALC X+Y
2217 032356 334 00 0 00 000000 SKIPA ;SKIP OVER NO INDEXING ENTRY
2218
2219 032357 200 01 0 00 033764 GLBL03: MOVE A,Y ;GET DISPLACEMENT
2220 032360 137 01 0 00 034544 DPB A,[POINT 30,XEA,35] ;SAVE 30 BIT GLOBAL EA
2221 032361 254 00 0 00 032317 JRST ICHECK ;GO CHECK INDIRECT BIT
2222
2223 032362 135 01 0 00 034544 EADONE: LDB A,[POINT 30,XEA,35] ;GET EA TO A
2224 032363 603 03 0 00 400000 TLNE C,(LOCREF) ;SKIP IF GLOBAL
2225 032364 661 01 0 00 400000 TLO A,(LOCREF) ;ELSE SET LOCAL
2226
2227 032365 262 17 0 00 000003 GET C ;RESTORE C
2228 032366 262 17 0 00 000002 GET B ;RESTORE B
2229
2230 032367 402 00 0 00 034120 SETZM LOCGBL ;ASSUME GLOBAL
2231 032370 603 01 0 00 400000 TLNE A,(LOCREF) ;SKIP IF GLOBAL
2232 032371 476 00 0 00 034120 SETOM LOCGBL ;ELSE NOTE LOCAL
2233
2234 032372 263 17 0 00 000000 RTN ;RETURN+1
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 38
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0078
2235
2236 ; **********************************************************************
2237 ;*XXREAD - SPECIAL CXREAD FOR SETTING UP MAPPINGS
2238 ;*
2239 ;* ENTER W/ ADR IN A, CONTEXT IN C (C=0 => CURRENT), EXIT W/RESULT IN B
2240 ;* THIS ROUTINE WORKS LIKE CXREAD, BUT ALSO SETS UP ADDR MODE CHAINS IN
2241 ;* DIFFERENT SECTIONS
2242 ; **********************************************************************
2243
2244 032373 336 00 0 00 034072 XXREAD: SKIPN SETFLG ;ARE WE SETTING UP ADDRESSING?
2245 032374 254 00 0 00 032450 PJRST CXREAD ;NO, DO NORMAL CXREAD
2246
2247 032375 261 17 0 00 000001 PUT A ;SAVE ADDRESS
2248
2249 032376 603 01 0 00 007740 TLNE A,(7740B17) ;SKIP IF VALID SECTION NUMBER
2250 032377 001000 034556 FATALE <INVALID SECTION NUMBER>
2251
2252 032400 623 01 0 00 000037 TLZE A,(37B17) ;CLR SECTION AND SKIP IF ZERO
2253 032401 254 00 0 00 032413 JRST XXR2 ;ELSE WE NEED TO WRITE BACK TO DIFF SEC
2254
2255 032402 332 00 0 00 034111 SKIPE EACCXT ;CHECK EACALC CXT
2256 032403 336 00 0 00 034074 SKIPN PCU ;AND PREV CXT USER FOR BOTH SET
2257 032404 334 00 0 00 000000 SKIPA ;NOT BOTH SET, WRITE BACK TO SAME SEC
2258 032405 254 00 0 00 032413 JRST XXR2 ;BOTH, WRITE TO DIFF SECTION
2259
2260 032406 260 17 0 00 033535 GO EMAP ;MAP EXEC VIRTUAL TO PHYSICAL ADDRESS
2261 032407 001000 034563 FATALE <INVALID MAPPING>
2262
2263 032410 200 02 0 01 000000 MOVE B,(A) ;OK TO DO IF SECT-0
2264 032411 262 17 0 00 000001 GET A ;RESTORE ADDR
2265 032412 263 17 0 00 000000 RTN ;DONE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 39
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0079
2266
2267 032413 260 17 0 00 033535 XXR2: GO EMAP ;MAP EXEC VIRTUAL TO PHYSICAL ADDRESS
2268 032414 001000 034563 FATALE <INVALID MAPPING>
2269
2270 032415 200 02 0 01 000000 MOVE B,(A) ;READ FROM SECTION-0
2271
2272 032416 261 17 0 00 000003 PUT C ;SAVE C
2273 032417 261 17 0 00 000002 PUT B ;SAVE B
2274
2275 032420 200 02 0 17 777776 MOVE B,-2(P) ;GET GOOD ADDR
2276 032421 621 02 0 00 777740 TLZ B,(777740B17) ;CLEAR HI ORDER BITS
2277 032422 242 02 0 00 777767 LSH B,-9 ;ALIGN PAG NUMBER
2278 032423 246 02 0 00 777767 LSHC B,-9 ;GET PAGE TO C
2279 032424 242 03 0 00 777745 LSH C,-^D27 ;RJ IN C
2280 032425 205 07 0 00 777771 MOVSI T0,-NPAGES ;NUMBER PAGES TO LOOK AT
2281
2282 032426 336 00 0 07 036060 FFFF1: SKIPN PUSE+P1PN(T0) ;CHECK FOR BUSY
2283 032427 254 00 0 00 032432 JRST FFFF2 ;FREE!
2284
2285 032430 253 07 0 00 032426 AOBJN T0,FFFF1 ;KEEP TRYING TILL DONE
2286
2287 032431 001000 034567 FATALE <CAN'T FIND A FREE PAGE>
2288
2289 032432 551 01 0 07 000060 FFFF2: HRRZI A,P1PN(T0) ;USE FIRST FREE PAGE
2290 032433 242 01 0 00 000011 LSH A,9 ;MAKE CORE ADDRESS
2291
2292 032434 200 12 0 00 034111 MOVE T3,EACCXT ;MAP USER OR EXEC?
2293 032435 336 00 0 00 034074 SKIPN PCU ;SKIP IF PREVIOUS WAS USER
2294 032436 400 12 0 00 000000 SETZ T3, ;ELSE USE EXEC
2295
2296 032437 260 17 0 00 033125 GO PMAPRT ;GO MAKE A PAGE MAP ENTRY
2297
2298 032440 200 01 0 17 777776 MOVE A,-2(P) ;GET ADDR
2299 032441 200 02 0 17 000000 MOVE B,0(P) ;GET DATA
2300 032442 200 03 0 00 034111 MOVE C,EACCXT ;GET CONTEXT
2301 032443 260 17 0 00 032471 GO CXWRIT ;SEE THAT DATA IS WRITTEN CORRECTLY
2302
2303 032444 262 17 0 00 000002 GET B ;RESTORE DATA
2304 032445 262 17 0 00 000003 GET C ;RESTORE C
2305 032446 262 17 0 00 000001 GET A ;RESTORE A
2306 032447 263 17 0 00 000000 RTN ;DONE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 40
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0080
2307
2308 ; **********************************************************************
2309 ;*CXREAD - CONTEXT READ...
2310 ;*
2311 ;* ENTER W/ ADR IN A, CONTEXT IN C (C=0 => CURRENT), EXIT W/RESULT IN B
2312 ; **********************************************************************
2313
2314 032450 603 01 0 00 007740 CXREAD: TLNE A,(7740B17) ;INSURE VALID EA (SEC.LE.37)
2315 032451 001000 034574 FATALE <PAGEFAIL-SECTION.GT.37>
2316
2317 032452 332 00 0 00 000003 SKIPE C ;SKIP IF CURRENT CONTEXT
2318 032453 254 00 0 00 032466 PJRST PRVCXT ;NO, DO PREVIOUS CONTEXT FETCH
2319
2320 ; ************************************************
2321 ;EXREAD - EXECUTIVE READ REFERENCE
2322 ; ************************************************
2323
2324 032454 612 01 0 00 034601 EXREAD: TDNE A,[36,,777760] ;SKIP IF AC REFERENCE
2325 032455 254 00 0 00 032460 JRST CURMEM ;NO, MEMORY READ
2326
2327 ; ************************************************
2328 ;CURACS - EXECUTIVE AC REFERENCE
2329 ; ************************************************
2330
2331 032456 200 02 0 01 034031 CURACS: MOVE B,EXECAC(A) ;USE AS INDEX INTO EXEC AC TABLE
2332 032457 263 17 0 00 000000 RTN ;DONE
2333
2334 ; ************************************************
2335 ;CURMEM - EXECUTIVE MEMORY REFERENCE
2336 ; ************************************************
2337
2338 032460 261 17 0 00 000001 CURMEM: PUT A ;SAVE ADDRESS
2339
2340 032461 260 17 0 00 033535 GO EMAP ;MAP VIRT TO PHYS
2341 032462 001000 034563 FATALE <INVALID MAPPING>
2342
2343 032463 200 02 0 01 000000 MOVE B,(A) ;READ FROM 'EXEC' MEMORY
2344 032464 262 17 0 00 000001 GET A ;RESTORE ADDRESS
2345 032465 263 17 0 00 000000 RTN ;DONE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 41
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0081
2346
2347 ; ************************************************
2348 ;PRVCXT - USER READ REFERENCE
2349 ; ************************************************
2350
2351 032466 612 01 0 00 034601 PRVCXT: TDNE A,[36,,777760] ;AC REFERENCE?
2352 032467 254 00 0 00 032531 PJRST PRVMEM ;NO, MEM REF
2353 032470 254 00 0 00 032525 PJRST PREVAC ;GET PREVIOUS CONTEXT AC
2354
2355 ; ************************************************
2356 ;CXWRIT - CONTEXT WRITE
2357 ; ************************************************
2358
2359 032471 603 01 0 00 007740 CXWRIT: TLNE A,(7740B17) ;INSURE VALID EA
2360 032472 001000 034574 FATALE <PAGEFAIL-SECTION.GT.37>
2361
2362 032473 332 00 0 00 000003 SKIPE C ;SKIP IF CURRENT CONTEXT
2363 032474 254 00 0 00 032507 PJRST PRVCWR ;NO, PREVIOUS
2364
2365 ; ************************************************
2366 ;EXWRIT - EXECUTIVE WRITE REFERENCE
2367 ; ************************************************
2368
2369 032475 612 01 0 00 034601 EXWRIT: TDNE A,[36,,777760] ;SKIP IF AC REFERENCE
2370 032476 254 00 0 00 032501 JRST CURMWR ;NO, MEM WRITE
2371
2372 ; ************************************************
2373 ;CRACWR - EXECUTIVE AC WRITE REFERENCE
2374 ; ************************************************
2375
2376 032477 202 02 0 01 034031 CRACWR: MOVEM B,EXECAC(A) ;INDEX INTO EXEC AC STASH
2377 032500 263 17 0 00 000000 RTN ;DONE
2378
2379 ; ************************************************
2380 ;CURMWR - EXECUTIVE MEMORY WRITE REFERENCE
2381 ; ************************************************
2382
2383 032501 261 17 0 00 000001 CURMWR: PUT A ;SAVE ADDRESS
2384
2385 032502 260 17 0 00 033535 GO EMAP ;MAP VIRT TO PHYS
2386 032503 001000 034563 FATALE <INVALID MAPPING>
2387
2388 032504 202 02 0 01 000000 MOVEM B,(A) ;WRITE TO 'EXEC' MEMORY
2389 032505 262 17 0 00 000001 GET A ;RESTORE ADDRESS
2390 032506 263 17 0 00 000000 RTN ;DONE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 42
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0082
2391
2392 ; ************************************************
2393 ;PRVCWR - PREVIOUS CONTEXT WRITE REFERENCE
2394 ; ************************************************
2395
2396 032507 616 01 0 00 034601 PRVCWR: TDNN A,[36,,777760] ;AC REF?
2397 032510 254 00 0 00 032521 PJRST PACWR ;YES, PREVIOUS AC WRITE
2398
2399 ; ************************************************
2400 ;PMWR - PREVIOUS MEMORY WRITE REFERENCE
2401 ; ************************************************
2402
2403 032511 336 00 0 00 034074 PMWR: SKIPN PCU ;SKIP IF PREVIOUS CXT USER
2404 032512 254 00 0 00 032475 JRST EXWRIT ;ELSE DO EXEC REFERENCE
2405
2406 032513 261 17 0 00 000001 PUT A ;SAVE ADDR
2407
2408 032514 260 17 0 00 033532 GO UMAP ;MAP VIRT TO PHYSICAL
2409 032515 001000 034563 FATALE <INVALID MAPPING>
2410
2411 032516 202 02 0 01 000000 MOVEM B,(A) ;WRITE TO MEMORY
2412 032517 262 17 0 00 000001 GET A ;RESTORE A
2413 032520 263 17 0 00 000000 RTN ;DONE
2414
2415 ; ************************************************
2416 ;PACWR - PREVIOUS AC WRITE REFERENCE
2417 ; ************************************************
2418
2419 032521 612 01 0 00 034601 PACWR: TDNE A,[36,,777760] ;AC REF?
2420 032522 001000 034602 FATALE <ILLEGAL AC NUMBER>
2421
2422 032523 202 02 0 01 034051 MOVEM B,PACBLK(A) ;WRITE TO AC BLK
2423 032524 263 17 0 00 000000 RTN ;DONE
2424
2425 ; ************************************************
2426 ;PREVAC - PREVIOUS AC READ REFERENCE
2427 ; ************************************************
2428
2429 032525 612 01 0 00 034601 PREVAC: TDNE A,[36,,777760] ;AC REF?
2430 032526 001000 034602 FATALE <ILLEGAL AC NUMBER>
2431
2432 032527 200 02 0 01 034051 MOVE B,PACBLK(A) ;READ FROM AC BLK
2433 032530 263 17 0 00 000000 RTN
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 43
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0083
2434
2435 ; ************************************************
2436 ;PRVMEM - PREVIOUS MEMORY READ REFERENCE
2437 ; ************************************************
2438
2439 032531 336 00 0 00 034074 PRVMEM: SKIPN PCU ;SKIP IF PREVIOUS WAS USER
2440 032532 254 00 0 00 032454 JRST EXREAD ;ELSE DO EXEC CONTEXT READ
2441
2442 032533 261 17 0 00 000001 PUT A ;SAVE ADDR
2443
2444 032534 260 17 0 00 033532 GO UMAP ;MAKE PHYSICAL ADDRESS
2445 032535 001000 034606 FATALE <INVALID MAPPING ENCOUNTERED>
2446
2447 032536 200 02 0 01 000000 MOVE B,(A) ;READ FROM 'USER' MEMORY
2448 032537 262 17 0 00 000001 GET A ;RESTORE ADR
2449 032540 263 17 0 00 000000 RTN ;DONE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 44
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0084
2450
2451 ; **********************************************************************
2452 ;*KLPSET - KL PAGING INITIALIZATION ROUTINE
2453 ;*
2454 ;* THIS ROUTINE INITIALIZES PAGING. ALL PAGE TABLES ARE CLEARED
2455 ;* ALSO ALL MICROCODE VERSION DEPENDENT LOCATIONS (EPT,UPT) ARE ACCESSED
2456 ;* THRU INDIRECT POINTERS SETUP HERE.
2457 ; **********************************************************************
2458
2459 032541 7 010 20 0 00 000000 KLPSET: CONO PAG,0 ;INSURE PAGING IS OFF
2460
2461 ; ************************************************
2462 ;CLR SOME UPT LOCS
2463 ; ************************************************
2464
2465 032542 402 00 0 00 037500 SETZM UPT+500 ;CLR PAGEFAIL LOCS
2466 032543 200 01 0 00 034614 MOVE A,[UPT+500,,UPT+501] ;BLT PTR
2467 032544 251 01 0 00 037503 BLT A,UPT+503 ;CLR UPT+500 TO UPT+503
2468
2469 032545 402 00 0 00 037424 SETZM UPT+424 ;CLR 1ST WORD
2470 032546 200 01 0 00 034615 MOVE A,[UPT+424,,UPT+425] ;BLT PTR
2471 032547 251 01 0 00 000427 BLT A,427 ;CLR MUUO BLK
2472
2473 ; ************************************************
2474 ;SETUP INDIRECTS FOR KLA/KLB/KLL/KLX DIFFERENCES
2475 ; ************************************************
2476
2477 032550 201 01 0 00 037500 MOVEI A,UPT+500 ;ADDR OF PAGEFAIL WORD
2478 032551 200 06 0 00 033771 MOVE F,GOODF ;INSURE GOOD F
2479 032552 607 06 0 00 020000 TLNN F,(KL10X) ;SINGLE SECTION KL?
2480 032553 271 01 0 00 000001 ADDI A,1 ;Y, BUMP ADDR OF PAGE FAIL STUFF
2481
2482 032554 202 01 0 00 033665 MOVEM A,PFWP ;SET PAGE FAIL WORD POINTER
2483 032555 271 01 0 00 000001 ADDI A,1 ;POINT TO PG FAIL OLD PC
2484 032556 202 01 0 00 033666 MOVEM A,PFXJP ;SAVE XJRSTF PTR
2485
2486 032557 603 06 0 00 400000 TLNE F,(KLXTST) ;IS THIS EXTENDED HDW+SW?
2487 032560 271 01 0 00 000001 ADDI A,1 ;BUMP OVER FLAG WD
2488 032561 202 01 0 00 033667 MOVEM A,PFOPP ;SET IT
2489
2490 032562 271 01 0 00 000001 ADDI A,1 ;POINT TO PG FAIL NEW PC
2491 032563 202 01 0 00 033670 MOVEM A,PFNPP ;SET IT
2492
2493 032564 201 01 0 00 037424 MOVEI A,UPT+424 ;GET ADDR OF MUUO OPCODE
2494 032565 607 06 0 00 010000 TLNN F,(KLAKLB) ;KLA OR KLB?
2495 032566 271 01 0 00 000001 ADDI A,1 ;N, ADJUST ADDR
2496 032567 202 01 0 00 033662 MOVEM A,MCODP ;SAVE ADDR
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 45
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0085
2497
2498 032570 271 01 0 00 000001 ADDI A,1 ;GET ADDR OF MUUO-OLD PC
2499 032571 202 01 0 00 033663 MOVEM A,MOPP ;SAVE IT
2500
2501 032572 271 01 0 00 000001 ADDI A,1 ;GET ADDR OF MUUO-EA
2502 032573 202 01 0 00 033664 MOVEM A,MADP ;SAVE MUUO EA
2503
2504 032574 201 01 0 00 037540 MOVEI A,UPT+540 ;POINT TO SECTION POINTERS
2505 032575 603 06 0 00 010000 TLNE F,(KLAKLB) ;KLA OR KLB?
2506 032576 201 01 0 00 037440 MOVEI A,UPT+440 ;Y, DIFFERENT PLACE
2507 032577 202 01 0 00 033661 MOVEM A,USECP ;SAVE USER SECT ADDR
2508
2509 032600 201 01 0 00 000540 MOVEI A,EPT+540 ;POINT TO SECTION POINTERS
2510 032601 603 06 0 00 010000 TLNE F,(KLAKLB) ;KLA OR KLB?
2511 032602 201 01 0 00 000440 MOVEI A,EPT+440 ;Y, DIFFERENT PLACE
2512 032603 202 01 0 00 033660 MOVEM A,ESECP ;SAVE EXEC SECT PTR
2513
2514 ; ************************************************
2515 ;CLEAR OUT ALL THE PAGE TABLES.
2516 ; ************************************************
2517
2518 032604 260 17 0 00 032637 GO CLRPGS ;CLEAR THE PAGE TABLES
2519
2520 ; ************************************************
2521 ;INITIALIZE CST AND MAP ALL USED SECTION 0 PAGES TO THEMSELVES
2522 ; ************************************************
2523
2524 032605 205 01 0 00 770000 MOVSI A,770000 ;WORD FOR EVERY CST ENTRY
2525 032606 205 03 0 00 124000 MOVSI C,(ACCESS) ;LEFT HALF FOR PAGE TABLE ENTRIES
2526 032607 205 02 0 00 777000 MOVSI B,-1000 ;NUMBER OF PAGES TO SETUP
2527
2528 ; ************************************************
2529 ;SETUP PAGE TABLE ENTRIES
2530 ; ************************************************
2531
2532 032610 202 01 0 02 040000 PTLUP: MOVEM A,CST(B) ;INITIALIZE A CST ENTRY
2533
2534 ; HRRM B,PUSE(B) ;SET PUSE TABLE TOO
2535 ; HRRM B,MAP0(B) ;INITIALIZE EXEC SEC 0 PAGE TABLE ENTRY
2536 ; HLLM C,MAP0(B) ;AND ITS LEFT HALF
2537
2538 032611 253 02 0 00 032610 AOBJN B,PTLUP ;LOOP UNTIL ALL ENTRIES MADE.
2539
2540 032612 260 17 0 00 032637 GO CLRPGS ;CLEAR PAGING TABLES
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 46
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0086
2541
2542 ; ************************************************
2543 ;SET UP CST MASK, DATA, AND BASE REGISTERS
2544 ; ************************************************
2545
2546 032613 7 010 04 0 00 000001 DATAI PAG,A ;GET AC BLOCK INFO.
2547 032614 621 01 0 00 007000 TLZ A,(7B8) ;CLEAR AC BLOCK NUMBER.
2548 032615 661 01 0 00 006000 TLO A,(<REVBLK>B8) ;SET CURRENT AC BLOCK TO RESERVED ONE.
2549 032616 202 01 0 00 034073 MOVEM A,RESDAT ;SAVE WORD FOR ACCESSING RESERVED AC BLK
2550
2551 032617 630 01 0 00 034616 TDZ A,[7B8+17777] ;CLEAR AC BLOCK AND UBR FIELD
2552 032620 670 01 0 00 034173 TDO A,[<MYACS>B8+UPTPN] ;SET UP DATAO PAGE WORD
2553 032621 202 01 0 00 033754 MOVEM A,UPWD ;REMEMBER NEW DATA
2554
2555 032622 7 010 14 0 00 034073 DATAO PAG,RESDAT ;TELL HARDWARE TO USE RESERVED BLK
2556
2557 032623 561 00 0 00 777777 HRROI CSTMSK,-1 ;PUT ALL 1'S IN CST MASK WORD
2558 032624 201 01 0 00 000000 MOVEI CSTDAT,0 ;PUT 0 IN CST DATA WORD
2559
2560 032625 400 03 0 00 000000 SETZ SPTBR, ;NO SPT (ALL PTRS IMMEDIATE)
2561
2562 032626 201 02 0 00 040000 MOVEI CBR,CST ;PUT CST ADDRESS IN CST BASE REGISTER
2563
2564 032627 7 010 14 0 00 033754 DATAO PAG,UPWD ;GET BACK TO OUR AC'S AND SET UPT
2565
2566 ; ************************************************
2567 ;INITIALIZE MUUO HANDLER
2568 ; ************************************************
2569
2570 032630 201 01 0 00 033070 MOVEI A,MUUOH ;GET ADDRESS OF MUUO HANDLER
2571 032631 202 01 0 00 037430 MOVEM A,UUONPC ;STORE IT WHERE COMPUTER WANTS IT.
2572
2573 032632 200 01 0 00 034617 MOVE A,[UUONPC,,UUONPC+1]
2574 032633 251 01 0 00 037437 BLT A,UUONPC+7 ;ONE OF 8 LOCATIONS ARE FETCHED
2575
2576 ; ************************************************
2577 ;SET UP PAGE FAULT HANDLER ADDRESS
2578 ; ************************************************
2579
2580 032634 415 01 0 00 033075 XMOVEI A,PFH ;GET ADDRESS OF PAGE FAULT HANDLER
2581 032635 202 01 1 00 033670 MOVEM A,@PFNPP ;STORE IT WHERE MACHINE WANTS IT.
2582 032636 263 17 0 00 000000 RTN ;DONE
2583
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 47
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0087
2584
2585 ; **********************************************************************
2586 ;*CLRPGS - CLEAR PAGING TABLES
2587 ; **********************************************************************
2588
2589 032637 261 17 0 00 000001 CLRPGS: PUT A
2590 032640 261 17 0 00 000002 PUT B ;SAVE SOME AC'S
2591
2592 032641 402 00 0 00 047000 SETZM MAP0
2593 032642 200 01 0 00 034620 MOVE A,[MAP0,,MAP0+1]
2594 032643 251 01 0 00 056777 BLT A,<MAP1+NPAGES_9>-1 ;CLEAR THE PAGE TABLES.
2595
2596 032644 402 00 0 00 036000 SETZM PUSE ;CLEAR 1ST WD
2597 032645 200 01 0 00 034621 MOVE A,[PUSE,,PUSE+1] ;READY BLT PTR
2598 032646 251 01 0 00 036777 BLT A,PUSE+777 ;CLEAR OUT PAGE USE TABLE
2599
2600 ; ************************************************
2601 ;CLOSE ALL SECTIONS BY REMOVING ALL POINTERS TO PAGE TABLES.
2602 ; ************************************************
2603
2604 032647 550 01 0 00 033660 HRRZ A,ESECP ;GET 0,,SEC0
2605 032650 402 00 0 01 000000 SETZM (A) ;CLEAR SECTION 0 PTR
2606
2607 032651 507 00 0 00 000001 HRLS A ;GET SEC0,SEC0
2608 032652 271 01 0 00 000001 ADDI A,1 ;GET SEC0,SEC1
2609 032653 251 01 0 01 000036 BLT A,36(A) ;TILL END
2610
2611 032654 550 01 0 00 033661 HRRZ A,USECP ;GET 0,,SEC0
2612 032655 402 00 0 01 000000 SETZM (A) ;CLEAR SECTION 0
2613
2614 032656 507 00 0 00 000001 HRLS A ;GET SEC0,SEC0
2615 032657 271 01 0 00 000001 ADDI A,1 ;GET SEC0,SEC1
2616 032660 251 01 0 01 000036 BLT A,36(A) ;TILL END
2617
2618 032661 262 17 0 00 000002 GET B ;RESTORE SOME AC'S
2619 032662 262 17 0 00 000001 GET A
2620 032663 263 17 0 00 000000 RTN ;DONE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 48
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0088
2621
2622 032664 200 00 1 00 033665 PFERR: MOVE 0,@PFWP ;GET PAGE FAIL WORD
2623 032665 202 00 0 00 033773 MOVEM 0,SAVPFW ;SAVE FOR PGM TO USE
2624
2625 032666 200 00 1 00 033667 MOVE 0,@PFOPP ;GET PC OF PF
2626 032667 202 00 0 00 033774 MOVEM 0,SAVPFS ;SAVE FOR PGM TO USE
2627
2628 032670 262 17 0 00 000000 GET 0 ;RESTORE AC 0
2629 032671 200 17 0 00 034006 MOVE P,XXP ;RESTORE P
2630
2631 032672 476 00 0 00 034007 SETOM PFIGNR ;NOTE CASE FAILED
2632 032673 476 00 0 00 033671 SETOM ERRFLG ;AND NOTE ERROR
2633
2634 032674 332 00 0 00 033756 SKIPE PFHSPC ;ANY SPECIAL ROUTINE?
2635 032675 254 00 1 00 033756 JRST @PFHSPC ;GO TO IT
2636
2637 032676 254 00 0 00 033044 JRST S0FIX1 ;GO DO ERROR RTN TO PGM
2638
2639 032677 202 17 0 00 034006 MUUOH2: MOVEM P,XXP ;SAVE P
2640 032700 200 17 0 00 034005 MOVE P,EMER.P ;USE EMERGENCY P
2641
2642 032701 261 17 0 00 000001 PUT A ;DON'T CLOBBER ANY AC'S
2643 032702 261 17 0 00 000002 PUT B
2644
2645 032703 200 02 0 00 033662 MOVE B,MCODP ;POINT TO OPCODE
2646 032704 505 02 0 00 111100 HRLI B,111100 ;MAKE BYTE PTR
2647 032705 135 01 0 00 000002 LDB A,B ;GET THE OPCODE
2648 032706 262 17 0 00 000002 GET B ;RESTORE B
2649
2650 032707 302 01 0 00 000076 CAIE A,<GOEXEC>_-^D27 ;DO WE RECOGNIZE IT ??
2651 032710 254 00 0 00 032717 JRST BADUUO ;NO, BAD
2652
2653 032711 200 01 1 00 033662 MOVE A,@MCODP ;GET THE FLAGS FROM WHENCE WE CAME
2654 032712 621 01 0 00 010000 TLZ A,(USRBIT) ;TURN OFF USER MODE
2655 032713 202 01 1 00 033662 MOVEM A,@MCODP ;AND REPLACE
2656
2657 032714 262 17 0 00 000001 GET A ;RESTORE AC
2658 032715 200 17 0 00 034006 MOVE P,XXP ;RESTORE P
2659 032716 254 05 1 00 033662 XJRSTF @MCODP ;RETURN TO PGM IN EXEC MODE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 49
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0089
2660
2661 ; **********************************************************************
2662 ;*BADUUO - HERE FOR UNRECOGNIZED UUO
2663 ; **********************************************************************
2664 SALL
2665 032717 036 13 0 00 034624 BADUUO: ERROR1 13,0,0,BAD MUUO,,BADUO1
2666 032720 037 15 0 00 000004 FATAL
2667
2668 032721 BADUO1: PMSGF < TEST PC = >^
2669 032721 037 04 0 00 034627 PSIXMF [SIXBIT\ TEST PC = _\]^
2670 032722 200 00 0 00 030051 MOVE TESTPC
2671 032723 037 17 0 00 000003 PNTOCF
2672
2673 PMSGF <^ MUUO = >^
2674 032724 037 04 0 00 034631 PSIXMF [SIXBIT\^ MUUO = _\]^
2675 032725 200 00 1 00 033662 MOVE @MCODP
2676 032726 037 13 0 00 000001 PNTHWF
2677
2678 PMSG <, MUUO PC = >^
2679 032727 037 02 0 00 034633 PSIXM [SIXBIT\, MUUO PC = _\]^
2680 032730 200 00 1 00 033663 MOVE @MOPP
2681 032731 037 13 0 00 000001 PNTHWF
2682
2683 032732 037 01 0 00 030242 PCRLF
2684 032733 263 17 0 00 000000 RTN
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 50
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0090
2685
2686 ; **********************************************************************
2687 ;*DOPXCT - ROUTINE TO DO PXCT
2688 ;*
2689 ;* THIS IS THE ROUTINE THAT ACTUALLY SETS UP FOR THE PXCT INSTR. IT
2690 ;* MAPS IN ITSELF, AS WELL AS THE ACTUAL PXCT INSTR. ALSO, VARIOUS
2691 ;* AC TRANSACTIONS ARE PERFORMED. RETURN AFTER PXCT INSTR IS TO 'S0FIX'.
2692 ; **********************************************************************
2693 LALL
2694 .PGE PXDO ^;PAGE ALIGN
2695
2696 033000 LOC <.!777>+1
2697 000033 PXDO: PXDOPN= <PXDO_-^D9>
2698
2699 SALL
2700 033000 402 00 0 00 033671 DOPXCT: SETZM ERRFLG ;CLEAR ERROR
2701
2702 033001 540 01 0 00 033723 HRR A,CCS ;CURRENT CONTEXT SECTION
2703 033002 201 02 0 00 000042 MOVEI B,VPXPN ;GET PXCT TEST PAGE NUMBER
2704 033003 241 02 0 00 777767 ROT B,-9 ;LEFT JUSTIFY
2705 033004 245 01 0 00 000022 ROTC A,^D18 ;MAKE ADDR OF PXCT INSTR
2706 033005 202 01 0 00 033673 MOVEM A,PXCTAD ;SAVE ADDR
2707
2708 033006 200 01 0 00 033724 MOVE A,PCS ;SETUP PCS IN XJRSTF FLAG WORD
2709 033007 542 01 0 00 033672 HRRM A,PXCTGO ;NEEDED FOR MICROCODE VER. 214
2710
2711 033010 201 01 0 00 041000 MOVEI A,PX ;PHYS ADDR
2712 033011 540 02 0 00 033723 HRR B,CCS ;CURRENT CONTEXT SECTION
2713 033012 201 03 0 00 000042 MOVEI C,VPXPN ;VIRT PAG NUM
2714 033013 400 12 0 00 000000 SETZ T3, ;EXEC ADDR SPACE
2715
2716 033014 260 17 0 00 033125 GO PMAPRT ;SETUP PAGE MAP FOR PXCT PAGE
2717
2718 033015 402 00 0 00 034007 SETZM PFIGNR ;INIT IGNORE CASE FLAG
2719 033016 201 01 0 00 033016 MOVEI A,. ;ADDRESS OF THIS PAGE
2720 033017 400 02 0 00 000000 SETZ B, ;SECTION ZERO MAPPING
2721 033020 201 03 0 00 000033 MOVEI C,<._-9> ;THIS PAGE NUMBER
2722 033021 400 12 0 00 000000 SETZ T3, ;EXEC CONTEXT
2723
2724 033022 260 17 0 00 033125 GO PMAPRT ;MAP THIS PAGE
2725
2726 033023 7 010 14 0 00 034003 DATAO PAG,USRACB ;SET TO ACCESS PREVIOUS AC BLK
2727
2728 033024 200 00 0 00 034636 MOVE 0,[PACBLK+1,,1]
2729 033025 251 00 0 00 000017 BLT 0,17 ;LOAD 1 TO 17
2730 033026 200 00 0 00 034051 MOVE 0,PACBLK ;LOAD 0
2731
2732 033027 7 010 14 0 00 034004 DATAO PAG,CURACB ;SET TO EXEC AC BLK
2733
2734 033030 202 00 0 00 034011 MOVEM 0,SAVACS+0 ;SAVE 0
2735 033031 200 00 0 00 034637 MOVE 0,[1,,SAVACS+1]
2736 033032 251 00 0 00 034030 BLT 0,SAVACS+17 ;SAVE THE ACS
2737
2738 033033 200 00 0 00 034640 MOVE 0,[EXECAC+1,,1]
2739 033034 251 00 0 00 000017 BLT 0,17 ;RESTORE AC'S
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 50-1
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0091
2740 033035 200 00 0 00 034031 MOVE 0,EXECAC ;RESTORE AC-0, TOO
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 51
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0092
2741
2742 033036 350 00 0 00 033750 AOS GCASEN ;INCR NUMBER OF CASES TRIED
2743
2744 033037 7 010 20 0 00 060000 CONO PAG,TRAPF+KLPAGF ;TURN ON PAGING
2745 033040 254 05 0 00 033672 XJRSTF PXCTGO ;GO TO PXCT TEST
2746
2747 ; ************************************************
2748 ;S0PFIN - RETURN TO SECTION ZERO AFTER EXECUTING PXCT
2749 ; ************************************************
2750
2751 033041 7 010 20 0 00 000000 S0PFIN: CONO PAG,0 ;TURN OFF PAGING
2752 033042 476 00 0 00 033755 SETOM PFFLAG ;NOTE WE HAD THIS PF
2753
2754 ; ************************************************
2755 ;S0FIX - SECTION ZERO FIXUP ROUTINE, RETURN FROM EXECUTING PXCT
2756 ; ************************************************
2757
2758 033043 7 010 20 0 00 000000 S0FIX: CONO PAG,0 ;TURN OFF PAGING
2759
2760 033044 7 010 14 0 00 034003 S0FIX1: DATAO PAG,USRACB ;ACCESS PREVIOUS AC BLK
2761
2762 033045 202 00 0 00 034051 MOVEM 0,PACBLK ;SAVE 0
2763 033046 200 00 0 00 034641 MOVE 0,[1,,PACBLK+1]
2764 033047 251 00 0 00 034070 BLT 0,PACBLK+17 ;SAVE 1 TO 17
2765
2766 033050 7 010 14 0 00 034004 DATAO PAG,CURACB ;RESET AC BLK NUMBERS
2767
2768 033051 202 00 0 00 034031 MOVEM 0,EXECAC ;SAVE AC-0
2769 033052 200 00 0 00 034642 MOVE 0,[1,,EXECAC+1]
2770 033053 251 00 0 00 034050 BLT 0,EXECAC+17 ;STORE ALL AC'S
2771
2772 033054 200 00 0 00 034643 MOVE 0,[SAVACS+1,,1]
2773 033055 251 00 0 00 000017 BLT 0,17 ;RESTORE ACS
2774 033056 200 00 0 00 034011 MOVE 0,SAVACS+0 ;RESTORE 0 ALSO
2775
2776 033057 332 00 0 00 033755 SKIPE PFFLAG ;SPECIAL RETURN?
2777 033060 263 17 0 00 000000 RTN ;YES, EXPECTED PF RETURN
2778
2779 033061 332 00 0 00 034007 SKIPE PFIGNR ;SKIP IF CASE DIDN'T PF
2780 033062 254 00 0 00 030064 RTNSKP ;ERROR RETURN
2781 033063 263 17 0 00 000000 RTN ;ELSE GOOD RTN
2782
2783 033064 000000 000000 PFHCNI: 0 ;HOLDS CONI PAG, RESULT
2784 033065 000000 000000 PFHDTI: 0 ;HOLDS DATAI PAG, RESULT
2785 033066 000000 000000 MUOCNI: 0 ;HOLDS CONI PAG, RESULT
2786 033067 000000 000000 MUODTI: 0 ;HOLDS DATAI PAG, RESULT
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 52
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0093
2787
2788 ; **********************************************************************
2789 ;*MUUOH - MUUO HANDLER
2790 ; **********************************************************************
2791
2792 033070 7 010 24 0 00 033066 MUUOH: CONI PAG,MUOCNI ;SAVE CONI PAG, INFO
2793 033071 7 010 20 0 00 000000 CONO PAG,0 ;PAGING OFF
2794
2795 033072 7 010 04 0 00 033067 DATAI PAG,MUODTI ;SAVE DATAI PAG, INFO
2796
2797 033073 7 010 14 0 00 034004 DATAO PAG,CURACB ;INSURE CORRECT AC BLK, ETC
2798 033074 254 00 0 00 032677 JRST MUUOH2 ;GO TO REST OF MUUO HANDLER
2799
2800 ; **********************************************************************
2801 ;*PFH - PAGE FAULT HANDLER
2802 ; **********************************************************************
2803
2804 033075 7 010 24 0 00 033064 PFH: CONI PAG,PFHCNI ;SAVE CURRENT INFO
2805 033076 7 010 04 0 00 033065 DATAI PAG,PFHDTI
2806
2807 033077 7 010 20 0 00 000000 CONO PAG,0 ;TURN OFF PAGING
2808 033100 7 010 14 0 00 034004 DATAO PAG,CURACB ;INSURE CORRECT AC BLK, ETC
2809
2810 033101 202 17 0 00 034006 MOVEM P,XXP ;SAVE PF P
2811 033102 200 17 0 00 034005 MOVE P,EMER.P ;USE EMERGENCY COPY OF P
2812
2813 033103 261 17 0 00 000000 PUT 0 ;SAVE AC-0
2814
2815 033104 550 00 1 00 033667 HRRZ 0,@PFOPP ;GET PC OF ERROR
2816 033105 306 00 0 00 042001 CAIN 0,VPX+1 ;SEE IF PXCT INSTR
2817 033106 254 00 0 00 032664 JRST PFERR ;PAGE FAULT IS ERROR
2818
2819 033107 036 13 0 00 034647 ERROR1 13,0,0,BAD PAGE FAIL,,PFH1
2820 033110 037 15 0 00 000004 FATAL
2821 SALL
2822 033111 037 04 0 00 034652 PFH1: PMSGF <TEST PC = >
2823 033112 200 00 0 00 030051 MOVE TESTPC
2824 033113 037 17 0 00 000003 PNTOCF
2825
2826 033114 037 04 0 00 034654 PMSGF <^ PFW = >
2827 033115 200 00 1 00 033665 MOVE @PFWP
2828 033116 037 13 0 00 000001 PNTHWF
2829
2830 033117 037 04 0 00 034656 PMSGF <, PFPC = >
2831 033120 200 00 1 00 033667 MOVE @PFOPP
2832 033121 037 13 0 00 000001 PNTHWF
2833
2834 033122 037 01 0 00 030242 PCRLF
2835
2836 033123 260 17 0 00 033322 GO PXDISP ;SHOW WHAT CASE FAILED
2837
2838 033124 263 17 0 00 000000 RTN
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 53
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0094
2839
2840 ; **********************************************************************
2841 ;*PMAPRT - PAGE MAP ROUTINE
2842 ;*
2843 ;* ENTER WITH PHYSICAL ADDR OF PHSICAL PAGE TO BE MAPPED IN A
2844 ;* VIRTUAL SECTION IN B, VIRTUAL PAGE NUMBER IN C,
2845 ;* AND CONTEXT (0=EXEC) IN T3
2846 ;* ALL ACS ARE PRESERVED, AND MOST ARE USED.
2847 ; **********************************************************************
2848
2849 033125 260 17 0 00 033274 PMAPRT: GO SAV15 ;SAVE 15 REGS
2850 033126 261 17 0 00 000003 PUT C ;SAVE EXTRA COPY OF C,B,A
2851 033127 261 17 0 00 000002 PUT B
2852 033130 261 17 0 00 000001 PUT A
2853
2854 033131 200 11 0 00 000001 MOVE T2,A
2855 033132 242 11 0 00 777767 LSH T2,-9 ;GET PHYSICAL PAGE NUMBER BEING UNMAPPED
2856 033133 336 01 0 11 036000 SKIPN A,PUSE(T2) ;PICK UP THE PAGE THAT WAS LAST HERE
2857 033134 254 00 0 00 033164 JRST NREMOB ;IT WAS NEVER MAPPED, SO DON'T UNMAP IT
2858
2859 033135 200 04 0 00 033660 MOVE D,ESECP ;ASSUME EXEC MAPPING
2860 033136 623 01 0 00 000001 TLZE A,(1B17)
2861 033137 200 04 0 00 033661 MOVE D,USECP ;NO, USER MAPPING
2862
2863 033140 246 01 0 00 777767 LSHC A,-9 ;SEPARATE SEC AND PAGE NUMBER OF OLD MAPPING.
2864 033141 242 02 0 00 777745 LSH B,-^D27 ;SECT IN A, PAGE IN B
2865 033142 316 04 0 00 033660 CAMN D,ESECP ;SKIP IF NOT EXEC MAPPING
2866 033143 322 01 0 00 033164 JUMPE A,NREMOB ;DON'T UNMAP EXEC SEC-0 PAGES
2867
2868 033144 270 04 0 00 000001 ADD D,A ;CREATE ADDRESS OF PAGE TABLE POINTER.
2869 033145 200 01 0 04 000000 MOVE A,(D) ;PICK UP THE STARTING ADDR OF THE PG TBL
2870 033146 242 01 0 00 000011 LSH A,9 ;CHANGE TO CORE ADDRESS.
2871 033147 270 01 0 00 000002 ADD A,B ;CREATE ADDRESS OF PAGE TABLE ENTRY.
2872 033150 402 00 0 01 000000 SETZM (A) ;CLEAR OUT THE OLD ENTRY.
2873
2874 033151 200 13 0 11 036000 MOVE T4,PUSE(T2) ;PICK UP THE OLD MAPPING INFO.
2875 033152 620 13 0 00 000777 TRZ T4,777 ;KEEP ONLY THE USER BIT AND SECTION NUM
2876
2877 033153 205 05 0 00 777771 MOVSI E,-NPAGES ;READY TO LOOK FOR OTHER MAPPINGS
2878 033154 200 06 0 05 036000 LK1: MOVE F,PUSE(E) ;PICK UP A MAPPING.
2879 033155 620 06 0 00 000777 TRZ F,777 ;CLEAR PAGE NUMBER.
2880 033156 312 06 0 00 000013 CAME F,T4 ;IS THIS A MAPPING IN THE SAME SECTION ?
2881 033157 254 00 0 00 033162 JRST NOQ ;THIS ONE ISN'T THE SAME SECTION.
2882
2883 033160 302 11 0 05 000000 CAIE T2,(E) ;SAME ENTRY?
2884 033161 254 00 0 00 033164 JRST NREMOB ;NO, SO SEC STILL IN USE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 54
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0095
2885
2886 033162 253 05 0 00 033154 NOQ: AOBJN E,LK1 ;KEEP LOOKING.
2887
2888 033163 402 00 0 04 000000 SETZM (D) ;NO OTHER PAGE USING THIS SECTION
2889
2890 033164 200 10 0 17 777777 NREMOB: MOVE T1,-1(P) ;RESTORE SECTION NUMBER
2891 033165 306 12 0 00 000000 CAIN T3,0 ;SKIP IF USER MAPPING
2892 033166 270 10 0 00 033660 ADD T1,ESECP ;ADD IN ADDR OF EXEC SEC PTR
2893
2894 033167 302 12 0 00 000000 CAIE T3,0
2895 033170 270 10 0 00 033661 ADD T1,USECP ;ADD IN ADDR OF USER SEC PTR
2896
2897 033171 200 10 0 10 000000 MOVE T1,(T1) ;GET ENTRY
2898 033172 326 10 0 00 033215 JUMPN T1,GOTONE ;THIS SECTION ALREADY HAS A PAGE TABLE
2899
2900 033173 205 11 0 00 777771 MOVSI T2,-NPAGES ;IT DOESN'T, SO LOOK FOR A FREE MAP.
2901 033174 201 13 0 00 000050 MOVEI T4,MAP1PN ;T4 HOLDS THE GOAL PAGE MAP PAGE NUMBER
2902
2903 033175 205 01 0 00 777740 CHKM1: MOVSI A,-40 ;NUMBER OF SECTIONS TO CHECK.
2904
2905 033176 550 02 0 00 000001 CHKM3: HRRZ B,A ;GET INDEX INTO TABLE
2906 033177 270 02 0 00 033660 ADD B,ESECP ;ADD IN ADDR OF EXEC SEC PTR
2907
2908 033200 550 02 0 02 000000 HRRZ B,(B) ;PICK UP A PAGE TABLE PAGE NUM.
2909 033201 550 03 0 00 000001 HRRZ C,A ;GET INDEX INTO TABLE
2910 033202 270 03 0 00 033661 ADD C,USECP ;ADD IN ADDR OF USER SEC PTR
2911
2912 033203 550 03 0 03 000000 HRRZ C,(C) ;GET USER ENTRY
2913 033204 312 02 0 00 000013 CAME B,T4
2914 033205 316 03 0 00 000013 CAMN C,T4
2915 033206 254 00 0 00 033212 JRST CHKM2 ;PAGE TABLE BUSY IF MATCH
2916
2917 033207 253 01 0 00 033176 AOBJN A,CHKM3 ;CHK ALL PTRS TO INSURE TABLE IS FREE
2918
2919 033210 200 10 0 00 000013 MOVE T1,T4 ;THIS TABLE IS A GOOD ONE. USE IT.
2920 033211 254 00 0 00 033215 JRST GOTONE
2921
2922 033212 271 13 0 00 000001 CHKM2: ADDI T4,1 ;TRY THE NEXT PAGE TABLE.
2923
2924 033213 253 11 0 00 033175 AOBJN T2,CHKM1 ;LOOP TILL DONE
2925
2926 033214 001000 034660 FATALE <TOO MANY PAGE TABLES IN USE>
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 55
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0096
2927
2928 ; ************************************************
2929 ;GET READY TO MAP IN THE PAGE NOW.
2930 ; ************************************************
2931
2932 033215 332 00 0 00 000012 GOTONE: SKIPE T3 ;SKIP IF CURRENT (EXEC)
2933 033216 336 00 0 00 034074 SKIPN PCU ;SKIP IF PREVIOUS + USER
2934 033217 634 12 0 00 000012 TDZA T3,T3 ;CLEAR T3 AND SKIP ALWAYS
2935 033220 205 12 0 00 000001 MOVSI T3,1 ;PUT 1 IN LH(T3)
2936
2937 033221 200 01 0 17 000000 MOVE A,(P) ;RESTORE ADDR OF PHYS PAGE
2938 033222 200 02 0 17 777777 MOVE B,-1(P) ;RESTORE SECTION NUMBER
2939 033223 200 03 0 17 777776 MOVE C,-2(P) ;RESTORE VIRTUAL PAGE NUMBER
2940
2941 033224 332 00 0 00 000012 SKIPE T3 ;USER?
2942 033225 270 02 0 00 033661 ADD B,USECP ;ADD IN USER SEC PTR ADDR
2943
2944 033226 336 00 0 00 000012 SKIPN T3 ;EXEC?
2945 033227 270 02 0 00 033660 ADD B,ESECP ;ADD IN EXEC SEC PTR ADDR
2946
2947 033230 505 10 0 00 124000 HRLI T1,(ACCESS) ;GET BITS
2948 033231 202 10 0 02 000000 MOVEM T1,(B) ;SETUP PTR TO PAGE TABLE
2949
2950 033232 205 04 0 00 770000 MOVSI D,770000 ;READY CST ENTRY
2951 033233 202 04 0 10 040000 MOVEM D,CST(T1) ;NOTE THAT PAGE TABLE IS IN CORE
2952 033234 202 04 0 00 040000 MOVEM D,CST+0 ;ALSO PAGE ZERO IN CORE
2953
2954 033235 242 10 0 00 000011 LSH T1,9 ;MAKE PAGE TABLE CORE ADDRESS.
2955 033236 270 10 0 00 000003 ADD T1,C ;T1 POINTS TO SPECIFIC PAGE TABLE WORD.
2956
2957 033237 242 01 0 00 777767 LSH A,-9 ;MAKE PAGE TABLE CORE ADDR
2958 033240 505 01 0 00 124000 HRLI A,(ACCESS) ;SETUP, WITH ACCESS
2959 033241 202 01 0 10 000000 MOVEM A,(T1) ;UPDATE THE APPROPRIATE PAGE TABLE.
2960
2961 033242 262 17 0 00 000001 GET A ;RESTORE A,B,C
2962 033243 262 17 0 00 000002 GET B
2963 033244 262 17 0 00 000003 GET C
2964
2965 033245 242 01 0 00 777767 LSH A,-9 ;MAKE PAGE NUMBER FROM ADDRESS
2966 033246 242 02 0 00 000011 LSH B,9 ;ALIGN
2967 033247 202 12 0 01 036000 MOVEM T3,PUSE(A) ;STORE USER OR EXEC BIT IN PUSE TABLE.
2968 033250 202 04 0 01 040000 MOVEM D,CST(A) ;NOTE THAT PHYSICAL PAGE IS IN CORE
2969
2970 033251 436 02 0 01 036000 IORM B,PUSE(A) ;STORE VIRTUAL SECTION NUMBER.
2971 033252 436 03 0 01 036000 IORM C,PUSE(A) ;AND VIRTUAL PAGE NUMBER.
2972
2973 033253 260 17 0 00 033307 GO RES15 ;GO RESTORE REGISTERS
2974 033254 263 17 0 00 000000 RTN ;DON'T CHG TO PJRST
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 56
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0097
2975
2976 ; **********************************************************************
2977 ;*FATALP - HERE ON FATAL PGM ERROR TO PRINT PC AND MSG
2978 ; **********************************************************************
2979
2980 033255 550 00 0 00 030113 FATALP: HRRZ $SVUUO
2981 033256 202 00 0 00 033675 MOVEM FATALA ;SAVE ARG
2982
2983 033257 036 13 0 00 034672 ERROR1 13,0,0,FATAL PROGRAM ERROR,,FATAL1
2984 033260 037 15 0 00 000004 FATAL
2985 SALL
2986 033261 037 04 0 00 034652 FATAL1: PMSGF <TEST PC = >
2987 033262 200 00 0 00 030051 MOVE TESTPC
2988 033263 037 17 0 00 000003 PNTOCF
2989
2990 033264 037 04 0 00 034675 PMSGF <^ ERROR PC = >
2991 033265 550 00 0 00 030114 HRRZ $SVUPC ;GET PC
2992 033266 037 17 0 00 000003 PNTOCF ;SHOW IT
2993
2994 033267 037 04 0 00 034700 PMSGF <, >
2995
2996 033270 200 00 0 00 033675 MOVE FATALA ;GET ARG
2997 033271 037 17 0 00 000001 PNTALF ;PRINT REASON
2998
2999 033272 037 01 0 00 030242 PCRLF
3000 033273 263 17 0 00 000000 RTN
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 57
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0098
3001
3002 ; **********************************************************************
3003 ;*SAV15 - SAVE AC-0 TO AC-16 ON STACK
3004 ; **********************************************************************
3005
3006 033274 105 17 0 00 000016 SAV15: ADJSP P,^D14 ;MAKE ROOM FOR 14 ACS
3007 033275 261 17 0 17 777762 PUT -^D14(P) ;PUT RTN ADDR AT END OF STK
3008
3009 033276 124 00 0 17 777761 DMOVEM 0,-^D15(P) ;SAVE 0,1
3010 033277 124 02 0 17 777763 DMOVEM 2,-^D13(P) ;SAVE 2,3
3011 033300 124 04 0 17 777765 DMOVEM 4,-^D11(P) ;SAVE 4,5
3012 033301 124 06 0 17 777767 DMOVEM 6,-9(P) ;SAVE 6,7
3013 033302 124 10 0 17 777771 DMOVEM 10,-7(P) ;SAVE 10,11
3014 033303 124 12 0 17 777773 DMOVEM 12,-5(P) ;SAVE 12,13
3015 033304 124 14 0 17 777775 DMOVEM 14,-3(P) ;SAVE 14,15
3016 033305 202 16 0 17 777777 MOVEM 16,-1(P) ;PUT 16 ON STACK
3017 033306 263 17 0 00 000000 RTN ;DONE
3018
3019 ; **********************************************************************
3020 ;*RES15 - RECOVER AC-0 TO AC-16 FROM STACK
3021 ; **********************************************************************
3022
3023 033307 200 16 0 17 777777 RES15: MOVE 16,-1(P) ;RESTORE 16
3024 033310 120 14 0 17 777775 DMOVE 14,-3(P) ;GET 14,15
3025 033311 120 12 0 17 777773 DMOVE 12,-5(P) ;GET 12,13
3026 033312 120 10 0 17 777771 DMOVE 10,-7(P) ;GET 10,11
3027 033313 120 06 0 17 777767 DMOVE 6,-9(P) ;GET 6,7
3028 033314 120 04 0 17 777765 DMOVE 4,-^D11(P) ;GET 4,5
3029 033315 120 02 0 17 777763 DMOVE 2,-^D13(P) ;GET 2,3
3030 033316 120 00 0 17 777761 DMOVE 0,-^D15(P) ;GET 0,1
3031
3032 033317 262 17 0 17 777761 GET -^D15(P) ;MOVE RTN ADDR
3033 033320 105 17 0 00 777762 ADJSP P,-^D14 ;FIX STK PTR
3034 033321 263 17 0 00 000000 RTN ;DONE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 58
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0099
3035
3036 ; **********************************************************************
3037 ;*PXDISP - PXCT PARAMETER DISPLAY ROUTINE
3038 ;*
3039 ;* THIS ROUTINE IS USED TO DISPLAY THE CURRENT TEST CONDITIONS.
3040 ;* AFTER DISPLAYING COMMON PARAMETERS, A SPECIAL DISPATCH IS MADE TO
3041 ;* SHOW INDIVIDUAL PARAMETERS (SUCH AS THE AC FOR STACK INSTRS).
3042 ; **********************************************************************
3043
3044 033322 476 00 0 00 033671 PXDISP: SETOM ERRFLG ;NOTE WE HAD AN ERROR
3045 033323 350 00 0 00 030053 AOS ERRTLS ;COUNT NUMBER OF ERRORS
3046
3047 033324 261 17 0 00 000000 PUT 0 ;SAVE 0
3048 033325 336 00 0 00 034007 SKIPN PFIGNR ;WAS PAGE FAULT CAUSE OF ERROR?
3049 033326 254 00 0 00 033337 JRST PXDSP2 ;NO
3050
3051 033327 402 00 0 00 034007 SETZM PFIGNR ;REMEMBER WE ALREADY SHOWED THE ERR
3052
3053 033330 037 02 0 00 034701 PMSG <PAGE FAIL WORD = >
3054 033331 200 00 0 00 033773 MOVE SAVPFW ;TYPE PAGE FAIL WORD
3055 033332 037 13 0 00 000000 PNTHW
3056
3057 033333 037 02 0 00 034704 PMSG <, PC = >
3058 033334 200 00 0 00 033774 MOVE SAVPFS ;TYPE PAGE FAIL SECTION
3059 033335 037 13 0 00 000000 PNTHW
3060 033336 037 00 0 00 030242 PCRL
3061
3062 033337 037 02 0 00 034706 PXDSP2: PMSG <PXCT-N]PCU]CCS]PCS]CASE]EXPECTED EA RESULT^>
3063
3064 033340 200 00 0 00 033753 MOVE PXCTN ;GET PXCT 'N'
3065 033341 037 16 0 00 000003 PNTOCS ;PRINT IT
3066 033342 037 00 0 00 000011 PNTCI 11
3067
3068 033343 200 00 0 00 034074 MOVE PCU ;PRINT PCU BIT
3069 033344 037 16 0 00 000003 PNTOCS
3070 033345 037 00 0 00 000011 PNTCI 11
3071
3072 033346 200 00 0 00 033723 MOVE CCS ;PRINT CCS
3073 033347 037 16 0 00 000003 PNTOCS
3074 033350 037 00 0 00 000011 PNTCI 11
3075
3076 033351 200 00 0 00 033724 MOVE PCS ;PRINT PCS
3077 033352 037 16 0 00 000003 PNTOCS
3078 033353 037 00 0 00 000011 PNTCI 11
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 59
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0100
3079
3080 033354 550 00 0 00 033747 HRRZ CASE ;PRINT CASE NUMBER
3081 033355 037 16 0 00 000003 PNTOCS
3082 033356 037 00 0 00 000011 PNTCI 11
3083
3084 033357 200 00 0 00 034126 MOVE PXDEA ;GET EA
3085 033360 621 00 0 00 770000 TLZ 770000 ;CLEAR ANY HI ORDER BITS
3086 033361 037 13 0 00 000001 PNTHWF ;PRINT IT
3087
3088 033362 332 00 0 00 034120 SKIPE LOCGBL ;NOTE LOCAL OR GLOBAL
3089 033363 037 02 0 00 034716 PMSG <GLOBAL^>
3090 033364 336 00 0 00 034120 SKIPN LOCGBL
3091 033365 037 02 0 00 034720 PMSG <LOCAL^>
3092
3093 033366 332 00 0 00 077101 SKIPE PCSSUB ;SKIP IF SUB NOT MADE
3094 033367 037 02 0 00 034722 PMSG <NOTE: PCS SUBSTITUTED INTO EA BEFORE DATA REF^>
3095
3096 033370 262 17 0 00 000000 GET 0 ;RESTORE WORK AC
3097 033371 200 16 0 00 033772 MOVE TN,SAVETN ;INSURE GOOD TEST COUNTER
3098 033372 260 17 0 16 033653 GO XDISP(TN) ;DO SPECIAL PER TEST ROUTINE
3099
3100 033373 332 00 0 00 034010 DIECHK: SKIPE ERRDIE ;SEE IF SUPPOSED TO DIE
3101 033374 037 15 0 00 000004 FATAL ;YES, DO IT
3102 033375 263 17 0 00 000000 RTN ;NO, DONE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 60
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0101
3103
3104 ; ************************************************
3105 ;ADRCHN - SHOW ADDRESS CHAIN
3106 ; ************************************************
3107
3108 033376 261 17 0 00 000000 ADRCHN: PUT 0 ;SAVE 0
3109 033377 261 17 0 00 000001 PUT A ;SAVE A
3110
3111 033400 400 01 0 00 000000 SETZ A, ;INIT CHN COUNTER TO BEGINNING OF TABLE
3112 033401 037 02 0 00 034732 PMSG <ADDR CHN=>
3113 033402 254 00 0 00 033407 JRST ADRCH2 ;DON'T PRINT A COMMA AT THE BEGINNING
3114
3115 033403 336 00 0 01 034150 ADRLOP: SKIPN CHNCHR(A)
3116 033404 037 02 0 00 034734 PMSG </ > ;SEPARATE WITH SLASH
3117 033405 332 00 0 01 034150 SKIPE CHNCHR(A) ;SKIP IF SLASH CHAR
3118 033406 037 02 0 00 034735 PMSG <+ > ;SEPARATE WITH PLUS SIGN
3119
3120 033407 200 00 0 01 034130 ADRCH2: MOVE 0,CHNTAB(A) ;GET ELEMENT OF TABLE
3121 033410 037 13 0 00 000000 PNTHW ;PR IT
3122
3123 033411 315 01 0 00 034127 CAMGE A,CHNPTR ;SEE IF AT LAST ENTRY
3124 033412 344 01 0 00 033403 AOJA A,ADRLOP ;NO, DO NEXT
3125
3126 033413 037 00 0 00 030242 PCRL
3127 033414 262 17 0 00 000001 GET A ;RESTORE A
3128 033415 262 17 0 00 000000 GET 0 ;RESTORE 0
3129 033416 263 17 0 00 000000 RTN ;DONE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 61
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0102
3130
3131 ; **********************************************************************
3132 ;*SETCXT - SETUP PREVIOUS-CONTEXT-USER BIT AND
3133 ;* PREVIOUS-CONTEXT-SECTION FIELD
3134 ; **********************************************************************
3135
3136 033417 231 01 0 00 000004 SETCXT: IDIVI A,NSECS
3137 033420 200 02 0 02 033676 MOVE B,SECTAB(B)
3138 033421 202 02 0 00 033724 MOVEM B,PCS ;GET A SECTION NUMBER FOR PREV CXT SEC
3139
3140 033422 400 02 0 00 000000 SETZ B, ;CLEAR B
3141 033423 246 01 0 00 777777 LSHC A,-1 ;MOVE ONE BIT TO B
3142 033424 241 02 0 00 000001 ROT B,1 ;RJ
3143 033425 202 02 0 00 034074 MOVEM B,PCU ;SAVE USER/EXEC FLAG
3144
3145 033426 261 17 0 00 000001 PUT A ;SAVE A
3146 033427 7 010 04 0 00 000001 DATAI PAG,A ;GET PAG INFO
3147 033430 201 03 0 02 000002 MOVEI C,MYACS(B) ;GET RIGHT AC BLK NUMBER (USER OR EXEC)
3148 033431 137 03 0 00 034736 DPB C,[PACB,,A] ;PUT IN A
3149
3150 033432 200 03 0 00 033724 MOVE C,PCS ;GET PREV CXT SECT
3151 033433 137 03 0 00 034737 DPB C,[PCSHW,,A] ;SET PREV CXT SECT IN HW
3152
3153 033434 201 03 0 00 000002 MOVEI C,MYACS ;EXEC AC BLK NO
3154 033435 137 03 0 00 034740 DPB C,[CACB,,A] ;PUT IN A
3155
3156 033436 621 01 0 00 100000 TLZ A,(1B2) ;NO LOAD UBR
3157 033437 670 01 0 00 034741 TDO A,[1B1!1B18+UPTPN] ;LD AC BLKS, NO STOR ACCT AND UPT PAGE
3158 033440 202 01 0 00 034004 MOVEM A,CURACB ;REMEMBER CORRECT CONTEXT
3159
3160 033441 201 03 0 00 000003 MOVEI C,USRACS ;USER AC BLK NO
3161 033442 137 03 0 00 034740 DPB C,[CACB,,A] ;PUT IN A
3162 033443 202 01 0 00 034003 MOVEM A,USRACB ;SAVE USR AC BLK DATAO PAG WD
3163 033444 7 010 14 0 00 034004 DATAO PAG,CURACB ;SET PREVIOUS BLK NO
3164
3165 033445 262 17 0 00 000001 GET A ;RESTORE A
3166 033446 265 03 0 00 033447 JSP C,.+1 ;GET FLAGS TO C
3167 033447 137 02 0 00 034742 DPB B,[350100,,C] ;SET B6 (PCU) ACCORDINGLY
3168
3169 033450 541 03 0 00 034743 HRRI C,[RTN] ;ADDR OF A RETURN INSTR
3170 033451 512 03 0 00 033672 HLLZM C,PXCTGO ;SAVE FLAGS FOR PXCT INSTR
3171
3172 033452 254 02 1 00 000003 JRSTF @C ;SET PREV CXT BIT
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 62
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0103
3173
3174 ; ************************************************
3175 ;MOVDSP - SPECIAL DISPLAY ROUTINE FOR MOVE
3176 ; ************************************************
3177
3178 033453 037 02 0 00 034744 MOVDSP: PMSG <(MOVE) >
3179 033454 254 00 0 00 033376 PJRST ADRCHN ;GO PRINT ADDRESS CHAIN
3180
3181 ; ************************************************
3182 ;BLTDSP - SPECIAL DISPLAY ROUTINE FOR BLT
3183 ; ************************************************
3184
3185 033455 261 17 0 00 000000 BLTDSP: PUT 0 ;SAVE 0
3186 033456 037 02 0 00 034746 PMSG <(BLT) AC=>
3187 033457 200 00 0 00 033742 MOVE BLTAC
3188 033460 037 13 0 00 000000 PNTHW ;PRINT BLTAC
3189 033461 037 00 0 00 030242 PCRL
3190 033462 262 17 0 00 000000 GET 0
3191 033463 263 17 0 00 000000 RTN
3192
3193 ; ************************************************
3194 ;XBLDSP - SPECIAL DISPLAY ROUTINE FOR XBLT
3195 ; ************************************************
3196
3197 033464 261 17 0 00 000000 XBLDSP: PUT 0 ;SAVE 0
3198
3199 033465 037 02 0 00 034750 PMSG <AC1=>
3200 033466 200 00 0 00 034100 MOVE XBLAC1 ;GET XBLT AC1
3201 033467 037 13 0 00 000000 PNTHW
3202
3203 033470 037 02 0 00 034751 PMSG <AC2=>
3204 033471 200 00 0 00 034101 MOVE XBLAC2 ;AC2
3205 033472 037 13 0 00 000000 PNTHW
3206
3207 033473 037 02 0 00 034752 PMSG <AC3=>
3208 033474 200 00 0 00 034102 MOVE XBLAC3 ;AC3
3209 033475 037 13 0 00 000000 PNTHW
3210 033476 037 00 0 00 030242 PCRL
3211
3212 033477 262 17 0 00 000000 GET 0
3213 033500 263 17 0 00 000000 RTN ;DONE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 63
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0104
3214
3215 ; ************************************************
3216 ;PUSDSP - SPECIAL DISPLAY ROUTINE FOR PUSH
3217 ; ************************************************
3218
3219 033501 260 17 0 00 033376 PUSDSP: GO ADRCHN ;SHOW ADR JUNK
3220
3221 033502 261 17 0 00 000000 PUT 0
3222 033503 037 02 0 00 034753 PMSG <OLDSP=>
3223 033504 200 00 0 00 034116 MOVE OLDSP
3224 033505 037 13 0 00 000000 PNTHW
3225
3226 033506 037 02 0 00 034755 PMSG <NEWSP=>
3227 033507 200 00 0 00 034117 MOVE NEWSP
3228 033510 037 13 0 00 000000 PNTHW
3229 033511 037 00 0 00 030242 PCRL
3230
3231 033512 262 17 0 00 000000 GET 0
3232 033513 263 17 0 00 000000 RTN ;DONE
3233
3234 ; ************************************************
3235 ;LDBDSP - SPECIAL DISPLAY ROUTINE FOR LDB
3236 ; ************************************************
3237
3238 033514 260 17 0 00 033376 LDBDSP: GO ADRCHN ;SHOW ADR CHN USED
3239
3240 033515 261 17 0 00 000000 PUT 0
3241 033516 037 02 0 00 034757 PMSG <BP=>
3242 033517 200 00 0 00 034123 MOVE BP
3243 033520 037 13 0 00 000000 PNTHW
3244 033521 037 00 0 00 030242 PCRL
3245
3246 033522 262 17 0 00 000000 GET 0
3247 033523 263 17 0 00 000000 RTN ;DONE
3248
3249 ; **********************************************************************
3250 ;*CASECK - CHECK FOR SECTION-0 AND GLOBAL ADDRESSING CASE
3251 ;*
3252 ;* THIS ROUTINE ELIMINATES SOME ILLEGAL CASES FROM THE TEST.
3253 ; **********************************************************************
3254
3255 033524 135 02 0 00 034353 CASECK: LDB B,[POINT 12,A,17] ;GET SECTION NUMBER FROM A
3256 033525 326 02 0 00 030064 JUMPN B,CPOPJ1 ;OK-SKP RETURN IF NON-ZERO
3257
3258 033526 200 02 0 00 033752 MOVE B,TMOD ;GET ADDR MODE CASE
3259 033527 336 00 0 02 046026 SKIPN LGCASE(B) ;SKIP IF LOCAL/GLOBAL CASE
3260 033530 263 17 0 00 000000 RTN ;ELSE ERROR-NO SKP RETURN
3261
3262 033531 254 00 0 00 030064 JRST CPOPJ1 ;OK-SKP RETURN
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 64
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0105
3263
3264 ; **********************************************************************
3265 ;*UMAP - DO USER MAP OF VIRTUAL TO PHYSICAL, CHECKING ACCESS
3266 ; **********************************************************************
3267
3268 033532 261 17 0 00 000003 UMAP: PUT C ;SAVE WORK ACS
3269 033533 200 03 0 00 033661 MOVE C,USECP ;GET ADDR OF SEC-0 PTR FOR USER ADDR
3270 033534 254 00 0 00 033537 JRST COMMAP ;JOIN COMMON MAP ROUTINE
3271
3272 ; **********************************************************************
3273 ;*EMAP - DO EXECUTIVE MAP OF VIRTUAL TO PHYSICAL, CHECKING ACCESS
3274 ; **********************************************************************
3275
3276 033535 261 17 0 00 000003 EMAP: PUT C ;SAVE WORK ACS
3277 033536 200 03 0 00 033660 MOVE C,ESECP ;GET ADDR OF SEC-0 PTR FOR EXEC ADDR
3278
3279 033537 261 17 0 00 000002 COMMAP: PUT B
3280 033540 135 02 0 00 034353 LDB B,[POINT 12,A,17] ;GET SECTION NUMBER
3281 033541 303 02 0 00 000037 CAILE B,MAXSEC ;VALIED SECTION NUMBER?
3282 033542 254 00 0 00 033570 JRST EMAPRR ;LOSE
3283
3284 033543 270 03 0 00 000002 ADD C,B ;GET ADDR OF CORRECT SECTION PTR
3285 033544 200 03 0 03 000000 MOVE C,(C) ;GET SECTION PTR
3286 033545 135 02 0 00 034760 LDB B,[POINT 9,C,8] ;GET ACCESS BITS
3287 033546 302 02 0 00 000124 CAIE B,124 ;AS EXPECTED?
3288 033547 254 00 0 00 033570 JRST EMAPRR ;LOSE
3289
3290 033550 135 02 0 00 034761 LDB B,[POINT 9,C,35] ;GET PAGE NUMBER OF PAGE TABLE
3291 033551 242 02 0 00 000011 LSH B,^D9 ;MAKE MEM ADDR
3292 033552 135 03 0 00 034305 LDB C,[POINT 9,A,26] ;GET PAGE NUMBER FROM ADDR
3293 033553 270 03 0 00 000002 ADD C,B ;GET ADDR OF ENTRY
3294 033554 200 03 0 03 000000 MOVE C,(C) ;GET PAGE TABLE ENTRY
3295 033555 135 02 0 00 034760 LDB B,[POINT 9,C,8] ;GET ACCESS BITS
3296 033556 302 02 0 00 000124 CAIE B,124 ;AS EXPECTED?
3297 033557 254 00 0 00 033570 JRST EMAPRR ;LOSE
3298
3299 033560 135 02 0 00 034761 LDB B,[POINT 9,C,35] ;GET PAGE NUMBER FROM ENTRY
3300 033561 242 02 0 00 000011 LSH B,^D9 ;MAKE MEM ADDR
3301 033562 135 03 0 00 034762 LDB C,[POINT 9,A,35] ;GET WORD ADDR FROM ADDR
3302 033563 270 03 0 00 000002 ADD C,B ;GET PHYSICAL ADDR OF LOCATION REQUESTED
3303 033564 200 01 0 00 000003 MOVE A,C ;GET INTO A
3304
3305 033565 262 17 0 00 000002 GET B ;RESTORE WORK ACS
3306 033566 262 17 0 00 000003 GET C
3307 033567 254 00 0 00 030064 RTNSKP ;DONE OK
3308
3309 ; ************************************************
3310 ;HERE TO LOSE ON VIRT TO PHYS TRANSLATION.
3311 ; ************************************************
3312
3313 033570 262 17 0 00 000002 EMAPRR: GET B ;RESTORE WORK ACS
3314 033571 262 17 0 00 000003 GET C
3315 033572 263 17 0 00 000000 RTN ;ERROR RETURN
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 65
DFKECM MAC 4-Sep-81 15:22 SUPPORT ROUTINES SEQ 0106
3316
3317 ; **********************************************************************
3318 ;*AMAP - MAP IN ADDR MODE TABLE
3319 ; **********************************************************************
3320
3321 033573 261 17 0 00 000001 AMAP: PUT A ;SAVE A,B,C,T3
3322 033574 261 17 0 00 000002 PUT B
3323 033575 261 17 0 00 000003 PUT C
3324 033576 261 17 0 00 000012 PUT T3
3325
3326 033577 201 01 0 00 046000 MOVEI A,AMODTB ;PHYS ADDR
3327 033600 400 02 0 00 000000 SETZ B, ;SECTION ZERO
3328 033601 201 03 0 00 000046 MOVEI C,AMODPN ;VIRT PAGE NUM
3329 033602 400 12 0 00 000000 SETZ T3, ;EXEC CXT
3330
3331 033603 260 17 0 00 033125 GO PMAPRT ;GO MAP IN ADDR MODE PAGE
3332
3333 033604 262 17 0 00 000012 GET T3 ;RESTORE T3,C,B,A
3334 033605 262 17 0 00 000003 GET C
3335 033606 262 17 0 00 000002 GET B
3336 033607 262 17 0 00 000001 GET A
3337 033610 263 17 0 00 000000 RTN ;DONE
3338
3339 ; **********************************************************************
3340 ;*RANDOM - GENERATE PSEUDO-RANDOM NUMBERS
3341 ; **********************************************************************
3342
3343 033611 261 17 0 00 000001 RANDOM: PUT 1 ;SAVE WORK AC
3344
3345 033612 200 00 0 00 030022 MOVE 0,RANDBS ;GET SEED
3346 033613 224 00 0 00 033621 MUL 0,RNDXXA ;RANDOM MULTIPLIER
3347 033614 200 00 0 00 000001 MOVE 0,1 ;GET LO ORDER RESULT
3348 033615 270 00 0 00 033622 ADD 0,RNDXXC ;RANDOM CONSTANT
3349 033616 202 00 0 00 030022 MOVEM 0,RANDBS ;SAVE NEXT SEED
3350
3351 033617 262 17 0 00 000001 GET 1 ;RESTORE WORK AC
3352 033620 263 17 0 00 000000 RTN ;DONE
3353
3354 033621 027320 163055 RNDXXA: 27320,,163055 ;MUL CONSTANT
3355 033622 154145 427233 RNDXXC: 154145,,427233 ;ADD CONSTANT
3356
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 66
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0107
3357 SUBTTL STORAGE SPECIFIC TO THE PXCT TEST
3358
3359 033623 PGMNAM: ASCIZ\
3360 033623 015 012 104 105 103 DECSYSTEM KL10 PXCT DIAGNOSTIC [DFKEC]
3361 033624 123 131 123 124 105
3362 033625 115 040 113 114 061
3363 033626 060 040 120 130 103
3364 033627 124 040 104 111 101
3365 033630 107 116 117 123 124
3366 033631 111 103 040 133 104
3367 033632 106 113 105 103 135
3368 033633 015 012 000 000 000 \
3369
3370 ; **********************************************************************
3371 ;*TEST DISPATCH AREA. PUT A 'RTN' HERE TO SKIP A TEST.
3372 ; **********************************************************************
3373
3374 033634 254 00 0 00 033641 TSTTAB: JRST %MOVE
3375 033635 263 17 0 00 000000 RTN ;JRST %BLT
3376 033636 254 00 0 00 033645 JRST %XBLT
3377 033637 254 00 0 00 033647 JRST %PUSH
3378 033640 263 17 0 00 000000 RTN ;JRST %LDB
3379
3380 000005 TTABSZ=.-TSTTAB
3381
3382 033641 202 17 0 00 033775 %MOVE: MOVEM P,TESTP ;SAVE TEST P
3383 033642 254 00 0 00 030661 JRST .MOVE
3384
3385 033643 202 17 0 00 033775 %BLT: MOVEM P,TESTP
3386 033644 254 00 0 00 031042 JRST .BLT
3387
3388 033645 202 17 0 00 033775 %XBLT: MOVEM P,TESTP
3389 033646 254 00 0 00 031317 JRST .XBLT
3390
3391 033647 202 17 0 00 033775 %PUSH: MOVEM P,TESTP
3392 033650 254 00 0 00 031623 JRST .PUSH
3393
3394 033651 202 17 0 00 033775 %LDB: MOVEM P,TESTP
3395 033652 254 00 0 00 032041 JRST .LDB
3396
3397 033653 254 00 0 00 033453 XDISP: PJRST MOVDSP ;SPECIAL DISPLAY ROUTINES
3398 033654 254 00 0 00 033455 PJRST BLTDSP
3399 033655 254 00 0 00 033464 PJRST XBLDSP
3400 033656 254 00 0 00 033501 PJRST PUSDSP
3401 033657 254 00 0 00 033514 PJRST LDBDSP
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 67
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0108
3402
3403 ; **********************************************************************
3404 ;*THESE PTRS HOLD THE ADDRESS OF THE PTRS THAT ARE DIFFERENT IN DIFF
3405 ;* VERSIONS OF THE MICROCODE (MUUO/PGFAIL/SECTION PTRS).
3406 ; **********************************************************************
3407
3408 033660 000000 000000 ESECP: 0 ;HOLDS ADDR OF EXEC SECTION POINTERS
3409 033661 000000 000000 USECP: 0 ;HOLDS ADDR OF USER SECTION POINTERS
3410 033662 000000 000000 MCODP: 0 ;HOLDS ADDR OF MUUO OPCODE POINTER
3411 033663 000000 000000 MOPP: 0 ;HLDS ADDR OF MUUO OLD-PC PTR
3412 033664 000000 000000 MADP: 0 ;HOLDS ADDR OF MUUO EA PTR
3413 033665 000000 000000 PFWP: 0 ;HOLDS ADDR OF PG FAIL WD PTR
3414 033666 000000 000000 PFXJP: 0 ;EXTENDED XJRSTF PTR (FLAG WD)
3415 033667 000000 000000 PFOPP: 0 ;HOLD ADR OF PG FAIL OLD-PC PTR
3416 033670 000000 000000 PFNPP: 0 ;HOLDS ADR OF PG FAIL NEW-PC PTR
3417 033671 000000 000000 ERRFLG: 0 ;-1 MEANS ERR OCCURED
3418
3419 ; **********************************************************************
3420 ;*PXCTGO,PXCTAD - FLAGS AND ADDR OF A PXCT INSTR FOR XJRSTF
3421 ; **********************************************************************
3422
3423 033672 000000 000000 PXCTGO: 0 ;FLAGS
3424 033673 000000 000000 PXCTAD: 0 ;A(PXCTBP)
3425
3426 ;FROM HERE DOWN, MISC LOCATIONS, DESCRIBED INDIVIDUALLY
3427 ; **********************************************************************
3428
3429 033674 000000 000000 FATAL0: 0 ;HOLD 0 DURING FATAL ERROR
3430 033675 000000 000000 FATALA: 0 ;HOLD ARGUMENT
3431
3432 033676 000000 000000 SECTAB: 0 ;DIFFERENT SECTIONS TO USE FOR TEST
3433 033677 000000 000001 1
3434 033700 000000 000002 2
3435 033701 000000 000037 37
3436 000004 NSECS==.-SECTAB
3437
3438 033702 000000 000001 BLTNTB: 1 ;SRC
3439 033703 000000 000004 4 ;DST
3440 033704 000000 000005 5 ;SRC,DST
3441 033705 000000 000014 14 ;EA,DST
3442 033706 000000 000015 15 ;EA,SRC,DST
3443 000005 BLNTLN==.-BLTNTB ;LENGTH OF TABLE
3444
3445 033707 000000 000002 XBLNTB: 2 ;SRC
3446 033710 000000 000001 1 ;DST
3447 033711 000000 000003 3 ;SRC,DST
3448 000003 XBLNTL==.-XBLNTB
3449
3450 033712 000000 000002 XBLTAB: 2 ;POS LEN 2
3451 033713 000000 000001 1 ;POS LEN 1
3452 033714 000000 000000 0 ;ZERO LEN, NO MOVE
3453 033715 777777 777777 -1 ;NEG LEN 1
3454 033716 777777 777776 -2 ;NEG LEN 2
3455 000005 XBLTBL==.-XBLTAB
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 68
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0109
3456
3457 033717 000000 000001 LBLNTB: 1 ;DATA
3458 033720 000000 000003 3 ;BP-EA,DATA
3459 033721 000000 000007 7 ;BP,BP-EA,DATA
3460 033722 000000 000017 17 ;EA,BP,BP-EA,DATA
3461 000004 LBLNTL==.-LBLNTB
3462
3463 033723 000000 000020 CCS: PCSECT ;NON-ZERO SECTION NUMBER FOR PXCT INSTR
3464 033724 000000 000000 PCS: 0 ;HOLDS PCS SECTION
3465 033725 000000 000000 BPSEC: 0 ;BYTE PTR SECTION
3466 033726 000000 000000 BLEASC: 0 ;HOLDS SECTION FOR BLT EA
3467
3468 033727 0 0 00 0000 000020 BLSTOP: G 0,20
3469 033730 0 0 00 0000 000000 G 0,0
3470 033731 0 0 00 0000 067001 G 0,VD1+1
3471 033732 0 0 00 0000 067001 G 0,VD1+1
3472
3473 033733 000000 000000 BLT1: 0 ;HOLDS 1ST WD MOVED BY BLT
3474 033734 000000 000000 BLT2: 0 ;HOLDS 2ND WD MOVED BY BLT
3475 033735 000000 000000 BLTYPE: 0 ;HOLDS TYPE OF BLT BEING TESTED
3476
3477 033736 071000 000017 BLACWD: VS1,,17
3478 033737 071000 777777 VS1,,-1
3479 033740 000017 067000 17,,VD1
3480 033741 777777 067000 -1,,VD1
3481
3482 033742 000000 000000 BLTAC: 0 ;HOLDS BLT'S AC CONTENTS
3483 033743 PFHACS: BLOCK 2 ;HOLDS A,B DURING PGFAIL HANDLE
3484 033745 PFHAC2: BLOCK 2 ;HOLDS B,C
3485
3486 033747 000000 000000 CASE: 0 ;CURRENT CASE COUNT
3487 033750 000000 000000 GCASEN: 0 ;GRAND TOTAL CASE COUNTER
3488
3489 033751 000000 000000 BPMOD: 0 ;HOLDS ADDR MODE OF BYTE PTR
3490 033752 000000 000000 TMOD: 0 ;GETS CURRENT ADDR MODE BEING TESTED
3491 033753 000000 000000 PXCTN: 0 ;'N' IN 'PXCT N,FOO' GOES HERE
3492
3493 033754 000000 000000 UPWD: 0 ;FOR DATAO PAG,UPWD
3494
3495 033755 000000 000000 PFFLAG: 0 ;SET BY SPECIAL ENTRY POINT
3496 033756 000000 000000 PFHSPC: 0 ;HOLDS ADR OF SPECIAL PF HANDLER
3497 033757 000000 000000 UUOSPF: 0 ;HOLDS PC FLGS
3498
3499 033760 000000 000000 UUPSPC: 0 ;SPECIAL MUUO RET ADR
3500 033761 000000 000000 ALLOW1: 0 ;-1 TO ALLOW 1 UNRECOGNIZED MUUO
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 69
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0110
3501
3502 033762 000000 000000 XEA: 0 ;GETS ENTIRE EFFECTIVE ADDRESS
3503 033763 000000 000000 X: 0 ;GETS X FIELD DURING EA CALC
3504 033764 000000 000000 Y: 0 ;GETS Y FIELD
3505 033765 000000 000000 I: 0 ;GETS I FIELD
3506
3507 033766 000000 000000 INDCNT: 0 ;INDIRECT LEVEL COUNT-DOWN
3508
3509 033767 000000 000000 PDATA: 0 ;DATA FOR XFER TO/FROM PREV-AC-BLK
3510 033770 000000 000000 PRINS: 0 ;HOLDS XFER INSTRUCTION
3511 033771 000000 000000 GOODF: 0 ;HOLDS A GOOD COPY OF THE FLAGS
3512
3513 033772 000000 000000 SAVETN: 0 ;HOLD TN DURING TEST
3514
3515 033773 000000 000000 SAVPFW: 0 ;HOLDS PAGE FAIL WORD
3516 033774 000000 000000 SAVPFS: 0 ;HOLDS PAGE FAIL SECTION
3517
3518 033775 000000 000000 TESTP: 0 ;HOLDS P DURING TEST.
3519 033776 000000 000000 GOODP: 0 ;HOLDS A COPY OF VALID STK PTR
3520
3521 033777 000000 000000 PRFLG: 0 ;NOTES READ OR WRITE
3522
3523 034000 000000 000000 CURNTA: 0 ;HOLDS A DURING PREV CONTEXT REFS
3524
3525 034001 000000 000000 SVAC2: 0 ;SAVE EXTRA COPY OF XBLT'S AC2
3526 034002 000000 000000 SVAC3: 0 ;SAVE EXTRA COPY OF XBLT'S AC3
3527
3528 034003 000000 000000 USRACB: 0 ;HOLDS DATAO WD FOR USER BLK
3529
3530 034004 000000 000000 CURACB: 0 ;CURRENT/PREVIOUS AC BLK FOR DATAO PAG
3531
3532 ; **********************************************************************
3533 ;*EMER.P - THIS LOCATION HOLDS A STK PTR THAT WILL WORK WITHOUT DESTROYING
3534 ;* THE REST OF THE STACK, AND WITHOUT KNOWING THE REAL STK PTRS' VALUE.
3535 ; **********************************************************************
3536
3537 034005 777747 030453 EMER.P: PLIST+150-PLISTE,,PLIST+150
3538
3539 034006 000000 000000 XXP: 0 ;HOLDS P DURING PF HANDLE
3540
3541 034007 000000 000000 PFIGNR: 0 ;-1 MEANS CASE FAILED
3542 034010 000000 000000 ERRDIE: 0 ;-1 MEANS GO TO DDT ON FAILURE
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 70
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0111
3543
3544 034011 SAVACS: BLOCK ^D16 ;EXEC AC'S SAVED HERE
3545 034031 EXECAC: BLOCK ^D16 ;EXEC AC'S SAVED HERE
3546 034051 PACBLK: BLOCK ^D16 ;PREVIOUS AC BLK HERE
3547
3548 034071 000000 000000 APRIDE: 0 ;APRID DATA GOES HERE...
3549
3550 034072 000000 000000 SETFLG: 0 ;-1 WHEN SETTING UP ADDR CHAINS
3551
3552 034073 000000 000000 RESDAT: 0 ;GETS RESERVED DATA
3553
3554 034074 000000 000000 PCU: 0 ;USER (NOT EXEC) FLAG
3555
3556 034075 000000 000000 DISFLG: 0 ;WHETHER OR NOT TO PRINT A HEADING
3557
3558 034076 000000 000000 XBSRCS: 0 ;XBLT SRC SECTION
3559 034077 000000 000000 XBDSTS: 0 ;XBLT DST SECTION
3560 034100 000000 000000 XBLAC1: 0 ;XBLT LEN
3561 034101 000000 000000 XBLAC2: 0 ;XBLT SRC ADR
3562 034102 000000 000000 XBLAC3: 0 ;XBLT DST ADR
3563
3564 034103 000000 000000 SRCPG1: 0 ;HOLDS SRC PAGE 1 PAGE NUMBER
3565 034104 000000 000000 DSTPG1: 0 ;HOLDS DST PAGE 1 NUMBER
3566
3567 034105 000000 000000 SRCSEC: 0 ;SRC SECTION
3568 034106 000000 000000 DSTSEC: 0 ;DST SECTION
3569
3570 034107 000000 000000 SRCADD: 0 ;SOURCE ADDRESS
3571 034110 000000 000000 DSTADD: 0 ;DST ADDRESS
3572
3573 034111 000000 000000 EACCXT: 0 ;HOLDS EACALC CONTEXT
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 71
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0112
3574
3575 034112 000000 000000 SRCCXT: 0 ;HOLDS SRC CXT
3576 034113 000000 000000 DSTCXT: 0 ;HOLD DST CXT
3577
3578 034114 000000 000000 OLDSRC: 0 ;HOLDS CONTENTS OF SRC LOC
3579 034115 000000 000000 OLDDST: 0 ;HOLDS CONTENTS OF DST LOC
3580
3581 034116 000000 000000 OLDSP: 0 ;HOLDS OLD VALUE OF AC BEFORE PUSH
3582 034117 000000 000000 NEWSP: 0 ;HOLDS NEW VALUE FOR AC AFTER PUSH
3583
3584 034120 000000 000000 LOCGBL: 0 ;HOLDS LOCAL/GLOBAL OF INSTR'S EA
3585
3586 034121 000000 000000 BPEA: 0 ;BYTE PTR'S EA
3587 034122 000000 000000 BPCXT: 0 ;BYTE PTR'S CONTEXT
3588 034123 000000 000000 BP: 0 ;HOLDS A COPY OF THE PTR TO DATA
3589 034124 000000 000000 BPBYTE: 0 ;HOLDS BYTE DATA
3590 034125 000000 000000 BPLG: 0 ;BP'S LOCAL/GLOBAL FLAG
3591
3592 034126 000000 000000 PXDEA: 0 ;PLACE FOR EA FOR PXDISP TO READ IT
3593
3594 034127 000000 000000 CHNPTR: 0 ;PTR INTO CHNTAB
3595 034130 CHNTAB: BLOCK 20 ;RESERVE ROOM FOR ADDR CHAIN WDS
3596 034150 CHNCHR: BLOCK 20 ;RESERVE ROOM FOR SEPARATOR CHARACTER
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 72
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0113
3597
3598 ; ************************************************
3599 ;BE SURE TO PUT ALL LITERALS HERE, SO NEXT LIT STATEMENT CAN PUT ALL
3600 ; ADDR MODE LITERALS ON SAME PAGE AS AMODTB.
3601 ; ************************************************
3602
3603 034170 LIT
3604 034170 53 54 21 20 00 60
3605 034171 70 43 64 00 64 45
3606 034172 63 64 77 00 00 00
3607 034173 002000 000037
3608 034174 76 56 57 64 45 32
3609 034175 00 64 50 51 63 00
3610 034176 51 63 00 41 00 56
3611 034177 57 56 15 63 64 41
3612 034200 56 44 41 62 44 00
3613 034201 66 45 62 63 51 57
3614 034202 56 00 57 46 00 64
3615 034203 50 45 00 55 51 43
3616 034204 62 57 43 57 44 45
3617 034205 16 76 77 00 00 00
3618 034206 114 117 101 104 040
3619 034207 113 114 114 040 050
3620 034210 115 117 104 105 114
3621 034211 040 101 051 040 117
3622 034212 122 040 113 114 130
3623 034213 040 050 115 117 104
3624 034214 105 114 040 102 051
3625 034215 040 115 111 103 122
3626 034216 117 103 117 104 105
3627 034217 040 101 116 104 040
3628 034220 122 105 123 124 101
3629 034221 122 124 000 000 000
3630 034222 76 64 57 64 41 54
3631 034223 00 45 62 62 57 62
3632 034224 63 00 45 56 43 57
3633 034225 65 56 64 45 62 45
3634 034226 44 00 35 00 77 00
3635 034227 07 60 70 43 64 00
3636 034230 56 14 73 55 57 66
3637 034231 45 00 41 14 71 75
3638 034232 07 77 00 00 00 00
3639 034233 000000 000004
3640 034234 000000 000014
3641 034235 27 04 0 00 041001
3642 034236 33 11 0 00 041005
3643 034237 22 14 0 00 041006
3644 034240 55 57 66 45 77 00
3645 034241 65 56 45 70 60 45
3646 034242 43 64 45 44 00 60
3647 034243 41 47 45 00 46 41
3648 034244 65 54 64 77 00 00
3649 034245 034227 034240
3650 034246 000000 000000
3651 034247 034241 033322
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 72-1
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0114
3652 034250 41 43 00 62 45 63
3653 034251 65 54 64 00 51 56
3654 034252 43 57 62 62 45 43
3655 034253 64 77 00 00 00 00
3656 034254 034227 034240
3657 034255 034114 034032
3658 034256 034250 033322
3659 034257 07 60 70 43 64 00
3660 034260 56 14 73 55 57 66
3661 034261 45 55 00 41 14 71
3662 034262 75 07 77 00 00 00
3663 034263 55 57 66 45 55 77
3664 034264 034257 034263
3665 034265 000000 000000
3666 034266 034241 033322
3667 034267 55 45 55 00 44 41
3668 034270 64 41 00 51 56 43
3669 034271 57 62 62 45 43 64
3670 034272 77 00 00 00 00 00
3671 034273 034257 034263
3672 034274 034114 044000
3673 034275 034267 033322
3674 034276 07 60 70 43 64 00
3675 034277 56 14 73 42 54 64
3676 034300 00 41 14 71 75 07
3677 034301 77 00 00 00 00 00
3678 034302 251 01 1 00 042006
3679 034303 000016 067000
3680 034304 071000 000016
3681 034305 11 11 0 00 000001
3682 034306 42 54 64 77 00 00
3683 034307 034276 034306
3684 034310 000000 000000
3685 034311 034241 033322
3686 034312 46 51 62 63 64 00
3687 034313 67 57 62 44 00 70
3688 034314 46 45 62 07 44 00
3689 034315 51 56 43 57 62 62
3690 034316 45 43 64 54 71 77
3691 034317 034276 034306
3692 034320 033733 000002
3693 034321 034312 033322
3694 034322 42 57 64 50 00 67
3695 034323 57 62 44 63 00 70
3696 034324 46 45 62 07 44 00
3697 034325 51 56 43 57 62 62
3698 034326 45 43 64 54 71 77
3699 034327 034276 034306
3700 034330 033734 000002
3701 034331 034322 033322
3702 034332 54 41 63 64 00 67
3703 034333 57 62 44 00 70 46
3704 034334 45 62 07 44 00 51
3705 034335 56 43 57 62 62 45
3706 034336 43 64 54 71 77 00
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 72-2
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0115
3707 034337 034276 034306
3708 034340 033734 000002
3709 034341 034332 033322
3710 034342 07 60 70 43 64 00
3711 034343 56 14 73 45 70 64
3712 034344 45 56 44 00 41 14
3713 034345 73 70 42 54 64 75
3714 034346 75 07 77 00 00 00
3715 034347 123 01 0 00 042006
3716 034350 020 00 0 00 000000
3717 034351 22 14 0 00 034101
3718 034352 11 11 0 00 034101
3719 034353 22 14 0 00 000001
3720 034354 22 14 0 00 034102
3721 034355 11 11 0 00 034102
3722 034356 70 42 54 64 77 00
3723 034357 034342 034356
3724 034360 000000 000000
3725 034361 034241 033322
3726 034362 43 57 62 62 45 43
3727 034363 64 00 44 41 64 41
3728 034364 00 56 57 64 00 64
3729 034365 62 41 56 63 46 45
3730 034366 62 62 45 44 77 00
3731 034367 034342 034356
3732 034370 000001 000002
3733 034371 034362 033322
3734 034372 22 14 0 00 034001
3735 034373 22 14 0 00 034002
3736 034374 72 45 62 57 00 54
3737 034375 45 56 47 64 50 00
3738 034376 70 42 54 64 00 43
3739 034377 50 41 56 47 45 44
3740 034400 00 44 45 63 64 51
3741 034401 56 41 64 51 57 56
3742 034402 77 00 00 00 00 00
3743 034403 034342 034356
3744 034404 000001 000002
3745 034405 034374 033322
3746 034406 07 60 70 43 64 00
3747 034407 56 14 73 60 65 63
3748 034410 50 00 41 14 71 75
3749 034411 07 77 00 00 00 00
3750 034412 000001 000000
3751 034413 60 65 63 50 77 00
3752 034414 034406 034413
3753 034415 000000 000000
3754 034416 034241 033322
3755 034417 46 41 51 54 45 44
3756 034420 00 64 57 00 43 50
3757 034421 41 56 47 45 00 63
3758 034422 64 41 43 53 77 00
3759 034423 034406 034413
3760 034424 044000 070101
3761 034425 034417 033322
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 72-3
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0116
3762 034426 51 56 43 57 62 62
3763 034427 45 43 64 00 63 64
3764 034430 41 43 53 00 60 64
3765 034431 62 00 41 46 64 45
3766 034432 62 00 60 65 63 50
3767 034433 77 00 00 00 00 00
3768 034434 034406 034413
3769 034435 034117 000001
3770 034436 034426 033322
3771 034437 07 60 70 43 64 00
3772 034440 56 14 73 60 57 60
3773 034441 00 41 14 71 75 07
3774 034442 77 00 00 00 00 00
3775 034443 60 57 60 77 00 00
3776 034444 034437 034443
3777 034445 000000 000000
3778 034446 034241 033322
3779 034447 034437 034443
3780 034450 034114 044000
3781 034451 034267 033322
3782 034452 07 60 70 43 64 00
3783 034453 56 14 73 54 44 42
3784 034454 00 41 14 71 75 07
3785 034455 77 00 00 00 00 00
3786 034456 000 00 0 00 043001
3787 034457 000000 034456
3788 034460 11 11 0 00 034121
3789 034461 54 44 42 77 00 00
3790 034462 034452 034461
3791 034463 000000 000000
3792 034464 034241 033322
3793 034465 46 41 51 54 45 44
3794 034466 00 64 57 00 54 57
3795 034467 41 44 00 43 57 62
3796 034470 62 45 43 64 00 44
3797 034471 41 64 41 77 00 00
3798 034472 034452 034461
3799 034473 034124 034032
3800 034474 034465 033322
3801 034475 43 50 41 56 47 45
3802 034476 44 00 63 57 65 62
3803 034477 43 45 00 44 41 64
3804 034500 41 77 00 00 00 00
3805 034501 034452 034461
3806 034502 034114 071000
3807 034503 034475 033322
3808 034504 07 60 70 43 64 00
3809 034505 56 14 73 44 60 42
3810 034506 00 41 14 71 75 07
3811 034507 77 00 00 00 00 00
3812 034510 44 60 42 77 00 00
3813 034511 034504 034510
3814 034512 000000 000000
3815 034513 034241 033322
3816 034514 44 51 44 00 56 57
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 72-4
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0117
3817 034515 64 00 67 62 51 64
3818 034516 45 00 42 71 64 45
3819 034517 00 43 57 62 62 45
3820 034520 43 64 54 71 77 00
3821 034521 034504 034510
3822 034522 034114 071000
3823 034523 034514 033322
3824 034524 43 50 41 56 47 45
3825 034525 44 00 63 57 65 62
3826 034526 43 45 00 41 43 77
3827 034527 034504 034510
3828 034530 034124 034032
3829 034531 034524 033322
3830 034532 43 01 0 00 000001
3831 034533 42 01 0 00 000001
3832 034534 22 04 0 00 000002
3833 034535 26 01 0 00 000002
3834 034536 22 14 0 00 033762
3835 034537 111 116 104 111 122
3836 034540 105 103 124 040 103
3837 034541 110 101 111 116 040
3838 034542 124 117 117 040 114
3839 034543 117 116 107 000 000
3840 034544 00 36 0 00 033762
3841 034545 42 01 0 00 000002
3842 034546 111 115 120 122 117
3843 034547 120 105 122 040 111
3844 034550 116 104 111 122 105
3845 034551 103 124 040 127 117
3846 034552 122 104 000 000 000
3847 034553 36 04 0 00 000002
3848 034554 00 36 0 00 000002
3849 034555 00 36 0 00 033763
3850 034556 111 116 126 101 114
3851 034557 111 104 040 123 105
3852 034560 103 124 111 117 116
3853 034561 040 116 125 115 102
3854 034562 105 122 000 000 000
3855 034563 111 116 126 101 114
3856 034564 111 104 040 115 101
3857 034565 120 120 111 116 107
3858 034566 000 000 000 000 000
3859 034567 103 101 116 047 124
3860 034570 040 106 111 116 104
3861 034571 040 101 040 106 122
3862 034572 105 105 040 120 101
3863 034573 107 105 000 000 000
3864 034574 120 101 107 105 106
3865 034575 101 111 114 055 123
3866 034576 105 103 124 111 117
3867 034577 116 056 107 124 056
3868 034600 063 067 000 000 000
3869 034601 000036 777760
3870 034602 111 114 114 105 107
3871 034603 101 114 040 101 103
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 72-5
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0118
3872 034604 040 116 125 115 102
3873 034605 105 122 000 000 000
3874 034606 111 116 126 101 114
3875 034607 111 104 040 115 101
3876 034610 120 120 111 116 107
3877 034611 040 105 116 103 117
3878 034612 125 116 124 105 122
3879 034613 105 104 000 000 000
3880 034614 037500 037501
3881 034615 037424 037425
3882 034616 007000 017777
3883 034617 037430 037431
3884 034620 047000 047001
3885 034621 036000 036001
3886 034622 42 41 44 00 55 65
3887 034623 65 57 77 00 00 00
3888 034624 034504 034622
3889 034625 000000 000000
3890 034626 034272 032721
3891 034627 00 64 45 63 64 00
3892 034630 60 43 00 35 00 77
3893 034631 76 00 55 65 65 57
3894 034632 00 35 00 77 00 00
3895 034633 14 00 55 65 65 57
3896 034634 00 60 43 00 35 00
3897 034635 77 00 00 00 00 00
3898 034636 034052 000001
3899 034637 000001 034012
3900 034640 034032 000001
3901 034641 000001 034052
3902 034642 000001 034032
3903 034643 034012 000001
3904 034644 42 41 44 00 60 41
3905 034645 47 45 00 46 41 51
3906 034646 54 77 00 00 00 00
3907 034647 034504 034644
3908 034650 000000 000000
3909 034651 034272 033111
3910 034652 64 45 63 64 00 60
3911 034653 43 00 35 00 77 00
3912 034654 76 00 60 46 67 00
3913 034655 35 00 77 00 00 00
3914 034656 14 00 60 46 60 43
3915 034657 00 35 00 77 00 00
3916 034660 124 117 117 040 115
3917 034661 101 116 131 040 120
3918 034662 101 107 105 040 124
3919 034663 101 102 114 105 123
3920 034664 040 111 116 040 125
3921 034665 123 105 000 000 000
3922 034666 46 41 64 41 54 00
3923 034667 60 62 57 47 62 41
3924 034670 55 00 45 62 62 57
3925 034671 62 77 00 00 00 00
3926 034672 034504 034666
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 72-6
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0119
3927 034673 000000 000000
3928 034674 034272 033261
3929 034675 76 00 45 62 62 57
3930 034676 62 00 60 43 00 35
3931 034677 00 77 00 00 00 00
3932 034700 14 00 77 00 00 00
3933 034701 60 41 47 45 00 46
3934 034702 41 51 54 00 67 57
3935 034703 62 44 00 35 00 77
3936 034704 14 00 60 43 00 35
3937 034705 00 77 00 00 00 00
3938 034706 60 70 43 64 15 56
3939 034707 75 60 43 65 75 43
3940 034710 43 63 75 60 43 63
3941 034711 75 43 41 63 45 75
3942 034712 45 70 60 45 43 64
3943 034713 45 44 00 45 41 00
3944 034714 62 45 63 65 54 64
3945 034715 76 77 00 00 00 00
3946 034716 47 54 57 42 41 54
3947 034717 76 77 00 00 00 00
3948 034720 54 57 43 41 54 76
3949 034721 77 00 00 00 00 00
3950 034722 56 57 64 45 32 00
3951 034723 60 43 63 00 63 65
3952 034724 42 63 64 51 64 65
3953 034725 64 45 44 00 51 56
3954 034726 64 57 00 45 41 00
3955 034727 42 45 46 57 62 45
3956 034730 00 44 41 64 41 00
3957 034731 62 45 46 76 77 00
3958 034732 41 44 44 62 00 43
3959 034733 50 56 35 77 00 00
3960 034734 17 00 77 00 00 00
3961 034735 13 00 77 00 00 00
3962 034736 300300 000001
3963 034737 220500 000001
3964 034740 330300 000001
3965 034741 200000 400037
3966 034742 350100 000003
3967 034743 263 17 0 00 000000
3968 034744 10 55 57 66 45 11
3969 034745 00 77 00 00 00 00
3970 034746 10 42 54 64 11 00
3971 034747 41 43 35 77 00 00
3972 034750 41 43 21 35 77 00
3973 034751 41 43 22 35 77 00
3974 034752 41 43 23 35 77 00
3975 034753 57 54 44 63 60 35
3976 034754 77 00 00 00 00 00
3977 034755 56 45 67 63 60 35
3978 034756 77 00 00 00 00 00
3979 034757 42 60 35 77 00 00
3980 034760 33 11 0 00 000003
3981 034761 00 11 0 00 000003
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 72-7
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0120
3982 034762 00 11 0 00 000001
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 73
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0121
3983
3984 ; ************************************************
3985 ;PAGE STUFF - LEAVE ROOM FOR EACH PHYS PAGE
3986 ; ************************************************
3987 LALL
3988 .PGE PUSE^
3989 036000 LOC <.!777>+1
3990 000036 PUSE: PUSEPN= <PUSE_-^D9>
3991 ^
3992 .PGE UPT^
3993 037000 LOC <.!777>+1
3994 000037 UPT: UPTPN= <UPT_-^D9>
3995 ^
3996 .PGE CST^
3997 040000 LOC <.!777>+1
3998 000040 CST: CSTPN= <CST_-^D9>
3999 ^
4000 SALL
4001 ; **********************************************************************
4002 ;*TO TRACE, PUT A HALT INSTRUCTION IN PXCTBP. WHEN KL HALTS, TYPE:
4003 ;* >. LP
4004 ;* LP Y OR N ? - Y ;ANSWER Y TO TURN ON LPT
4005 ;* >. FX0
4006 ;* >. FX11
4007 ;* >. FX12
4008 ;* >. RP PL,ALL ;THIS WILL TRACE ALL UCODE STEPS
4009 ;* >. ^C^C ;TO STOP, TYPE CTRL-C WHEN PC CHANGES
4010 ;* >. LP
4011 ;* LP Y OR N ? - N ;ANSWER N TO TURN OFF LPT
4012 ; **********************************************************************
4013
4014 ; **********************************************************************
4015 ;*PXCTBP,PXCTIN - ACTUAL PXCT GOES HERE
4016 ; **********************************************************************
4017 LALL
4018 .PGE PX ^;VIRTUAL PAGE IS PHYS PAGE +1
4019
4020 041000 LOC <.!777>+1
4021 000041 PX: PXPN= <PX_-^D9>
4022
4023 SALL
4024 041000 255 00 0 00 000000 PXCTBP: JFCL ;HALT GOES HERE TO TRACE
4025 041001 256 00 0 00 042005 PXCTIN: PXCT 0,VPXEA ;EXECUTE THE INSTR IN PXCTEA
4026 041002 254 05 0 00 042003 PXGOBK: XJRSTF VRET ;GO TO SECTION-0 ROUTINE
4027 041003 000000 000000 PXRET: 0 ;FLAGS
4028 041004 0 0 00 0000 033043 PXRET2: G 0,S0FIX ;ADDR OF SECTION ZERO ROUTINE
4029 041005 000000 000000 PXCTEA: 0 ;INSTR TO BE PXCT'D GOES HERE
4030 041006 000000 000000 PEA: 0 ;HOLDS INSTR'S EA
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 74
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0122
4031
4032 LALL
4033 .PGE VPX ^;VIRTUAL ADDR FOR PXCT
4034
4035 042000 LOC <.!777>+1
4036 000042 VPX: VPXPN= <VPX_-^D9>
4037
4038 SALL
4039 042000 000000 000000 VPXBP: 0 ;THIS PAGE MAPS TO PREVIOUS PAGE
4040 042001 000000 000000 VPXIN: 0
4041 042002 000000 000000 VPXGO: 0
4042 042003 000000 000000 VRET: 0
4043 042004 000000 000000 VRET2: 0
4044 042005 000000 000000 VPXEA: 0
4045 042006 000000 000000 VEA: 0
4046 LALL
4047 .PGE VQ ^;VIRTUAL ADDR FOR Q
4048
4049 043000 LOC <.!777>+1
4050 000043 VQ: VQPN= <VQ_-^D9>
4051
4052
4053 .PGE PHQ ^;PHYSICAL PAGE FOR Q
4054
4055 044000 LOC <.!777>+1
4056 000044 PHQ: PHQPN= <PHQ_-^D9>
4057
4058 044000 000000 000000 PQ: 0 ;DATA GOES HERE
4059
4060 .PGE BMOD ^;BYTE PTRS HERE
4061
4062 045000 LOC <.!777>+1
4063 000045 BMOD: BMODPN= <BMOD_-^D9>
4064
4065 SALL
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 75
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0123
4066
4067 045000 17 07 0 00 071333 BMODTB: POINT 7,VS1+333,20 ;LOCAL
4068 045001 000000 000000 0
4069 045002 060640 000000 060640,,0 ;GLOBAL
4070 045003 000000 071333 VS1+333
4071 000004 BMODLN==.-BMODTB ;LENGTH
4072 LALL
4073 .PGE AMOD ^;PUT EA CHAINS IN DIFF SECTION
4074
4075 046000 LOC <.!777>+1
4076 000046 AMOD: AMODPN= <AMOD_-^D9>
4077
4078 SALL
4079 ; **********************************************************************
4080 ;*AMODTB - ADDRESSING MODE TABLE
4081 ;*
4082 ;* HERE IS THE TABLE OF ALL THE ADDRESSING MODES USED.
4083 ; **********************************************************************
4084
4085 046000 000 01 0 00 043000 AMODTB: Z A,VQ
4086 046001 000 01 0 02 042770 Z A,VQ-10(B) ;-10(B) IS BECAUSE B WILL CONTAIN '10'
4087 046002 000 01 1 00 046044 Z A,@[L VQ]
4088 046003 000 01 1 00 046045 Z A,@[L VQ-10(B)]
4089 046004 000 01 1 02 046034 Z A,@[L VQ]-10(B)
4090 046005 000 01 1 00 046046 Z A,@[L @[L VQ]]
4091 046006 000 01 1 00 046050 Z A,@[L @[G 0,VQ]]
4092 046007 000 01 1 00 046052 Z A,@[L @[G 0,VQ-10(B)]]
4093 046010 000 01 1 00 046047 Z A,@[G 0,VQ]
4094 046011 000 01 1 00 046051 Z A,@[G 0,VQ-10(B)]
4095 046012 000 01 1 00 046053 Z A,@[G 0,@[L VQ]]
4096 046013 000 01 1 00 046054 Z A,@[G 3,@[L VQ]]
4097 046014 000 01 1 00 046055 Z A,@[G 0,@[L VQ]-10(B)]
4098 046015 000 01 1 00 046057 Z A,@[G 36,@[G 3,VQ]]
4099 000016 AMODLN==.-AMODTB
4100 046016 BLOCK 10 ;LEAVE EXTRA ROOM
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 76
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0124
4101
4102 ; **********************************************************************
4103 ;*LGCASE - HERE IS THE TABLE STATING WHETHER OR NOT THE ADDRESS GOES
4104 ;* GLOBAL IN THE AMODTB TABLE.
4105 ;* THIS IS A PARALLEL TABLE, AND SHOULD BE UPDATED TOO.
4106 ; **********************************************************************
4107
4108 046026 LGCASE: REPEAT 6,<-1> ;-1 MEANS LOCAL/GLOBAL
4109 046026 777777 777777
4110 046027 777777 777777
4111 046030 777777 777777
4112 046031 777777 777777
4113 046032 777777 777777
4114 046033 777777 777777
4115 REPEAT ^D8,<0> ;0 MEANS GLOBAL ONLY
4116 046034 000000 000000
4117 046035 000000 000000
4118 046036 000000 000000
4119 046037 000000 000000
4120 046040 000000 000000
4121 046041 000000 000000
4122 046042 000000 000000
4123 046043 000000 000000
4124
4125 IFN <.-LGCASE-AMODLN>,<PRINTX LCGASE AND AMODTB NOT SAME LENGTH>
4126
4127 046044 LIT ;PUT ADDRESS CHAIN LITERALS IN SAME PAGE
4128 046044 400 00 0 00 043000
4129 046045 400 00 0 02 042770
4130 046046 400 00 1 00 046044
4131 046047 0 0 00 0000 043000
4132 046050 400 00 1 00 046047
4133 046051 0 0 02 0000 042770
4134 046052 400 00 1 00 046051
4135 046053 0 1 00 0000 046044
4136 046054 0 1 00 0003 046044
4137 046055 0 1 02 0000 046034
4138 046056 0 0 00 0003 043000
4139 046057 0 1 00 0003 046056
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 77
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0125
4140
4141 ; **********************************************************************
4142 ;*CASTAB - HERE IS THE TABLE CONTAINING THE NUMBER OF CASES TO TRY FOR
4143 ;* EACH INSTRUCTION.
4144 ; **********************************************************************
4145
4146 046060 000000 000340 CASTAB: 2*NSECS*2*AMODLN ;CASES FOR MOVE
4147 046061 000000 001200 NSECS*NSECS*2*2*2*BLNTLN ;CASES FOR BLT
4148 046062 000000 017000 NSECS*NSECS*NSECS*XBLTBL*2*2*2*XBLNTL ;CASES FOR XBLT
4149 046063 000000 000340 2*NSECS*2*AMODLN ;CASES FOR PUSH
4150 046064 000000 003400 NSECS*NSECS*2*AMODLN*BMODLN ;CASES FOR LDB
4151
4152 ; ************************************************
4153 ;*PAGE STORAGE
4154 ; ************************************************
4155 LALL
4156 .PGE MAP0^
4157 047000 LOC <.!777>+1
4158 000047 MAP0: MAP0PN= <MAP0_-^D9>
4159 ^
4160 .PGE MAP1^
4161 050000 LOC <.!777>+1
4162 000050 MAP1: MAP1PN= <MAP1_-^D9>
4163 ^
4164 .PGE MAP2^
4165 051000 LOC <.!777>+1
4166 000051 MAP2: MAP2PN= <MAP2_-^D9>
4167 ^
4168 .PGE MAP3^
4169 052000 LOC <.!777>+1
4170 000052 MAP3: MAP3PN= <MAP3_-^D9>
4171 ^
4172 .PGE MAP4^
4173 053000 LOC <.!777>+1
4174 000053 MAP4: MAP4PN= <MAP4_-^D9>
4175 ^
4176 .PGE MAP5^
4177 054000 LOC <.!777>+1
4178 000054 MAP5: MAP5PN= <MAP5_-^D9>
4179 ^
4180 .PGE MAP6^
4181 055000 LOC <.!777>+1
4182 000055 MAP6: MAP6PN= <MAP6_-^D9>
4183 ^
4184 .PGE MAP7^
4185 056000 LOC <.!777>+1
4186 000056 MAP7: MAP7PN= <MAP7_-^D9>
4187 ^
4188 .PGE MAPX^
4189 057000 LOC <.!777>+1
4190 000057 MAPX: MAPXPN= <MAPX_-^D9>
4191 ^
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 78
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0126
4192
4193 .PGE P1^
4194 060000 LOC <.!777>+1
4195 000060 P1: P1PN= <P1_-^D9>
4196 ^
4197 .PGE P2^
4198 061000 LOC <.!777>+1
4199 000061 P2: P2PN= <P2_-^D9>
4200 ^
4201 .PGE P3^
4202 062000 LOC <.!777>+1
4203 000062 P3: P3PN= <P3_-^D9>
4204 ^
4205 .PGE P4^
4206 063000 LOC <.!777>+1
4207 000063 P4: P4PN= <P4_-^D9>
4208 ^
4209 .PGE P5^
4210 064000 LOC <.!777>+1
4211 000064 P5: P5PN= <P5_-^D9>
4212 ^
4213 .PGE P6^
4214 065000 LOC <.!777>+1
4215 000065 P6: P6PN= <P6_-^D9>
4216 ^
4217 .PGE P7^
4218 066000 LOC <.!777>+1
4219 000066 P7: P7PN= <P7_-^D9>
4220 ^
4221 .PGE VD1 ^;VIRTUAL DESTINATION PAGE 1
4222
4223 067000 LOC <.!777>+1
4224 000067 VD1: VD1PN= <VD1_-^D9>
4225
4226 .PGE PD1 ^;PHYS DEST PAGE 1
4227
4228 070000 LOC <.!777>+1
4229 000070 PD1: PD1PN= <PD1_-^D9>
4230
4231 .PGE VS1 ^;VIRTUAL SRC PAGE 1
4232
4233 071000 LOC <.!777>+1
4234 000071 VS1: VS1PN= <VS1_-^D9>
4235
4236 071000 BPDATA==.
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 79
DFKECM MAC 4-Sep-81 15:22 STORAGE SPECIFIC TO THE PXCT TEST SEQ 0127
4237
4238 .PGE PS1 ^;PHYS SRC 1
4239
4240 072000 LOC <.!777>+1
4241 000072 PS1: PS1PN= <PS1_-^D9>
4242
4243 .PGE VD2 ^;VIRT DST 2
4244
4245 073000 LOC <.!777>+1
4246 000073 VD2: VD2PN= <VD2_-^D9>
4247
4248 .PGE PD2 ^;PHYS DST 2
4249
4250 074000 LOC <.!777>+1
4251 000074 PD2: PD2PN= <PD2_-^D9>
4252
4253 .PGE VS2 ^;VIRT SRC 2
4254
4255 075000 LOC <.!777>+1
4256 000075 VS2: VS2PN= <VS2_-^D9>
4257
4258 .PGE PS2 ^;PHYS SRC 2
4259
4260 076000 LOC <.!777>+1
4261 000076 PS2: PS2PN= <PS2_-^D9>
4262
4263 .PGE FOO ^;FOR STUFF THAT IS DEFINED AFTER HERE...
4264
4265 077000 LOC <.!777>+1
4266 000077 FOO: FOOPN= <FOO_-^D9>
4267
4268 SALL
DFKEC DECSYSTEM KL10 PXCT DIAGNOSTIC, VER 0,2 MACRO %53(1026) 16:00 4-Sep-81 Page 1
STOR KLM 18-Sep-79 17:18 *STOR* RESERVED STORAGE, SEPT 18,1979 SEQ 0128
4269 SUBTTL *STOR* RESERVED STORAGE, SEPT 18,1979
4270
4271 ;PROGRAM LITERALS
4272
4273 XLIST
4274 IFNDEF $LPAPER,<LIST>
4275 077000 LIT
4276 LIST
4277 077000 000000 000000 ENDSLD: 0
4278
4279 IFDEF DEBUG,<
4280 077001 PATCH: BLOCK DEBUG ;PATCHING AREA
4281 >
4282
4283 ;PROGRAM VARIABLES
4284 077101 VAR
4285
4286 IFDEF PGMEND,<
4287 077102 000000 000000 END: 0
4288 030000 END BEGIN >
NO ERRORS DETECTED
PROGRAM BREAK IS 000000
ABSOLUTE BREAK IS 077103
CPU TIME USED 00:14.784
24P CORE USED
A 69# 70 830 831 832 833 839 841 844 847 859 914 915 920
928 936 938 954 957 959 961 969 981 986 995 1006 1013 1016 SEQ 0129
1022 1025 1038 1039 1082 1083 1101 1102 1119 1120 1125 1132 1136 1144
1145 1147 1148 1158 1160 1165 1168 1171 1172 1175 1176 1178 1179 1182
1183 1185 1186 1189 1192 1193 1195 1196 1199 1202 1203 1206 1207 1214
1225 1228 1230 1232 1233 1234 1239 1241 1247 1257 1260 1262 1264 1265
1266 1271 1272 1280 1283 1292 1294 1295 1298 1300 1308 1309 1327 1328
1338 1340 1355 1357 1378 1379 1386 1391 1395 1399 1403 1413 1414 1416
1417 1419 1420 1423 1424 1425 1431 1433 1438 1443 1444 1445 1446 1449
1457 1458 1463 1465 1470 1473 1474 1475 1476 1479 1483 1484 1487 1488
1496 1499 1508 1509 1511 1520 1521 1528 1535 1536 1537 1548 1549 1552
1553 1556 1557 1571 1572 1574 1575 1580 1585 1589 1591 1595 1613 1615
1622 1624 1629 1630 1634 1642 1644 1659 1660 1665 1673 1681 1682 1698
1700 1702 1704 1712 1724 1728 1737 1748 1755 1757 1762 1765 1774 1779
1792 1805 1806 1824 1825 1833 1834 1838 1859 1860 1878 1879 1896 1897
1901 1909 1912 1915 1916 1937 1939 1940 1942 1947 1954 1955 1959 1961
1963 1966 1969 1972 1977 1979 1988 1989 1990 1992 1999 2000 2018 2019
2023 2027 2028 2044 2047 2049 2050 2057 2058 2076 2077 2085 2086 2089
2112 2114 2121 2122 2126 2127 2129 2130 2138 2139 2141 2142 2144 2145
2147 2150 2153 2154 2155 2157 2158 2160 2161 2163 2164 2167 2168 2177
2180 2181 2182 2184 2185 2187 2188 2199 2200 2202 2203 2205 2208 2209
2210 2211 2215 2216 2219 2220 2223 2225 2231 2247 2249 2252 2263 2264
2270 2289 2290 2298 2305 2314 2324 2331 2338 2343 2344 2351 2359 2369
2376 2383 2388 2389 2396 2406 2411 2412 2419 2422 2429 2432 2442 2447
2448 2466 2467 2470 2471 2477 2480 2482 2483 2484 2487 2488 2490 2491
2493 2495 2496 2498 2499 2501 2502 2504 2506 2507 2509 2511 2512 2524
2532 2546 2547 2548 2549 2551 2552 2553 2570 2571 2573 2574 2580 2581
2589 2593 2594 2597 2598 2604 2605 2607 2608 2609 2611 2612 2614 2615
2616 2619 2642 2647 2650 2653 2654 2655 2657 2702 2705 2706 2708 2709
2711 2719 2852 2854 2856 2860 2863 2866 2868 2869 2870 2871 2872 2903
2905 2909 2917 2937 2957 2958 2959 2961 2965 2967 2968 2970 2971 3109
3111 3115 3117 3120 3123 3124 3127 3136 3141 3145 3146 3148 3151 3154
3156 3157 3158 3161 3162 3165 3255 3280 3292 3301 3303 3321 3326 3336
4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098
ABORT 217#
ACCESS 132# 133 2525 2947 2958
ADRCH2 3113 3120#
ADRCHN 3108# 3179 3219 3238
ADRLOP 3115# 3124
ALLOW1 3500#
ALTMGO 571#
AMAP 966 1709 1934 3321#
AMOD 1025 1765 4076# 4076
AMODLN 928 1673 1912 4099# 4125 4146 4149 4150
AMODPN 1026 1766 3328 4076#
AMODTB 936 1681 1915 3326 4085# 4099
ANXM 485#
APR 189
APRIDE 3548#
AROV 485#
AROVU 485#
AST 686#
ATSIN 687#
B 70# 71 921 922 923 924 929 935 936 951 983 998 1001 1020
1023 1035 1041 1043 1044 1057 1058 1079 1085 1087 1088 1126 1127 1131 SEQ 0130
1133 1134 1137 1138 1150 1151 1152 1159 1161 1174 1175 1213 1215 1216
1220 1233 1235 1246 1248 1253 1265 1267 1275 1276 1286 1287 1291 1292
1305 1311 1313 1314 1333 1336 1344 1348 1361 1363 1387 1388 1390 1392
1393 1396 1397 1400 1401 1404 1405 1422 1423 1427 1428 1429 1439 1449
1450 1461 1479 1480 1499 1500 1504 1511 1512 1516 1527 1539 1540 1542
1543 1545 1546 1583 1591 1595 1600 1601 1605 1606 1615 1616 1620 1624
1625 1630 1634 1642 1644 1666 1667 1668 1669 1674 1680 1681 1695 1726
1740 1743 1761 1763 1780 1781 1786 1787 1788 1790 1791 1792 1795 1797
1798 1802 1808 1810 1811 1856 1862 1864 1865 1902 1903 1910 1913 1915
1919 1920 1921 1922 1948 1949 1973 1992 1993 1997 2002 2004 2005 2055
2060 2062 2063 2109 2119 2138 2141 2144 2150 2151 2154 2181 2187 2190
2199 2202 2208 2210 2213 2228 2263 2270 2273 2275 2276 2277 2278 2299
2303 2331 2343 2376 2388 2411 2422 2432 2447 2526 2532 2538 2590 2618
2643 2645 2646 2647 2648 2703 2704 2712 2720 2851 2864 2871 2905 2906
2908 2913 2938 2942 2945 2948 2962 2966 2970 3137 3138 3140 3142 3143
3147 3167 3255 3256 3258 3259 3279 3280 3281 3284 3286 3287 3290 3291
3293 3295 3296 3299 3300 3302 3305 3313 3322 3327 3335 4086 4088 4089
4092 4094 4097
BADUO1 2665 2668#
BADUUO 2651 2665#
BEGEND 567# 894 900
BEGIN 47 48 432 433 498# 4288
BEGIN1 514# 568
BELL 690#
BIS 485#
BLACWD 1175 1423 1427 3477#
BLEASC 1138 1171 1213 1246 1261 1267 3466#
BLNTLN 1125 3443# 4147
BLSTOP 1151 3468#
BLT1 1276 1333 1336 3473#
BLT10 1180 1189#
BLT2 1287 1344 1348 1361 1363 3474#
BLT20 1190 1199#
BLT30 1192# 1200
BLT50 1187 1197 1202#
BLTAC 1176 1183 1193 1218 1250 1272 1291 1327 3187 3482#
BLTDSP 3185# 3398
BLTNTB 1126 3438# 3443
BLTYPE 1134 1150 1174 1393 1422 3475#
BMOD 4063# 4063
BMODLN 1909 4071# 4150
BMODPN 4063#
BMODTB 1921 4067# 4071
BP 1990 2044 3242 3588#
BPBYTE 1993 2019 2023 2086 2089 3589#
BPCXT 1945 3587#
BPDATA 1985 1989 2028 2032 2049 2076 2081 4236#
BPEA 1969 1973 1974 3586#
BPLG 1965 1967 3590#
BPMOD 1910 1919 3489#
BPSEC 1949 1958 3465#
C 71# 72 938 939 941 942 950 951 953 956 960 1002 1003 1005
1026 1036 1041 1043 1069 1070 1080 1085 1087 1163 1218 1219 1222 1223 SEQ 0131
1232 1236 1250 1251 1254 1255 1264 1268 1278 1306 1311 1313 1329 1440
1453 1454 1457 1462 1487 1505 1517 1529 1581 1586 1614 1623 1682 1683
1685 1686 1694 1695 1697 1699 1703 1744 1745 1747 1766 1783 1803 1808
1810 1845 1846 1857 1862 1864 1916 1917 1924 1925 1929 1930 1951 1974
1998 2002 2004 2042 2043 2056 2060 2062 2110 2114 2117 2130 2131 2137
2197 2224 2227 2272 2279 2300 2304 2317 2362 2525 2713 2721 2850 2909
2910 2912 2914 2939 2955 2963 2971 3147 3148 3150 3151 3153 3154 3160
3161 3166 3167 3169 3170 3172 3268 3269 3276 3277 3284 3285 3286 3290
3292 3293 3294 3295 3299 3301 3302 3303 3306 3314 3323 3328 3334
CACB 111# 3154 3161
CASE 885 914 1119 1378 1659 1896 3080 3486#
CASECK 963 1706 1931 3255#
CASTAB 915 1120 1379 1660 1897 4146#
CBR 120# 2562
CCA 188 485#
CCS 954 1020 1161 1698 1761 1781 2702 2712 3072 3463#
CHAIN 237#
CHGBYT 2046# 2051
CHKM1 2903# 2924
CHKM2 2915 2922#
CHKM3 2905# 2917
CHNCHR 2124 2155 2182 2211 3115 3117 3596#
CHNOFF 485#
CHNON 485#
CHNPTR 2117 2153 2180 2209 3123 3594#
CHNTAB 2119 2122 2154 2181 2210 3120 3595#
CLK 485#
CLKCLR 485#
CLKDIS 485#
CLKENB 485#
CLKU 485#
CLOCKF 553#
CLRPGS 918 1123 1382 1663 1900 2518 2540 2589#
CNTLC 570#
COMMA 679#
COMMAP 3270 3279#
CONSW 554#
CPOPJ 574#
CPOPJ1 204 572# 3256 3262
CRACWR 2376#
CRLF 367 368 674#
CRLF2 371 372 676#
CRY0 485#
CRY1 485#
CSHFLG 733#
CSHMEM 734#
CST 2532 2562 2951 2952 2968 3998# 3998
CSTDAT 119# 2558
CSTMSK 118# 2557
CSTPN 3998#
CURACB 2732 2766 2797 2808 3158 3163 3530#
CURACS 2331#
CURMEM 2325 2338# SEQ 0132
CURMWR 2370 2383#
CURNTA 3523#
CXREAD 1331 1342 1359 1582 1587 1619 1628 2245 2314#
CXWRIT 1279 1289 1506 1518 1530 2301 2359#
CYCL60 727#
D 72# 73 1491 1492 1494 1522 1577 1590 1609 1638 2859 2861 2865 2868
2869 2888 2950 2951 2952 2968
DCK 485#
DDTLNK 251# 512
DDTSRT 49 50 51 512#
DEBUG 44# 4279 4280
DECVER 4# 10 29 533
DF22F 638#
DIAGMN 501#
DIECHK 3100#
DING 223#
DISFLG 3556#
DOLLAR 693#
DOPXCT 1048 1092 1318 1562 1815 1869 2009 2067 2700#
DSKUPD 538
DSTADD 1251 1253 1260 3571#
DSTCXT 1244 1329 1468 1517 1529 1586 1623 1777 3576#
DSTPG1 1255 1268 3565#
DSTSEC 1328 1339 1356 1780 1786 1794 3568#
E 73# 74 1497 1509 1521 2877 2878 2883 2886
EACALC 968 1711 1936 1962 2109#
EACCXT 2131 2255 2292 2300 3573#
EADONE 2171 2223#
ELOOP 932# 1054 1063 1098 1105 1141# 1324 1349 1352 1364 1410# 1568 1596 1635
1645 1677# 1821 1830 1839 1875 1883 1906# 2015 2024 2033 2073 2082 2090
EMAP 2260 2267 2340 2385 3276#
EMAPRR 3282 3288 3297 3313#
EMER.P 2640 2811 3537#
END 4287#
ENDFIX 813#
ENDSLD 4277#
EPT 107# 146 2509 2511
ERMORE 587#
ERRDIE 3100 3542#
ERRFLG 2632 2700 3044 3417#
ERRPC 558#
ERRTLS 559# 826 893 897 3045
ERSTOP 226#
ESECP 2512 2604 2859 2865 2892 2906 2945 3277 3408#
EXCASB 40# 536
EXECAC 951 1043 1057 1062 1087 1292 1313 1540 1543 1546 1695 1792 1810 1833
1864 1930 2004 2018 2023 2062 2085 2089 2150 2208 2331 2376 2738 2740
2768 2769 2770 3545#
EXIOT 485#
EXREAD 2324# 2440
EXWRIT 2369# 2404
F 74# 76 837 842 845 850 853 854 857 860 862 863 864 867
873 874 877 2133 2134 2478 2479 2486 2494 2505 2510 2878 2879 2880 SEQ 0133
FATAL0 3429#
FATAL1 2983 2986#
FATALA 2981 2996 3430#
FATALP 155 2980#
FFFF1 2282# 2285
FFFF2 2283 2289#
FOO 4266# 4266
FOOPN 4266#
FOV 485#
FOVU 485#
FRDLNK 249#
FSELNK 248#
FSTBAD 1345 1352#
FXU 485#
GCASEN 866 2742 3487#
GLBL00 2190 2197#
GLBL02 2161 2215#
GLBL03 2206 2219#
GOODF 867 873 2133 2478 3511#
GOODP 828 835 3519#
GOTONE 2898 2920 2932#
HYPEN 684#
I 2142 2170 2188 2192 3505#
ICHECK 2170# 2221
INDCNT 2127 2173 3507#
INDMAX 125# 2126
INHCSH 234#
INHPAG 231#
INXM 485#
IOCLR 485#
ITERAT 45# 531
ITRCH1 591#
ITRCNT 531#
JOB41 485#
JOBAPR 485#
JOBCNI 485#
JOBDDT 485#
JOBFF 485#
JOBOPC 485#
JOBREL 485#
JOBREN 485#
JOBSA 485#
JOBSYM 485#
JOBTPC 485#
JOBUSY 485#
JOBUUO 485#
JOBVER 485#
KA10 485
KAHZ50 239#
KAIFLG 548#
KI10 485
KL10 42# 485
KL10P0 485 SEQ 0134
KL10X 92# 95 860 2479
KLAKLB 93# 857 2494 2505 2510
KLFLG 549#
KLOLD 447
KLPAGF 129# 2744
KLPGNG 89# 95 842 853 874 877
KLPSET 878 2459#
KLXCON 95# 862 863
KLXTST 88# 864 2134 2486
LAPRAL 485#
LAPRP1 485#
LAPRP2 485#
LAPRP3 485#
LAPRP4 485#
LAPRP5 485#
LAPRP6 485#
LAPRP7 485#
LAROVT 485#
LBLNTB 1902 3457# 3461
LBLNTL 1901 3461#
LCASDE 485#
LCASLD 485#
LCASLO 485#
LCASWB 485#
LCASWD 485#
LCCASD 485#
LCHNOF 485#
LCHNON 485#
LCIOPF 485#
LCNTRP 485#
LCNXER 485#
LCPAER 485#
LCPWRF 485#
LCSBER 485#
LCSLOA 485#
LCSLOO 485#
LCTRP 485#
LCWSX 485#
LDATAF 485#
LDBDSP 3238# 3401
LDBLOC 1956 1961#
LDCASD 485#
LDIOPF 485#
LDLNK 250# 501 503
LDNXER 485#
LDPAER 485#
LDPWRF 485#
LDSBER 485#
LECASD 485#
LEIOPF 485#
LENXER 485#
LEPAER 485#
LEPWRF 485# SEQ 0135
LESBER 485#
LEUPFW 485#
LEVNCD 485#
LEVNPA 485#
LEVNPD 485#
LEXCMP 485#
LFLGCL 485#
LFLGDS 485#
LFLGEN 485#
LFLGST 485#
LFP 688#
LGCASE 3259 4108# 4125
LINSTF 485#
LINT 485#
LIOCLR 485#
LIOPFE 485#
LK1 2878# 2886
LKNTRP 485#
LKTRP 485#
LLACBL 485#
LLDUSB 485#
LLPRCN 485#
LMUUO 485#
LMUUOP 485#
LNXMEN 485#
LNXMER 485#
LOCGBL 992 1734 2230 2232 3088 3090 3584#
LOCL00 2137# 2185 2193
LOCL02 2158 2163#
LOCL03 2148 2167#
LOCREF 101# 2137 2197 2224 2225 2231
LOOPER 225#
LPAREN 485#
LPARER 485#
LPDOVT 485#
LPFWPC 485#
LPGFTR 485#
LPICH1 485#
LPICH2 485#
LPICH3 485#
LPICH4 485#
LPICH5 485#
LPICH6 485#
LPICH7 485#
LPICHA 485#
LPICLR 485#
LPIIP1 485#
LPIIP2 485#
LPIIP3 485#
LPIIP4 485#
LPIIP5 485#
LPIIP6 485#
LPIIP7 485# SEQ 0136
LPIOFF 485#
LPION 485#
LPNTRP 485#
LPRCH1 485#
LPRCH2 485#
LPRCH3 485#
LPRCH4 485#
LPRCH5 485#
LPRCH6 485#
LPRCH7 485#
LPTRP 485#
LPWRFE 485#
LPWRFL 485#
LREQSE 485#
LRQCLR 485#
LSBSEN 485#
LSBUSE 485#
LSCASD 485#
LSECMO 485#
LSIOPF 485#
LSMODE 485#
LSNTRP 485#
LSNXER 485#
LSPAER 485#
LSPWRF 485#
LSSBER 485#
LSTRP 485#
LTRP3T 485#
LTRPAE 485#
LTRPEN 485#
LUSCMP 485#
LUUO 485#
LUUO1 155# 618 619
LUUO10 618 623
LUUO11 618 623
LUUO12 618 624
LUUO13 618 624
LUUO14 618 625
LUUO15 618 625
LUUO16 618 626
LUUO17 618 626
LUUO2 618 620
LUUO20 618 627
LUUO21 618 627
LUUO22 618 628
LUUO23 618 628
LUUO24 618 629
LUUO25 618 629
LUUO26 618 630
LUUO27 618 630
LUUO3 618 620
LUUO30 618 631
LUUO31 618 631 SEQ 0137
LUUO32 618 632
LUUO33 618 632
LUUO4 618 621
LUUO5 618 621
LUUO6 618 622
LUUO7 618 622
LUUOI 485#
LWRITE 485#
MADP 2502 3412#
MAP0 2592 2593 4158# 4158
MAP0PN 4158#
MAP1 2594 4162# 4162
MAP1PN 2901 4162#
MAP2 4166# 4166
MAP2PN 4166#
MAP3 4170# 4170
MAP3PN 4170#
MAP4 4174# 4174
MAP4PN 4174#
MAP5 4178# 4178
MAP5PN 4178#
MAP6 4182# 4182
MAP6PN 4182#
MAP7 4186# 4186
MAP7PN 4186#
MAPNEW 639#
MAPX 4190# 4190
MAPXPN 4190#
MARGIN 561#
MAXSEC 123# 3281
MCNVER 3# 10 29 533
MCODP 2496 2645 2653 2655 2659 2675 3410#
MEMLOW 641#
MEMMAP 539
MEMSIZ 642#
MEMTOT 640#
MINUS 683#
MODDVC 233#
MODDVL 432 432# 534
MODDVU 433 433# 535
MODLNK 252# 498
MONCTL 551#
MONFLG 550#
MONTEN 552#
MONTYP 765#
MOPP 2499 2680 3411#
MOVDSP 3178# 3397
MPVU 485#
MUOCNI 2785# 2792
MUODTI 2786# 2795
MUUOH 2570 2792#
MUUOH2 2639# 2798
MYACS 113# 832 2552 3147 3153 SEQ 0138
NEWSP 1798 1834 1838 3227 3582#
NOCHG 1590 1642#
NOPNT 221#
NOQ 2881 2886#
NOSTAC 127#
NPAGES 124# 2280 2594 2877 2900
NREMOB 2857 2866 2884 2890#
NSECS 1136 1399 1403 3136 3436# 4146 4147 4148 4149 4150
NWACC 133#
NXMU 485#
OLDDST 1770 3579#
OLDSP 1791 3223 3581#
OLDSRC 975 1058 1062 1101 1104 1718 1878 1882 1986 2027 2032 2050 2077 2081
3578#
OPRSEL 235#
OPTIME 653#
P 278 279 280 281 485# 573 828 835 912 1117 1376 1657 1894 2275
2298 2299 2629 2639 2640 2658 2810 2811 2890 2937 2938 2939 3006 3007
3009 3010 3011 3012 3013 3014 3015 3016 3023 3024 3025 3026 3027 3028
3029 3030 3032 3033 3382 3385 3388 3391 3394
P1 4195# 4195
P1PN 2282 2289 4195#
P2 4199# 4199
P2PN 4199#
P3 4203# 4203
P3PN 4203#
P4 4207# 4207
P4PN 4207#
P5 4211# 4211
P5PN 4211#
P6 4215# 4215
P6PN 4215#
P7 4219# 4219
P7PN 4219#
PACB 110# 3148
PACBLK 1044 1088 1314 1811 1865 2005 2063 2422 2432 2728 2730 2762 2763 2764
3546#
PACWR 2397 2419#
PAG 485# 830 833 2459 2546 2555 2564 2726 2732 2744 2751 2758 2760 2766
2792 2793 2795 2797 2804 2805 2807 2808 3146 3163
PALERS 227#
PARCLR 485#
PARDIS 485#
PAREA1 58# 529
PAREA2 59# 530
PAREA3 60# 527
PAREA4 61# 528
PAREA5 62# 540
PAREA6 63# 541
PAREA7 540#
PAREA8 541#
PARENB 485#
PARU 485# SEQ 0139
PASCNT 555#
PATCH 4280#
PCS 957 998 1023 1159 1215 1248 1700 1740 1763 2708 3076 3138 3150 3464#
PCSECT 108# 3463
PCSHW 109# 3151
PCSSUB 984# 984 999 1727# 1727 1741 3093
PCU 989 1017 1040 1084 1164 1208 1242 1310 1434 1466 1731 1758 1775 1807
1861 1943 1980 2001 2059 2256 2293 2403 2439 2933 3068 3143 3554#
PCUBIT 137#
PD1 1257 1470 1771 1779 1825 1829 4229# 4229
PD1PN 4229#
PD2 1266 1488 4251# 4251
PD2PN 4251#
PDATA 3509#
PDISF 650#
PDLOVU 485#
PEA 969 983 1002 1152 1168 1172 1186 1196 1202 1294 1417 1712 1726 1744
1937 1948 1963 4030#
PERIOD 680#
PFERR 2622# 2817
PFFLAG 1299 1558 2752 2776 3495#
PFH 2580 2804#
PFH1 2819 2822#
PFHAC2 3484#
PFHACS 3483#
PFHCNI 2783# 2804
PFHDTI 2784# 2805
PFHSPC 1033 1078 1300 1303 1384 1454 1484 1557 1800 1854 1995 2053 2634 2635
3496#
PFIGNR 2631 2718 2779 3048 3051 3541#
PFNPP 2491 2581 3416#
PFOPP 2488 2625 2815 2831 3415#
PFSTRT 507#
PFWP 2482 2622 2827 3413#
PFXJP 2484 3414#
PGMEND 41# 4286
PGMNAM 532 3359#
PHQ 4056# 4056
PHQPN 4056#
PICHN1 485#
PICHN2 485#
PICHN3 485#
PICHN4 485#
PICHN5 485#
PICHN6 485#
PICHN7 485#
PICHNA 485#
PICLR 485#
PIOFF 485#
PION 485#
PL10P0 43#
PLIST 719# 719 3537
PLISTE 719 721# 3537 SEQ 0140
PLISTS 720#
PLUS 685#
PMAPRT 1007 1027 1169 1226 1237 1258 1269 1441 1459 1471 1489 1749 1767 1784
1952 1975 2296 2716 2724 2849# 3331
PMWR 2403#
PNTENB 649#
PNTEXT 528#
PNTFLG 648#
PNTINH 651#
PNTLPT 222#
PNTNAM 527#
PNTSPC 652#
PQ 974 1006 1067 1102 1104 1717 1748 1824 1829 1843 1879 1882 1922 1947
1954 1988 4058#
PREVAC 2353 2429#
PRFLG 3521#
PRINS 3510#
PRVCWR 2363 2396#
PRVCXT 2318 2351#
PRVMEM 2352 2439#
PS1 1225 1438 4241# 4241
PS1PN 4241#
PS2 1234 1458 4261# 4261
PS2PN 4261#
PTLUP 2532# 2538
PUSDSP 3219# 3400
PUSE 2282 2596 2597 2598 2856 2874 2878 2967 2970 2971 3990# 3990
PUSEPN 3990#
PVPAGI 746#
PWFCLR 485#
PX 2711 4021# 4021
PXCTAD 2706 3424#
PXCTBP 4024#
PXCTEA 939 942 1070 1145 1414 1683 1686 1846 1917 1925 2043 4029#
PXCTGO 2709 2745 3170 3423#
PXCTIN 924 1148 1420 1669 1940 4025#
PXCTN 923 953 981 1013 1038 1082 1127 1147 1158 1178 1206 1239 1308 1388
1419 1431 1463 1668 1697 1724 1755 1805 1859 1903 1939 1977 1999 2057
3064 3491#
PXDEA 1001 1003 1203 1743 1745 3084 3592#
PXDISP 1053 1062 1097 1104 1323 1336 1348 1363 1567 1595 1634 1644 1820 1829
1838 1874 1882 2014 2023 2032 2072 2081 2089 2836 3044#
PXDO 2697# 2697
PXDOPN 2697#
PXDSP2 3049 3062#
PXGOBK 4026#
PXPN 4021#
PXRET 4027#
PXRET2 4028#
QUEST 691#
RACCES 131# 132
RADIX 694#
RADLSC 696# SEQ 0141
RADLSP 695#
RANDBS 529# 3345 3349
RANDOM 973 1066 1274 1285 1503 1515 1526 1716 1769 1842 1984 2046 3343#
REENTR 509#
RELIAB 229#
REPT 485#
REPT1 485#
REPTU 607#
REQSET 485#
RES15 2973 3023#
RESDAT 2549 2555 3552#
RESRT1 584#
RESRT2 585#
RETURN 516#
REVBLK 117# 2548
RNDXXA 3346 3354#
RNDXXC 3348 3355#
RSTART 218#
RTP 689#
RUNFLG 556#
S 209# 823#
S0FIX 2758# 4028
S0FIX1 2637 2760#
S0PFIN 1298 1453 1483 1556 2751#
SADR1 47# 505
SADR10 55# 521
SADR11 56# 522
SADR2 48# 507
SADR3 49# 509
SADR5 50# 570
SADR6 51# 571
SADR7 52# 518
SADR8 53# 519
SADR9 54# 520
SAV15 2849 3006#
SAVACS 2734 2735 2736 2772 2774 3544#
SAVETN 886 890 3097 3513#
SAVPFS 2626 3058 3516#
SAVPFW 2623 3054 3515#
SBINIT 291 515#
SCOPE 608#
SECTAB 1137 1400 1404 3137 3432# 3436
SETCXT 926 1129 1407 1671 3136#
SETFLG 948 971 1692 1714 1927 1970 2244 3550#
SFSTRT 505#
SLASH 692#
SM10 796#
SNDCHK 1334 1355#
SPACE 681#
SPTBR 121# 2560
SRCADD 1219 1220 1228 3570#
SRCCXT 1211 1278 1436 1505 1581 1614 1982 3575#
SRCPG1 1223 1236 3564# SEQ 0142
SRCSEC 1216 1229 1235 1271 1282 3567#
SRTDDT 511#
ST1 848 853#
ST2 855 859#
START 499 822#
START1 518#
START2 519#
START3 520#
START4 521#
START5 522#
STARTA 514 873#
SUBLNK 253# 515
SVAC2 1572 1580 1599 1600 1613 3525#
SVAC3 1575 1585 1604 1605 1622 3526#
SWPTAB 802#
SWTEXR 530#
SYSEXR 503#
T 816# 908# 1053 1062 1076# 1097 1104 1113# 1323 1336 1348 1363 1372# 1567
1595 1634 1644 1653# 1820 1829 1838 1852# 1874 1882 1890# 2014 2023 2032
2040# 2072 2081 2089 2665 2819 2983
T0 76# 77 2280 2282 2285 2289
T1 77# 78 2890 2892 2895 2897 2898 2919 2947 2948 2951 2954 2955 2959
T2 78# 79 2854 2855 2856 2874 2883 2900 2924
T3 79# 80 982 990 1014 1018 1164 1166 1205 1209 1211 1240 1243 1244
1432 1435 1436 1464 1467 1468 1725 1732 1756 1759 1773 1776 1777 1941
1944 1945 1978 1981 1982 2292 2294 2714 2722 2891 2894 2932 2934 2935
2941 2944 2967 3324 3329 3333
T4 80# 2874 2875 2880 2901 2913 2914 2919 2922
TAB 682#
TESTP 912 1117 1376 1657 1894 3382 3385 3388 3391 3394 3518#
TESTPC 557# 824 911 1116 1375 1656 1893 2670 2823 2987
TICKS 560#
TMOD 929 935 1674 1680 1913 3258 3490#
TN 82# 884 886 888 890 891 915 1120 1379 1660 1897 3097 3098
TOTALS 219#
TRAPF 128# 2744
TSTLOP 885# 891
TSTTAB 888 3374# 3380
TTABSZ 884 3380#
TTNBRF 740#
TTYFIL 656#
TTYSPD 657#
TXTINH 230#
UCODSP 91# 850
UCODX 90# 95 845 854
UIOBIT 136#
ULPTR 143#
UMAP 2408 2444 3268#
UPT 143 144 2465 2466 2467 2469 2470 2477 2493 2504 2506 3994# 3994
UPTPN 832 2552 3157 3994#
UPWD 2553 2564 3493#
USECP 2507 2611 2861 2895 2910 2942 3269 3409#
USER 547# SEQ 0143
USERF 485#
USRACB 2726 2760 3162 3528#
USRACS 115# 3160
USRASB 537
USRBIT 135# 2654
USRCRF 666#
USRLFF 665#
UUODIS 619#
UUOEXT 575#
UUONPC 144# 2571 2573 2574
UUOPTR 146#
UUORTN 576#
UUOSKP 573#
UUOSPF 3497#
UUPSPC 3499#
VD1 1182 1185 1790 3470 3471 3479 3480 4224# 4224
VD1PN 1783 4224#
VD2 4246# 4246
VD2PN 4246#
VEA 1144 1413 4045#
VPX 2816 4036# 4036
VPXBP 4039#
VPXEA 4025 4044#
VPXGO 4041#
VPXIN 4040#
VPXPN 1163 2703 2713 4036#
VQ 1005 1747 1951 1959 1961 4050# 4050 4085 4086 4087 4088 4089 4090 4091
4092 4093 4094 4095 4096 4097 4098
VQPN 4050#
VRET 4026 4042#
VRET2 4043#
VS1 1192 1972 3477 3478 4067 4070 4234# 4234
VS1PN 4234#
VS2 4256# 4256
VS2PN 4256#
X 2139 2147 2151 2160 2163 2200 2205 2213 2215 3503#
XBDSTS 1405 1428 3559#
XBLAC1 1397 1491 1492 1532 1535 1539 1577 3200 3560#
XBLAC2 1425 1439 1440 1443 1446 1496 1536 1542 1548 1571 3204 3561#
XBLAC3 1429 1461 1462 1473 1476 1497 1528 1537 1545 1552 1574 3208 3562#
XBLDSP 3197# 3399
XBLNOC 1494 1526#
XBLNTB 1387 3445# 3448
XBLNTL 1386 3448# 4148
XBLT1A 1552#
XBLT1B 1550 1556#
XBLTAB 1396 3450# 3455
XBLTBL 1395 3455# 4148
XBSRCS 1401 1424 3558#
XDISP 3098 3397#
XEA 2112 2129 2135 2157 2168 2177 2184 2220 2223 3502#
XXP 2629 2639 2658 2810 3539#
XXR2 2253 2258 2267# SEQ 0144
XXREAD 2115 2178 2244#
Y 2145 2164 2167 2203 2216 2219 3504#
$$MUUO 771#
$$OUTE 777#
$$TAX1 789#
$$TAX2 790#
$$TOGG 783#
$$UUO 760#
$ACC0 598#
$BEND1 568#
$BEND2 569#
$CHRIN 659#
$CRLF 661#
$DEVCH 485#
$DSKUP 538#
$DVCH1 485#
$DVOFF 655#
$EMODE 536#
$FFF 663#
$IBUF 711#
$INEXT 713#
$INNM 712#
$ITRHL 579#
$ITRX1 580#
$LPAPE 4274
$MMAP 539#
$MODVL 534#
$MODVU 535#
$OBUF 702#
$ONETM 562#
$OUTEX 704#
$OUTNM 703#
$PAPER 485
$PARER 586#
$PNAME 532#
$PSHER 590#
$PVER 533#
$RSRTX 582#
$RSRTY 583#
$SPAG1 602#
$START 499#
$SVAPR 600#
$SVPAG 601#
$SVPI 599#
$SVUPC 605# 2991
$SVUUO 604# 2980
$TABF 662#
$TTCHR 658#
$TWCNT 654#
$TYPNB 660#
$UMODE 537#
$UORTX 577#
$USRHL 581# SEQ 0145
$UUOER 578# 619
$VTF 664#
%ACTFL 611#
%ACTUL 612#
%BLT 3385#
%COREC 610#
%CORFL 609#
%DISCR 613#
%ERHI1 752#
%ERHI2 753#
%ERHI3 754#
%LDB 3394#
%MOVE 3374 3382#
%PUSH 3377 3391#
%XBLT 3376 3388#
....%E 3468# 3468 3469# 3469 3470# 3470 3471# 3471 4028# 4028 4091# 4091 4092# 4092
4093# 4093 4094# 4094 4095# 4095 4096# 4096 4097# 4097 4098# 4098
....%I 3468# 3468 3469# 3469 3470# 3470 3471# 3471 4028# 4028 4091# 4091 4092# 4092
4093# 4093 4094# 4094 4095# 4095 4096# 4096 4097# 4097 4098# 4098
....%S 3468# 3468 3469# 3469 3470# 3470 3471# 3471 4028# 4028 4091# 4091 4092# 4092
4093# 4093 4094# 4094 4095# 4095 4096# 4096 4097# 4097 4098# 4098
....%X 3468# 3468 3469# 3469 3470# 3470 3471# 3471 4028# 4028 4091# 4091 4092# 4092
4093# 4093 4094# 4094 4095# 4095 4096# 4096 4097# 4097 4098# 4098
....%Y 3468# 3468 3469# 3469 3470# 3470 3471# 3471 4028# 4028 4091# 4091 4092# 4092
4093# 4093 4094# 4094 4095# 4095 4096# 4096 4097# 4097 4098# 4098
.BLT 1115# 1350 1353 1365 3386
.BLT1 1296 1303#
.BLT2 1301 1305#
.DPB 2042#
.JB41 485#
.JBAPR 485#
.JBCNI 485#
.JBDDT 485#
.JBFF 485#
.JBOPC 485#
.JBREL 485#
.JBREN 485#
.JBSA 485#
.JBSYM 485#
.JBTPC 485#
.JBUSY 485#
.JBUUO 485#
.JBVER 485#
.LDB 1892# 1932 2016 2025 2034 2074 2083 2091 3395
.LDB2 1995#
.MOV10 987 992#
.MOV20 993 996 1001#
.MOVE 910# 964 1055 1064 1099 1106 3383
.MOVE0 928#
.MOVE1 1033#
.MOVE2 1078#
.PSH10 1729 1734#
.PSH20 1735 1738 1743# SEQ 0146
.PUSH 1655# 1707 1822 1831 1840 1876 1884 3392
.PUSH0 1673#
.PUSH1 1800#
.PUSH2 1854#
.XBL04 1451 1457#
.XBL05 1447 1455 1461#
.XBL06 1477 1485 1491#
.XBL07 1481 1487#
.XBL11 1499# 1522
.XBL12 1501 1508#
.XBL13 1513 1520#
.XBL22 1524 1532#
.XBL23 1533 1539#
.XBLT 1374# 1569 1597 1602 1607 1611 1617 1626 1636 1640 1646 3389
.XBLT2 1554 1562#
.XBLT3 1580# 1609
.XBLT4 1578 1613# 1638
APRID 189# 839
CFLUSH 403# SEQ 0147
CINVAL 402#
CLOKOP 397#
CLRPT 187#
CVTBO 199#
CWRTBI 404#
DROPDV 364#
EDIT 198#
ENDUUO 410# 567
EOPUUO 411# 569
ERLOOP 455# 1054 1063 1098 1105 1324 1364 1568 1596 1635 1645 1821 1830 1839
1875 1883 2015 2024 2033 2073 2082 2090
ERLP1 456#
ERLP2 457# 1349 1352
ERRHLT 298#
ERROR 464# 1053 1061 1097 1103 1323 1362 1567 1594 1633 1643 1820 1828 1837
1874 1881 2014 2022 2031 2072 2080 2088
ERROR1 475# 1335 1347 2665 2819 2983
ERUUO 454# 1053 1062 1097 1104 1323 1336 1348 1363 1567 1595 1634 1644 1820
1829 1838 1874 1882 2014 2023 2032 2072 2081 2089 2665 2819 2983
EXTEND 197# 1413
FATAL 297# 2666 2820 2984 3101
FATALE 152# 875 2175 2195 2250 2261 2268 2287 2315 2341 2360 2386 2409 2420
2430 2445 2926
FRD36 439#
FRD8 440#
FREAD 438#
FSELEC 437#
G 170# 3468 3469 3470 3471 4028 4091 4092 4093 4094 4095 4096 4097 4098
GET 281# 1589 1629 2227 2228 2264 2303 2304 2305 2344 2389 2412 2448 2618
2619 2628 2648 2657 2961 2962 2963 3032 3096 3127 3128 3165 3190 3212
3231 3246 3305 3306 3313 3314 3333 3334 3335 3336 3351
GO 278# 878 888 918 926 963 966 968 973 1007 1027 1048 1066 1092
1123 1129 1169 1226 1237 1258 1269 1274 1279 1285 1289 1318 1331 1342
1359 1382 1407 1441 1459 1471 1489 1503 1506 1515 1518 1526 1530 1562
1582 1587 1619 1628 1663 1671 1706 1709 1711 1716 1749 1767 1769 1784
1815 1842 1869 1900 1931 1934 1936 1952 1962 1975 1984 2009 2046 2067
2115 2178 2260 2267 2296 2301 2340 2385 2408 2444 2518 2540 2716 2724
2836 2849 2973 3098 3219 3238 3331
GOEXEC 205# 2650
HALT 283# 588
JEN 285#
JRSTF 284# 3172
L 168# 4087 4088 4089 4090 4091 4092 4095 4096 4097
MAPADR 420#
MAPCNK 421#
MAPMEM 417#
MAPPNT 423#
MAPSET 422#
MEMSEG 419#
MEMZRO 418#
MODPCP 430#
MODPCU 429#
MOVSLJ 200# SEQ 0148
MTROP 398#
NAME 7# 10
PBELL 373#
PCRL 367# 899 3060 3126 3189 3210 3229 3244
PCRL2 371#
PCRL2F 372#
PCRLF 368# 2683 2834 2999
PFORCE 375#
PGMINT 291# 825
PJRST 282# 2245 2318 2352 2353 2363 2397 3179 3397 3398 3399 3400 3401
PMSG 377# 851 896 2678 3053 3057 3062 3089 3091 3094 3112 3116 3118 3178
3186 3199 3203 3207 3222 3226 3241
PMSGF 380# 2668 2673 2822 2826 2830 2986 2990 2994
PNT1 333#
PNT11 347#
PNT11F 348#
PNT1F 334#
PNT2 335#
PNT2F 336#
PNT3 337#
PNT3F 338#
PNT4 339#
PNT4F 340#
PNT5 341#
PNT5F 342#
PNT6 343#
PNT6F 344#
PNT7 345#
PNT7F 346#
PNTA 319#
PNTADF 350#
PNTADR 349#
PNTAF 320#
PNTAL 321#
PNTALF 322# 2997
PNTCHF 332#
PNTCHR 331#
PNTCI 329# 3066 3070 3074 3078 3082
PNTCIF 330#
PNTCW 365#
PNTCWF 366#
PNTDCF 358#
PNTDEC 357#
PNTDS 359#
PNTDSF 360#
PNTHW 353# 3055 3059 3121 3188 3201 3205 3209 3224 3228 3243
PNTHWF 354# 2676 2681 2828 2832 3086
PNTMGN 444#
PNTMSF 326#
PNTMSG 325#
PNTNM 361#
PNTOCF 356# 2671 2824 2988 2992
PNTOCS 355# 898 3065 3069 3073 3077 3081 SEQ 0149
PNTOCT 351#
PNTOTF 352#
PNTSIX 362#
PNTSXF 363#
PSIXL 323#
PSIXLF 324#
PSIXM 327# 851 896 2679 3053 3057 3062 3089 3091 3094 3112 3116 3118 3178
3186 3199 3203 3207 3222 3226 3241
PSIXMF 328# 2669 2674 2822 2826 2830 2986 2990 2994
PSP 369#
PSPF 370#
PUT 280# 1583 1620 2109 2110 2247 2272 2273 2338 2383 2406 2442 2589 2590
2642 2643 2813 2850 2851 2852 3007 3047 3108 3109 3145 3185 3197 3221
3240 3268 3276 3279 3321 3322 3323 3324 3343
PXCT 203# 4025
REPTUO 458#
RTN 279# 575 916 1121 1380 1661 1898 2234 2265 2306 2332 2345 2377 2390
2413 2423 2433 2449 2582 2620 2684 2777 2781 2838 2974 3000 3017 3034
3102 3129 3169 3191 3213 3232 3247 3260 3315 3337 3352 3375 3378
RTNSKP 204# 1325 2780 3307
S 209
SFM 195#
SIXBTZ 386# 816 908 1076 1113 1372 1653 1852 1890 2040
SWITCH 392#
SWPIA 188#
TTALTM 313#
TTICHR 306#
TTICLR 316#
TTICNV 311#
TTIDEC 310#
TTINO 308#
TTIOCT 309#
TTIYES 307#
TTLOOK 312#
TTSIXB 314#
TTYINP 315#
XBLT 201# 1416
XJEN 193#
XJRSTF 192# 2659 2745 4026
XMOVEI 191# 2580
XPCW 194#
.PGE 157# 2694 3988 3992 3996 4018 4033 4047 4053 4060 4073 4156 4160 4164
4168 4172 4176 4180 4184 4188 4193 4197 4201 4205 4209 4213 4217 4221
4226 4231 4238 4243 4248 4253 4258 4263