Google
 

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