Google
 

Trailing-Edge - PDP-10 Archives - BB-BL69D-SB_1986 - klx.mcr
There are 4 other files named klx.mcr in the archive. Click here to see a list.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page TOC-1
; 							Table of Contents					

; 1		KLX.MIC[4,24]	15:48 8-Mar-86
; 1	KL10 Microcode with KL Paging
; 12		EDHIS.MIC[4,24]	12:02 29-May-86
; 29	REVISION HISTORY
; 1228		DEFINE.MIC[4,24]	16:58 23-May-86
; 1229	CONDITIONAL ASSEMBLY VARIABLE DEFINITIONS
; 1316	HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS
; 1519	MICROCODE LISTING TEMPLATE
; 1570	KL10 INSTRUCTION OPCODE MAP
; 1626	CONTROL RAM DEFINITIONS -- J, AD
; 1682	CONTROL RAM DEFINITIONS -- DATA PATH MIXERS
; 1750	CONTROL RAM DEFINITIONS -- 10-BIT LOGIC
; 1783	CONTROL RAM DEFINITIONS -- SHIFT, ARMM, VMA, TIME
; 1815	CONTROL RAM DEFINITIONS -- MEM SPECIAL FUNCTIONS
; 1838	CONTROL RAM DEFINITIONS -- SKIP/COND SPECIAL FUNCTIONS
; 1918	CONTROL RAM DEFINITIONS -- DISP/SPEC SPECIAL FUNCTIONS
; 1963	CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD
; 2255	DISPATCH RAM DEFINITIONS
; 2308		MACRO.MIC[4,24]	11:59 29-May-86
; 2309	CRAM Macros--Miscellaneous and A
; 2348	CRAM Macros--AR
; 2572	CRAM Macros--AR Miscellaneous, ARL, and ARR
; 2651	CRAM Macros--ARX
; 2760	CRAM Macros--B, C, D
; 2839	CRAM Macros--E, F
; 2935	CRAM Macros--G, H, I, J, L
; 3043	CRAM Macros--M, N, O, P
; 3155	CRAM Macros--R
; 3211	CRAM Macros--S
; 3415	CRAM Macros--T, U, V, W, X
; 3506	DRAM Macros
; 3577		BASIC.MIC[4,24]	11:56 29-May-86
; 3578	THE INSTRUCTION LOOP
; 3679	NEXT INSTRUCTION DISPATCH
; 3810	EFFECTIVE ADDRESS COMPUTATION AND OPERAND FETCH
; 3847	WAIT FOR (E)
; 3891	TERMINATION
; 3944	MOVE GROUP, EXCH, XMOVEI, XHLLI
; 3998	Physical MOVE Instructions--PMOVE, PMOVEM
; 4027	DMOVE, DMOVN, DMOVEM, DMOVNM
; 4083	HALFWORD GROUP
; 4227	BOOLEAN GROUP
; 4374		SKPJMP.MIC[4,24]	11:57 29-May-86
; 4375	TEST GROUP
; 4483	COMPARE -- CAI, CAM
; 4509	ARITHMETIC SKIPS -- AOS, SOS, SKIP
; 4559	CONDITIONAL JUMPS -- JUMP, AOJ, SOJ, AOBJ
; 4615	AC DECODE JUMPS -- JRST
; 4722	HALT LOOP
; 4746	AC DECODE JUMPS -- JFCL
; 4764	MAP
; 4789	STACK INSTRUCTIONS -- PUSHJ, PUSH, POP, POPJ
; 4864	SUBROUTINE CALL/RETURN -- JSR, JSP, JSA, JRA
; 4897	UUO'S
; 5112	JSYS, ADJSP, XCT, PXCT
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page TOC-2
; 							Table of Contents					

; 5151		SHIFT.MIC[4,24]	16:52 3-Apr-86
; 5152	Rotate and Logical Shift -- LSH, ROT
; 5199	Rotate and Logical Shift Combined (ROTC, LSHC)
; 5245	Arithmetic Shifts (ASH, ASHC) and JFFO
; 5339		ARITH.MIC[4,24]	16:07 19-Mar-86
; 5340	ADD, SUB
; 5365	MUL, IMUL
; 5421	MULTIPLY SUBROUTINE
; 5469	DIV, IDIV
; 5522	INTEGER DIVIDE SUBROUTINE
; 5585	BASIC DIVIDE LOOP
; 5634	DOUBLE INTEGER ARITHMETIC -- DADD, DSUB, DMUL, DDIV
; 5752		FP.MIC[4,24]	15:33 8-Feb-86
; 5753	SINGLE FLOATING ADD & SUB -- FAD, FADR, FSB, FSBR
; 5833	SINGLE FLOATING MULTIPLY -- FMP, FMPR
; 5877	SINGLE FLOATING DIVIDE -- FDV, FDVR
; 6004	UFA, DFN, FSC
; 6055	FIX, FIXR, FLTR
; 6101	SINGLE PRECISION FLOATING NORMALIZATION
; 6242	DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV
; 6371	DOUBLE PRECISION NORMALIZATION
; 6417		EXTEXP.MIC[4,24]	15:33 8-Feb-86
; 6418	GFLT DOUBLE PRECISION ARITHMETIC
; 6536	GFLT MULTIPLY
; 6583	GFLT DIVIDE
; 6626	GFLT NORMALIZATION
; 6769	GFLT TO INTEGER CONVERSION
; 6895	GFLT DATA CONVERSION INSTRUCTIONS
; 7104		BLT.MIC[4,24]	16:34 23-May-86
; 7105	BLT - Neatly Optimized
; 7241	XBLT--Also Neatly Modernized
; 7333		BYTE.MIC[4,24]	17:29 14-Mar-86
; 7334	Single Byte Instructions:  ILDB, LDB
; 7451	Single Byte Instructions:  DPB, IDPB
; 7558	Single Byte Instructions:  IBP, ADJBP
; 7765	Subroutines for Single Byte Instructions
; 7933		BYTSUB.MIC[4,24]	14:19 22-May-86
; 7934	BYTE GROUP -- Some Old Style Subroutines
; 7943	INCREMENT BYTE POINTER SUBROUTINE
; 7957	BYTE EFFECTIVE ADDRESS EVALUATOR - XADDR
; 7984	Load and Deposit Byte Subroutines
; 8030		EIS.MIC[4,24]	10:37 27-May-86
; 8031	EXTENDED INSTRUCTION SET DECODING
; 8171	ONE WORD GLOBAL BYTE POINTER SUBROUTINES FOR EXTEND
; 8234	EIS -- STRING MOVE
; 8353	EIS -- STRING COMPARE
; 8419	EIS -- DECIMAL TO BINARY CONVERSION
; 8488	EIS -- BINARY TO DECIMAL CONVERSION
; 8645	EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE
; 8818	EIS -- EDIT FUNCTION
; 9016		IO.MIC[4,24]	15:27 17-Mar-86
; 9017	I/O INSTRUCTIONS
; 9116	EXTERNAL DEVICE I/O INSTRUCTIONS
; 9208	INTERNAL DEVICE FUNCTIONS -- APR, CCA
; 9262	INTERNAL DEVICE FUNCTIONS -- PI
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page TOC-3
; 							Table of Contents					

; 9316	INTERNAL DEVICE FUNCTIONS -- PAG
; 9423	INTERNAL DEVICE FUNCTIONS -- TIM & MTR
; 9531	PRIORITY INTERRUPT PROCESSING
; 9682	KL-MODE PAGE REFILL LOGIC
; 10046	Page Fail Cleanup and Special Instruction Dispatch
; 10137	PAGE FAIL/INTERRUPT CLEANUP FOR SPECIAL INSTRUCTIONS
;	Cross Reference Index
;	DCODE Location / Line Number Index
;	UCODE Location / Line Number Index
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; KLX.MIC[4,24]	15:48 8-Mar-86					KLX.MIC[4,24]	15:48 8-Mar-86			

						; 1	.TOC	"KL10 Microcode with KL Paging"
						; 2	
						; 3	.SET/SNORM.OPT=1
						; 4	.SET/FPLONG=0
						; 5	.SET/EXTEXP=1
						; 6	.SET/MULTI=1		;DOES NOT CACHE PAGE TABLE DATA
						; 7	.SET/NOCST=1		;DOES NOT DO AGE UPDATES, ETC. WITH CST = 0
						; 8	.SET/OWGBP=1		;ONE WORD GLOBAL BYTE POINTERS
						; 9	.SET/IPA20=1		;IPA20-L
						; 10	.SET/GFTCNV=0		;DO NOT DO GFLOAT CONVERSION INSTRUCTIONS [273]
						; 11				;SAVES 75 WORDS. MONITOR WILL TAKE CARE OF THEM.
						; 12	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; EDHIS.MIC[4,24]	12:02 29-May-86				KLX.MIC[4,24]	15:48 8-Mar-86			

; 13	.NOBIN
; 14	
; 15	;	THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
; 16	; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
; 17	; EQUIPMENT CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO
; 18	; RESPONSIBITY FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
; 19	;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE
; 20	; PURCHASER UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND
; 21	; CAN BE COPIED (WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY
; 22	; FOR USE IN SUCH SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING
; 23	; BY DIGITAL.
; 24	;	DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE
; 25	; USE OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED
; 26	; BY DIGITAL.
; 27	; COPYRIGHT (C) 1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986 DIGITAL EQUIPMENT CORPORATION
; 28	
; 29	.TOC	"REVISION HISTORY"
; 30	
; 31	;	The following collection of people have contributed to the
; 32	;	production and maintenance of this code.  In reverse chronological
; 33	;	order:
; 34	;
; 35	;	QQSV (Dick Wagman) -- beginning with edit 301
; 36	;	Sean Keenan
; 37	;	Don Dossa
; 38	;	Mike Newman
; 39	;	Jud Leonard
; 40	;
; 41	.TITLE	"KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986"
; 42	.VERSION/MAJOR=2/MINOR=1/EDIT=442/WHO=0
; 43	;REV	WHY
; 44	;
; 45	;442	29 May 86--Clean up the listing a bit in a few miscellaneous places.
; 46	;	Rewrite the SETCA group to use AR_AC0 COMP (looks more obvious than
; 47	;	the previous stuff).  Avoid the write test for HRRZM, using the last
; 48	;	remaining microword to optimize it.  This looks like the last edit
; 49	;	from QQSV.  So long, everybody.  It's been real!
; 50	;441	27 May 86--An afterthought edit.  Move DB2WD in line with CVTDBx
; 51	;	code, and use the space to make JUMPA fetch faster.  This required
; 52	;	moving the TDN dispatch block as well due to DRAM constraints.
; 53	;440	23 May 86--A final omnibus speedup edit.  Add an instruction to allow
; 54	;	TLO/TSO/TLZ/TSZ/TLC/TSC to prefetch.  Special case AOJ, AOJA, SOJ,
; 55	;	SOJA, AOS, and SOS to speed the next instruction fetch in all cases.
; 56	;	Allow JFCL 0, to take a fast path.  Make MOVES, SKIP, HLLS, and HRRS
; 57	;	all use new code that starts the instruction fetch a fair amount
; 58	;	quicker in a few cases.  Juggle the DRAM for all adjacent instructions,
; 59	;	and reconfigure the explicit CRAM addresses where necessary.
; 60	;437	22 May 86--Make MOVSO and MOVST start the I FETCH a few micro-
; 61	;	instructions later when they abort.  A page fault on the I FETCH was
; 62	;	leaving the SR set, and resulted in random garbage ending up in AC0.
; 63	;	Merge GTST and CNV2WD into TST2WD, saving a few words and a little bit
; 64	;	of time.
; 65	;436	17 Apr 86--Back off optimization of JRSTF.  Going to user mode doesn't
; 66	;	set USER in time for the FETCH to occur on the same microinstruction.
; 67	;435	14 Apr 86--Install bit 4 of APRID as PMOVE present option bit.
; 68	;434	7 Apr 86--Edit PMOVE and PMOVEM onto proper op codes.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-1
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 69	;433	4 Apr 86--Edit new JFFO onto proper op code.  Install prototype PMOVE
; 70	;	and PMOVEM, using op codes 100 and 101 for now.
; 71	;432	1 Apr 86--Edit new ADJSP onto proper op code.  Rewrite JFFO to isolate
; 72	;	the bit number within a group more quickly, and install it on op codes
; 73	;	100 and 101 for debugging.
; 74	;431	31 Mar 86--Rewrite ADJSP to start the I FETCH several cycles earlier
; 75	;	by not using PUSH code to set TRAP2.
; 76	;430	20 Mar 86--Start the I FETCH for IMULB, IDIVB, and friends at ST2AC+1
; 77	;	by making it use the DSHIFT code.  Eliminate the EXIT DBL macro as
; 78	;	obsolete.  Move the op code 247 dispatch in with other UUOs in
; 79	;	SKPJMP.  Knock a cycle out of SETMM and SETMB by making them go
; 80	;	directly to IFNOP and IFSTAC.  (This is pretty useless, but
; 81	;	harmless and correct.)  Make a few cosmetic edits.
; 82	;427	18 Mar 86--Install rewritten XBLT in production form, and eliminate
; 83	;	old code.  This makes the BLT file entirely new code.  Make room
; 84	;	for this by rewriting effective address decodes for EXTEND sub
; 85	;	op and for byte pointer in string instructions, making use of
; 86	;	indirection decoder used for single byte instructions.  (Note that
; 87	;	this could impact the PXCTability of EXTEND op codes, but since
; 88	;	only XBLT is supposed to be PXCTed, this should never matter.)  In
; 89	;	the process, fix bug where indirection in byte pointer calculations
; 90	;	was taking interrupt without going to CLEAN first.  Also fix bug in
; 91	;	LDB of an illegal OWG, where an LDB of an OWG with a P&S field of
; 92	;	(for example) 45 was not properly clearing the right half.  This
; 93	;	was introduced when we rewrote SETZ.
; 94	;426	13 Mar 86--Rewrite XBLT.  Implement it on opcodes 100 and 101 for
; 95	;	debugging convenience.
; 96	;425	8 Mar 86--Install optimized BLT.  Eliminate obsolete conditionals
; 97	;	BACK.BLT, BLT.PXCT, and RPW (not related) in the process.
; 98	;424	17 Feb 86--Remove IMULM and IMULB from IMULx optimization, allowing
; 99	;	IMUL and IMULI to begin their I FETCH one microinstruction earlier.
; 100	;	Fix ADJBP of a TWG with byte size zero to correctly load both
; 101	;	halves of the byte pointer (at TWGCPY+1).  Reedit BYTSUB.MIC to
; 102	;	remove a few extraneous words that are no longer needed now that
; 103	;	the single byte instructions have been rewritten.
; 104	;423	13 Feb 86--Install upgraded ASH code. Reedit ASHC to remove code
; 105	;	used only by ASH previously.
; 106	;422	29 Jan 86--Rework speeded IDIVx code onto the proper opcodes, and
; 107	;	delete old IDIVx code.  Reedit a few instructions in that vicinity
; 108	;	to clean up the listing, and remove references to NODIVD label by
; 109	;	making those instructions do SET NO DIVIDE on their own.
; 110	;421	23 Jan 86--Force the SETZ group to use HLLZ code, saving a word.
; 111	;	Make sure DMOVNM loads both halves of AC1 when it starts.
; 112	;	Implement speeded up IDIVx on opcodes 100 and 101 for easy debugging.
; 113	;420	21 Jan 86--Add logic to the integer divide instructions to enable
; 114	;	generating the maximum negative number as a quotient.  This is
; 115	;	in preparation for the IDIVx optimization.
; 116	;417	10 Jan 86--Prevent ROT from (sometimes) clobbering the next
; 117	;	instruction in ARX on a short right rotation (the timing was
; 118	;	close, so it worked most of the time--very bad).  Costs a
; 119	;	microword (sigh).
; 120	;416	7 Dec 85--Rewrite IMULx to do what the old IMULI.OPT should have
; 121	;	done, namely, optimize IMULx of a positive by a positive when
; 122	;	we can be sure that no overflow will occur.  Costs five words,
; 123	;	only two more than the original (broken) IMULI.OPT.  Eliminate
; 124	;	that conditional as obsolete.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-2
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 125	;415	7 Dec 85--Rewrite LSHC and ROTC (at a cost of one word), saving
; 126	;	some time, particularly on right rotates and shifts.
; 127	;414	5 Dec 85--Rewrite the JRST group, not affecting speed very much
; 128	;	but saving many microwords in the process.  Shuffle MOVMI dispatch
; 129	;	to make it identical to HRRZI, saving a bit of time.  Work on UUO
; 130	;	code to save some space.  Crack a couple of words out of JRA,
; 131	;	speeding it up (almost in spite of ourselves).  Force old EIS
; 132	;	effective address dispatch to exit to 3177 instead of 3077, releasing
; 133	;	3077 for other uses.  Knock another word out of POPJ.  Make PF24
; 134	;	go directly to PFPAR, saving a cycle for illegal indirect page
; 135	;	faults (and buying back three words in the process).  Edits 234,
; 136	;	242, and 271 appear ill conceived.  Fix ARL IND and TIME fields
; 137	;	for second counting loop in JFFO, buying a little free speed.
; 138	;	Rework dispatches for FAD/FSB/FMP/FDV, and fix FPLONG conditional,
; 139	;	saving a couple of words and making FADL/FSBL/FMPL/FDVL work when
; 140	;	the conditional is turned on.  Also twiddle definitions of EXP_SIGN
; 141	;	macros to fix a couple of conflicts.  Make FMPRI and FDVRI go to
; 142	;	same spot, as well as FDVx and FMPx, saving a couple of words.
; 143	;413	24 Sept 85--Continue the cleanup/speedup begun in 412.  Rewrite LSH
; 144	;	and ROT, spending some CRAM for speed.  Rework the DMOVxx group to
; 145	;	minimize the memory dead time for DMOVE and DMOVEM, particularly.
; 146	;	Prevent SETA from referencing memory (useless, but harmless and
; 147	;	correct).  Squeeze words out of POP and POPJ.  There are some old
; 148	;	tailings from the DMOVxx code left for use by floating point and
; 149	;	IO code; it would be nice to clean them up.
; 150	;412	12 Sept 85--Freeze work on strings and start doing cleanup and
; 151	;	speedup on other (simpler) instructions.  Move around DRAM and
; 152	;	first words of several instructions (e.g., BLT, EXTEND, XCT,
; 153	;	and several EXTEND sub ops) so that instructions don't jump around
; 154	;	from place to place so much.  Decommit obsolete conditionals WRTST,
; 155	;	XADDR, EPT540, LONG.PC, MODEL.B, KLPAGE, SMP, SHIFT.MUUO, SXCT,
; 156	;	PUSHM, EXTEND, DIAG.INST, and DBL.INT--we haven't supported one
; 157	;	side or the other of these for a long time, in some cases.
; 158	;	Rework all noops and pure skips to use the same code as TRN and
; 159	;	TRNA.  Make TRO, TDO, TRC, TDC, TRZ, and TDZ use the equivalent
; 160	;	boolean code.  Make SETAM and SETAB equivalent to MOVEM.  Save a
; 161	;	cycle in MOVN by having it exit directly without going through MOVE.
; 162	;	All of this involves moving some code around in a few cases.  Clean
; 163	;	up the listings a bit.
; 164	;411	24 July 85--Another try at the SMP fix.  PI cycle 7 must go to
; 165	;	memory for interlock to work, so delete use of the cache on the
; 166	;	PHYS REF.  This may have performance drawbacks for TOPS-20 and
; 167	;	TOPS-10 uniprocessor, so there may have to be two versions of
; 168	;	microcode (again!) to resolve this.
; 169	;410	11 July 85--Force PI functions 3 and 7 to use RPW cycles, so
; 170	;	SMP will work properly.  Save a couple words in the process.
; 171	;407	18 June 85--Change macro ARX_2 to ARX_2+MQ0 and fix related bug
; 172	;	in ADJBP by clearing MQ on entry to instruction.  This prevents
; 173	;	ADJBP from computing the wrong byte capacities for OWGs with
; 174	;	byte sizes of 6 and 18.  Also reverse AC1 and AC2 in DB2WD.
; 175	;	That was causing CVTDBx to reverse the byte pointer halves if
; 176	;	an OWG was used, ruining things entirely.
; 177	;406	11 Mar 85--Define R17 as HARDPFW, and save the hard page fail word
; 178	;	there for TOPS-10, thus protecting it from getting clobbered by a
; 179	;	later soft page fail.
; 180	;405	15 Jan 84--Finish initial installation of rewritten MOVSLJ and
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-3
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 181	;	MOVSO code.  Also, remove obsolete conditional code for SXCT and
; 182	;	SHIFT.MUUO, and for the .IFNOT cases of LONG.PC, MODEL.B, XADDR,
; 183	;	DBL.INT, EXTEND, and EPT540.  Remove some code from IBPS (not
; 184	;	needed by DTE support), and an obsolete constraint above PGRST1.
; 185	;	Also put all statistics code into separate assembly.  As currently
; 186	;	implemented, the statistics code won't fit into CRAM without removing
; 187	;	something else.
; 188	;404	12 Oct 84--Fix THAW so that source VMA doesn't get complemented
; 189	;	for OWGs.
; 190	;403	9 Oct 84--Special case the null destination length so that the
; 191	;	byte pointers don't get clobbered when nothing gets done.
; 192	;402	5 Oct 84--Fix byte counting in OWG decode subroutine so that
; 193	;	references to the zeroth byte don't force the pointer forward
; 194	;	one word (shifting P can't easily sign extend here).  Do this by
; 195	;	forcing PLOOP to loop one extra time.
; 196	;401	5 Oct 84--Add code to support OWGs for version 2 MOVSLJ.
; 197	;400	9 Aug 84--Initial first edit number for releasable version 2.0.
; 198	;377	9 Aug 84--All of these are reserved (somewhat paranoically, I think)
; 199	; .	for version 1 as well.  The likelihood of them actually being used
; 200	;360	is vanishingly small!
; 201	;357	9 Aug 84--Add the 136 location constraint (forgotten in 356).
; 202	;356	8 Aug 84--Make the # field of location 136 contain the major and
; 203	;	minor version numbers.  Grab a random instruction with no # field
; 204	;	in use to do this.
; 205	;355	29 May 84--Make BPEA hang on to the original Y field when doing
; 206	;	the EA calculation for an OWL which does not overflow to the next
; 207	;	word.  Untangle copy length calculation, which was confusing
; 208	;	source and destination lengths.  Fix generation of fill count in
; 209	;	loop (a decimal number used where octal was needed).  Make sure
; 210	;	that the fill character gets stored the first time through the fill
; 211	;	loop.  Build the final source count from the proper numbers (not
; 212	;	from a byte pointer!).  Fix the test for storing the final buffer
; 213	;	if no filling was required.  Force the final destination byte pointer
; 214	;	Y field to the proper value by making IDSTMA be the actual first
; 215	;	destination VMA, saving two words in the process.
; 216	;354	25 May 84--Implement recoded version of MOVSLJ.  Temporarily
; 217	;	decommit the G floating instructions in order to make room for it.
; 218	;353	21 May 84--LDB and DPB in version 1 were leaving state register bit
; 219	;	3 set when the byte word was loaded, resulting in the page fault
; 220	;	handler treating it as if it were a string instruction and trying
; 221	;	to back up a byte pointer in AC1 when the reference page faulted.
; 222	;	Cure it by reseting the state register in GBYTE.  (Sure hope this
; 223	;	is the last bug in version 1!)
; 224	;352	4 Apr 84--It turns out that the string instructions had the same
; 225	;	problem as the byte instructions in 351!  Copy AR to ARX one
; 226	;	cycle earlier in both GRSC2 and IDST to fix it.  Also make sure
; 227	;	that all byte pointers default to PC section by initializing VMA
; 228	;	to PC on all calls to both of these routines.  This cleans up edit
; 229	;	300.
; 230	;351	12 Mar 84--When ILDB or IDPB incremented a one word local pointer
; 231	;	in such a way that the low half word changed sign, the section
; 232	;	computation for the byte address would get screwed up if the
; 233	;	index AC had a global address.  Fix this by copying the updated
; 234	;	pointer into ARX, thus forcing EA MOD DISP to look at the proper
; 235	;	bit in ARX18.
; 236	;350	15 Feb 84--Fix indexed indirection byte pointer effective address
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-4
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 237	;	calculations to load the indirect word into both AR and ARX.
; 238	;347	20 Jan 84--Rewrite the MVST and CMPS dispatches to test for illegal
; 239	;	bits in the lengths before BRX gets smashed.  UUO was reporting a
; 240	;	bogus op code in these situations.
; 241	;	Turn on BIG.PT by default, since it should work with both old and
; 242	;	new software and hardware.
; 243	;346	18 Jan 84--Fix the .IFNOT variation of BIG.PT to clear the Keep
; 244	;	bit if anybody sets it.  This was introduced in 343.
; 245	;	Add the DDT.BUG conditional.  Under it, rewrite APRID to move
; 246	;	bit 23 to bit 5 if it is set in the serial number.  This is a
; 247	;	piece of garbage which I hope can disappear soon (it seems EDDT
; 248	;	used the serial number to test for a KS-10!).
; 249	;	Fix the time field on the page map word type dispatch (the assembler
; 250	;	default was too high).  Also make the PAGCNT conditional hang on
; 251	;	to the original AR value after it counts the PFH entry (this would
; 252	;	only matter for an AR parity error).  Rename AR and ARX defaults to
; 253	;	MEM for the AR_MEM and ARX_MEM macros, respectively.
; 254	;345	6 Dec 83--Clean up all the pieces and integrate the new byte
; 255	;	instruction implementation into the rest of the microcode.  Also
; 256	;	add the FIN LOAD macro (more mnemonic than FIN XFER, its equivalent)
; 257	;	and include AR/AR on AR_MEM and ARX/ARX on ARX_MEM, as those macros
; 258	;	really don't work unless those fields take their default.  This
; 259	;	version marks the first time that major chunks of code have been
; 260	;	bodily replaced; accordingly, with this edit the major version has
; 261	;	been bumped to 2.
; 262	;344	1 Dec 83--Save CVTBDx fill character address, which was getting lost
; 263	;	if OWGBPs were in use, in a manner similar to that used in CMPSx
; 264	;	(see edit 310).  Also, fix some conditionals for EXPMSK constant
; 265	;	generation, so that OWGBPs will assemble with EXTEXP off.
; 266	;343	18 Nov 83--Install new code for IBP and ADJBP, saving time and
; 267	;	microwords.
; 268	;342	8 Nov 83--Change definition of CLR PT LINE to be consistent with
; 269	;	new paging board (see also 333).  Also, redefine bit 3 of effective
; 270	;	word to reverse keep sense (so unkept only pages are cleared when
; 271	;	bit 3 is set).
; 272	;341	28 Sep 83--Force the ARX to contain the first byte pointer word on
; 273	;	exit from INCRBP so that subsequent EA MOD DISP wil work.  Force
; 274	;	OWGs to explicitly wait for store to complete after increment
; 275	;	(unfortunately there is no implicit MB WAIT in MEM/EA CALC.  Sorry!).
; 276	;340	The OWG/OWL test for the byte instructions had the sense of the
; 277	;	test backwards in several places.  Rework LDBDSP, INCRBP, and
; 278	;	DPBDSP.  This makes it impossible for DPEA to test for a byte
; 279	;	off the top of a word on its return, so it has been desubroutinized.
; 280	;337	15 Sep 83--Start work on a complete rewrite of all byte and character
; 281	;	instructions.  Begin by installing initial versions of LDB, ILDB,
; 282	;	DPB, and IDPB.  All of these are designed to make one word global
; 283	;	byte pointers run faster by loading their shift counts from CRAM
; 284	;	dispatch tables.  Also, reduce time for DISP/SH0-3 to three ticks.
; 285	;	Move CDBLST into FP to allow EXTEXP conditional to be turned off.
; 286	;	Also, shuffle conditional placement to prevent EXTEXP shutoff from
; 287	;	turning off XBLT as well.
; 288	;336	9 Aug 83--Back off 330 for a bit, since TOPS-10 7.02 must be tested
; 289	;	and OWGs in section 0 fail for string instructions (they get converted
; 290	;	to TWGs, which are illegal in section 0).  For now, we will maintain
; 291	;	both sources.
; 292	;335	Force memory to be released for SMP case of DPB if P > 36 causes no
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-5
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 293	;	actual data to be stored.  Make an OWG reference to an address >
; 294	;	37,,777777 cause a page fail (GBYTE was stripping the excess bits).
; 295	;334	Fix conflict generated in CLRPT by 333 by creating new subroutine
; 296	;	ARSWAP which is just AR_AR SWAP.  Make several other routines call it,
; 297	;	thus saving a few words.
; 298	;333	Add new conditional BIG.PT.  Under it, add code to implement the "Keep
; 299	;	me" bit for paging as bit 5 of the page table, and to move it to page
; 300	;	map bit 23 during page refill.  Also make DATAO PAG not clear Kept
; 301	;	pages if bit 3 of the word is off.
; 302	;332	Redefine all bank 7 ACs as R0,...,R17, and all bank 6 ACs as P0,...,
; 303	;	P17.  Change all other alias definitions to refer to these.  This
; 304	;	gives us a uniform cross reference for all scratch register references.
; 305	;	Put all macro definitions into alphabetical order, making it easier
; 306	;	to look up a macro definition.  Split the edit history into its own
; 307	;	file.  There are no functional changes from 331.
; 308	;331	Allow XSFM anywhere.  Clean up the code a bit in the process.  There
; 309	;	still remain a number of references to XSFM or XPCW distinctions,
; 310	;	and these could almost certainly be cleaned up further.
; 311	;330	Allow one word global byte pointers in section zero.  This includes
; 312	;	changes in BYTE, EIS, and FP.  Change GBYTE and CNV2WD to return 2;
; 313	;	eliminate GTST as obsolete.  Also shuffle the calls to these routines
; 314	;	to conform to the new calling conventions, and put the OWG test at
; 315	;	the beginning of IBP, ILDB, IDBP, LDB, DPB, and ADJBP.
; 316	;327	Add PAGCNT conditional.  Under it, include control to count entry
; 317	;	into PFH code and DATAO PAG with bit 2 set.
; 318	;326	Change VMA restoration in INC2WD and CNV2WD (see edits 320 and 307)
; 319	;	to use RSTR VMA_MQ in order to keep the global/local sense of the
; 320	;	reference.  This was causing ILDBs of OWGs in shadow memory to
; 321	;	save the incremented byte pointer in the ACs instead of memory.
; 322	;325	Add VMA/LOAD to local indexed EA computation for EXTEND E1 to make
; 323	;	it read the section number from VMA instead of PCS (!) if the index
; 324	;	is section local.
; 325	;324	Force the XADDR conditional to use RPW type references for DPB and
; 326	;	IDPB if the SMP conditional is on, even if one word globals are not
; 327	;	active.
; 328	;323	Add missing constraint near NOT.WR, accidentally broken by 322.
; 329	;322	Generate the A(cessible) bit in a page fail word caused by a read
; 330	;	violation if the page is otherwise accessible and if no CST is present.
; 331	;	This could be fixed for the CST present case as well, but has been
; 332	;	deferred since we are tight on space and no one seems to need it
; 333	;	anyway.
; 334	;321	Prevent statistics microcode from losing traps by forcing NICOND
; 335	;	dispatch 11 to ignore the statistics and take the trap.
; 336	;320	Restore the VMA again in INC2WD (broken by 307), since the state
; 337	;	register bits may have changed in the interim.  This was causing
; 338	;	PXCT to do surprising things (mostly bad).
; 339	;317	Originally, this was an attempt to uncount multiply counted op
; 340	;	codes which resulted from interrupts during long instructions.
; 341	;	That project has been shelved for now.  Instead, the second
; 342	;	NICOND dispatch during op code counting has had its final constraint
; 343	;	fixed.
; 344	;316	Make counting only version compatible with time and counting by making
; 345	;	counting only version use TRX2 and TRX3, removing physical contiguity
; 346	;	requirement.
; 347	;315	Op code counting lives again!  The setup code activated by DATAO PI
; 348	;	was attempting to write the TRX registers with data fresh from memory,
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-6
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 349	;	resulting in parity checks when it was used (see edit 73, for example).
; 350	;	Juggle code to overlap next address calculation with parity wait.
; 351	;314	Add CST.WRITE conditional to facilitate assembly of microcode
; 352	;	without the CST writable bit (see edit 303).
; 353	;313	Put TIME/3T on XFERW, as the assembler was getting the wrong
; 354	;	value with both AR_MEM and ARX_MEM macros present.
; 355	;312	Fix definition of BYTE RPW to include a write test.  This was
; 356	;	causing the SMP version of DPB to hang when memory was readable
; 357	;	but not writable.
; 358	;311	Make all IOP function 7 style of references look in the cache.
; 359	;310	Improve the fix in 307 to save the computed E0+1 in FILL during
; 360	;	OWGBP conversion and to restore the VMA from there when done.
; 361	;	Also, make sure that the VMA is initialized to PC for all cases
; 362	;	when doing effective address calculations for two word globals
; 363	;	in string instructions.  307 was not enough to clean up the
; 364	;	CMPSx fill problem, since VMA HELD was never loaded.
; 365	;	Force EXT2WD to prereference AC4 and AC5 so that glitch discovered
; 366	;	for second edit 210 will not be activated.
; 367	;307	Restore VMA from MQ at end of CNV2WD (and remove it from INC2WD,
; 368	;	saving a word in the process).  This was causing CMPSx to load
; 369	;	a random fill word and MOVSLJ to store to a random place when the
; 370	;	source length was zero if one word globals were in use.
; 371	;	Force page fail code to look for ARX as well as AR parity errors
; 372	;	(now possible with BYTE RPW implemented).
; 373	;	Make sign extension of E1 go to right place in EXTEND decoding of
; 374	;	offset instructions (broken in 301).
; 375	;306	Add University of Essex code to statistics (TRACKS) code to make
; 376	;	it work with address break enabled.
; 377	;305	Fix CST write bit logic to not test bit 18 when reading.
; 378	;304	Switch byte read interlock from LDB to DPB (broken in 303).
; 379	;303	Implement bit 18 of a CST entry as a write enable bit in addition
; 380	;	to all the other write enable functions.
; 381	;	Knock one cycle out of byte deposit where the byte is being
; 382	;	deposited into the high order byte of a word.
; 383	;	Implement the SMP conditional for extended addressing by
; 384	;	replicating all the byte effective address calculation code for
; 385	;	DPB.  This is unfortunate, but necessary due to the huge dispatch
; 386	;	table that ends this subroutine.
; 387	;302	Move XFERW out of EIS (which no longer absolutely requires it
; 388	;	in line) into SKPJMP (more in the heart of things).  Also
; 389	;	juggle comment lines and code layout to reduce the listing
; 390	;	size a bit and to force some of the .TOC lines into the table
; 391	;	of contents (even though the code nearby may be suppressed).
; 392	;301	Fix ADJBP so that instructions which occur at the last word on
; 393	;	a page do not cause a page failure of some random type (one cycle
; 394	;	too many between I FETCH and NICOND).
; 395	;	Fix effective address calculation for EXTEND so that only offset
; 396	;	instructions (and not GSNGL, for example) will have E1 sign
; 397	;	smeared.
; 398	;	Implement XJRST.  Also force JSP and JSR to do full 30 bit
; 399	;	effective address calculations.
; 400	;300	ADD LOAD OF VMA FROM PC IN PUTDST TO GET THE SECTION ADDRESS
; 401	;	CORRECT ON THE STRING INSTRUCTIONS.
; 402	;277	Add EA CALC table for SMP configurations of extended addressing
; 403	;	for TOPS-10.  (TOPS-20 paging)
; 404	;276	Force global EA CALC for EXTEND instructions in PUTDST.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-7
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 405	;275	FIX THE ERROR CODE IN STRING COMPARE FOR ILLEGAL BITS IN THE
; 406	;	LENGTH FIELD. WAS CAUSING AR PARITY ERRORS.
; 407	;274	SAVE THE API FUNCTION WORD ON AN IO PAGE FAIL INSTEAD OF THE
; 408	;	PAGE FAIL WORD. THIS TAKES PLACE IN BOTH THE AC BLK 7 AC 2
; 409	;	AND THE MONITOR.
; 410	;273	PUT CONDITIONALS AROUND 4 GFLOAT CONVERSION INSTRUCTIONS.
; 411	;	THEY WILL ACT AS MUUO'S AND MONITOR WILL TAKE CARE OF THEM.
; 412	;272	CONO APR 200000 AT TIMES WAS NOT GENERATING EBUS RESET OF A
; 413	;	SUFFICIENT LENGTH TO CLEAR DTE REGISTERS. ADDED ANOTHER
; 414	;	MICROWORD SO THAT CONO APR IS NOW UP FOR TWO FULL WORDS WHICH
; 415	;	GETS AROUND THE HARDWARE PROBLEM.
; 416	;271	ILLEGAL INDIRECT PAGE FAIL (24) WAS NOT ALLOWING USER TO BE SET.
; 417	;270	WHEN IN SECTIONS > 1, AN UPDATED OWGBP WOULD BE WRITTEN INTO
; 418	;	MEMORY INSTEAD OF THE AC'S.
; 419	;267	CHANGED TESTS FOR OWGBP TO TEST FOR PC SEC0 FIRST. SAVES 33 NS.
; 420	;266	CONDITIONALS ON FOR TOPS-20 DEVELOPMENT.
; 421	;265	REMOVED EDIT 244. SOFTWARE ENGINEERING WILL SUPPLY MONITOR
; 422	;	CODE TO TAKE CARE OF PROBLEM. CODE COSTS TOO MUCH TIME IN
; 423	;	THE INSTRUCTION EXECUTION.
; 424	;264	ADDED CONDITIONALS TO CODE FOR IPA20, OWGBP AND NO CST UPDATE IF
; 425	;	CBR IS ZERO. THIS IS FOR RELEASE 5 OF TOPS-20.
; 426	;263	IBP DID NOT CLEAR FPD ON EXIT.
; 427	;262	ALLOW XBLT TO BE VALID IN SECTION 0.
; 428	;261	FIX CODE AT END OF ADJBP CODE TO CLEAR STATE REG. IF ILDB
; 429	;	WITH 2 WD GLOBAL POINTER POINTING TO ADDRESS NOT IN CORE
; 430	;	CLEAN DISPATCHES TO WRONG CODE BECAUSE SR LEFT OVER FROM
; 431	;	ADJBP.
; 432	;260	FIX FM PARITY ERRORS AT MVF1: ADDED NULL CALL TO RET2:
; 433	;	AT MVST: TO TAKE CARE OF EXTRA TICK FOR PARITY.
; 434	;257	MAKE SURE THAT THE UPDATED ONE WORD GLOBAL BYTE POINTER IS
; 435	;	WRITTEN BACK INTO THE CORRECT CONTEXT.
; 436	;256	MAKE ANOTHER ATTEMPT TO FIX PXCT OF ONE WORD GLOBAL BYTE POINTERS.
; 437	;	THE GIBP CODE GETS THE SAME CHANGES AS EDIT 255.
; 438	;255	MAKE ONE WORD GLOBAL BYTE POINTERS WORK WITH PXCT. THE STATE
; 439	;	REGISTER BITS ON MCL4 (NOT TO BE CONFUSED WITH CON3), WERE NOT
; 440	;	BEING SET PROPERLY TO ALLOW PREVIOUS ENA AND USER ENA TO BE SET.
; 441	;	GUARANTEE THAT THESE SR BITS ARE SET PRIOR TO THE LOAD OF THE VMA.
; 442	;254	FIX PROBLEM WITH OWGBP WHERE FPD DOES NOT EFFECT
; 443	;	INC OF POINTER AFTER PAGE FAIL
; 444	;253	FIXED ADDRESSING FOR SH DISP AT GADJL0:
; 445	;252	MOVE STRING INSTRUCTIONS DO NOT GET THE CORRECT DATA ON
; 446	;	LOCAL POINTERS IN NON 0 SECTIONS
; 447	;251	ADD CODE FOR ONE WORD GLOBAL BYTE POINTERS.
; 448	;	TOOK OUT EDITS 243 AND 250 TO GET ENOUGH SPACE IN CRAM
; 449	;	FOR THIS EDIT. OWGBP WITH EXTEND INSTRUCTIONS WILL NOT
; 450	;	RETURN A OWGBP. THEY WILL RETURN A TWO WORD GLOBAL BP.
; 451	;250	ALLOW SMP SWITCH TO EFFECT TOPS-20 MODEL B TO DO RPW IN
; 452	;	BYTE INSTRUCTIONS.
; 453	;247	DO NOT DO A CST UPDATE OR AGE UPDATE IF THE CBR IS ZERO.
; 454	;246	EXTEND OP CODE DECODE FOR MODEL A WAS ACCEPTING MODEL B
; 455	;	OP CODES (20-31). ADDED CONDITIONALS TO CODE TO FIX.
; 456	;245	FIX 2 WORD GLOBAL BYTE POINTER BUG WITH IBP INSTRUCTION
; 457	;	WITH EXTENDED ADDRESSING OUT OF SECTION 0
; 458	;244	FIX MOVST EXTEND INST. SO THAT ILLEGAL (> 36) S FIELD
; 459	;	DOES NOT CAUSE STOP CODE TO CRASH SYSTEM FOR TOPS-10 MODEL B.
; 460	;243	WRTIME TRIED TO DO MEM WRITE EVEN THOUGH THE INSTRUCTION
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-8
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 461	;	DOES NOT DO ANYTHING TO MEMORY. CAUSED PROBLEMS IF THE MEMORY
; 462	;	LOCATION WAS NOT WRITABLE.
; 463	;242	FIX CODE FROM EDIT 234 TO GET PF CODE OF 24.
; 464	;241	FIX DFAD AND DFMP FOR ROUNDING OCCURS PROPERLY. ADDED STICKY
; 465	;	BIT FOR LEAST SIGNIFICANT BITS OF THE RESULT.
; 466	;240	FIX GFLT INSTRUCTIONS GFIX AND DGFIX SO THEY WILL TRUNCATE NEGATIVE
; 467	;	NUMBERS IN THE CORRECT DIRECTION. THE MQ MUST BE ZERO BEFORE
; 468	;	THE ARX_2 MACRO IS INVOKED OR THE ARX MIGHT GET A 3 FROM MQ00.
; 469	;237	ADD OPTION BIT FOR PV CPU IN THE APRID WORD AS IT IS DOCUMENTED
; 470	;	IN ALL OF THE HARDWARE DOCUMENTATION. SET THE BIT ACCORDING
; 471	;	TO THE MODEL.B OPTION SWITCH. IT WILL BE MAGIC NUMBER BIT 3.
; 472	;236	ALLOW THE INTEGER DIVIDE OF THE LARGEST NEGATIVE NUMBER BY
; 473	;	PLUS ONE TO SUCCEED. THIS USED TO BE A DOCUMENTED RESTRICTION
; 474	;	THAT THIS OPERATION WOULD CAUSE AN OVERFLOW AND NO DIVIDE.
; 475	;235	FIX JRA SO IT DOESN'T FALL INTO SECTION ZERO FROM A NON-ZERO
; 476	;	SECTION EVERY TIME BY WRITING THE PC SECTION INTO THE VMAX.
; 477	;234	BUILD A PAGE FAIL CODE OF 24 WHEN AN ILLEGAL INDIRECT WORD
; 478	;	IS FOUND DURING THE EFFECTIVE ADDRESS CALCULATION IN 
; 479	;	A NON-ZERO SECTION. THE PAGE FAIL CODE WAS PREVIOUSLY NOT
; 480	;	BEING REPORTED.
; 481	;233	SAVE THE IOP FUNCTION WORD THAT APPEARS ON THE EBUS WHEN AN
; 482	;	EXTERNAL DEVICE INTERRUPTS THE CPU. SAVE THIS INFORMATION
; 483	;	ON EVERY INTERRUPT IN AC BLOCK 7, AC 3. THE CONTENTS
; 484	;	OF THIS AC WILL BE PRESERVED UNTIL THE NEXT INTERRUPT.
; 485	;	OPERATING SYSTEMS SHOULD SAVE THIS INFORMATION AS SOON AS POSSIBLE
; 486	;	IF ITS CONTENTS ARE TO BE RELIABLE AND MEANINGFUL.
; 487	;232	ADDS 13 NEW INSRUCTIONS FOR SUPPORTING FORTRAN78 ON MODEL
; 488	;	B MACHINES. THESE INSTRUCTIONS ARE:
; 489	;	       OPCODE     SYMBOL
; 490	;	       ======     ======
; 491	;		102	GFAD AC,E
; 492	;		103	GFSB AC,E
; 493	;		106	GFMP AC,E
; 494	;		107	GFDV AC,E
; 495	;		EXTEND INSTRUCTIONS    EXTEND OPCODE
; 496	;		====== ============    ====== ======
; 497	;		EXTEND AC,[GSNGL  0,E]	    21
; 498	;		EXTEND AC,[GDBLE  0,E]	    22
; 499	;		EXTEND AC,[DGFIX  0,E]	    23
; 500	;		EXTEND AC,[GFIX   0,E]	    24
; 501	;		EXTEND AC,[DGFIXR 0,E]	    25
; 502	;		EXTEND AC,[GFIXR  0,E]	    26
; 503	;		EXTEND AC,[DGFLTR 0,E]	    27
; 504	;		EXTEND AC,[GFLTR  0,E]	    30
; 505	;		EXTEND AC,[GFSC   0,E]	    31
; 506	;231	FIX IN PROBLEM IN EDIT 215 TO XDPB THAT PREVENTED THE KL
; 507	;	FROM HANDLING INTERRUPTS WHILE EVALUTAING AN INDEXED INDIRECT CHAIN.
; 508	;	AN "=0" WAS MISSING BY BYTEIP.
; 509	;230	TO PRESERVE COMPATABILITY WITH THE KS10 AND BECAUSE OF SPACE
; 510	;	LIMITATIONS IN TOPS20 MODEL A, THE SPECIFICATION FOR THE
; 511	;	CVTDBX INSTRUCTIONS HAVE BEEN CHANGED TO ELIMINATE THE NEED
; 512	;	FOR AN OVERFLOW TEST DURING THE CONVERSION. THIS CHANGE
; 513	;	EFFECTIVELY REMOVES EDIT 221.
; 514	;227	DELETE EDIT 222 AND RETURN THE CVTBDX INSTRUCTIONS TO THEIR
; 515	;	OLD, BROKEN FUNCTIONALITY SINCE ANY ATTEMPT TO PREVENT THE
; 516	;	FLAGS FROM BEING CHANGED PREMATURELY HAS TO CONTEND WITH
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-9
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 517	;	INTERRUPTABILITY PROBLEMS. THE HARDWARE REFERENCE MANUAL
; 518	;	HAS A FOOTNOTE ABOUT THE FLAG PROBLEM SO THE CURRENT FUNCTIONALITY
; 519	;	IS DOCUMENTED FOR USERS.
; 520	;226	PREVENT AR PARITY ERRORS WHEN INCREMENTING BYTE POINTERS IN THE ACS.
; 521	;225	THE CODE TO SUPPORT THE MX20 VIA THE SBUS DIAG LOOP MECHANISM
; 522	;	DOES NOT TIME OUT CORRECTLY BECAUSE THE LOOP COUNTER IS BEING
; 523	;	REINITIALIZED EVERY TIME THROUGH THE LOOP. FIX THIS PROBLEM
; 524	;	EVEN THOUGH THE CODE IS NOT ASSEMBLED IN CURRENT RELEASES.
; 525	;224	FIX BUG IN EDIT 223 THAT CAUSED THE WRONG PAGE FAIL
; 526	;	WORD TO BE WRITTEN WHEN AN I/O PAGE FAIL OCCURS.
; 527	;223	WHEN A MEMORY PARITY ERROR OCCURRS AT PI LEVEL, AS EVIDENCED
; 528	;	BY AN AR DATA PARITY ERROR, THE DTE MAY BE WAITING FOR A
; 529	;	RESPONSE. IF IT IS, A DEX FAILURE WILL OCCUR UNLESS WE CAUSE
; 530	;	DEMAND TO WIGGLE.  WE CAN DO THIS BY FORCING THE DATA  IN THE
; 531	;	AR OVER THE EBUS.
; 532	;222	CVTBDX IS NOT SUPPOSED TO CHANGE THE CONTENTS OF THE ACS
; 533	;	OR MEMORY IF THE CONVERTED NUMBER WILL NOT FIT INTO THE
; 534	;	DESTINATION FIELD. IT WAS, HOWEVER, CHANGING THE FLAGS
; 535	;	BEFORE IT KNEW IF THE NUMBER WOULD FIT.
; 536	;221	THE CVTDBX WERE FAILING TO SET OV AND TRAP1 WHEN THE
; 537	;	CONVERTED DECIMAL NUMBER WOULD NOT FIT INTO A
; 538	;	DOUBLE WORD.
; 539	;220	THE TRANSLATE INSTRUCTIONS WERE USING A 15 BIT WIDE
; 540	;	FIELD FOR THE REPLACEMENT BYTE IN THE TRANSLATE TABLE
; 541	;	WHILE THE SPECIFICATION STATED THAT THE TRANSLATE
; 542	;	INSTRUCTIONS WOULD USE ONLY 12 BITS.
; 543	;217	PREVENT CRAM PARITY ERRORS CAUSED BY DISPATCHING TO LOCATION
; 544	;	3042 WHEN INDEXING IS SPECIFIED IN THE EFFECTIVE ADDDRESS
; 545	;	CALCULATION OF E1 WHEN THE EXTEDED OPCODE IS ZERO (ILLEGAL).
; 546	;	THE FIX IS TO PUT A JUMP TO UUO AT 3042.
; 547	;216	CHANGE THE DEFAULT VALUE FOR THE SMP SWITCH TO BE ONE. THIS
; 548	;	CAUSES THE MICROCODE TO INCLUDE SMP SUPPORT BY DEFAULT.
; 549	;215	CHANGES DPB INSTRUCTION TO R-P-W CYCLE ON DATA FETCH PORTION OF
; 550	;	INSTRUCTION TO SOLVE AN INTERACTION PROBLEM IN AN SMP OPERATING
; 551	;	SYSTEM.  THIS CHANGE ONLY APPLIES TO MICROCODES FOR TOPS-10 
; 552	;	AND TOPS-20, MODEL A.
; 553	;214	ADDED CHANGES FOR XADR, RELEASE 4 AS FOLLOWS.
; 554	;	STORE PREVIOUS CONTEXT SECTION (PCS) IN FLAGS WORD (BITS 31-35)
; 555	;	IF EXEC MODE AND XSFM OR XPCW INSTRUCTION,MUUO OR PAGE FAIL.
; 556	;	RESTORE PCS FROM FLAGS WORDS (BITS 31-35) WHEN XJRSTF OR XJEN
; 557	;	IS EXECUTED IN EXEC MODE AND THE NEW PC IS ALSO IN EXEC MODE.
; 558	;213	SET/FPLONG=0 PARAMETER ADDED TO TOPS-10 MICROCODE FOR KL MODEL 
; 559	;	A AND MODEL B.
; 560	;212	CHANGE THE CODE AT LDIND: TO TEST FOR USER MODE IF USER MODE
; 561	;	TURN OFF SPECIAL CYCLE THAT MAY STILL BE ON. THE MICROCODE WILL DEPEND
; 562	;	ON KERNAL PROGRAMS TO NOT GET IN PAGE POINTER
; 563	;	LOOPS. INSTRUCTIONS EXECUTED FROM THE CONSOLE WILL NOT WORK.
; 564	;	PI INSTRUCTIONS GET A RESTRICTION TO NOT GET INDIRECT PAGE POINTERS
; 565	;	IN THEIR PAGING CHAIN AS DO EXAMINES AND DEPOSITS AND BYTE TRANSFERS.
; 566	;211	CHANGE THE TEST FOR INDIRECT POINTERS TO NOT HAPPEN ON SECTION
; 567	;	POINTERS AND JUST ON INDIRECT PAGE POINTERS. AT LDIND:+1 AND LDIMM:+2
; 568	;210	MAKE ALL AC+# MICROINSTRUCTIONS HAVE THE # FIELD THE SAME IN THE
; 569	;	PREVIOUS MICROINSTRUCTION TO SOLVE A TIMONG GLITCH IN THE HARDWARE.
; 570	;	MAKE EXCHANG MARK AND DESTINATION POINTERS UUO IF THEY DO NOT
; 571	;	HAVE BYTE POINTERS OF EQUAL LENGTH. CHANGES PERVASIVE IN EIS ALSO IN PF
; 572	;	RECOVERY IN IO.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-10
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 573	;	MAKE THE LOAD OF AN INDIRECT POINTER CLEAR PI CYCLE IF SET.
; 574	;	THIS MEANS THAT THE MONITOR CANNOT USE KERNAL CYCLE, INSTR ABORT
; 575	;	INH PC+1 OR HALT IN A PI CYCLE IF AN INDIRECT POINTER CAN
; 576	;	BE A PART OF THE REFILL. ALSO NOTE THE POSSIBILITY OF GETTING AN
; 577	;	INTERUPT BEFOR THE PI INSTRUCTION COMPLETES. (NEVER CONTINUES PI
; 578	;	INSTRUCTION) CHANGES AT LDIND.
; 579	;207	CHANGE SBUS DIAG CODE FOR MOS PUT IT IN MOS CONDITIONAL /MOS=1
; 580	;	IF ON SBUS DIAG TRIES AT LEAST 8 TIMES TO GET A RESPONSE
; 581	;	OTHER THAN -1 IF IT GOT -1 ALL THOSE TIMES THE MICROCODE
; 582	;	GIVES UP AND RETURNS 0
; 583	;206	FINAL FIXES TO PUSHM AND POPM
; 584	;205	FIX BUG IN INDEX CALCULATION OF E1 FOR EXTENDED ADDRESSING.
; 585	;	INDEXING REQUIRED THAT AN AREAD BE PERFORMED IN ORDER TO LOAD
; 586	;	THE AR WITH A CORRECT FINAL RESULT. THE EFFECTIVE ADDRESS CALCULATION
; 587	;	AROUND EXTLA: GOT A NEW MACRO ADDED FOR INDEXING THAT DOES THE AREAD.
; 588	;	ABSOLUTE LOCATIONS IN THE RANGE 3040 GET USED AS TARGETS FOR THIS
; 589	;	AREAD THEN THE CODE REJOINS THE OLD CODE AT EXT2: 
; 590	;	THE AREAD WAS NECESSARY FOR THE HARDWARE MAGIC TO LOAD PARTS OF THE
; 591	;	AR DEPENDING ON THE INDEX REGISTER AND OTHER EXTENDED ADRESSING
; 592	;	PARAMETERS.
; 593	;204	ADD AUTOMATIC VERSION NUMBER
; 594	;	ADD CODE TO DO SBUS DIAG TESTING REQUIRED BY MOS
; 595	;203	PUT THE BLKO PAG, CHANGE IN 201 IN A KLPAGING CONDITIONAL
; 596	;	KIPAGING GETS TANGLED IN AR PARITY ERRORS AND IN GENERAL DOES
; 597	;	THE WRONG THINGS
; 598	;202	TURN OFF IMULI OPTIMIZATION IT GETS THE SIGN BIT AND THE OVERFLOW
; 599	;	FOULED UP (TURNED OFF FOR MODEL B ONLY WAS OFF IN MODEL A)
; 600	;201	CHANGE BLKO PAG, TO INVALIDATE ONLY ONE ENTRY BY CLEARING IT
; 601	;	CHANGES AT PAGBO PAGBO+1 AND CLRPT+3 CLRPT+3 GETS SETUP THAT USED
; 602	;	TO BE AT PAGBO+1, PAGBO+1 NOW CLEARS ENTRY AND QUITS
; 603	;	KLPAGE ERROR CHECK FOR TOPS 10 MODEL A TO CAUSE ERROR
; 604	;	IF SWITCH SETTINGS ARE IN CONFLICT DIDDLED
; 605	;200	CHANGE ALL EXEC REF TRACKS FEATURES BACK TO PHYS REF
; 606	;	ON SUSPICION THAT PAGE FAULTS ARE NOT HANDLED PROPERLY
; 607	;	MAKE NON TRACKS INSTR STAT FEATURES GET FOUR PHYSICAL
; 608	;	PAGE NUMBERS FROM FIRST FOUR LOCATIONS IN THE PAGE PRESENTED
; 609	;	IN THE DATAO PI, THE CODE ALSO USES THAT PAGE FIRST
; 610	;	LOCATION TO PUT THE INITIAL JUNK INTO ON STARTUP
; 611	;177	FIX SOME BUGS IN OPCODE TIMING CODE AT OPTM0: AND BEYOND
; 612	;176	ADD TO THE TIME COUNTING CODE CODE THAT COUNTS FREQUENCY
; 613	;	OF EACH OPCODE IN PAGE+2 AND PAGE+3
; 614	;175	FIX TIME COUNTING CODE TO ACOUNT FOR EACH OPCODE IN THE
; 615	;	USER OR EXEC MODE IT WAS SEEN IN, EDGE COUNTS WERE DONE IN
; 616	;	WRONG MODE CHANGES UNDER OP.TIME CONDITONALS (PERVASIVE)
; 617	;174	CHANGE TRACKS AND TIME COUNTING TO USE EXEC VIRTUAL SPACE
; 618	;	INSTEAD OF PHYSICAL SPACE
; 619	;173	SEPERATE OUT THE DISMISS AT 626: BECAUSE OF SUSPECTED BUG
; 620	;172	THE FACT THAT XJEN DISMISSES BEFORE READING NEW PC WORDS CAUSES
; 621	;	A PROBLEM FOR TOPS 20. REHASH THE CODE AT 600: TO 637: TO MAKE
; 622	;	XJEN READ THE TWO WORDS FIRST AND THEN DISMISS.
; 623	;171	CAUSE IO PAGE FAIL FIX IN 170 TO SHIFT AT END GETTING CORRECT
; 624	;	PAGE FAIL WORD CHANGE AT IOPGF:
; 625	;170	MAKE CLRFPD: GO DIRECT TO FINI: INSTEAD OF THROUGH NOP: THIS WAS
; 626	;	COSTING 2 TICS IN BYTE INSTRUCTIONS
; 627	;	CHANGE IO PAGE FAIL TO SAVE A VIRTUAL ADDRESS IN THE AC BLOCK 7
; 628	;	LOCATION 2 INSTEAD OF THE DATA THAT WAS ON THE EBUS CHANGES AT
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-11
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 629	;	PGF4:+1 AND IOPGF:
; 630	;167	CHANGE DEFAULT ON ADB MIXER SELECTS. NO DEFAULT NOW SUBFIELD U23
; 631	;	IS DEFAULTED TO 1 TO AVOID SELECTING FM AND NEEDING TO WAIT FOR PARITY.
; 632	;	THIS LEAVES THE OTHER BIT OF THE FIELD AVAILABLE FOR PARITY
; 633	;	EPT MOVED TO 540 USING SWITCH IN KLX,KLL (KLA,KLB NOW DEFUNCT)
; 634	;166	CHANGE FIELD DEFINITION FORMAT CHANGE THE WAY THE OPTIONS FIELD
; 635	;	GETS ITS VALUES ASSIGNED. EACH BIT GETS A FIELD DEFINITION.
; 636	;165	BUG IN 161 TO 164 WAS MISSING AC0 AT POP2: PARITY BIT WAS PUT THERE
; 637	;	IN THE NEWER MICROCODES
; 638	;	INSTALL MANY THINGS TO MAKE WORD STRING MOVES WORK START AT
; 639	;	MOVWD1 AND UNTILL BMVWD1 ALSO ASSORTED MACROS ARE ADDED
; 640	;	THESE ARE INSTALLED IN A SEPERATED EIS FILE (WDEIS) FOR THE MOST PART
; 641	;	THERE ARE SOME NEW MACROS AND THE CLEAN+17 LOCATION IS USED FOR
; 642	;	THIS CASE UNDER MODEL B CONDITIONAL INTERRUPTS DO NOT WORK YET
; 643	;	IN THIS CODE BUT ALL DATA TRANSFERS ARE CORRECT. INTERRUPTS ARE
; 644	;	TAKEN SO SUSPECT THE PROBLEM IS IN THE CLEANUP CODE.
; 645	;164	LEAVE IN ONLY MAP FIX
; 646	;163	TAKE OUT MAP FIX LEAVING XHLLI IN AND JRSTF IN
; 647	;162	PUT XHLLI BACK IN TAKE OUT JRSTF ONLY IN SEC 0 CODE
; 648	;161	XHLLI OUT TO DEBUG ADD RSTF0: TO MAKE TEST FOR JRSTF IN NON
; 649	;	0 SECTIONS TEST IN ALL CASES
; 650	;157	INSTALL XHLLI MAKE JRSTF UUO ON NON ZERO SECTIONS
; 651	;	ALSO MAKE MAP DOING A REFILL PAGE FAIL RIGHT THIS MEANS THAT AFTER
; 652	;	CLEAN IT CANNOT DO ANYTHING INTERESTING IF AN INTERRUPT IS PENDING
; 653	;	CHANGES AT MAP2:
; 654	;156	REINSERT A SKP INTRPT IN THE PAGE FAULT HANDLER TO HAVE INDIRECT
; 655	;	POINTER CHAINS INTERRUPTABLE. AT PGRF6:+6
; 656	;155	ABORTIVE MAP FIX FIX REMOVED PROBLEM MUST BE FIXED IN HARDWARE.
; 657	;154	ADD TESTS FOR AC'S IN PHYSICAL REFERENCES FOR EXAMINES AND DEPOSITS
; 658	;	PHYS REFS GO TO MEMORY, NOT AC'S AFTER PROBLEM SHEET 1675
; 659	;	CHANGES AT PILD+3 PIFET+2 PSTOR PHYS1 PHYS2 PHYS3
; 660	;	ADD CHANGES IN TRACKS TO MAKE MODEL A WORK AT TRK2+2 AND +3
; 661	;153	ADD SPECIAL CODE FOR PXCT OF BLT THIS HOPEFULLY CAN GO AWAY
; 662	;	WHEN THE EXTENDED ADDRESSING MONITOR DOES NOT USE PXCT ANYMORE
; 663	;	IT IS UNDER .IF/BLT.PXCT CONDITIONAL AND COSTS 12 WORDS
; 664	;152	CHANGE WHAT BLT DOES TO MATCH THE SPEC SR_BLT(XXX) IS CHANGED TO
; 665	;	NOT FORCE GLOBAL ADDRESSING THE LOAD VMA(EA)_ARX+BR AND
; 666	;	STORE VMA(EA)_ARX MACROS ARE ADDED TO FORCE THE GLOBAL/LOCAL PARAMETERS
; 667	;	TO BE THE SAME AS THOSE OF THE EFFECTIVE ADDRESS
; 668	;151	PUT THE EPT AND UPT AT 540 UNDER SWITCH CONTROL .IF/EPT540
; 669	;150	VERSION NUMBER BACKED UP TO PRESERVE SPACE IN VERSION NUMBER FIELD
; 670	;304	EXTEND 0 WOULD GET A JUMP TO AN UNUSED MICROLOCATION IN MODEL.B
; 671	;	ONLY THIS WAS BECAUSE LOCATION 2002: IN MODEL.A SHOULD BE AT 3002:
; 672	;	IN MODEL.B 3002: AND 3003: PUT IN WHERE 2002: AND 2003: ARE UNDER
; 673	;	CONDITIONALS.
; 674	;303	CHANGE THE NUMBER FIELD OF THE SR_BLT(XXX) MACROS TO GIVE THE
; 675	;	BIT 0 OFF ALL THE TIME. THIS GIVES BLT MORE THE FORM OF THE OTHER
; 676	;	EXTENDED ADDRESSING STUFF IN HOW IT REFERS TO THE SHADOW AC'S.
; 677	;	IT IS STILL BELIEVED TO BE BROKEN BUT IS BETTER THAN IT WAS.
; 678	;302	ADD LONGER ADDRESS CONSTRAINTS FOR THE NEW MICROASSEMBLER. EVERY
; 679	;	LOCATION THAT THE DISPATCH RAM CAN JUMP TO IS EFFECTED. THE
; 680	;	CONSTRAINTS THATUSED TO LOOK LIKE =00**** MUST NOW LOOK LIKE
; 681	;	=0****00**** THIS IS BECAUSE THE MODEL B MACHINE CAN AND DID
; 682	;	REALLY SET THAT BIT. THE CHANGE MAKES THE MICROCODE INCOMPATIBLE
; 683	;	WITH THE OLD ASSEMBLER.
; 684	;301	HALT IS CLEARING THE RUN FLOP WITH HARDWARE MUST CHECK FOR
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-12
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 685	;	KERNAL MODE BEFOR THE HALT MACRO SO USER IOT MODE WILL
; 686	;	NOT BE ABLE TO HALT. THIS TAKES ONE MICROWORD AT 1017:
; 687	;	THE SENSE OF THE SKIP IS REVERSED AGAIN SO 1016: IS BACK TO
; 688	;	BEING THE UUO AND CHALT: IS NOW A SEPERATE WORD AFTER 1017:.
; 689	;300	REPLACE HALT CODE AGAIN BUT THIS TIME GET THE SENSE OF THE
; 690	;	SKIP RIGHT BY SWAPPING THE CONTENTS OF LOCATIONS 1016: AND 1017:
; 691	;	PUT THE 1: ADDRESS CONSTRAINT ON CONT:.
; 692	;277	PUT HALT BACK THE WAY IT WAS SKP USER HAS THE INVERSE SKIP SENSE
; 693	;	AND HENCE DOES THE WRONG THING. HALT TO BE FIXED LATER.
; 694	;276	YET ANOTHER TRY AT THE BLKO PROBLEM BLK1: SHOULD HAVE HAD A
; 695	;	J/BLK2.
; 696	;275	THE LONG PC CHANGES HAD XSFM1: BEFOR THE ADDRESS CONSTRAINT THUS
; 697	;	GIVEING THE WRONG ADDRESS. THE =0 IS PUT BEFOR THE LABEL.
; 698	;274	FIX THE DIAG.INST CONDITIONALS TO BEHAVE PROPERLY WITH THE
; 699	;	CONSTRAINTS OF DRAM LOCATIONS MAP DIED BECAUSE IT NEVER WAS
; 700	;	REACHED OUT OF A DISPATCH.
; 701	;273	INSERT THE DIAG.INST FEATURE FOR THE DIAGNOSTICS PEOPLE.
; 702	;	CHANGES AT DCODE 104:, 106: AND AT XCT: SHOULD NOT EFFECT OTHER
; 703	;	ASSEMBLIES.
; 704	;272	THE FIX TO THE GARBAGE IN THE LEFT HALF OF VMA IN 265 FORGOT TO
; 705	;	LOAD THE VMA IN BLK3:+1 PUT THAT IN. ALSO ON JUD'S RECOMENDATION
; 706	;	PUT A COPY OF THE NOP MICROINSTRUCTION AFTER CLRFPD: TO MAKE
; 707	;	ENOUGH TIME IN THE SKIP CASE. IT SEEMED TO WORK WITHOUT THIS
; 708	;	AND IF SPACE GETS TIGHT IT SOULD BE REMOVED.
; 709	;271	FIX IN 267 PGF4:+4 DOES NOT WORK, CANNOT PUT VMA_# THERE. POSSIBLY BECAUSE
; 710	;	VMA_# CONFLICTS IN SOME ESOTERIC WAY WITH STORE? THAT CHANGE
; 711	;	IS TAKEN OUT AND AT PGF1 THE VMA IS GIVEN 500 OR 501. THIS IS SLIGHTLY
; 712	;	LESS DESIREABLE AND FURTHER EFFORT COULD BE SPENT IN THE UCODE TO
; 713	;	MAKE PAGE FAILS LESS UNWEILDY FOR THE SOFTWARE ROUTINE THAT CONVERTS
; 714	;	THEM TO MODEL B FORM.
; 715	;270	CHANGE HALT TO CHECK FOR USER MODE INSTEAD OF IO LEGAL. A JOB
; 716	;	IN USER IOT SHOULD NOT BE ABLE TO HALT THE MACHINE.
; 717	;267	ADD NEW CONDITIONAL SHIFT.MUUO TO PROVIDE THE SHIFTED DOWN MUUO
; 718	;	DATA BLOCKS MORE SIMILAR TO THE XADDR TYPES. CONDITIONAL IS USED
; 719	;	AT 1003: AND PGF4:+4 TO PROVIDE A DIFFERENT STARTING ADDRESS.
; 720	;266	FIX PILD+3 TO LOAD THE VMA AT THE SAME TIME THUS ENABLING
; 721	;	THE MODEL HACK FIX TO LOAD THE LONG VMA.
; 722	;265	HAIR UP THE ALREADY HAIRY BLKXX CODE TO CLOBBER THE LEFT HALF OF AR
; 723	;	BEFOR USING IT AS AN ADDRESS. CLOBBERED ARL AT BLK2 AND LOADED
; 724	;	VMA AT BLK3.
; 725	;264	ADD J/CLRFPD AT BFIN TO MAKE IT THE SAME AS IT WAS. BFIN GOT
; 726	;	MOVED TO A DIFFERENT PLACE IN THE LAST EDIT AND THIS J FIELD
; 727	;	WAS NOT FIXED.
; 728	;263	ADD THE MIT FIXES. IOTEND AND THE BLK1 TO BLK4 GROUP ARE CHANGED
; 729	;	EXTENSIVELY. CLRFPD IS PUT JUST BEFORE FINI CONSTRAINT ON IOFET
; 730	;	IS CHANGED.
; 731	;	ADD THE LONG PC FORMAT UNDER A NEW CONDITIONAL LONG.PC THE
; 732	;	CONDITIONAL IS TURNED ON BY XADDR. CONDITIONALS ARE ADDED TO THE
; 733	;	LONG PC CODE TO MAKE IT SMALLER WHEN ONLY SECTION 0 IS POSSIBLE.
; 734	;	ADD COMMENTS TO THE MICROCODE OPTIONS FIELD.
; 735	;	RESTORE SXCT CODE FROM VERSION 131. TO BE USED ONLY IN MODEL A
; 736	;	NON KLPAGING CODE.
; 737	;262	PUT WORD AT INDR1+1 UNDER SXCT CONDITIONAL SO WHEN SXCT IS OFF WE
; 738	;	GET AN ADDITIONAL SAVINGS OF ONE WORD.
; 739	;261	ADD PHYS REFS AT PGRF6+4 AND PIDISP+4 TO MAKE MODEL.A LOAD A LONG
; 740	;	VMA. PART OF THIS CODE IS NOT UNDER CONDITIONAL BECAUSE IT SHOULD NOT MATTER
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-13
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 741	;	TO A MODEL.B MACHINE. PIDISP+4 ALSO GETS THE LOAD OF THE SAME DATA
; 742	;	REPEATED SO THE PHYS REF HAS SOMETHING TO WORK ON.
; 743	;	FLUSH THE NOW USELESS CODE AT CHALT TO GENERATE THE LD AR.PHYS
; 744	;	CONSTANTS.
; 745	;	CURRENTLY THERE IS SORT OF A BUG IN THAT THE SBR AND THE CBR
; 746	;	CAN NOT BE ABOVE 256K IN A MODEL.A MACHINE. THIS DOES NOT BOTHER
; 747	;	THE CURRENT MONITORS AT ALL IN THAT THESE TABLES ARE IN VERY LOW CORE.
; 748	;	IF THAT CHANGES THE LOCATIONS SECIMM+3 SECIMM+7, LDIND, PGRF5, LDSHR
; 749	;	AND LDPT1+1 MUST ALL GET FIXED UP. THE GENERAL FIX IS TO GET A PHYS REF
; 750	;	IN THE MICROINSTRUCTION THAT LOADS THE VMA. THIS CAN BE DONE BY
; 751	;	POSTPONING THE LOAD OF THE VMA ONE MICROINSTRUCTION IN ALL OF THESE
; 752	;	PLACES, BUT, SINCE THAT CAUSES A PERFORMANCE DEGRADATION IT WAS NOT
; 753	;	DONE.
; 754	;260	DIVERGANT CHANGES TO MAKE KLPAGING PHYS REFS THE OLD WAY
; 755	;	CAUSE ALL CASES OF VMA_XXX+LD AR.PHYS TO GO BACK TO THE 
; 756	;	OLD PHYS REF WAY
; 757	;257	IN MODEL B MACHINES AT LDPT+1 THE VMA IS GETTING GARBAGE IN THE
; 758	;	LEFT HALF BECAUSE IT ADDED IN JUNK THAT WAS IN AR LEFT. FIX IS TO
; 759	;	CLEAR ARL AFTER LDPT AND TO DO THE SHUFFLE PERFORMED THERE ONE
; 760	;	MICROINSTRUCTION LATER.
; 761	;******	A HACK FIX IS USED HERE THAT TAKES TWO WORDS. THIS WAS DONE BECAUSE
; 762	;	OF EXTREEM TIME PRESSURE TO DEBUG >256K MODEL B. THERE OUGHT TO BE
; 763	;	A WAY TO REDUCE THIS FIX TO ONLY ONE WORD IN SPACE AND TIME, OR
; 764	;	EVEN LESS.
; 765	;256	EDIT JUMPED TO RANDOMNESS WITH AN EXTRA RETURN. THIS HAPPENED
; 766	;	BECAUSE THERE WAS NO CALL AT EDSFLT IN THE MODEL B NON XADDR CODE
; 767	;	ADDED CALL TO EDSFLT.
; 768	;255	SAVE EDIT FROM GETTING AN EXTRA STORE CYCLE AT EDSSIG BY SENDING
; 769	;	IT ALWAYS TO THE EDFLT1 LOCATION INSTEAD OF EDFLT THIS ONLY
; 770	;	CHANGES WHAT HAPPENS IN MODEL B NON XADDR BECAUSE IN MODEL A
; 771	;	EDFLT AND EDFLT1 ARE THE SAME LOCATION ANYWAY
; 772	;254	CAUSE THE A INDRCT CHANGE IN 253 TO BE ONLY FOR NON EXTENDED
; 773	;	ADDRESSING MACHINES. THIS THROWS DOUBT ON THE WORD SAVINGS
; 774	;	THAT MIGHT HAVE BEEN POSSIBLE
; 775	;253	CHANGE A INDRCT TO LOAD BOTH THE AR AND ARX, IN THE EXTENDED
; 776	;	INSTRUCTION SET THIS HAPPENED TO BE DEPENDED ON AT EXT2+2 AND
; 777	;	EXT2+3. THE DEFINITION OF A IND IN EA CALC/ WAS FIXED TO
; 778	;	LOAD THE AR AND THE ARX
; 779	;	I THINK THIS PERMITS THE SAVINGS OF AN EXTRA WORD AND SOME
; 780	;	TIME ON ALL INDIRECTS. CHECK OUT FLUSHING INDR1 AND MAKING INDRCT
; 781	;	DO THE DISPATCH AND GO TO COMPEA
; 782	;	  FORCE ADB TO GENERATE AR*4 AS DEFAULT THIS DISABLES PARITY
; 783	;	CHECKING ON THE FM WHEN IT IS NOT BEING READ FIXED IN
; 784	;	DEFINITION OF ADB THIS WILL ALSO SPEED UP THE MACHINE BY SOME
; 785	;	BECAUSE THE ADB FIELD CAN NO LONGER FORCE 3 TICS WITHOUT REALLY
; 786	;	NEEDING THAT LONG
; 787	;252	SAVE A WORD AT IOPGF+1 BY MAKING IT PILD+3 THIS ADDS THE SET
; 788	;	ACCOUNT ENABLE TO AN UNDEFINED CASE.
; 789	;251	TURNING ON PAGING CAUSED A HANG THIS WAS BECAUSE OF A MISIMPLIMENTED
; 790	;	FIX IN 250. THE ATTEMPT TO PUT THAT FIX IN NO SPACE FAILED AND IT TOOK
; 791	;	ONE WORD. AT LDPT+1 ADD BR/AR AT GTCST1 RECOVER THE AR FROM THE BR
; 792	;	THIS SEEMS LIKE IT SHOULD BE ABLE TO BE BUMMED BUT I CANNOT
; 793	;	FIGURE OUT HOW
; 794	;	ALSO FIX A PLACE WHERE A PHYS REF WAS LEFT IN THE MODEL A CODE
; 795	;	AT PGRF6+4 MODEL B CONDITIONAL IS AS IT WAS MODEL A IS NEW TO USE
; 796	;	LD AR.PHYS MECHANISM
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-14
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 797	;250	LOADING HIGH ORDER GARBAGE TO THE VMA WITH THE FIX FOR
; 798	;	>256K CAUSES FUNNY THINGS TO HAPPEN. BITS GET CLOBBERED
; 799	;	WITH AR0-8_SCAD 14 LINES AFTER SECIMM. ACTUALLY IS MORE
; 800	;	HAIR BECAUSE OF CONFLICTING FIELDS. CODE ABOVE AND BELOW
; 801	;	THAT GOT REARRANGED TO SIMPLER MODEL A AND MODEL B CONDITIONALS
; 802	;	SINCE NOW ALL LINES ARE DIFFERENT. SHUFFLING OF FE IS DONE
; 803	;	TO PROVIDE ROOM FOR A CONSTANT ON THE CORRECT SIDE OF THE SCAD
; 804	;	AT LDPT A SIMILAR
; 805	;	RECODING IS NEEDED. 4 LINES OF CODE ARE REDONE IN MODEL
; 806	;	A CONDITIONAL AND CONDITIONALS ARE RESHUFFLED TO HAVE
; 807	;	SIMPLER FORMAT
; 808	;	NEW MACROS ARE ADDED GEN AR0-8, GEN FE AND AR0-8
; 809	;	VMA_AR+LD AR.PHYS AND ITS FRIENDS ARE TAKEN OUT OF KLPAGING
; 810	;	CONDITIONAL THEY ARE USED TO DO EXAMINES AND DEPOSITS NOW
; 811	;247	FIX ST AR.PHYS TO GIVE BIT 4 INSTEAD OF BIT 5 AT CHALT
; 812	;	AT PSTORE CHECK FOR AC REF AND IF SO WRITE FM MUST DO THIS
; 813	;	BECAUSE LOAD AD FUNC DOES NOT SET MCL STORE AR
; 814	;246	FIX MUUO, IN EXTENDED ADDRESSING, TO GET NEW PC BEFORE CLOBBERING
; 815	;	THE USER AND PUBLIC FLAGS THAT TELL WHERE TO GET IT.  FIX CONDITIONAL
; 816	;	ASSEMBLY AT INDRCT TO DO EA TYPE DISP IN MODEL A, NOT MODEL B.
; 817	;245	ADDITIONAL FIXES FOR THE 256K PROBLEM, TO MAKE EXAMINE AND
; 818	;	DEPOSIT WORK.  CHANGES AT CHALT TO CREATE CONSTANT "ST AR.PHYS",
; 819	;	AND EXTENSIVELY NEAR PICYC1, PIDATI, AND PIDATO.  CHANGES ARE ALL
; 820	;	UNDER MODEL B CONDITIONAL, BECAUSE MODEL B HARDWARE WORKS OK, AND
; 821	;	THE FIX IS REGARDED AS CROCKISH.
; 822	;244	WAIT FOR COMPLETION OF INDIRECT REFERENCE AT BYTEI+1 AND EXTI+1
; 823	;	EVEN THOUGH INTERRUPT REQUEST HAS BEEN SEEN, SO AS NOT TO CONFUSE MBOX.
; 824	;243	VARIOUS FIXES TO MAKE THESE SOURCES WITH MODEL.B SWITCH OFF
; 825	;	EQUIVALENT TO MODEL A SOURCES, SO WE CAN DISCARD MODEL A SOURCES
; 826	;	THE FIXES ARE:
; 827	;		1) SWITCH SNORM.OPT, TO SAVE SPACE IN SINGLE PRECISION
; 828	;		FLOATING NORMALIZATION.
; 829	;		2) CREATION OF LD AR.PHYS MAGIC CONSTANT, TO SOLVE HARDWARE
; 830	;		PROBLEMS GENERATING ADDRESSES ABOVE 256K.
; 831	;242	FIX AT SECPTR+1 TO PRESERVE AR LEFT UNTIL WE CAN CHECK
; 832	;	FOR BITS 12-17 NON ZERO CORRECT ADDRESS CONSTRAINTS AT
; 833	;	SECIMM+1 & +2 TO GET BRANCHING RIGHT FOR SHARED AND INDIRECT
; 834	;	SECTION POINTERS.  FIX AT LDIMM+1 TO CLEAR LH OF AR BEFORE
; 835	;	LOADING VMA WITH SPT ADDRESS, TO PREVENT PAGE FAULT ON SPT
; 836	;	REFERENCE.
; 837	;241	MORE FIXES AT START: AND NEWPC:, FOR SAME PROBLEM AS 240.
; 838	;	MUST LOAD FLAGS AND CLEAR VMAX, THEN LOAD VMA INTO PC TO CLEAR
; 839	;	PCX, THEN RELOAD VMA TO GET EFFECT OF NEW FLAGS AND CLEARED
; 840	;	PCX.  (MODEL A ONLY).
; 841	;240	FIXES AT START: AND NEWPC: TO LOAD 23-BIT ADDRESS RATHER
; 842	;	THAN 30-BIT, SINCE OTHER BITS ARE PC FLAGS.  AT SAME TIME AND
; 843	;	PLACE, FIX MODEL A CODE TO CLEAR PC SECTION NUMBER.
; 844	;237	CHANGE CONDITIONALS AROUND PUSH AND POP CODE FROM XADDR TO
; 845	;	MODEL.B. COULD SIMPLIFY IFNOT XADDR.
; 846	;236	FIX ADDRESS CONSTRAINTS ON USES OF EA MOD DISP IN MODEL
; 847	;	B MACHINE WITH EXTENDED ADDRESSING OFF.  PROBLEMS AT COMPEA,
; 848	;	BFETCH, AND EXT2.
; 849	;235	SLIGHTLY CLEANER FIXES FOR PROBLEMS IN 234 TO AVOID WASTING TIME
; 850	;	AND SPACE.  BYTE READ MACRO NEEDS TO SET VMA/LOAD, AND VMA_VMA
; 851	;	HELD MACRO DOESN'T USE MEM FIELD UNLESS MODEL B AND KL PAGING.
; 852	;	ALSO FIX CONDITIONAL ASSEMBLY STUFF TO AVOID SPURIOUS ERRORS.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-15
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 853	;234	INSTALL FIXES FOR SOME PLACES WHERE MODEL B CODE CAUSES CONFLICT
; 854	;	WITH THE OLD NON KLPAGING NON EXTENDED ADDRESSING CODE
; 855	;	THESE ARE AT BFETCH, PGF3-1, PGF6, EXT1+2
; 856	;233	FIX THE FOLLOWING PROBLEMS:
; 857	;		KL PAGING SHOULD PRODUCE A PAGE FAILURE WHEN BITS
; 858	;		 12-17 OF A PRIVATE SECTION POINTER ARE NON 0
; 859	;		 FIXED AT SECPTR ETC.
; 860	;		EDIT DOES NOT ALLOW INTERUPTS
; 861	;		 FIXED AT EDNXT1 AND AFTER THAT
; 862	;		MAP SHOULD NOT BE LEGAL IN USER MODE
; 863	;		 FIXED AT MAP2 AND CLEAN+15
; 864	;		MOVMI IS SHORTENED BY MAKING IT THE SAME AS MOVEI
; 865	;		 AT DON LEWINES SUGGESTION THIS IS IN DCODE 215
; 866	;232	MERGE THE SECOND ORDER STATISTICS GATHERING CODE WITH THIS
; 867	;	CODE INTENT IS TO KEEP IT HERE
; 868	;231	CHANGE THE LOAD CCA DEFINITION TO REFLECT THE NEW HARDWARE
; 869	;	THIS IS ENABLED WHEN THE MODEL.B ASSEMBLY SWITCH IS ON
; 870	;230	THIS IS THE POINT WHERE MICHAEL NEWMAN TAKES OVER THE MICROCODE
; 871	;	MAINTENCE SEVERAL BUG FIXES GET EDITED INTO 126 AT THIS POINT
; 872	;	TWO SETS OF PARALLEL CODE WILL BE MAINTAINED FOR A WHILE.
; 873	;	FIX THE CMPS PARODY ERROR PROBLEM WHEN ILLEGAL BITS ARE FOUND IN
; 874	;	THE LENGTHS.
; 875	;227	FIX PIBYTE TO GET DTE# CORRECT ON TO-10 TRANSFERS.  FIX MTRREQ
; 876	;	CYCLES TO WAIT FOR STORE TO FINISH BEFORE RE-ENABLING ACCOUNT.
; 877	;	FIX ADJSP OF LONG STACK POINTERS TO FETCH NEXT INSTR.
; 878	;226	FIX EXMD TO LOAD AR, RATHER THAN ARX, WITH MARK POINTER, AS
; 879	;	EXPECTED BY THE HANDLER.  FIX EDIT, SEVERAL PLACES, TO IGNORE
; 880	;	LEFT HALF OF MARK & PATTERN ADDRESSES WHEN PC SECTION IS ZERO.
; 881	;	FIX EDIT TO MAKE EXTENDED REFERENCE FOR PATTERN BYTES.
; 882	;	FIX ADJSP TO BE MEANINGFUL WITH LONG STACK POINTERS
; 883	;225	FIX BYTEA NOT TO CLOBBER FE ON INDIRECTS, FIX EXMD TO BACK
; 884	;	UP VMA AFTER STORING DSTP2 AND BEFORE STORING DSTP.  FIX EDIT TO
; 885	;	COUNT THE WHOLE PATTERN ADDRESS IF PC SECTION NOT ZERO.
; 886	;224	FIX EXTEND ADDRESS CALCULATION TO RECOVER E0 FROM MQ, AND
; 887	;	FIX EXTEND OPCODE TEST TO DISALLOW OPS >20.
; 888	;	FIXES TO HANDLE NEW ENCODING OF AC-OP ON APR BOARD.
; 889	;223	COMPLETE 222.  P HAS TO GO TO SC AS WELL AS AR0-5.  CREATE
; 890	;	SUBROUTINE RESETP TO DO IT.  GET CODE IN SYNC WITH HARDWARE AND
; 891	;	MOST RECENT SPEC FOR MEANING OF PXCT AC BITS IN EXTEND.  THUS
; 892	;	UNDO COMMENT IN 221:  WE SHOULD LOOK AT PXCT B11.  ALSO FIX
; 893	;	EXTEND TO USE CORRECT ENCODING OF BITS 9, 11, AND 12 FOR PXCT
; 894	;	OF STRING OPERATIONS.  FIX DATAI PAG SO IT DOESN'T LOSE THE
; 895	;	PREVIOUS CONTEXT AC BLOCK WHEN LOADING PREVIOUS SECTION #.
; 896	;	INSERT CHANGE CLAIMED FOR EDIT 55, TO INHIBIT INTERRUPT DURING
; 897	;	PI CYCLES.
; 898	;222	FIX BYTE POINTER UPDATE ROUTINES GSRC & IDST IN EIS CODE
; 899	;	TO UPDATE P WHEN INCREMENTING SECOND WORD.  JUST FORGOT TO. TRY
; 900	;	AGAIN TO CONTROL EIS REFERENCES OFF E0, FOR EXTENDED OR NOT.
; 901	;221	COMPLETE FIX OF 220, TO KEEP SR CORRECT THROUGH RELOAD OF IR
; 902	;	IN EXTEND DECODING, AND TO CONTROL SR CORRECTLY FOR XBLT DST
; 903	;	REFERENCES.  (WE WERE LOOKING AT PXCT B11, SHOULD BE B12).
; 904	;220	FIXES SEVERAL PLACES TO USE "EA" IN DRAM A FIELD INSTEAD OF "I",
; 905	;	NOTABLY BLT, WHICH WAS USING WRONG SECTION.  FIX EXTEND TO
; 906	;	CONTROL VMA EXTENDED BEFORE FETCHING EXTEND-OP, SO AS NOT TO
; 907	;	LOOK "UNDER" THE AC'S.  FIX XBLT FOREWARD TO STOP WHEN AC GOES
; 908	;	TO ZERO, NOT -1.  ALSO CONTROL SR BEFORE INITIAL STORE TO GET
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-16
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 909	;	CORRECT CONTEXT.
; 910	;217	CODE CHANGES TO MAKE SECOND WORD OF BYTE POINTER WORK RIGHT
; 911	;	WHETHER EFIW OR IFIW, BY CONTROLLING CRY18 OR CRY6.
; 912	;216	RECODE EXTENDED INSTRUCTION SET DECODING & EFFECTIVE ADDRESS
; 913	;	CALCULATION.  FIX UUO CODE TO INCREMENT VMA AFTER STORING PC.
; 914	;	FIX ADJBP TO GET 36 BIT ADDRESS ADJUSTMENT IF B12 SET.
; 915	;215	REARRANGE CONDITIONAL ASSEMBLY DEFAULTS TO BE MORE LOGICAL
; 916	;	INSERT FORM FEEDS AND COMMENTS TO HELP BEAUTIFY THE LISTING.
; 917	;	REWORK THE NEW JRST'S, TO MAKE THEM SMALLER, FASTER, AND TEST
; 918	;	IO LEGAL BEFORE DISMISSING.  PUT IN XBLT.
; 919	;214	MODIFY ADJBP AND UUO'S FOR EXTENDED ADDRESSING. REWORK PARITY
; 920	;	ERROR HANDLING, IN A FRUITLESS ATTEMPT TO MAKE IT SMALLER,
; 921	;	BUT SUCCESSFULLY MAKING IT CLEARER.  FIX ASSEMBLY ERRORS IN EIS
; 922	;	DUE TO AC4 CHANGES, AND ADD CODE TO HANDLE LONG BYTE POINTERS
; 923	;	IN AC'S.  PUT IN CODE TO GIVE PAGE FAIL 24 ON ILLEGAL FORMAT
; 924	;	INDIRECT WORD.
; 925	;213	FIX LDB & DPB TO TEST POINTER BIT 12 ON CALL TO BYTEA.
; 926	;212	MODIFY JSP, JSR TO STORE FULL PC WITHOUT FLAGS IN NON-ZERO SEC
; 927	;	SEPARATE CONDITIONALS FOR "MODEL B" MACHINE FROM THOSE FOR
; 928	;	EXTENDED ADDRESSING MICROCODE.
; 929	;211	REMOVE UNNECESSARY DIDDLING OF VMA USER BIT DURING PAGE REFILL,
; 930	;	AND ELIMINATE SPECIAL CASE FOR MAP INSTRUCTION, WHEN EXTENDED
; 931	;	ADDRESSING HARDWARE EXISTS TO SOLVE THESE PROBLEMS.
; 932	;	FIX SEVERAL CASES OF SIGNS DISP WITH INADEQUATE CONSTRAINT.
; 933	;210	FIX DEFINITION OF "SKP LOCAL AC REF", WHICH CONFUSED "AC
; 934	;	REF" WITH "LOCAL AC REF".
; 935	;207	FIX JRSTF (AND ITS DERIVATIVES) TO LOAD FLAGS INTO AR AFTER
; 936	;	DOING EA MOD DISP, WHICH WOULD OTHERWISE CLOBBER THEM.  FIX
; 937	;	COMPEA CODE TO LET AREAD HARDWARE LOAD AR.  OTHERWISE GET SEC #.
; 938	;206	FIX PCTXT ROUTINE TO GET PREVIOUS CONTEXT SECTION.
; 939	;205	FIX POPJ TO LOAD HALFWORD OR FULLWORD PC ACCORDING TO PC SECT
; 940	;204	FIX CONDITIONALS AROUND LOC 47, WRONG IN 202.  FIX DEFINITION
; 941	;	OF A INDRCT, DOESN'T NEED #07.  FIX STACK INSTRUCTIONS FOR
; 942	;	EXTENDED ADDRESSING.  MUST NOT LOAD VMA FROM FULL AD.
; 943	;203	INCLUDE CODE AT NEXT+2 TO GENERATE ADDRESS MASK (LOW 23 BITS)
; 944	;	AT HALT TIME, AND CODE IN PICYCLE TO USE IT TO GET 23 BIT ADDR
; 945	;	OUT OF IOP FUNCTION WORD.
; 946	;202	MOVE "40+A" LOCATIONS TO "A" UNDER EXTENDED ADDRESSING.  CHANGE
; 947	;	ALL CALL MACROS TO GENERATE CALL BIT INSTEAD OF SPECIAL FUNC'S.
; 948	;201	BEGIN EXTENDED ADDRESSING CHANGES IN EARNEST.  INTEGRATE NEW
; 949	;	EFFECTIVE ADDRESS COMPUTATION CODE, AND REVISE INSTRUCTION
; 950	;	ROUTINES AS NECESSARY.
; 951	;126	FIX STRAC3-2, WHERE COMMA GOT LEFT OFF WHEN IFETCH MOVED
; 952	;125	REMOVE NXT INSTR FROM STAC1, STRAC3, & STAC4, MAKING THEM JUMP
; 953	;	TO FINI INSTEAD.  PROBLEM INVOLVES A RACE IF PAGE FAIL OCCURS
; 954	;	WHILE WRITING FM.  IF FM ADDRESS CHANGES BEFORE COND/FM WRITE
; 955	;	GOES FALSE, APR BOARD MAY GRONK PARITY BIT OF SOME FM LOC'N.
; 956	;	THIS RESULTS IN SOME SOME PATHS FROM FETCH TO NICOND BECOMING
; 957	;	LONGER THAN 6 TICKS, SO THE FETCHES GOT SHUFFLED IN SOME PLACES.
; 958	;	MICROCODE PATCH ELIMINATES MOST PROBABLE CAUSE, WHICH IS PAGE
; 959	;	FAIL AT NICOND TIME WHILE WRITING AC OTHER THAN 0.  IT DOES NOT
; 960	;	TAKE CARE OF THE POSSIBILITY THAT COND/FM WRITE WILL GLITCH AT
; 961	;	INSTR 1777 TIME.
; 962	;124	FIXES IN SEVERAL PLACES TO SET AND CLEAR ACCOUNT ENABLE SO AS
; 963	;	TO GET REPEATABLE ACCOUNTING MEASURES OF USEFUL WORK DONE. THE
; 964	;	ENABLE IS NOW CLEARED FOR METER UPDATE CYCLES AND KL PAGE REFILL
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-17
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 965	;	CYCLES.  THE HARDWARE ALREADY TAKES CARE OF PI CYCLES.
; 966	;123	CORRECT 122 TO CONSTRAIN LOC "UNHALT", AND TO LOAD ARX FROM AR,
; 967	;	SO AS TO LET "SKP AR EQ" WORK.  PROBLEM AROSE BECAUSE MACRO ALSO
; 968	;	TESTS ARX00-01.  FIX EDIT, WHEN STORING DEST POINTER ON SELECT
; 969	;	SIGNIFICANCE START, TO ELIMINATE AMBIGUITY IN DEST P FIELD.
; 970	;122	SPEC CHANGE TO EXIT FROM HALT LOOP, SO THAT AR0-8=0 WITH AR9-35
; 971	;	NON-ZERO LOADS AR INTO PC TO START PROCESSOR.  THIS IS DIFFERENT
; 972	;	FROM EXECUTING JRST BECAUSE PC FLAGS ARE CLEARED.
; 973	;121	FIX TO 120 TO ALLOW A CYCLE BETWEEN FILLER FROM MEMORY AND
; 974	;	WRITING IT INTO FM (THUS PARITY CAN BE COMPUTED).  ALSO CLEAR
; 975	;	STATE REGISTER IN EDIT BEFORE GETTING NEXT PATTERN BYTE.
; 976	;120	FIX EIS TO TOLERATE PAGE FAIL ON READ OF FILL BYTE IN MOVSRJ
; 977	;	OR B2D CONVERSION.  REQUIRES GETTING FILLER BEFORE STORING DLEN
; 978	;	ALSO INTEGRATE OPCODE COUNTING/TIMING CODE UNDER CONDITIONALS
; 979	;117	FIX PARITY ERROR CODE TO WRITEBACK AR ON RPW ERROR.
; 980	;116	REWRITE OF DDIV, SO THAT THE NO-DIVIDE TEST IS ON THE MOST
; 981	;	SIGNIFICANT HALF OF THE MAGNITUDE OF THE DIVIDEND, RATHER THAN
; 982	;	THE MAGNITUDE OF THE MOST SIGNIFICANT HALF.  IN THE PROCESS,
; 983	;	SAVE TIME AND SPACE.  ALSO PUT IN CONDITIONAL ASSEMBLY VARIABLE
; 984	;	"WRTST" TO INHIBIT WRITE TEST CYCLE FOR INSTRUCTIONS WHICH
; 985	;	APPEAR NOT TO NEED IT, AND THUS TO SPEED THEM UP.
; 986	;115	FIX SBDIAG TO SET MCL REG FUNC TO INHIBIT EBOX MAY BE PAGED.
; 987	;114	RECODE STRING COMPARE TO SAVE SPACE AND TIME.  CHANGE DEFAULTS
; 988	;	FOR KLPAGING TO INCLUDE EIS, EXCLUDE TRACKS FEATURE.  CHANGE
; 989	;	KLPAGING (NEW SPEC) TO KEEP "LOGICALLY WRITABLE" IN SOFTWARE BIT
; 990	;113	RECODE KL PAGING TO ELIMINATE PROBLEM OF WRITING HARDWARE
; 991	;	PAGE TABLE BEFORE CHECKING FOR AGE TRAP, AND THEREFORE LEAVING
; 992	;	THE PAGE ACCESSIBLE AFTER THE TRAP.  THE RECODING ALSO IMPROVES
; 993	;	THE ALGORITHM IN THAT THE HARDWARE ENTRY INCLUDES THE W BIT SET
; 994	;	IF THE CORE TABLES ALLOWED WRITE AND THE CST INDICATES WRITTEN,
; 995	;	EVEN IF THE CURRENT REFERENCE WAS NOT A WRITE.
; 996	;	ALSO FIX CODE WHICH WRITES PT DIR, TO GET WRITE REF BIT FROM
; 997	;	VMA HELD INTO BIT 5 OF SAVED PAGE FAIL WORD.
; 998	;112	FIX PAGE FAIL CODE FOR USE WITH PROB SHEET 1396, WHICH LOADS
; 999	;	PC IF PAGE FAIL OCCURS ON NICOND.  THUS CODE NEEDN'T CHECK FOR
; 1000	;	FETCH AT CLEAN, WHICH CAUSED OTHER PROBLEMS ON PARITY ERRORS.
; 1001	;	CLEAR FE AND SC IN NXT INSTR MACRO (JUST CLEANLINESS).
; 1002	;111	PATCH SEVERAL ROUTINES WITH THE FOLLOWING MACRO --
; 1003	;	FETCH WAIT	"MEM/MB WAIT"
; 1004	;	TO PREVENT SEQUENCES IN WHICH PAGE FAIL INFO CAN GET LOST
; 1005	;	BECAUSE OF LONG TIME FROM REQUEST TO MB WAIT.  THESE PATCHES
; 1006	;	SHOULD BE REMOVED AFTER AN ECO HAS BEEN INSTALLED TO FIX.
; 1007	;	IN ADDITION, EBUSX SUBROUTINE HAS BEEN MODIFIED TO PREVENT RACE
; 1008	;	CONDITION WHEN SETTING UP IO FUNCTION WITH COND/EBUS CTL AND
; 1009	;	MAGIC # BIT 4.  MUST NOT CHANGE #5 THROUGH #8 ON NEXT CYCLE.
; 1010	;	FIX KLPAGING CODE TO GO BACK TO AREAD ON MAP REF, BECAUSE
; 1011	;	MEM/AD FUNC DOESN'T CORRECTLY RESTORE APR REG FUNC.  ALSO MAKE
; 1012	;	THE CODE SMARTER ON NO MATCH CONDITION, SO REQUEST DOESN'T HAVE
; 1013	;	TO BE RESTARTED AND IMMEDIATELY FAIL AGAIN.
; 1014	;110	GIVE UP ON THE OLD STRING COMPARE CODE, INSTALLING MIKE NEWMAN'S
; 1015	;	VERSION.  SOMEWHAT SLOWER, BUT GIVES THE RIGHT ANSWERS.
; 1016	;	FIX LDB CODE TO WAIT FOR MEM WORD EVEN IF INTERRUPT REQUEST
; 1017	;	SEEN, SO AS NOT TO GET CONFUSED WHEN IT ARRIVES OR PAGE FAILS.
; 1018	;	ALSO IMPROVE CLRPT ROUTINE USED BY CONO AND DATAO PAG TO START
; 1019	;	LOOP WITH VMA CLEARED AND PT WR SELECTION SETUP CORRECTLY.
; 1020	;107	FIX STRING COMPARES TO CHECK FOR INTERRUPT.  THIS INVOLVED
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-18
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 1021	;	CHECKING DURING GSRC ROUTINE, WHICH ELIMINATES NEED FOR CHECK
; 1022	;	IN SRCMOD (WHICH CALLS GSRC).  IT ALSO REQUIRED CLEARING SFLGS
; 1023	;	AT STARTUP, AND ADJUSTING DLEN UPDATE CODE IN DEST FILL TO GET
; 1024	;	VALID LENGTH STORED ON INTERRUPT.
; 1025	;106	ELIMINATE RACE IN DECODING OF # FIELD ON MTR BOARD BY HOLDING
; 1026	;	LOW 3 BITS THROUGH NEXT MICROINSTRUCTION.
; 1027	;	FIX LUUO AND MUUO TO ALLOW INTERRUPTS.
; 1028	;	FIX B2D OFFSET TO SIGN-EXTEND E1 AFTER INTERRUPT.  FINISH 105,
; 1029	;	TO GET ENTIRE AR LOADED WHILE CLEARING MQ (ARL WAS HOLDING).
; 1030	;	FIX KL PAGING TO USE VMA/1 INSTEAD OF VMA/AD WHEN RESTORING VMA
; 1031	;	FROM VMA HELD OR COPIES THEREOF.
; 1032	;	FIX UFA NOT TO ALWAYS GET UNDERFLOW ON NEGATIVE RESULTS.
; 1033	;	SAME FIX AS EDIT 103 OF BREADBOARD.  WHERE DID IT GET LOST?
; 1034	;105	FIX KL PAGING AS REVISED BY EDIT 103 TO CORRECTLY RESTORE
; 1035	;	BR ON NO-MATCH CONDITION
; 1036	;	ANOTHER FIX TO B2D, TO CLEAR MQ ON ENTRY.  BUG INVOLVED GARBAGE
; 1037	;	FROM MQ SHIFTING INTO ARX DURING DEVELOPMENT OF POWER OF TEN.
; 1038	;104	FIX BINARY TO DECIMAL CONVERSION, WHICH WAS NOT GOING TO CLEAN
; 1039	;	ON FINDING AN INTERRUPT, AND ON RESTART WITH FPD SET, WAS NOT
; 1040	;	SETTING UP SLEN.  TSK, TSK.  CORRECT CLEANUP FOR DEST FILL IN
; 1041	;	MOVSRJ, WHICH WAS INCREMENTING BOTH SLEN AND DLEN, SHOULD
; 1042	;	HAVE BEEN NEITHER.  FIX JSR, BROKEN BY EDIT 103.  JUMP MUST BE
; 1043	;	TO E+1, NOT E.
; 1044	;103	CREATE CONDITIONAL ASSEMBLY FOR EXTENDED ADDRESSING. UNDER IT,
; 1045	;	CREATE MEM FIELD DEFINITIONS, SUPPRESS SXCT.
; 1046	;	SAVE A WORD IN JSR BY USING JSTAC IN COMMON WITH PUSHJ.
; 1047	;	FORCE TIME FIELD IN CASES WHERE ASSEMBLER DEFAULT SCREWS UP.
; 1048	;	ADD INTERRUPT TESTS IN KL PAGING CODE TO PREVENT HANGS, AND
; 1049	;	REVISE PAGE FAIL WORD TO ELIMINATE THE NEW FAIL CODES.
; 1050	;102	ATTEMPT ANOTHER FIX OF MOVSRJ, CVTBDX FILL.  EDIT 71 LOSES
; 1051	;	DUE TO INCONSISTENCY -- DLEN UPDATE MUST NOT PRECEED CLEANUP.
; 1052	;	CREATE CONDITIONAL ASSEMBLY SWITCHES TO CONTROL EXTENDED
; 1053	;	INSTRUCTION SET, DOUBLE INTEGER ARITHMETIC, AND ADJBP.  CHANGE
; 1054	;	DEFAULT OF IMULI.OPT, WHICH CAN GET SIGN WRONG ON OVERFLOW.
; 1055	;101	FIX METER REQUEST CODE TO "ABORT INSTR" EVEN IF NOT SETTING
; 1056	;	PI CYCLE.  THIS SHOULD FIX OCCASIONAL LOSS OF TRAPS PROBLEM.
; 1057	;100	FIXES TO KL PAGING CODE TO PREVENT LOADING VMA FROM AD WHILE
; 1058	;	REQUESTING PHYSICAL REF.  FIX JSR TO PREVENT FM PARITY STOP
; 1059	;	ON STORE TO AC.  FIX 1777 TO FORCE RECIRCULATION OF AR/ARX,
; 1060	;	EVEN IF MBOX RESP STILL TRUE.
; 1061	;77	FIX DDIV TO GET MQ SHIFTED LEFT ONE PLACE, WITHOUT INTRODUCING
; 1062	;	AN EXTRA BIT, AT DDVX1.  THIS INVOLVES INHIBITING ADA TO PREVENT
; 1063	;	AD CRY0 FROM COMMING INTO MQ35.
; 1064	;76	FIX UFA TO ALLOW AN EBOX CYCLE BETWEEN FETCH AND NICOND WHEN
; 1065	;	FRACTION SUM IS ZERO, AT UFA3.
; 1066	;75	PUT BACK INSTRUCTION "MBREL" REMOVED BY EDIT 64.  NECESSARY TO
; 1067	;	ENSURE THAT EBOX REQUEST FOR FETCH DOESN'T COME UP WHILE
; 1068	;	REGISTER FUNCTION IS IN PROGRESS, WHICH WOULD CONFUSE MBOX ON
; 1069	;	STARTING THE FETCH.
; 1070	;74	CHANGES TO EIS FOR NEW-SPEC AC USAGE.  CHANGES TO KL PAGING FOR
; 1071	;	INDIRECT, IMMEDIATE SECTION POINTERS
; 1072	;73	FIX JRA TO PREVENT WRITING AC WITH DATA FRESH FROM MEMORY (ALLOW
; 1073	;	A CYCLE FOR PARITY CHECK).  FIX DPB CODE TAKE ONLY 3 TICKS ON
; 1074	;	RETURN FROM BYTEA, SO THAT CACHE DATA DOESN'T ARRIVE INTO AR
; 1075	;	AND ARX UNTIL DPB1, WHEN THE BYTE HAS GOTTEN OUT TO MQ.
; 1076	;72	FIX DEFINITION OF SP MEM/UNPAGED TO INHIBIT VMA USER.  FIX
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-19
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 1077	;	PAGE FAIL CODE TO CHECK FOR VMA FETCH BEFORE LOOKING AT
; 1078	;	INTERRUPT REQUEST.  PROBLEM WAS INTERRUPT CONCURRENT WITH
; 1079	;	PAGE FAIL ON JRSTF TO USER.  PC FLAGS GOT RESTORED, BUT VMA
; 1080	;	NEVER COPIED TO PC BECAUSE PAGE FAIL INHIBITED NICOND, AND
; 1081	;	INTERRUPT ABORTED PAGE FAIL HANDLING TO LOAD PC.
; 1082	;71	DEFINE FMADR/AC4=6.  FIX MOVFIL ROUTINE TO PUT AWAY UPDATED
; 1083	;	LENGTH DIFFERENCE WHEN INTERRUPTED, THUS AVOIDING RANDOMNESS
; 1084	;	IN MOVSRJ, CVTBDX. FIX CVTBD CALL TO MOVFIL TO PRESERVE SR.
; 1085	;	CHANGE STMAC AND PIDONE FROM "FIN XFER" TO "FIN STORE", BECAUSE
; 1086	;	STORE WAS IN PROGRESS, WHICH CAUSED FM WRITE IF AC REF, AND
; 1087	;	GOT A PARITY ERROR DUE TO ADB/FM.
; 1088	;70	FIX PXCT 4,[POP ...], WHICH DIDN'T GET DEST CONTEXT SET FOR
; 1089	;	STORE.  MUST USE SR_100 TO SET IT.
; 1090	;67	FIX PROBLEM IN ADJBP BY WHICH BYTES/WORD WAS GETTING LOST
; 1091	;	WHEN DIVIDE ROUTINE LOADED REMAINDER INTO BR.  SOLVED BY
; 1092	;	SAVING BYTES/WORD IN T1.
; 1093	;66	FIX KL PAGING TO RESTORE VMA ON TRAP, SAVE ADDRESS OF POINTER
; 1094	;	CAUSING TRAP, AND NOT RESTORE ARX EXCEPT FOR BLT PAGE FAIL.
; 1095	;	ALSO SET TIME PARAMETER ON ADB/FM TO ALLOW TIME FOR PARITY
; 1096	;	CHECKING OF FM.
; 1097	;65	FIX KL PAGING CODE TO DO MBWAIT AFTER DETERMINING THAT PARITY
; 1098	;	ERROR HAS NOT OCCURRED, SO AS TO GET CORRECT VMA TO SAVE.
; 1099	;	CREATE SYMBOLS FOR KL PAGE FAIL CODES.  PUT CONDITIONAL
; 1100	;	ASSEMBLY AROUND IMULI OPTIMIZATION CODE, AND SXCT.  CREATE
; 1101	;	SYMBOL "OPTIONS" IN # FIELD FOR MICROCODE OPTIONS.
; 1102	;64	MICROCODE FOR KL10 PAGING (PAGE REFILL, MAP INSTR)...
; 1103	;	REMOVE UNNECESSARY INSTRUCTION MBREL: FROM SWEEP AND APRBO
; 1104	;	COSMETIC CHANGES TO KEEP COMMENTS & MACRO DEFINITIONS FROM
; 1105	;	OVERFLOWING LINE OF LISTING, AND INSERTION OF CONDITIONAL
; 1106	;	ASSEMBLY CONTROL OF LONG FLOATING POINT INSTRUCTIONS.
; 1107	;63	IN MTR REQUEST ROUTINE, DON'T DISMISS WHEN PI CYCLE HASN'T
; 1108	;	BEEN SET.
; 1109	;62	FIX RDMTR CODE TO PUT 35 IN SC BEFORE GOING TO DMOVEM CODE.
; 1110	;61	FIX PIIBP ROUTINE TO USE CALL.M INSTEAD OF SPEC/CALL,
; 1111	;	WHICH GETS OVERRIDDEN BY P_P-S... IN MTR REQUEST SERVICE
; 1112	;	ROUTINE, DON'T SET PI CYCLE UNLESS REQUEST IS FOR VECTOR.
; 1113	;60	FIX DATAO PAG TO DO MB WAIT AFTER STORING EBOX ACCT AND
; 1114	;	BEFORE CHANGING VMA.
; 1115	;57	RE-CODE USES OF A@, B@ TO USE VMA/1, RATHER THAN VMA/AD,
; 1116	;	IN ORDER TO GET CORRECT CONTEXT ON INDIRECT WORD. SEE MCL4
; 1117	;56	FIX SECOND PART OF PICYCLE (TAG NEXT:) TO ENSURE THAT
; 1118	;	PC+1 INH, KERNEL CYCLE, ETC REMAIN UP DURING 2ND PART.
; 1119	;	ALSO CHANGE SPEC/FLAG CTL FOR ECO 1261, WHICH REQUIRES
; 1120	;	#07 TO BE OPPOSITE OF #04 TO GENERATE SCD LEAVE USER.
; 1121	;55	FIX SPEC INSTR/SET PI CYCLE TO INHIBIT INTERRUPTS
; 1122	;	(IN PARTICULAR, METER UPDATE REQUESTS).  MAKE SURE VALID
; 1123	;	DATA SAVED ON IO PAGE FAIL AND PARITY ERRORS. REMOVE
; 1124	;	BACKWARDS BLT... IT BROKE TOO MANY PROGRAMS.
; 1125	;54	FIX OVERFLOW CHECK IN IMULI OPTIMIZATION TO INH CRY 18
; 1126	;	UPDATE TO USE CONDITIONAL ASSEMBLY IN MICRO VERS 20.
; 1127	;53	FIX T1,T2 PARAMETERS ON BYTE DISP, SIGNS DISP
; 1128	;52	CORRECT SHIFT AMOUNT FOR IMULI OPTIMIZATION, AND FIX MACRO
; 1129	;	DEFINITIONS FOR SET SR?, WHICH WERE ALWAYS SETTING SR0.
; 1130	;51	OPTIMIZE IMULI OF TWO POSITIVE OPERANDS (TO SPEED UP SUBSCRIPT
; 1131	;	CALCULATIONS) BY TAKING ONLY 9 MULTIPLY STEPS AND STARTING
; 1132	;	NEXT INSTRUCTION FETCH EARLIER.  OPTIMIZATION CAN BE REMOVED
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-20
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 1133	;	BY COMMENTING OUT TWO INSTRUCTIONS AT IMULI, AND ONE FOLLOWING
; 1134	;	IMUL.  ALSO FIX APRBI/UVERS TO KEEP SERIAL # OUT OF LH.
; 1135	;50	INTRODUCE SKIP/FETCH AND CODE IN PAGE FAIL RECOVERY TO LOAD
; 1136	;	PC FROM VMA IF PAGE FAIL OCCURED ON FETCH, BECAUSE NICOND
; 1137	;	CYCLE, WHICH SHOULD HAVE LOADED PC, GETS INHIBITED BY INSTR 1777
; 1138	;	ALSO INCLUDE EXTENDED INSTRUCTION SET.
; 1139	;47	UNDO XCT CHANGES OF EDIT 46, WHICH BROKE XCT DUE TO INSUFFICIENT
; 1140	;	TIME FOR DRAM HOLD BEFORE USING "A READ". ALSO FIX VECTOR
; 1141	;	INTERRUPT CODE TO LOOK AT CORRECT BITS FOR CONTROLLER NUMBER.
; 1142	;46	FOLLOW-ON TO EDIT 45, SAVING 2 WORDS AND A CYCLE
; 1143	;	ALSO MOVE JRST TO 600, JFCL TO 700, UUO'S TO 100X AS PREPARATION
; 1144	;	FOR EXTENDED INSTRUCTION SET
; 1145	;45	FIX SXCT TO LOOK AT AC FIELD OF SXCT, NOT SUBJECT INSTRUCTION,
; 1146	;	WHEN DECIDING WHETHER TO USE BASE-TYPE ADDRESS CALCULATION.
; 1147	;44	FIX PAGE FAIL LOGIC TO WORK FOR EITHER PAGE FAIL OR PARITY
; 1148	;	ERROR.  EDITS 42 AND 43 BOTH WRONG.  ALSO CORRECT RACE IN
; 1149	;	WRITING PERFORMANCE ANALYSIS ENABLES TO PREVENT SPURIOUS COUNTS.
; 1150	;43	CORRECT USE OF PF DISP BY EDIT 42.  LOW BITS ARE INVERTED
; 1151	;42	FIX BUGS INTRODUCED BY EDIT 40, WHICH MADE FLTR OF 1B0 HANG
; 1152	;	TRYING TO NEGATE IT, AND FIX UP EXPONENT CORRECTION ON LONG
; 1153	;	SHIFT LEFT.  ALSO PUT IN CODE TO HANDLE PARITY ERROR PAGE
; 1154	;	FAILURES, AND SET TIME CONTROLS ON 43-47.
; 1155	;41	REWRITE OF VECTOR INTERRUPT PROCESSING TO MAKE DTE VECTORS
; 1156	;	GO TO 142+8N, WHERE N IS DTE#.  RH20 GO TO PROGRAMMED ADDRESS
; 1157	;	IN EPT, EXTERNAL DEVICES USE EXEC VIRTUAL ADDRESSES.
; 1158	;40	IMPROVEMENTS TO FLOATING NORMALIZATION TO MAKE LONG SHIFTS
; 1159	;	FASTER, PRIMARILY TO HELP FLTR
; 1160	;37	FIX FLOATING DIVIDE SO THAT THE TRUNCATED FORM OF A NEGATIVE
; 1161	;	QUOTIENT IS EQUAL TO THE HIGH-ORDER PART OF THE INFINITE-
; 1162	;	PRECISION QUOTIENT.  SEE COMMENTS IN THE CODE.  ALSO BUM
; 1163	;	A CYCLE OUT OF FLOATING DIVIDE BY STARTING THE NORMALIZE
; 1164	;	WHILE MOVING THE QUOTIENT INTO AR.
; 1165	;	SEVERAL CHANGES TO MAKE TRACKS FEATURE WORK
; 1166	;36	FIX CONO MTR TO PUT DATA ON BOTH HALVES, SO PI CAN SEE PIA
; 1167	;35	FIX CONI PI TO READ BACK WRITE EVEN PARITY ENABLES
; 1168	;34	FIX BLT USE OF SR, SO NO CORRECTION OF ARX NECESSARY
; 1169	;33	FIX PAGE TABLE REFERENCES TO FORCE UNPAGED REF.  FIX TRAP
; 1170	;	TO SET PC+1 INHIBIT.
; 1171	;32	CORRECT SETTING OF SC FOR SHIFTING METER COUNTERS, TO GET
; 1172	;	12 BITS UNUSED AT RIGHT WHEN IT GETS TO CORE.
; 1173	;31	RECODE ASH AND ASHC TO SAVE SPACE
; 1174	;30	FIX JFFO TO SHIFT AR CORRECTLY AT JFFO2.  BUM ADJSP TO USE
; 1175	;	STMAC FOR UPDATING PDL POINTER.
; 1176	;27	FIX CONI PAG TO READ EBUS.  CORRECT DEFINITIONS OF MBOX
; 1177	;	REGISTER FUNCTIONS, WHICH HAD BITS 0 AND 3 INVERTED.
; 1178	;26	FIX DEFINITIONS OF DIAG FUNC CONO MTR AND CONO TIM, WHICH
; 1179	;	WERE REVERSED
; 1180	;25	FIX DECODING OF PHYSICAL DEVICE NUMBER IN PI FUNCTION CODE
; 1181	;	AND RE-CODE JFCL FOR FEWER MICROWORDS
; 1182	;24	FIX JFFO TO SHIFT ON FIRST 6-BIT TEST STEP, AND JRSTF TO
; 1183	;	KEEP E AND XR DISTINCT.  ALSO SET LOAD-ENABLE BITS IN
; 1184	;	DATAI PAG, WORD.
; 1185	;23	FIX CONO PI, TO HOLD AR ONTO EBUS THRU REL EBUS, BECAUSE
; 1186	;	PI BOARD DELAYS CONO PI TO GET CONO SET EQUIVALENT.
; 1187	;22	MORE JFCL FIXES.  MUST USE FLAG CTL/JFCL WHILE CLEARING BITS,
; 1188	;	AS WELL AS WHILE TESTING THEM.  BUM A WORD OUT OF JFFO BY
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-21
; EDHIS.MIC[4,24]	12:02 29-May-86			REVISION HISTORY					

; 1189	;	MAKING THE SIXBIT COUNT NEGATIVE.  CHANGES SO SHIFT SUBR
; 1190	;	RETURNS 2, BYTEA 1.  FIX SETMB TO STORE BACK AND FETCH.
; 1191	;21	RE-WRITE JFCL TO KEEP LOW OPCODE BITS OUT OF AR0-1, BECAUSE
; 1192	;	PC00 GETS PROPAGATED LEFT TO ADA -1 AND -2.
; 1193	;20	FIX BLT TO LOAD BR WITH SRC-DST ADDR
; 1194	;	ALSO SET TIME PARAMETERS ON CONDITIONAL FETCH FUNCTIONS
; 1195	;17	CHANGE SWEEP ONE PAGE TO PUT PAGE # IN E, RATHER THAN ADDR.
; 1196	;	ALSO CHANGE COND/FM WRITE TO MATCH ECO #1068.
; 1197	;16	FIX JUMP FETCH MACRO TO LOAD VMA FROM PC+1 (TEST SATISFIED
; 1198	;	OVERRIDES THIS TO HOLD VMA).  ALSO BUM ONE MICROWORD FROM MUUO.
; 1199	;15	INCLUDE PAGE FAIL DISP IN DISP/ FIELD
; 1200	;	ALSO MAKE MUUO STORE PROCESS CONTEXT WORD AT 426, AND SETUP
; 1201	;	PCS FROM PC EXTENSION, CWSX FROM SXCT
; 1202	;14	FIX DEFINITIONS OF SKIP/IO LEGAL, AC#0, SC0, EVEN PAR
; 1203	;	ALSO FIX DATAO PAG, TO SEND LH DATA ON BOTH HALVES OF EBUS
; 1204	;13	ALIGN SETEBR SO CALL TO SHIFT RETURNS CORRECTLY
; 1205	;12	MAKE SURE AD COPIES AR DURING DATAO, CONO, AND CLEAR AR AT
; 1206	;	SET DATAI TIME.
; 1207	;11	FIXES TO CONTINUE CODE SO CONSOLE WORKS, AND CORRECTIONS TO
; 1208	;	PROTECTED DEP/EXAM SO PROTECTION PROTECTS.
; 1209	;10	FIX A READ MACRO TO VMA/PC+1.  AD OVERRIDES UNLESS DRAM A=1
; 1210	;07	RE-WRITE OF PI CYCLE CODE TO RECOGNIZE NEW EBUS SPEC.
; 1211	;06	FIX DEFINITIONS OF SKIPS 40-57 BY COMPLEMENTING 3 LOW ORDER BITS
; 1212	;	FIX MULSUB TO CORRESPOND TO NEW CRA LOGIC
; 1213	;05	FIX EBUS CTL DEFINITIONS TO GET F01 CORRECT.  CORRECT FLAG CTL
; 1214	;	DEFINITIONS TO PREVENT LEAVE USER WHEN NOT WANTED, AND FIX
; 1215	;	JRST/JFCL TO HAVE FLAGS IN AR WHEN NEEDED.
; 1216	;04	FIX RETURNS FROM MULSUB, PUT BETTER COMMENTS ON SNORM CODE,
; 1217	;	IMPROVE SNORM ALGORITHM TO MINIMIZE WORST-CASE TIME.
; 1218	;03	FIX DISPATCH ADDRESS PROBLEMS, MOSTLY JRST/JFCL AND UUO'S.
; 1219	;02	CHANGES PER INSTRUCTION SET REVIEW -- DELETE USE OF BIT12 OF
; 1220	;	BYTE POINTERS, CHANGE BLT TO PUT FINAL SRC,DST ADDRESSES IN AC,
; 1221	;	MAKE TRUNCATE FORM FLOATING POINT REALLY TRUNCATE, ELIMINATE
; 1222	;	LOCAL JSYS SUPPORT, DELETE PXCT OPCODE (XCT W/ NON-ZERO AC IN
; 1223	;	EXEC MODE), LUUO'S GO TO 40/41 OF CURRENT SPACE.
; 1224	;01	UPDATES FOR .TITLE AND .TOC PSEUDO OPS,
; 1225	;	AND VARIOUS CHANGES FOR PROTO HARDWARE
; 1226	;00	CREATION, BASED ON BREADBOARD AS OF EDIT 66
						; 1227	.BIN
						; 1228	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; DEFINE.MIC[4,24]	16:58 23-May-86			CONDITIONAL ASSEMBLY VARIABLE DEFINITIONS		

						; 1229	.TOC	"CONDITIONAL ASSEMBLY VARIABLE DEFINITIONS"
; 1230	.NOBIN
; 1231	
; 1232	; [COST ESTIMATES IN BRACKETS INDICATE NUMBER OF ADDITIONAL
; 1233	; MICROINSTRUCTIONS REQUIRED BY TURNING ON THE FEATURE SWITCH]
; 1234	
; 1235	.DEFAULT/TRACKS=0	;1 ENABLES STORING PC AFTER EVERY INSTRUCTION,
; 1236				; & CREATES DATAI/O PI TO READ/SETUP PC BUFFER
; 1237				;ADDRESS. [COST = 21 WDS]
; 1238	
; 1239	.DEFAULT/OP.CNT=0	;1 ENABLES CODE TO BUILD A HISTOGRAM IN CORE
; 1240				; COUNTING USES OF EACH OPCODE IN USER & EXEC
; 1241	
; 1242	.DEFAULT/OP.TIME=0	;1 ENABLES CODE TO ACCUMULATE TIME SPENT BY
; 1243				; EACH OPCODE
; 1244	
; 1245	.DEFAULT/SO.CNT=0	;SECOND ORDER COUNTING IN 128K STARTING AT LOC
; 1246				; 400000 NOT DEBUGED [COST = 28 WDS]
; 1247	
; 1248	.DEFAULT/SO2.CNT=0	;SECOND ORDER COUNTING IN 128K STARTING AT LOC
; 1249				; PRESENTED AT START DOES ONE MORE ADD THAN
; 1250				; SO.CNT AND HENCE AN INSTRUCTION TAKES
; 1251				; 120 NS LONGER THAN SO.CNT [COST = 28 WDS]
; 1252	
; 1253	.DEFAULT/PAGCNT=0	;Enable code to count entries into the PFH and
; 1254				; number of DATAO PAGs with bit 2 set.  [Cost =
; 1255				; 6 words] [327]
; 1256	
; 1257	.DEFAULT/FPLONG=1	;1 ENABLES KA-STYLE DOUBLE PRECISION FLOATING
; 1258				;POINT INSTRUCTIONS: FADL, FSBL, FMPL, FDVL,
; 1259				; UFA, DFN. [COST = 49 WDS]
; 1260	
; 1261	.DEFAULT/MULTI=0	;1 IF MULTIPROCESSOR SYSTEM, TO SUPPRESS CACHE
; 1262				;ON UNPAGED REF'S.  PAGED REF'S ARE UP TO EXEC.
; 1263	
; 1264	.DEFAULT/MOS.MULTI=0	;1 if we have multiported MOS memory.  This hardware
; 1265				;project was abandoned before it was completed.
; 1266				;[Cost = 5 wds.]
; 1267	
; 1268	.DEFAULT/SNORM.OPT=0	;1 ENABLES FASTER NORMALIZATION OF SINGLE-
; 1269				; PRECISION RESULTS WHICH HAVE SEVERE LOSS OF
; 1270				; SIGNIFICANCE [COST = 4 WDS]
; 1271	
;;1272	.IF/TRACKS		;SETUP CONTROL FOR COMMON CODE
;;1273		.SET/INSTR.STAT=1
; 1274	.ENDIF/TRACKS
; 1275	
;;1276	.IF/OP.CNT
;;1277		.SET/INSTR.STAT=1	;ENABLE COMMON CODE, ERROR IF TRACKS TOO
; 1278	.ENDIF/OP.CNT
; 1279	
;;1280	.IF/OP.TIME
;;1281		.SET/INSTR.STAT=1	;ERROR IF TRACKS OR OP.CNT ALSO SET
; 1282	.ENDIF/OP.TIME
; 1283	
;;1284	.IF/SO.CNT
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-1
; DEFINE.MIC[4,24]	16:58 23-May-86			CONDITIONAL ASSEMBLY VARIABLE DEFINITIONS		

;;1285		.SET/INSTR.STAT=1
; 1286	.ENDIF/SO.CNT
; 1287	
;;1288	.IF/SO2.CNT
;;1289		.SET/INSTR.STAT=1
; 1290	.ENDIF/SO2.CNT
; 1291	
; 1292	.DEFAULT/INSTR.STAT=0		;IF NO STATISTICS, TURN OFF COMMON CODE
; 1293	
;;1294	.IF/INSTR.STAT
;;1295		.SET/NONSTD=1		;STATISTICS CODE IS NONSTANDARD
;;1296		.SET/TRXDEF=1		;Make sure TRX registers get defined [327]
; 1297	.ENDIF/INSTR.STAT
; 1298	
;;1299	.IF/PAGCNT
;;1300		.SET/NONSTD=1		;All statistics are nonstandard
;;1301		.SET/TRXDEF=1		;We need the TRX registers
; 1302	.ENDIF/PAGCNT
; 1303	
; 1304	.DEFAULT/TRXDEF=0		;Normally no TRX registers needed
; 1305	
; 1306	.DEFAULT/NONSTD=0		;NONSTANDARD MICROCODE IS NORMALLY OFF
; 1307	.DEFAULT/OWGBP=0		;[264]
; 1308	.DEFAULT/IPA20=0		;[264]
; 1309	.DEFAULT/NOCST=0		;[264]
; 1310	.DEFAULT/CST.WRITE=1		;[314] Enable CST writable bit
; 1311	.DEFAULT/BIG.PT=1		;[333][347] Special code for big page table and Keep bit
; 1312	.DEFAULT/DDT.BUG=0		;[346] If on, enable APRID hack to move bit 23
; 1313	.DEFAULT/GFTCNV=1		;[273] GFLOAT CONVERSION INST.
; 1314	.DEFAULT/EDIT=1			;Edit is usually here  ****HACK****
; 1315	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; DEFINE.MIC[4,24]	16:58 23-May-86			HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS	

; 1316	.TOC	"HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS"
; 1317	
; 1318	;(1)	FIELD DEFINITIONS
; 1319	;	THESE OCCUR AT THE BEGINNING OF THE LISTING, IN THE SOURCE FILE
; 1320	; DEFINE.MIC (CONTROL AND DISPATCH RAM DEFINITIONS).
; 1321	; THEY HAVE THE FORM:
; 1322	;	SYMBOL/=<L:R>M,J
; 1323	;ANOTHER FORM ACCEPTED BY THE ASSEMBLER (FOR HISTORIC REASONS) IS:
; 1324	;	SYMBOL/=J,K,R,M		;THIS FORM HAS BEEN REMOVED FROM THIS CODE
; 1325	;	THE PARAMETER (J) IS MEANINGFUL ONLY WHEN "D" IS SPECIFIED
; 1326	; AS THE DEFAULT MECHANISM, AND IN THAT CASE, GIVES THE DEFAULT VALUE OF
; 1327	; THE FIELD IN OCTAL.
; 1328	;	THE PARAMETER (K) GIVES THE FIELD SIZE IN (DECIMAL) NUMBER
; 1329	; OF BITS. THIS IS USED ONLY IN THE OUTDATED FORMAT.
; 1330	;	THE PARAMETER (L) GIVES THE BIT POSITION OF THE LEFTMOST BIT
; 1331	;IN THE FIELD. THE SAME METHOD IS USED AS FOR (R) BELOW.
; 1332	;	THE PARAMETER (R) GIVES THE FIELD POSITION IN DECIMAL
; 1333	; AS THE BIT NUMBER OF THE RIGHTMOST BIT OF THE FIELD.  BITS ARE NUMBERED
; 1334	; FROM 0 ON THE LEFT.  NOTE THAT THE POSITION OF BITS IN THE MICROWORD
; 1335	; SHOWN IN THE LISTING BEARS NO RELATION TO THE ORDERING OF BITS IN THE
; 1336	; HARDWARE MICROWORD, WHERE FIELDS ARE OFTEN BROKEN UP AND SCATTERED.
; 1337	;	THE PARAMETER (M) IS OPTIONAL, AND SELECTS A DEFAULT
; 1338	; MECHANISM FOR THE FIELD.  THE LEGAL VALUES OF THIS PARAMETER ARE THE
; 1339	; CHARACTERS "D", "T", "P", OR "+".
; 1340	;	  "D" MEANS (J) IS THE DEFAULT VALUE OF THE FIELD IF NO EXPLICIT
; 1341	;	VALUE IS SPECIFIED.
; 1342	;	  "T" IS USED ON THE TIME FIELD TO SPECIFY THAT THE VALUE OF THE
; 1343	;	FIELD DEPENDS ON THE TIME PARAMETERS SELECTED FOR OTHER FIELDS.
; 1344	;	THE VALUE OF A FIELD WITH THIS SPECIFICATION DEFAULTS TO THE
; 1345	;	MAX OF <SUM OF THE T1 PARAMETERS DEFINED FOR FIELD/VALUES
; 1346	;	SPECIFIED IN THIS MICROINSTRUCTION>, <SUM OF THE T2 PARAMETERS
; 1347	;	FOR THIS MICROINSTRUCTION>, <J PARAMETER OF THIS FIELD>.
; 1348	;	WITHIN THE KL10 MICROCODE, T1 PARAMETERS ARE USED TO SPECIFY
; 1349	;	FUNCTIONS WHICH DEPEND ON THE ADDER SETUP TIME, AND T2 PARAMETERS
; 1350	;	ARE USED FOR FUNCTIONS WHICH REQUIRE ADDITIONAL TIME FOR CORRECT
; 1351	;	SELECTION OF THE NEXT MICROINSTRUCTION ADDRESS.
; 1352	;	  "P" IS USED ON THE PARITY FIELD TO SPECIFY THAT THE VALUE OF THE
; 1353	;	FIELD SHOULD DEFAULT SUCH THAT PARITY OF THE ENTIRE WORD
; 1354	;	IS ODD.  IF THIS OPTION IS SELECTED ON A FIELD WHOSE SIZE (K) IS
; 1355	;	ZERO, THE MICRO ASSEMBLER WILL ATTEMPT TO FIND A BIT SOMEWHERE
; 1356	;	IN THE WORD FOR WHICH NO VALUE IS SPECIFIED OR DEFAULTED.
; 1357	;	  "+" IS USED ON THE JUMP ADDRESS FIELD TO SPECIFY THAT THE DEFAULT
; 1358	;	JUMP ADDRESS IS THE ADDRESS OF THE NEXT INSTRUCTION ASSEMBLED (NOT,
; 1359	;	IN GENERAL, THE CURRENT LOCATION +1).
; 1360	;	IN GENERAL, A FIELD CORRESPONDS TO THE SET OF BITS WHICH PROVIDE
; 1361	; SELECT INPUTS FOR MIXERS OR DECODERS, OR CONTROLS FOR ALU'S.
; 1362	; EXAMPLES:
; 1363	;	AR/=<24:26>D,0	OR	AR/=0,3,26,D
; 1364	;	THE MICROCODE FIELD WHICH CONTROLS THE AR MIXER (AND THEREFORE
; 1365	; THE DATA TO BE LOADED INTO AR ON EACH EBOX CLOCK) IS THREE BITS WIDE
; 1366	; AND THE RIGHTMOST BIT IS SHOWN IN THE LISTING AS BIT 26 OF THE
; 1367	; MICROINSTRUCTION.  IF NO VALUE IS SPECIFICALLY REQUESTED FOR THE FIELD,
; 1368	; THE MICROASSEMBLER WILL ENSURE THAT THE FIELD IS 0.
; 1369	;	AD/=<12:17>	OR	AD/=0,6,17
; 1370	;	THE FIELD WHICH CONTROLS THE AD IS 6 BITS WIDE, ENDING ON
; 1371	; BIT 17.  THE FOURTH PARAMETER OF THE FIELD IS OMITTED, SO THE FIELD
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2-1
; DEFINE.MIC[4,24]	16:58 23-May-86			HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS	

; 1372	; IS AVAILABLE TO THE MICROASSEMBLER (IF NO VALUE IS EXPLICITLY
; 1373	; CALLED OUT FOR THE FIELD) FOR MODIFICATION TO ENSURE ODD PARITY IN THE
; 1374	; ENTIRE WORD.
; 1375	;
; 1376	;(2)	VALUE DEFINITIONS
; 1377	;	FOLLOWING A FIELD DEFINITION, SYMBOLS MAY BE CREATED IN THAT
; 1378	; FIELD TO CORRESPOND TO VALUES OF THE FIELD.  THE FORM IS:
; 1379	;	SYMBOL=N,T1,T2
; 1380	;	"N" IS, IN OCTAL, THE VALUE OF SYMBOL WHEN USED IN THE FIELD.
; 1381	; T1 AND T2 ARE OPTIONAL, AND SPECIFY PARAMETERS IN THE TIME FIELD
; 1382	; CALCULATION FOR MICROINSTRUCTIONS IN WHICH THIS FIELD/SYMBOL IS USED.
; 1383	; THE MICROASSEMBLER COMPUTES THE SUMS OF ALL THE T1'S AND ALL THE T2'S
; 1384	; SPECIFIED FOR FIELD/SYMBOL SPECIFICATIONS IN A WORD, AND USES THE MAX
; 1385	; OF THE TWO SUMS AS THE DEFAULT VALUE FOR THE FIELD WHOSE DEFAULT
; 1386	; MECHANISM IS "T".  EXAMPLES:
; 1387	;	AD/=<12:17>	;FIELD DEFINITION IN WHICH FOLLOWING SYMBOLS EXIST
; 1388	;	XOR=31
; 1389	;	A+B=6,1
; 1390	;	HERE THE SYMBOLS "XOR" AND "A+B" ARE DEFINED FOR THE "AD" FIELD.
; 1391	; TO THE ASSEMBLER, THEREFORE, WRITING "AD/XOR" MEANS PUT THE VALUE 31
; 1392	; INTO THE 6-BIT FIELD ENDING ON BIT 17 OF THE MICROWORD.  THE SYMBOLS
; 1393	; ARE CHOSEN FOR MNEMONIC SIGNIFICANCE, OF COURSE, SO ONE READING
; 1394	; THE MICROCODE WOULD INTERPRET "AD/XOR" AS "THE OUTPUT OF AD SHALL BE THE
; 1395	; EXCLUSIVE OR OF ITS A AND B INPUTS".  SIMILIARLY, "AD/A+B" IS READ AS
; 1396	; "AD PRODUCES THE SUM OF A AND B".  THE SECOND PARAMETER IN THE DEFINITION
; 1397	; OF "A+B" IS A CONTROL TO THE MICRO ASSEMBLER'S TIME-FIELD CALCULATION,
; 1398	; WHICH TELLS THE ASSEMBLER THAT THIS OPERATION TAKES LONGER THAN THE
; 1399	; BASIC CYCLE, AND THEREFORE THAT THE TIME FIELD SHOULD BE INCREASED.
; 1400	;	AR/=<24:26>D,0	;FIELD DEFINITION FOR FOLLOWING SYMBOLS
; 1401	;	AR=0
; 1402	;	AD=2
; 1403	;	HERE THE SYMBOLS "AR" AND "AD" ARE DEFINED FOR THE FIELD NAMED
; 1404	; "AR", WHICH CONTROLS THE AR MIXER.  WE COULD WRITE AR/AR TO MEAN THAT
; 1405	; THE AR MIXER SELECT INPUTS WOULD BE 0, WHICH IN THE
; 1406	; HARDWARE SELECTS THE AR OUTPUT FOR RECIRCULATION TO THE REGISTER.  IN
; 1407	; PRACTICE, HOWEVER, WE WANT THIS TO BE THE DEFAULT CASE, SO THAT AR
; 1408	; DOES NOT CHANGE UNLESS WE SPECIFICALLY REQUEST IT, SO THE FIELD
; 1409	; DEFINITION SPECIFIES 0 AS THE DEFAULT VALUE OF THE FIELD.  IF WE
; 1410	; WANT AR LOADED FROM THE AD OUTPUT, WE WRITE "AR/AD" TO SET THE
; 1411	; MIXER SELECTS TO PASS THE AD OUTPUT INTO THE AR.
; 1412	;
; 1413	;(3)	LABEL DEFINITIONS
; 1414	;	A MICRO INSTRUCTION MAY BE LABELLED BY A SYMBOL FOLLOWED BY COLON
; 1415	; PRECEDING THE MICROINSTRUCTION DEFINITION.  THE ADDRESS OF THE
; 1416	; MICROINSTRUCTION BECOMES THE VALUE OF THE SYMBOL IN THE FIELD NAMED "J".
; 1417	; EXAMPLE:
; 1418	;	FOO:	J/FOO
; 1419	;	THIS IS A MICROINSTRUCTION WHOSE "J" FIELD (JUMP ADDRESS) CONTAINS
; 1420	; THE VALUE "FOO".  IT ALSO DEFINES THE SYMBOL "FOO" TO BE THE ADDRESS
; 1421	; OF ITSELF.  THEREFORE, IF EXECUTED BY THE MICROPROCESSOR, IT WOULD
; 1422	; LOOP ON ITSELF.
; 1423	;
; 1424	;(4)	COMMENTS
; 1425	;	A SEMICOLON ANYWHERE ON A LINE CAUSES THE REST OF THE LINE
; 1426	; TO BE IGNORED BY THE ASSEMBLER.  THIS TEXT IS AN EXAMPLE OF COMMENTS.
; 1427	;
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2-2
; DEFINE.MIC[4,24]	16:58 23-May-86			HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS	

; 1428	;(5)	MICROINSTRUCTION DEFINITION
; 1429	;	A WORD OF MICROCODE IS DEFINED BY SPECIFYING A FIELD NAME,
; 1430	; FOLLOWED BY SLASH (/), FOLLOWED BY A VALUE.  THE VALUE MAY BE A
; 1431	; SYMBOL DEFINED FOR THAT FIELD, AN OCTAL DIGIT STRING, OR A DECIMAL
; 1432	; DIGIT STRING (DISTINGUISHED BY THE FACT THAT IT CONTAINS "8" AND/OR
; 1433	; "9" AND/OR IS TERMINATED BY A PERIOD). SEVERAL FIELDS MAY BE SPECIFIED
; 1434	; IN ONE MICROINSTRUCTION BY SEPARATING FIELD/VALUE SPECIFICATIONS WITH
; 1435	; COMMAS.  EXAMPLE:
; 1436	;	ADB/BR,ADA/AR,AD/A+B,AR/AD
; 1437	;	THE FIELD NAMED "ADB" IS GIVEN THE VALUE NAMED "BR" (TO
; 1438	; CAUSE THE MIXER ON THE B SIDE OF AD TO SELECT BR), FIELD "ADA" HAS VALUE
; 1439	; "AR", FIELD "AD" HAS VALUE "A+B", AND FIELD "AR" HAS VALUE "AD".
; 1440	;
; 1441	;(6)	CONTINUATION
; 1442	;	THE DEFINITION OF A MICROINSTRUCTION MAY CONTINUED ONTO TWO OR
; 1443	; MORE LINES BY BREAKING IT AFTER ANY COMMA.  IN OTHER WORDS, IF THE
; 1444	; LAST NON-BLANK, NON-COMMENT CHARACTER ON A LINE IS A COMMA, THE
; 1445	; INSTRUCTION SPECIFICATION IS CONTINUED ON THE FOLLOWING LINE.
; 1446	; EXAMPLE:
; 1447	;	ADB/BR,ADA/AR,		;SELECT AR & BR AS AD INPUTS
; 1448	;		AD/A+B,AR/AD	;TAKE THE SUM INTO AR
; 1449	; BY CONVENTION, CONTINUATION LINES ARE INDENTED AN EXTRA TAB.
; 1450	;
; 1451	;(7)	MACROS
; 1452	;	A MACRO IS A SYMBOL WHOSE VALUE IS ONE OR MORE FIELD/VALUE
; 1453	; SPECIFICATIONS AND/OR MACROS.  A MACRO DEFINITION IS A LINE CONTAINING
; 1454	; THE MACRO NAME FOLLOWED BY A QUOTED STRING WHICH IS THE VALUE OF THE
; 1455	; MACRO.  EXAMPLE:
; 1456	;	AR_AR+BR	"ADB/BR,ADA/AR,AD/A+B,AR/AD"
; 1457	; THE APPEARANCE OF A MACRO IN A MICROINSTRUCTION DEFINITION IS EQUIVALENT
; 1458	; TO THE APPEARANCE OF ITS VALUE.  MACROS FOR VARIOUS FUNCTIONS
; 1459	; ARE DEFINED IN "MACRO.MIC".
; 1460	;
; 1461	;(8)	PSEUDO OPS
; 1462	;	THE MICRO ASSEMBLER HAS 10 PSEUDO-OPERATORS:
; 1463	;.DCODE AND .UCODE SELECT THE RAM INTO WHICH SUBSEQUENT MICROCODE WILL
; 1464	;BE LOADED, AND THEREFORE THE FIELD DEFINITIONS AND MACROS WHICH ARE
; 1465	;MEANINGFUL IN SUBSEQUENT MICROCODE
; 1466	;.TITLE DEFINES A STRING OF TEXT TO APPEAR IN THE PAGE HEADER, AND
; 1467	;.TOC DEFINES AN ENTRY FOR THE TABLE OF CONTENTS AT THE BEGINNING.
; 1468	;.SET DEFINES THE VALUE OF A CONDITIONAL ASSEMBLY PARAMETER,
; 1469	;.CHANGE REDEFINES A CONDITIONAL ASSEMBLY PARAMETER,
; 1470	;.DEFAULT ASSIGNS A VALUE TO AN UNDEFINED PARAMETER.
; 1471	;.IF ENABLES ASSEMBLY IF THE VALUE OF THE PARAMETER IS NOT ZERO,
; 1472	;.IFNOT ENABLES ASSEMBLY IF THE PARAMETER VALUE IS ZERO, AND
; 1473	;.ENDIF RE-ENABLES ASSEMBLY IF SUPPRESSED BY THE PARAMETER NAMED.
; 1474	;
; 1475	;(9)	LOCATION CONTROL
; 1476	;	A MICROINSTRUCTION "LABELLED" WITH A NUMBER IS ASSIGNED TO THAT
; 1477	; ADDRESS.
; 1478	;	THE CHARACTER "=" AT THE BEGINNING OF A LINE, FOLLOWED BY
; 1479	; A STRING OF 0'S, 1'S, AND/OR *'S, SPECIFIES A CONSTRAINT ON THE
; 1480	; ADDRESS OF FOLLOWING MICROINSTRUCTIONS.  THE NUMBER OF CHARACTERS
; 1481	; IN THE CONSTRAINT STRING (EXCLUDING THE "=") IS THE NUMBER OF LOW-ORDER
; 1482	; BITS CONSTRAINED IN THE ADDRESS.  THE MICROASSEMBLER ATTEMPTS TO FIND
; 1483	; AN UNUSED LOCATION WHOSE ADDRESS HAS 0 BITS IN THE POSITIONS
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2-3
; DEFINE.MIC[4,24]	16:58 23-May-86			HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS	

; 1484	; CORRESPONDING TO 0'S IN THE CONSTRAINT STRING AND 1 BITS WHERE THE
; 1485	; CONSTRAINT HAS 1'S.  ASTERISKS DENOTE "DON'T CARE" BIT POSITIONS.
; 1486	;	IF THERE ARE ANY 0'S IN THE CONSTRAINT STRING, THE CONSTRAINT
; 1487	; IMPLIES A BLOCK OF <2**N> MICROWORDS, WHERE N IS THE NUMBER OF 0'S
; 1488	; IN THE STRING.  ALL LOCATIONS IN THE BLOCK WILL HAVE 1'S IN THE ADDRESS
; 1489	; BITS CORRESPONDING TO 1'S IN THE STRING, AND BIT POSITIONS DENOTED BY *'S
; 1490	; WILL BE THE SAME IN ALL LOCATIONS OF THE BLOCK.
; 1491	;	IN SUCH A CONSTRAINT BLOCK, THE DEFAULT ADDRESS PROGRESSION IS
; 1492	; COUNTING IN THE "0" POSITIONS OF THE CONSTRAINT STRING, BUT A NEW
; 1493	; CONSTRAINT STRING OCCURING WITHIN A BLOCK MAY FORCE SKIPPING OVER
; 1494	; SOME LOCATIONS OF THE BLOCK.  WITHIN A BLOCK, A NEW CONSTRAINT
; 1495	; STRING DOES NOT CHANGE THE PATTERN OF DEFAULT ADDRESS PROGRESSION, IT
; 1496	; MERELY ADVANCES THE LOCATION COUNTER OVER THOSE LOCATIONS.  THE
; 1497	; MICROASSEMBLER WILL LATER FILL THEM IN.
; 1498	;	A NULL CONSTRAINT STRING ("=" FOLLOWED BY ANYTHING BUT "0",
; 1499	; "1", OR "*") SERVES TO TERMINATE A CONSTRAINT BLOCK.
; 1500	; EXAMPLES:
; 1501	;	=0
; 1502	;	THIS SPECIFIES THAT THE LOW-ORDER ADDRESS BIT MUST BE ZERO--
; 1503	; THE MICROASSEMBLER FINDS AN EVEN-ODD PAIR OF LOCATIONS, AND PUTS
; 1504	; THE NEXT TWO MICROINSTRUCTIONS INTO THEM.
; 1505	;	=11
; 1506	;	THIS SPECIFIES THAT THE TWO LOW-ORDER BITS OF THE ADDRESS MUST
; 1507	; BOTH BE ONES.  SINCE THERE ARE NO 0'S IN THIS CONSTRAINT, THE
; 1508	; ASSEMBLER FINDS ONLY ONE LOCATION MEETING THE CONSTRAINT.
; 1509	;	=0*****
; 1510	;	THIS SPECIFIES AN ADDRESS IN WHICH THE "40" BIT IS ZERO.  DUE
; 1511	; TO THE IMPLEMENTATION OF THIS FEATURE IN THE ASSEMBLER,  THE DEFAULT
; 1512	; ADDRESS PROGRESSION APPLIES ONLY TO THE LOW-ORDER 5 BITS, SO THIS
; 1513	; CONSTRAINT FINDS ONE WORD IN WHICH THE "40" BIT IS ZERO, AND DOES
; 1514	; NOT ATTEMPT TO FIND ONE IN WHICH THAT BIT IS A ONE.
; 1515	;THIS LIMITATION HAS BEEN CHANGED WITH NEWER ASSEMBLER VERSIONS.
; 1516	;HOWEVER NONE OF THE LOCATIONS IN THE MICROCODE REQUIRE ANYTHING BUT THE
; 1517	;CONSTRAINT MENTIONED ABOVE.
; 1518	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3
; DEFINE.MIC[4,24]	16:58 23-May-86			MICROCODE LISTING TEMPLATE				

; 1519	.TOC	"MICROCODE LISTING TEMPLATE"
; 1520	;HERE IS A TEMPLATE WHICH CAN BE USED WITH THE MICROCODE
; 1521	; LISTING TO IDENTIFY FIELDS IN THE OUTPUT --
; 1522	
; 1523	
; 1524	; ----  ---- ---- ---- ---- ---- ---- ----
; 1525	; [--]  [--] []!! !!!! !!!! !![] [][] ![-]
; 1526	;   !     !   !!! !!!! !!!! !! !  ! ! ! + # = MAGIC NUMBERS
; 1527	;   !     !   !!! !!!! !!!! !! !  ! ! + MARK = SCOPE SYNC
; 1528	;   !     !   !!! !!!! !!!! !! !  ! !
; 1529	;   !     !   !!! !!!! !!!! !! !  ! + CALL, DISP/SPEC = SPEC FUNCTIONS
; 1530	;   !     !   !!! !!!! !!!! !! !  + SKIP/COND = SPECIAL FUNCTIONS
; 1531	;   !     !   !!! !!!! !!!! !! !
; 1532	;   !     !   !!! !!!! !!!! !! + TIME, MEM = UINST TIME & MEM FUNCTION
; 1533	;   !     !   !!! !!!! !!!! !+ VMA = VMA INPUT SELECT
; 1534	;   !     !   !!! !!!! !!!! + SH/ARMM = SH FUNCTION / ARMM SELECT
; 1535	;   !     !   !!! !!!! !!!!
; 1536	;   !     !   !!! !!!! !!!+ SC, FE = SC INPUT SELECT & FE LOAD
; 1537	;   !     !   !!! !!!! !!+ SCADB = SELECT FOR SCAD "B" INPUT
; 1538	;   !     !   !!! !!!! !+ SCADA = ENABLE AND SELECT FOR SCAD "A" INPUT
; 1539	;   !     !   !!! !!!! + SCAD = SC/FE ADDER FUNCTION
; 1540	;   !     !   !!! !!!!
; 1541	;   !     !   !!! !!!+ FM ADR = FAST MEMORY ADDRESS SELECT
; 1542	;   !     !   !!! !!+ BR, BRX, MQ = LOAD BR & BRX, SEL FOR MQ
; 1543	;   !     !   !!! !+ ARX = SELECT FOR ARX INPUT
; 1544	;   !     !   !!! + AR = SELECT FOR AR INPUT
; 1545	;   !     !   !!!
; 1546	;   !     !   !!+ ADB = SELECT FOR ADDER "B" INPUT
; 1547	;   !     !   !+ ADA = SELECT AND ENABLE FOR ADDER "A" INPUT
; 1548	;   !     !   + AD = OPERATION IN ADDER AND ADDER EXTENSION
; 1549	;   !     !
; 1550	;   !     + J = BASE ADDRESS TO WHICH THIS MICROINSTRUCTION JUMPS
; 1551	;   !
; 1552	;   + LOCATION IN CRAM INTO WHICH THIS WORD IS LOADED
; 1553	;
; 1554	; U/V = MICRO INSTRUCTION FOR CRAM
; 1555	
; 1556	;*******************************************************************
; 1557	
; 1558	; D = WORD FOR DRAM
; 1559	;
; 1560	;   + LOCATION IN DRAM INTO WHICH THIS WORD IS LOADED
; 1561	;   !
; 1562	;   !   + A = OPERAND ACCESS CONTROL
; 1563	;   !   !+ B = INSTRUCTION "MODE"
; 1564	;   !   !! + P = PARITY FOR THIS WORD
; 1565	;   !   !! !
; 1566	;   !   !! !   + J = ADDRESS OF HANDLER FOR THIS INSTRUCTION
; 1567	; [--]  !! ! [--]
; 1568	; ----  ---- ----
; 1569	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4
; DEFINE.MIC[4,24]	16:58 23-May-86			KL10 INSTRUCTION OPCODE MAP				

; 1570	.TOC	"KL10 INSTRUCTION OPCODE MAP"
; 1571	
; 1572	;	0	1	2	3	4	5	6	7
; 1573	;100	(UUO)	(UUO)	GFAD	GFSB	JSYS	ADJSP	GFMP	GFDV
; 1574	;110	DFAD	DFSB	DFMP	DFDV	DADD	DSUB	DMUL	DDIV
; 1575	;120	DMOVE	DMOVN	FIX	EXTEND	DMOVEM	DMOVNM	FIXR	FLTR
; 1576	;130	(UFA)	(DFN)	FSC	IBP	ILDB	LDB	IDPB	DPB
; 1577	;140	FAD	(FADL)	FADM	FADB	FADR	FADRI	FADRM	FADRB
; 1578	;150	FSB	(FSBL)	FSBM	FSBB	FSBR	FSBRI	FSBRM	FSBRB
; 1579	;160	FMP	(FMPL)	FMPM	FMPB	FMPR	FMPRI	FMPRM	FMPRB
; 1580	;170	FDV	(FDVL)	FDVM	FDVB	FDVR	FDVRI	FDVRM	FDVRB
; 1581	;	0	1	2	3	4	5	6	7
; 1582	;200	MOVE	MOVEI	MOVEM	MOVES	MOVS	MOVSI	MOVSM	MOVSS
; 1583	;210	MOVN	MOVNI	MOVNM	MOVNS	MOVM	MOVMI	MOVMM	MOVMS
; 1584	;220	IMUL	IMULI	IMULM	IMULB	MUL	MULI	MULM	MULB
; 1585	;230	IDIV	IDIVI	IDIVM	IDIVB	DIV	DIVI	DIVM	DIVB
; 1586	;240	ASH	ROT	LSH	JFFO	ASHC	ROTC	LSHC	(UUO)
; 1587	;250	EXCH	BLT	AOBJP	AOBJN	JRST	JFCL	XCT	MAP
; 1588	;260	PUSHJ	PUSH	POP	POPJ	JSR	JSP	JSA	JRA
; 1589	;270	ADD	ADDI	ADDM	ADDB	SUB	SUBI	SUBM	SUBB
; 1590	;	0	1	2	3	4	5	6	7
; 1591	;300	CAI	CAIL	CAIE	CAILE	CAIA	CAIGE	CAIN	CAIG
; 1592	;310	CAM	CAML	CAME	CAMLE	CAMA	CAMGE	CAMN	CAMG
; 1593	;320	JUMP	JUMPL	JUMPE	JUMPLE	JUMPA	JUMPGE	JUMPN	JUMPG
; 1594	;330	SKIP	SKIPL	SKIPE	SKIPLE	SKIPA	SKIPGE	SKIPN	SKIPG
; 1595	;340	AOJ	AOJL	AOJE	AOJLE	AOJA	AOJGE	AOJN	AOJG
; 1596	;350	AOS	AOSL	AOSE	AOSLE	AOSA	AOSGE	AOSN	AOSG
; 1597	;360	SOJ	SOJL	SOJE	SOJLE	SOJA	SOJGE	SOJN	SOJG
; 1598	;370	SOS	SOSL	SOSE	SOSLE	SOSA	SOSGE	SOSN	SOSG
; 1599	;	0	1	2	3	4	5	6	7
; 1600	;400	SETZ	SETZI	SETZM	SETZB	AND	ANDI	ANDM	ANDB
; 1601	;410	ANDCA	ANDCAI	ANDCAM	ANDCAB	SETM	SETMI	SETMM	SETMB
; 1602	;420	ANDCM	ANDCMI	ANDCMM	ANDCMB	SETA	SETAI	SETAM	SETAB
; 1603	;430	XOR	XORI	XORM	XORB	IOR	IORI	IORM	IORB
; 1604	;440	ANDCB	ANDCBI	ANDCBM	ANDCBB	EQV	EQVI	EQVM	EQVB
; 1605	;450	SETCA	SETCAI	SETCAM	SETCAB	ORCA	ORCAI	ORCAM	ORCAB
; 1606	;460	SETCM	SETCMI	SETCMM	SETCMB	ORCM	ORCMI	ORCMM	ORCMB
; 1607	;470	ORCB	ORCBI	ORCBM	ORCBB	SETO	SETOI	SETOM	SETOB
; 1608	;	0	1	2	3	4	5	6	7
; 1609	;500	HLL	HLLI	HLLM	HLLS	HRL	HRLI	HRLM	HRLS
; 1610	;510	HLLZ	HLLZI	HLLZM	HLLZS	HRLZ	HRLZI	HRLZM	HRLZS
; 1611	;520	HLLO	HLLOI	HLLOM	HLLOS	HRLO	HRLOI	HRLOM	HRLOS
; 1612	;530	HLLE	HLLEI	HLLEM	HLLES	HRLE	HRLEI	HRLEM	HRLES
; 1613	;540	HRR	HRRI	HRRM	HRRS	HLR	HLRI	HLRM	HLRS
; 1614	;550	HRRZ	HRRZI	HRRZM	HRRZS	HLRZ	HLRZI	HLRZM	HLRZS
; 1615	;560	HRRO	HRROI	HRROM	HRROS	HLRO	HLROI	HLROM	HLROS
; 1616	;570	HRRE	HRREI	HRREM	HRRES	HLRE	HLREI	HLREM	HLRES
; 1617	;	0	1	2	3	4	5	6	7
; 1618	;600	TRN	TLN	TRNE	TLNE	TRNA	TLNA	TRNN	TLNN
; 1619	;610	TDN	TSN	TDNE	TSNE	TDNA	TSNA	TDNN	TSNN
; 1620	;620	TRZ	TLZ	TRZE	TLZE	TRZA	TLZA	TRZN	TLZN
; 1621	;630	TDZ	TSZ	TDZE	TSZE	TDZA	TSZA	TDZN	TSZN
; 1622	;640	TRC	TLC	TRCE	TLCE	TRCA	TLCA	TRCN	TLCN
; 1623	;650	TDC	TSC	TDCE	TSCE	TDCA	TSCA	TDCN	TSCN
; 1624	;660	TRO	TLO	TROE	TLOE	TROA	TLOA	TRON	TLON
; 1625	;670	TDO	TSO	TDOE	TSOE	TDOA	TSOA	TDON	TSON
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- J, AD			

; 1626	.TOC	"CONTROL RAM DEFINITIONS -- J, AD"
; 1627	;FIELDS ARRANGED FOR READABILITY, NOT COMPACTNESS
; 1628	; IN THE PROCESSOR, BITS ARE SCATTERED IN ANOTHER ORDER
; 1629	
; 1630	U0/=<0:0>D,0	;BIT 0 UNUSED
; 1631	J/=<1:11>+	;SYMBOLS WILL BE DEFINED BY TAGS (CRA1&CRA2)
; 1632	
; 1633	;MAIN ADDER CONTROLS.  Bit 0 = carry in, bit 1 = boolean operation
; 1634	; Bits 2-5 are S8-S1 of the 10181 ALU chip.  For normal arithmetic,
; 1635	; the AD and ADX are separated unless SPEC/AD LONG or equivalent is given.
; 1636	
; 1637	
; 1638	AD/=<12:17>	; (DP03, EXCEPT CARRY IN, ON CTL1)
; 1639		A+1=40,1
; 1640		A+XCRY=00,1
; 1641	;	A+ANDCB=01,1
; 1642	;	A+AND=02,1
; 1643		A*2=03,1
; 1644		A*2+1=43,1
; 1645	;	OR+1=44,1
; 1646	;	OR+ANDCB=05,1
; 1647		A+B=06,1
; 1648		A+B+1=46,1
; 1649	;	A+OR=07,1
; 1650		ORCB+1=50,1
; 1651		A-B-1=11,1
; 1652		A-B=51,1
; 1653	;	AND+ORCB=52,1
; 1654	;	A+ORCB=53,1
; 1655		XCRY-1=54,1
; 1656	;	ANDCB-1=15,1
; 1657	;	AND-1=16,1
; 1658		A-1=17,1
; 1659			;ADDER LOGICAL FUNCTIONS
; 1660		SETCA=20
; 1661		ORC=21		;NAND
; 1662		ORCA=22
; 1663		1S=23
; 1664		ANDC=24		;NOR
; 1665		NOR=24
; 1666		SETCB=25
; 1667		EQV=26
; 1668		ORCB=27
; 1669		ANDCA=30
; 1670		XOR=31
; 1671		B=32
; 1672		OR=33
; 1673		0S=34
; 1674		ANDCB=35
; 1675		AND=36
; 1676		A=37
; 1677			;BOOLEAN FUNCTIONS FOR WHICH CRY0 IS INTERESTING
; 1678		CRY A EQ -1=60,1	;GENERATE CRY0 IF A=1S, AD=SETCA
; 1679		CRY A.B#0=36,1		;CRY 0 IF A&B NON-ZERO, AD=AND
; 1680		CRY A#0=37,1		;GENERATE CRY0 IF A .NE. 0, AD=A
; 1681		CRY A GE B=71,1		;CRY0 IF A .GE. B, UNSIGNED; AD=XOR
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- DATA PATH MIXERS		

; 1682	.TOC	"CONTROL RAM DEFINITIONS -- DATA PATH MIXERS"
; 1683	
; 1684	ADA/=<18:20>		; (DP03)
; 1685		AR=0
; 1686		ARX=1
; 1687		MQ=2
; 1688		PC=3
; 1689	ADA EN/=<18:18>		;ADA ENABLE ALSO ENABLES ADXA (DP03)
; 1690		EN=0
; 1691		0S=1
; 1692	U21/=<21:21>D,0		;BIT 21 UNUSED
; 1693	ADB/=<22:23>		;CONTROLS ADB AND ADXB (DP03)
; 1694		FM=0,,1		;MUST HAVE TIME FOR PARITY CHECK
; 1695		BR*2=1		;ADB35 is BRX0; ADXB35 is 0
; 1696		BR=2
; 1697		AR*4=3		;ADB34,35 are ARX0,1; ADXB34,35 are 0
; 1698	U23/=<23:23>D,1		;PREVENT DEFAULT SELECTION OF FM
; 1699				;FORCE IT TO TAKE ONE OF THE SHORTER
; 1700				;PATHS IF FM NOT NEEDED ALSO DISABLES
; 1701				;PARITY CHECKING LOGIC
; 1702	
; 1703	;REGISTER INPUTS
; 1704	
; 1705	AR/=<24:26>D,0		; (DP01)
; 1706		AR=0
; 1707		ARMM=0		;REQUIRES SPECIAL FUNCTION
; 1708		MEM=0		;[346] MB WAIT will poke to 1 (CACHE) or 2 (AD)
; 1709		CACHE=1		;ORDINARILY SELECTED BY HWARE
; 1710		AD=2
; 1711		EBUS=3
; 1712		SH=4
; 1713		AD*2=5		;Low bit from ADX0
; 1714		ADX=6
; 1715		AD*.25=7
; 1716	ARX/=<27:29>D,0		; (DP02)
; 1717		ARX=0		;[345] BY DEFAULT
; 1718		MEM=0		;[346] Gets poked by MB WAIT to 1 or 2
; 1719		CACHE=1		;ORDINARILY BY MBOX RESP
; 1720		AD=2
; 1721		MQ=3
; 1722		SH=4
; 1723		ADX*2=5		;Low bit from MQ0
; 1724		ADX=6
; 1725		ADX*.25=7	;High bits from AD34,35
; 1726	BR/=<30:30>D,0		;DEFAULT TO RECIRCULATE (DP04)
; 1727		AR=1
; 1728	BRX/=<31:31>D,0		;DEFAULT TO RECIRCULATE (DP04)
; 1729		ARX=1
; 1730	MQ/=<32:32>D,0		;DEFAULT TO RECIRCULATE (DP02)
; 1731		SH=1		;LOAD FROM SHIFT MATRIX
; 1732		MQ*2=0		;With SPEC/MQ SHIFT--Low bit from AD CRY -2
; 1733		MQ*.25=1	;With SPEC/MQ SHIFT--High bits from ADX34, ADX35
; 1734		MQ SEL=0	;WITH COND/REG CTL
; 1735		MQM SEL=1	;WITH COND/REG CTL
; 1736	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 7
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- DATA PATH MIXERS		

; 1737	;FMADR SELECTS THE SOURCE OF THE FAST MEMORY ADDRESS,
; 1738	; RATHER THAN PROVIDING THE ADDRESS ITSELF
; 1739	
; 1740	FMADR/=<33:35>		; (APR4&APR5)
; 1741		AC0=0		;IR 9-12
; 1742		AC1=1		;<IR 9-12>+1 MOD 16
; 1743		XR=2		;ARX 14-17
; 1744		VMA=3		;VMA 32-35
; 1745		AC2=4		;<IR 9-12>+2 MOD 16
; 1746		AC3=5		;<IR 9-12>+3 MOD 16
; 1747		AC+#=6		;CURRENT BLOCK, AC+ MAGIC #
; 1748		#B#=7		;BLOCK AND AC SELECTED BY # FIELD
; 1749	
; 1750	.TOC	"CONTROL RAM DEFINITIONS -- 10-BIT LOGIC"
; 1751	
; 1752	SCAD/=<36:38>		; (SCD1)
; 1753		A=0
; 1754		A-B-1=1
; 1755		A+B=2
; 1756		A-1=3
; 1757		A+1=4
; 1758		A-B=5
; 1759		OR=6
; 1760		AND=7
; 1761	SCADA/=<39:41>		; (SCD1)
; 1762		FE=0
; 1763		AR0-5=1		;BYTE POINTER P FIELD
; 1764		AR EXP=2	;<AR 01-08> XOR <AR 00>
; 1765		#=3		;SIGN EXTENDED WITH #00
; 1766	SCADA EN/=<39:39>	; (SCD1)
; 1767		0S=1
; 1768	U42/=<42:42>D,0	;BIT 42 UNUSED
; 1769	SCADB/=<43:44>		; (SCD1)
; 1770		SC=0
; 1771		AR6-11=1	;BYTE POINTER S FIELD
; 1772		AR0-8=2
; 1773		#=3		;NO SIGN EXTENSION
; 1774	U45/=<45:45>D,0		;BIT 45 UNUSED
; 1775	SC/=<46:46>D,0		;RECIRCULATE BY DEFAULT (SCD2)
; 1776		FE=0		;WITH SCM ALT
; 1777		SCAD=1
; 1778		AR SHIFT=1	;WITH SCM ALT ;AR 18, 28-35
; 1779	FE/=<47:47>D,0		;RECIRCULATE BY DEFAULT (SCD2)
; 1780		SCAD=1
; 1781	U48/=<48:48>D,0		;BIT 48 UNUSED
; 1782	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 8
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- SHIFT, ARMM, VMA, TIME	

; 1783	.TOC	"CONTROL RAM DEFINITIONS -- SHIFT, ARMM, VMA, TIME"
; 1784	
; 1785	SH/=<49:50>		; (SH1)
; 1786		SHIFT AR!ARX=0	;LEFT BY (SC)
; 1787		AR=1
; 1788		ARX=2
; 1789		AR SWAP=3	;HALVES SWAPPED
; 1790	ARMM/=<49:50>		;SAME BITS AS SH CONTROL (SCD3)
; 1791		#=0		;MAGIC # 0-8 TO AR 0-8
; 1792		EXP_SIGN=1	;AR1-8 _ AR0
; 1793		SCAD EXP=2	;AR0-8_SCAD
; 1794		SCAD POS=3	;AR0-5_SCAD
; 1795	VMAX/=<49:50>		;SAME BITS AS SH CONTROL (VMA4)
; 1796		VMAX=0		;VMA SECTION #
; 1797		PC SEC=1	;PC SECTION #
; 1798		PREV SEC=2	;PREVIOUS CONTEXT SECT
; 1799		AD12-17=3
; 1800	U51/=<51:51>D,0		;BIT 51 UNUSED
; 1801	VMA/=<52:53>D,0		;ALSO CONTROLLED BY SPECIAL FUNCTIONS
; 1802		VMA=0		;BY DEFAULT
; 1803		PC=1		;MAY BE OVERRIDDEN BY MCL LOGIC	TO LOAD FROM AD
; 1804		LOAD=1		; IF WE KNOW IT WILL BE OVERRIDDEN, USE THIS
; 1805		PC+1=2
; 1806		AD=3		;ENTIRE VMA, INCLUDING SECTION
; 1807	TIME/=<54:55>T		;CONTROLS MINIMUM MICROINSTRUCTION EXECUTION
; 1808				; TIME, COUNTING MBOX CLOCK TICKS (CLK)
; 1809				;ASSEMBLER GENERALLY TAKES CARE OF THIS
; 1810		2T=0		;2 TICKS
; 1811		3T=1		;3 TICKS
; 1812		4T=2		;4 TICKS
; 1813		5T=3		;5 TICKS (COND/DIAG FUNC & #00, --> .5 USEC)
; 1814	
; 1815	.TOC	"CONTROL RAM DEFINITIONS -- MEM SPECIAL FUNCTIONS"
; 1816	
; 1817	MEM/=<56:59>D,0		;(MCL1, except MB WAIT on CON5 and CLK4)
; 1818	;
; 1819	;	Note:  MB WAIT is implicit whenever bit 58 is set.
; 1820	;
; 1821	;	NOP=0		;DEFAULT
; 1822		ARL IND=1	;CONTROL AR LEFT MUX FROM # FIELD
; 1823		MB WAIT=2	;WAIT FOR MBOX RESP IF PENDING
; 1824		RESTORE VMA=3	;AD FUNC WITHOUT GENERATING A REQUEST
; 1825		A RD=4		;OPERAND READ and load PXCT bits
; 1826		B WRITE=5	;CONDITIONAL WRITE ON DRAM B 01
; 1827		FETCH=6		;LOAD NEXT INSTR TO ARX (CONTROL BY #)
; 1828		REG FUNC=7	;MBOX REGISTER FUNCTIONS
; 1829		AD FUNC=10	;FUNCTION LOADED FROM AD LEFT
; 1830		EA CALC=11	;FUNCTION DECODED FROM # FIELD
; 1831		LOAD AR=12
; 1832		LOAD ARX=13
; 1833		RW=14		;READ, TEST WRITABILITY
; 1834		RPW=15		;READ-PAUSE-WRITE
; 1835		WRITE=16	;FROM AR TO MEMORY
; 1836		IFET=17		;UNCONDITIONAL instruction FETCH
; 1837	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 9
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- SKIP/COND SPECIAL FUNCTIONS	

; 1838	.TOC	"CONTROL RAM DEFINITIONS -- SKIP/COND SPECIAL FUNCTIONS"
; 1839	
; 1840	SKIP/=<60:65>D,0	;MICRO-PROGRAM SKIPS
; 1841				; 40-57 DECODED ON (CRA2)
; 1842	;	SPARE=40
; 1843		EVEN PAR=41,,1	;AR PARITY IS EVEN
; 1844		BR0=42		;BR BIT 00
; 1845		ARX0=43		;ARX BIT 00
; 1846		AR18=44		;AR BIT 18
; 1847		AR0=45		;AR BIT 00
; 1848		AC#0=46		;IR9-12 .EQ. 0
; 1849		SC0=47		;SC BIT 00
; 1850		PC SEC0=50
; 1851		SCAD0=51,,1	;Sign of SCAD output--WRONG ON OVERFLOW FROM BIT 1!!!
; 1852		SCAD#0=52,,1	;SCAD OUTPUT IS NON-ZERO
; 1853		ADX0=53,1	;ADDER EXTENSION BIT 00
; 1854		AD CRY0=54,1	;CARRY OUT OF AD BIT -2 (BOOLE IGNORED)
; 1855		AD0=55,1	;ADDER BIT 00
; 1856		AD#0=56,1	;AD BITS 00-35 CONTAIN SOME ONES
; 1857		-LOCAL AC ADDR=57	;VMA18-31 =0 ON LOCAL REF IN SEC >1
; 1858	
; 1859				; 60-77 DECODED ON (CON2)
; 1860		FETCH=60	;VMA FETCH (LAST CYCLE WAS A FETCH)
; 1861		KERNEL=61	;PC IS IN KERNEL MODE
; 1862		USER=62		;PC IS IN USER MODE
; 1863		PUBLIC=63	;PC IS PUBLIC (INCLUDING SUPER)
; 1864		RPW REF=64	;MIDDLE OF READ-PAUSE-WRITE CYCLE
; 1865		PI CYCLE=65	;PI CYCLE IN PROGRESS
; 1866		-EBUS GRANT=66	;PI HASN'T RELEASED BUS FOR CPU USE
; 1867		-EBUS XFER=67	;NO TRANSFER RECIEVED FROM DEVICE
; 1868		INTRPT=70	;AN INTERRUPT REQUEST WAITING FOR SERVICE
; 1869		-START=71	;NO CONTINUE BUTTON
; 1870		RUN=72		;PROCESSOR NOT HALTED
; 1871		IO LEGAL=73	;KERNEL, PI CYCLE, USER IOT, OR DEVICE .GE. 740
; 1872		P!S XCT=74	;PXCT OR SXCT
; 1873		-VMA SEC0=75	;VMA SECTION NUMBER (13-17) IS NOT ZERO
; 1874		AC REF=76,,1	;VMA .LT.20 ON READ OR WRITE
; 1875		-MTR REQ=77	;INTERRUPT REQUEST NOT DUE TO METER
; 1876	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 10
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- SKIP/COND SPECIAL FUNCTIONS	

; 1877	;SKIP/COND FIELD CONTINUED
; 1878	
; 1879	COND/=<60:65>D,0	;NON-SKIP SPECIAL FUNCTIONS
; 1880				;0-7 DECODED ON (CTL2)
; 1881	;	NOP=0		;BY DEFAULT
; 1882		LD AR0-8=1
; 1883		LD AR9-17=2	;Gates VMAX into ARMM (see VMA4)
; 1884		LD AR18-35=3
; 1885		AR CLR=4
; 1886		ARX CLR=5
; 1887		ARL IND=6	;CONTROL AR LEFT, CALL, AND CLEAR BITS FROM #
; 1888		REG CTL=7	;CONTROL AR LOAD, EXP TST, AND MQ FROM #
; 1889				; 10-37 DECODED ON (CON1)
; 1890		FM WRITE=10	;WRITE AR INTO CURRENTLY ADDRESSED FM LOC
; 1891		PCF_#=11	;SET PC FLAGS FROM # FIELD
; 1892		FE SHRT=12	;SHIFT FE RIGHT 1
; 1893		AD FLAGS=13	;SET PC CRY0, CRY1, OVRFLO, TRAP1 AS APPROPRIATE
; 1894		LOAD IR=14	;LATCH AD OR CACHE DATA INTO IR, load PXCT bits
; 1895		SPEC INSTR=15	;SET/CLR SXCT, PXCT, PICYC, TRAP INSTR FLAGS
; 1896		SR_#=16		;CONTROL FOR STATE REGISTER and PXCT bits (CON3, MCL4)
; 1897		SEL VMA=17	;READ VMA THROUGH ADA/PC
; 1898		DIAG FUNC=20	;SELECT DIAGNOSTIC INFO ONTO EBUS
; 1899		EBOX STATE=21	;SET STATE FLOPS
; 1900		EBUS CTL=22	;I/O FUNCTIONS
; 1901		MBOX CTL=23
; 1902	;	SPARE=24
; 1903		LONG EN=25	;THIS WORD CAN BE INTERPRETED AS LONG INDIRECT
; 1904	;	SPARE=26
; 1905	;	SPARE=27
; 1906		VMA_#=30
; 1907		VMA_#+TRAP=31
; 1908		VMA_#+MODE=32
; 1909		VMA_#+AR32-35=33
; 1910		VMA_#+PI*2=34
; 1911		VMA DEC=35	;VMA_VMA-1
; 1912		VMA INC=36	;VMA_VMA+1
; 1913		LD VMA HELD=37	;HOLD VMA ON SIDE
; 1914	
; 1915	CALL/=<66:66>D,0	;CALL function--May not coexist with DISP/RETURN
; 1916		CALL=1		;GOOD TO 15 LEVELS IN MODEL B
; 1917	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 11
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- DISP/SPEC SPECIAL FUNCTIONS	

; 1918	.TOC	"CONTROL RAM DEFINITIONS -- DISP/SPEC SPECIAL FUNCTIONS"
; 1919	
; 1920	DISP/=<67:71>D,10	;0-7 AND 30-37 ARE DISPATCHES (CRA1&CRA2)
; 1921		DIAG=0
; 1922		DRAM J=1
; 1923		DRAM A RD=2	;IMPLIES INH CRY18
; 1924		RETURN=3	;POPJ return--may not coexist with CALL
; 1925		PG FAIL=4	;PAGE FAIL TYPE DISP
; 1926		SR=5		;16 WAYS ON STATE REGISTER
; 1927		NICOND=6	;NEXT INSTRUCTION CONDITION (see NEXT for detail)
; 1928		SH0-3=7,,1	;[337] 16 WAYS ON HIGH-ORDER BITS OF SHIFTER
; 1929		MUL=30		;FE0*4 + MQ34*2 + MQ35; implies MQ SHIFT, AD LONG
; 1930		DIV=31,,1	;FE0*4 + BR0*2 + AD CRY0; implies MQ SHIFT, AD LONG
; 1931		SIGNS=32,1	;ARX0*8 + AR0*4 + BR0*2 + AD0
; 1932		DRAM B=33	;8 WAYS ON DRAM B FIELD
; 1933		BYTE=34,,1	;FPD*4 + AR12*2 + SCAD0--WRONG ON OVERFLOW FROM BIT 1!!
; 1934		NORM=35,2	;See normalization for details. Implies AD LONG
; 1935		EA MOD=36	;(ARX0 or -LONG EN)*8 + -(LONG EN and ARX1)*4 +
; 1936				;ARX13*2 + (ARX2-5) or (ARX14-17) non zero; enable
; 1937				;is (ARX0 or -LONG EN) for second case.  If ARX18
; 1938				;is 0, clear AR left; otherwise, poke ARL select
; 1939				;to set bit 2 (usually gates AD left into ARL)
; 1940	
; 1941	SPEC/=<67:71>D,10	;NON-DISPATCH SPECIAL FUNCTIONS (CTL1)
; 1942	;	NOP=10		;DEFAULT
; 1943		INH CRY18=11
; 1944		MQ SHIFT=12	;ENABLE MQ*2, MQ SHRT2
; 1945		SCM ALT=13	;ENABLE FE, ARSHIFT
; 1946		CLR FPD=14
; 1947		LOAD PC=15
; 1948		XCRY AR0=16	;CARRY INTO AD IS XOR'D WITH AR00
; 1949		GEN CRY18=17
; 1950		STACK UPDATE=20	;CONTROL CRY18 IF LOCAL STACK
; 1951	;	SUBR CALL=21	;Obsolete--model A only
; 1952		ARL IND=22	;# SPECIFIES ARL MIX, ENABLES, & CALL
; 1953		MTR CTL=23	;# CONTROLS METERS
; 1954		FLAG CTL=24	;FUNCTION ENCODED IN # FIELD
; 1955		SAVE FLAGS=25	;TELLS PI CYCLE TO HOLD INTRPT
; 1956		SP MEM CYCLE=26	;MEM REQUEST IS MODIFIED BY #
; 1957		AD LONG=27	;AD BECOMES 72 BIT ALU
; 1958	
; 1959	U73/=<72:73>D,0		;BITS 72-73 UNUSED
; 1960	
; 1961	MARK/=<74:74>D,0	;FIELD SERVICE "MARK" BIT
; 1962	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 12
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 1963	.TOC	"CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD"
; 1964	
; 1965	#/=<75:83>D,0		;THE INFAMOUS "MAGIC NUMBERS"
; 1966	
; 1967	MAJVER/=<75:80>		;[356] Major version number
; 1968	MINVER/=<81:83>		;[356] Minor version number
; 1969	
; 1970	;
; 1971	;	Options bits, designating different assemblies from the same sources
; 1972	;
; 1973	
; 1974	KLPAGE/=<75:75>			;KLPAGING
; 1975		OPTIONS=1
; 1976	
; 1977	LONGPC/=<76:76>			;LONG PC FORMAT AS IN EXTENDED ADDRESSING
; 1978		OPTIONS=1		;(The model A used a different format due
; 1979					; to space limitations)
; 1980	NONSTD/=<77:77>			;NONSTANDARD (EG DIAGNOSTIC) MICROCODE
;;1981	.IF/NONSTD
;;1982		OPTIONS=1
; 1983	.IFNOT/NONSTD
; 1984		OPTIONS=0
; 1985	.ENDIF/NONSTD
; 1986	
; 1987	PV/=<78:78>			;MODEL B - PV CPU
; 1988		OPTIONS=1
; 1989	
; 1990	PMOVE/=<79:79>			;[435] Physical memory move instructions
; 1991		OPTIONS=1
; 1992	
; 1993	ISTAT/=<83:83>			;STATISTICS GATHERING CODE (IE TRACKS)
;;1994	.IF/INSTR.STAT
;;1995		OPTIONS=1
; 1996	.IFNOT/INSTR.STAT
; 1997		OPTIONS=0
; 1998	.ENDIF/INSTR.STAT
; 1999	
; 2000	PXCT/=<75:77>		;(MCL4) Loaded by CON/SR_#, CON/LOAD IR, and MEM/A RD
; 2001				;Bit 0 enables the VMAX to not come from the AD when
; 2002				; VMA/AD (allowing local AC refs, for example).  Bits
; 2003				; 1 and 2 select which PXCT bits a memory reference
; 2004				; will select for possible previous context.
; 2005	
; 2006	ACB/=<77:79>		;AC block number. Used with FMADR/#B#
; 2007		PAGB=6		;AC block used for KL paging registers
; 2008		MICROB=7	;AC block for general microcode scratch
; 2009	
; 2010	AC#/=<80:83>		;AC number used with ACB or AC-OP (below)
; 2011	
; 2012	;
; 2013	;	Warning:  when AC-OP is used with COND/FM WRITE, the previous micro-
; 2014	;	instruction must have the same # field as the current one.  Otherwise
; 2015	;	the address lines won't make it in time for the write pulse.  [210]
; 2016	;
; 2017	AC-OP/=<75:79>		;CONTROLS AC #.  AD functions < 40 all work
; 2018		AC+#=6
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 12-1
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 2019		#=32		;JUST AC#
; 2020		OR=33		;AC <OR> AC#
; 2021	
; 2022	;VARIOUS SPECIAL FUNCTIONS ENABLE SPECIAL DECODING OF THE
; 2023	; "MAGIC #" FIELD, AS FOLLOWS:
; 2024	
; 2025	;SPECIAL DATA PATH CONTROLS
; 2026	
; 2027	;CALL/=<75:75>		;ENABLED BY ARL IND (CTL2)--Model A only
; 2028	;	CALL=1
; 2029	AR0-8/=<76:76>		;ENABLED BY ARL IND (CTL2)
; 2030		LOAD=1
; 2031	CLR/=<77:80>		;ENABLED BY ARL IND (CTL2)
; 2032		MQ=10
; 2033		ARX=4
; 2034		ARL=2
; 2035		ARR=1
; 2036		AR=3
; 2037		AR+ARX=7
; 2038		AR+MQ=13
; 2039		ARX+MQ=14
; 2040		AR+ARX+MQ=17
; 2041		ARL+ARX=6
; 2042		ARL+ARX+MQ=16
; 2043		ARR+MQ=11
; 2044	ARL/=<81:83>		;ENABLED BY ARL IND (CTL2)
; 2045		ARL=0
; 2046		ARMM=0		;REQUIRES SPECIAL FUNCTION
; 2047		CACHE=1		;ORDINARILY SELECTED BY HWARE
; 2048		AD=2
; 2049		EBUS=3
; 2050		SH=4
; 2051		AD*2=5
; 2052		ADX=6
; 2053		AD*.25=7
; 2054	AR CTL/=<75:77>		;ENABLED BY COND/REG CTL (CTL2)
; 2055		AR0-8 LOAD=4
; 2056		AR9-17 LOAD=2	;Gates VMAX into ARMM (see VMA4)
; 2057		ARR LOAD=1
; 2058		ARL LOAD=6
; 2059	EXP TST/=<80:80>	;ENABLED BY COND/REG CTL (CTL1)
; 2060		AR_EXP=1
; 2061	MQ CTL/=<82:83>		;ENABLED BY COND/REG CTL (CTL2)
; 2062	;	MQ=0		;WITH MQ/MQ SEL
; 2063		MQ*2=1		;WITH MQ/MQ SEL--Low bit is ADX0
; 2064	;	MQ*.5=2		; " (DROPS BITS 0,6,12,18,24,30)
; 2065		0S=3		; "
; 2066		SH=0		;WITH MQ/MQM SEL
; 2067		MQ*.25=1	;WITH MQ/MQM SEL--High bits are ADX34, ADX35
; 2068		1S=2		; "
; 2069		AD=3		; "
; 2070	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 13
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 2071	;SPECIAL CONTROL OF EBOX FLAGS & FUNCTIONS
; 2072	
; 2073	PC FLAGS/=<75:83>	;ENABLED BY COND/PCF_# (SCD4)
; 2074	;	OVERF=400	;Any arithmetic overflow
; 2075	;	FLOVERF=200	;Floating overflow
; 2076		FPD=100		;SET FIRST PART DONE
; 2077		TRAP2=40	;SET TRAP2 (PDL OVFLO)
; 2078		TRAP1=20	;SET TRAP1 (ARITH OVFLO)
; 2079	;	EXPUND=10	;Exponent underflow
; 2080	;	NO DIV=4	;No divide
; 2081		AROV=420	;SET ARITH OVFLO & TRAP1
; 2082		FLOV=620	;SAME, PLUS FLOATING OVFLO
; 2083		FXU=630		;FLOV + EXP UNDERFLOW
; 2084		DIV CHK=424	;NO DIVIDE + AROV
; 2085		FDV CHK=624	;FLOATING NO DIVIDE
; 2086	FLAG CTL/=<75:83>	;ENABLED BY SPEC/FLAG CTL (SCD5)
; 2087		RSTR FLAGS=420	;AS IN JRSTF
; 2088		JFCL=602	;FORCE PC 00 = AROV
; 2089		JFCL+LD=622	;SECOND PART OF JFCL -- CLEAR TESTED FLAGS
; 2090		DISMISS=502	;CLEAR PI CYCLE IF SET (CON5)
; 2091				; ELSE DISMISS HIGHEST PI HOLD
; 2092		DISMISS+LD=522	;LOAD FLAGS AND DISMISS
; 2093		HALT=442	;STOP PROCESSOR IF LEGAL (CON2)
; 2094		SET FLAGS=20	;AS IN MUUO
; 2095		PORTAL=412	;CLEAR PUBLIC IF PRIVATE INSTR
; 2096	SPEC INSTR/=<75:83>	;ENABLED BY COND/SPEC INSTR
; 2097		SET PI CYCLE=714; (CON5)
; 2098		KERNEL CYCLE=200;MAKE IO LEGAL, EXEC ADDR SPACE (CON4)
; 2099		INH PC+1=100	;TO MAKE JSR WORK IN TRAP, INTRPT (CON4)
; 2100		SXCT=40		;START SECTION XCT (MCL4)
; 2101		PXCT=20		;START PREV CONTXT XCT (MCL4)
; 2102		INTRPT INH=10	;INHIBIT INTERRUPTS (CON4)
; 2103		INSTR ABORT=4	; (CON2)
; 2104		HALTED=302	;TELL CONSOLE WE'RE HALTED (CON4)
; 2105		CONS XCT=310	;FLAGS FOR INSTR XCT'D FROM CONSOLE
; 2106		CONT=0		;RESTORE NORMAL STATE FOR CONTINUE
; 2107	FETCH/=<75:83>		;ENABLED BY MEM/FETCH
; 2108		UNCOND=400
; 2109				;LOW 2 BITS DECODED ON (IR3)
; 2110		COMP=201,2	;DEPENDING ON AD AND DRAM B
; 2111		SKIP=202,2
; 2112		TEST=203,1
; 2113		JUMP=502,2	;AS IN JUMPX, ON AD AND DRAM B
; 2114		JFCL=503,1	;JUMP ON TEST CONDITION
; 2115	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 14
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 2116	;SPECIAL MEMORY REQUEST FUNCTIONS
; 2117	
; 2118	EA CALC/=<75:83>	;SPECIFIC CONTROLS FOR MEM/EA CALC
; 2119	;	LOAD AR=400
; 2120	;	LOAD ARX=200
; 2121	;	PAUSE=100	;Freeze memory--always use with 040
; 2122	;	WRITE=040	;SET VMA WRITE
; 2123	;	PREV EN=20	;PREV CONTXT SELECTED BY SR AND PXCT
; 2124	;	INDIRECT=10	;PREV CONTXT FOR EA CALC
; 2125	;	EA=2		;RESTORATION OF ORIGINAL EA CONDITIONS
; 2126	;	STACK=1		;PREV CONTXT SELECTED BY PXCT B12
; 2127		A IND=230	;INDIRECT AT FIRST EA CALC TIME
; 2128		BYTE LD=420	;Read byte data to AR only [337]
; 2129		BYTE RD=620	;READ BYTE DATA TO AR & ARX
; 2130		BYTE RD PC=621	;READ BYTE DATA TO AR & ARX WITH PC SECTION
; 2131		BYTE RPW=760	;Read byte data to AR, ARX, write test, pause [312]
; 2132		BYTE IND=610	;INDIRECT AT BYTE EA CALC TIME
; 2133		PUSH=041	;STORE TO STACK
; 2134		POP AR=421	;READ FROM STACK TO AR
; 2135		POP ARX=221	;READ FROM STACK TO ARX
; 2136		POP AR-ARX=621	;POP TO BOTH
; 2137		WRITE(E)=042
; 2138		LD AR(EA)=402	;LOAD AR GLOBAL/LOCAL AS IN EA
; 2139		LD AR+WR=440	;LOAD AR, TEST WRITABILITY
; 2140		LD ARX+WR=240	;LOAD ARX, TEST WRITABILITY
; 2141	
; 2142	SP MEM/=<75:83>		;ENABLED BY SPEC/SP MEM CYCLE
; 2143		FETCH=400	;LOAD IR WHEN DATA ARRIVES (MCL5)
; 2144		USER=200	;FORCE USER OR UPT (MCL2)
; 2145		EXEC=100	;FORCE EXEC OR EPT (MCL3)
; 2146		SEC 0=40	;CLEAR VMAX (MCL4)
; 2147		UPT EN=20	;UPT IF USER EN (MCL3)
; 2148		EPT EN=10	;EPT IF NOT USER EN (MCL3)
; 2149		CACHE INH=2	; (MCL6)
; 2150		UNCSH+UNPAGE=103;UNCACHED AND UNPAGED
; 2151		UNPAGED+CACHED=101	;physical reference with cache enabled.
;;2152	.IFNOT/MULTI
;;2153		UNPAGED=101	; (MCL6)
;;2154		EPT=111
;;2155		EPT CACHE=111	;[260]
;;2156		EPT FETCH=511
;;2157		UPT=221
;;2158		UPT FETCH=621
;;2159		PT=31
;;2160		PT FETCH=431
; 2161	.IF/MULTI
; 2162		UNPAGED=103	; (MCL6)
; 2163		EPT=113
; 2164		EPT CACHE=111	;[260]
; 2165		EPT FETCH=513
; 2166		UPT=223
; 2167		UPT FETCH=623
; 2168		PT=33
; 2169		PT FETCH=433
; 2170	.ENDIF/MULTI
; 2171	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 15
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 2172	;MBOX CONTROLS
; 2173	
; 2174	MREG FNC/=<75:83>	;ENABLED BY MEM/REG FUNC (APR6)
; 2175		SBUS DIAG=407	;PERFORM SBUS DIAGNOSTIC CYCLE
; 2176		READ UBR=502	;ASK MBOX TO LOAD UBR INTO EBUS REG
; 2177		READ EBR=503	;PUT EBR INTO EBUS REG
; 2178		READ ERA=504
; 2179		WR REFILL RAM=505	;DISGUISED AS A "READ REG" FUNCTION
; 2180		LOAD CCA=606	;START A SWEEP
; 2181		LOAD UBR=602	;SETUP UBR FROM VMA
; 2182		LOAD EBR=603	;SETUP EBR FROM VMA
; 2183		MAP=140		;GET PHYS ADDR CORRESPONDING TO VMA (MCL6)
; 2184	MBOX CTL/=<75:83>	;ENABLED BY COND/MBOX CTL (APR5)
; 2185		SET PAGE FAIL=200
; 2186		SET IO PF ERR=100
; 2187		CLR PT LINE(NK)=61,,1;[333] Clear valid if no Keep bit set
; 2188		PT DIR CLR(NK)=41;Enable clear of PT DIR for non keep entries
; 2189		CLR PT LINE=31,,1;CLEAR VALID FOR 4 ENTRIES (new pager board) [342]
; 2190		PT DIR WR=20,1	;WRITE PAGE TABLE DIRECTORY
; 2191		PT WR=10,1	;WRITE PAGE TABLE ENTRY SELECTED BY VMA
; 2192		PT DIR CLR=1	;SELECT FOR CLEARING PT DIR (PAG3)
; 2193		NORMAL=0	;RESET PT WR SELECTION
; 2194	MTR CTL/=<81:83>	;FUNCTION DECODING FOR METERS (MTR3)
; 2195		CLR TIME=0		; USUALLY USED WITH DIAG FUNC
; 2196		CLR PERF=1
; 2197		CLR E CNT=2
; 2198		CLR M CNT=3
; 2199		LD PA LH=4
; 2200		LD PA RH=5
; 2201		CONO MTR=6
; 2202		CONO TIM=7
; 2203	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 16
; DEFINE.MIC[4,24]	16:58 23-May-86			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 2204	;I/O FUNCTIONS
; 2205	
; 2206	EBUS CTL/=<75:83>	;ENABLED BY COND/EBUS CTL (APR3)
; 2207		GRAB EEBUS=400	;"EBUS RETURN" TAKES ECL EBUS FOR EBOX
; 2208		REQ EBUS=200
; 2209		REL EBUS=100	; (CON3)
; 2210		EBUS DEMAND=60	;ASSERT DEMAND, KEEP CS, FUNC
; 2211		EBUS NODEMAND=20;DROP DEMAND, KEEP CS, FUNC
; 2212	;	CTL_IR=10	;SELECT F01 & F02 FROM IR
; 2213	;	DISABLE CS=4	;TURN OFF CONTROLLER SELECT
; 2214	;	DATAIO=2	;0 FOR CONI/O
; 2215	;	INPUT=1		;0 FOR OUTPUT
; 2216		IO INIT=30	;ENABLE IR3-9 TO EBUS CONTROLLER SELECT,
; 2217				; IR10-12 (DECODED) TO FUNCTION
; 2218				; AND AR ONTO EBUS IF FUNCTION IS OUTPUT
; 2219		DATAO=26	;0'S TO CS, DATAO TO FCN, AND AR TO EBUS
; 2220		DATAI=27	;0'S TO CS, DATAI TO FCN
; 2221		REL EEBUS=0	;LEGGO
; 2222	DIAG FUNC/=<75:83>	;ENABLED BY COND/DIAG FUNC (CTL3)
; 2223		.5 USEC=400,3		;STRETCH CLOCK TO LET EBUS SETTLE (CON?)
; 2224		LD PA LEFT=404,3	;LH PERF ANAL CONTROLS FROM RH (MTR)
; 2225		LD PA RIGHT=405,3	;RH PA CONTROLS FROM RH (MTR)
; 2226		CONO MTR=406,3		;ACCOUNTING CONTROLS (MTR)
; 2227		CONO TIM=407,3		;INTERVAL TIMER CONTROLS (MTR)
; 2228		CONO APR=414,3		; (CON3)
; 2229		CONO PI=415,3		; (CON3)
; 2230		CONO PAG=416,3		;CACHE & PAGING CTL (CON3)
; 2231		DATAO APR=417,3		;ADDRESS BREAK (CON3)
; 2232		DATAO PAG=620,3		;AC BLOCKS & PREV CONTXT (CON3)
; 2233		LD AC BLKS=425,3	;FORCE LOADING AC BLOCKS
; 2234		LD PCS+CWSX=426,3	;FORCE LOADING PREV CONTXT SEC, CWSX
; 2235		CONI PI(R)=500,3	;PI HOLD & ACTIVE TO LH (PI)
; 2236		CONI PI(L)=501,3	;PI GEN TO LH (PI)
; 2237		CONI APR(R)=510,3	;APR INTERRUPT & PIA TO LH (APR6)
; 2238		RD TIME=510,3		;TIME BASE TO RH (MTR5)
; 2239		DATAI PAG(L)=511,3	;AC BLOCKS, PREV CONTXT TO LH (APR6)
; 2240		RD PERF CNT=511,3	;PERFORMANCE COUNT TO RH (MTR5)
; 2241		CONI APR(L)=512,3	;APR INTERRUPT ENABLES TO LH (APR6)
; 2242		RD EBOX CNT=512,3	;EBOX COUNT TO RH (MTR5)
; 2243		DATAI APR=513,3		;ADDR BREAK CONDITIONS TO LH (APR6)
; 2244		RD CACHE CNT=513,3	;CACHE COUNT TO RH (MTR5)
; 2245		RD INTRVL=514,3		;INTERVAL TIMER TO RH (MTR5)
; 2246		RD PERIOD=515,3		;PERIOD REGISTER TO RH (MTR5)
; 2247		CONI MTR=516,3		;CONTROLS & PIA TO RH (MTR5)
; 2248		RD MTR REQ=517,3	;ENCODED UPDATE REQUEST TO 20-22 (MTR5)
; 2249		CONI PI(PAR)=530,3	;WRITE EVEN PARITY ENABLES TO RH (CON1)
; 2250		CONI PAG=531,3		;CACHE & TRAP CTL TO RH (CON1)
; 2251		RD EBUS REG=567,3	;EBUS REGISTER IN MBOX (MBZ1 & MBC1)
; 2252	
; 2253	PARITY/=0,0,0,P		;USE ANY AVAILABLE FIELD FOR PARITY
; 2254	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 17
; DEFINE.MIC[4,24]	16:58 23-May-86			DISPATCH RAM DEFINITIONS				

; 2255	.TOC	"DISPATCH RAM DEFINITIONS"
; 2256	;FIELDS ARE ARRANGED FOR EASY READING, NOT COMPACTNESS
; 2257	
; 2258		.DCODE
; 2259	A/=<0:2>		;OPERAND FETCH MODE
; 2260		IMMED=0		;IMMEDIATE
; 2261		IMMED-PF=1	;IMMEDIATE, START PREFETCH
; 2262		ADDR=2		;FULL EFFECTIVE ADDRESS
; 2263		WR-TST=3	;TEST WRITABILITY
; 2264		READ=4		;READ ONLY
; 2265		READ-PF=5	;READ, THEN PREFETCH
; 2266		RD-WR=6		;READ WRITE (SEPARATE CYCLES)
; 2267		RD-P-WR=7	;READ PAUSE WRITE
; 2268	
; 2269	B/=<3:5>		;STORE RESULTS AT--
; 2270		DBL AC=1	;DOUBLE RESULT TO AC & AC+1
; 2271		DBL BOTH=2	;MULB, DIVB, ETC
; 2272		SELF=3		;SELF MODE INSTRUCTIONS
; 2273		AC=5		;SINGLE RESULT TO AC, PREFETCH IN PROG
; 2274		MEM=6		;RESULT TO MEMORY
; 2275		BOTH=7		;SINGLE RESULT TO MEMORY AND AC
; 2276	
; 2277		SJC-=3		;SKIP JUMP COMPARE CONTROLS
; 2278		SJCL=2
; 2279		SJCE=1
; 2280		SJCLE=0
; 2281		SJCA=7
; 2282		SJCGE=6
; 2283		SJCN=5
; 2284		SJCG=4
; 2285	B0/=<3:3>		;INVERTS VARIOUS TEST, SKIP, AND JUMP CONTROLS
; 2286		CRY0(0)=0	;TEST TST CAUSES PC SKIP IF CRY0=0
; 2287		CRY0(1)=1	; SAME IF CRY0=1
; 2288	B1-2/=<4:5>		;FLOATING RESULT STORE MODE
; 2289		AC=1	;RESULT TO AC
; 2290		MEM=2	;RESULT JUST TO MEM
; 2291		BOTH=3	;RESULT TO BOTH
; 2292	
; 2293	PARITY/=<11:11>P
; 2294	;
; 2295	;	The J field is the starting location of the microroutine to
; 2296	;	execute the instruction.  Note that the 40 and 20 bits must
; 2297	;	always be zero.  Also, even-odd pairs of DRAM J fields may
; 2298	;	differ only in the low order three bits.  (Someone thought he
; 2299	;	was being very clever when he designed the machine this way.
; 2300	;	It probably reduced our transfer cost by at least five dollars,
; 2301	;	after all, and the microcode pain that occurred later didn't cost
; 2302	;	anything, in theory.)
; 2303	;
; 2304	J/=<14:23>		;EXECUTOR
; 2305		.UCODE
; 2306	
						; 2307	.BIN
						; 2308	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--Miscellaneous and A			

						; 2309	.TOC	"CRAM Macros--Miscellaneous and A"
; 2310	.NOBIN
; 2311	;
; 2312	;	All the CRAM macros have been alphabetized for easy reference.  We have
; 2313	;	defined "_" to be alphabetically lower than the alphabet (although its
; 2314	;	ASCII representation makes it higher) so that macros such as AR_AR+1
; 2315	;	will precede ARX_AR+1, for example (this seems more intuitive).
; 2316	;
; 2317	[]_[]*[]	"@1/AD, ADA/@2, ADB/@3"
; 2318	[]_[]*FM[]	"@3, ADA/@2, ADB/FM, @1/AD"
; 2319	[]_[]-FM[]	"@3, ADA/@2, ADB/FM, @1/AD, AD/A-B"
; 2320	[]_#[]		"@1_#,#/@2"
; 2321	[]_ADA[]	"@1/AD, ADA/@2, AD/A"
; 2322	[]_ADB[]	"@1/AD, ADA EN/0S, ADB/@2, AD/B"
; 2323	[]_FM[]		"@1/AD, ADA EN/0S, ADB/FM, @2, AD/B"
; 2324	
; 2325	(AR+ARX+MQ)*.25	"ADA/AR,AD/A,AR/AD*.25,ARX/ADX*.25,(MQ)*.25"
; 2326	(AR+ARX+MQ)*2	"ADA/AR,AD/A,AR/AD*2,ARX/ADX*2,(MQ)*2"
; 2327	(MQ)*.25	"COND/REG CTL,MQ/MQM SEL,MQ CTL/MQ*.25"
; 2328	(MQ)*2		"COND/REG CTL,MQ/MQ SEL,MQ CTL/MQ*2"
; 2329	
; 2330	A INDRCT	"MEM/EA CALC,EA CALC/A IND,VMA/LOAD"
; 2331	A READ		"VMA/PC+1,DISP/DRAM A RD,MEM/A RD,#/300,J/0"
; 2332	ABORT INSTR	"COND/SPEC INSTR,SPEC INSTR/INSTR ABORT"
; 2333	AC0		"FMADR/AC0"
; 2334	AC0_AR		"FMADR/AC0,COND/FM WRITE"
; 2335	AC1		"FMADR/AC1"
; 2336	AC1_AR		"FMADR/AC1,COND/FM WRITE"
; 2337	AC2		"FMADR/AC2"
; 2338	AC2_AR		"FMADR/AC2,COND/FM WRITE"
; 2339	AC3_AR		"FMADR/AC3,COND/FM WRITE"
; 2340	AC4		"FMADR/AC+#,AC-OP/AC+#,AC#/4"
; 2341	AC4_AR		"AC4,COND/FM WRITE"
; 2342	AC5		"FMADR/AC+#,AC-OP/AC+#,AC#/5"
; 2343	AC5_AR		"AC5,COND/FM WRITE"
; 2344	AD FLAGS	"COND/AD FLAGS"
; 2345	AD LONG		"SPEC/AD LONG"
; 2346	ADMSK		"R15"		;23 ONES
; 2347	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--AR						

; 2348	.TOC	"CRAM Macros--AR"
; 2349	
; 2350	AR_[] AND FM[]	"ADA/@1,ADB/FM,@2,AD/AND,AR/AD"
; 2351	AR_(AR+2BR)*.25	"ADA/AR,ADB/BR*2,AD/A+B,AR/AD*.25"
; 2352	AR_(AR+BR)*.25	"ADA/AR,ADB/BR,AD/A+B,AR/AD*.25"
; 2353	AR_(AR-2BR)*.25	"ADA/AR,ADB/BR*2,AD/A-B,AR/AD*.25"
; 2354	AR_(AR-BR)*.25	"ADA/AR,ADB/BR,AD/A-B,AR/AD*.25"
; 2355	AR_(ARX OR AR*4)*.25	"ADA/ARX,ADB/AR*4,AD/OR,AR/AD*.25"
; 2356	AR_-AC0		"FMADR/AC0,ADB/FM,ADA EN/0S,AD/A-B,AR/AD"
; 2357	AR_-AR		"ADA EN/0S,ADB/AR*4,AD/A-B,AR/AD*.25"
; 2358	AR_-AR LONG	"GEN -AR LONG,AR_AD*.25 LONG"
; 2359	AR_-BR		"ADB/BR,ADA EN/0S,AD/A-B,AR/AD"
; 2360	AR_-BR LONG	"ADA EN/0S,ADB/BR,AD/A-B,AR/AD,ARX/ADX,SPEC/AD LONG"
; 2361	AR_-BR*2 LONG	"ADA EN/0S,ADB/BR*2,AD/A-B,AR/AD,ARX/ADX,SPEC/AD LONG"
; 2362	AR_-BRX		"ADB/BR,ADA EN/0S,AD/A-B,AR/ADX"
; 2363	AR_-DLEN	"DLEN,ADB/FM,ADA EN/0S,AD/A-B,AR/AD"
; 2364	AR_-FM[]	"ADA EN/0S,ADB/FM,@1,AD/A-B,AR/AD"
; 2365	AR_-SLEN	"SLEN,ADB/FM,ADA EN/0S,AD/A-B,AR/AD"
; 2366	AR_0.C		"COND/ARL IND,CLR/AR"
; 2367	AR_0.M		"MEM/ARL IND,CLR/AR"
; 2368	AR_0.S		"SPEC/ARL IND,CLR/AR"
; 2369	AR_0S		"AD/0S,AR/AD"
; 2370	AR_1		"ADA EN/0S,AD/A+1,AR/AD"
; 2371	AR_1 LONG	"ADA EN/0S,AD/A+1,AR/AD*.25,ARX/ADX"
; 2372	AR_1S		"AD/1S,AR/AD"
; 2373	AR_2		"ADA EN/0S,AD/A+1,AR/AD*2"
; 2374	AR_2(AR*BR)	"ADA/AR,ADB/BR,AR/AD*2"
; 2375	AR_2(AR+1)	"ADA/AR,AD/A+1,AR/AD*2"
; 2376	AR_2(AR+BR)	"AR_2(AR*BR),AD/A+B"
; 2377	AR_2(AR+BR) LONG "AR_2(AR*BR),AD/A+B,ARX/ADX*2,SPEC/AD LONG"
; 2378	AR_2(AR-BR)	"AR_2(AR*BR),AD/A-B"
; 2379	
; 2380	AR_AC0		"FMADR/AC0,ADB/FM,AD/B,AR/AD"
; 2381	AR_AC0 COMP	"FMADR/AC0,ADB/FM,AD/SETCB,AR/AD"
; 2382	AR_AC0+1	"ADA EN/0S,ADB/FM,FMADR/AC0,AD/A+B+1,AR/AD"
; 2383	AR_AC1		"FMADR/AC1,ADB/FM,AD/B,AR/AD"
; 2384	AR_AC1 COMP	"FMADR/AC1,ADB/FM,AD/SETCB,AR/AD"
; 2385	AR_AC1*2	"FMADR/AC1,ADB/FM,AD/B,AR/AD*2"
; 2386	AR_AC2		"FMADR/AC2,ADB/FM,AD/B,AR/AD"
; 2387	AR_AC3		"FMADR/AC3,ADB/FM,AD/B,AR/AD"
; 2388	AR_AC3*2	"FMADR/AC3,ADB/FM,AD/B,AR/AD*2"
; 2389	AR_AC4		"AC4,ADB/FM,AD/B,AR/AD"
; 2390	AR_AD*.25 LONG	"AR/AD*.25,ARX/ADX*.25,SPEC/AD LONG"
; 2391	AR_ADMSK AND VMA HELD	"COND/SEL VMA,ADA/PC,ADB/FM,ADMSK,AD/AND,AR/AD"
; 2392	
; 2393	AR_AR AND ADMSK	 "ADMSK,ADB/FM,ADA/AR,AD/AND,AR/AD"
; 2394	AR_AR AND CSMSK	"CSMSK,ADB/FM,ADA/AR,AD/AND,AR/AD"
; 2395	AR_AR OR PUR	"PUR,ADB/FM,ADA/AR,AD/OR,AR/AD"
; 2396	AR_AR SWAP	"SH/AR SWAP,AR/SH"
; 2397	AR_AR*.25	"ADA/AR,AD/A,AR/AD*.25"
; 2398	AR_AR*.25 LONG	"ADA/AR,AD/A,AR/AD*.25,ARX/ADX*.25"
; 2399	AR_AR*.5	"ADA/AR,AD/A*2,AR/AD*.25"
; 2400	AR_AR*.5 LONG	"ADA/AR,AD/A*2,SPEC/AD LONG,AR/AD*.25,ARX/ADX*.25"
; 2401	AR_AR*1.25 LONG	"ADA/AR,ADB/AR*4,AD/A+B,AR_AD*.25 LONG"
; 2402	AR_AR*10	"ADA/AR,ADB/AR*4,AD/A+B,AR/AD*2"
; 2403	AR_AR*10 LONG	"ADA/AR,ADB/AR*4,AD/A+B,AR/AD*2,ARX/ADX*2,SPEC/AD LONG"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2-1
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--AR						

; 2404	AR_AR*2		"ADA/AR,AD/A,AR/AD*2"
; 2405	AR_AR*2 LONG	"ADA/AR,AD/A,AR/AD*2,ARX/ADX*2"
; 2406	AR_AR*4		"ADB/AR*4,AD/B,AR/AD"
; 2407	AR_AR*4 LONG	"ADB/AR*4,AD/B,AR/AD,ARX/ADX"
; 2408	AR_AR*5 LONG	"ADA/AR,ADB/AR*4,AD/A+B,AR/AD,ARX/ADX,SPEC/AD LONG"
; 2409	AR_AR*8		"ADB/AR*4,AD/B,AR/AD*2"
; 2410	AR_AR*8 LONG	"ADB/AR*4,AD/B,AR/AD*2,ARX/ADX*2"
; 2411	AR_AR*AC0	"FMADR/AC0,ADB/FM,ADA/AR,AR/AD"	;GENERAL BINARY OPERATION
; 2412	AR_AR*AC1	"FMADR/AC1,ADB/FM,ADA/AR,AR/AD"
; 2413	AR_AR*BR	"ADA/AR,ADB/BR,AR/AD"
; 2414	AR_AR*EXPMSK	"EXPMSK,ADB/FM,ADA/AR,AR/AD"	;[224]
; 2415	AR_AR*MSK	"MSK,ADB/FM,ADA/AR,AR/AD"
; 2416	AR_AR*SFLGS	"SFLGS,ADB/FM,ADA/AR,AR/AD"
; 2417	AR_AR*SLEN	"SLEN,ADB/FM,ADA/AR,AR/AD"
; 2418	AR_AR*T0	"T0,ADB/FM,ADA/AR,AR/AD"
; 2419	
; 2420	AR_AR+1		"ADA/AR,AD/A+1,AR/AD"
; 2421	AR_AR+1 LONG	"AR_AR+1,ARX/ADX,SPEC/AD LONG"
; 2422	AR_AR+1-AR0	"ADA/AR,AD/A+1,AR/AD,SPEC/XCRY AR0"
; 2423	AR_AR+BR	"ADA/AR,ADB/BR,AD/A+B,AR/AD"
; 2424	AR_AR+BR LONG	"AR_AR+BR,ARX/ADX,SPEC/AD LONG"
; 2425	AR_AR+E1	"E1,ADB/FM,ADA/AR,AD/A+B,AR/AD"
; 2426	AR_AR+FM[]	"ADA/AR,ADB/FM,@1,AD/A+B,AR/AD";[343]
; 2427	AR_AR+SBR	"SBR,ADB/FM,ADA/AR,AD/A+B,AR/AD"
; 2428	AR_AR+T0	"T0,ADB/FM,ADA/AR,AD/A+B,AR/AD"
; 2429	AR_AR+T1	"T1,ADB/FM,ADA/AR,AD/A+B,AR/AD"
;;2430	.IF/TRXDEF
;;2431	AR_AR+TRB	"TRB,ADB/FM,ADA/AR,AD/A+B,AR/AD"
;;2432	AR_AR+TRX	"TRX,ADB/FM,ADA/AR,AD/A+B,AR/AD"
; 2433	.ENDIF/TRXDEF
; 2434	AR_AR+XR	"GEN AR+XR,AR/AD"
; 2435	AR_AR-1		"ADA/AR,AD/A-1,AR/AD"
; 2436	AR_AR-BR	"ADA/AR,ADB/BR,AD/A-B,AR/AD"
; 2437	AR_AR-BR LONG	"AR_AR-BR,ARX/ADX,SPEC/AD LONG"
; 2438	AR_AR-BR-1	"GEN AR*BR,AD/A-B-1,AR/AD"
; 2439	AR_AR-FM[]	"ADA/AR,ADB/FM,@1,AD/A-B,AR/AD"
; 2440	AR_AR-T0	"T0,ADB/FM,ADA/AR,AD/A-B,AR/AD"
; 2441	
; 2442	AR_ARX		"SH/ARX,AR/SH"
; 2443	AR_ARX (AD)	"ADA/ARX,AD/A,AR/AD"
; 2444	AR_ARX (ADX)	"ADA EN/EN,AD/A,AR/ADX"
; 2445	AR_ARX AND ADMSK "ADMSK,ADB/FM,ADA/ARX,AD/AND,AR/AD"
; 2446	AR_ARX ANDC ADMSK "ADMSK,ADB/FM,ADA/ARX,AD/ANDCB,AR/AD"
; 2447	AR_ARX COMP	"ADA EN/EN,AD/SETCA,AR/ADX"
; 2448	AR_ARX COMP AND BRX "ADA EN/EN,ADB/BR,AD/ANDCA,AR/ADX"
; 2449	AR_ARX OR PUR	"PUR,ADB/FM,ADA/ARX,AD/OR,AR/AD"
; 2450	AR_ARX*.25	"ADA/ARX,AD/A,AR/AD*.25"
; 2451	AR_ARX*.25-AR-1	"ADB/AR*4,ADA/ARX,AD/A-B-1,AR/AD*.25"
; 2452	AR_ARX*2	"ADA/ARX,AD/A,AR/AD*2"
; 2453	AR_ARX*4	"ADB/AR*4,AD/B,AR/ADX"
; 2454	AR_ARX*4 COMP	"ADB/AR*4,AD/SETCB,AR/ADX"
; 2455	AR_ARX*AC1	"FMADR/AC1,ADB/FM,ADA/ARX,AR/AD"
; 2456	AR_ARX*BR	"ADA/ARX,ADB/BR,AR/AD"
; 2457	AR_ARX*BRX	"ADA/AR,ADB/BR,AR/ADX"
; 2458	AR_ARX*E1	"E1,ADB/FM,ADA/ARX,AR/AD"
; 2459	AR_ARX+1	"ADA EN/EN,AD/A+1,AR/ADX"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2-2
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--AR						

; 2460	AR_ARX+1 (AD)	"ADA/ARX,AD/A+1,AR/AD"
; 2461	AR_ARX+AC0	"ADA/ARX,ADB/FM,FMADR/AC0,AD/A+B,AR/AD"
; 2462	AR_ARX+AR*4	"ADA/ARX,ADB/AR*4,AD/A+B,AR/AD"
; 2463	AR_ARX+BR	"ADA/ARX,ADB/BR,AD/A+B,AR/AD"
; 2464	AR_ARX+BRX	"ADA EN/EN,ADB/BR,AD/A+B,AR/ADX"
; 2465	AR_ARX+BRX+1	"ADA EN/EN,ADB/BR,AD/A+B+1,AR/ADX"	;[343]
; 2466	AR_ARX+FM[]	"ADA/ARX,ADB/FM,@1,AD/A+B,AR/AD"
; 2467	AR_ARX+XR	"GEN ARX+XR,AR/AD"
; 2468	AR_ARX-1	"ADA EN/EN,AD/A-1,AR/ADX"
; 2469	AR_ARX-AC3	"ADA/ARX,ADB/FM,FMADR/AC3,AD/A-B,AR/AD"
; 2470	AR_ARX-BR	"ADA/ARX,ADB/BR,AD/A-B,AR/AD"
; 2471	
; 2472	AR_BR		"ADB/BR,AD/B,AR/AD"
; 2473	AR_BR COMP	"ADB/BR,AD/SETCB,AR/AD"
; 2474	AR_BR COMP LONG	"ADB/BR,AD/SETCB,AR/AD,ARX/ADX"
; 2475	AR_BR LONG	"ADB/BR,AD/B,AR/AD,ARX/ADX"
; 2476	AR_BR OR ARX	"ADA/ARX,ADB/BR,AD/OR,AR/AD"
; 2477	AR_BR*.5	"ADB/BR*2,AD/B,AR/AD*.25"
; 2478	AR_BR*.5 LONG	"ADB/BR*2,AD/B,AR/AD*.25,ARX/ADX*.25"
; 2479	AR_BR*2		"ADB/BR*2,AD/B,AR/AD"
; 2480	AR_BR*2 LONG	"ADB/BR*2,AD/B,AR/AD,ARX/ADX"
; 2481	AR_BR*4		"ADB/BR*2,AD/B,AR/AD*2"			;[230]
; 2482	AR_BR*4 LONG	"ADB/BR*2,AD/B,AR/AD*2,ARX/ADX*2"
; 2483	AR_BR+1		"ADB/BR,ADA EN/0S,AD/A+B+1,AR/AD"
; 2484	AR_BR+1 LONG	"ADA EN/0S,ADB/BR,AD/A+B+1,AR/AD,ARX/ADX,SPEC/AD LONG"
; 2485	AR_BRX		"ADB/BR,AD/B,AR/ADX"
; 2486	AR_BRX+1	"ADA EN/0S,ADB/BR,AD/A+B+1,AR/ADX"
; 2487	
; 2488	AR_CACHE CNT	"DIAG IN,DIAG FUNC/RD CACHE CNT"
; 2489	AR_DLEN		"DLEN,AR_FM"
; 2490	AR_DLEN COMP	"DLEN,ADB/FM,AD/SETCB,AR/AD"
; 2491	AR_DLEN+1	"DLEN,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2492	AR_DSTP		"DSTP,AR_FM"
; 2493	AR_DSTP+1	"DSTP,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2494	AR_DSTP2	"DSTP2,AR_FM"
; 2495	AR_DSTP2+1	"DSTP2,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2496	AR_DSTW		"DSTW,AR_FM"
; 2497	AR_E0		"E0,AR_FM"
; 2498	AR_E1		"E1,AR_FM"
; 2499	AR_EBOX CNT	"DIAG IN,DIAG FUNC/RD EBOX CNT"
; 2500	AR_EBUS		"AR/EBUS,TIME/5T"
; 2501	AR_EBUS REG	"DIAG IN,DIAG FUNC/RD EBUS REG"
; 2502	AR_FILL		"FILL,AR_FM"
; 2503	AR_FM		"ADB/FM,AD/B,AR/AD"
; 2504	AR_FM[]		"AR/AD, AD/B, ADB/FM, @1"	;[274]
; 2505	AR_FM[] COMP	"ADB/FM,@1,AD/SETCB,AR/AD"
; 2506	AR_FM[]+1	"ADA EN/0S,ADB/FM,@1,AD/A+B+1,AR/AD"
; 2507	AR_FM(#)	"FMADR/AC+#,AC-OP/AC+#,ADB/FM,AD/B,AR/AD"
; 2508	AR_FM(VMA)	"FMADR/VMA,ADB/FM,AD/B,AR/AD"
; 2509	AR_INTERVAL	"DIAG IN,DIAG FUNC/RD INTRVL"
; 2510	
; 2511	AR_MEM		"MEM/MB WAIT,FMADR/VMA,ADB/FM,AD/B,AR/MEM"
; 2512	AR_MQ		"ADA/MQ,AD/A,AR/AD"
; 2513	AR_MQ COMP	"ADA/MQ,AD/SETCA,AR/AD"
; 2514	AR_MQ*.25	"ADA/MQ,AD/A,AR/AD*.25"
; 2515	AR_MQ*2		"ADA/MQ,AD/A,AR/AD*2"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2-3
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--AR						

; 2516	AR_MQ*4		"ADA/MQ,AD/A*2,AR/AD*2"
; 2517	AR_MQ*AC1	"FMADR/AC1,ADB/FM,ADA/MQ,AR/AD"
; 2518	AR_MQ*AC2	"FMADR/AC2,ADB/FM,ADA/MQ,AR/AD"
; 2519	AR_MQ*AC3	"FMADR/AC3,ADB/FM,ADA/MQ,AR/AD"
; 2520	AR_MQ+1		"ADA/MQ,AD/A+1,AR/AD"
; 2521	AR_MQ+AC0	"FMADR/AC0,ADB/FM,ADA/MQ,AD/A+B,AR/AD"
; 2522	AR_MQ+BR	"ADA/MQ,ADB/BR,AD/A+B,AR/AD"		;[343]
; 2523	AR_MQ+FM[]	"ADA/MQ,ADB/FM,@1,AD/A+B,AR/AD"
; 2524	AR_MQ-1		"ADA/MQ,AD/A-1,AR/AD"
; 2525	AR_MQ-AC3	"ADA/MQ,ADB/FM,FMADR/AC3,AD/A-B,AR/AD"
; 2526	AR_MQ-BR	"ADA/MQ,ADB/BR,AD/A-B,AR/AD"
; 2527	AR_MQ-BR-1	"ADA/MQ,ADB/BR,AD/A-B-1,AR/AD"
; 2528	AR_MTR REQ	"DIAG IN,DIAG FUNC/RD MTR REQ"
; 2529	AR_PC		"ADA/PC,AD/A,AR/AD"
; 2530	AR_PC FLAGS	"ADMSK,ADB/FM,ADA/PC,AD/ANDCB,AR/AD"
; 2531	AR_PC+1		"ADA/PC,AD/A+1,AR/AD,SPEC/SAVE FLAGS"
; 2532	AR_PERF CNT	"DIAG IN,DIAG FUNC/RD PERF CNT"
; 2533	AR_PERIOD	"DIAG IN,DIAG FUNC/RD PERIOD"
; 2534	AR_PUR+AR0	"PUR,ADB/FM,ADA EN/0S,AD/A+B,SPEC/XCRY AR0,AR/AD"
; 2535	
; 2536	AR_SERIAL	"AR/ARMM,COND/REG CTL,AR CTL/ARR LOAD"
; 2537	AR_SFLGS	"SFLGS,AR_FM"
; 2538	AR_SHIFT	"SH/SHIFT AR!ARX,AR/SH"
; 2539	AR_SIGN		"AD/XCRY-1,SPEC/XCRY AR0,AR/AD"
; 2540	AR_SLEN		"SLEN,AR_FM"
; 2541	AR_SLEN COMP	"SLEN,ADB/FM,AD/SETCB,AR/AD"
; 2542	AR_SLEN+1	"SLEN,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2543	AR_SRCP		"SRCP,AR_FM"
; 2544	AR_SRCP+1	"SRCP,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2545	AR_SRCP2	"SRCP2,AR_FM"
; 2546	AR_SRCP2+1	"SRCP2,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2547	AR_SV.AR	"SV.AR,AR_FM"
; 2548	AR_SV.ARX	"SV.ARX,AR_FM"
; 2549	AR_SV.BR	"SV.BR,AR_FM"
; 2550	AR_SV.PFW	"SV.PFW,AR_FM"
; 2551	AR_SV.SC	"SV.SC,AR_FM"
; 2552	AR_SV.VMA	"SV.VMA,AR_FM"
; 2553	AR_SWD		"SWD,AR_FM"
; 2554	
; 2555	AR_T0		"T0,AR_FM"
; 2556	AR_T1		"T1,AR_FM"
; 2557	AR_T2		"T2,AR_FM"
; 2558	AR_TIME BASE	"DIAG IN,DIAG FUNC/RD TIME"
;;2559	.IF/TRXDEF
;;2560	AR_TRB		"TRB,AR_FM"
;;2561	AR_TRX		"TRX,AR_FM"
;;2562	AR_TRX+1	"TRX,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
;;2563	AR_TRX1		"TRX1,AR_FM"
;;2564	AR_TRX2		"TRX2,AR_FM"
;;2565	AR_TRX2+1	"TRX2,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
;;2566	AR_TRX3		"TRX3,AR_FM"
;;2567	AR_TRX3+1	"TRX3,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2568	.ENDIF/TRXDEF
; 2569	AR_VMA HELD	"COND/SEL VMA,AR_PC"
; 2570	AR_XR		"FMADR/XR,ADB/FM,AD/B,AR/AD"
; 2571	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--AR Miscellaneous, ARL, and ARR		

; 2572	.TOC	"CRAM Macros--AR Miscellaneous, ARL, and ARR"
; 2573	
; 2574	AR+ARX+MQ_0.M	"MEM/ARL IND,CLR/AR+ARX+MQ"
; 2575	AR+MQ_0.M	"MEM/ARL IND,CLR/AR+MQ"
; 2576	AR+MQ_0.S	"SPEC/ARL IND,CLR/AR+MQ"
; 2577	
; 2578	AR0-3 DISP	"SH/AR,DISP/SH0-3"
; 2579	AR0-8_#		"COND/LD AR0-8,AR/ARMM,ARMM/#"
; 2580	AR0-8_# AND AR0-8 "SCADA/#,SCADB/AR0-8,SCAD/AND,AR0-8_SCAD#"
; 2581	AR0-8_# OR AR0-8 "SCADA/#,SCADB/AR0-8,SCAD/OR,AR0-8_SCAD#"
; 2582	AR0-8_#+SC	"SCADA/#,SCADB/SC,SCAD/A+B,AR0-8_SCAD#"
; 2583	AR0-8_-SC-1	"SCADA EN/0S,SCADB/SC,SCAD/A-B-1,AR0-8_SCAD"
; 2584	AR0-8_FE	"SCADA/FE,SCAD/A,AR0-8_SCAD"
; 2585	AR0-8_FE OR #	"SCADA/FE,SCADB/#,SCAD/OR,AR0-8_SCAD#"
; 2586	AR0-8_FE OR SC	"SCADA/FE,SCADB/SC,SCAD/OR,AR0-8_SCAD.M"
; 2587	AR0-8_FE#	"SCADA/FE,SCAD/A,ARMM/SCAD EXP,AR/ARMM,COND/LD AR0-8"
; 2588	AR0-8_FE+#	"SCADA/FE,SCADB/#,SCAD/A+B,AR0-8_SCAD#"
; 2589	AR0-8_FE+1	"SCADA/FE,SCAD/A+1,AR0-8_SCAD"
; 2590	AR0-8_FE+SC	"SCADA/FE,SCADB/SC,SCAD/A+B,AR0-8_SCAD.M"
; 2591	AR0-8_FE-SC	"SCADA/FE,SCADB/SC,SCAD/A-B,AR0-8_SCAD.M"
; 2592	AR0-8_FE.M	"SCADA/FE,SCAD/A,AR0-8_SCAD.M"
; 2593	AR0-8_FE.R	"GEN FE,AR0-8_SCAD.R"
; 2594	AR0-8_SC	"SCADA EN/0S,SCADB/SC,SCAD/A+B,AR0-8_SCAD"
; 2595	AR0-8_SCAD	"SPEC/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD EXP"
; 2596	AR0-8_SCAD#	"ARMM/SCAD EXP,AR/ARMM,COND/LD AR0-8"
; 2597	AR0-8_SCAD.M	"MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD EXP"
; 2598	AR0-8_SCAD.R	"ARMM/SCAD EXP,AR/ARMM,COND/REG CTL,AR CTL/AR0-8 LOAD"
; 2599	AR12-17_PC SEC	"AR/ARMM,VMAX/PC SEC,COND/LD AR9-17"
; 2600	AR12-17_PREV SEC	"AR/ARMM,VMAX/PREV SEC,COND/LD AR9-17"
; 2601	AR18-21 DISP	"SH/AR SWAP,DISP/SH0-3"
; 2602	
; 2603	ARL_0.C		"COND/ARL IND,CLR/ARL"
; 2604	ARL_0.M		"MEM/ARL IND,CLR/ARL"
; 2605	ARL_0.S		"SPEC/ARL IND,CLR/ARL"
; 2606	ARL_0S		"COND/ARL IND,CLR/ARL"
; 2607	ARL_1.M		"ADA EN/0S,AD/A+1,SPEC/GEN CRY18,MEM/ARL IND,ARL/AD"
; 2608	ARL_1S		"AD/1S,COND/ARL IND,ARL/AD"
; 2609	ARL_1S.M	"AD/1S,MEM/ARL IND,ARL/AD"
; 2610	ARL_AC0		"FMADR/AC0,ADB/FM,AD/B,COND/ARL IND,ARL/AD"
; 2611	ARL_ARL		"COND/ARL IND,ARL/ARL"
; 2612	ARL_ARL.M	"MEM/ARL IND,ARL/ARL"
; 2613	ARL_ARL.S	"SPEC/ARL IND,ARL/ARL"
; 2614	ARL_ARR		"COND/ARL IND,ARL/SH,SH/AR SWAP"
; 2615	ARL_ARR.M	"MEM/ARL IND,ARL/SH,SH/AR SWAP"
; 2616	ARL_ARR.S	"SPEC/ARL IND,ARL/SH,SH/AR SWAP"
; 2617	ARL_ARX (ADX)	"ADA EN/EN,AD/A,MEM/ARL IND,ARL/ADX"
; 2618	ARL_ARXL	"SPEC/ARL IND,SH/ARX,ARL/SH"
; 2619	ARL_ARXL.M	"MEM/ARL IND,SH/ARX,ARL/SH"
; 2620	ARL_BRL		"ADB/BR,AD/B,COND/ARL IND,ARL/AD"
; 2621	ARL_BRL.M	"ADB/BR,AD/B,MEM/ARL IND,ARL/AD"
; 2622	ARL_BRL.S	"ADB/BR,AD/B,SPEC/ARL IND,ARL/AD"
; 2623	ARL_MQL		"ADA/MQ,AD/A,MEM/ARL IND,ARL/AD"
; 2624	ARL_SHIFT	"MEM/ARL IND,SH/SHIFT AR!ARX,ARL/SH"
; 2625	ARL_SIGN	"AD/XCRY-1,SPEC/XCRY AR0,COND/ARL IND,ARL/AD"
; 2626	ARL+ARX+MQ_0.M	"MEM/ARL IND,CLR/ARL+ARX+MQ"
; 2627	ARL+ARX_0.M	"MEM/ARL IND,CLR/ARL+ARX"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3-1
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--AR Miscellaneous, ARL, and ARR		

; 2628	
; 2629	ARR_0.C		"COND/ARL IND,CLR/ARR"
; 2630	ARR_0.M		"MEM/ARL IND,CLR/ARR"
; 2631	ARR_0.S		"SPEC/ARL IND,CLR/ARR"
; 2632	ARR_0S		"AR_0S"
; 2633	ARR_1S		"AR_1S"
; 2634	ARR_AC0		"AR_AC0"
; 2635	ARR_AC0.S	"SPEC/ARL IND,FMADR/AC0,ADB/FM,AD/B,AR/AD"
; 2636	ARR_AR+1	"AR_AR+1"				;[343]
; 2637	ARR_AR-1	"AR_AR-1"
; 2638	ARR_AR+BR	"AR_AR+BR"				;[343]
; 2639	ARR_ARL		"SH/AR SWAP,AR/SH"
; 2640	ARR_ARR		"AR/AR"
; 2641	ARR_ARX		"AR_ARX"
; 2642	ARR_ARX+1	"AR_ARX+1"
; 2643	ARR_ARX+BRX	"AR_ARX+BRX"
; 2644	ARR_ARX+BR	"AR_ARX+BR"				;[343]
; 2645	ARR_ARX-1	"AR_ARX-1"
; 2646	ARR_BR		"ADB/BR,AD/B,COND/ARL IND,AR/AD"	;[252]
; 2647	ARR_PC+1	"ADA/PC,AD/A+1,AR/AD"
; 2648	ARR_SHIFT	"AR_SHIFT"
; 2649	ARR+MQ_0.S	"SPEC/ARL IND,CLR/ARR+MQ"
; 2650	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--ARX					

; 2651	.TOC	"CRAM Macros--ARX"
; 2652	
; 2653	ARX_-2+MQ0	"AD/1S,ARX/ADX*2"			;[343] -2 if MQ0 = 0
; 2654	ARX_-AC0	"ADA EN/0S,ADB/FM,FMADR/AC0,AD/A-B,ARX/AD"
; 2655	ARX_-BRX	"ADB/BR,ADA EN/0S,AD/A-B,ARX/ADX"
; 2656	ARX_-FM[]	"ADA EN/0S,ADB/FM,@1,AD/A-B,ARX/AD"
; 2657	ARX_-SLEN	"SLEN,ADB/FM,ADA EN/0S,AD/A-B,ARX/AD"
; 2658	ARX_0.C		"COND/ARL IND,CLR/ARX"
; 2659	ARX_0.M		"MEM/ARL IND,CLR/ARX"
; 2660	ARX_0.S		"SPEC/ARL IND,CLR/ARX"
; 2661	ARX_0S		"AD/0S,ARX/AD"
; 2662	ARX_1		"ADA EN/0S,AD/A+1,ARX/AD"
; 2663	ARX_1B1		"ADA EN/0S,AD/A+1,ARX/ADX*.25"
; 2664	ARX_1B17-1	"ADA EN/0S,AD/A-1,SPEC/GEN CRY18,ARX/AD"
; 2665	ARX_1S		"AD/1S,ARX/AD"
; 2666	ARX_2+MQ0	"ADA EN/0S,AD/A+1,ARX/ADX*2"
; 2667	
; 2668	ARX_AC0		"FMADR/AC0,ADB/FM,AD/B,ARX/AD"
; 2669	ARX_AC0 COMP	"ADB/FM,FMADR/AC0,AD/SETCB,ARX/AD"
; 2670	ARX_AC0+1	"ADA EN/0S,ADB/FM,FMADR/AC0,AD/A+B+1,ARX/AD"
; 2671	ARX_AC1		"FMADR/AC1,ADB/FM,AD/B,ARX/AD"
; 2672	ARX_AC2		"FMADR/AC2,ADB/FM,AD/B,ARX/AD"
; 2673	ARX_AC3		"FMADR/AC3,ADB/FM,AD/B,ARX/AD"
; 2674	ARX_AC4		"AC4,ADB/FM,AD/B,ARX/AD"
; 2675	
; 2676	ARX_AR		"SH/AR,ARX/SH"
; 2677	ARX_AR (AD)	"ADA/AR,AD/A,ARX/AD"
; 2678	ARX_AR AND ADMSK "ADMSK,ADB/FM,ADA/AR,AD/AND,ARX/AD"
; 2679	ARX_AR ANDCA BR	"ADA/AR,ADB/BR,AD/ANDCA,ARX/AD"
; 2680	ARX_AR SIGN	"AD/XCRY-1,SPEC/XCRY AR0,ARX/AD"
; 2681	ARX_AR SWAP	"SH/AR SWAP,ARX/SH"
; 2682	ARX_AR*2	"ADA/AR,AD/A*2,ARX/AD"			;[343]
; 2683	ARX_AR*4 COMP	"ADB/AR*4,AD/SETCB,ARX/AD"
; 2684	ARX_AR*MSK	"MSK,ADB/FM,ADA/AR,ARX/AD"
; 2685	ARX_AR+1	"ADA/AR,AD/A+1,ARX/AD"
; 2686	ARX_AR+CBR	"CBR,ADB/FM,ADA/AR,AD/A+B,ARX/AD"
; 2687	ARX_AR+FM[]	"ADA/AR,ADB/FM,@1,AD/A+B,ARX/AD"
; 2688	ARX_AR-1	"ADA/AR,AD/A-1,ARX/AD"
; 2689	ARX_AR-BR	"ADA/AR,ADB/BR,AD/A-B,ARX/AD"		;[224]
; 2690	ARX_AR-FM[]	"ADA/AR,ADB/FM,@1,AD/A-B,ARX/AD"
; 2691	ARX_AR-FM[]-1	"ADA/AR,ADB/FM,@1,AD/A-B-1,ARX/AD"
; 2692	
; 2693	ARX_ARX AND ADMSK "ADMSK,ADB/FM,ADA/ARX,AD/AND,ARX/AD"
; 2694	ARX_ARX ANDC ADMSK "ADMSK,ADB/FM,ADA/ARX,AD/ANDCB,ARX/AD"
; 2695	ARX_ARX*-6	"ADA EN/EN,ADB/AR*4,AD/A-B,ARX/ADX*2"
; 2696	ARX_ARX*.25	"ADA EN/EN,AD/A,ARX/ADX*.25"
; 2697	ARX_ARX*.5	"ADA EN/EN,AD/A*2,ARX/ADX*.25"
; 2698	ARX_ARX*2	"ADA EN/EN,AD/A,ARX/ADX*2"
; 2699	ARX_ARX*2 COMP	"ADA EN/EN,AD/SETCA,ARX/ADX*2"
; 2700	ARX_ARX*4	"ADB/AR*4,AD/B,ARX/ADX"
; 2701	ARX_ARX*4 COMP	"ADB/AR*4,AD/SETCB,ARX/ADX"
; 2702	ARX_ARX*8	"ADB/AR*4,AD/B,ARX/ADX*2"
; 2703	ARX_ARX*BRX	"ADA/AR,ADB/BR,ARX/ADX"
; 2704	ARX_ARX*EXPMSK	"EXPMSK,ADB/FM,ADA/ARX,ARX/AD"		;[224]
; 2705	ARX_ARX+1	"ADA EN/EN,AD/A+1,ARX/ADX"
; 2706	ARX_ARX+1 (AD)	"ADA/ARX,AD/A+1,ARX/AD"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4-1
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--ARX					

; 2707	ARX_ARX+AC0	"ADA/ARX,ADB/FM,FMADR/AC0,AD/A+B,ARX/AD"
; 2708	ARX_ARX+BRX	"ADA EN/EN,ADB/BR,AD/A+B,ARX/ADX"
; 2709	ARX_ARX+CBR	"CBR,ADB/FM,ADA/ARX,AD/A+B,ARX/AD"
; 2710	ARX_ARX+FM[]	"ADA/ARX,ADB/FM,@1,AD/A+B,ARX/AD"	;[343]
; 2711	ARX_ARX-1	"ADA EN/EN,AD/A-1,ARX/ADX"
; 2712	ARX_ARX-1 (AD)	"ADA/ARX,AD/A-1,ARX/AD"
; 2713	ARX_ARX-AR*4	"ADA/ARX,ADB/AR*4,AD/A-B,ARX/AD"	;[343]
; 2714	ARX_ARX-FM[]	"ADA/ARX,ADB/FM,@1,AD/A-B,ARX/AD"
; 2715	ARX_ARX-FM[]-1	"ADA/ARX,ADB/FM,@1,AD/A-B-1,ARX/AD"
; 2716	
; 2717	ARX_BR		"ADB/BR,AD/B,ARX/AD"
; 2718	ARX_BR*2	"ADB/BR*2,AD/B,ARX/AD"
; 2719	ARX_BR+1	"ADB/BR,ADA EN/0S,AD/A+B+1,ARX/AD"
; 2720	ARX_BRX		"ADB/BR,AD/B,ARX/ADX"
; 2721	ARX_BRX COMP	"ADB/BR,AD/SETCB,ARX/ADX"
; 2722	ARX_BRX+1	"ADA EN/0S,ADB/BR,AD/A+B+1,ARX/ADX"
; 2723	ARX_DSTP	"DSTP,ARX_FM"
; 2724	ARX_DSTP2	"DSTP2,ARX_FM"
; 2725	ARX_E1		"E1,ARX_FM"
; 2726	ARX_FILL	"FILL,ARX_FM"				;[310]
; 2727	ARX_FM		"ADB/FM,AD/B,ARX/AD"
; 2728	ARX_FM[]	"ADB/FM,@1,AD/B,ARX/AD"			;[343]
; 2729	ARX_FM[] COMP	"ADB/FM,@1,AD/SETCB,ARX/AD"
; 2730	ARX_FM[]+1	"ADA EN/0S,ADB/FM,@1,AD/A+B+1,ARX/AD"
; 2731	ARX_FM(VMA)	"FMADR/VMA,ADB/FM,AD/B,ARX/AD"
; 2732	ARX_MEM		"MEM/MB WAIT,FMADR/VMA,ADB/FM,AD/B,ARX/MEM"
; 2733	ARX_MQ		"ADA/MQ,AD/A,ARX/AD"
; 2734	ARX_MQ+1	"ADA/MQ,AD/A+1,ARX/AD"
; 2735	ARX_MQ-1	"ADA/MQ,AD/A-1,ARX/AD"			;[343]
; 2736	ARX_MQ-FM[]	"ADA/MQ,ADB/FM,@1,AD/A-B,ARX/AD"
; 2737	ARX_MQ-FM[]-1	"ADA/MQ,ADB/FM,@1,AD/A-B-1,ARX/AD"
; 2738	
; 2739	ARX_PC		"ADA/PC,AD/A,ARX/AD"
; 2740	ARX_PC+1	"ADA/PC,AD/A+1,ARX/AD,SPEC/SAVE FLAGS"
; 2741	ARX_SHIFT	"SH/SHIFT AR!ARX,ARX/SH"
; 2742	ARX_SRCP	"SRCP,ARX_FM"
; 2743	ARX_SRCP2	"SRCP2,ARX_FM"
; 2744	ARX_SV.AR	"SV.AR,ARX_FM"
; 2745	ARX_SV.ARX	"SV.ARX,ARX_FM"
; 2746	ARX_SV.BR	"SV.BR,ARX_FM"
; 2747	ARX_SV.VMA	"SV.VMA,ARX_FM"
; 2748	ARX_T0		"T0,ARX_FM"
; 2749	ARX_T2		"T2,ARX_FM"
;;2750	.IF/TRXDEF
;;2751	ARX_TRB		"TRB,ARX_FM"
; 2752	.ENDIF/TRXDEF
; 2753	ARX_VMA HELD	"COND/SEL VMA,ARX_PC"
; 2754	ARX+MQ_0.M	"MEM/ARL IND,CLR/ARX+MQ"
; 2755	ARX+MQ_0.S	"SPEC/ARL IND,CLR/ARX+MQ"
; 2756	ARX0_AR35	"ADA/AR,AD/A*2+1,ARX/ADX*.25"	;[337]
; 2757	ARX0_MQ35	"ADA/MQ,AD/A*2+1,ARX/ADX*.25"
; 2758	ARX0-3 DISP	"SH/ARX,DISP/SH0-3"
; 2759	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--B, C, D					

; 2760	.TOC	"CRAM Macros--B, C, D"
; 2761	
; 2762	B DISP		"DISP/DRAM B"
; 2763	B STORE		"MEM/B WRITE"			;[413] Store, no dispatch
; 2764	B WRITE		"DISP/DRAM B,MEM/B WRITE"
; 2765	BLKO TIM(L)	"SPEC/MTR CTL,DIAG OUT,DIAG FUNC/LD PA LEFT"
; 2766	BLKO TIM(R)	"SPEC/MTR CTL,DIAG OUT,DIAG FUNC/LD PA RIGHT"
; 2767	BR_AR LONG	"BR/AR,BRX/ARX"
; 2768	BYTE DISP	"DISP/BYTE"
; 2769	BYTE INDRCT	"MEM/EA CALC,EA CALC/BYTE IND,VMA/LOAD"
; 2770	BYTE LOAD	"MEM/EA CALC,EA CALC/BYTE LD,VMA/LOAD";[337]
; 2771	BYTE PREV & CLR SR3	"COND/SR_#,#/640"
; 2772	BYTE PREV & SET SR2	"COND/SR_#,#/622"
; 2773	BYTE PREV & SET SR3	"COND/SR_#,#/641"
; 2774	BYTE READ	"MEM/EA CALC,EA CALC/BYTE RD,VMA/LOAD"
; 2775	BYTE READ PC	"MEM/EA CALC,EA CALC/BYTE RD PC,VMA/LOAD"
; 2776	BYTE RPW	"MEM/EA CALC,EA CALC/BYTE RPW,VMA/LOAD"
; 2777	
; 2778	CALL		"CALL/CALL"
; 2779	CALL []		"CALL, J/@1"
; 2780	CALL[]		"CALL, J/@1"
; 2781	CALL.C		"CALL/CALL"		;Obsolete model A forms of CALL
; 2782	CALL.M		"CALL/CALL"
; 2783	CALL.S		"CALL/CALL"
; 2784	CBR		"P2"
; 2785	CLR ACC+SET UCODE	"COND/EBOX STATE,#/245"
; 2786	CLR ACCOUNT EN	"COND/EBOX STATE,#/145"
; 2787	CLR AR		"COND/AR CLR"
; 2788	CLR ARX		"COND/ARX CLR"
; 2789	CLR EBUS DEMAND	"COND/EBUS CTL,EBUS CTL/EBUS NODEMAND"
; 2790	CLR EXP		"SCADA EN/0S,SCAD/A,EXP_SCAD"
; 2791	CLR FE		"SCADA EN/0S,SCAD/A,FE/SCAD"
; 2792	CLR FPD		"SPEC/CLR FPD"
; 2793	CLR MQ		"COND/REG CTL,MQ/MQ SEL,MQ CTL/0S"
; 2794	CLR MTR PA EN	"COND/EBOX STATE,#/025"
; 2795	CLR P		"SCADA EN/0S,SCAD/A,P_SCAD"
; 2796	CLR PT LINE	"COND/MBOX CTL,MBOX CTL/CLR PT LINE"
; 2797	CLR PT LINE (KEEP) "COND/MBOX CTL,MBOX CTL/CLR PT LINE(NK)"
; 2798	CLR SC		"SCADA EN/0S,SCAD/A,SC/SCAD"
; 2799	CLR SPECIAL CYCLE	"COND/SPEC INSTR,SPEC INSTR/0"
; 2800	CLR SR2		"COND/SR_#,#/20"
; 2801	CLR SR3		"COND/SR_#,#/40"
; 2802	CLR TRACKS EN	"COND/EBOX STATE,#/121"
; 2803	CLR TRK+PA EN	"COND/EBOX STATE,#/021"
; 2804	CMS FETCH	"VMA/PC+1,MEM/FETCH,FETCH/SKIP"
; 2805	COMP FETCH	"AD/XOR,VMA/PC+1,MEM/FETCH,FETCH/COMP"
; 2806	CONI APR(L)	"DIAG IN,DIAG FUNC/CONI APR(L)"
; 2807	CONI APR(R)	"DIAG IN,DIAG FUNC/CONI APR(R)"
; 2808	CONI MTR	"DIAG IN,DIAG FUNC/CONI MTR"
; 2809	CONI PAG	"DIAG IN,DIAG FUNC/CONI PAG"
; 2810	CONI PI(L)	"DIAG IN,DIAG FUNC/CONI PI(L)"
; 2811	CONI PI(PAR)	"DIAG IN,DIAG FUNC/CONI PI(PAR)"
; 2812	CONI PI(R)	"DIAG IN,DIAG FUNC/CONI PI(R)"
; 2813	CONO APR	"DIAG OUT,DIAG FUNC/CONO APR"
; 2814	CONO MTR	"SPEC/MTR CTL,DIAG OUT,DIAG FUNC/CONO MTR"
; 2815	CONO PAG	"DIAG OUT,DIAG FUNC/CONO PAG"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5-1
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--B, C, D					

; 2816	CONO PI		"DIAG OUT,DIAG FUNC/CONO PI"
; 2817	CONO TIM	"SPEC/MTR CTL,DIAG OUT,DIAG FUNC/CONO TIM"
; 2818	CONTINUE	"COND/SPEC INSTR,SPEC INSTR/CONT"
; 2819	CSMSK		"P0"
; 2820	
; 2821	DATAI APR(L)	"DIAG IN,DIAG FUNC/DATAI APR"
; 2822	DATAI PAG(L)	"DIAG IN,DIAG FUNC/DATAI PAG(L)"
; 2823	DATAO APR	"DIAG OUT,DIAG FUNC/DATAO APR"
; 2824	DATAO PAG(L)	"DIAG OUT,DIAG FUNC/DATAO PAG"
; 2825	DIAG IN		"COND/DIAG FUNC,TIME/5T,AR/EBUS"
; 2826	DIAG OUT	"COND/DIAG FUNC,TIME/5T,ADA/AR,AD/A"
; 2827	DISMISS		"SPEC/FLAG CTL,FLAG CTL/DISMISS"
; 2828	DIVIDE		"FE_FE-1,DISP/DIV,MQ/MQ*2"
; 2829	DLEN		"FMADR/AC3"
; 2830	DLEN_AR		"DLEN,FM_AR"
; 2831	DROP EBUS REQ	"COND/EBUS CTL,EBUS CTL/0"
; 2832	DSTP		"FMADR/AC+#,AC-OP/AC+#,AC#/4"
; 2833	DSTP_AR		"DSTP,FM_AR"
; 2834	DSTP2		"FMADR/AC+#,AC-OP/AC+#,AC#/5"
; 2835	DSTP2_AR	"DSTP2,FM_AR"
; 2836	DSTW		"R14"
; 2837	DSTW_AR		"DSTW,FM_AR"
; 2838	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--E, F					

; 2839	.TOC	"CRAM Macros--E, F"
; 2840	
; 2841	E0		"R16"
; 2842	E0_AR		"E0,FM_AR"
; 2843	E1		"R5"
; 2844	E1_AR		"E1,FM_AR"
; 2845	EA MOD DISP	"DISP/EA MOD,AD/1S"
; 2846	EPT FETCH	"MEM/LOAD ARX,SPEC/SP MEM CYCLE,SP MEM/EPT FETCH"
; 2847	EPT REF		"SPEC/SP MEM CYCLE,SP MEM/EPT"
; 2848	EPT REF	CACHE	"SPEC/SP MEM CYCLE,SP MEM/EPT CACHE"
; 2849	EXEC REF	"SPEC/SP MEM CYCLE,SP MEM/EXEC"
; 2850	EXIT		"DISP/DRAM B,MEM/B WRITE,J/ST0"
; 2851	EXP TEST	"COND/REG CTL,EXP TST/AR_EXP"
; 2852	EXP TST		"COND/REG CTL,EXP TST/AR_EXP"
; 2853	EXPMSK		"R4"		;[224][233]
; 2854	EXP_-SC-1	"SCADA EN/0S,SCADB/SC,SCAD/A-B-1,EXP_SCAD"
; 2855	EXP_-SC-1 TST	"SCADA EN/0S,SCADB/SC,SCAD/A-B-1,EXP_SCAD.C,EXP TST"
; 2856	EXP_1		"SCADA EN/0S,SCAD/A+1,EXP_SCAD"
; 2857	EXP_FE TST	"SCADA/FE,SCAD/A,EXP_SCAD.C,EXP TST"
; 2858	EXP_SC		"SCADA EN/0S,SCADB/SC,SCAD/A+B,EXP_SCAD"
; 2859	EXP_SC.MS	"MEM/ARL IND,ARL/ARMM,COND/LD AR0-8,ARMM/SCAD EXP,EXP_SCAD.MS";[224]
; 2860	EXP_SCAD	"MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD EXP"
; 2861	EXP_SCAD.C	"COND/REG CTL,AR CTL/AR0-8 LOAD,AR/ARMM,ARMM/SCAD EXP"
; 2862	EXP_SCAD.MS	"SCADA EN/0S,SCADB/SC,SCAD/A+B"
; 2863	EXP_SIGN	"MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/EXP_SIGN"
; 2864	EXP_SIGN.C	"COND/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/EXP_SIGN"
; 2865	EXP_SIGN.MS	"MEM/ARL IND,ARL/ARMM,COND/LD AR0-8,ARMM/EXP_SIGN";[224]
; 2866	EXP_SIGN.S	"SPEC/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/EXP_SIGN"
; 2867	EXT ADDR	"MEM/A RD,#/400,DISP/DRAM B"
; 2868	EXT BYTE READ	"MEM/EA CALC,EA CALC/BYTE RD,VMA/LOAD,GLOBAL"
; 2869	EXT BYTE RPW	"MEM/EA CALC,EA CALC/BYTE RPW,VMA/LOAD,GLOBAL";[337]
; 2870	EXT INDEX	"MEM/A RD,#/400,DISP/DRAM A RD"
; 2871	EXT INDRCT	"MEM/EA CALC,EA CALC/A IND,VMA/LOAD"
; 2872	
; 2873	FE_#		"SCADA/#,SCAD/A,FE/SCAD"
; 2874	FE_# AND S	"SCADA/#,SCADB/AR6-11,SCAD/AND,FE/SCAD"
; 2875	FE_#+AR0-8	"SCADA/#,SCADB/AR0-8,SCAD/A+B,FE/SCAD"
; 2876	FE_#+SC		"SCADA/#,SCADB/SC,SCAD/A+B,FE/SCAD"
; 2877	FE_#-SC		"SCADA/#,SCADB/SC,SCAD/A-B,FE/SCAD"
; 2878	FE_+#		"SCADA EN/0S,SCADB/#,SCAD/A+B,FE/SCAD"
; 2879	FE_-1		"SCADA EN/0S,SCAD/A-1,FE/SCAD"
; 2880	FE_-S		"SCADA EN/0S,SCADB/AR6-11,SCAD/A-B,FE/SCAD";[337]
; 2881	FE_-SC		"SCADA EN/0S,SCADB/SC,SCAD/A-B,FE/SCAD"
; 2882	FE_-SC-1	"SCADA EN/0S,SCADB/SC,SCAD/A-B-1,FE/SCAD"
; 2883	FE_0		"SCADA EN/0S,SCAD/A,FE/SCAD"
; 2884	FE_1		"SCADA EN/0S,SCAD/A+1,FE/SCAD"
; 2885	FE_AR0-8	"SCADA EN/0S,SCADB/AR0-8,SCAD/A+B,FE/SCAD"
; 2886	FE_AR0-8 AND #	"SCADA/#,SCADB/AR0-8,SCAD/AND,FE/SCAD"
; 2887	FE_AR0-8 COMP	"SCADA EN/0S,SCADB/AR0-8,SCAD/A-B-1,FE/SCAD"
; 2888	FE_EXP		"SCADA/AR EXP,SCAD/A,FE/SCAD"
; 2889	FE_EXP+1	"SCADA/AR EXP,SCAD/A+1,FE/SCAD"
; 2890	FE_EXP+SC	"SCADA/AR EXP,SCADB/SC,SCAD/A+B,FE/SCAD"
; 2891	FE_EXP-#	"SCADA/AR EXP,SCADB/#,SCAD/A-B,FE/SCAD"
; 2892	FE_EXP-1	"SCADA/AR EXP,SCAD/A-1,FE/SCAD"
; 2893	FE_FE AND #	"SCADA/FE,SCADB/#,SCAD/AND,FE/SCAD"
; 2894	FE_FE AND AR0-8	"SCADA/FE,SCADB/AR0-8,SCAD/AND,FE/SCAD"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6-1
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--E, F					

; 2895	FE_FE OR #	"SCADA/FE,SCADB/#,SCAD/OR,FE/SCAD"
; 2896	FE_FE OR AR0-8	"SCADA/FE,SCADB/AR0-8,SCAD/OR,FE/SCAD"
; 2897	FE_FE SHRT	"COND/FE SHRT,FE/0"
; 2898	FE_FE+#		"SCADA/FE,SCADB/#,SCAD/A+B,FE/SCAD"
; 2899	FE_FE+1		"SCADA/FE,SCAD/A+1,FE/SCAD"
; 2900	FE_FE+S		"SCADA/FE,SCADB/AR6-11,SCAD/A+B,FE/SCAD"
; 2901	FE_FE+SC	"SCADA/FE,SCADB/SC,SCAD/A+B,FE/SCAD"
; 2902	FE_FE-#		"SCADA/FE,SCADB/#,SCAD/A-B,FE/SCAD"
; 2903	FE_FE-1		"SCADA/FE,SCAD/A-1,FE/SCAD"
; 2904	FE_FE-S		"SCADA/FE,SCADB/AR6-11,SCAD/A-B,FE/SCAD"
; 2905	FE_FE-SC	"SCADA/FE,SCADB/SC,SCAD/A-B,FE/SCAD"
; 2906	FE_FE-SC-1	"SCADA/FE,SCADB/SC,SCAD/A-B-1,FE/SCAD"	;[343]
; 2907	FE_P		"SCADA/AR0-5,SCAD/A,FE/SCAD"
; 2908	FE_P AND #	"SCADA/AR0-5,SCADB/#,SCAD/AND,FE/SCAD"
; 2909	FE_P AND SC	"SCADA/AR0-5,SCADB/SC,SCAD/AND,FE/SCAD"
; 2910	FE_P OR #	"SCADA/AR0-5,SCADB/#,SCAD/OR,FE/SCAD"
; 2911	FE_P+#		"SCADA/AR0-5,SCADB/#,SCAD/A+B,FE/SCAD"
; 2912	FE_P+1		"SCADA/AR0-5,SCAD/A+1,FE/SCAD"		;[343]
; 2913	FE_P+S		"SCADA/AR0-5,SCADB/AR6-11,SCAD/A+B,FE/SCAD"
; 2914	FE_P+SC		"SCADA/AR0-5,SCADB/SC,SCAD/A+B,FE/SCAD"
; 2915	FE_P-#		"SCADA/AR0-5,SCADB/#,SCAD/A-B,FE/SCAD"
; 2916	FE_P-S		"SCADA/AR0-5,SCADB/AR6-11,SCAD/A-B,FE/SCAD"
; 2917	FE_S		"SCADA EN/0S,SCADB/AR6-11,SCAD/A+B,FE/SCAD"
; 2918	FE_S+#		"SCADA/#,SCADB/AR6-11,SCAD/A+B,FE/SCAD"
; 2919	FE_SC		"SCADA EN/0S,SCADB/SC,SCAD/A+B,FE/SCAD"
; 2920	
; 2921	FETCH		"MEM/IFET"
; 2922	FETCH+1		"COND/VMA INC,MEM/IFET"
; 2923	FETCH WAIT	"MEM/MB WAIT"		;See edit 111
; 2924	FILL		"R13"
; 2925	FILL_AR		"FILL,FM_AR"
; 2926	FIN LOAD	"ADB/FM,FMADR/VMA,AD/B"	;Finish load of AR or ARX, start new op
; 2927	FIN STORE	"FMADR/VMA"		;FINISH STORE, start new operation
; 2928	FIN XFER	"FMADR/VMA,ADB/FM,AD/B"	;Same as FIN LOAD
; 2929	FINISH		"J/FINI"	;USE INSTEAD OF NXT INSTR IF FM WRITE
; 2930	FM_AR		"COND/FM WRITE"
; 2931	FM[]_AR		"@1, FM_AR"
; 2932	FM(#)_AR	"FMADR/AC+#,AC-OP/AC+#,COND/FM WRITE"
; 2933	FORCE AR-ARX	"ADB/AR*4,AD/B,AR/AD*.25,ARX/ADX*.25"
; 2934	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 7
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--G, H, I, J, L				

; 2935	.TOC	"CRAM Macros--G, H, I, J, L"
; 2936	
; 2937	GEN # AND AR0-8	"SCADA/#,SCADB/AR0-8,SCAD/AND"
; 2938	GEN # AND SC	"SCADA/#,SCADB/SC,SCAD/AND"
; 2939	GEN #+AR0-8	"SCADA/#,SCADB/AR0-8,SCAD/A+B"
; 2940	GEN #+SC	"SCADA/#,SCADB/SC,SCAD/A+B"
; 2941	GEN #-S		"SCADA/#,SCADB/AR6-11,SCAD/A-B"
; 2942	GEN #-SC	"SCADA/#,SCADB/SC,SCAD/A-B"
; 2943	GEN -AC0	"ADA EN/0S,ADB/FM,FMADR/AC0,AD/A-B"
; 2944	GEN -AR LONG	"ADB/AR*4,ADA EN/0S,AD/A-B,SPEC/AD LONG"
; 2945	GEN -AR*4	"ADA EN/0S,ADB/AR*4,AD/A-B"
; 2946	GEN -BR LONG	"ADA EN/0S,ADB/BR,AD/A-B,SPEC/AD LONG"
; 2947	GEN -SC		"SCADB/SC,SCADA EN/0S,SCAD/A-B"
; 2948	GEN -SC-1	"SCADB/SC,SCADA EN/0S,SCAD/A-B-1"
; 2949	GEN 0S		"AD/0S"
; 2950	GEN 2AR		"ADA/AR, AD/A*2"
; 2951	
; 2952	GEN AC0		"FMADR/AC0,ADB/FM,AD/B"
; 2953	GEN AC0+1	"FMADR/AC0,ADB/FM,ADA EN/0S,AD/A+B+1"
; 2954	GEN AR		"ADA/AR,AD/A"
; 2955	GEN AR*2 LONG	"ADA/AR,AD/A*2,SPEC/AD LONG"
; 2956	GEN AR*AC0	"FMADR/AC0,ADB/FM,ADA/AR"
; 2957	GEN AR*BR	"ADA/AR,ADB/BR"
; 2958	GEN AR*T0	"T0,ADB/FM,ADA/AR"
; 2959	GEN AR+1	"ADA/AR,AD/A+1"
; 2960	GEN AR+2BR	"ADA/AR,ADB/BR*2,AD/A+B"
; 2961	GEN AR+BR	"ADA/AR,ADB/BR,AD/A+B"
; 2962	GEN AR+E1	"E1,ADB/FM,ADA/AR,AD/A+B"
; 2963	GEN AR+FM[]	"ADA/AR,ADB/FM,@1,AD/A+B"
; 2964	GEN AR+XR	"FMADR/XR,ADB/FM,ADA/AR,AD/A+B"
; 2965	GEN AR-2BR	"ADA/AR,ADB/BR*2,AD/A-B"
; 2966	GEN AR-AC3	"FMADR/AC3,ADB/FM,ADA/AR,AD/A-B"
; 2967	GEN AR-BR	"ADA/AR,ADB/BR,AD/A-B"
; 2968	GEN AR-BR-1	"GEN AR*BR,AD/A-B-1"
; 2969	GEN AR-FM[]	"ADA/AR,ADB/FM,@1,AD/A-B"
; 2970	GEN AR-FM[]-1	"ADA/AR,ADB/FM,@1,AD/A-B-1"
; 2971	GEN AR0-8	"SCADA EN/0S,SCADB/AR0-8,SCAD/OR"
; 2972	GEN ARX		"ADA/ARX,AD/A"
; 2973	GEN ARX COMP	"ADA/ARX,AD/SETCA"
; 2974	GEN ARX*BR	"ADA/ARX,ADB/BR"		;[224]
; 2975	GEN ARX*BRX	"ADA EN/EN,ADB/BR"
; 2976	GEN ARX+1	"ADA/ARX,AD/A+1"
; 2977	GEN ARX+XR	"FMADR/XR,ADB/FM,ADA/ARX,AD/A+B"
; 2978	GEN ARX-1	"ADA/ARX,AD/A-1"
; 2979	GEN ARX-FM[]	"ADA/ARX,ADB/FM,@1,AD/A-B"
; 2980	
; 2981	GEN BR		"ADB/BR,AD/B"
; 2982	GEN BR*2	"ADB/BR*2,AD/B"
; 2983	GEN BR+ARX	"ADA/ARX,ADB/BR,AD/A+B"		;[230]
; 2984	GEN BRX+1	"ADA EN/0S,ADB/BR,AD/A+B+1"
; 2985	GEN CRY18	"SPEC/GEN CRY18"
; 2986	GEN E1		"E1, ADB/FM, AD/B"
; 2987	GEN FE		"SCADA/FE,SCAD/A"
; 2988	GEN FE AND #	"SCADA/FE,SCADB/#,SCAD/AND"
; 2989	GEN FE AND AR0-8 "SCADA/FE,SCADB/AR0-8,SCAD/AND"
; 2990	GEN FE AND S	"SCADA/FE,SCADB/AR6-11,SCAD/AND"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 7-1
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--G, H, I, J, L				

; 2991	GEN FE AND SC	"SCADA/FE,SCADB/SC,SCAD/AND"
; 2992	GEN FE OR AR0-8	"SCADA/FE,SCADB/AR0-8,SCAD/OR"	;[347]
; 2993	GEN FE+#	"SCADA/FE,SCADB/#,SCAD/A+B"
; 2994	GEN FE-#	"SCADA/FE,SCADB/#,SCAD/A-B"
; 2995	GEN FE-1	"SCADA/FE,SCAD/A-1"
; 2996	GEN FE-S	"SCADA/FE,SCADB/AR6-11,SCAD/A-B"
; 2997	GEN FE-SC	"SCADA/FE,SCADB/SC,SCAD/A-B"
; 2998	GEN FE-SC-1	"SCADA/FE,SCADB/SC,SCAD/A-B-1"	; [303] For DPB to top byte
; 2999	GEN FM[]	"ADB/FM,@1,AD/B"
; 3000	GEN MQ		"ADA/MQ,AD/A"
; 3001	GEN MQ*AC0	"ADA/MQ,ADB/FM,FMADR/AC0"
; 3002	GEN MQ-BR	"ADA/MQ,ADB/BR,AD/A-B"
; 3003	GEN MQ-BR-1	"ADA/MQ,ADB/BR,AD/A-B-1"
; 3004	GEN P AND #	"SCADA/AR0-5,SCADB/#,SCAD/AND"
; 3005	GEN P AND SC	"SCADA/AR0-5,SCADB/SC,SCAD/AND"
; 3006	GEN P+SC	"SCADA/AR0-5,SCADB/SC,SCAD/A+B"
; 3007	GEN P-#		"SCADA/AR0-5,SCADB/#,SCAD/A-B"		;[337]
; 3008	GEN P-S		"SCADA/AR0-5,SCADB/AR6-11,SCAD/A-B"
; 3009	GEN P-SC	"SCADA/AR0-5,SCADB/SC,SCAD/A-B"
; 3010	GEN SC		"SCADB/SC,SCADA EN/0S,SCAD/A+B"
; 3011	GEN SCAD 0S	"SCADA EN/0S,SCAD/A"
; 3012	GEN T1		"T1,ADB/FM,AD/B"
; 3013	GEN T2		"T2,ADB/FM,AD/B"
; 3014	GET ECL EBUS	"COND/EBUS CTL,EBUS CTL/GRAB EEBUS"
; 3015	GLOBAL		"SH/1"
; 3016	
; 3017	HALT		"SPEC/FLAG CTL,FLAG CTL/HALT"
; 3018	HARDPFW		"R17"			;Hard page fail word
; 3019	I FETCH		"VMA/PC+1,MEM/IFET"
; 3020	INDEXED		"SH/2"
; 3021	INH CRY18	"SPEC/INH CRY18"
; 3022	IO INIT		"COND/EBUS CTL,EBUS CTL/IO INIT"
; 3023	IR DISP		"DISP/DRAM J"
; 3024	
; 3025	JFCL FETCH	"VMA/PC+1,MEM/FETCH,FETCH/JFCL"
; 3026	JFCL S		"SPEC/FLAG CTL,FLAG CTL/JFCL+LD"
; 3027	JFCL T		"SPEC/FLAG CTL,FLAG CTL/JFCL"
; 3028	JUMP FETCH	"VMA/PC+1,MEM/FETCH,FETCH/JUMP"
; 3029	
; 3030	LD PCS		"COND/DIAG FUNC,TIME/5T,DIAG FUNC/LD PCS+CWSX,ADA/ARX,AD/A"
; 3031	LD PREV CTXT	"COND/DIAG FUNC,TIME/5T,DIAG FUNC/LD PCS+CWSX,ADA/PC,AD/A"
; 3032	LOAD AR		"MEM/LOAD AR"
; 3033	LOAD AR (RPW)	"MEM/RPW"
; 3034	LOAD AR (WR TST)	"MEM/EA CALC,EA CALC/LD AR+WR"
; 3035	LOAD ARX	"MEM/LOAD ARX"
; 3036	LOAD ARX (WR TST)	"MEM/EA CALC,EA CALC/LD ARX+WR"
; 3037	LOAD EBR	"MEM/REG FUNC,MREG FNC/LOAD EBR"
; 3038	LOAD IR		"COND/LOAD IR,PXCT/0"
; 3039	LOAD UBR	"MEM/REG FUNC,MREG FNC/LOAD UBR"
; 3040	LOAD VMA(EA)	"MEM/EA CALC,EA CALC/LD AR(EA),VMA/LOAD"
; 3041	LONG EN		"COND/LONG EN"
; 3042	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 8
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--M, N, O, P					

; 3043	.TOC	"CRAM Macros--M, N, O, P"
; 3044	
; 3045	MAP		"MEM/REG FUNC,MREG FNC/MAP"
; 3046	MB WAIT		"MEM/MB WAIT"
; 3047	MEM_AR		"FMADR/VMA,MEM/MB WAIT"
; 3048	
; 3049	MQ_0.C		"COND/ARL IND,CLR/MQ"
; 3050	MQ_0.M		"MEM/ARL IND,CLR/MQ"
; 3051	MQ_0.S		"SPEC/ARL IND,CLR/MQ"
; 3052	MQ_1		"ADA EN/0S,AD/A+1,MQ_AD"
; 3053	MQ_1S		"COND/REG CTL,MQ/MQM SEL,MQ CTL/1S"
; 3054	MQ_AC0		"ADB/FM,FMADR/AC0,AD/B,MQ_AD"
; 3055	MQ_AD		"COND/REG CTL,MQ/MQM SEL,MQ CTL/AD"
; 3056	MQ_AR		"SH/AR,MQ/SH"
; 3057	MQ_AR (AD)	"ADA/AR,AD/A,MQ_AD"
; 3058	MQ_AR COMP	"ADA/AR,AD/SETCA,MQ_AD"
; 3059	MQ_AR SWAP	"SH/AR SWAP,MQ/SH"
; 3060	MQ_AR XOR BR	"ADA/AR,ADB/BR,AD/XOR,MQ_AD"
; 3061	MQ_AR-1		"ADA/AR,AD/A-1,MQ_AD"
; 3062	MQ_ARX		"SH/ARX,MQ/SH"
; 3063	MQ_ARX COMP	"ADA/ARX,AD/SETCA,MQ_AD"
; 3064	MQ_ARX*2	"ADA/ARX,AD/A*2,MQ_AD"
; 3065	MQ_ARX+BR	"ADA/ARX,ADB/BR,AD/A+B,MQ_AD"
; 3066	MQ_ARX-BR	"ADA/ARX,ADB/BR,AD/A-B,MQ_AD"
; 3067	MQ_BR		"ADB/BR,AD/B,MQ_AD"
; 3068	MQ_BR COMP	"ADB/BR,AD/SETCB,MQ_AD"
; 3069	MQ_FM[]		"ADB/FM,@1,AD/B,MQ_AD"			;[343]
; 3070	MQ_MQ*.25	"SPEC/MQ SHIFT,MQ/MQ*.25"
; 3071	MQ_MQ*2		"SPEC/MQ SHIFT,MQ/MQ*2"
; 3072	MQ_MQ*BR	"ADA/MQ, ADB/BR, MQ_AD"
; 3073	MQ_MQ+1		"ADA/MQ,AD/A+1,MQ_AD"
; 3074	MQ_MQ-1		"ADA/MQ,AD/A-1,MQ_AD"			;[343]
; 3075	MQ_SHIFT	"SH/SHIFT AR!ARX,MQ/SH"
; 3076	
; 3077	MSK		"R7"
; 3078	MSK_AR		"MSK,FM_AR"
; 3079	MUL		"FE_FE+1,DISP/MUL,MQ/MQ*.25"
; 3080	MUL DISP	"DISP/MUL,MQ/MQ*.25"
; 3081	
; 3082	NO CRY		"AD/SETCA"
; 3083	NORM		"DISP/NORM"
; 3084	NORM -AR	"ADA EN/0S,ADB/AR*4,AD/A-B,AR/AD*.25,ARX/ADX*.25,DISP/NORM"
; 3085	NORM AR		"ADB/AR*4,AD/B,DISP/NORM"
; 3086	NXT INSTR	"MEM/MB WAIT,DISP/NICOND,#/0,CLR SC,CLR FE,J/NEXT"
; 3087	
; 3088	OPTIONS		"KLPAGE/OPTIONS,LONGPC/OPTIONS,NONSTD/OPTIONS,PV/OPTIONS,PMOVE/OPTIONS,ISTAT/OPTIONS"
; 3089	
; 3090	P_#		"SCADA/#,SCAD/A,P_SCAD#"
; 3091	P_# AND SC	"SCADA/#,SCADB/SC,SCAD/AND,P_SCAD#"
; 3092	P_#+SC		"SCADA/#,SCADB/SC,SCAD/A+B,P_SCAD#"
; 3093	P_#-S		"SCADA/#,SCADB/AR6-11,SCAD/A-B,P_SCAD#"
; 3094	P_#-SC		"SCADA/#,SCADB/SC,SCAD/A-B,P_SCAD#"	;[343]
; 3095	P_-SC		"SCADA EN/0S,SCADB/SC,SCAD/A-B,P_SCAD"
; 3096	P_0		"SCADA EN/0S,SCAD/A,P_SCAD"
; 3097	P_1S		"SCADA EN/0S,SCAD/A-1,P_SCAD"
; 3098	P_FE		"SCADA/FE,SCAD/A,P_SCAD"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 8-1
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--M, N, O, P					

; 3099	P_FE AND #	"SCADA/FE,SCADB/#,SCAD/AND,P_SCAD#"
; 3100	P_FE OR SC	"SCADA/FE,SCADB/SC,SCAD/OR,P_SCAD"
; 3101	P_FE+S		"SCADA/FE,SCADB/AR6-11,SCAD/A+B,P_SCAD"
; 3102	P_FE+SC		"SCADA/FE,SCADB/SC,SCAD/A+B,P_SCAD#"
; 3103	P_FE-S		"SCADA/FE,SCADB/AR6-11,SCAD/A-B,P_SCAD.C"
; 3104	P_FE-S.S	"SCADA/FE,SCADB/AR6-11,SCAD/A-B,P_SCAD.S"
; 3105	P_FE.C		"SCADA/FE,SCAD/A,P_SCAD#"
; 3106	P_P AND #	"SCADA/AR0-5,SCADB/#,SCAD/AND,P_SCAD#"
; 3107	P_P AND SC	"SCADA/AR0-5,SCADB/SC,SCAD/AND,P_SCAD.C"
; 3108	P_P OR #	"SCADA/AR0-5,SCADB/#,SCAD/OR,P_SCAD#"
; 3109	P_P OR SC	"SCADA/AR0-5,SCADB/SC,SCAD/OR,P_SCAD#"
; 3110	P_P+#		"SCADA/AR0-5,SCADB/#,SCAD/A+B,P_SCAD#"
; 3111	P_P+1		"SCADA/AR0-5,SCAD/A+1,P_SCAD#"		;[337]
; 3112	P_P+S		"SCADA/AR0-5,SCADB/AR6-11,SCAD/A+B,P_SCAD"
; 3113	P_P+S.C		"SCADA/AR0-5,SCADB/AR6-11,SCAD/A+B,P_SCAD#"
; 3114	P_P-S		"SCADA/AR0-5,SCADB/AR6-11,SCAD/A-B,P_SCAD"
; 3115	P_SC		"SCADA EN/0S,SCADB/SC,SCAD/A+B,P_SCAD"
; 3116	P_SC#		"SCADA EN/0S,SCADB/SC,SCAD/A+B,P_SCAD#"
; 3117	P_SCAD		"MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD POS"
; 3118	P_SCAD#		"COND/LD AR0-8,AR/ARMM,ARMM/SCAD POS"
; 3119	P_SCAD.C	"COND/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD POS"
; 3120	P_SCAD.S	"SPEC/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD POS"
; 3121	
; 3122	P0		"FMADR/#B#,ACB/PAGB,AC#/0"	Paging AC 0
; 3123	P1		"FMADR/#B#,ACB/PAGB,AC#/1"
; 3124	P10		"FMADR/#B#,ACB/PAGB,AC#/10"
; 3125	P11		"FMADR/#B#,ACB/PAGB,AC#/11"
; 3126	P12		"FMADR/#B#,ACB/PAGB,AC#/12"
; 3127	P13		"FMADR/#B#,ACB/PAGB,AC#/13"
; 3128	P14		"FMADR/#B#,ACB/PAGB,AC#/14"
; 3129	P15		"FMADR/#B#,ACB/PAGB,AC#/15"
; 3130	P16		"FMADR/#B#,ACB/PAGB,AC#/16"
; 3131	P17		"FMADR/#B#,ACB/PAGB,AC#/17"
; 3132	P2		"FMADR/#B#,ACB/PAGB,AC#/2"
; 3133	P3		"FMADR/#B#,ACB/PAGB,AC#/3"
; 3134	P4		"FMADR/#B#,ACB/PAGB,AC#/4"
; 3135	P5		"FMADR/#B#,ACB/PAGB,AC#/5"
; 3136	P6		"FMADR/#B#,ACB/PAGB,AC#/6"
; 3137	P7		"FMADR/#B#,ACB/PAGB,AC#/7"
; 3138	PC_VMA		"SPEC/LOAD PC"
; 3139	PF DISP		"DISP/PG FAIL"
; 3140	PFA		"P4"
; 3141	PFA_AR		"PFA,COND/FM WRITE"
; 3142	PHYS REF	"SPEC/SP MEM CYCLE,SP MEM/UNPAGED"
; 3143	PHYS REF CACHE	"SPEC/SP MEM CYCLE,SP MEM/UNPAGED+CACHED"
; 3144	POP AR		"MEM/EA CALC,EA CALC/POP AR,VMA/LOAD"
; 3145	POP AR-ARX	"MEM/EA CALC,EA CALC/POP AR-ARX,VMA/LOAD"
; 3146	POP ARX		"MEM/EA CALC,EA CALC/POP ARX,VMA/LOAD"
; 3147	PORTAL		"SPEC/FLAG CTL,FLAG CTL/PORTAL"
; 3148	PT FETCH	"MEM/LOAD ARX,SPEC/SP MEM CYCLE,SP MEM/PT FETCH"
; 3149	PT REF		"SPEC/SP MEM CYCLE,SP MEM/PT"
; 3150	PT SEL_INVAL	"COND/MBOX CTL,MBOX CTL/PT DIR CLR"
; 3151	PT SEL_INVAL (KEEP) "COND/MBOX CTL,MBOX CTL/PT DIR CLR(NK)"
; 3152	PT SEL_NORMAL	"COND/MBOX CTL,MBOX CTL/NORMAL"
; 3153	PUR		"P1"
; 3154	PUSH		"MEM/EA CALC,EA CALC/PUSH,VMA/LOAD,SPEC/STACK UPDATE"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 9
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--R						

; 3155	.TOC	"CRAM Macros--R"
; 3156	
; 3157	R0		"FMADR/#B#,ACB/MICROB,AC#/0"	Scratch register 0
; 3158	R1		"FMADR/#B#,ACB/MICROB,AC#/1"	Scratch register 1
; 3159	R10		"FMADR/#B#,ACB/MICROB,AC#/10"	Scratch register 10
; 3160	R11		"FMADR/#B#,ACB/MICROB,AC#/11"	Scratch register 11
; 3161	R12		"FMADR/#B#,ACB/MICROB,AC#/12"	Scratch register 12
; 3162	R13		"FMADR/#B#,ACB/MICROB,AC#/13"	Scratch register 13
; 3163	R14		"FMADR/#B#,ACB/MICROB,AC#/14"	Scratch register 14
; 3164	R15		"FMADR/#B#,ACB/MICROB,AC#/15"	Scratch register 15
; 3165	R16		"FMADR/#B#,ACB/MICROB,AC#/16"	Scratch register 16
; 3166	R17		"FMADR/#B#,ACB/MICROB,AC#/17"	Scratch register 17
; 3167	R2		"FMADR/#B#,ACB/MICROB,AC#/2"	Scratch register 2
; 3168	R3		"FMADR/#B#,ACB/MICROB,AC#/3"	Scratch register 3
; 3169	R4		"FMADR/#B#,ACB/MICROB,AC#/4"	Scratch register 4
; 3170	R5		"FMADR/#B#,ACB/MICROB,AC#/5"	Scratch register 5
; 3171	R6		"FMADR/#B#,ACB/MICROB,AC#/6"	Scratch register 6
; 3172	R7		"FMADR/#B#,ACB/MICROB,AC#/7"	Scratch register 7
; 3173	
; 3174	RD+CLR C CNT	"SPEC/MTR CTL,AR_CACHE CNT"
; 3175	RD+CLR E CNT	"SPEC/MTR CTL,AR_EBOX CNT"
; 3176	RD+CLR PA	"SPEC/MTR CTL,AR_PERF CNT"
; 3177	RD+CLR TB	"SPEC/MTR CTL,AR_TIME BASE"
; 3178	READ BP2	"MEM/EA CALC,EA CALC/BYTE IND,VMA/VMA,COND/VMA INC"
; 3179	READ EBR	"MEM/REG FUNC,MREG FNC/READ EBR"
; 3180	READ ERA	"MEM/REG FUNC,MREG FNC/READ ERA"
; 3181	READ UBR	"MEM/REG FUNC,MREG FNC/READ UBR"
; 3182	REL EBUS	"COND/EBUS CTL,EBUS CTL/REL EBUS"
; 3183	REL ECL EBUS	"COND/EBUS CTL,EBUS CTL/REL EEBUS"
; 3184	REQ EBUS	"COND/EBUS CTL,EBUS CTL/REQ EBUS"
; 3185	REQ SV.VMA	"SV.VMA,ADB/FM,AD/B,VMA/1,MEM/AD FUNC"
; 3186	REQ VMA HELD	"COND/SEL VMA,ADA/PC,AD/A,VMA/1,MEM/AD FUNC"
; 3187	
; 3188	RET[]		"DISP/RETURN,J/@1"
; 3189	RETURN []	"DISP/RETURN,J/@1"
; 3190	RETURN0		"DISP/RETURN,J/0"
; 3191	RETURN1		"DISP/RETURN,J/1"
; 3192	RETURN10	"DISP/RETURN,J/10"
; 3193	RETURN12	"DISP/RETURN,J/12"
; 3194	RETURN15	"DISP/RETURN,J/15"			;[343]
; 3195	RETURN16	"DISP/RETURN,J/16"			;[337]
; 3196	RETURN17	"DISP/RETURN,J/17"			;[337]
; 3197	RETURN2		"DISP/RETURN,J/2"
; 3198	RETURN20	"DISP/RETURN,J/20"
; 3199	RETURN3		"DISP/RETURN,J/3"
; 3200	RETURN30	"DISP/RETURN,J/30"
; 3201	RETURN37	"DISP/RETURN,J/37"
; 3202	RETURN4		"DISP/RETURN,J/4"
; 3203	RETURN5		"DISP/RETURN,J/5"
; 3204	RETURN6		"DISP/RETURN,J/6"
; 3205	RETURN7		"DISP/RETURN,J/7"
; 3206	RSTR FLAGS_AR	"SPEC/FLAG CTL,FLAG CTL/RSTR FLAGS"
; 3207	RSTR VMA_ARX	"ADA/ARX,AD/A,VMA/LOAD,MEM/RESTORE VMA"
; 3208	RSTR VMA_MQ	"ADA/MQ,AD/A,VMA/LOAD,MEM/RESTORE VMA"
; 3209	RSTR VMA_SV.VMA	"SV.VMA,ADB/FM,AD/B,VMA/LOAD,MEM/RESTORE VMA"
; 3210	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 10
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--S						

; 3211	.TOC	"CRAM Macros--S"
; 3212	
; 3213	SBR		"P3"
; 3214	SBUS DIAG	"MEM/REG FUNC,MREG FNC/SBUS DIAG"
; 3215	
; 3216	SC_#		"SCADA/#,SCAD/A,SC/SCAD"
; 3217	SC_# AND AR0-8	"SCADA/#,SCADB/AR0-8,SCAD/AND,SC/SCAD"
; 3218	SC_# AND S	"SCADA/#,SCADB/AR6-11,SCAD/AND,SC/SCAD"
; 3219	SC_# OR SC	"SCADA/#,SCADB/SC,SCAD/OR,SC/SCAD"
; 3220	SC_#+AR0-8	"SCADA/#,SCADB/AR0-8,SCAD/A+B,SC/SCAD"
; 3221	SC_#+SC		"SCADA/#,SCADB/SC,SCAD/A+B,SC/SCAD"
; 3222	SC_#-S		"SCADA/#,SCADB/AR6-11,SCAD/A-B,SC/SCAD"
; 3223	SC_#-SC		"SCADA/#,SCADB/SC,SCAD/A-B,SC/SCAD"
; 3224	SC_#-SC-1	"SCADA/#,SCADB/SC,SCAD/A-B-1,SC/SCAD"
; 3225	SC_-S		"SCADA EN/0S,SCADB/AR6-11,SCAD/A-B,SC/SCAD";[343]
; 3226	SC_-SC		"SCADA EN/0S,SCADB/SC,SCAD/A-B,SC/SCAD"
; 3227	SC_-SC-1	"SCADA EN/0S,SCADB/SC,SCAD/A-B-1,SC/SCAD"
; 3228	SC_0		"SCADA EN/0S,SCAD/A,SC/SCAD"
; 3229	SC_1		"SCADA EN/0S,SCAD/A+1,SC/SCAD"
; 3230	SC_1S		"SCADA EN/0S,SCAD/A-1,SC/SCAD"
; 3231	SC_AR0-8	"SCADA EN/0S,SCADB/AR0-8,SCAD/A+B,SC/SCAD" ;[231]
; 3232	SC_EA		"SPEC/SCM ALT,SC/AR SHIFT"
; 3233	SC_EXP		"SCADA/AR EXP,SCAD/A,SC/SCAD"
; 3234	SC_EXP+1	"SCADA/AR EXP,SCAD/A+1,SC/SCAD"
; 3235	SC_EXP+SC	"SCADA/AR EXP,SCADB/SC,SCAD/A+B,SC/SCAD"
; 3236	SC_EXP-#	"SCADA/AR EXP,SCADB/#,SCAD/A-B,SC/SCAD"
; 3237	SC_EXP-1	"SCADA/AR EXP,SCAD/A-1,SC/SCAD"
; 3238	SC_EXP-SC	"SCADA/AR EXP,SCADB/SC,SCAD/A-B,SC/SCAD"
; 3239	SC_FE		"SPEC/SCM ALT,SC/FE"
; 3240	SC_FE AND #	"SCADA/FE,SCADB/#,SCAD/AND,SC/SCAD"
; 3241	SC_FE#		"SCADA/FE,SCAD/A,SC/SCAD"	  ;[337] If SPEC is in conflict
; 3242	SC_FE+#		"SCADA/FE,SCADB/#,SCAD/A+B,SC/SCAD"
; 3243	SC_FE+1		"SCADA/FE,SCAD/A+1,SC/SCAD"
; 3244	SC_FE+S		"SCADA/FE,SCADB/AR6-11,SCAD/A+B,SC/SCAD"
; 3245	SC_FE+SC	"SCADA/FE,SCADB/SC,SCAD/A+B,SC/SCAD"
; 3246	SC_FE-#		"SCADA/FE,SCADB/#,SCAD/A-B,SC/SCAD"
; 3247	SC_FE-1		"SCADA/FE,SCAD/A-1,SC/SCAD"
; 3248	SC_FE-SC	"SCADA/FE,SCADB/SC,SCAD/A-B,SC/SCAD"
; 3249	SC_FE-SC-1	"SCADA/FE,SCADB/SC,SCAD/A-B-1,SC/SCAD"
; 3250	SC_P		"SCADA/AR0-5,SCAD/A,SC/SCAD"
; 3251	SC_P AND #	"SCADA/AR0-5,SCADB/#,SCAD/AND,SC/SCAD"
; 3252	SC_P AND SC	"SCADA/AR0-5,SCADB/SC,SCAD/AND,SC/SCAD"
; 3253	SC_P+#		"SCADA/AR0-5,SCADB/#,SCAD/A+B,SC/SCAD"
; 3254	SC_P+1		"SCADA/AR0-5,SCAD/A+1,SC/SCAD"		;[337]
; 3255	SC_P+S		"SCADA/AR0-5,SCADB/AR6-11,SCAD/A+B,SC/SCAD";[343]
; 3256	SC_P-#		"SCADA/AR0-5,SCADB/#,SCAD/A-B,SC/SCAD"
; 3257	SC_P-SC-1	"SCADA/AR0-5,SCADB/SC,SCAD/A-B-1,SC/SCAD"
; 3258	SC_S		"SCADB/AR6-11,SCADA EN/0S,SCAD/A+B,SC/SCAD"
; 3259	SC_SC AND #	"SCADA/#,SCADB/SC,SCAD/AND,SC/SCAD"
; 3260	
; 3261	SEL AC4		"AC-OP/AC+#,AC#/4"
; 3262	SEL AC5		"AC-OP/AC+#,AC#/5"
; 3263	SEL DSTP	"AC-OP/AC+#,AC#/4"
; 3264	SEL DSTP2	"AC-OP/AC+#,AC#/5"
; 3265	SET ACC+CLR UCODE	"COND/EBOX STATE,#/005"
; 3266	SET ACCOUNT EN	"COND/EBOX STATE,#/105"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 10-1
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--S						

; 3267	SET AROV	"COND/PCF_#,PC FLAGS/AROV"
; 3268	SET CONS XCT	"COND/SPEC INSTR,SPEC INSTR/CONS XCT"
; 3269	SET DATAI	"COND/EBUS CTL,EBUS CTL/DATAI,AD/0S,AR/AD"
; 3270	SET DATAO	"COND/EBUS CTL,EBUS CTL/DATAO"
; 3271	SET EBUS DEMAND	"COND/EBUS CTL,EBUS CTL/EBUS DEMAND"
; 3272	SET FL NO DIV	"COND/PCF_#,PC FLAGS/FDV CHK"
; 3273	SET FLAGS_AR	"SPEC/FLAG CTL,FLAG CTL/SET FLAGS"
; 3274	SET FLOV	"COND/PCF_#,PC FLAGS/FLOV"
; 3275	SET FPD		"COND/PCF_#,PC FLAGS/FPD"
; 3276	SET FXU		"COND/PCF_#,PC FLAGS/FXU"	;[224]
; 3277	SET HALTED	"COND/SPEC INSTR,SPEC INSTR/HALTED"
; 3278	SET IO PF	"COND/MBOX CTL,MBOX CTL/SET IO PF ERR"
; 3279	SET MTR PA EN	"COND/EBOX STATE,#/225"
; 3280	SET NO DIVIDE	"COND/PCF_#,PC FLAGS/DIV CHK"
; 3281	SET PC+1 INH	"COND/SPEC INSTR,SPEC INSTR/INH PC+1"
; 3282	SET PI CYCLE	"COND/SPEC INSTR,SPEC INSTR/SET PI CYCLE"
; 3283	SET PXCT	"COND/SPEC INSTR,SPEC INSTR/PXCT"
; 3284	SET SR1		"COND/SR_#,#/64"
; 3285	SET SR2		"COND/SR_#,#/62"
; 3286	SET SR3		"COND/SR_#,#/61"
; 3287	SET SXCT	"COND/SPEC INSTR,SPEC INSTR/SXCT"
; 3288	SET TRACKS EN	"COND/EBOX STATE,#/131"
; 3289	SET TRK+PA EN	"COND/EBOX STATE,#/231"
; 3290	SFLGS		"FMADR/AC0"
; 3291	SFLGS_AR	"SFLGS,FM_AR"
; 3292	SH DISP		"SH/SHIFT AR!ARX,DISP/SH0-3"
; 3293	SIGNS DISP	"DISP/SIGNS"
; 3294	SKIP FETCH	"ADA/AR,AD/A,VMA/PC+1,MEM/FETCH,FETCH/SKIP"
; 3295	
; 3296	SKP -EBUS GRANT	"SKIP/-EBUS GRANT"
; 3297	SKP -EBUS XFER	"SKIP/-EBUS XFER"
; 3298	SKP -LOCAL AC ADDR	"SKIP/-LOCAL AC ADDR"
; 3299	SKP -START	"SKIP/-START"
; 3300	SKP -VMA SEC0	"SKIP/-VMA SEC0"
; 3301	SKP AC EQ 0	"SKIP/AC#0"			;[343] More mnemonic than AC#0
; 3302	SKP AC REF	"SKIP/AC REF"
; 3303	SKP AC#0	"SKIP/AC#0"
; 3304	SKP AC0+	"FMADR/AC0,ADB/FM,AD/SETCB,SKIP/AD0"
; 3305	SKP AC0-	"FMADR/AC0,ADB/FM,AD/B,SKIP/AD0"
; 3306	SKP AD NE	"SKIP/AD#0"
; 3307	SKP AD NZ	"SKIP/AD#0"			;Mnemonic synonym
; 3308	SKP AD0		"SKIP/AD0"
; 3309	SKP ADX0	"SKIP/ADX0"
; 3310	SKP AR EQ	"ADA EN/0S,ADB/AR*4,AD/ORCB+1,SKIP/AD CRY0"
; 3311	SKP AR EQ -1	"ADA/AR,AD/CRY A EQ -1,SKIP/AD CRY0"
; 3312	SKP AR GT BR	"ADA/AR,ADB/BR,AD/XOR,SKIP/AD CRY0"
; 3313	SKP AR NE	"ADA/AR,AD/CRY A#0,SKIP/AD CRY0"
; 3314	SKP AR NE BR	"ADA/AR,ADB/BR,AD/XOR,SKIP/AD#0"
; 3315	SKP AR NZ	"ADA/AR,AD/A,SKIP/AD#0"			;[343]
; 3316	SKP AR SIG	"ADA/AR,AD/A+XCRY,SPEC/XCRY AR0,SKIP/AD#0"
; 3317	SKP AR0		"SKIP/AR0"
; 3318	SKP AR1		"ADA/AR,AD/A*2,SKIP/AD0"
; 3319	SKP AR18	"SKIP/AR18"
; 3320	SKP AR2		"ADB/AR*4,AD/B,SKIP/AD0"
; 3321	SKP AR6		"SCADB/AR6-11,SCADA/#,#/40,SCAD/AND,SKIP/SCAD#0"
; 3322	SKP ARX LE BRX	"ADA EN/EN,ADB/BR,AD/A-B-1,SKIP/ADX0"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 10-2
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--S						

; 3323	SKP ARX LT BRX	"ADA EN/EN,ADB/BR,AD/A-B,SKIP/ADX0"
; 3324	SKP ARX NE	"ADA/ARX,AD/CRY A#0,SKIP/AD CRY0"
; 3325	SKP ARX NZ	"ADA/ARX,AD/A,SKIP/AD#0"		;[343]
; 3326	SKP ARX+MQ NE	"ADA/MQ,AD/CRY A#0,SPEC/AD LONG,SKIP/AD CRY0"
; 3327	SKP ARX0	"SKIP/ARX0"
; 3328	SKP ARX2	"ADB/AR*4,AD/B,SKIP/ADX0"
; 3329	
; 3330	SKP BR EQ	"ADA EN/0S,ADB/BR,AD/CRY A GE B,SKIP/AD CRY0"
; 3331	SKP BR EQ -1	"ADA EN/0S,ADB/BR,AD/A+B+1,SKIP/AD CRY0"
; 3332	SKP BR0		"SKIP/BR0"
; 3333	SKP CRY0	"SKIP/AD CRY0"
; 3334	SKP EVEN PAR	"SKIP/EVEN PAR"
; 3335	SKP EXP NE	"SCADA/AR EXP,SCAD/A,SKIP/SCAD#0"
; 3336	SKP FE NZ	"SCADA/FE,SCAD/A,SKIP/SCAD#0"
; 3337	SKP FE0		"SCADA/FE,SCAD/A,SKIP/SCAD0"
; 3338	SKP FETCH	"SKIP/FETCH"
; 3339	SKP INTRPT	"SKIP/INTRPT"
; 3340	SKP IO LEGAL	"SKIP/IO LEGAL"
; 3341	SKP KERNEL	"SKIP/KERNEL"
; 3342	SKP MQ EQ -1	"ADA/MQ,AD/CRY A EQ -1,SKIP/AD CRY0"
; 3343	SKP MQ NE	"ADA/MQ,AD/CRY A#0,SKIP/AD CRY0"
; 3344	SKP MQ NE BR	"ADA/MQ,ADB/BR,AD/XOR,SKIP/AD#0"
; 3345	SKP MQ NZ	"ADA/MQ,AD/A,SKIP/AD#0"		;Better than above
; 3346	SKP P NE	"SCADA/AR0-5,SCAD/A,SKIP/SCAD#0"
; 3347	SKP P!S XCT	"SKIP/P!S XCT"
; 3348	SKP PC SEC0	"SKIP/PC SEC0"
; 3349	SKP PI CYCLE	"SKIP/PI CYCLE"
; 3350	SKP RPW		"SKIP/RPW REF"
; 3351	SKP RUN		"SKIP/RUN"
; 3352	SKP SC NE	"SCADB/SC,SCADA EN/0S,SCAD/A+B,SKIP/SCAD#0"
; 3353	SKP SC NZ	"SCADA EN/0S,SCADB/SC,SCAD/A+B,SKIP/SCAD#0"
; 3354	SKP SC0		"SKIP/SC0"
; 3355	SKP SCAD NE	"SKIP/SCAD#0"
; 3356	SKP SCAD NZ	"SKIP/SCAD#0"			;[347]
; 3357	SKP SCAD0	"SKIP/SCAD0"
; 3358	SKP USER	"SKIP/USER"
; 3359	
; 3360	SLEN		"R10"		;MUST BE 170
; 3361	SLEN_AR		"SLEN,FM_AR"
; 3362	SR DISP		"DISP/SR"
; 3363	SR_#		"COND/SR_#"		;USED FOR NON-PAGE-FAIL APPLICATIONS
; 3364	SR_0		"COND/SR_#,#/0"
; 3365	SR_1		"COND/SR_#,#/1"
; 3366	SR_2		"COND/SR_#,#/2"		;[224]
; 3367	SR_BDD		"COND/SR_#,#/206"	;B2D AFTER UPDATING DST PTR
; 3368	SR_BDF		"COND/SR_#,#/203"	;B2D STORING FILLERS
; 3369	SR_BDT		"COND/SR_#,#/010"	;B2D IN TRANSLATION
; 3370	SR_BLT		"COND/SR_#,#/7"		;[426]
; 3371	SR_BLT(AC)	"COND/SR_#,#/407"
; 3372	SR_BLT(PXCT DST) "COND/SR_#,#/107"
; 3373	SR_BLT(PXCT SRC) "COND/SR_#,#/307"
; 3374	SR_DB		"COND/SR_#,#/102"	;D2B ANYWHERE
; 3375	SR_DST		"COND/SR_#,#/212"
; 3376	SR_DSTF		"COND/SR_#,#/214"
; 3377	SR_ED(+D)	"COND/SR_#,#/224"
; 3378	SR_ED(PAT)	"COND/SR_#,#/0"		;PATTERN REF IS EXTENDED
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 10-3
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--S						

; 3379	SR_ED(S)	"COND/SR_#,#/101"
; 3380	SR_MAP		"COND/SR_#,#/15"	;CATCH MAP PAGE FAILURES
; 3381	SR_SRC		"COND/SR_#,#/111"
; 3382	SR_SRC+DST	"COND/SR_#,#/213"
; 3383	SR_WORD		"COND/SR_#,#/17"	;WORD MOVES OF STRING INSTRS
; 3384	SR_XBLT(DST)	"COND/SR_#,#/316"
; 3385	SR_XBLT(SRC)	"COND/SR_#,#/216"
; 3386	SRCP		"FMADR/AC1"
; 3387	SRCP_AR		"SRCP,FM_AR"
; 3388	SRCP2		"FMADR/AC2"
; 3389	SRCP2_AR	"SRCP2,FM_AR"
; 3390	
; 3391	STACK UPDATE	"SPEC/STACK UPDATE"
; 3392	STORE		"MEM/WRITE"
; 3393	STORE VMA(EA)	"MEM/EA CALC,EA CALC/WRITE(E),VMA/LOAD"
; 3394	SV.AR		"P16"		;156 REQUIRED FOR PF.PAR HACK
; 3395	SV.AR_AR	"SV.AR,COND/FM WRITE"
; 3396	SV.ARX		"P17"		;157 REQUIRED FOR PF.PAR HACK
; 3397	SV.ARX_AR	"SV.ARX,COND/FM WRITE"
; 3398	SV.BR		"P10"
; 3399	SV.BR_AR	"SV.BR,COND/FM WRITE"
; 3400	SV.IOP		"R3"		;[233]
; 3401	SV.IOPF		"R2"
; 3402	SV.IOPF_AR	"SV.IOPF,COND/FM WRITE"	;IO PAGE FAIL WORD
; 3403	SV.PAR		"R0"		;Note not in PAGB block
; 3404	SV.PAR_AR	"SV.PAR,COND/FM WRITE"
; 3405	SV.PFW		"P12"
; 3406	SV.PFW_AR	"SV.PFW,COND/FM WRITE"
; 3407	SV.SC		"P11"
; 3408	SV.SC_AR	"SV.SC,COND/FM WRITE"
; 3409	SV.VMA		"P5"
; 3410	SV.VMA_AR	"SV.VMA,COND/FM WRITE"
; 3411	SWD		"R1"		;BUFFER FOR SOURCE BYTE WORD
; 3412	SWD_AR		"SWD,FM_AR"
; 3413	SWEEP CACHE	"MEM/REG FUNC,MREG FNC/LOAD CCA"
; 3414	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 11
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--T, U, V, W, X				

; 3415	.TOC	"CRAM Macros--T, U, V, W, X"
; 3416	
; 3417	T0		"R6"
; 3418	T0_AR		"T0,FM_AR"
; 3419	T1		"R11"
; 3420	T1_AR		"T1,FM_AR"
; 3421	T2		"R12"
; 3422	T2_AR		"T2,FM_AR"
; 3423	TAKE INTRPT	"SKIP/-MTR REQ,J/MTRINT"
; 3424	TEST AR		"ADA/AR,AD/CRY A#0"
; 3425	TEST AR.AC0	"FMADR/AC0,ADB/FM,ADA/AR,AD/CRY A.B#0"
; 3426	TEST AR.BR	"ADB/BR,ADA/AR,AD/CRY A.B#0"
; 3427	TEST AR.MSK	"MSK,ADB/FM,ADA/AR,AD/CRY A.B#0"
; 3428	TEST ARX	"ADA/ARX,AD/CRY A#0"
; 3429	TEST ARX.AR*4	"ADA/ARX,ADB/AR*4,AD/CRY A.B#0"
; 3430	TEST BRL	"ADA EN/0S,ADB/BR,AD/ORCB+1,GEN CRY18"
; 3431	TEST CBR	"CBR,ADB/FM,AD/B,SKP AD NE"	;[247]
; 3432	TEST FETCH	"VMA/PC+1,MEM/FETCH,FETCH/TEST"
; 3433	TRAP1		"COND/PCF_#,PC FLAGS/TRAP1"
; 3434	TRAP2		"COND/PCF_#,PC FLAGS/TRAP2"
; 3435	TRAP3		"COND/PCF_#,PC FLAGS/TRAP3"
;;3436	.IF/TRXDEF
;;3437	TRB		"E0"		;same as E0.
;;3438	TRB_AR		"TRB,FM_AR"
;;3439	TRX		"R17"
;;3440	TRX_AR		"TRX,FM_AR"
;;3441	TRX1		"R2"
;;3442	TRX1_AR		"TRX1,FM_AR"
;;3443	TRX2		"R1"
;;3444	TRX2_AR		"TRX2,FM_AR"
;;3445	TRX3		"R14"
;;3446	TRX3_AR		"TRX3,FM_AR"
; 3447	.ENDIF/TRXDEF
; 3448	
; 3449	UNCSH PHYS REF	"SPEC/SP MEM CYCLE,SP MEM/UNCSH+UNPAGE"
; 3450	UPT FETCH	"MEM/LOAD ARX,SPEC/SP MEM CYCLE,SP MEM/UPT FETCH"
; 3451	UPT REF		"SPEC/SP MEM CYCLE,SP MEM/UPT"
; 3452	USER REF	"SPEC/SP MEM CYCLE,SP MEM/USER"
; 3453	
; 3454	VMA_#		"VMA/LOAD,COND/VMA_#"
; 3455	VMA_#+AR32-35	"VMA/LOAD,COND/VMA_#+AR32-35"
; 3456	VMA_40		"VMA/LOAD,COND/VMA_#,#/40"
; 3457	VMA_40+PI*2	"VMA/LOAD,COND/VMA_#+PI*2,#/40"
; 3458	VMA_41		"VMA/LOAD,COND/VMA_#,#/41"
; 3459	VMA_41+PI*2	"VMA/LOAD,COND/VMA_#+PI*2,#/41"
; 3460	VMA_420+TRAP	"VMA/LOAD,COND/VMA_#+TRAP,#/420"
; 3461	VMA_430+MODE	"VMA/LOAD,COND/VMA_#+MODE,#/430"
; 3462	VMA_AC3		"FMADR/AC3,ADB/FM,AD/B,VMA/AD"
; 3463	VMA_AR		"ADA/AR,AD/A,VMA/AD"
; 3464	VMA_AR AND ADMSK "ADMSK,ADB/FM,ADA/AR,AD/AND,VMA/AD"
; 3465	VMA_AR+1	"ADA/AR,AD/A+1,VMA/AD"
; 3466	VMA_AR+BR	"ADA/AR,ADB/BR,AD/A+B,VMA/AD"
; 3467	VMA_AR+CBR	"CBR,ADB/FM,ADA/AR,AD/A+B,VMA/AD"
; 3468	VMA_AR+E0	"E0,ADB/FM,ADA/AR,AD/A+B,VMA/AD"
; 3469	VMA_AR+E0+1	"E0,ADB/FM,ADA/AR,AD/A+B+1,VMA/AD"
; 3470	VMA_AR+E1	"E1,ADB/FM,ADA/AR,AD/A+B,VMA/AD"
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 11-1
; MACRO.MIC[4,24]	11:59 29-May-86			CRAM Macros--T, U, V, W, X				

; 3471	VMA_AR+SBR	"SBR,ADB/FM,ADA/AR,AD/A+B,VMA/AD"
;;3472	.IF/TRXDEF
;;3473	VMA_AR+TRB	"TRB,ADB/FM,ADA/AR,AD/A+B,VMA/AD"
; 3474	.ENDIF/TRXDEF
; 3475	VMA_AR+XR	"GEN AR+XR,VMA/AD"
; 3476	VMA_AR-1	"ADA/AR,AD/A-1,VMA/AD"
; 3477	VMA_ARX		"ADA/ARX,AD/A,VMA/AD"
; 3478	VMA_ARX AND ADMSK "ADMSK,ADB/FM,ADA/ARX,AD/AND,VMA/AD"
; 3479	VMA_ARX+1	"ADA/ARX,AD/A+1,VMA/AD"
; 3480	VMA_ARX+BR	"ADA/ARX,ADB/BR,AD/A+B,VMA/AD"
; 3481	VMA_ARX+CBR	"CBR,ADB/FM,ADA/ARX,AD/A+B,VMA/AD"
; 3482	VMA_ARX+FM[]	"ADA/ARX,ADB/FM,@1,AD/A+B,VMA/AD"
; 3483	VMA_ARX+XR	"GEN ARX+XR,VMA/AD"
; 3484	
; 3485	VMA_BR		"ADB/BR,AD/B,VMA/AD"
; 3486	VMA_E0+1	"E0,ADB/FM,ADA EN/0S,AD/A+B+1,VMA/AD"
; 3487	VMA_FM[]	"ADA EN/0S,ADB/FM,@1,AD/B,VMA/AD";[344]
; 3488	VMA_MQ		"ADA/MQ,AD/A,VMA/AD"
; 3489	VMA_MQ+1	"ADA/MQ,AD/A+1,VMA/AD"		;[310]
; 3490	VMA_PC		"VMA/PC"			;[252]
; 3491	VMA_PC+1	"VMA/PC+1"
; 3492	VMA_SV.VMA	"SV.VMA,ADB/FM,AD/B,VMA/AD"
;;3493	.IF/TRXDEF
;;3494	VMA_TRB		"TRB,ADB/FM,AD/B,VMA/AD"
; 3495	.ENDIF/TRXDEF
; 3496	VMA_VMA HELD	"COND/SEL VMA,ADA/PC,AD/A,VMA/AD,MEM/RESTORE VMA"
; 3497	VMA_VMA+1	"VMA/VMA,COND/VMA INC"
; 3498	VMA_VMA-1	"VMA/VMA,COND/VMA DEC"
; 3499	
; 3500	WR PT ENTRY	"COND/MBOX CTL,MBOX CTL/PT WR"
; 3501	WR REFILL RAM	"MEM/REG FUNC,MREG FNC/WR REFILL RAM"
; 3502	WRITE (E)	"MEM/EA CALC,EA CALC/WRITE(E),VMA/LOAD"
; 3503	
; 3504	XR		"FMADR/XR"
; 3505	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 12
; MACRO.MIC[4,24]	11:59 29-May-86			DRAM Macros						

; 3506	.TOC	"DRAM Macros"
; 3507	
; 3508		.DCODE
; 3509	;
; 3510	;	These macros have not been sorted alphabetically, as (1) there are
; 3511	;	too few to bother, and (2) no one ever looks at the DRAM anyway!
; 3512	;
; 3513	;"A FIELD" MACROS
; 3514	; DECODED TO TELL WHAT TO DO WITH EFFECTIVE ADDRESS
; 3515	; AND WHETHER TO PREFETCH FROM PC+1
; 3516	
; 3517	I	"A/IMMED"
; 3518	I-PF	"A/IMMED-PF"
; 3519	EA	"A/ADDR"
; 3520	W	"A/WR-TST"
; 3521	R	"A/READ"
; 3522	R-PF	"A/READ-PF"
; 3523	RW	"A/RD-WR"
; 3524	RPW	"A/RD-P-WR"			;Was A/RD-WR if RPW was off
; 3525	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 13
; MACRO.MIC[4,24]	11:59 29-May-86			DRAM Macros						

; 3526	;"B FIELD" MACROS
; 3527	; DECODED BY MOST INSTRUCTIONS TO TELL WHERE TO STORE RESULTS,
; 3528	; BUT USED BY OTHERS TO HOLD VARIOUS "MODE" INFORMATION
; 3529	
; 3530	AC	"B/AC"
; 3531	M	"B/MEM"
; 3532	S	"B/SELF"
; 3533	B	"B/BOTH"
; 3534	DBL AC	"B/DBL AC"
; 3535	DBL B	"B/DBL BOTH"
; 3536	FL-AC	"B1-2/AC"
; 3537	FL-MEM	"B1-2/MEM"
; 3538	FL-BOTH	"B1-2/BOTH"
; 3539	
; 3540	TN-	"B0/CRY0(1),B1-2/0"
; 3541	TNE	"B0/CRY0(0),B1-2/0"
; 3542	TNA	"B0/CRY0(0),B1-2/0"
; 3543	TNN	"B0/CRY0(1),B1-2/0"
; 3544	TZ-	"B0/CRY0(1),B1-2/1"
; 3545	TZE	"B0/CRY0(0),B1-2/1"
; 3546	TZA	"B0/CRY0(0),B1-2/1"
; 3547	TZN	"B0/CRY0(1),B1-2/1"
; 3548	TC-	"B0/CRY0(1),B1-2/2"
; 3549	TCE	"B0/CRY0(0),B1-2/2"
; 3550	TCA	"B0/CRY0(0),B1-2/2"
; 3551	TCN	"B0/CRY0(1),B1-2/2"
; 3552	TO-	"B0/CRY0(1),B1-2/3"
; 3553	TOE	"B0/CRY0(0),B1-2/3"
; 3554	TOA	"B0/CRY0(0),B1-2/3"
; 3555	TON	"B0/CRY0(1),B1-2/3"
; 3556	
; 3557	SJC-	"B/SJC-"
; 3558	SJCL	"B/SJCL"
; 3559	SJCE	"B/SJCE"
; 3560	SJCLE	"B/SJCLE"
; 3561	SJCA	"B/SJCA"
; 3562	SJCGE	"B/SJCGE"
; 3563	SJCN	"B/SJCN"
; 3564	SJCG	"B/SJCG"
; 3565	
; 3566	BLKI	"B0/CRY0(0),B1-2/2"
; 3567	BLKO	"B0/CRY0(0),B1-2/0"
; 3568	DATAI	"B/6"
; 3569	DATAO	"B/4"
; 3570	CONI	"B/6"
; 3571	CONO	"B/4"
; 3572	CONSO	"B0/CRY0(1),B1-2/1"
; 3573	CONSZ	"B0/CRY0(0),B1-2/1"
; 3574	
						; 3575	.BIN
						; 3576		.UCODE
						; 3577	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; BASIC.MIC[4,24]	11:56 29-May-86			THE INSTRUCTION LOOP					

						; 3578	.TOC	"THE INSTRUCTION LOOP"
						; 3579	
; 3580	.NOBIN
; 3581	;	Comments updated [302][344][410]
; 3582	;
; 3583	;INSTRUCTION DECODE, EA COMPUTATION, AND OPERAND FETCH
; 3584	;
; 3585	;	IN GENERAL, AN INSTRUCTION IS STARTED AT XCTGO.
; 3586	; AT THIS TIME THE INSTRUCTION IS IN ARX AND IR, AND PC HAS ITS ADDRESS.
; 3587	; THE DRAM OUTPUTS AND "AC" BITS WILL SETTLE DURING THIS
; 3588	; MICROINSTRUCTION, AND WILL BE LATCHED BY THE CLOCK WHICH ENDS
; 3589	; THE CYCLE.  XCTGO DISPATCHES ON THE STATE OF THE
; 3590	; INDIRECT AND INDEX BITS OF THE ARX (EA MOD DISP) TO COMPEA OR
; 3591	; ONE OF THE THREE LOCATIONS FOLLOWING IT.
; 3592	;	IF INDIRECT IS SPECIFIED, THE INDIRECT POINTER IS FETCHED (AT
; 3593	; COMPEA+2 OR +3 (DEPENDING ON WHETHER INDEXING IS ALSO SPECIFIED).
; 3594	; WE WAIT FOR IT AT INDRCT, AND THEN LOOP BACK TO EFIW, WHERE GLOBAL
; 3595	; INDEXING AND INDIRECTION, AS WELL AS BAD DATA, WILL BE CHECKED.  ALL
; 3596	; OF THIS WAS ADDED FOR THE MODEL B.  WHEN THIS IS DONE, OR IF NO
; 3597	; INDIRECT IS CALLED FOR, WE COMPUTE THE INSTRUCTION'S EFFECTIVE ADDRESS
; 3598	; (EA) AT COMPEA OR COMPEA+1 (DEPENDING ON WHETHER INDEXING IS CALLED
; 3599	; FOR), OR AT EFIW+4, 5, 6, OR 7 IF THE LAST WORD IN THE INDIRECTION CHAIN
; 3600	; WAS GLOBAL AND PERFORM THE FUNCTION "A READ", WHOSE OPERATION DEPENDS
; 3601	; ON THE DRAM A FIELD, AS FOLLOWS:
; 3602	;
; 3603	; MACRO	 A-FLD	MEM FUNCTION	VMA	DISPATCH
; 3604	;  I	  0	NONE		AD(=EA)  DRAM J
; 3605	; I-PF	  1	FETCH		PC+1	 DRAM J
; 3606	; EA	  2	30 BIT EA CALC	AD	 DRAM J
; 3607	;  W	  3	WR TST		AD	   3	(The model A dispatch
; 3608	;  R	  4	READ		AD	   4	 addresses were all 40
; 3609	; R-PF	  5	READ		AD	   5	 greater than these)
; 3610	; RW	  6	READ/WR TST	AD	   6
; 3611	; RPW	  7	RD-PSE/WR TST	AD	   7
; 3612	;
; 3613	;	A FIELD VALUES 0 AND 1 ARE USED FOR INSTRUCTIONS WHICH NEITHER
; 3614	; READ NOR WRITE THE CONTENTS OF EA (IMMEDIATE-MODE INSTRUCTIONS,
; 3615	; JUMPS, ETC).  THESE DISPATCH FROM "A READ" DIRECTLY TO THE MICROCODE
; 3616	; WHICH HANDLES THE INSTRUCTION.  IF THE A FIELD CONTAINS 1, "A READ"
; 3617	; CAUSES A PREFETCH (FROM PC+1), SO THAT THE MBOX CAN WORK ON GETTING
; 3618	; THE NEXT INSTRUCTION INTO ARX WHILE THE EBOX PERFORMS THIS ONE.
; 3619	;	IF THE A FIELD CONTAINS A 2, THE EA CALCULATION WILL PROVIDE
; 3620	; A FULL 30 BIT EFFECTIVE ADDRESS TO THE AD AT THE END.  THIS WAS
; 3621	; INTRODUCED WITH EXTENDED ADDRESSING, TO ALLOW SUCH INSTRUCTIONS AS
; 3622	; XMOVEI AND XHLLI TO COMPUTE A COMPLETE ADDRESS WITHOUT ACTUALLY
; 3623	; REFERENCING IT.  OTHERWISE, THIS IS SIMILAR TO AN A FIELD OF 0.  NOTE
; 3624	; THAT AN A FIELD OF 0 WILL STILL PROVIDE A 30 BIT ADDRESS TO THE VMA;
; 3625	; ONLY THE RESULT IN THE AD WILL BE DIFFERENT.
; 3626	;	IF THE A FIELD CONTAINS 3, THE MBOX PERFORMS A PAGING CHECK ON
; 3627	; EA, AND CAUSES A PAGE FAIL IF THAT LOCATION IS NOT WRITABLE.
; 3628	; THE MICROCODE GOES TO 3 TO WAIT FOR COMPLETION OF THE PAGE CHECK,
; 3629	; AND AT THAT LOCATION LOADS AC INTO AR.  THE WRITABILITY OF EA IS
; 3630	; VERIFIED AT THIS TIME TO PREVENT INCORRECTLY SETTING FLAGS OR
; 3631	; THE PROCESSOR STATE IF THE INSTRUCTION WILL BE ABORTED BY PAGE
; 3632	; FAILURE.  LOCATION 3 THEN DISPATCHES TO THE HANDLER FOR THE
; 3633	; CURRENT INSTRUCTION.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-1
; BASIC.MIC[4,24]	11:56 29-May-86			THE INSTRUCTION LOOP					

; 3634	;	A FIELD VALUES 4 TO 7 PERFORM READS FROM EA.  6 AND 7 ALSO TEST
; 3635	; THE WRITABILITY OF THE LOCATION, AND 7 PERFORMS THE FIRST HALF OF
; 3636	; A READ-PAUSE-WRITE CYCLE IF EA IS AN UN-CACHED ADDRESS.  THE DISPATCH
; 3637	; IS TO A, WHERE WE WAIT FOR MEMORY DATA TO ARRIVE IN AR.  IF THE A
; 3638	; FIELD WAS 5, WE PREFETCH FROM PC+1 AS SOON AS THE DATA ARRIVES.
; 3639	; IN ANY CASE, WE DISPATCH ACCORDING TO THE DRAM J FIELD TO THE
; 3640	; HANDLER FOR THE INSTRUCTION.
; 3641	;	IF A PAGE FAIL OCCURS AT ANY TIME (EITHER IN THIS CODE OR DURING
; 3642	; INSTRUCTION EXECUTION) THE MICROPROCESSOR TRAPS TO CRAM LOCATION
; 3643	; 1777 OR 3777, WHERE IT CAUSES A PAGE FAIL TRAP.
; 3644	;
; 3645	;	MOST INSTRUCTIONS (THE MOVE, HALFWORD, AND BOOLEAN GROUPS,
; 3646	; PLUS ADD AND SUB) ARE PERFORMED BY HANDLERS CONSISTING OF ONE OR
; 3647	; TWO MICROINSTRUCTIONS WHICH LEAVE THE RESULT IN AR, AND COMPLETE
; 3648	; BY INVOKING THE "EXIT" MACRO.  EXIT USES THE MEM/B WRITE FUNCTION
; 3649	; TO BEGIN A STORE TO MEMORY FOR THOSE MODES IN WHICH THE RESULT
; 3650	; GOES TO MEMORY, AND DISP/DRAM B TO GET TO ONE OF THE MICROINSTRUCTIONS
; 3651	; FOLLOWING ST0.  THIS CODE DEPENDS ON A CERTAIN AMOUNT OF CORRELATION
; 3652	; BETWEEN THE DRAM A AND B FIELDS.  IN PARTICULAR, STAC (STORE AC)
; 3653	; ASSUMES THAT A PREFETCH HAS OCCURRED, WHILE THE OTHERS ASSUME THAT
; 3654	; NO PREFETCH HAS OCCURED.  THUS NORMAL AND IMMEDIATE MODES, WHOSE
; 3655	; RESULTS GO ONLY TO AC, MUST PREFETCH IN THE DRAM A FIELD, WHILE
; 3656	; MEM, BOTH, AND SELF MODES, WHOSE RESULTS GO TO MEMORY, MUST NOT.
; 3657	; (THIS RESTRICTION IS AVOIDED FOR THOSE INSTRUCTIONS WHICH NEVER
; 3658	; PREFETCH -- IN MUL, DIV, AND IDIV BY USE OF THE EXIT TO ST2AC,
; 3659	; AND IN IMUL AND THE SINGLE PRECISION FLOATING POINT
; 3660	; INSTRUCTIONS BY A RESTRICTED EXIT TO ST6.)
; 3661	;	ANOTHER LARGE SET OF INSTRUCTIONS (SKIP, AOS, SOS, JUMP, AOJ,
; 3662	; SOJ, AOBJ, CAI, CAM, AND THE TEST GROUP) KNOWS WHERE TO PUT THE
; 3663	; RESULTS WITHOUT MODE INFORMATION, AND THEY USE THE DRAM B FIELD TO
; 3664	; DETERMINE WHETHER TO SKIP OR JUMP, AS A FUNCTION OF THEIR OPERANDS.
; 3665	; SKIP, AOS, AND SOS ARE CONSIDERED SELF-MODE INSTRUCTIONS,
; 3666	; AND AFTER MAKING THE FETCH DECISION (AND RE-WRITING MEMORY, IN
; 3667	; THE CASE OF AOS OR SOS), JUMP TO STSELF TO DECIDE WHETHER OR NOT
; 3668	; TO PUT THE RESULT ALSO IN AC.  THE OTHER INSTRUCTIONS OF THIS SET
; 3669	; JUMP TO STORAC OR NOP AFTER MAKING THE FETCH DECISION, DEPENDING
; 3670	; ON WHETHER OR NOT THE OPCODE DEFINITION REQUIRES MODIFICATION OF AC.
; 3671	; (NOTE THE DIFFERENCE BETWEEN STAC AND FINI ON THE ONE HAND,
; 3672	; AND STORAC AND NOP ON THE OTHER -- STORAC AND NOP MUST BE USED WHEN
; 3673	; THE NEXT INSTRUCTION FETCH OCCURS ON THE PRECEDING EBOX CYCLE, BECAUSE
; 3674	; NICOND MUST NOT IMMEDIATELY FOLLOW A FETCH (ONE CYCLE REQUIRED FOR
; 3675	; VMA AC REF TO MAKE IT THROUGH THE NICOND LOGIC), STAC AND FINI ARE
; 3676	; USED WHEN THERE HAS BEEN AN INTERVENING CYCLE.)
; 3677	;
; 3678	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; BASIC.MIC[4,24]	11:56 29-May-86			NEXT INSTRUCTION DISPATCH				

; 3679	.TOC	"NEXT INSTRUCTION DISPATCH"
; 3680	
; 3681	;
; 3682	; [321] DISP/NICOND (THE "NXT INSTR" MACRO) BRINGS US TO ONE OF THE
; 3683	; LOCATIONS FOLLOWING "NEXT".  PC HAS BEEN UPDATED TO ADDRESS THE NEXT
; 3684	; INSTRUCTION IN THE NORMAL FLOW, AND IF IT IS FROM MEMORY
; 3685	; (AS OPPOSED TO AC'S), THE INSTRUCTION IS IN ARX AND IR.
; 3686	;	THE NICOND DISPATCH IS PRIORITY ENCODED, AS FOLLOWS: (see CON2)
; 3687	;(1)	IF PI CYCLE IS TRUE, GO TO NEXT FOR SECOND HALF
; 3688	; OF STANDARD OR VECTOR INTERRUPT.
; 3689	;(2)	IF THE RUN FLOP (CON RUN) IS OFF, GO TO NEXT+2, FROM WHICH THE
; 3690	; MICROCODE WILL ENTER THE HALT LOOP TO WAIT FOR THE CONSOLE TO RESTART
; 3691	; INSTRUCTION PROCESSING.
; 3692	;(3)	IF THE METER HAS A REQUEST, GO TO NEXT+4 (MTRINT) TO SERVE IT.
; 3693	;(4)	IF THE PI SYSTEM HAS A REQUEST READY, GO TO NEXT+6 (INTRPT)
; 3694	; TO START A PI CYCLE.
; 3695	;(5)	IF CON UCODE STATE 05 (TRACK EN) IS SET, GO TO NEXT+10 OR 11.
; 3696	; Normally NEXT+10 will be used; if a trap flag was set by the previous
; 3697	; instruction, however, NEXT+11 will be reached.  This is the only
; 3698	; way the trap will ever be detected, so be cautious of ignoring it.
; 3699	; THIS FLOP IS ENTIRELY UNDER CONTROL OF THE MICROCODE, AND IS ONLY
; 3700	; USED FOR THE SPECIAL STATISTICS-GATHERING MICROCODE.
; 3701	;(6)	IF THE LAST INSTRUCTION SET A TRAP FLAG, GO TO NEXT+13 OR +17,
; 3702	; IT DOESN'T MATTER WHICH.  (NEXT+17 will be reached if VMA contains
; 3703	; an AC address, probably irrelevant when a trap flag was set.)
; 3704	;(7)	IF VMA CONTAINS AN AC ADDRESS, IMPLYING THAT THE NEXT
; 3705	; INSTRUCTION IS TO COME OUT OF FAST MEMORY, GO TO NEXT+16 TO GET IT.
; 3706	;(10)	--NORMAL CASE-- THE INSTRUCTION IS IN ARX, READY TO GO, GO
; 3707	; TO NEXT+12 (XCTGO).
; 3708	;
; 3709	;	The NICOND dispatch yields the following:
; 3710	;
; 3711	;	+0	CON PI CYCLE
; 3712	;	+2	-CON RUN (i.e. halt)
; 3713	;	+4	CON MTR INT REQ (meter interrupt)
; 3714	;	+6	CON INT REQ (interrupt)
; 3715	;	+10	CON UCODE STATE 05 (tracks enable)
; 3716	;	+11	CON UCODE STATE 05+TRAP REQ (tracks enable+trap)
; 3717	;	+12	-VM AC REF (normal instruction)
; 3718	;	+13	-VM AC REF+TRAP REQ (normal instruction+trap)
; 3719	;	+16	-CON PI CYCLE (AC ref)
; 3720	;	+17	-CON PI CYCLE+TRAP REQ (AC ref+trap)
; 3721	;
; 3722	;	Other offsets are never reached.
; 3723	;
						; 3724	.BIN
						; 3725	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3
; BASIC.MIC[4,24]	11:56 29-May-86			NEXT INSTRUCTION DISPATCH				

						; 3726	;NICOND (NXT INSTR) DISPATCH BLOCK
						; 3727	
						; 3728	=11*0000				;USE LOC'NS INACCESSIBLE TO DRAM
						; 3729	NEXT:	AR_MQ+1,VMA/AD,			;2ND PART OF INTERRUPT
U 0140, 3641,4023,2000,0000,0320,1510,0714	; 3730			SET PI CYCLE,J/PICYC2	;CONTINUE WITH 41+2N
						; 3731	=0010	CLR AR,ARX_1S,SC_#,#/23.,	;HERE IF RUN FLOP OFF
U 0142, 0044,2301,0200,0302,0000,0450,0027	; 3732			CALL,J/ROTS		;BUILD ADDR MASK
						;;3733	.IFNOT/EXTEXP				;[230]
						;;3734	.IFNOT/OWGBP				;[344]
						;;3735		ADMSK,FM_AR,AR_AR+1,J/CHALT	;SAVE MASK, GO HALT
						;;3736	.IF/OWGBP				;[344]
						;;3737		FM[ADMSK]_AR,AR_AR*2,J/EXMSK	;[230] AR HAS 77,,777776
						;;3738	.ENDIF/OWGBP				;[344]
						; 3739	.IF/EXTEXP				;[230]
U 0143, 0030,3701,5007,0000,0000,1010,0175	; 3740		FM[ADMSK]_AR,AR_AR*2,J/EXMSK	;[230] AR HAS 77,,777776
						; 3741	.ENDIF/EXTEXP				;[230]
						; 3742	=0100
U 0144, 3615,0001,0000,0000,0000,2110,0145	; 3743	MTRINT:	CLR ACCOUNT EN,J/MTRREQ		;HERE IF METER REQUEST UP
U 0145, 3634,0001,3000,0302,0060,0010,0002	; 3744		AR_EBUS,SC_#,#/2,J/PICYC1	;HERE IF TAKE INTRPT DOESNT FIND
						; 3745	=0110					; A METER REQUEST
U 0146, 3634,0001,3000,0302,0060,0010,0002	; 3746	INTRPT:	AR_EBUS,SC_#,#/2,J/PICYC1	;HERE IF INTERRUPT PENDING
						; 3747	;
						; 3748	;	[321] Even if statistics are enabled, traps should not be lost,
						; 3749	;	so override TRACKS and friends when TRAP is set.
						; 3750	;
						;;3751	.IF/TRACKS
						;;3752	=1000	AR_TRX+1,GEN CRY18,SKP CRY0,J/TRK1;STORE PC BEFORE EXECUTING INSTR
						;;3753		VMA_420+TRAP,J/TRAPX		;[321] Don't lose traps!
						; 3754	.ENDIF/TRACKS
						;;3755	.IF/OP.CNT
						;;3756	=1000	SC_#,#/9.,SKP USER,J/OPCT1	;COUNT THIS INSTR
						;;3757		VMA_420+TRAP,J/TRAPX		;[321] Don't lose traps!
						; 3758	.ENDIF/OP.CNT
						;;3759	.IF/OP.TIME
						;;3760	=1000	AR_2,CLR TRK+PA EN,J/OPTM0	;TIME THIS INSTR
						;;3761		VMA_420+TRAP,J/TRAPX		;[321] Don't lose traps!
						; 3762	.ENDIF/OP.TIME
						;;3763	.IF/SO.CNT
						;;3764	=1000
						;;3765	TRK0:	ARX_TRB,BRX/ARX,SKP AC REF,J/TRK1;GET PREV INSTR HOLD THIS INSTR
						;;3766		VMA_420+TRAP,J/TRAPX		;[321] Don't lose traps!
						; 3767	.ENDIF/SO.CNT
						;;3768	.IF/SO2.CNT
						;;3769	=1000
						;;3770	TRK0:	ARX_TRB,BRX/ARX,SKP AC REF,J/TRK1;GET PREV INSTR HOLD THIS INSTR
						;;3771		VMA_420+TRAP,J/TRAPX		;[321] Don't lose traps!
						; 3772	.ENDIF/SO2.CNT
						; 3773	=1010
						; 3774	XCTGO:	BRX/ARX,AR_ARX,SET ACCOUNT EN,	;SAVE INSTR, SIGN EXTEND Y,
U 0152, 0174,2341,4022,0402,2000,2136,0105	; 3775		    CLR SC,XR,EA MOD DISP,J/COMPEA;[414] GO CALCULATE EA
U 0153, 0364,0001,0000,0000,0100,3110,0420	; 3776	TRAP:	VMA_420+TRAP,J/TRAPX		;HERE IF TRAP BITS SET
U 0156, 0152,3240,0203,0000,0020,1410,0000	; 3777	=1110	ARX_FM(VMA),TIME/3T,LOAD IR,J/XCTGO	;HERE IF INSTR IS IN FM
U 0157, 0364,0001,0000,0000,0100,3110,0420	; 3778		VMA_420+TRAP,J/TRAPX		;HERE IF TRAP BITS SET
						; 3779	
						; 3780	;HERE ON TRAPS, VMA SETUP WITH 420+TRAP CODE
						; 3781	=11****
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3-1
; BASIC.MIC[4,24]	11:56 29-May-86			NEXT INSTRUCTION DISPATCH				

U 0364, 0365,0001,0000,0000,0013,0026,0033	; 3782	TRAPX:	LOAD ARX,PT REF			;GET AND XCT TRAP INSTR
U 0365, 0366,2341,0200,0000,0000,1510,0100	; 3783	=11****	ARX_1S,SET PC+1 INH		;[412] DON'T INCREMENT PC
						; 3784	
						; 3785	;HERE AFTER FETCHING INSTR TO BE EXECUTED
						; 3786	
						; 3787	=11****
U 0366, 0152,3240,0003,0000,0022,1410,0000	; 3788	XCTW:	ARX_MEM,LOAD IR,J/XCTGO		;GET INSTR TO XCT
						; 3789	;
						; 3790	;	Start of everything.  PC word is in AR.
						; 3791	;
						; 3792	0:
U 0000, 1072,0001,0000,0000,0000,0024,0020	; 3793	START:	SET FLAGS_AR,J/SETPC		;LOAD FLAGS, USE REST AS ADDR
						; 3794	1:					;MUST BE AT START+1
U 0001, 0366,0001,0000,0000,0117,0010,0000	; 3795	CONT:	VMA/PC,FETCH,J/XCTW		;CONTINUE FROM PC
						; 3796	.IF/EXTEXP				;[230]
U 0030, 0041,4001,2000,0000,0020,0010,0000	; 3797	EXMSK:	AR_AR+1				;[230] GIVES 77,,777777
U 0041, 0620,0001,0007,0000,0000,1010,0164	; 3798		FM[EXPMSK]_AR,J/CHALT		;[230] MASK FOR FORTRAN EXT EXP
						;;3799	.IFNOT/EXTEXP				;[344]
						;;3800	.IF/OWGBP				;[344]
						;;3801	EXMSK:	AR_AR+1				;[230] GIVES 77,,777777
						;;3802		FM[EXPMSK]_AR,J/CHALT		;[230] MASK FOR FORTRAN EXT EXP
						;;3803	.ENDIF/OWGBP				;[344]
						; 3804	.ENDIF/EXTEXP				;[230]
						; 3805	;
						; 3806	;	Rotate subroutine.
						; 3807	;
U 0044, 0003,4001,4400,5302,0000,0003,0044	; 3808	ROTS:	AR_SHIFT,ARX_SHIFT,SC_#-SC,#/36.,RETURN3
						; 3809	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4
; BASIC.MIC[4,24]	11:56 29-May-86			EFFECTIVE ADDRESS COMPUTATION AND OPERAND FETCH		

						; 3810	.TOC	"EFFECTIVE ADDRESS COMPUTATION AND OPERAND FETCH"
						; 3811	
						; 3812	=11*0000
						; 3813	EFIW:	AR_ARX (AD),GLOBAL,A INDRCT,	;LONG EXTENDED ADDR
U 0160, 0360,3711,2000,0000,1111,7010,0230	; 3814			SKP INTRPT,J/INDRCT	;WITH INDIRECT SET
						; 3815		AR_ARX+XR,GLOBAL,A INDRCT,
U 0161, 0360,0610,2002,0000,1131,7010,0230	; 3816			SKP INTRPT,J/INDRCT
						; 3817		AR_ARX (AD),GLOBAL,A INDRCT,
U 0162, 0360,3711,2000,0000,1111,7010,0230	; 3818			SKP INTRPT,J/INDRCT
						; 3819		AR_ARX+XR,GLOBAL,A INDRCT,
U 0163, 0360,0610,2002,0000,1131,7010,0230	; 3820			SKP INTRPT,J/INDRCT
						; 3821	
U 0164, 0000,3713,2000,0000,1204,0002,0300	; 3822		AR_ARX (AD),GLOBAL,A READ	;LONG EXTENDED ADDR
U 0165, 0000,0610,2002,4000,1224,0002,0300	; 3823		AR_ARX+XR,GLOBAL,A READ		; WITH INDEXING IN 2-5
U 0166, 0000,3713,2000,0000,1204,0002,0300	; 3824		AR_ARX (AD),GLOBAL,A READ
U 0167, 0000,0610,2002,4000,1224,0002,0300	; 3825		AR_ARX+XR,GLOBAL,A READ
						; 3826	
U 0170, 3154,0001,0000,0000,0000,2210,0400	; 3827	PF24:	GET ECL EBUS,J/PFPAR		;[414] ARX BITS 0,1 = 11
U 0171, 3154,0001,0000,0000,0000,2210,0400	; 3828		GET ECL EBUS,J/PFPAR		;Illegal indirection
U 0172, 3154,0001,0000,0000,0000,2210,0400	; 3829		GET ECL EBUS,J/PFPAR
U 0173, 3154,0001,0000,0000,0000,2210,0400	; 3830		GET ECL EBUS,J/PFPAR
						; 3831	
						; 3832	=11*1100
U 0174, 0000,3701,0000,0000,0204,0002,0300	; 3833	COMPEA:	GEN AR,A READ			;LOCAL
U 0175, 0000,0600,0002,4000,2224,0002,0300	; 3834		GEN AR+XR,INDEXED,A READ	;LOCAL UNLESS XR>0
						; 3835		GEN AR,A INDRCT,
U 0176, 0360,3703,0000,0000,0111,7010,0230	; 3836			SKP INTRPT,J/INDRCT
						; 3837		GEN AR+XR,INDEXED,A INDRCT,
U 0177, 0360,0600,0002,0000,2131,7010,0230	; 3838			SKP INTRPT
						; 3839	=11***0
U 0360, 0370,3240,0003,0000,0022,2510,0000	; 3840	INDRCT:	ARX_MEM,LONG EN,J/INDR1
U 0361, 0144,3200,0003,0000,0022,7710,0000	; 3841	TAKINT:	ARX_MEM,TAKE INTRPT
						; 3842	;
						; 3843	=11****
						; 3844	INDR1:	AR_ARX,XR,EA MOD DISP,
U 0370, 0160,2341,4002,0301,2020,0036,0024	; 3845			FE_#,#/24,TIME/3T,J/EFIW
						; 3846	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5
; BASIC.MIC[4,24]	11:56 29-May-86			WAIT FOR (E)						

						; 3847	.TOC	"WAIT FOR (E)"
						; 3848	
						; 3849	;THE EXECUTE CODE FOR EACH INSTRUCTION IS ENTERED WITH
						; 3850	; THE OPCODE AND AC # IN BRX AND IR, THE LAST INDIRECT WORD
						; 3851	; IN ARX, AND AR AND VMA SETUP AS A FUNCTION OF THE A
						; 3852	; FIELD OF THE DISPATCH RAM. A PREFETCH IS IN PROGRESS IF THE
						; 3853	; DRAM A FIELD WAS 1 OR 5 (OR IF IR CONTAINS "JRST 0,").
						; 3854	
						; 3855	;ON "A READ", THE HARDWARE DISPATCHES TO THE EXECUTE CODE FOR
						; 3856	; THE INSTRUCTION IF THE DRAM A FIELD IS 0-2.  IF THE A FIELD
						; 3857	; CONTAINS 3-7, THE HARDWARE DISPATCHES TO A (MODEL B), OR 40+A
						; 3858	; (MODEL A), BELOW:
						; 3859	
						; 3860	;COME HERE ON "A READ" FUNCTION IF DRAM A FIELD IS 3 (W macro)
						; 3861	; A "WRITE TST" IS IN PROGRESS
						; 3862	
						; 3863	3:	BR/AR,AR_AC0,MB WAIT,		;WAIT FOR PERMISSION TO WRITE
U 0003, 0000,3240,2040,0000,0022,0001,0000	; 3864			TIME/3T,IR DISP,J/0	;AND GO TO EXECUTE CODE
						; 3865	
						; 3866	;HERE ON "A READ" FUNCTION IF DRAM A FIELD IS 4 (R macro)
						; 3867	; A "LOAD AR" IS IN PROGRESS.  We load FE with 2 for LDB and DPB. [337]
						; 3868	
						; 3869	4:	BR/AR,AR_MEM,TIME/3T,FE_#,#/2,	;GET OPERAND, set up FE for byte
U 0004, 0000,3200,0043,0301,0022,0001,0002	; 3870			IR DISP,J/0		; instructions [337], and go
						; 3871	
						; 3872	;HERE ON "A READ" IF A FIELD IS 5 (R-PF macro)
						; 3873	; A "LOAD AR" IS IN PROGRESS, AND WE MUST PREFETCH WHEN IT COMPLETES
						; 3874	
						; 3875	5:	BR/AR,FIN XFER,I FETCH,		;GET OPERAND, PREFETCH,
U 0005, 0000,3200,0043,0000,0237,0001,0000	; 3876			TIME/3T,IR DISP,J/0	; & START EXECUTE
						; 3877	
						; 3878	;HERE ON "A READ" IF A FIELD IS 6 (RW macro)
						; 3879	; A "LOAD AR" IS IN PROGRESS, PAGING IS TESTING WRITABILITY
						; 3880	; We load FE with 2 for ILDB and IDPB. [337]
						; 3881	
						; 3882	6:	BR/AR,AR_MEM,TIME/3T,FE_#,#/2,	;GET OPERAND, load FE for byte
U 0006, 0000,3200,0043,0301,0022,0001,0002	; 3883			IR DISP,J/0		; instructions [337], and go
						; 3884	
						; 3885	;HERE ON "A READ" IF A FIELD IS 7 (RPW macro)
						; 3886	; A "READ-PAUSE-WRITE" IS IN PROGRESS
						; 3887	
						; 3888	7:	BR/AR,AR_MEM,TIME/3T,		;GET OPERAND
U 0007, 0000,3200,0043,0000,0022,0001,0000	; 3889			IR DISP,J/0		; START EXECUTE
						; 3890	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6
; BASIC.MIC[4,24]	11:56 29-May-86			TERMINATION						

						; 3891	.TOC	"TERMINATION"
						; 3892	
						; 3893	;DISPATCH HERE WITH THE "EXIT" MACRO,
						; 3894	; OR JUMP DIRECTLY TO ONE OF THESE LOCATIONS.
						; 3895	
						; 3896	=0****00*000				;[430]
						; 3897	ST0:					;BASE FOR B DISP IN EXIT MACRO
						; 3898	=001
U 0011, 1162,5401,2010,0000,1237,0016,0000	; 3899	ST2AC:	MQ_AR,AR_SIGN,I FETCH,J/DSHIFT	;[430] HERE TO STORE AC0 & AC1
						; 3900		FIN STORE,MQ_AR,AR_SIGN,	;[430] MULB, DIVB, etc. Wait for
U 0012, 1162,5401,2013,0000,1237,0016,0000	; 3901		    I FETCH,J/DSHIFT		; mem, gen low sign bit, and store
						; 3902	SLFEND:	FIN STORE,I FETCH,		;[440] SELF MODE
U 0013, 0216,4001,0003,0000,0217,4610,0000	; 3903			SKP AC#0,J/STSELF	; RESULT TO AC TOO?
U 0014, 0015,4001,4000,0000,0000,0010,0000	; 3904	SHFLOD:	AR_SHIFT			;[337] Shift byte load result
U 0015, 0140,4001,0000,0403,0002,1006,0000	; 3905	STAC:	AC0_AR,NXT INSTR		;NORMAL AND IMMEDIATE MODES
						; 3906	ST6:
						; 3907	IFNOP:
U 0016, 0217,4001,0003,0000,0217,0010,0000	; 3908	STMEM:	FIN STORE,I FETCH,J/NOP		;MEM MODE
						; 3909	IFSTAC:
U 0017, 0216,0001,0003,0000,0217,0010,0000	; 3910	STBOTH:	FIN STORE,I FETCH,J/STORAC	;BOTH mode
						; 3911	=
						; 3912	;
						; 3913	;HERE TO FINISH, AFTER FETCHING NEXT INSTRUCTION.
						; 3914	; WE MUST GUARANTEE AT LEAST ONE EBOX CYCLE BETWEEN FETCH AND NICOND,
						; 3915	; TO ALLOW VMA AC REF TO MAKE IT THROUGH THE NICOND LOGIC.
						; 3916	; Most noops come here directly. [412]
						; 3917	216:					;[440]
						; 3918	STSELF:					;SKIP, AOS, SOS COME HERE
U 0216, 0015,4001,0000,0000,0000,1610,0000	; 3919	STORAC:	SR_0,J/STAC			;STORE AC, TOO
						; 3920	217:					;[440] TRN, CAI, etc. get here  
U 0217, 0133,4001,0000,0000,0000,1610,0000	; 3921	NOP:	SR_0				;Must be near CAIx instructions
U 0133, 0140,0001,0000,0403,0002,0006,0000	; 3922	FINI:	NXT INSTR			;Load IR and PC, test PI cycle, RUN,
						; 3923						; PI READY, TRAPS
						; 3924	;
						; 3925	;	Store AC1 and finish up.
						; 3926	;
U 0141, 0136,0001,4000,0000,0000,1610,0000	; 3927	STD1:	AR_SHIFT,SR_0			;BRING IN LOW PART
						; 3928	;
						; 3929	;	[356] The next two locations are fixed at 136 and 137.  We don't
						; 3930	;	really care where they are, but the front end looks at the # field
						; 3931	;	of these to get the microcode major version (# bits 0-5 of 136),
						; 3932	;	minor version (# bits 6-8 of 136), and edit number (# bits 0-8 of
						; 3933	;	137).
						; 3934	;
						; 3935	136:					;[357]
						; 3936	STAC1:	AC1_AR,FINISH,			;GO DO NEXT INSTRUCTION
U 0136, 0133,0001,0001,0000,0000,1010,0021	; 3937			MAJVER/MAJOR,MINVER/MINOR;[356]
						; 3938	;
						; 3939	;HERE TO GET MICRO-CODE VERSION #.  FIXED LOC'N SO SOFTWARE CAN FIND IT
						; 3940	;
						; 3941	137:
U 0137, 3646,4001,0040,0000,0000,0110,0442	; 3942	UVERS:	BR/AR,AR0-8_#,#/EDIT,J/GTAR08	;COPY VERSION TO AR
						; 3943	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 7
; BASIC.MIC[4,24]	11:56 29-May-86			MOVE GROUP, EXCH, XMOVEI, XHLLI				

						; 3944	.TOC	"MOVE GROUP, EXCH, XMOVEI, XHLLI"
						; 3945	
						; 3946		.DCODE
D 0200, 5500,0100				; 3947	200:	R-PF,	AC,	J/MOVE		;MOVE
D 0201, 1501,0100				; 3948		I-PF,	AC,	J/MOVE		;MOVEI
D 0202, 0100,0314				; 3949		I,	B/1,	J/MOVEM		;MOVEM--no write test needed
D 0203, 6000,0313				; 3950		RW,		J/MOVES		;MOVES [440]
						; 3951	
D 0204, 5500,0002				; 3952	204:	R-PF,	AC,	J/MOVS		;MOVS
D 0205, 1501,0002				; 3953		I-PF,	AC,	J/MOVS		;MOVSI
D 0206, 3600,0002				; 3954		W,	M,	J/MOVS		;MOVSM
D 0207, 7301,0002				; 3955		RPW,	S,	J/MOVS		;MOVSS
						; 3956	
D 0210, 5500,0010				; 3957	210:	R-PF,	AC,	J/MOVN		;MOVN
D 0211, 1501,0010				; 3958		I-PF,	AC,	J/MOVN		;MOVNI
D 0212, 3600,0010				; 3959		W,	M,	J/MOVN		;MOVNM
D 0213, 7301,0010				; 3960		RPW,	S,	J/MOVN		;MOVNS
						; 3961	
D 0214, 5501,0202				; 3962	214:	R-PF,	AC,	J/MOVM		;MOVM
D 0215, 1501,0200				; 3963		I-PF,	AC,	J/HRRZ		;MOVMI <==> HRRZI <==> MOVEI
D 0216, 3601,0202				; 3964		W,	M,	J/MOVM		;MOVMM
D 0217, 7300,0202				; 3965		RPW,	S,	J/MOVM		;MOVMS
						; 3966	
D 0250, 7000,0314				; 3967	250:	RPW,	B/0,	J/EXCH		;EXCH--adjoins BLT
						; 3968		.UCODE
						; 3969	
						; 3970	=0****00****
U 0002, 0010,0001,4000,0000,3005,0033,0000	; 3971	MOVS:	AR_AR SWAP,EXIT			;ALSO USED BY HALFWORD GROUP
						; 3972	=
						; 3973	202:					;Must be near HRRZ
U 0202, 0100,0001,0040,0000,0000,4510,0000	; 3974	MOVM:	BR/AR,SKP AR0,J/MOVE		;FORCE POSITIVE
						; 3975	;
						; 3976	=0****00****
U 0010, 0101,0001,0040,0000,0000,0010,0000	; 3977	MOVN:	BR/AR,J/MOVNEG			;GET NEGATIVE
						; 3978	=
						; 3979	100:
U 0100, 0010,4001,0000,0000,0005,0033,0000	; 3980	MOVE:	EXIT				;STORE AS IS FROM AR
						; 3981	101:
U 0101, 0010,5142,2000,0000,0025,1333,0000	; 3982	MOVNEG:	AR_-BR,AD FLAGS,EXIT		;[412] Negate before storing
						; 3983	313:					;[440] Near SKIP, MOVEM
U 0313, 0216,4001,0000,0000,0217,4610,0000	; 3984	MOVES:	I FETCH,SKP AC#0,J/STSELF	;Like MOVE if AC not 0
						; 3985	314:					;[440] Near BLT, SKIP, MOVES
						; 3986	MOVEM:					;LIKE EXCH, EXCEPT NO STORE AC
U 0314, 1024,3240,2400,0000,1036,0010,0000	; 3987	EXCH:	ARX_AR,AR_AC0,STORE,J/STMAC	;PUT AC AT E, THEN STORE AC
						; 3988	;
						; 3989	102:					;Near SETM (MOVE)
U 0102, 0020,0001,0000,0000,0217,5710,0000	; 3990	XMOVEI:	SKP -LOCAL AC ADDR,I FETCH	;30 bit version of MOVEI
						; 3991	=0
U 0020, 0015,4041,0000,0000,0021,0017,0002	; 3992	XMOVEI1:ARL_1.M,ARR_ARR,J/STAC		;AC IN NON-ZERO SECTION
U 0021, 0015,4001,0000,0400,3001,0010,0200	; 3993		CLR P,J/STAC			;RETURN 30-BIT ADDRESS
						; 3994	317:					;[440] Near HLL
						; 3995	XHLLI:	SKP -LOCAL AC ADDR,I FETCH,
U 0317, 0020,3240,2000,0000,0237,5722,0000	; 3996			ARR_AC0.S,ARL_ARL.S,J/XMOVEI1
						; 3997	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 8
; BASIC.MIC[4,24]	11:56 29-May-86			Physical MOVE Instructions--PMOVE, PMOVEM		

						; 3998	.TOC	"Physical MOVE Instructions--PMOVE, PMOVEM"
						; 3999	;
						; 4000	;	PMOVE and PMOVEM were added to the architecture as something of an
						; 4001	;	afterthought (as their opcodes may suggest) primarily to improve
						; 4002	;	the monitor performance of certain I/O devices which require
						; 4003	;	manipulation of data structures in physical memory.  Note that
						; 4004	;	the effective address of the instruction CONTAINS the physical
						; 4005	;	address to move from or to, somewhat akin to XJRST.  This extra
						; 4006	;	level of indirection is necessary to make section zero physical
						; 4007	;	addresses easily accessible from a non zero section and vice versa.
						; 4008	;	(Without this mechanism, the EA calculation logic would consider
						; 4009	;	addresses in section zero to be local, and would insert the current
						; 4010	;	section into the VMA.)
						; 4011	;
						; 4012	
						; 4013		.DCODE
D 0052, 4001,0103				; 4014	052:	R,	B/0,	J/PMOVE		;PMOVE (Was reserved to DEC)
D 0053, 4200,0103				; 4015		R,	B/2,	J/PMOVEM	;PMOVEM (Ditto)
						; 4016		.UCODE
						; 4017	
						; 4018	=0****00****
						; 4019	PMOVE:					;Share the code with PMOVEM
U 0103, 0120,3701,0000,0000,0300,7333,0000	; 4020	PMOVEM:	VMA_AR,SKP IO LEGAL,B DISP	;Set VMA for PMOVEM. OK to do?
						; 4021	=
U 0120, 1002,3242,2000,0000,0000,0010,0000	; 4022	=00	AR_BR,J/UUO			;Illegal to do a PMOVE
U 0121, 0017,3703,0000,0000,0312,0026,0103	; 4023		VMA_AR,LOAD AR,PHYS REF,J/STBOTH;PMOVE OK. Do a physical load
U 0122, 1002,3242,2000,0000,0000,0010,0000	; 4024		AR_BR,J/UUO			;Illegal to do a PMOVEM
U 0123, 0016,3200,2000,0000,0036,0026,0103	; 4025		AR_AC0,STORE,PHYS REF,J/STMEM	;PMOVEM OK. Do the physical store
						; 4026	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 9
; BASIC.MIC[4,24]	11:56 29-May-86			DMOVE, DMOVN, DMOVEM, DMOVNM				

						; 4027	.TOC	"DMOVE, DMOVN, DMOVEM, DMOVNM"
						; 4028	
						; 4029	;	Double word moves to ACs.
						; 4030	
						; 4031		.DCODE
D 0120, 0000,0106				; 4032	120:	I,	B/0,	J/DMOVE		;DMOVE [413]
D 0121, 0101,0106				; 4033		I,	B/1,	J/DMOVN		;DMOVN [413]
						; 4034		.UCODE
						; 4035	
						; 4036	=0****00****
						; 4037	DMOVN:
U 0106, 0147,0001,0000,0000,0012,3610,0000	; 4038	DMOVE:	VMA_VMA+1,LOAD AR		;PICK UP (E+1)
						; 4039	=
						; 4040	TWJUNK:	FIN LOAD,VMA_VMA-1,LOAD ARX,	;And (E)--redundant if from ADJBP
U 0147, 0224,3240,0003,0000,0033,3533,0000	; 4041		    B DISP			;Split DMOVE from DMOVN
U 0224, 0226,3240,0003,0000,0237,0010,0000	; 4042	=100	FIN LOAD,I FETCH,J/DLOAD	;DMOVE. Start I FETCH and load
U 0225, 0241,3240,0003,0000,0022,0062,0100	; 4043		ARX_MEM,MQ_0.S,CALL [DNSUB]	;DMOVN. Do the negation
						; 4044	=111	AR_SHIFT,ARX/MQ,GEN -BR LONG,	;Force 0 into AC1 high bit
U 0227, 0226,5142,4300,0000,0237,1327,0000	; 4045		    AD FLAGS,I FETCH		; and set carry/overflow flags
U 0226, 0015,0001,4001,0000,2000,1010,0000	; 4046	DLOAD:	AC1_AR,AR_ARX,J/STAC		;Now load AC1, then AC0
						; 4047	;
						; 4048	;	DNSUB--Subroutine to swallow the high bit of the low order word of
						; 4049	;	a double pair, copy both words to BR/BRX, negate the pair and store
						; 4050	;	the high order word (if DMOVNM), and set up to zero the high bit of
						; 4051	;	the low order word.  Return 2.
						; 4052	;
U 0241, 0244,0301,4200,0302,2020,0010,0043	; 4053	DNSUB:	ARX_AR*2,AR_ARX,SC_#,#/35.	;Eat low order bit 0, set count
U 0244, 0322,5143,7760,0000,0025,0027,0000	; 4054		BR_AR LONG,AR_-AR LONG,B STORE	;Negate, store if DMOVNM
U 0322, 0002,3401,2013,0000,1002,0003,0000	; 4055		MEM_AR,MQ_AR,AR_0S,RETURN [2]	;Set up for shift, keep AC0
						; 4056	
						; 4057	;	DOUBLE MOVES TO MEMORY
						; 4058	
						; 4059		.DCODE
D 0124, 0001,0104				; 4060	124:	I,		J/DMOVEM	;DMOVEM [413]
D 0125, 3201,0105				; 4061		W,	B/2,	J/DMOVNM	;DMOVNM
						; 4062		.UCODE
						; 4063	
						; 4064	=0****00**00
U 0104, 0331,3200,2000,0302,0036,0010,0044	; 4065	DMOVEM:	AR_AC0,STORE,SC_#,#/36.,J/GETAC1;Store AC0 and set for later grab
						; 4066	;
						; 4067	DMOVNM:	MQ_0.S,AR_AC1,ARL/AD,ARX_AR,	;[421] Get second word, do
U 0105, 0241,3240,2401,0000,1020,0062,0102	; 4068		    CALL [DNSUB]		; negation, and store high word
U 0107, 0357,5162,0000,0000,0020,1327,0000	; 4069	=11	GEN -BR LONG,AD FLAGS,J/STLOW	;Set carry/overflow flags
						; 4070	=
						; 4071	;
U 0331, 0357,3240,0201,0000,0020,0010,0000	; 4072	GETAC1:	ARX_AC1				;For DMOVEM, ready second word
						; 4073	STLOW:	FIN STORE,VMA_VMA+1,AR_SHIFT,	;Store, then done
U 0357, 0016,0001,4003,0000,0016,3610,0000	; 4074		    STORE,J/STMEM
						; 4075	;
						; 4076	;	Come in here from meter code (DMVM1) and floating point (DBLST).
						; 4077	;	These are hacks which should be killed, if possible.
						; 4078	;
U 0372, 0357,3441,2003,0000,0002,0010,0000	; 4079	DMVM1:	MEM_AR,AR_0S,J/STLOW		;Set up to zero AC1 high bit
						; 4080	;
U 0431, 0141,3401,2000,0000,0217,1010,0000	; 4081	DBLST:	AC0_AR,AR_0S,I FETCH,J/STD1	;Store high word, ready low
						; 4082	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 10
; BASIC.MIC[4,24]	11:56 29-May-86			HALFWORD GROUP						

						; 4083	.TOC	"HALFWORD GROUP"
						; 4084	;	DESTINATION LEFT HALF
						; 4085	
						; 4086		.DCODE
D 0500, 5500,0316				; 4087	500:	R-PF,	AC,	J/HLL		;HLL
D 0501, 2500,0317				; 4088		EA,	AC,	J/XHLLI		;XHLLI--Use 30 bit address
D 0502, 7601,0315				; 4089		RPW,	M,	J/HRR		;HLLM = HRR EXCEPT FOR STORE
D 0503, 6000,0313				; 4090		RW,		J/MOVES		;HLLS <==> MOVES [440]
						; 4091	
D 0504, 5501,0207				; 4092		R-PF,	AC,	J/HRL		;HRL
D 0505, 1500,0207				; 4093		I-PF,	AC,	J/HRL		;HRLI
D 0506, 7601,0114				; 4094		RPW,	M,	J/HRLM		;HRLM
D 0507, 7300,0115				; 4095		RPW,	S,	J/HRLS		;HRLS
						; 4096	
D 0510, 5501,0704				; 4097	510:	R-PF,	AC,	J/HLLZ		;HLLZ
D 0511, 1500,0704				; 4098		I-PF,	AC,	J/HLLZ		;HLLZI <==> SETZ
D 0512, 3601,0704				; 4099		W,	M,	J/HLLZ		;HLLZM
D 0513, 7300,0704				; 4100		RPW,	S,	J/HLLZ		;HLLZS
						; 4101	
D 0514, 5501,0300				; 4102		R-PF,	AC,	J/HRLZ		;HRLZ
D 0515, 1500,0300				; 4103		I-PF,	AC,	J/HRLZ		;HRLZI <==> MOVSI
D 0516, 3601,0300				; 4104		W,	M,	J/HRLZ		;HRLZM
D 0517, 7300,0300				; 4105		RPW,	S,	J/HRLZ		;HRLZS
						; 4106	
D 0520, 5500,0705				; 4107	520:	R-PF,	AC,	J/HLLO		;HLLO
D 0521, 1501,0705				; 4108		I-PF,	AC,	J/HLLO		;HLLOI
D 0522, 3600,0705				; 4109		W,	M,	J/HLLO		;HLLOM
D 0523, 7301,0705				; 4110		RPW,	S,	J/HLLO		;HLLOS
						; 4111	
D 0524, 5500,0301				; 4112		R-PF,	AC,	J/HRLO		;HRLO
D 0525, 1501,0301				; 4113		I-PF,	AC,	J/HRLO		;HRLOI
D 0526, 3600,0301				; 4114		W,	M,	J/HRLO		;HRLOM
D 0527, 7301,0301				; 4115		RPW,	S,	J/HRLO		;HRLOS
						; 4116	
D 0530, 5500,0703				; 4117	530:	R-PF,	AC,	J/HLLE		;HLLE
D 0531, 1500,0704				; 4118		I-PF,	AC,	J/SETZ		;HLLEI <==> SETZ [412]
D 0532, 3600,0703				; 4119		W,	M,	J/HLLE		;HLLEM
D 0533, 7301,0703				; 4120		RPW,	S,	J/HLLE		;HLLES
						; 4121	
D 0534, 5501,0401				; 4122		R-PF,	AC,	J/HRLE		;HRLE
D 0535, 1500,0401				; 4123		I-PF,	AC,	J/HRLE		;HRLEI
D 0536, 3601,0401				; 4124		W,	M,	J/HRLE		;HRLEM
D 0537, 7300,0401				; 4125		RPW,	S,	J/HRLE		;HRLES
						; 4126	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 11
; BASIC.MIC[4,24]	11:56 29-May-86			HALFWORD GROUP						

						; 4127	;	DESTINATION RIGHT HALF
						; 4128	
D 0540, 5500,0315				; 4129	540:	R-PF,	AC,	J/HRR		;HRR
D 0541, 1501,0315				; 4130		I-PF,	AC,	J/HRR		;HRRI
D 0542, 7601,0316				; 4131		RPW,	M,	J/HLL		;HRRM = HLL EXCEPT FOR STORE
D 0543, 6000,0313				; 4132		RW,		J/MOVES		;HRRS <==> MOVES [440]
						; 4133	
D 0544, 5500,0212				; 4134		R-PF,	AC,	J/HLR		;HLR
D 0545, 1501,0212				; 4135		I-PF,	AC,	J/HLR		;HLRI
D 0546, 7600,0210				; 4136		RPW,	M,	J/HLRM		;HLRM
D 0547, 7301,0211				; 4137		RPW,	S,	J/HLRS		;HLRS
						; 4138	
D 0550, 5500,0200				; 4139	550:	R-PF,	AC,	J/HRRZ		;HRRZ
D 0551, 1501,0200				; 4140		I-PF,	AC,	J/HRRZ		;HRRZI <==> MOVEI
D 0552, 0000,0203				; 4141		I,		J/HRRZM		;HRRZM [442]
D 0553, 7301,0200				; 4142		RPW,	S,	J/HRRZ		;HRRZS
						; 4143	
D 0554, 5500,0502				; 4144		R-PF,	AC,	J/HLRZ		;HLRZ
D 0555, 1501,0502				; 4145		I-PF,	AC,	J/HLRZ		;HLRZI <==> SETZ
D 0556, 3600,0502				; 4146		W,	M,	J/HLRZ		;HLRZM
D 0557, 7301,0502				; 4147		RPW,	S,	J/HLRZ		;HLRZS
						; 4148	
D 0560, 5501,0201				; 4149	560:	R-PF,	AC,	J/HRRO		;HRRO
D 0561, 1500,0201				; 4150		I-PF,	AC,	J/HRRO		;HRROI
D 0562, 3601,0201				; 4151		W,	M,	J/HRRO		;HRROM
D 0563, 7300,0201				; 4152		RPW,	S,	J/HRRO		;HRROS
						; 4153	
D 0564, 5501,0503				; 4154		R-PF,	AC,	J/HLRO		;HLRO
D 0565, 1500,0503				; 4155		I-PF,	AC,	J/HLRO		;HLROI
D 0566, 3601,0503				; 4156		W,	M,	J/HLRO		;HLROM
D 0567, 7300,0503				; 4157		RPW,	S,	J/HLRO		;HLROS
						; 4158	
D 0570, 5500,0310				; 4159	570:	R-PF,	AC,	J/HRRE		;HRRE
D 0571, 1501,0310				; 4160		I-PF,	AC,	J/HRRE		;HRREI
D 0572, 3600,0310				; 4161		W,	M,	J/HRRE		;HRREM
D 0573, 7301,0310				; 4162		RPW,	S,	J/HRRE		;HRRES
						; 4163	
D 0574, 5501,0702				; 4164		R-PF,	AC,	J/HLRE		;HLRE
D 0575, 1500,0704				; 4165		I-PF,	AC,	J/SETZ		;HLREI <==> SETZ [412]
D 0576, 3601,0702				; 4166		W,	M,	J/HLRE		;HLREM
D 0577, 7300,0702				; 4167		RPW,	S,	J/HLRE		;HLRES
						; 4168	
						; 4169		.UCODE
						; 4170	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 12
; BASIC.MIC[4,24]	11:56 29-May-86			HALFWORD GROUP						

						; 4171	;FIRST, THE 16 OPS WHICH DO NOT AFFECT THE "OTHER" HALF.
						; 4172	;THESE MUST BE TREATED SEPARATELY, BECAUSE THEY COMBINE MEMORY DATA
						; 4173	;IN AR WITH DATA FROM THE FM.  ENTER WITH 0,E OR (E) IN AR.
						; 4174	
						; 4175	315:					;[440] Near MOVES (for HLLS)
U 0315, 0010,3240,0000,0000,0025,0633,0002	; 4176	HRR:	ARL_AC0,ARR_ARR,EXIT		;HRR, HRRI, HLLM
						; 4177	316:					;[440] Near XHLLI, MOVES (for HRRS)
U 0316, 0010,3240,2000,0000,0025,0633,0000	; 4178	HLL:	ARR_AC0,ARL_ARL,EXIT		;HLL, HRRM
						; 4179				;HRRS, HLLS ARE BOTH EQUIVALENT TO MOVES
						; 4180	=0****00****
U 0207, 0010,3200,2000,0000,3025,0633,0004	; 4181	HRL:	ARL_ARR,ARR_AC0,EXIT		;HRL, HRLI
						; 4182	=
						; 4183	=0****00****
U 0212, 0010,3200,4000,0000,3025,0633,0002	; 4184	HLR:	ARR_ARL,ARL_AC0,EXIT		;HLR, HLRI
						; 4185	=
						; 4186	=0****00***0
U 0114, 0002,3240,2000,0000,3020,0610,0004	; 4187	HRLM:	ARL_ARR,ARR_AC0,J/MOVS		;HRLM
U 0115, 0010,0001,0000,0000,3005,0633,0004	; 4188	HRLS:	ARL_ARR,ARR_ARR,EXIT		;HRLS
						; 4189	=
						; 4190	=0****00***0
U 0210, 0002,3240,4000,0000,3020,0610,0002	; 4191	HLRM:	ARR_ARL,ARL_AC0,J/MOVS		;HLRM
U 0211, 0010,0001,4000,0000,3005,0633,0000	; 4192	HLRS:	ARR_ARL,ARL_ARL,EXIT		;HLRS
						; 4193	=
						; 4194	;NOW THE HALFWORD OPS WHICH CONTROL THE "OTHER" HALF
						; 4195	; ENTER WITH 0,E, (E), OR (AC) IN AR
						; 4196	
						; 4197	=0****00****
U 0310, 0200,0001,0000,0000,0000,4410,0000	; 4198	HRRE:	SKP AR18			;SELECT HRRZ OR HRRO ON SIGN
						; 4199	=
						; 4200	200:					;Must be near MOVMI, HRRZM
U 0200, 0010,0001,0000,0000,0005,0633,0020	; 4201	HRRZ:	ARL_0S,ARR_ARR,EXIT
						; 4202	201:
U 0201, 0010,2341,0000,0000,0005,0633,0002	; 4203	HRRO:	ARL_1S,ARR_ARR,EXIT
						; 4204	203:					;[442] Near HRRZ
U 0203, 0016,3200,2000,0000,0036,0610,0020	; 4205	HRRZM:	ARL_0S,ARR_AC0,STORE,J/STMEM	;[442] No need for write test
						; 4206	;
						; 4207	=0****00****
U 0401, 0300,4001,0000,0000,0000,4410,0000	; 4208	HRLE:	SKP AR18
						; 4209	=
						; 4210	=0****00***0
U 0300, 0010,3401,2000,0000,3005,0633,0004	; 4211	HRLZ:	ARL_ARR,ARR_0S,EXIT
U 0301, 0010,2301,2000,0000,3005,0633,0004	; 4212	HRLO:	ARL_ARR,ARR_1S,EXIT
						; 4213	=
						; 4214	702:					;Must be near SETZ
U 0702, 0502,4001,0000,0000,0000,4510,0000	; 4215	HLRE:	SKP AR0
						; 4216	=0****00***0
U 0502, 0010,4001,4000,0000,3005,0633,0020	; 4217	HLRZ:	ARR_ARL,ARL_0S,EXIT
U 0503, 0010,2301,4000,0000,3005,0633,0002	; 4218	HLRO:	ARR_ARL,ARL_1S,EXIT
						; 4219	=
						; 4220	703:					;Must be near SETZ
U 0703, 0704,0001,0000,0000,0000,4510,0000	; 4221	HLLE:	SKP AR0
						; 4222	704:					;Must be near HLRE and HLLE
						; 4223	SETZ:					;[421] ARL already 0 for SETZ
U 0704, 0010,3441,2000,0000,0005,0633,0000	; 4224	HLLZ:	ARR_0S,ARL_ARL,EXIT
						; 4225	705:					;Must follow HLLZ
U 0705, 0010,2341,2000,0000,0005,0633,0000	; 4226	HLLO:	ARR_1S,ARL_ARL,EXIT
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 13
; BASIC.MIC[4,24]	11:56 29-May-86			BOOLEAN GROUP						

						; 4227	.TOC	"BOOLEAN GROUP"
						; 4228		.DCODE
D 0400, 1500,0704				; 4229	400:	I-PF,	AC,	J/SETZ		;SETZ <==> HLLZI--use that code
D 0401, 1500,0704				; 4230		I-PF,	AC,	J/SETZ		;SETZI <==> SETZ
D 0402, 0601,0704				; 4231		I,	M,	J/SETZ		;SETZM [421]
D 0403, 0700,0704				; 4232		I,	B,	J/SETZ		;SETZB [421]
						; 4233	
D 0404, 5500,0405				; 4234	404:	R-PF,	AC,	J/AND		;AND
D 0405, 1501,0405				; 4235		I-PF,	AC,	J/AND		;ANDI
D 0406, 7601,0405				; 4236		RPW,	M,	J/AND		;ANDM
D 0407, 7700,0405				; 4237		RPW,	B,	J/AND		;ANDB
						; 4238		.UCODE
						; 4239	
						; 4240	=0****00****
U 0405, 0010,3600,2000,0000,0025,0033,0000	; 4241	AND:	AR_AR*AC0,AD/AND,EXIT
						; 4242	=
						; 4243		.DCODE
D 0410, 5500,0406				; 4244	410:	R-PF,	AC,	J/ANDCA		;ANDCA
D 0411, 1501,0406				; 4245		I-PF,	AC,	J/ANDCA		;ANDCAI
D 0412, 7601,0406				; 4246		RPW,	M,	J/ANDCA		;ANDCAM
D 0413, 7700,0406				; 4247		RPW,	B,	J/ANDCA		;ANDCAB
						; 4248		.UCODE
						; 4249	
						; 4250	=0****00****
U 0406, 0010,3500,2000,0000,0025,0033,0000	; 4251	ANDCA:	AR_AR*AC0,AD/ANDCB,EXIT
						; 4252	=
						; 4253		.DCODE
D 0414, 5500,0100				; 4254	414:	R-PF,	AC,	J/MOVE		;SETM <==> MOVE
D 0415, 2500,0102				; 4255		EA,	AC,	J/XMOVEI	;XMOVEI (SETMI)--Use 30 bit EA
D 0416, 3000,0016				; 4256		W,		J/IFNOP		;[430] SETMM = NOP+memory write
D 0417, 6001,0017				; 4257		RW,		J/IFSTAC	;[430] SETMB = MOVE+memory write
						; 4258	
D 0420, 5501,0110				; 4259	420:	R-PF,	AC,	J/ANDCM		;ANDCM
D 0421, 1500,0110				; 4260		I-PF,	AC,	J/ANDCM		;ANDCMI
D 0422, 7600,0110				; 4261		RPW,	M,	J/ANDCM		;ANDCMM
D 0423, 7701,0110				; 4262		RPW,	B,	J/ANDCM		;ANDCMB
						; 4263		.UCODE
						; 4264	
						; 4265	110:					;Must be near TLX
U 0110, 0010,3000,2000,0000,0025,0033,0000	; 4266	ANDCM:	AR_AR*AC0,AD/ANDCA,EXIT
						; 4267	
						; 4268		.DCODE
D 0424, 1001,0217				; 4269	424:	I-PF,		J/NOP		;SETA <==> TRN (NOP) [413]
D 0425, 1001,0217				; 4270		I-PF,		J/NOP		;SETAI <==> TRN
D 0426, 0100,0314				; 4271		I,	B/1,	J/MOVEM		;SETAM <==> MOVEM [412]
D 0427, 0100,0314				; 4272		I,	B/1,	J/MOVEM		;SETAB <==> MOVEM [412]
						; 4273	
D 0430, 5500,0111				; 4274	430:	R-PF,	AC,	J/XOR		;XOR
D 0431, 1501,0111				; 4275		I-PF,	AC,	J/XOR		;XORI
D 0432, 7601,0111				; 4276		RPW,	M,	J/XOR		;XORM
D 0433, 7700,0111				; 4277		RPW,	B,	J/XOR		;XORB
						; 4278		.UCODE
						; 4279	
						; 4280	111:					;Must be near TLX
U 0111, 0010,3100,2000,4000,0025,0033,0000	; 4281	XOR:	AR_AR*AC0,AD/XOR,EXIT
						; 4282	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 14
; BASIC.MIC[4,24]	11:56 29-May-86			BOOLEAN GROUP						

						; 4283		.DCODE
D 0434, 5500,0112				; 4284	434:	R-PF,	AC,	J/IOR		;OR
D 0435, 1501,0112				; 4285		I-PF,	AC,	J/IOR		;ORI
D 0436, 7601,0112				; 4286		RPW,	M,	J/IOR		;ORM
D 0437, 7700,0112				; 4287		RPW,	B,	J/IOR		;ORB
						; 4288		.UCODE
						; 4289	
						; 4290	112:					;Must be near TLX
U 0112, 0010,3300,2000,0000,0025,0033,0000	; 4291	IOR:	AR_AR*AC0,AD/OR,EXIT
						; 4292	
						; 4293		.DCODE
D 0440, 5501,0413				; 4294	440:	R-PF,	AC,	J/ANDCB		;ANDCB
D 0441, 1500,0413				; 4295		I-PF,	AC,	J/ANDCB		;ANDCBI
D 0442, 7600,0413				; 4296		RPW,	M,	J/ANDCB		;ANDCBM
D 0443, 7701,0413				; 4297		RPW,	B,	J/ANDCB		;ANDCBB
						; 4298		.UCODE
						; 4299	
						; 4300	=0****00****
U 0413, 0010,2400,2000,0000,0025,0033,0000	; 4301	ANDCB:	AR_AR*AC0,AD/ANDC,EXIT		;NOR function
						; 4302	=
						; 4303		.DCODE
D 0444, 5500,0501				; 4304	444:	R-PF,	AC,	J/EQV		;EQV
D 0445, 1501,0501				; 4305		I-PF,	AC,	J/EQV		;EQVI
D 0446, 7601,0501				; 4306		RPW,	M,	J/EQV		;EQVM
D 0447, 7700,0501				; 4307		RPW,	B,	J/EQV		;EQVB
						; 4308		.UCODE
						; 4309	
						; 4310	=0****00****
U 0501, 0010,2600,2000,4000,0025,0033,0000	; 4311	EQV:	AR_AR*AC0,AD/EQV,EXIT
						; 4312	=
						; 4313		.DCODE
D 0450, 1500,0505				; 4314	450:	I-PF,	AC,	J/SETCA		;SETCA
D 0451, 1500,0505				; 4315		I-PF,	AC,	J/SETCA		;SETCAI <==> SETCA
D 0452, 0601,0505				; 4316		I,	M,	J/SETCA		;SETCAM
D 0453, 0700,0505				; 4317		I,	B,	J/SETCA		;SETCAB
						; 4318		.UCODE
						; 4319	
						; 4320	=0****00****
U 0505, 0010,2540,2000,0000,0025,0033,0000	; 4321	SETCA:	AR_AC0 COMP,EXIT		;[442]
						; 4322	=
						; 4323		.DCODE
D 0454, 5501,0511				; 4324	454:	R-PF,	AC,	J/ORCA		;ORCA
D 0455, 1500,0511				; 4325		I-PF,	AC,	J/ORCA		;ORCAI
D 0456, 7600,0511				; 4326		RPW,	M,	J/ORCA		;ORCAM
D 0457, 7701,0511				; 4327		RPW,	B,	J/ORCA		;ORCAB
						; 4328		.UCODE
						; 4329	
						; 4330	=0****00****
U 0511, 0010,2700,2000,0000,0025,0033,0000	; 4331	ORCA:	AR_AR*AC0,AD/ORCB,EXIT
						; 4332	=
						; 4333	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 15
; BASIC.MIC[4,24]	11:56 29-May-86			BOOLEAN GROUP						

						; 4334		.DCODE
D 0460, 5501,0701				; 4335	460:	R-PF,	AC,	J/SETCM		;SETCM
D 0461, 1500,0701				; 4336		I-PF,	AC,	J/SETCM		;SETCMI
D 0462, 7600,0701				; 4337		RPW,	M,	J/SETCM		;SETCMM
D 0463, 7701,0701				; 4338		RPW,	B,	J/SETCM		;SETCMB
						; 4339		.UCODE
						; 4340	
						; 4341	=0****00****
U 0701, 0010,2003,2000,0000,0005,0033,0000	; 4342	SETCM:	ADA/AR,AD/SETCA,AR/AD,EXIT
						; 4343	=
						; 4344		.DCODE
D 0464, 5500,0711				; 4345	464:	R-PF,	AC,	J/ORCM		;ORCM
D 0465, 1501,0711				; 4346		I-PF,	AC,	J/ORCM		;ORCMI
D 0466, 7601,0711				; 4347		RPW,	M,	J/ORCM		;ORCMM
D 0467, 7700,0711				; 4348		RPW,	B,	J/ORCM		;ORCMB
						; 4349		.UCODE
						; 4350	
						; 4351	=0****00****
U 0711, 0010,2200,2000,0000,0025,0033,0000	; 4352	ORCM:	AR_AR*AC0,AD/ORCA,EXIT
						; 4353	=
						; 4354		.DCODE
D 0470, 5501,0715				; 4355	470:	R-PF,	AC,	J/ORCB		;ORCB
D 0471, 1500,0715				; 4356		I-PF,	AC,	J/ORCB		;ORCBI
D 0472, 7600,0715				; 4357		RPW,	M,	J/ORCB		;ORCBM
D 0473, 7701,0715				; 4358		RPW,	B,	J/ORCB		;ORCBB
						; 4359		.UCODE
						; 4360	
						; 4361	=0****00****
U 0715, 0010,2100,2000,0000,0025,0033,0000	; 4362	ORCB:	AR_AR*AC0,AD/ORC,EXIT		;NAND function
						; 4363	=
						; 4364		.DCODE
D 0474, 1500,1007				; 4365	474:	I-PF,	AC,	J/SETO		;SETO
D 0475, 1500,1007				; 4366		I-PF,	AC,	J/SETO		;SETOI <==> SETO
D 0476, 0601,1007				; 4367		I,	M,	J/SETO		;SETOM
D 0477, 0700,1007				; 4368		I,	B,	J/SETO		;SETOB
						; 4369		.UCODE
						; 4370	
						; 4371	=0****00****
U 1007, 0010,2341,2000,0000,0005,0033,0000	; 4372	SETO:	AR_1S,EXIT
						; 4373	=
						; 4374	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; SKPJMP.MIC[4,24]	11:57 29-May-86			TEST GROUP						

						; 4375	.TOC	"TEST GROUP"
						; 4376		.DCODE
D 0600, 1001,0217				; 4377	600:	I-PF,		J/NOP		;TRN--a noop
D 0601, 1001,0217				; 4378		I-PF,		J/NOP		;TLN <==> TRN
D 0602, 0000,0507				; 4379		I,	TNE,	J/TDXX		;TRNE
D 0603, 0001,0506				; 4380		I,	TNE,	J/TSXX		;TLNE
D 0604, 0001,0213				; 4381		I,	TNA,	J/TDX		;TRNA--unconditional skip
D 0605, 0001,0213				; 4382		I,	TNA,	J/TDX		;TLNA <==> TRNA
D 0606, 0401,0507				; 4383		I,	TNN,	J/TDXX		;TRNN
D 0607, 0400,0506				; 4384		I,	TNN,	J/TSXX		;TLNN
						; 4385	
D 0610, 5000,0217				; 4386	610:	R-PF,		J/NOP		;TDN--a noop that references memory
D 0611, 5000,0217				; 4387		R-PF,		J/NOP		;TSN <==> TDN
D 0612, 4001,0507				; 4388		R,	TNE,	J/TDXX		;TDNE
D 0613, 4000,0506				; 4389		R,	TNE,	J/TSXX		;TSNE
D 0614, 4000,0213				; 4390		R,	TNA,	J/TDX		;TDNA--skip with memory reference
D 0615, 4000,0213				; 4391		R,	TNA,	J/TDX		;TSNA <==> TDNA
D 0616, 4400,0507				; 4392		R,	TNN,	J/TDXX		;TDNN
D 0617, 4401,0506				; 4393		R,	TNN,	J/TSXX		;TSNN
						; 4394	
D 0620, 1500,0110				; 4395	620:	I-PF,	AC,	J/ANDCM		;TRZ <==> ANDCMI
D 0621, 1500,0113				; 4396		I-PF,	TZ-,	J/TLX		;TLZ [440]
D 0622, 0101,0507				; 4397		I,	TZE,	J/TDXX		;TRZE
D 0623, 0100,0506				; 4398		I,	TZE,	J/TSXX		;TLZE
D 0624, 0100,0213				; 4399		I,	TZA,	J/TDX		;TRZA
D 0625, 0101,0214				; 4400		I,	TZA,	J/TLXA		;TLZA
D 0626, 0500,0507				; 4401		I,	TZN,	J/TDXX		;TRZN
D 0627, 0501,0506				; 4402		I,	TZN,	J/TSXX		;TLZN
						; 4403	
D 0630, 5501,0110				; 4404	630:	R-PF,	AC,	J/ANDCM		;TDZ <==> ANDCM
D 0631, 5501,0113				; 4405		R-PF,	TZ-,	J/TLX		;TSZ [440]
D 0632, 4100,0507				; 4406		R,	TZE,	J/TDXX		;TDZE
D 0633, 4101,0506				; 4407		R,	TZE,	J/TSXX		;TSZE
D 0634, 4101,0213				; 4408		R,	TZA,	J/TDX		;TDZA
D 0635, 4100,0214				; 4409		R,	TZA,	J/TLXA		;TSZA
D 0636, 4501,0507				; 4410		R,	TZN,	J/TDXX		;TDZN
D 0637, 4500,0506				; 4411		R,	TZN,	J/TSXX		;TSZN
						; 4412	
D 0640, 1501,0111				; 4413	640:	I-PF,	AC,	J/XOR		;TRC <==> XORI
D 0641, 1600,0113				; 4414		I-PF,	TC-,	J/TLX		;TLC [440]
D 0642, 0201,0507				; 4415		I,	TCE,	J/TDXX		;TRCE
D 0643, 0200,0506				; 4416		I,	TCE,	J/TSXX		;TLCE
D 0644, 0200,0213				; 4417		I,	TCA,	J/TDX		;TRCA
D 0645, 0201,0214				; 4418		I,	TCA,	J/TLXA		;TLCA
D 0646, 0600,0507				; 4419		I,	TCN,	J/TDXX		;TRCN
D 0647, 0601,0506				; 4420		I,	TCN,	J/TSXX		;TLCN
						; 4421	
D 0650, 5500,0111				; 4422	650:	R-PF,	AC,	J/XOR		;TDC <==> XOR
D 0651, 5601,0113				; 4423		R-PF,	TC-,	J/TLX		;TSC [440]
D 0652, 4200,0507				; 4424		R,	TCE,	J/TDXX		;TDCE
D 0653, 4201,0506				; 4425		R,	TCE,	J/TSXX		;TSCE
D 0654, 4201,0213				; 4426		R,	TCA,	J/TDX		;TDCA
D 0655, 4200,0214				; 4427		R,	TCA,	J/TLXA		;TSCA
D 0656, 4601,0507				; 4428		R,	TCN,	J/TDXX		;TDCN
D 0657, 4600,0506				; 4429		R,	TCN,	J/TSXX		;TSCN
						; 4430	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; SKPJMP.MIC[4,24]	11:57 29-May-86			TEST GROUP						

D 0660, 1501,0112				; 4431	660:	I-PF,	AC,	J/IOR		;TRO <==> ORI
D 0661, 1701,0113				; 4432		I-PF,	TO-,	J/TLX		;TLO [440]
D 0662, 0300,0507				; 4433		I,	TOE,	J/TDXX		;TROE
D 0663, 0301,0506				; 4434		I,	TOE,	J/TSXX		;TLOE
D 0664, 0301,0213				; 4435		I,	TOA,	J/TDX		;TROA
D 0665, 0300,0214				; 4436		I,	TOA,	J/TLXA		;TLOA
D 0666, 0701,0507				; 4437		I,	TON,	J/TDXX		;TRON
D 0667, 0700,0506				; 4438		I,	TON,	J/TSXX		;TLON
						; 4439	
D 0670, 5500,0112				; 4440	670:	R-PF,	AC,	J/IOR		;TDO <==> OR
D 0671, 5700,0113				; 4441		R-PF,	TO-,	J/TLX		;TSO [440]
D 0672, 4301,0507				; 4442		R,	TOE,	J/TDXX		;TDOE
D 0673, 4300,0506				; 4443		R,	TOE,	J/TSXX		;TSOE
D 0674, 4300,0213				; 4444		R,	TOA,	J/TDX		;TDOA
D 0675, 4301,0214				; 4445		R,	TOA,	J/TLXA		;TSOA
D 0676, 4700,0507				; 4446		R,	TON,	J/TDXX		;TDON
D 0677, 4701,0506				; 4447		R,	TON,	J/TSXX		;TSON
						; 4448		.UCODE
						; 4449	
						; 4450	;MOST OF THESE 64 INSTRUCTIONS ARE DECODED BY MASK MODE (IMMEDIATE OR
						; 4451	; MEMORY) IN THE A FIELD, DISPATCH TO HERE ON THE J FIELD, AND RE-DISPATCH
						; 4452	; FOR THE MODIFICATION ON THE B FIELD.  A few of these are synonyms for
						; 4453	; other instructions, and use the synonym microcode for speed (see above).
						; 4454	; Those that never skip will always prefetch.
						; 4455	; ENTER WITH 0,E OR (E) IN AR, B FIELD BITS 1 AND 2 AS FOLLOWS:
						; 4456	; 0 0	NO MODIFICATION
						; 4457	; 0 1	ZEROS
						; 4458	; 1 0	COMPLEMENT
						; 4459	; 1 1	ONES
						; 4460	; THIS ORDER HAS NO SIGNIFICANCE EXCEPT THAT IT CORRESPONDS TO THE
						; 4461	; ORDER OF INSTRUCTIONS AT TGROUP.  THE HIGH ORDER BIT OF THE B FIELD
						; 4462	; (B0) IS XOR'D WITH AD CRY0 TO DETERMINE THE SENSE OF THE SKIP:
						; 4463	; 0	SKIP IF CRY0=1 (TXX- AND TXXN)
						; 4464	; 1	SKIP IF CRY0=0 (TXXA AND TXXE)
						; 4465	
						; 4466	213:					;[412][440] Near TLXA/CAIM
U 0213, 0304,2041,0000,0000,0226,0033,0203	; 4467	TDX:	TEST FETCH,NO CRY,B DISP,J/TDN	;TDXA and TRXA
						; 4468	214:					;[412][440] Near TDX
						; 4469	TLXA:	AR_AR SWAP,TEST FETCH,NO CRY,	;TSXA and TLXA
U 0214, 0304,2001,4000,0000,3226,0033,0203	; 4470		    B DISP,J/TDN
						; 4471	113:					;[440] Near ANDCM/XOR/IOR
U 0113, 0304,2041,4000,0000,3000,0033,0000	; 4472	TLX:	AR_AR SWAP,NO CRY,B DISP,J/TDN	;[440] TLX and TSX
						; 4473	=0****00***0				;[412]
U 0506, 0507,4001,4000,0000,3000,0010,0000	; 4474	TSXX:	AR_AR SWAP			;TSXE, TSXN, TLXE, AND TLXN
U 0507, 0304,3600,0000,4000,0246,0033,0203	; 4475	TDXX:	TEST AR.AC0,TEST FETCH,B DISP	;TDXE, TDXN, TRXE, AND TRXN
						; 4476	=
						; 4477	304:					;[412][441]
U 0304, 0133,0001,0000,0000,0000,0010,0000	; 4478	TDN:	J/FINI				;NO MODIFICATION
U 0305, 0015,3000,2000,0000,0000,0010,0000	; 4479	305:	AR_AR*AC0,AD/ANDCA,TIME/2T,J/STAC;[441] ZEROS
U 0306, 0015,3100,2000,4000,0000,0010,0000	; 4480	306:	AR_AR*AC0,AD/XOR,TIME/2T,J/STAC	;[441] COMP
U 0307, 0015,3300,2000,0000,0000,0010,0000	; 4481	307:	AR_AR*AC0,AD/OR,TIME/2T,J/STAC	;[441] ONES
						; 4482	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3
; SKPJMP.MIC[4,24]	11:57 29-May-86			COMPARE -- CAI, CAM					

						; 4483	.TOC	"COMPARE -- CAI, CAM"
						; 4484	
						; 4485		.DCODE
D 0300, 1001,0217				; 4486	300:	I-PF,		J/NOP		;CAI <==> TRN
D 0301, 0200,0215				; 4487		I,	SJCL,	J/CAIM		;CAIL
D 0302, 0100,0215				; 4488		I,	SJCE,	J/CAIM		;CAIE
D 0303, 0001,0215				; 4489		I,	SJCLE,	J/CAIM		;CAILE
D 0304, 0001,0213				; 4490		I,	TNA,	J/TDX		;CAIA <==> TRNA
D 0305, 0601,0215				; 4491		I,	SJCGE,	J/CAIM		;CAIGE
D 0306, 0501,0215				; 4492		I,	SJCN,	J/CAIM		;CAIN
D 0307, 0400,0215				; 4493		I,	SJCG,	J/CAIM		;CAIG
						; 4494	
						; 4495	
D 0310, 5000,0217				; 4496	310:	R-PF,		J/NOP		;CAM <==> TDN
D 0311, 4201,0215				; 4497		R,	SJCL,	J/CAIM		;CAML
D 0312, 4101,0215				; 4498		R,	SJCE,	J/CAIM		;CAME
D 0313, 4000,0215				; 4499		R,	SJCLE,	J/CAIM		;CAMLE
D 0314, 4000,0213				; 4500		R,	TNA,	J/TDX		;CAMA <==> TDNA
D 0315, 4600,0215				; 4501		R,	SJCGE,	J/CAIM		;CAMGE
D 0316, 4500,0215				; 4502		R,	SJCN,	J/CAIM		;CAMN
D 0317, 4401,0215				; 4503		R,	SJCG,	J/CAIM		;CAMG
						; 4504		.UCODE
						; 4505	
						; 4506	215:					;[440] Near NOP and TDX
U 0215, 0217,3100,0000,0000,0246,0010,0201	; 4507	CAIM:	GEN AR*AC0,COMP FETCH,J/NOP
						; 4508	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4
; SKPJMP.MIC[4,24]	11:57 29-May-86			ARITHMETIC SKIPS -- AOS, SOS, SKIP			

						; 4509	.TOC	"ARITHMETIC SKIPS -- AOS, SOS, SKIP"
						; 4510	;ENTER WITH (E) IN AR
						; 4511	
						; 4512		.DCODE
D 0330, 4001,0313				; 4513	330:	R,		J/MOVES		;SKIP--rather like MOVES [440]
D 0331, 4201,0312				; 4514		R,	SJCL,	J/SKIP		;SKIPL
D 0332, 4101,0312				; 4515		R,	SJCE,	J/SKIP		;SKIPE
D 0333, 4000,0312				; 4516		R,	SJCLE,	J/SKIP		;SKIPLE
D 0334, 4701,0312				; 4517		R,	SJCA,	J/SKIP		;SKIPA
D 0335, 4600,0312				; 4518		R,	SJCGE,	J/SKIP		;SKIPGE
D 0336, 4500,0312				; 4519		R,	SJCN,	J/SKIP		;SKIPN
D 0337, 4401,0312				; 4520		R,	SJCG,	J/SKIP		;SKIPG
						; 4521		.UCODE
						; 4522	
						; 4523	312:					;Must be near MOVES
						; 4524	SKIP:	FIN STORE,SKIP FETCH,
U 0312, 0216,3703,0003,0000,0246,4610,0202	; 4525			SKP AC#0,J/STSELF	;STORE IN SELF MODE
						; 4526	
						; 4527		.DCODE
D 0350, 7001,0706				; 4528	350:	RPW,		J/AONS		;AOS--never skip [440]
D 0351, 7201,0707				; 4529		RPW,	SJCL,	J/AOS		;AOSL
D 0352, 7101,0707				; 4530		RPW,	SJCE,	J/AOS		;AOSE
D 0353, 7000,0707				; 4531		RPW,	SJCLE,	J/AOS		;AOSLE
D 0354, 7701,0707				; 4532		RPW,	SJCA,	J/AOS		;AOSA
D 0355, 7600,0707				; 4533		RPW,	SJCGE,	J/AOS		;AOSGE
D 0356, 7500,0707				; 4534		RPW,	SJCN,	J/AOS		;AOSN
D 0357, 7401,0707				; 4535		RPW,	SJCG,	J/AOS		;AOSG
						; 4536		.UCODE
						; 4537	
						; 4538	=0****00***0
U 0706, 0013,4003,2000,0000,0036,1310,0000	; 4539	AONS:	AR_AR+1,AD FLAGS,STORE,J/SLFEND	;[440] AOS only
U 0707, 0312,4001,2000,0000,0036,1310,0000	; 4540	AOS:	AR_AR+1,AD FLAGS,STORE,J/SKIP	;Other AOSx
						; 4541	=
						; 4542	
						; 4543		.DCODE
D 0370, 7001,0712				; 4544	370:	RPW,		J/SONS		;SOS--never skip [440]
D 0371, 7201,0713				; 4545		RPW,	SJCL,	J/SOS		;SOSL
D 0372, 7101,0713				; 4546		RPW,	SJCE,	J/SOS		;SOSE
D 0373, 7000,0713				; 4547		RPW,	SJCLE,	J/SOS		;SOSLE
D 0374, 7701,0713				; 4548		RPW,	SJCA,	J/SOS		;SOSA
D 0375, 7600,0713				; 4549		RPW,	SJCGE,	J/SOS		;SOSGE
D 0376, 7500,0713				; 4550		RPW,	SJCN,	J/SOS		;SOSN
D 0377, 7401,0713				; 4551		RPW,	SJCG,	J/SOS		;SOSG
						; 4552		.UCODE
						; 4553	
						; 4554	=0****00***0
U 0712, 0013,1701,2000,0000,0036,1310,0000	; 4555	SONS:	AR_AR-1,AD FLAGS,STORE,J/SLFEND	;[440] SOS only
U 0713, 0312,1703,2000,0000,0036,1310,0000	; 4556	SOS:	AR_AR-1,AD FLAGS,STORE,J/SKIP	;Other SOSx
						; 4557	=
						; 4558	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5
; SKPJMP.MIC[4,24]	11:57 29-May-86			CONDITIONAL JUMPS -- JUMP, AOJ, SOJ, AOBJ		

						; 4559	.TOC	"CONDITIONAL JUMPS -- JUMP, AOJ, SOJ, AOBJ"
						; 4560	
						; 4561		.DCODE
D 0320, 1001,0304				; 4562	320:	I-PF,		J/TDN		;JUMP <==> TRN (Do not jump!)
D 0321, 0200,0303				; 4563		I,	SJCL,	J/JUMP		;JUMPL
D 0322, 0100,0303				; 4564		I,	SJCE,	J/JUMP		;JUMPE
D 0323, 0001,0303				; 4565		I,	SJCLE,	J/JUMP		;JUMPLE
D 0324, 0000,0302				; 4566		I,		J/JUMPA		;JUMPA--always jump [441]
D 0325, 0601,0303				; 4567		I,	SJCGE,	J/JUMP		;JUMPGE
D 0326, 0501,0303				; 4568		I,	SJCN,	J/JUMP		;JUMPN
D 0327, 0400,0303				; 4569		I,	SJCG,	J/JUMP		;JUMPG
						; 4570		.UCODE
						; 4571	302:					;[441]
U 0302, 0217,0001,0000,0000,0017,0010,0000	; 4572	JUMPA:	FETCH,J/NOP			;JUMPA only
						; 4573	303:					;Other JUMPx--near TDN
U 0303, 0217,3200,2000,0000,0246,0010,0502	; 4574	JUMP:	AR_AC0,JUMP FETCH,J/NOP		; E IS IN VMA (HERE AND BELOW)
						; 4575	
						; 4576		.DCODE
D 0340, 1001,0205				; 4577	340:	I-PF,		J/AONJ		;AOJ--never jump [440]
D 0341, 0201,0206				; 4578		I,	SJCL,	J/AOJ		;AOJL
D 0342, 0101,0206				; 4579		I,	SJCE,	J/AOJ		;AOJE
D 0343, 0000,0206				; 4580		I,	SJCLE,	J/AOJ		;AOJLE
D 0344, 0001,0204				; 4581		I,		J/AOJA		;AOJA--always jump [440]
D 0345, 0600,0206				; 4582		I,	SJCGE,	J/AOJ		;AOJGE
D 0346, 0500,0206				; 4583		I,	SJCN,	J/AOJ		;AOJN
D 0347, 0401,0206				; 4584		I,	SJCG,	J/AOJ		;AOJG
						; 4585		.UCODE
						; 4586	=0****00**00
U 0204, 0205,0001,0000,0000,0017,0010,0000	; 4587	AOJA:	FETCH				;[441] AOJA only
U 0205, 0015,4640,2000,0000,0020,1310,0000	; 4588	AONJ:	AR_AC0+1,AD FLAGS,J/STAC	;[440] AOJ only
U 0206, 0216,4640,2000,0000,0266,1310,0502	; 4589	AOJ:	AR_AC0+1,AD FLAGS,JUMP FETCH,J/STORAC;Other AOJx
						; 4590	=
						; 4591	
						; 4592		.DCODE
D 0360, 1500,0410				; 4593	360:	I-PF,	AC,	J/SONJ		;SOJ--never jump [440]
D 0361, 0201,0412				; 4594		I,	SJCL,	J/SOJ		;SOJL
D 0362, 0101,0412				; 4595		I,	SJCE,	J/SOJ		;SOJE
D 0363, 0000,0412				; 4596		I,	SJCLE,	J/SOJ		;SOJLE
D 0364, 0500,0411				; 4597		I,	AC,	J/SOJA		;SOJA--always jump [440]
D 0365, 0600,0412				; 4598		I,	SJCGE,	J/SOJ		;SOJGE
D 0366, 0500,0412				; 4599		I,	SJCN,	J/SOJ		;SOJN
D 0367, 0401,0412				; 4600		I,	SJCG,	J/SOJ		;SOJG
						; 4601		.UCODE
						; 4602	=0****00**00
U 0410, 1014,2301,2000,0000,0000,0010,0000	; 4603	SONJ:	AR_1S,J/ADD			;[440] SOJ only--add -1 to AC0
U 0411, 1014,2301,2000,0000,0017,0010,0000	; 4604	SOJA:	AR_1S,FETCH,J/ADD		;[440] SOJA only--add -1 and jump
U 0412, 0455,3200,2000,0000,0020,0010,0000	; 4605	SOJ:	AR_AC0				;Other SOJx
U 0455, 0216,1703,2000,0000,0266,1310,0502	; 4606	=	AR_AR-1,AD FLAGS,JUMP FETCH,J/STORAC
						; 4607	
						; 4608		.DCODE
D 0252, 0601,1013				; 4609	252:	I,	SJCGE,	J/AOBJ		;AOBJP
D 0253, 0200,1013				; 4610		I,	SJCL,	J/AOBJ		;AOBJN
						; 4611		.UCODE
						; 4612	=0****00****
U 1013, 0216,4640,2000,0000,0266,0017,0502	; 4613	AOBJ:	AR_AC0+1,GEN CRY18,JUMP FETCH,J/STORAC
						; 4614	=
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6
; SKPJMP.MIC[4,24]	11:57 29-May-86			AC DECODE JUMPS -- JRST					

						; 4615	.TOC	"AC DECODE JUMPS -- JRST"
						; 4616	
						; 4617		.DCODE
D 0254, 2000,0600				; 4618	254:	EA,		J/JRST		;JRST--must be at JFCL-100
						; 4619		.UCODE
						; 4620	;
						; 4621	;	A READ detects JRST, and dispatches to one of 16 loc'ns on AC bits.
						; 4622	;	These have been completely rewritten to save space.  [414]
						; 4623	;	Note that the instruction dispatch must have cleared SC
						; 4624	;	for XJRSTF to work.
						; 4625	;
						; 4626	600:					;Multiple of 200, at JFCL-100
U 0600, 0133,0001,0000,0000,0000,0010,0000	; 4627	JRST:	J/FINI				;(0) JRST--A READ has prefetched
U 0601, 0217,3703,0000,0000,0317,0024,0412	; 4628	601:	PORTAL,VMA_AR,FETCH,J/NOP	;(1) PORTAL
						; 4629	602:
U 0602, 0464,0001,0000,0000,0000,5050,0000	; 4630	JRSTF:	SKP PC SEC0,CALL [JRSTOK]	;(2) JRSTF--Must be in section 0
U 0603, 1002,4001,0000,0000,0000,0010,0000	; 4631	603:	J/UUO				;(3)
						; 4632	604:
U 0604, 0464,4001,0000,0000,0000,6150,0000	; 4633	HALT:	SKP KERNEL,CALL [JRSTOK]	;(4) HALT--Must be kernel mode
U 0605, 0574,0001,0000,0000,0012,0050,0000	; 4634	605:	LOAD AR,CALL [GETNXT]		;(5) XJRSTF. Fetch flags
U 0606, 0604,4001,0000,3402,0000,7310,0000	; 4635	606:	SC_1S,SKP IO LEGAL,J/HALT	;(6) XJEN. Set switch
U 0607, 0464,4031,0200,0000,0020,7365,0000	; 4636	607:	ARX_PC+1,SKP IO LEGAL,CALL [JRSTOK];(7) XPCW
U 0610, 0464,4001,0000,0000,0000,7350,0000	; 4637	610:	SKP IO LEGAL,CALL [JRSTOK]	;(10) JRST 10, dismiss only
U 0611, 1002,4001,0000,0000,0000,0010,0000	; 4638	611:	J/UUO				;(11)
U 0612, 0464,4001,0000,0000,0000,7350,0000	; 4639	612:	SKP IO LEGAL,CALL [JRSTOK]	;(12) JEN
U 0613, 1002,4001,0000,0000,0000,0010,0000	; 4640	613:	J/UUO				;(13)
U 0614, 0444,4033,0200,0000,0020,0625,0030	; 4641	614:	AR_0.C,ARX_PC+1,J/XSFM		;(14) XSFM
U 0615, 0551,0001,0000,0000,0012,0010,0000	; 4642	615:	LOAD AR,J/XJRST			;(15) XJRST
U 0616, 1002,4001,0000,0000,0000,0010,0000	; 4643	616:	J/UUO				;(16)
U 0617, 1002,4001,0000,0000,0000,0010,0000	; 4644	617:	J/UUO				;(17)
						; 4645	;
						; 4646	;	JRSTOK will either drop out to UUO or return 20.
						; 4647	;	GETNXT starts reading the next word and returns 40.
						; 4648	;
U 0622, 0116,2301,0040,0000,0000,0036,0000	; 4649	622:	BR/AR,EA MOD DISP,J/JRSNDX	;JRSTF.  Is it indexed?
						; 4650	;
U 0624, 0620,0001,0000,0000,0000,0024,0442	; 4651	624:	HALT,J/CHALT			;HALT. Stop and loop
						; 4652	;
						; 4653	645:	RSTR FLAGS_AR,ARX_AR SWAP,	;XJRSTF/XJEN. Restore flags, get
U 0645, 0324,3240,0403,0000,3022,4724,0420	; 4654		    AR_MEM,SKP SC0,J/XJSPLT	; address, and dismiss if XJEN
						; 4655	;
						; 4656	627:	BRX/ARX,AR_ARX ANDC ADMSK,	;XPCW. Get flags
U 0627, 0424,3510,2227,4000,0020,0010,0175	; 4657		    ARX/AD,J/XPCW
						; 4658	;
U 0630, 0217,3703,0000,0000,0317,0024,0502	; 4659	630:	DISMISS,VMA_AR,FETCH,J/NOP	;JRST 10. Just dismiss and jump
						; 4660	;
U 0632, 0602,0001,0000,0000,0000,0024,0502	; 4661	632:	DISMISS,J/JRSTF			;JEN. Dismiss, then restore flags
						; 4662	;
						; 4663	;	The more complex forms of JRST end up here.  Most of these were
						; 4664	;	substantially rewritten. [414]
						; 4665	;
						; 4666	=1110
U 0116, 0456,0001,4000,0000,2000,0010,0000	; 4667	JRSNDX:	AR_ARX,J/RFLAGS			;JRSTF/JEN, no index. Flags in mem
U 0117, 0456,3240,2002,0000,0020,0010,0000	; 4668		AR_XR				;Indexed. Flags in AC
U 0456, 0335,3202,2000,0000,0000,0024,0420	; 4669	RFLAGS:	RSTR FLAGS_AR,AR_BR,J/ARJMP	;[436] Restore flags; avoid race
						; 4670	;
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6-1
; SKPJMP.MIC[4,24]	11:57 29-May-86			AC DECODE JUMPS -- JRST					

						; 4671	=0
U 0324, 0334,4001,0000,0000,0000,6210,0000	; 4672	XJSPLT:	SKP USER,J/LDPCS		;XJRSTF, no dismiss. Enter user?
U 0325, 0334,4001,0000,0000,0000,6224,0502	; 4673		DISMISS,SKP USER		;XJEN. Dismiss interrupt. User mode?
						; 4674	=0
U 0334, 0461,0001,0000,0000,0000,2210,0400	; 4675	LDPCS:	GET ECL EBUS,J/PCSLOD		;No. Get EBUS and load PCS
U 0335, 0217,3703,0000,0000,0317,0010,0000	; 4676	ARJMP:	VMA_AR,FETCH,J/NOP		;Yes. We're done
						; 4677	;
U 0461, 0531,3713,0000,0000,0060,2010,0426	; 4678	PCSLOD:	LD PCS				;Do the load (from ARX)
U 0531, 0335,0001,0000,0000,0000,2210,0002	; 4679		COND/EBUS CTL,EBUS CTL/2,J/ARJMP;Release ECL EBUS and go
						; 4680	;
						; 4681	=0
						; 4682	XPCW:	BR/AR,AR_0S,SKP USER,		;XPCW. Save flags and fetch previous
U 0424, 0474,3441,2040,0000,0000,6250,0000	; 4683		    CALL [PRVSEC]		; section if not user mode
U 0425, 0535,3202,0000,0000,0016,0610,0002	; 4684		ARL_BRL,ARR_ARR,STORE		;Store flags word
						; 4685		FIN STORE,AR_ARX COMP AND BRX,	;Store PC word
U 0535, 0634,3022,6003,0000,0016,3610,0000	; 4686		    VMA_VMA+1,STORE
						; 4687	=0*****	FIN STORE,VMA_VMA+1,LOAD AR,	;Fetch new flags
U 0634, 0574,0001,0003,0000,0012,3650,0000	; 4688		    CALL [GETNXT]		; and PC
U 0674, 0335,3200,0003,0000,0022,0024,0420	; 4689		RSTR FLAGS_AR,AR_MEM,J/ARJMP	;Restore flags, then jump
						; 4690	;
						; 4691	=0
						; 4692	XSFM:	ARX_ARX ANDC ADMSK,SKP USER,	;Isolate flags and previous
U 0444, 0474,3510,0207,4000,0020,6250,0175	; 4693		    CALL [PRVSEC]		; section if not user mode
U 0445, 0016,0001,0000,0000,2016,0022,0004	; 4694		ARL_ARXL,ARR_ARR,STORE,J/STMEM	;Store flags and exit
						; 4695	;
U 0551, 0335,3200,0003,0000,0022,2110,0105	; 4696	XJRST:	AR_MEM,SET ACCOUNT EN,J/ARJMP	;XJRST. Get jump address and go
						; 4697	;
						; 4698	;	JRSTOK--Subroutine to check whether a JRST X, is legal.  Enter
						; 4699	;	skipping legal.  This exits to UUO if not, and returns 20
						; 4700	;	otherwise.
						; 4701	;
						; 4702	=0
U 0464, 1002,4001,0000,0000,0000,0010,0000	; 4703	JRSTOK:	J/UUO				;No go
U 0465, 0020,4001,0000,0000,0000,0003,0000	; 4704		RETURN20			;Looks OK
						; 4705	;
						; 4706	;	GETNXT--Subroutine to await a load and then start loading
						; 4707	;	the next word in sequence.  Return 40.
						; 4708	;
U 0574, 0040,3200,0003,0000,0032,3603,0000	; 4709	GETNXT:	FIN LOAD,VMA_VMA+1,LOAD AR,RETURN [40];Await, then load
						; 4710	;
						; 4711	;	PRVSEC--Subroutine to load the previous section and then
						; 4712	;	swap it into the right half of AR.  This is paired with
						; 4713	;	ARSWAP (below).  Return 1.
						; 4714	;
						; 4715	=0
U 0474, 0475,4001,0000,0000,2000,0210,0000	; 4716	PRVSEC:	AR12-17_PREV SEC		;Load PCS
						; 4717	;
						; 4718	;	[334] Subroutine to swap AR halves.  Used in a couple of places.
						; 4719	;
U 0475, 0001,0001,4000,0000,3000,0003,0000	; 4720	ARSWAP:	AR_AR SWAP,RETURN1		;[334] Rearrange things
						; 4721	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 7
; SKPJMP.MIC[4,24]	11:57 29-May-86			HALT LOOP						

						; 4722	.TOC	"HALT LOOP"
						; 4723	;HERE WHILE PROCESSOR IS "HALTED"
						; 4724	
						; 4725	CHALT:	AR_0S,CLR SC,CLR FE,SET HALTED,	;KERNEL OR CONSOLE HALT
U 0620, 0554,3401,2000,0403,0100,1515,0302	; 4726			VMA/PC,PC_VMA		; IF JRST 4, COPY EA TO PC
						;;4727	.IF/PAGCNT				;[327] PFH, DATAO PAG bit 2 counts
						;;4728		TRX2_AR				;[327] Zero count registers
						;;4729		TRX3_AR
						; 4730	.ENDIF/PAGCNT				;[327]
						; 4731	;
						; 4732	;	The halt loop must be an odd number of ticks to allow diagnostics
						; 4733	;	to synchronize EBOX with E and SBUS clock phases.
						; 4734	;
						; 4735	=0
						; 4736	HALT1:	SKP -START,TIME/3T,		;CHECK FOR CONTINUE BUTTON
U 0554, 0654,4001,0400,2421,1020,7110,0000	; 4737			FE_AR0-8,ARX_AR,J/HALT2	;PICK UP OPCODE IN CASE XCT
U 0555, 0144,0001,0000,0000,0000,7710,0000	; 4738		TAKE INTRPT			;HERE IF EXAMINE/DEPOSIT UP
						; 4739	=0
U 0654, 0326,0001,0000,3000,0020,1534,0000	; 4740	HALT2:	GEN FE-1,BYTE DISP,CONTINUE,J/UNHALT	;INSTR FROM SWITCHES?
U 0655, 0554,4001,0000,0000,0000,7010,0000	; 4741		SKP INTRPT,TIME/2T,J/HALT1	;Still halted
						; 4742	=110
U 0326, 1235,4001,0000,0401,0000,1510,0310	; 4743	UNHALT:	SET CONS XCT,CLR FE,J/UXCT	;XCT ONE FROM "SWITCHES"
U 0327, 0000,5063,0000,0000,0040,5410,0000	; 4744		SKP AR EQ,J/START		;NOT AN INSTR.  START, OR CONT?
						; 4745	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 8
; SKPJMP.MIC[4,24]	11:57 29-May-86			AC DECODE JUMPS -- JFCL					

						; 4746	.TOC	"AC DECODE JUMPS -- JFCL"
						; 4747	
						; 4748		.DCODE
D 0255, 0401,0700				; 4749	255:	I,	TNN,	J/JFCL		;JFCL--must be at JRST+100
						; 4750		.UCODE
						; 4751	;
						; 4752	;	JFCL--Often a slow noop.
						; 4753	;
						; 4754	700:					;JFCL MUST BE AT JRST+100
U 0700, 0130,3202,0600,0302,0000,4610,0015	; 4755	JFCL:	ARX_BRX,SC_#,#/13.,SKP AC EQ 0	;[440] Grab AC field. Is it 0?
						; 4756	=00	AR_SHIFT,ARX_0S,		;No. MOVE AC TO AR32-35
U 0130, 2604,3441,4200,0302,0000,0050,0040	; 4757			SC_#,#/32.,CALL,J/SHIFT	;SHIFTER WILL MOVE TO 0-3
U 0131, 0217,4001,0000,0000,0217,0010,0000	; 4758		I FETCH,J/NOP			;[440] Yes. Speed up noop
U 0132, 0625,3733,2040,0000,0000,0024,0602	; 4759		BR/AR,AR_PC,JFCL T		;[440] GET PC FLAGS INTO AR
U 0625, 0631,3602,0000,0000,0246,0010,0503	; 4760	=	TEST AR.BR,JFCL FETCH		;JUMP IF TEST SATISFIED
U 0631, 0641,3502,2000,0000,0000,0010,0000	; 4761		AR_AR*BR,AD/ANDCB		;CLEAR TESTED FLAGS IN AR
U 0641, 0133,4001,0000,0000,0000,0024,0622	; 4762		JFCL S,J/FINI			;SET PC FROM THEM
						; 4763	
						; 4764	.TOC	"MAP"
						; 4765	
						; 4766		.DCODE
D 0257, 0500,1311				; 4767	257:	I,	AC,	J/MAP		;MAP--256 is XCT
						; 4768		.UCODE
						; 4769	
						; 4770	1311:					;Must be near XCT
U 1311, 0653,4001,0040,0000,0007,0010,0140	; 4771	MAP:	MAP,BR/AR			;MAP E, GO READ BACK EBRG
U 0653, 0740,4001,0000,0000,0000,1610,0015	; 4772	=	SR_MAP				;With KL PAGING, MAP CAN PAGE FAIL
						; 4773	=0
						; 4774	RDEBRG:	AR_0S,SKP IO LEGAL,MB WAIT,	;FINISH READ REG FUNC
U 0740, 3132,3401,2000,0000,0002,7350,0000	; 4775			CALL,J/GETEEB		;AND GET EBUS
U 0741, 0672,4001,3000,0000,0060,2010,0567	; 4776		AR_EBUS REG			;READ DATA
U 0672, 0016,4001,0000,0000,0005,2233,0000	; 4777		REL ECL EBUS,B WRITE,J/ST6	;GIVE IT TO USER
						; 4778	;
						; 4779	;	MAP never generates a hard page fail.  If the MAP microorder
						; 4780	;	faults, CLEAN returns here with
						; 4781	;
						; 4782	;	AR_SV.PFW,SKP IO LEGAL		;Return PFW in AC
						; 4783	=0
U 0744, 1002,0001,0000,0000,0000,1610,0000	; 4784	MAP2:	SR_0,J/UUO			;NO MAPS IN USER MODE
U 0745, 0754,0001,0000,0000,0000,7010,0000	; 4785		SKP INTRPT			;DO NOT BUM THIS CODE OUT
U 0754, 0216,0001,0000,0000,0217,0010,0000	; 4786	=0	I FETCH,J/STORAC		;MAP must do nothing interesting if
U 0755, 0361,4001,0000,0000,0000,2110,0105	; 4787		SET ACCOUNT EN,J/TAKINT		; an interrupt is pending
						; 4788	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 9
; SKPJMP.MIC[4,24]	11:57 29-May-86			STACK INSTRUCTIONS -- PUSHJ, PUSH, POP, POPJ		

						; 4789	.TOC	"STACK INSTRUCTIONS -- PUSHJ, PUSH, POP, POPJ"
						; 4790	
						; 4791		.DCODE
D 0260, 2001,1017				; 4792	260:	EA,		J/PUSHJ		;PUSHJ
D 0261, 4000,1016				; 4793		R,	B/0,	J/PUSH		;PUSH
D 0262, 2001,1104				; 4794		EA,	B/0,	J/POP		;POP
D 0263, 0001,1105				; 4795		I,		J/POPJ		;POPJ
						; 4796		.UCODE
						; 4797	
						; 4798	;PUSHJ
						; 4799	; ENTER WITH E IN AR
						; 4800	;PUSH
						; 4801	; ENTER WITH (E) IN AR
						; 4802	
						; 4803	=0****00***0
U 1016, 1024,4660,0200,0000,0151,5420,0041	; 4804	PUSH:	ARX_AC0+1,PUSH,SKP CRY0,J/STMAC	;BUMP AC ACCORDING TO FORMAT
						; 4805						; AND SECTION NUMBER
U 1017, 1020,4033,2040,0000,0020,5025,0000	; 4806	PUSHJ:	BR/AR,AR_PC+1,SKP PC SEC0	;GET PC WITH FLAGS
						; 4807	=
U 1020, 1021,3600,2007,0000,0020,0010,0175	; 4808	=0	AR_AR AND ADMSK			;STRIP OFF FLAGS IF NOT SEC0
U 1021, 0222,4660,0200,0000,0151,5420,0041	; 4809		ARX_AC0+1,PUSH,SKP CRY0,J/JSTAC	;UPDATE STACK POINTER, STORE
						; 4810	=00
U 0220, 1045,3701,0000,0000,0313,0050,0000	; 4811	JRA1:	VMA_AR,LOAD ARX,CALL,J/XFERW	;GET SAVED AC
						; 4812	=10
						; 4813	JSTAC:	FIN STORE,VMA_BR,FETCH,		;STORE PC, JUMP ADDR TO VMA
U 0222, 0216,3202,4003,0000,2317,0010,0000	; 4814			AR_ARX,J/STORAC		;PREPARE TO STORE AC VALUE
U 0223, 0222,0001,0003,0000,0002,1110,0040	; 4815		TRAP2,MEM_AR,J/JSTAC		;CAUSE PDL OVRFLO
						; 4816	
						; 4817	=0
						; 4818	STMAC:	FIN STORE,I FETCH,		;STORE RESULT, GET NEXT INSTR
U 1024, 0216,4001,4003,0000,2217,0033,0000	; 4819			AR_ARX,B DISP,J/STSELF	;STORE AC IF B=0
						; 4820		MEM_AR,TRAP2,			;PDL OVFLO, CAUSE TRAP
U 1025, 0017,4001,4003,0000,2002,1110,0040	; 4821			AR_ARX,J/IFSTAC		;UPDATE AC BEFORE TRAPPING
						; 4822	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 10
; SKPJMP.MIC[4,24]	11:57 29-May-86			STACK INSTRUCTIONS -- PUSHJ, PUSH, POP, POPJ		

						; 4823	;POP, POPJ
						; 4824	;ENTER WITH E IN AR
						; 4825	
						; 4826	=0****00***0
U 1104, 0034,3240,2040,0000,0131,0010,0421	; 4827	POP:	BR/AR,AR_AC0,POP AR,J/POP2	;GET FROM STACK
						; 4828	
U 1105, 0675,3240,2000,0000,0131,0010,0621	; 4829	POPJ:	AR_AC0,POP AR-ARX		;GET STACK TO AR AND ARX
						; 4830	=	AR_AR-1,TIME/3T,AC0,		;BACK OFF POINTER
U 0675, 1030,1703,2000,0000,0020,5420,0000	; 4831		    STACK UPDATE,SKP CRY0	; UNDERFLOW?
						; 4832	=0	MQ_AR,AR_MEM,ARX_MEM,TIME/3T,	;[413] Yes. AC to MQ, PC to AR and
U 1030, 0731,3200,0013,0000,1022,1110,0040	; 4833		    TRAP2,J/POPJT		;[414] ARX, set trap
						; 4834		MQ_AR,AR_MEM,ARL_0.S,ARX_MEM,	;[413] AC TO BR, HALFWORD PC TO AR
U 1031, 1034,3240,0013,0000,1022,5022,0020	; 4835		    TIME/3T,SKP PC SEC0		;FULL PC TO ARX. Extended form?
						; 4836	=0
						; 4837	POPJ2:	VMA_ARX,FETCH,ARX/MQ,		;[413] YES.  LOAD ENTIRE ADDR
U 1034, 0014,3711,0300,0302,0317,0010,0044	; 4838		    SC_#,#/36.,J/SHFLOD
						; 4839		VMA_AR,FETCH,ARX/MQ,SC_#,#/36.,	;[413] NO, LOAD HALFWORD ADDRESS
U 1035, 0014,3703,0300,0302,0317,0010,0044	; 4840		    J/SHFLOD
						; 4841	;
						; 4842	;	POPJ gets stack underflow.  Unfortunately, we can't clear ARL and
						; 4843	;	set TRAP2 at the same time (to say nothing of testing PC SEC0).
						; 4844	;
						; 4845	POPJT:	ARL_0.S,ARR_ARR,		;[414] Halfword PC to AR. Test for
U 0731, 1034,4001,0000,0000,0000,5022,0020	; 4846		    SKP PC SEC0,J/POPJ2		; extended form
						; 4847	;
						; 4848	=0*
						; 4849	POP2:	ARX_AR-1,AC0,STACK UPDATE,	;BACK UP POINTER
U 0034, 1044,1701,0200,0000,0040,5460,0000	; 4850			SKP CRY0,CALL [POPTRP]	; and test for trap [413]
U 0036, 1024,3202,0000,0000,0111,0010,0042	; 4851		GEN BR,WRITE (E),J/STMAC	;STORE RESULT & AC
						; 4852	;
						; 4853	;	Subroutine to test for POP trap and wait for memory.  Return 2.
						; 4854	;
						; 4855	=0
U 1044, 0002,3200,0003,0000,0022,1103,0040	; 4856	POPTRP:	AR_MEM,TRAP2,RETURN [2]		;POP stack underflowed.
						; 4857	;
						; 4858	;	A one line subroutine to wait for a memory fetch (either AR
						; 4859	;	or ARX) and return.  Used by all sorts of things.  Must adjoin
						; 4860	;	POPTRP.
						; 4861	;
U 1045, 0002,3240,0003,0000,0022,0003,0000	; 4862	XFERW:	AR_MEM,ARX_MEM,TIME/3T,RETURN2	;Cross reference both macros [313]
						; 4863	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 11
; SKPJMP.MIC[4,24]	11:57 29-May-86			SUBROUTINE CALL/RETURN -- JSR, JSP, JSA, JRA		

						; 4864	.TOC	"SUBROUTINE CALL/RETURN -- JSR, JSP, JSA, JRA"
						; 4865	
						; 4866		.DCODE
D 0264, 2000,1205				; 4867	264:	EA,		J/JSR		;JSR
D 0265, 2001,1204				; 4868		EA,		J/JSP		;JSP
D 0266, 0001,1214				; 4869		I,		J/JSA		;JSA
D 0267, 0000,1215				; 4870		I,		J/JRA		;JRA
						; 4871		.UCODE
						; 4872	
						; 4873	=0****00***0
U 1204, 1064,4031,2000,0000,0037,5025,0000	; 4874	JSP:	AR_PC+1,FETCH,SKP PC SEC0,J/JSP1
						; 4875	
U 1205, 1054,4031,2000,0000,0020,5025,0000	; 4876	JSR:	AR_PC+1,SKP PC SEC0
						; 4877	=
U 1054, 0751,3600,2007,0000,0036,0010,0175	; 4878	=0	AR_AR AND ADMSK,STORE,J/JSR1
U 1055, 0751,0001,0000,0000,0016,0010,0000	; 4879		STORE				;IN SECT 0, SAVE FLAGS, TOO
U 0751, 0217,0001,0003,0000,0017,3610,0000	; 4880	JSR1:	FIN STORE,VMA_VMA+1,FETCH,J/NOP
						; 4881	
						; 4882	=0
U 1064, 0015,3600,2007,0000,0020,0010,0175	; 4883	JSP1:	AR_AR AND ADMSK,J/STAC		;NON-ZERO SEC, NO FLAGS
U 1065, 0133,4001,0000,0000,0000,1010,0000	; 4884		AC0_AR,J/FINI
						; 4885	
						; 4886	
						; 4887	=0****00***0
U 1214, 1032,3240,2400,0000,3036,0010,0000	; 4888	JSA:	ARX_AR SWAP,AR_AC0,STORE,J/JSA1	;SAVE E IN ARX LEFT, GET AC
						; 4889	
U 1215, 1015,4001,0000,0000,1000,0210,0000	; 4890	JRA:	AR12-17_PC SEC			;[235] put section in jump address.
U 1015, 1026,3200,2040,0000,0020,0010,0000	; 4891	=	BR/AR,AR_AC0			;[235][414] Grab AC, keep jump addr
U 1026, 0220,3202,4000,0000,3000,0610,0002	; 4892		ARR_ARL,ARL_BRL,J/JRA1		;[235][414] Generate memory address
						; 4893	
U 1032, 1036,0001,0003,0000,0017,3610,0000	; 4894	JSA1:	FIN STORE,VMA_VMA+1,FETCH	;JUMP TO E+1
U 1036, 0015,4031,2000,0000,2020,0022,0004	; 4895		ARR_PC+1,ARL_ARXL,J/STAC	;PC+1,,E GOES TO AC
						; 4896	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 12
; SKPJMP.MIC[4,24]	11:57 29-May-86			UUO'S							

						; 4897	.TOC	"UUO'S"
						; 4898	;LUUO'S TRAP TO CURRENT CONTEXT
						; 4899	; EXTENDED INSTRUCTION SET IS "HIDDEN" BENEATH LUUO OPCODES
						; 4900	;	The general format is
						; 4901	;
						; 4902	;	EA,	Bfield,	J/EXTEND op code - 1000
						; 4903	;
						; 4904	;	so that a jump to LUUO can be put as the direct DRAM object
						; 4905	;	and the EXTEND dispatch can ship it off to the appropriate
						; 4906	;	extended op code processor.  All of the legal EXTEND op codes
						; 4907	;	are assembled adjacent to their handlers.
						; 4908	;
						; 4909	;	WARNING:  use extreme caution if E1 for MOVSRJ or CMPSE should
						; 4910	;	ever be used for anything, as they are sign smeared if they are
						; 4911	;	> 377777 (they fall in with MOVSO and friends at EXT2). [301]
						; 4912	;	Use similar caution if new EXTEND codes are created which
						; 4913	;	must have the DCODE B field be 1 or 3.
						; 4914	;
						; 4915		.DCODE
D 0000, 2000,1002				; 4916	000:	EA,		J/UUO
						; 4917	.IF/EXTEXP
D 0020, 2001,1110				; 4918	020:	EA,	J/BLUUO			;XBLT LUUO must adjoin GSNGL
						; 4919	.IFNOT/GFTCNV
D 0023, 2001,1110				; 4920	023:	EA,	J/BLUUO			;G floating converts
D 0024, 2001,1110				; 4921		EA,	J/BLUUO			;decommited due to
D 0025, 2001,1110				; 4922		EA,	J/BLUUO			;lack of space
D 0026, 2001,1110				; 4923		EA,	J/BLUUO
						; 4924	.ENDIF/GFTCNV
						;;4925	.IFNOT/EXTEXP
						;;4926	020:	EA,	J/LUUO			;XBLT no longer dispatched
						;;4927		EA,	J/LUUO
						;;4928		EA,	J/LUUO
						;;4929		EA,	J/LUUO
						;;4930	024:	EA,	J/LUUO
						;;4931		EA,	J/LUUO
						;;4932		EA,	J/LUUO
						;;4933		EA,	J/LUUO
						;;4934	030:	EA,	J/LUUO
						;;4935		EA,	J/LUUO
						; 4936	.ENDIF/EXTEXP
D 0032, 2001,1005				; 4937	032:	EA,	J/LUUO			;These are reserved to Cobol.
D 0033, 2001,1005				; 4938		EA,	J/LUUO
D 0034, 2001,1005				; 4939		EA,	J/LUUO
D 0035, 2001,1005				; 4940		EA,	J/LUUO
D 0036, 2001,1005				; 4941		EA,	J/LUUO
D 0037, 2001,1005				; 4942		EA,	J/LUUO
						; 4943	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 13
; SKPJMP.MIC[4,24]	11:57 29-May-86			UUO'S							

						; 4944	;MONITOR UUO'S -- TRAP TO EXEC
						; 4945	
D 0040, 2000,1002				; 4946	040:	EA,	J/MUUO		;CALL
D 0041, 2000,1002				; 4947		EA,	J/MUUO		;INIT
D 0042, 2000,1002				; 4948		EA,	J/MUUO
D 0043, 2000,1002				; 4949		EA,	J/MUUO
D 0044, 2000,1002				; 4950		EA,	J/MUUO
D 0045, 2000,1002				; 4951		EA,	J/MUUO
D 0046, 2000,1002				; 4952		EA,	J/MUUO
D 0047, 2000,1002				; 4953		EA,	J/MUUO		;CALLI
D 0050, 2000,1002				; 4954		EA,	J/MUUO		;OPEN
D 0051, 2000,1002				; 4955		EA,	J/MUUO		;TTCALL
						; 4956	;
						; 4957	;	052 and 053 are now PMOVE and PMOVEM.
						; 4958	;
D 0054, 2000,1002				; 4959	054:	EA,	J/MUUO
D 0055, 2000,1002				; 4960		EA,	J/MUUO		;RENAME
D 0056, 2000,1002				; 4961		EA,	J/MUUO		;IN
D 0057, 2000,1002				; 4962		EA,	J/MUUO		;OUT
D 0060, 2000,1002				; 4963		EA,	J/MUUO		;SETSTS
D 0061, 2000,1002				; 4964		EA,	J/MUUO		;STATO
D 0062, 2000,1002				; 4965		EA,	J/MUUO		;GETSTS
D 0063, 2000,1002				; 4966		EA,	J/MUUO		;STATZ
D 0064, 2000,1002				; 4967		EA,	J/MUUO		;INBUF
D 0065, 2000,1002				; 4968		EA,	J/MUUO		;OUTBUF
D 0066, 2000,1002				; 4969		EA,	J/MUUO		;INPUT
D 0067, 2000,1002				; 4970		EA,	J/MUUO		;OUTPUT
D 0070, 2000,1002				; 4971		EA,	J/MUUO		;CLOSE
D 0071, 2000,1002				; 4972		EA,	J/MUUO		;RELEAS
D 0072, 2000,1002				; 4973		EA,	J/MUUO		;MTAPE
D 0073, 2000,1002				; 4974		EA,	J/MUUO		;UGETF
D 0074, 2000,1002				; 4975		EA,	J/MUUO		;USETI
D 0075, 2000,1002				; 4976		EA,	J/MUUO		;USETO
D 0076, 2000,1002				; 4977		EA,	J/MUUO		;LOOKUP
D 0077, 2000,1002				; 4978		EA,	J/MUUO		;ENTER
						; 4979	
						; 4980	;EXPANSION OPCODES
						; 4981	
D 0100, 2000,1002				; 4982	100:	EA,	J/UUO		;UJEN
D 0101, 2000,1002				; 4983		EA,	J/UUO
D 0247, 2000,1002				; 4984	247:	EA,	J/UUO		;[430] Adjoins LSHC
						; 4985	
						;;4986	.IFNOT/EXTEXP
						;;4987	102:	EA,	J/UUO
						;;4988		EA,	J/UUO
						;;4989	106:	EA,	J/UUO
						;;4990		EA,	J/UUO
						; 4991	.ENDIF/EXTEXP
						; 4992		.UCODE
						; 4993	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 14
; SKPJMP.MIC[4,24]	11:57 29-May-86			UUO'S							

						; 4994	;HERE FOR UNDEFINED OPS (UUO'S) AND ILLEGAL INSTRUCTIONS
						; 4995	;E IS IN AR, OPCODE AND AC IN BRX
						; 4996	
						; 4997	;HERE ON LUUO'S
						; 4998	; E IN AR, INSTR IN BRX
						; 4999	;
						; 5000	;	All LUUOs which have corresponding EXTEND op codes must dispatch
						; 5001	;	to their own first word.  In all cases, it is the same as LUUO.
						; 5002	;
						; 5003	.IF/EXTEXP				;[337]
						; 5004	1116:
						;;5005	.IF/GFTCNV				;[427]
						;;5006	BLUUO:					;[427] Define this for XBLT
						; 5007	.ENDIF/GFTCNV				;[427]
U 1116, 0440,3202,0600,0000,0000,5010,0000	; 5008	L-GTPI:	ARX_BRX,SKP PC SEC0,J/LUUO1	;GSNGL
						; 5009	1114:
U 1114, 0440,3202,0600,0000,0000,5010,0000	; 5010	L-SFTE:	ARX_BRX,SKP PC SEC0,J/LUUO1	;GDBLE
						;;5011	.IF/GFTCNV
						;;5012	1117:
						;;5013	L-GTDI:	ARX_BRX,SKP PC SEC0,J/LUUO1	;GDFIX
						;;5014	1106:
						;;5015	L-GTSI:	ARX_BRX,SKP PC SEC0,J/LUUO1	;GFIX
						;;5016	1107:
						;;5017	L-GTDR:	ARX_BRX,SKP PC SEC0,J/LUUO1	;GDFIXR
						;;5018	1110:
						;;5019	L-GTSR:	ARX_BRX,SKP PC SEC0,J/LUUO1	;GFIXR
						; 5020	.IFNOT/GFTCNV
						; 5021	1110:
U 1110, 0440,3202,0600,0000,0000,5010,0000	; 5022	BLUUO:	ARX_BRX,SKP PC SEC0,J/LUUO1	;Conditioned out EXTEND ops
U 3110, 1002,4001,0000,0000,0000,0010,0000	; 5023	3110:	J/MUUO				;Force EXTEND to UUO
						; 5024	.ENDIF/GFTCNV
						; 5025	1111:
U 1111, 0440,3202,0600,0000,0000,5010,0000	; 5026	L-DITE:	ARX_BRX,SKP PC SEC0,J/LUUO1	;DGFLTR
						; 5027	1112:
U 1112, 0440,3202,0600,0000,0000,5010,0000	; 5028	L-SITE:	ARX_BRX,SKP PC SEC0,J/LUUO1	;DGLTR
						; 5029	1113:
U 1113, 0440,3202,0600,0000,0000,5010,0000	; 5030	L-EFSC:	ARX_BRX,SKP PC SEC0,J/LUUO1	;GFSC
						;;5031	.IFNOT/EXTEXP
						;;5032	1110:
						;;5033	BLUUO:	ARX_BRX,SKP PC SEC0,J/LUUO1	;Conditioned out EXTEND ops
						;;5034	3110:	J/MUUO				;Force EXTEND to UUO
						; 5035	.ENDIF/EXTEXP
						; 5036	1006:
U 1006, 0440,3202,0600,0000,0000,5010,0000	; 5037	L-EDIT:	ARX_BRX,SKP PC SEC0,J/LUUO1	;EDIT
						; 5038	1010:
U 1010, 0440,3202,0600,0000,0000,5010,0000	; 5039	L-DBIN:	ARX_BRX,SKP PC SEC0,J/LUUO1	;DBIN AT 2010
						; 5040	1011:
U 1011, 0440,3202,0600,0000,0000,5010,0000	; 5041	L-BDEC:	ARX_BRX,SKP PC SEC0,J/LUUO1	;BDEC AT 2011
						; 5042	1012:
U 1012, 0440,3202,0600,0000,0000,5010,0000	; 5043	L-MVS:	ARX_BRX,SKP PC SEC0,J/LUUO1	;MOVE STRING AT 2012
						; 5044	1005:
						; 5045	L-CMS:					;STRING COMPARE
U 1005, 0440,3202,0600,0000,0000,5010,0000	; 5046	LUUO:	ARX_BRX,SKP PC SEC0		;WHICH KIND OF UUO?
						; 5047	=0***0
						; 5048	LUUO1:	CLR P,SKP -LOCAL AC ADDR,	;[414] Extended. Generate clean  
U 0440, 1134,4001,0000,0400,3001,5750,0200	; 5049		    CALL [UUOCOM]		; section number
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 14-1
; SKPJMP.MIC[4,24]	11:57 29-May-86			UUO'S							

						; 5050		BR/AR,AR_ARX ANDC ADMSK,	;COMPATiBLE.  ADDR TO BR
U 0441, 1074,3510,2047,4000,0020,7010,0175	; 5051			SKP INTRPT,J/LUUO2	; DO IT THE OLD WAY
U 0460, 0240,0001,0000,0000,0100,3010,0420	; 5052		VMA_#,#/420			;PT LOC FOR LUUO BLOCK POINTER
						; 5053	=
U 0240, 1045,4001,0000,0000,0013,0066,0033	; 5054	=00	LOAD ARX,PT REF,CALL,J/XFERW	;GET LUUO BLOCK ADDRESS
U 0242, 1132,3711,0000,0000,0316,0050,0000	; 5055	=10	VMA_ARX,STORE,CALL,J/UUOC2	;STORE UUO OPCODE AND FLAGS
						; 5056		FIN STORE,VMA_VMA+1,LOAD AR,	;NOW GET A NEW PC
U 0243, 0551,0001,0003,0000,0012,3610,0000	; 5057			J/XJRST			; [414]
						; 5058	
						; 5059	;HERE FOR COMPATIBLE UUO
						; 5060	=0
						; 5061	LUUO2:	AR_AR*BR,AD/OR,VMA_#,#/40,	;SAVE OPCODE AND EA
U 1074, 1046,3302,2004,0000,0116,3010,0040	; 5062			STORE,J/LUUO3		;THEN GET INSTR FROM 41
U 1075, 0144,0001,0000,0000,0000,7710,0000	; 5063		TAKE INTRPT			;ONE MOMENT, PLEASE
						; 5064	LUUO3:	FIN STORE,VMA_VMA+1,LOAD ARX,
U 1046, 0366,0001,0003,0000,0013,3610,0000	; 5065		    J/XCTW
						; 5066	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 15
; SKPJMP.MIC[4,24]	11:57 29-May-86			UUO'S							

						; 5067	;HERE ON MUUO'S
						; 5068	; E IN AR, OP AND AC IN BRX
						; 5069	
						; 5070	1002:					;Fixed for EXTEND, other ops
						; 5071	UUO:					;A PEDANTIC DISTINCTION...
						; 5072	MUUO:	ARX_BRX,CLR P,SKP -LOCAL AC ADDR,;[414] Get clean section number
U 1002, 1134,3202,0600,0400,3001,5750,0200	; 5073		    CALL [UUOCOM]		; and pull together pieces of UUO
U 1022, 1056,4001,0000,0000,0013,0026,0223	; 5074	1022:	LOAD ARX,UPT REF		;GET NEW PC
U 1056, 1124,3240,0003,0000,0122,3010,0424	; 5075		ARX_MEM,VMA_#,#/424		;LOC'N OF MUUO DATA BLOCK
						; 5076	=0	BRX/ARX,STORE,UPT REF,		;STORE OPCODE, FLAGS
U 1124, 1132,4001,0020,0000,0016,0066,0223	; 5077			CALL,J/UUOC2		;NOW RETURN TO COMMON CODE
U 1125, 0320,3733,2003,0302,0002,0010,0004	; 5078		MEM_AR,AR_PC,SC_#,#/4		;READY TO SETUP NEW FLAGS
						; 5079	=00	VMA_VMA+1,SC_#,#/60,		;SET UP FOR CONTEXT WORD
						; 5080			SH DISP,AR_0S,		;TEST USER AND PUBLIC FLAGS
U 0320, 0232,3401,2000,0302,0020,3647,0060	; 5081			CALL,J/MUUOF		;SET NEW PREV FLAGS, GET EBUS
						; 5082		DATAI PAG(L),ARX_1B17-1,	;GO COLLECT DATAI PAG INFO
U 0321, 3576,1761,3200,0000,0060,2057,0511	; 5083			CALL,J/PCTXT
U 0323, 1062,3733,0000,0000,0060,2010,0426	; 5084	=11	LD PREV CTXT			;PCS FROM PC, CWSX FROM SXCT
						; 5085		AR_SHIFT,ARL_BRL.S,		;COMBINE UBR WITH AC BLKS, CWSX
						; 5086			STORE,			; STORE THAT AT 426 (XADDR =427)
U 1062, 1066,3242,4000,0000,0016,2222,0002	; 5087			COND/EBUS CTL,EBUS CTL/2; & RELEASE ECL EBUS
U 1066, 1072,3242,6003,0000,0002,1610,0000	; 5088		MEM_AR,AR_BRX,SR_0		;NOW GET NEW PC
U 1072, 0217,3600,0007,4000,0337,0010,0175	; 5089	SETPC:	VMA_AR AND ADMSK,FETCH,J/NOP
						; 5090	
						; 5091	=0					;[414]
U 1134, 1135,4061,0000,0000,0021,0017,0002	; 5092	UUOCOM:	ARL_1.M				;FORCE AC ADDRESS
U 1135, 1076,3510,2017,0000,1020,0010,0175	; 5093		MQ_AR,AR_ARX ANDC ADMSK		;SAVE ADDR IN MQ.  GET OPCODE
U 1076, 1144,0001,0040,0000,0000,6222,0030	; 5094		BR/AR,AR_0.S,SKP USER		;SAVE OPCODE IN BR
U 1144, 1145,0001,0000,0000,2000,0210,0000	; 5095	=0	AR12-17_PREV SEC		;GET PCS
U 1145, 1117,3302,2004,0000,0100,3210,0430	; 5096		AR_AR*BR,AD/OR,VMA_430+MODE	;[414] OPCODE+PCS, UUO new PC loc
U 1117, 1126,3530,2407,4000,3020,0010,0175	; 5097		ARX_AR SWAP,AR_PC FLAGS		;GET FLAGS FROM PC
U 1126, 0020,4001,4000,0000,2000,0603,0000	; 5098		ARL_ARL,ARR_ARX,RETURN20	;[414] FLAGS AND OPCODE COMBINED
						; 5099	
U 1132, 1136,4033,0203,0000,0022,0025,0000	; 5100	UUOC2:	MEM_AR,ARX_PC+1			;FINISH STORE
						; 5101		AR_ARX AND ADMSK,		;PC+1 ADDRESS TO AR
U 1136, 1142,3610,2307,4000,0036,3610,0175	; 5102			VMA_VMA+1,STORE,ARX/MQ	;PUT PC AWAY, GET EFFECTIVE ADDR
						; 5103		FIN STORE,AR_ARX,
U 1142, 0001,0001,4003,0000,2016,3603,0000	; 5104			VMA_VMA+1,STORE,RETURN1	;PUT EA AWAY.
						; 5105	
						; 5106	=1010					;HERE TO SETUP NEW FLAGS
U 0232, 3133,0001,0000,0000,0000,0024,0020	; 5107	MUUOF:	SET FLAGS_AR,J/GTEEB1		;GO GET ECL EBUS
U 0233, 0232,4001,0000,0000,0000,0110,0400	; 5108		AR0-8_#,#/400,J/MUUOF		;PREV CTXT SUPERVISOR
U 0236, 0232,4001,0000,0000,0000,0110,0004	; 5109		AR0-8_#,#/004,J/MUUOF		;  USER/CONCEALED
U 0237, 0232,0001,0000,0000,0000,0110,0404	; 5110		AR0-8_#,#/404,J/MUUOF		;  USER/PUBLIC
						; 5111	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 16
; SKPJMP.MIC[4,24]	11:57 29-May-86			JSYS, ADJSP, XCT, PXCT					

						; 5112	.TOC	"JSYS, ADJSP, XCT, PXCT"
						; 5113	
						; 5114		.DCODE
D 0104, 2000,1002				; 5115	104:	EA,		J/UUO		;JSYS
D 0105, 0000,1000				; 5116		I,		J/ADJSP		;ADJSP [431]
						; 5117		.UCODE
						; 5118	
						; 5119	;
						; 5120	;	ADJSP has been completely rewritten to start the I FETCH
						; 5121	;	quicker in all cases.  [431]
						; 5122	;
						; 5123	1000:					;Must adjoin JSYS (UUO)
U 1000, 1146,4041,0200,0000,3000,0610,0004	; 5124	ADJSP:	ARL_ARR,ARR_ARR,ARX_1,TIME/2T	;Gen adjustment for short stack
						; 5125		AC0,STACK UPDATE,GEN ARX-1,	;Short stack enables CRY18; thus
U 1146, 1154,1711,0000,0000,0257,5420,0000	; 5126		    SKP CRY0,I FETCH		; skip on long pointer
						; 5127	=0	AR_AR+FM[AC0],INH CRY18,	;Short pointer. Adjust both halves
U 1154, 1164,0600,2000,4000,0020,4511,0000	; 5128		    SKP AR0,J/ADJPDL		; and set for proper overflow test
U 1155, 1151,5441,0000,0000,0020,0616,0002	; 5129		ARL_SIGN,ARR_ARR		;Long pointer. Sign extend E
U 1151, 0015,0600,2000,4000,0020,0010,0000	; 5130		AR_AR+FM[AC0],J/STAC		;Adjust and store
						; 5131	;
						; 5132	=0
						; 5133	ADJPDL:	GEN AR*AC0,AD/ANDCA,SKP AD0,	;Positive adjustment. Test for
U 1164, 1174,3000,0000,4000,0020,5510,0000	; 5134		    J/ADJTRP			; - to + change
U 1165, 1174,3500,0000,4000,0020,5510,0000	; 5135		GEN AR*AC0,AD/ANDCB,SKP AD0	;Negative. Look for + to - change
						; 5136	=0
U 1174, 0140,4001,0000,0403,0002,1006,0000	; 5137	ADJTRP:	AC0_AR,NXT INSTR		;No overflow. All done
U 1175, 0015,0001,0000,0000,0002,1110,0040	; 5138		FETCH WAIT,TRAP2,J/STAC		;Overflow. Set trap; don't lose PF
						; 5139	
						; 5140		.DCODE
D 0256, 4000,1310				; 5141	256:	R,		J/XCT		;XCT--257 is MAP
						; 5142		.UCODE
						; 5143	
						; 5144	1310:					;Must be near MAP
U 1310, 1224,0001,0000,0000,0000,7010,0000	; 5145	XCT:	SKP INTRPT			;CHECK FOR XCT . LOOP
U 1224, 1234,4001,0000,0000,0000,6210,0000	; 5146	=0	SKP USER,J/PXCT			;HERE ON XCT, NO INTERRUPT
U 1225, 0144,0001,0000,0000,0000,7710,0000	; 5147		TAKE INTRPT			;GET OUT OF LONG XCT CHAIN
						; 5148	=0
U 1234, 1235,4001,0000,0000,0000,1510,0020	; 5149	PXCT:	SET PXCT			;SETUP PXCT CONTROLS FROM 9-12
U 1235, 0152,3703,0200,0000,0000,1410,0000	; 5150	UXCT:	ARX_AR (AD),LOAD IR,#/0,J/XCTGO	;COPY INSTR TO ARX, IR
						; 5151	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; SHIFT.MIC[4,24]	16:52 3-Apr-86			Rotate and Logical Shift -- LSH, ROT			

						; 5152	.TOC	"Rotate and Logical Shift -- LSH, ROT"
						; 5153	
						; 5154		.DCODE
D 0240, 0001,1414				; 5155	240:	I,		J/ASH		;ASH [423]
D 0241, 0000,1415				; 5156		I,		J/ROT		;ROT
D 0242, 0001,1412				; 5157		I,		J/LSH		;LSH
D 0243, 0000,1413				; 5158		I,		J/JFFO		;JFFO
D 0244, 0000,1416				; 5159		I,		J/ASHC		;ASHC [423]
D 0245, 0001,1417				; 5160		I,		J/ROTC		;ROTC
D 0246, 0001,1004				; 5161		I,		J/LSHC		;LSHC--Adjoins UUO (247)
						; 5162		.UCODE
						; 5163	;
						; 5164	;	Single word Logical SHift.  If |count| > 36, we just zero AC0.
						; 5165	;
						; 5166	1412:					;[413] Must adjoin JFFO
U 1412, 1250,3240,2000,0002,0237,4413,0000	; 5167	LSH:	AR_AC0,SC_EA,SKP AR18,I FETCH	;Get count, data, shift direction
U 1250, 0014,3441,0200,0000,0000,0010,0000	; 5168	=0	ARX_0S,J/SHFLOD			;Left. Zeros come in from right
						; 5169		ARX_AR,AR_0S,SC_#+SC,#/36.,	;Right. Swap data to right, adjust
U 1251, 0014,3441,2400,2302,1020,5110,0044	; 5170		    SKP SCAD0,J/SHFLOD		; count, and shift if needed
						; 5171	;
						; 5172	;	Single word ROTate.  We must always do the shift (even if the count
						; 5173	;	is ridiculously huge), so we cannot have an I FETCH pending if we
						; 5174	;	must normalize the count.  Still, we can optimize if -37 < count
						; 5175	;	< 36. [413]
						; 5176	;
						; 5177	1415:					;Must adjoin ASH
						; 5178	ROT:	AR_AC0,ARX/AD,SC_EA,SKP AR18,	;Get data and count. Left or right
U 1415, 1254,3240,2200,0002,0237,4413,0000	; 5179		    I FETCH			; rotation?
						; 5180	=0	AR_SHIFT,SC_#+SC,#/-36.,	;Left rotation. Try to do it, and
U 1254, 1324,4001,4000,2302,0020,5110,0734	; 5181		    SKP SCAD0,J/ROTL		; test range
U 1255, 1270,0001,0000,2302,0020,5110,0044	; 5182		SC_#+SC,#/36.,SKP SCAD0		;Right rotation. In range?
U 1270, 0015,4001,4000,0000,0000,0010,0000	; 5183	=0	AR_SHIFT,J/STAC			;[417] Yes. Shift and store
						; 5184		FETCH WAIT,SC_#+SC,#/36.,	;No. Force next instruction into
U 1271, 1274,0001,0000,2302,0022,5110,0044	; 5185		    SKP SCAD0			; ARX and try to normalize count
						; 5186	=0
U 1274, 1156,3703,0210,0000,2000,0010,0000	; 5187	RTRLUP:	MQ_ARX,ARX_AR (AD),J/ROTDUN	;[417] OK. Save inst, restore data
U 1275, 1274,4001,0000,2302,0020,5110,0044	; 5188		SC_#+SC,#/36.,SKP SCAD0,J/RTRLUP;Loop until count in range
						; 5189	;
						; 5190	=0					;Left rotation
						; 5191	ROTL:	FETCH WAIT,SC_#+SC,#/-36.,	;Count too big. Wait for I FETCH
U 1324, 1334,0001,0000,2302,0022,5110,0734	; 5192		    SKP SCAD0,J/RTLLUP		; and normalize count
U 1325, 0140,4001,0000,0403,0002,1006,0000	; 5193		AC0_AR,NXT INSTR		;Count OK. Done!
						; 5194	=0
U 1334, 1334,4001,0000,2302,0020,5110,0734	; 5195	RTLLUP:	SC_#+SC,#/-36.,SKP SCAD0,J/RTLLUP;Keep normalizing until in range
U 1335, 1156,3703,0210,2302,2000,0010,0044	; 5196		MQ_ARX,ARX_AR (AD),SC_#+SC,#/36.;Keep inst, restore data and count
U 1156, 0015,4001,4300,0000,0000,0010,0000	; 5197	ROTDUN:	AR_SHIFT,ARX/MQ,J/STAC		;[417] Shift, snarf inst, and store
						; 5198	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; SHIFT.MIC[4,24]	16:52 3-Apr-86			Rotate and Logical Shift Combined (ROTC, LSHC)		

						; 5199	.TOC	"Rotate and Logical Shift Combined (ROTC, LSHC)"
						; 5200	
						; 5201	;
						; 5202	;	ROTate Combined--Normalize the count first, then do rotation.
						; 5203	;
						; 5204	1417:					;Next to ASHC
						; 5205	ROTC:	ARX_AC1,SC_EA,FE_#,#/-36.,	;Get low word
U 1417, 1354,3200,0201,0303,0020,4413,0734	; 5206		    SKP AR18			; Which way do we rotate?
						; 5207	=0	AR_AC0,MQ_AC0,FE_FE+SC,		;Left. Put high word in both low
U 1354, 0426,3240,2010,2001,0020,0734,0003	; 5208		    BYTE DISP,TIME/3T,J/ROTCL	; and high words. Test count range
						; 5209		AR_ARX,MQ_ARX,ARX_AC0,SC_#+SC,	;Right. Put low word in both places,
U 1355, 1364,3240,4210,2302,2040,5110,0044	; 5210		    #/36.,SKP SCAD0		; force count into range
						; 5211	=0
						; 5212	ROTCR:	MQ_SHIFT,AR_ARX (AD),ARX/MQ,	;Count all set. Generate left word,
U 1364, 1162,3713,2310,0000,0217,0010,0000	; 5213		    I FETCH,J/DSHIFT		; set up for right word
						; 5214		AR_ARX,MQ_ARX,ARX/MQ,SC_#+SC,	;Not yet in range. Swap shift words
U 1365, 1364,0001,4310,2302,2020,5110,0044	; 5215		    #/36.,SKP SCAD0,J/ROTCR	; and keep forcing count up
						; 5216	;
						; 5217	=110
						; 5218	ROTCL:	AR_ARX,MQ_ARX,ARX_AR (AD),SC_FE,;Long left. Swap shift words, keep
U 0426, 0426,3703,4210,5031,2020,5113,0044	; 5219		    FE_FE-#,#/36.,SKP SCAD0,J/ROTCL; adjusted count, and test again
						; 5220		MQ_SHIFT,AR_ARX (AD),ARX/MQ,	;Count now in range. Shift left
U 0427, 1162,3713,2310,0000,0217,0010,0000	; 5221		    I FETCH,J/DSHIFT		; half and set for right half
						; 5222	;
						; 5223	;	Logical SHift Combined.  Normalize the count before we do
						; 5224	;	any shifting.  This is very similar to ROTC.
						; 5225	;
						; 5226	1004:					;Must adjoin UUO (247)
U 1004, 1460,3240,0201,0002,0021,4413,0130	; 5227	LSHC:	ARX_AC1,AR+MQ_0.M,SC_EA,SKP AR18;Get low word. Left or right?
						; 5228	=0	AR_AC0,FE_#+SC,#/-36.,		;Left. Get high word; test count
U 1460, 1570,3200,2000,2301,0040,5110,0734	; 5229		    SKP SCAD0,J/CLEFT		; range
						; 5230		MQ_ARX,ARX_AC0,SC_#+SC,#/36.,	;Right. Shuffle data; try to force
U 1461, 1534,3200,0210,2302,2040,5110,0044	; 5231		    SKP SCAD0			; shift count into 0-35 range
						; 5232	=0
						; 5233	CRIGHT:	MQ_SHIFT,AR_ARX (AD),ARX/MQ,	;Count OK. Generate left word
U 1534, 1162,3713,2310,0000,0217,0010,0000	; 5234		    I FETCH,J/DSHIFT		; and set up for right word
						; 5235		MQ_ARX,ARX_AR (AD),SC_#+SC,	;Long shift. Adjust one word to
U 1535, 1534,3703,0210,2302,2020,5110,0044	; 5236		    #/36.,SKP SCAD0,J/CRIGHT	; right and loop again
						; 5237	;
						; 5238	=0
						; 5239	CLEFT:	AR_ARX,ARX_0S,SC_FE,FE_FE-#,	;Long left shift. Adjust one word
U 1570, 1570,3401,4200,5031,2020,5113,0044	; 5240		    #/36.,SKP SCAD0,J/CLEFT	; left, force count into range
						; 5241		MQ_SHIFT,AR_ARX (AD),ARX/MQ,	;Count set. Shift left word and set
U 1571, 1162,3713,2310,0000,0217,0010,0000	; 5242		    I FETCH			; for right half shift
U 1162, 0226,0001,4300,0000,0000,0010,0000	; 5243	DSHIFT:	AR_SHIFT,ARX/MQ,J/DLOAD		;Shift right word, store, and exit
						; 5244	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3
; SHIFT.MIC[4,24]	16:52 3-Apr-86			Arithmetic Shifts (ASH, ASHC) and JFFO			

						; 5245	.TOC	"Arithmetic Shifts (ASH, ASHC) and JFFO"
						; 5246	
						; 5247	;
						; 5248	;	[423] ASH completely rewritten for speed.
						; 5249	;
						; 5250	1414:					;[413] Must adjoin ROT
						; 5251	ASH:	AR_AC0,ARL/AD,MQ_0.M,SC_EA,	;ASH. Fetch count and data, test
U 1414, 1572,3240,2000,0002,0221,4413,0102	; 5252		    VMA/PC+1,SKP AR18		; left/right, set VMA for NICOND
						; 5253	=0	ARX_AR,AR_SIGN,SC_#+SC,#/1,	;Left. Set up to examine bits
U 1572, 1166,5441,2400,2302,1020,0016,0001	; 5254		    J/ASHL			; shifted out
						; 5255		ARX_AR,AR_SIGN,SC_#+SC,#/36.,	;Right. Adjust count and set up
U 1573, 0014,5441,2400,2302,1037,5116,0044	; 5256		    SKP SCAD0,FETCH,J/SHFLOD	; to shift in sign bits
						; 5257	;
						; 5258	ASHL:	BR/AR,MQ_SHIFT,AR_ARX (AD),	;MQ_bits shifted out, BR_sign bits
U 1166, 1574,3713,2350,2300,0020,5110,0733	; 5259		    ARX/MQ,GEN #+SC,#/-37.,SKP SCAD0; Set for shift. Is count huge?
U 1574, 1575,3102,0010,0000,0000,0710,0003	; 5260	=0	MQ_AR XOR BR			;Yes. Force overflow unless 0 data
						; 5261		ARX_SHIFT,SC_#,#/35.,		;Shift all but sign bit. Was
U 1575, 1620,3122,0400,0302,0237,5610,0043	; 5262		    SKP MQ NE BR,I FETCH	; significant data shifted out?
U 1620, 0014,3242,2000,0000,0000,0010,0000	; 5263	=0	AR_BR,J/SHFLOD			;No. Set to shift in sign and store
U 1621, 0014,3242,2000,0000,0000,1110,0420	; 5264		SET AROV,AR_BR,J/SHFLOD		;Yes. Set overflow and sign shift
						; 5265	;
						; 5266	;	Arithmetic SHift Combined.  This has been left alone due to its
						; 5267	;	low execution frequency.
						; 5268	;
						; 5269	1416:					;[415] Must adjoin ROTC
U 1416, 1624,3240,5001,0002,0020,4413,0000	; 5270	ASHC:	SC_EA,SKP AR18,AR_AC1*2		;Set up shift count, get low word
U 1624, 1634,3200,2400,2400,1040,5210,0000	; 5271	=0	ARX_AR,AR_AC0,SKP SC NE,J/ASHL1	;[423] Left shift. Check for null
						; 5272		ARX_AR,AR_AC0,SC_#+SC,#/36.,	;HERE IF RIGHT SHIFT
U 1625, 1630,3240,2400,2302,1040,5110,0044	; 5273		    SKP SCAD0			;CHECK FOR LONG ONE
						; 5274	=0
U 1630, 1171,5401,2440,0000,0020,0016,0000	; 5275	ASHR1:	BR/AR,ARX_SHIFT,AR_SIGN,J/ASHR2	;LOW OUTPUT TO ARX
						; 5276		ARX_AR,AR_SIGN,SC_#+SC,#/36.,	;HERE IF SHIFT COUNT .GT. 36
U 1631, 1630,5401,2400,2302,1020,5116,0044	; 5277		    SKP SCAD0,J/ASHR1		; Count it down to reasonable
						; 5278	
U 1171, 1222,3202,0220,0000,0000,0010,0000	; 5279	ASHR2:	BRX/ARX,ARX_BR,J/ASHX		;[423] HIGH INPUT TO ARX
						; 5280	;
						; 5281	;	[423] Here for left double arithmetic shift.
						; 5282	;
						; 5283	=0
U 1634, 0217,4001,0000,0000,0217,0010,0000	; 5284	ASHL1:	I FETCH,J/NOP			;SHIFT 0 IS A NOP
U 1635, 1176,5441,2060,0000,0020,0016,0000	; 5285		BR_AR LONG,AR_SIGN		;SAVE INPUT, GEN SIGN WORD
U 1176, 0124,3241,2640,0000,0000,0010,0000	; 5286		BR/AR,AR_BR*2 LONG		;SAVE SIGN, GET MAGNITUDE BITS
						; 5287	=0*
						; 5288	ASHL2:	BRX/ARX,ARX_AR,AR_BR,		;HI IN TO ARX, LOW TO BRX
U 0124, 2604,3242,2420,0000,1000,0050,0000	; 5289		    CALL,J/SHIFT		;CALL SHIFTER TO GET BITS LOST
U 0126, 1642,3102,0000,0000,0020,5610,0000	; 5290		SKP AR NE BR			;ANY BITS DIFFERENT FROM SIGN?
						; 5291	=0
						; 5292	ASHL3:	AR_ARX,ARX_BRX,GEN #+SC,#/-36.,	;RESTORE HI TO AR, LOW TO ARX
U 1642, 1650,3202,4600,2300,2020,5110,0734	; 5293		    SKP SCAD0,J/ASHL4
U 1643, 1642,0001,0000,0000,0000,1110,0420	; 5294		SET AROV,J/ASHL3		;BITS SHIFTED OUT NE SIGN
						; 5295	=0
						; 5296	ASHL4:	AR_ARX,ARX_0S,SC_#+SC,#/-36.,	;HERE IF E .GT. 36
U 1650, 0124,3401,4200,2302,2000,0010,0734	; 5297		    J/ASHL2			;SHIFT 36 PLACES, TRY AGAIN
						; 5298		MQ_SHIFT,AR_BRX,CLR ARX,	;HIGH OUTPUT TO MQ,
U 1651, 1203,3202,6010,2302,0000,0510,0777	; 5299		    SC_#+SC,#/-1		;COMPENSATE FOR EXTRA SHIFT
U 1203, 1216,4001,0400,0000,0000,0010,0000	; 5300		ARX_SHIFT			;LOW OUTPUT TO ARX
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3-1
; SHIFT.MIC[4,24]	16:52 3-Apr-86			Arithmetic Shifts (ASH, ASHC) and JFFO			

U 1216, 1222,3202,2320,0302,0000,0010,0043	; 5301		AR_BR,BRX/ARX,ARX/MQ,SC_#,#/35.	;SIGN TO AR, HIGH OUT TO ARX
						; 5302	ASHX:	AR_SHIFT,ARX_BRX,SC_#,#/35.,	;[423] Generate high word and
U 1222, 0011,3242,4600,0302,0000,0010,0043	; 5303		    J/ST2AC			; set up low for finish
						; 5304	;
						; 5305	;	Jump if Find First One (!)--This is implemented by first finding
						; 5306	;	the group of six bits which contains the first one, and then
						; 5307	;	isolating the actual bit.  The bit isolation has been rewritten
						; 5308	;	to speed up the slower cases (actually, the faster cases were
						; 5309	;	helped a bit, too).  [432]
						; 5310	;
						; 5311	1413:					;Must be near LSH
U 1413, 1652,3200,2000,0302,0020,5610,0006	; 5312	JFFO:	SC_#,#/6,AR_AC0,SKP AD NZ	;JFFO! Any bits set at all?
U 1652, 0217,4001,0001,0000,0217,1010,0000	; 5313	=0	AC1_AR,I FETCH,J/NOP		;AC was zero, no jump
						; 5314		ARX+MQ_0.M,FE_P,SKP SCAD NZ,	;Test first 6 bits
U 1653, 1654,0001,4000,0101,0021,5210,0144	; 5315			AR_SHIFT,ARL/SH		; and discard them
						; 5316	=0
						; 5317	JFGRUP:	AR_SHIFT,FE_P,SKP SCAD NZ,	;[432] Loop through six bit groups
U 1654, 1654,1701,4600,0101,0020,5210,0000	; 5318		    ARX_ARX-1,J/JFGRUP		; until we find a one bit
						; 5319	;
						; 5320	;	We now have the negative of the group number in ARX.  Convert this
						; 5321	;	to a bit number, and test the FE in two bit groups to find which
						; 5322	;	bit we hit on.
						; 5323	;
						; 5324		ARX_ARX*-6,GEN FE AND #,#/60,	;Convert group to bit number
U 1655, 1670,5103,0500,7030,0020,5210,0060	; 5325		    SKP SCAD NZ			; Is one in first two bits?
						; 5326	=0	BRX/ARX,ARX_2+MQ0,GEN FE AND #,	;No. Must add at least 2 to group
U 1670, 1672,4041,0520,7030,0020,5210,0014	; 5327		    #/14,SKP SCAD NZ,J/JFBITS	; count. Is one in second two bits?
						; 5328		BRX/ARX,ARX_0S,GEN FE AND #,#/40,;Yes. Set up 0 and test bit 0 in
U 1671, 1710,3441,0220,7030,0037,5210,0040	; 5329		    SKP SCAD NZ,FETCH,J/LOWBIT	; group
						; 5330	;
						; 5331	=0
						; 5332	JFBITS:	ARX_ARX*2,GEN FE AND #,#/2,	;Must be in third two bits. Set up
U 1672, 1710,3721,0500,7030,0037,5210,0002	; 5333		    SKP SCAD NZ,FETCH,J/LOWBIT	; 4 and test bit 4 in group
						; 5334		GEN FE AND #,#/10,SKP SCAD NZ,	;In second two bits; leave bit
U 1673, 1710,0001,0000,7030,0037,5210,0010	; 5335		    FETCH			; number at 2. Is bit 2 set?
						; 5336	=0
U 1710, 0136,4622,6000,0000,0000,0010,0000	; 5337	LOWBIT:	AR_ARX+BRX+1,TIME/2T,J/STAC1	;No, so low bit is. Add 1 to bit #
U 1711, 0136,0602,6000,0000,0000,0010,0000	; 5338		AR_ARX+BRX,TIME/2T,J/STAC1	;Yes. Add group+bit number in group
						; 5339	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; ARITH.MIC[4,24]	16:07 19-Mar-86			ADD, SUB						

						; 5340	.TOC	"ADD, SUB"
						; 5341	
						; 5342		.DCODE
D 0270, 5500,1014				; 5343	270:	R-PF,	AC,	J/ADD		;ADD
D 0271, 1501,1014				; 5344		I-PF,	AC,	J/ADD		;ADDI
D 0272, 7601,1014				; 5345		RPW,	M,	J/ADD		;ADDM
D 0273, 7700,1014				; 5346		RPW,	B,	J/ADD		;ADDB
						; 5347		.UCODE
						; 5348	
						; 5349	=0****00****
U 1014, 0010,0600,2000,4000,0025,1333,0000	; 5350	ADD:	AR_AR*AC0,AD/A+B,AD FLAGS,EXIT
						; 5351	=
						; 5352	
						; 5353	
						; 5354		.DCODE
D 0274, 5500,1115				; 5355	274:	R-PF,	AC,	J/SUB		;SUB
D 0275, 1501,1115				; 5356		I-PF,	AC,	J/SUB		;SUBI
D 0276, 7601,1115				; 5357		RPW,	M,	J/SUB		;SUBM
D 0277, 7700,1115				; 5358		RPW,	B,	J/SUB		;SUBB
						; 5359		.UCODE
						; 5360	
						; 5361	=0****00****
U 1115, 1226,3240,2040,0000,0020,0010,0000	; 5362	SUB:	AR_AC0,BR/AR
U 1226, 0010,5102,2004,0000,0025,1333,0000	; 5363	=	AR_AR-BR,AD FLAGS,EXIT
						; 5364	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; ARITH.MIC[4,24]	16:07 19-Mar-86			MUL, IMUL						

						; 5365	.TOC	"MUL, IMUL"
						; 5366	
						; 5367		.DCODE
D 0220, 4501,0510				; 5368	220:	R,	AC,	J/IMUL		;IMUL
D 0221, 0500,0510				; 5369		I,	AC,	J/IMUL		;IMULI [416]
D 0222, 6600,0513				; 5370		RW,	M,	J/IMULM		;IMULM [424]
D 0223, 6701,0513				; 5371		RW,	B,	J/IMULM		;IMULB [424]
						; 5372		.UCODE
						; 5373	;
						; 5374	;	In days of old when knights were bold and PDP-10s were alive and
						; 5375	;	kicking, someone decided to try to optimize IMULtIplication of a
						; 5376	;	positive number by a positive number.  That attempt failed because
						; 5377	;	the code necessary to test for overflow in the general case becomes
						; 5378	;	complex enough to cost much of the time saved by shortening the
						; 5379	;	multiplication loop.  We are now improving on the original idea a
						; 5380	;	bit by optimizing all IMUL(I)s of a positive by a positive, as long
						; 5381	;	as we can quickly guarantee that no overflow will occur.  This
						; 5382	;	requires that the high order 19 bits of the multiplier and the
						; 5383	;	high order 18 bits of the multiplicand be zero.  [416][424]
						; 5384	;
						; 5385	=0****00**00
						; 5386	IMUL:	MQ_AR,ARX_AC0,SC_#,#/18.,	;MQ_multiplier, ARX_multiplicand
U 0510, 0512,3240,0210,0303,1020,4410,0022	; 5387		    FE/SCAD,SKP AR18		; Too much multiplier?
U 0512, 1232,0001,4000,3002,0000,0610,0000	; 5388	=10	ARL_ARL,ARR_SHIFT,SC_FE-1,J/IMFAST;Maybe not. Test further, set SC
U 0513, 0463,3200,2010,3401,1020,0510,0000	; 5389	IMULM:	MQ_AR,AR_AC0,CLR ARX,FE_-1,J/IMLONG;[424] Yes, or IMULM/B. No opt
						; 5390	=
						; 5391	;
						; 5392	IMFAST:	AR_ARX,ARL/SH,ARX_0.M,FE_-1,	;Finish setup (FE to force MUL DISP
U 1232, 0462,3701,4000,3401,2021,5610,0044	; 5393		    SKP AR NZ			; to work.) Can we optimize?
						; 5394	=010	BR_AR LONG,AR_0S,FE_#,#/-8,	;Yes. Set for truncated loop and
U 0462, 0540,3401,2070,0301,0000,0070,0770	; 5395		    MUL DISP,CALL [MULP]	; start (note that SC has 17.)
						; 5396	IMLONG:	BR_AR LONG,AR_0S,FE_#,#/-17.,	;No. Do the full loop, starting
U 0463, 0540,3401,2070,0301,0000,0070,0757	; 5397		    MUL DISP,CALL [MULP]	; here
U 0466, 0216,4001,4000,0000,0217,0010,0000	; 5398		AR_SHIFT,I FETCH,J/STORAC	;[424] Short IMUL(I). Load AC
U 0467, 1712,0001,0000,0302,0040,5616,0043	; 5399		SC_#,#/35.,SKP AR SIG		;Long IMULx. Did we overflow?
						; 5400	=0
U 1712, 0016,0001,4000,0000,0005,0033,0000	; 5401	IMDONE:	AR_SHIFT,B WRITE,J/ST6		;[424] No. Just store product
U 1713, 1712,5401,2000,0000,0020,1116,0420	; 5402		SET AROV,AR_SIGN,J/IMDONE	;Yes. Set overflow, force good sign
						; 5403	
						; 5404	
						; 5405		.DCODE
D 0224, 4101,0710				; 5406	224:	R,	DBL AC,	J/MUL		;MUL
D 0225, 0100,0710				; 5407		I,	DBL AC,	J/MUL		;MULI
D 0226, 6601,0710				; 5408		RW,	M,	J/MUL		;MULM
D 0227, 6200,0710				; 5409		RW,	DBL B,	J/MUL		;MULB
						; 5410		.UCODE
						; 5411	
						; 5412	=0****00*000
						; 5413	MUL:	MQ_AR,CLR ARX,AR_AC0,		;MULTIPLIER TO MQ. Set multiplicand
U 0710, 1236,3200,2010,0301,1020,0550,0756	; 5414		    FE_#,#/-18.,CALL,J/MULSUB	; and step count. Call subroutine
						; 5415	=100	SC_#,#/35.,GEN AR*BR,AD/AND,	;[421] M'IER NEG, CHECK M'CAND
U 0714, 0716,3602,0000,0302,0020,5510,0043	; 5416		    SKP AD0			; and product
U 0716, 0010,4001,0000,0302,0005,0033,0043	; 5417	=110	SC_#,#/35.,EXIT			;STORE DOUBLE RESULT
U 0717, 0010,4001,0000,0000,0005,1133,0420	; 5418		SET AROV,EXIT			;[421] MUST HAVE SQUARED 400000,,0
						; 5419	=
						; 5420	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3
; ARITH.MIC[4,24]	16:07 19-Mar-86			MULTIPLY SUBROUTINE					

						; 5421	.TOC	"MULTIPLY SUBROUTINE"
						; 5422	; ENTER WITH MULTIPLIER IN MQ,
						; 5423	; MULTIPLICAND IN AR!ARX, MINUS STEP COUNT IN FE
						; 5424	; RETURNS PRODUCT IN AR!ARX!MQ.
						; 5425	; RETURN 4, 6 TELLS SIGN OF MULTIPLIER
						; 5426	; 4 AND 6 ARE USED SO CALLER CAN IGNORE
						; 5427	; DIFFERENCE BY ALIGNMENT OF CALL LOC'N
						; 5428	;[TIME=4+2(-FE)+(# OF ARITH STEPS)] ... IF FE=-18, 40-58.
						; 5429	;
						; 5430	;Recall:
						; 5431	; MUL		"FE_FE+1,DISP/MUL,MQ/MQ*.25"
						; 5432	;
						; 5433	
						; 5434	MULSUB:	BR_AR LONG,AR_0S,ARX_0S,	;M'CAND TO BR LONG, CLEAR PROD
U 1236, 0540,3441,2270,4001,0000,0030,0000	; 5435			MUL,J/MULP		;START THE MULTIPLICATION
						; 5436	=000					;GRAB AN 8-WORD BLOCK
U 0540, 0006,3701,5500,2401,0000,0703,0001	; 5437	MULP:	(AR+ARX+MQ)*2,FE_SC,RETURN6	;XADDR MACHINE HAS
U 0541, 0006,3701,5500,2401,0000,0703,0001	; 5438		(AR+ARX+MQ)*2,FE_SC,RETURN6	; NO "CRA MUL DONE"
U 0542, 0006,3701,5500,2401,0000,0703,0001	; 5439		(AR+ARX+MQ)*2,FE_SC,RETURN6
U 0543, 0006,3701,5500,2401,0000,0703,0001	; 5440		(AR+ARX+MQ)*2,FE_SC,RETURN6	;DISCARD REDUNDANT SIGN BIT
						; 5441	
U 0544, 0540,3703,7710,4001,0000,0030,0000	; 5442		AR_AR*.25 LONG,MUL,J/MULP	;M'IER BITS 00 AFTER POS STEP
						; 5443		AR_(AR+BR)*.25,ARX/ADX*.25,	;01 AFTER +
U 0545, 0540,0602,7714,4001,0020,0030,0000	; 5444			MUL,J/MULP
						; 5445		AR_(AR-2BR)*.25,ARX/ADX*.25,	;10 AFTER +
U 0546, 0560,5101,7714,4001,0020,0030,0000	; 5446			MUL,J/MULM
						; 5447		AR_(AR-BR)*.25,ARX/ADX*.25,
U 0547, 0560,5102,7714,4001,0020,0030,0000	; 5448			MUL,J/MULM		;11 AFTER +
						; 5449	
						; 5450	=000					;ANOTHER 8-WORD BLOCK FOR
U 0560, 0004,3703,5500,2401,0000,0703,0001	; 5451	MULM:	(AR+ARX+MQ)*2,FE_SC,RETURN4	; AFTER SUBTRACTION STEPS
U 0561, 0004,3703,5500,2401,0000,0703,0001	; 5452		(AR+ARX+MQ)*2,FE_SC,RETURN4
U 0562, 0004,3703,5500,2401,0000,0703,0001	; 5453		(AR+ARX+MQ)*2,FE_SC,RETURN4
U 0563, 0004,3703,5500,2401,0000,0703,0001	; 5454		(AR+ARX+MQ)*2,FE_SC,RETURN4	;M'IER WAS NEGATIVE
						; 5455	
						; 5456		AR_(AR+BR)*.25,ARX/ADX*.25,	;M'IER BITS 00 AFTER NEG STEP
U 0564, 0540,0602,7714,4001,0020,0030,0000	; 5457			MUL,J/MULP
						; 5458		AR_(AR+2BR)*.25,ARX/ADX*.25,	;01 AFTER -
U 0565, 0540,0601,7714,4001,0020,0030,0000	; 5459			MUL,J/MULP
						; 5460		AR_(AR-BR)*.25,ARX/ADX*.25,	;10 AFTER -
U 0566, 0560,5102,7714,4001,0020,0030,0000	; 5461			MUL,J/MULM
U 0567, 0560,3701,7710,4001,0000,0030,0000	; 5462		AR_AR*.25 LONG,MUL,J/MULM	;11 AFTER -
						; 5463	
						; 5464	;HERE TO CONTINUE A LONG MULTIPLICATION
						; 5465	; WITH PARTIAL PRODUCT IN AR LONG
						; 5466	
U 1241, 0540,3441,0010,4001,0000,0030,0000	; 5467	MULREE:	AD/0S,MUL,J/MULP		;DIVE IN WITHOUT CLOBBERING AR
						; 5468	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4
; ARITH.MIC[4,24]	16:07 19-Mar-86			DIV, IDIV						

						; 5469	.TOC	"DIV, IDIV"
						; 5470	
						; 5471		.DCODE
D 0230, 4100,1102				; 5472	230:	R,	DBL AC,	J/IDIV		;IDIV
D 0231, 0101,1102				; 5473		I,	DBL AC,	J/IDIV		;IDIVI
D 0232, 6600,1102				; 5474		RW,	M,	J/IDIV		;IDIVM
D 0233, 6201,1102				; 5475		RW,	DBL B,	J/IDIV		;IDIVB
						; 5476	
D 0234, 4101,1100				; 5477	234:	R,	DBL AC,	J/DIV		;DIV
D 0235, 0100,1100				; 5478		I,	DBL AC,	J/DIV		;DIVI
D 0236, 6601,1100				; 5479		RW,	M,	J/DIV		;DIVM
D 0237, 6200,1100				; 5480		RW,	DBL B,	J/DIV		;DIVB
						; 5481		.UCODE
						; 5482	
						; 5483	=0****00*000
						; 5484	DIV:	BR/AR,AR_AC1*2,ARL/AD*2,	;DIVISOR TO BR, LOW DIVIDEND TO AR
U 1100, 1245,3240,5041,0000,0021,0050,0145	; 5485		    ARX+MQ_0.M,CALL.M,J/DIV1	;[422] GET HIGH DIVIDEND
						; 5486	=010					;[422]
						; 5487	IDIV:	BR/AR,ARR+MQ_0.S,ARX_AC0,ARL/AD,;[421] BR_divisor; fetch dividend
U 1102, 1714,3200,0240,4402,0020,5562,0112	; 5488		    SC_1,SKP AD0,CALL [IDIVGO]	; Isolate top half. Is it < 0?
U 1106, 0010,5162,6400,0302,1025,0033,0044	; 5489	=110	ARX_AR,AR_-BRX,SC_#,#/36.,EXIT	;Remainder to ARX, negate quotient
U 1107, 0010,3242,6400,0302,1005,0033,0044	; 5490		ARX_AR,AR_BRX,SC_#,#/36.,EXIT	;HERE FOR POS QUOTIENT
						; 5491	=		
						; 5492	
						; 5493	;HERE ON DIVIDE TO SET UP DIVIDEND
						; 5494	
						; 5495	DIV1:	BRX/ARX,ARX_AR,AR_AC0,		;CLR BRX, DIVIDEND IN AR LONG
						; 5496			FE_#,#/33.,TIME/3T,	;SETUP ITERATION COUNT
U 1245, 0374,3240,2420,0301,1020,0032,0041	; 5497			SIGNS DISP,J/DIVS1	;ENTER SUBR
						; 5498	;
						; 5499	;	Start of divide subroutine for IDIVx.  We will optimize the
						; 5500	;	division by taking only 19 (instead of 36) divide steps if the
						; 5501	;	top half of the absolute value of the dividend is zero.  Enter
						; 5502	;	skipping if the dividend is positive.  This routine will set
						; 5503	;	up for the division and go to DIVS1 (or DIVS2) to begin the
						; 5504	;	actual division.  The latter take care of the subroutine return.
						; 5505	;
						; 5506	=0
						; 5507	IDIVGO:	AR_ARX,ARX/MQ,FE_#,#/33.,	;Recover positive dividend, set
U 1714, 1732,3703,4300,0301,2020,5610,0041	; 5508		    SKP AR NZ,J/IDVOPT		; long step count. Can we optimize?
						; 5509		ARX_-AC0,ARR_0.M,ARL/AD,	;Negative dividend. Start building
U 1715, 1730,5140,0200,0301,0041,5510,0012	; 5510		    FE_#,#/12,SKP AD0		; step count.  Is it max neg?
						; 5511	=0	AR_ARX,ARX/MQ,FE_#,#/33.,	;No. Set long step count and
U 1730, 1732,3703,4300,0301,2020,5610,0041	; 5512		    SKP AR NZ,J/IDVOPT		; test for optimization
						; 5513		MQ_1,TIME/2T,ARX/MQ,FE_FE+#,#/27,;Yes. Set up for positive version
U 1731, 1733,4061,0310,2031,0000,0710,0027	; 5514		    AR CTL/0,EXP TST/0,J/IDVLNG	;and long count (avoid conflict) 
						; 5515	;
						; 5516	=0
						; 5517	IDVOPT:	BRX/ARX,AR_0S,ARX_AR SWAP,FE_#,	;Can optimize. Left adjust dividend
U 1732, 0374,3401,2420,0301,3020,0032,0020	; 5518		    #/16.,SIGNS DISP,J/DIVS1	; Set short divide count and go
						; 5519	IDVLNG:	BRX/ARX,AR_MQ,ARL/AD,ARX_SHIFT,	;Dividend too big. Kill sign bit,
U 1733, 0374,3721,2420,0000,0021,0032,0102	; 5520		    MQ_0.M,SIGNS DISP,J/DIVS1	; clear MQ, set AR (FE already 33.)
						; 5521	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5
; ARITH.MIC[4,24]	16:07 19-Mar-86			INTEGER DIVIDE SUBROUTINE				

						; 5522	.TOC	"INTEGER DIVIDE SUBROUTINE"
						; 5523	; ENTER WITH SIGNS DISPATCH OF DIVISOR AND DIVIDEND,
						; 5524	; DIVISOR IN BR, BRX CLR; DIVIDEND IN AR!ARX
						; 5525	; STEP COUNT IN FE (# OF QUOTIENT BITS -2)
						; 5526	; If no divide, check for the maximum negative number as a
						; 5527	; quotient, and force it if it is there; otherwise, just set
						; 5528	; no divide.  Exit the instruction in either case. [420]
						; 5529	; OTHERWISE, RETURN WITH SIGNED REMAINDER IN AR,
						; 5530	; POSITIVE QUOTIENT IN BRX AND MQ.
						; 5531	; RETURN 6 IF QUOTIENT SHOULD BE NEGATIVE,
						; 5532	; RETURN 7 IF QUOTIENT SHOULD BE POSITIVE.
						; 5533	;[TIME=14+3(FE)+3(D'END NEG)+3(RESTORE REQ'D)+1(REMAINDER NEG)]
						; 5534	; ... IF FE=33, 113-120
						; 5535	;
						; 5536	;Recall:
						; 5537	; DIVIDE	"FE_FE-1,DISP/DIV,MQ/MQ*2"
						; 5538	;
						; 5539	=1100
						; 5540	DIVS1:	DIVIDE,AR_2(AR-BR),
U 0374, 0442,5102,5504,3001,0020,0031,0000	; 5541			ARX/ADX*2,J/DIVS3	;BOTH D'END AND D'SOR POS
U 0375, 0374,5143,7700,0000,0020,0027,0000	; 5542		AR_-AR LONG,J/DIVS1		;MAKE POS DIVIDEND, THEN CHK
						; 5543	DIVS2:	DIVIDE,AR_2(AR+BR),
U 0376, 0522,0602,5504,3001,0020,0031,0000	; 5544			ARX/ADX*2,J/DIVS4	;D'END POS, D'SOR NEG
U 0377, 0376,5163,7700,0000,0020,0027,0000	; 5545		AR_-AR LONG,J/DIVS2
						; 5546	
						; 5547	=0010
						; 5548	DIVS3:	DIVIDE,AR_2(AR+BR),ARX/ADX*2,
U 0442, 0660,0602,5500,3001,0020,0071,0005	; 5549			ARL/AD*2,CALL.M,J/DIVLP	;START DIVIDING
						; 5550		AR_AR*.25 LONG,FE_#,#/40,	;[420] Possible overflow, but
U 0443, 1252,3701,7700,0301,0000,0050,0040	; 5551		    CALL [MAXDIV]		; might be -2**-35 quotient
U 0446, 0006,5162,2020,0000,0020,0003,0000	; 5552		AR_-BR,BRX/ARX,RETURN6		;D'END NEG, SO NEGATE QUO & REM
U 0447, 0007,0001,0020,0000,0000,0003,0000	; 5553		BRX/ARX,RETURN7			;EVERYTHING POSITIVE
U 0457, 0476,5112,0010,0000,0020,0710,0003	; 5554	=1111	MQ_ARX-BR			;Possible legal quotient. Check rem
						; 5555	=1110	SC_#,#/36.,GEN MQ*AC0,AD/ORC,	;and make sure dividend was negative
U 0476, 1750,2120,0000,0302,0020,5550,0044	; 5556		    SKP AD0,CALL [MAXCHK]	;with remainder < divisor
U 0477, 0010,5142,0600,0000,0025,0033,0000	; 5557		ARX_-BRX,EXIT			;Looks OK. Negate remainder
						; 5558	;
						; 5559	=0010
						; 5560	DIVS4:	DIVIDE,AR_2(AR-BR),ARX/ADX*2,
U 0522, 0660,5102,5504,3001,0020,0071,0005	; 5561			ARL/AD*2,CALL.M,J/DIVLP	;BEGIN DIVISION FOR REAL BITS
						; 5562		AR_AR*.25 LONG,FE_#,#/40,	;[420] Usually overflow, but might
U 0523, 1252,3701,7700,0301,0000,0050,0040	; 5563		    CALL [MAXDIV]		; be in range
U 0526, 0006,4001,0020,0000,0000,0003,0000	; 5564		BRX/ARX,RETURN6			;NEGATE QUO
U 0527, 0007,5142,2020,0000,0020,0003,0000	; 5565		AR_-BR,BRX/ARX,RETURN7		;NEGATE REM
U 0537, 0556,0612,0014,0000,0020,0710,0003	; 5566	=1111	MQ_ARX+BR			;Look at bottom of dividend (must
						; 5567	=1110	SC_#,#/36.,GEN MQ*AC0,AD/ORCA,	; < |divisor|); also original dividend
U 0556, 1750,2220,0000,0302,0020,5550,0044	; 5568		    SKP AD0,CALL [MAXCHK]	; must > 0
U 0557, 0010,4001,0000,0000,0005,0033,0000	; 5569		EXIT				;All conditions met. Force quotient
						; 5570	;
						; 5571	;	MAXDIV, MAXCHK--Helper subroutines to check for a quotient of
						; 5572	;	-2**35.  This copies the low dividend half to BRX, sets up the
						; 5573	;	quotient (in case we have to generate it) and tests the high
						; 5574	;	dividend half to see if the first DIVIDE step generated a zero
						; 5575	;	result.  If it did not, we have a true overflow and we exit
						; 5576	;	sideways; otherwise we return 17.  The latter portion is reused
						; 5577	;	for a subsequent test of the remainder.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5-1
; ARITH.MIC[4,24]	16:07 19-Mar-86			INTEGER DIVIDE SUBROUTINE				

						; 5578	;
						; 5579	MAXDIV:	BRX/ARX,P_FE,GEN AR*2 LONG,	;Set up quotient, save remainder
U 1252, 1750,0301,0020,0000,3041,5627,0200	; 5580		    SKP AD NZ			; Did first step generate a zero?
						; 5581	=0
U 1750, 0017,0001,0000,0000,0000,0003,0000	; 5582	MAXCHK:	RETURN17			;Yes. Look more closely
U 1751, 0217,0001,0000,0000,0217,1110,0424	; 5583		SET NO DIVIDE,I FETCH,J/NOP	;No. Must be a real overflow
						; 5584	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6
; ARITH.MIC[4,24]	16:07 19-Mar-86			BASIC DIVIDE LOOP					

						; 5585	.TOC	"BASIC DIVIDE LOOP"
						; 5586	; THE LOOP ITSELF IS AN INNER SUBROUTINE, TO MAKE IT SUITABLE
						; 5587	; FOR USE IN DOUBLE-LENGTH DIVISION.
						; 5588	; THE DOUBLE LENGTH REMAINDER IS RETURNED IN BR!BRX (RESTORED)
						; 5589	; THE SINGLE LENGTH QUOTIENT (LOW PART IF DBL-LEN DIVISION) IN ARX
						; 5590	; RETURN 6 IF QUOTIENT (REALLY AC0.XOR.BR) NEGATIVE, OR 7 IF POSITIVE
						; 5591	;[TIME=12+3(FE)+3(RESTORE REQ'D)] ... IF FE=33, 111-114.
						; 5592	
						; 5593	=000
U 0660, 0660,0602,5504,3001,0020,0031,0000	; 5594	DIVLP:	DIVIDE,AR_2(AR+BR),ARX/ADX*2,J/DIVLP
U 0661, 0660,5102,5500,3001,0020,0031,0000	; 5595		DIVIDE,AR_2(AR-BR),ARX/ADX*2,J/DIVLP
U 0662, 0660,5102,5500,3001,0020,0031,0000	; 5596	DIV-:	DIVIDE,AR_2(AR-BR),ARX/ADX*2,J/DIVLP
U 0663, 0660,0602,5504,3001,0020,0031,0000	; 5597	DIV+:	DIVIDE,AR_2(AR+BR),ARX/ADX*2,J/DIVLP
U 0664, 0724,0602,2604,3001,0020,0031,0000	; 5598		DIVIDE,AR_AR+BR,ARX/ADX,J/DIVX
U 0665, 0724,5102,2600,3001,0020,0031,0000	; 5599		DIVIDE,AR_AR-BR,ARX/ADX,J/DIVX
U 0666, 0724,5102,2600,3001,0020,0031,0000	; 5600		DIVIDE,AR_AR-BR,ARX/ADX,J/DIVX		;NO SHIFT ON FINAL STEP
U 0667, 0724,0602,2604,3001,0020,0031,0000	; 5601		DIVIDE,AR_AR+BR,ARX/ADX,J/DIVX
						; 5602	
						; 5603	;HERE AFTER FINAL DIVIDE STEP
						; 5604	; MQ HAS POSITIVE FORM QUOTIENT
						; 5605	; AR!ARX HAS REMAINDER, EXCEPT THAT IT MUST BE RESTORED IF IT IS
						; 5606	; NEGATIVE (IT'S NEGATIVE IF THERE WAS NO CARRY ON FINAL STEP)
						; 5607	; THE ORIGINAL DIVIDEND IS STILL IN AC0, SO WE CHECK ITS SIGN
						; 5608	; TO DETERMINE WHETHER TO NEGATE THE (RESTORED) REMAINDER.
						; 5609	
						; 5610	=100
U 0724, 0725,0602,2600,0000,0020,0027,0000	; 5611	DIVX:	AR_AR+BR LONG			;RESTORE REMAIN WITH POS D'SOR
						; 5612		BR_AR LONG,ARX/MQ,FE_SC,	;LONG REMAIN TO BR, QUO TO ARX
U 0725, 0006,2500,0360,2401,0020,5503,0000	; 5613			SKP AC0+,RETURN6	;RETURN TESTING D'END SIGN
U 0726, 0727,5102,2600,0000,0020,0027,0000	; 5614		AR_AR-BR LONG			;RESTORE REMAIN WITH NEG D'SOR
						; 5615		BR_AR LONG,ARX/MQ,FE_SC,
U 0727, 0006,3200,0360,2401,0020,5503,0000	; 5616			SKP AC0-,RETURN6
						; 5617	
						; 5618	
						; 5619	;SUBROUTINE FOR FIRST PART OF LONG DIVISIONS
						; 5620	; ENTER AT DDVSUB WITH SKP BR0
						; 5621	; RETURN3 IF SHOULD RESUME WITH ADD STEP
						; 5622	; RETURN5 IF SHOULD RESUME WITH SUBTRACT
						; 5623	
						; 5624	=000
U 0760, 0760,0602,5500,3001,0020,0031,0000	; 5625	DDVLP:	AR_2(AR+BR),ARX/ADX*2,DIVIDE,J/DDVLP
U 0761, 0760,5102,5504,3001,0020,0031,0000	; 5626		AR_2(AR-BR),ARX/ADX*2,DIVIDE,J/DDVLP
U 0762, 0760,5102,5504,3001,0020,0031,0000	; 5627	DDVSUB:	AR_2(AR-BR),ARX/ADX*2,DIVIDE,J/DDVLP
U 0763, 0760,0602,5500,3001,0020,0031,0000	; 5628		AR_2(AR+BR),ARX/ADX*2,DIVIDE,J/DDVLP
U 0764, 0003,3723,2010,0301,1000,0003,0040	; 5629		AR_MQ,MQ_AR,FE_#,#/32.,RETURN3
U 0765, 0005,3723,2010,0301,1000,0003,0040	; 5630		AR_MQ,MQ_AR,FE_#,#/32.,RETURN5
U 0766, 0005,3723,2010,0301,1000,0003,0040	; 5631		AR_MQ,MQ_AR,FE_#,#/32.,RETURN5
U 0767, 0003,3723,2010,0301,1000,0003,0040	; 5632		AR_MQ,MQ_AR,FE_#,#/32.,RETURN3
						; 5633	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 7
; ARITH.MIC[4,24]	16:07 19-Mar-86			DOUBLE INTEGER ARITHMETIC -- DADD, DSUB, DMUL, DDIV	

						; 5634	.TOC	"DOUBLE INTEGER ARITHMETIC -- DADD, DSUB, DMUL, DDIV"
						; 5635	
						; 5636		.DCODE
D 0114, 4001,1305				; 5637	114:	R,	B/0,	J/DASMD		;DADD
D 0115, 4200,1305				; 5638		R,	B/2,	J/DASMD		;DSUB
D 0116, 4400,1305				; 5639		R,	B/4,	J/DASMD		;DMUL
D 0117, 4000,1304				; 5640		R,		J/DDIV		;DDIV
						; 5641		.UCODE
						; 5642	
						; 5643	;HERE FOR DOUBLE WORD ADD, SUBTRACT, MULTIPLY, OR DIVIDE
						; 5644	;ENTER WITH (E) IN AR, E IN VMA
						; 5645	
						; 5646	=0****00**00
U 1304, 1332,3200,0205,0000,0020,0710,0003	; 5647	DDIV:	ARX_AC3,CLR MQ,J/DDIV0		;GET LOWEST PART OF D'END
						; 5648	
						; 5649	DASMD:	BR/AR,AR_AC1*2,ARL/AD*2,	;HIGH MEM WORD TO BR
						; 5650			VMA_VMA+1,LOAD ARX,	;ASK FOR LOW WORD
U 1305, 1045,3200,5041,0000,0033,3662,0105	; 5651			MQ_0.S,CALL.S,J/XFERW	;AND WAIT FOR IT
U 1307, 1256,3701,0500,0000,0000,0010,0000	; 5652	=11	ARX_ARX*2			;SHIFT LOW MEM WORD LEFT
						; 5653	=	BRX/ARX,ARX_AR,AR_AC0,		;ALL DATA IN PLACE
U 1256, 0450,3200,2420,0302,1020,0033,0043	; 5654			SC_#,#/35.,B DISP	;DO THE OPERATION
						; 5655	
						; 5656	;HERE WITH (E) IN BR, (E+1)*2 IN BRX
						; 5657	; (AC) IN AR, (AC+1)*2 IN ARX
						; 5658	
U 0450, 0011,0602,2604,0000,0020,1327,0000	; 5659	=00*	AR_AR+BR LONG,AD FLAGS,J/ST2AC	;[430] DADD
						; 5660	
U 0452, 0011,5102,2600,0000,0020,1327,0000	; 5661		AR_AR-BR LONG,AD FLAGS,J/ST2AC	;[430] DSUB
						; 5662	
						; 5663		MQ_SHIFT,AR_0S,ARX_0S,		;DMUL, USE AC1 AS INITIAL M'IER
U 0454, 0530,3441,2210,0301,0000,0010,0756	; 5664			FE_#,#/-18.,J/DMULT	;SETUP STEP COUNT
						; 5665	=
						; 5666	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 8
; ARITH.MIC[4,24]	16:07 19-Mar-86			DOUBLE INTEGER ARITHMETIC -- DADD, DSUB, DMUL, DDIV	

						; 5667	;HERE FOR DOUBLE WORD MULTIPLY
						; 5668	
						; 5669	=00*
U 0530, 0540,3401,0010,4001,0000,0070,0000	; 5670	DMULT:	AD/0S,MUL,CALL.M,J/MULP		;BEGIN MULTIPLY
U 0534, 0536,0602,2600,0000,0020,0027,0000	; 5671	=10*	AR_AR+BR LONG			;CANCEL EFFECTS OF LOW BIT 0
U 0536, 1262,3723,2010,0000,1000,0010,0000	; 5672		MQ_AR,AR_MQ			;EXCH HI AND LOW PRODUCT WORDS
						; 5673	
						; 5674	;HERE AFTER 1ST CALL ON MPY SUBR.  SAVE LOW WORD OF PROD, GET HIGH M'IER
						; 5675	
U 1262, 1264,4001,0005,0000,0000,1010,0000	; 5676		AC3_AR				;LOW WORD OF PRODUCT
U 1264, 1240,3200,2000,0000,0020,0010,0000	; 5677		AR_AC0				;GET HIGH M'IER WORD
						; 5678	=000	MQ_AR,AR_MQ,CALL,		;DIVE IN AGAIN
U 1240, 1241,3723,2010,0301,1000,0050,0756	; 5679			FE_#,#/-18.,J/MULREE	;CONTINUE THE MULTIPLY
U 1244, 1246,3602,0004,0000,0020,5510,0000	; 5680	=100	GEN AR*BR,AD/AND,SKP AD0	;SKP IF M'IER, M'CAND, & PROD NEG
						; 5681	=110
						; 5682	DMUL1:	AC0_AR,AR_SIGN,
U 1246, 1272,5441,2000,0302,0020,1016,0043	; 5683			SC_#,#/35.,J/DMUL2	;STORE HIGH WORD OF PRODUCT
U 1247, 1246,0001,0000,0000,0000,1110,0420	; 5684		SET AROV,J/DMUL1
						; 5685	
						; 5686	;MULTIPLY NOW COMPLETE, STORE RESULTS WITH PROPER SIGN IN BIT 0
						; 5687	
U 1272, 1276,0001,4040,0000,0000,0010,0000	; 5688	DMUL2:	BR/AR,AR_SHIFT			;GET 2ND WITH SIGN, SAVE SIGN
U 1276, 1306,0001,4301,0000,2000,1010,0000	; 5689		AC1_AR,AR_ARX,ARX/MQ		;READY TO BUILD 3RD WORD
U 1306, 1322,3202,2400,0000,0000,0012,0000	; 5690		ARX_SHIFT,AR_BR,MQ_MQ*2		;SIGNIFICANT BITS TO ARX, SIGN TO AR
						; 5691		AR_SHIFT,ARX_AC3,		;3RD WORD IN AR, GET LOW
U 1322, 1326,3200,4215,0000,0020,0012,0000	; 5692			MQ_MQ*.25		;EXTRA PROD BIT TO MQ 35
U 1326, 0470,3721,2004,0000,0000,1010,0000	; 5693		AC2_AR,AR_MQ			;,I FETCH WHEN TIMING FIXED
						; 5694	=0*	ARX_SHIFT,AR_BR,I FETCH,	;LOW WORD AND SIGN READY
U 0470, 2604,3202,2400,0000,0217,0050,0000	; 5695			CALL,J/SHIFT		; GET LOW WORD TO AR
U 0472, 0133,4001,0005,0000,0000,1010,0000	; 5696	STRAC3:	AC3_AR,FINISH			;GANZ GETAN
						; 5697	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 9
; ARITH.MIC[4,24]	16:07 19-Mar-86			DOUBLE INTEGER ARITHMETIC -- DADD, DSUB, DMUL, DDIV	

						; 5698	;HERE FOR DOUBLE INTEGER DIVISION
						; 5699	;AR HAS (E), ARX HAS (AC3), AND MQ IS CLEAR
						; 5700	
U 1332, 1336,3203,4507,4402,2000,1010,0166	; 5701	DDIV0:	T0_AR,AR_ARX,ARX_ARX*8,SC_1	;SAVE (E) IN T0
						; 5702		BRX/ARX,ARX_SHIFT,		;AC3 3-35 TO BRX, 1-2 TO ARX
U 1336, 1345,3200,2424,0302,0020,0010,0002	; 5703			AR_AC2,SC_#,#/2		;GET AC2 READY
						; 5704		AR_SHIFT,BR/AR,			;AC2 BITS 2-35 WITH AC3 1-2
U 1345, 1361,3200,4241,0000,0020,3610,0000	; 5705			ARX_AC1,VMA_VMA+1	;READY TO GET (E+1)
						; 5706		BR/AR,AR_ARX,ARX_BR*2,		;LOW DOUBLE WORD NOW IN BR LONG
U 1361, 1370,3201,4240,4403,2000,0010,0000	; 5707			SC_1,FE_1
U 1370, 1752,3240,2400,0000,0020,5510,0000	; 5708		ARX_SHIFT,AR_AC0,SKP AD0	;HIGH DOUBLEWORD IN AR LONG
						; 5709	=0
						; 5710	DDIV1:	BR_AR LONG,AR_BRX,ARX_BR,	;HI POS D'END TO BR
U 1752, 0774,3202,6260,0000,0012,0010,0000	; 5711			LOAD AR,J/DDIV2		;GET LOW D'SOR READY
						; 5712		BR_AR LONG,AR_-BR LONG,		;NEGATE LOW D'END
U 1753, 1754,5142,2660,3401,0040,5427,0000	; 5713			FE_-1,SKP CRY0		;TEST FOR CARRY PROPAGATION
U 1754, 1752,2502,2660,0000,0000,0010,0000	; 5714	=0	BR_AR LONG,AR_BR COMP LONG,J/DDIV1
U 1755, 1752,5162,2660,0000,0020,0027,0000	; 5715		BR_AR LONG,AR_-BR LONG,J/DDIV1	;FINISH NEGATION OF D'END
						; 5716	=0*
						; 5717	DDIV2:	T1_AR,MQ_ARX,ARX_0S,		;LOWEST D'END TO T1, NEXT TO MQ
U 0774, 1045,3441,0217,0000,2000,1050,0171	; 5718			CALL,J/XFERW		; WAIT FOR (E+1)
U 0776, 1760,3240,2407,0000,0040,5110,0166	; 5719		ARX_SHIFT,AR_T0,SKP FE0		;DIVISOR NOW IN AR LONG
						; 5720	=0	AR_BR LONG,BR_AR LONG,		;PUT OPERANDS IN PLACE FOR DIV
U 1760, 0573,3242,2660,0000,0020,0032,0000	; 5721			SIGNS DISP,J/DDIV3	;TEST D'SOR SIGN
						; 5722		AR_BR LONG,BR_AR LONG,SET SR2,	;NOTE D'END NEGATIVE
U 1761, 0573,3242,2660,0000,0020,1632,0062	; 5723			SIGNS DISP,J/DDIV3
						; 5724	
						; 5725	;HERE WITH THE DIVISOR IN BR LONG,
						; 5726	; THE HIGH PART OF THE MAGNITUDE OF THE DIVIDEND IN AR LONG,
						; 5727	; AND THE LOW PART OF THE MAGNITUDE OF THE DIVIDEND IN MQ AND T1
						; 5728	; SKIP IF DIVISOR NEGATIVE, & CHECK FOR NO-DIVIDE.
						; 5729	=1011
						; 5730	DDIV3:	AR_2(AR-BR),ARX/ADX*2,MQ_MQ*2,	;SEE IF FIRST DIVIDE STEP
U 0573, 1260,5102,5504,0000,0040,5412,0000	; 5731			SKP CRY0,J/DDIV4	; GENERATES A 1
U 0577, 1260,0602,5500,0000,0040,5412,0000	; 5732		AR_2(AR+BR),ARX/ADX*2,MQ_MQ*2,SKP CRY0
						; 5733	=000
U 1260, 0760,0001,0000,0301,0000,4250,0041	; 5734	DDIV4:	FE_#,#/33.,SKP BR0,CALL,J/DDVLP	;GO DO FIRST HALF OF DIVIDE
U 1261, 0217,0001,0000,0000,0217,1110,0424	; 5735		SET NO DIVIDE,I FETCH,J/NOP	;[422] TOO MANY QUOTIENT BITS
U 1263, 1401,0001,0001,0402,0000,1010,0000	; 5736	=011	AC1_AR,CLR SC,J/DDIV6		;SAVE HI QUOTIENT IN AC1
U 1265, 1401,0001,0001,3402,0000,1010,0000	; 5737	=101	AC1_AR,SC_1S			;SET FLAG FOR RESUMPTION
						; 5738	=
U 1401, 1344,3200,2007,0000,0020,0010,0171	; 5739	DDIV6:	AR_T1				;GET LOWEST DIVIDEND BITS
						; 5740	=100	MQ_AR,AR_MQ,CALL,		;FINISH DIVISION, GENERATING
U 1344, 0660,3723,2010,0000,1000,4750,0000	; 5741			SKP SC0,J/DIVLP		; 35 MORE QUOTIENT BITS
U 1346, 0635,3240,2001,0000,0020,1605,0061	; 5742	=110	AR_AC1,SR DISP,SET SR3,J/DDVX1	;QUOTIENT NEGATIVE.  NOTE
U 1347, 0635,3240,2001,0000,0020,0005,0000	; 5743		AR_AC1,SR DISP			;HERE'S HIGH PART OF QUOTIENT
						; 5744	=1101
U 0635, 1402,3202,2660,0000,0000,0010,0000	; 5745	DDVX1:	BR_AR LONG,AR_BR LONG,J/DDVX2	;POS REMAINDER.  GO STORE
U 0637, 1402,5162,2660,0000,0020,0027,0000	; 5746		BR_AR LONG,AR_-BR LONG,J/DDVX2	;NEGATE REMAINDER
U 1402, 1405,5401,2004,0302,0020,1016,0043	; 5747	DDVX2:	AC2_AR,AR_SIGN,SC_#,#/35.
U 1405, 0656,4001,4000,0000,0000,0005,0000	; 5748		AR_SHIFT,SR DISP		;GET LOW WORD OF REM. TEST QUO SIGN
U 0656, 0011,3202,2505,0000,0000,1010,0000	; 5749	=1110	AC3_AR,AR_BR,ARX/ADX*2,J/ST2AC	;[430] GET QUO, SQUEEZE OUT HOLE
						; 5750		AC3_AR,AR_-BR,ARX/ADX*2,AD LONG,;GET NEGATIVE QUOTIENT
U 0657, 0011,5162,2505,0000,0020,1027,0000	; 5751		    J/ST2AC			;[430]
						; 5752	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; FP.MIC[4,24]	15:33 8-Feb-86				SINGLE FLOATING ADD & SUB -- FAD, FADR, FSB, FSBR	

						; 5753	.TOC	"SINGLE FLOATING ADD & SUB -- FAD, FADR, FSB, FSBR"
						; 5754	
						; 5755		.DCODE
						; 5756	
D 0140, 4101,1001				; 5757	140:	R,	FL-AC,	B0/0,	J/FAD	;FAD
						;;5758	.IF/FPLONG
						;;5759		R,		B0/0,	J/FADL	;FADL [414]
						; 5760	.IFNOT/FPLONG
D 0141, 2000,1002				; 5761		EA,			J/UUO	;(FADL) [414]
						; 5762	.ENDIF/FPLONG
D 0142, 6200,1001				; 5763		RW,	FL-MEM,	B0/0,	J/FAD	;FADM
D 0143, 6301,1001				; 5764		RW,	FL-BOTH,B0/0,	J/FAD	;FADB
						; 5765	
D 0144, 4101,1313				; 5766		R,	FL-AC,	B0/0,	J/FADR	;FADR [414]
D 0145, 0101,1312				; 5767		I,	FL-AC,	B0/0,	J/FADRI	;FADRI
D 0146, 6200,1313				; 5768		RW,	FL-MEM,	B0/0,	J/FADR	;FADRM [414]
D 0147, 6301,1313				; 5769		RW,	FL-BOTH,B0/0,	J/FADR	;FADRB [414]
						; 5770	
D 0150, 4500,1001				; 5771	150:	R,	FL-AC,	B0/1,	J/FSB	;FSB
						;;5772	.IF/FPLONG
						;;5773		R,		B0/1,	J/FSBL	;FSBL [414]
						; 5774	.IFNOT/FPLONG
D 0151, 2000,1002				; 5775		EA,			J/UUO	;(FSBL) [414]
						; 5776	.ENDIF/FPLONG
D 0152, 6601,1001				; 5777		RW,	FL-MEM,	B0/1,	J/FSB	;FSBM
D 0153, 6700,1001				; 5778		RW,	FL-BOTH,B0/1,	J/FSB	;FSBB
						; 5779	
D 0154, 4500,1313				; 5780		R,	FL-AC,	B0/1,	J/FSBR	;FSBR [414]
D 0155, 0500,1312				; 5781		I,	FL-AC,	B0/1,	J/FSBRI	;FSBRI
D 0156, 6601,1313				; 5782		RW,	FL-MEM,	B0/1,	J/FSBR	;FSBRM [414]
D 0157, 6700,1313				; 5783		RW,	FL-BOTH,B0/1,	J/FSBR	;FSBRB [414]
						; 5784		.UCODE
						; 5785	
						; 5786	.IFNOT/FPLONG
						; 5787	1001:					;[414] Must be near UUO
						; 5788	FAD:
U 1001, 1313,4001,0000,0000,0000,1610,0001	; 5789	FSB:	SR_#,#/1,J/FADR			;[414] FLAG NO ROUND, GO FAD/FSB
						;;5790	.IF/FPLONG
						;;5791	=0****00***0
						;;5792	FAD:
						;;5793	FSB:	SR_#,#/1,J/FADR			;[414] FLAG TRUNCATE MODE, GO FAD
						;;5794	FADL:
						;;5795	FSBL:	SR_#,#/2,J/FADR			;[414] FLAG LONG MODE
						;;5796	=
						; 5797	.ENDIF/FPLONG
						; 5798	=0****00***0
						; 5799	FADRI:
U 1312, 1313,0001,4000,0000,3000,0010,0000	; 5800	FSBRI:	AR_AR SWAP			;Orient immediate operand
						; 5801	FADR:
						; 5802	FSBR:	FE_EXP,EXP_SIGN,SC/SCAD,ARX_0S,	;Grab exponent, test for subtract
U 1313, 0643,3441,0200,0203,1001,0033,0200	; 5803		    B DISP			;[414]
						; 5804	=
						; 5805	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; FP.MIC[4,24]	15:33 8-Feb-86				SINGLE FLOATING ADD & SUB -- FAD, FADR, FSB, FSBR	

						; 5806	; FIND OPERAND WITH LARGER EXP, LEAVING IT IN BR,
						; 5807	; AND ITS EXP-1 IN FE.  THE SMALLER OPERAND IS LEFT IN AR,
						; 5808	; SHIFTED RIGHT BY THE DIFFERENCE BETWEEN THE EXPONENTS -1
						; 5809	
						; 5810	=011					;[414]
U 0643, 1406,3240,2060,0000,0020,0010,0000	; 5811	FAS:	BR/AR,BRX/ARX,AR_AC0,J/FADFSB	;[414] SAVE MEM OP IN BR, GET AC
U 0647, 0643,5163,7000,0000,0020,0010,0000	; 5812		AR_-AR,J/FAS			;NEGATE SUBTRAHEND
						; 5813	;
U 1406, 1762,4001,0000,5202,1021,5110,0200	; 5814	FADFSB:	SC_EXP-SC,EXP_SIGN,SKP SCAD0	;[414] FIND LARGER OPERAND
U 1762, 1430,3201,2040,2001,0000,0010,0000	; 5815	=0	FE_FE+SC,BR/AR,AR_BR*2,J/FAS1	;AC EXP .GE. MEM
						; 5816		MQ_AR,SC_#+SC,#/37.,		;MEM OP LARGER, SHIFT AC OP
U 1763, 1764,4001,0010,2302,1020,5110,0045	; 5817			SKP SCAD0,J/FAS2	;COMPUTE SHIFT AMOUNT
						; 5818	
U 1430, 1764,4001,0010,5302,1020,5110,0044	; 5819	FAS1:	MQ_AR,SC_#-SC,#/36.,SKP SCAD0	;CHECK SHIFT AMOUNT
						; 5820	=0
U 1764, 1442,5441,2310,0000,0020,0016,0000	; 5821	FAS2:	MQ_SHIFT,ARX/MQ,AR_SIGN,J/FAS3	;LOW TO MQ, READY TO GET HI
						; 5822		AR_SIGN,ARX_AR,			;HERE IF EXP DIFF .GT. 36
U 1765, 1770,5401,2400,2302,1020,5116,0044	; 5823			SC_#+SC,#/36.,SKP SCAD0	; .GT. 72?
U 1770, 1451,4001,0400,4001,0001,0010,0100	; 5824	=0	ARX_SHIFT,MQ_0.M,FE_FE+1,J/FAS5
U 1771, 1451,0001,0400,4001,1001,0010,0100	; 5825		ARX_AR,MQ_0.M,FE_FE+1,J/FAS5	;SHIFTED CLEAR OUT
						; 5826	
						; 5827	FAS3:	AR_SHIFT,ARL/SH,ARX/MQ,
U 1442, 1451,0001,4300,4001,0001,0010,0104	; 5828			MQ_0.M,FE_FE+1		;READY TO ADD
						; 5829	
						; 5830	FAS5:	AR_(AR+2BR)*.25,ARX/ADX*.25,	;HERE FOR ADD OR SUB
U 1451, 1420,0601,7704,0000,0060,0035,0000	; 5831			NORM,J/SNORM
						; 5832	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3
; FP.MIC[4,24]	15:33 8-Feb-86				SINGLE FLOATING MULTIPLY -- FMP, FMPR			

						; 5833	.TOC	"SINGLE FLOATING MULTIPLY -- FMP, FMPR"
						; 5834	
						; 5835		.DCODE
D 0160, 4501,1003				; 5836	160:	R,	FL-AC,	B0/1,	J/FMP	;FMP [414]
						;;5837	.IF/FPLONG
						;;5838		R,			J/FMPL	;FMPL [414]
						; 5839	.IFNOT/FPLONG
D 0161, 2000,1002				; 5840		EA,			J/UUO	;(FMPL) [414]
						; 5841	.ENDIF/FPLONG
D 0162, 6600,1003				; 5842		RW,	FL-MEM,	B0/1,	J/FMP	;FMPM [414]
D 0163, 6701,1003				; 5843		RW,	FL-BOTH,B0/1,	J/FMP	;FMPB [414]
						; 5844	
D 0164, 4101,0407				; 5845		R,	FL-AC,		J/FMPR	;FMPR
D 0165, 0501,0402				; 5846		I,	FL-AC,	B0/1,	J/FMPRI	;FMPRI [414]
D 0166, 6200,0407				; 5847		RW,	FL-MEM,		J/FMPR	;FMPRM
D 0167, 6301,0407				; 5848		RW,	FL-BOTH,	J/FMPR	;FMPRB
						; 5849		.UCODE
						; 5850	
						;;5851	.IF/FPLONG
						;;5852	=0****00**00				;[414]
						;;5853	FDV:					;[414] FMPx and FDVx start here
						;;5854	FMP:	SR_#,#/1,B DISP,J/FDVR		;[414] FLAG TRUNCATE MODE and split
						;;5855	FMPL:	SR_#,#/2,J/FMPR			;LONG MODE
						;;5856	FDVL:	FE_EXP-1,EXP_SIGN,ARX+MQ_0.M,J/FDVL1;[414]
						;;5857	=
						; 5858	.IFNOT/FPLONG				;[414]
						; 5859	1003:					;[414] Must adjoin UUO
						; 5860	FDV:					;[414]
U 1003, 0403,4001,0000,0000,0000,1633,0001	; 5861	FMP:	SR_#,#/1,B DISP,J/FDVR		;[414] Flag for truncate mode
						; 5862	.ENDIF/FPLONG
						; 5863	=0****00*010
						; 5864	FDVRI:					;[414]
U 0402, 0403,0001,4000,0000,3000,0033,0000	; 5865	FMPRI:	AR_AR SWAP,B DISP		;[414] Orient op. FMP or FDV?
						; 5866	FDVR:	SC_EXP+1,EXP_SIGN,ARX+MQ_0.M,	;[414] FDV. SETUP DIVISOR
U 0403, 1360,0001,0000,4202,1001,0010,0340	; 5867		    J/FDVGO
						; 5868	;
						; 5869	=111
U 0407, 1464,3441,0200,0202,1001,0010,0200	; 5870	FMPR:	SC_EXP,EXP_SIGN,ARX_0S		;FMP. PREPARE M'IER FRACTION
U 1464, 0572,3200,2010,0301,1020,0010,0762	; 5871	=	MQ_AR,AR_AC0,FE_#,#/-14.	;M'IER TO MQ, GET M'CAND
						; 5872	=01*	SC_EXP+SC,EXP_SIGN,		;SEPARATE M'CAND FRACTION FROM EXP
U 0572, 1236,0001,0000,2202,1001,0050,0200	; 5873			CALL.M,J/MULSUB		;[414] AND BEGIN MULTIPLY
U 0576, 1420,3203,0000,2301,0040,0035,0600	; 5874	=11*	FE_#+SC,#/-200,NORM AR,J/SNORM
						; 5875	=
						; 5876	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4
; FP.MIC[4,24]	15:33 8-Feb-86				SINGLE FLOATING DIVIDE -- FDV, FDVR			

						; 5877	.TOC	"SINGLE FLOATING DIVIDE -- FDV, FDVR"
						; 5878	
						; 5879		.DCODE
D 0170, 4100,1003				; 5880	170:	R,	FL-AC,	B0/0,	J/FDV	;FDV [414]
						;;5881	.IF/FPLONG
						;;5882		R,	FL-AC,		J/FDVL	;FDVL [414]
						; 5883	.IFNOT/FPLONG
D 0171, 2000,1002				; 5884		EA,			J/UUO	;(FDVL) [414]
						; 5885	.ENDIF/FPLONG
D 0172, 6201,1003				; 5886		RW,	FL-MEM,	B0/0,	J/FDV	;FDVM [414]
D 0173, 6300,1003				; 5887		RW,	FL-BOTH,B0/0,	J/FDV	;FDVB [414]
						; 5888	
D 0174, 4100,0403				; 5889		R,	FL-AC,		J/FDVR	;FDVR
D 0175, 0100,0402				; 5890		I,	FL-AC,	B0/0,	J/FDVRI	;FDVRI [414]
D 0176, 6201,0403				; 5891		RW,	FL-MEM,		J/FDVR	;FDVRM
D 0177, 6300,0403				; 5892		RW,	FL-BOTH,	J/FDVR	;FDVRB
						; 5893		.UCODE
						; 5894	
						; 5895	;FDV:	SR_#,#/1,J/FDVR			;This stuff is with FMP
						; 5896	;
						; 5897	;FDVRI:	AR_AR SWAP			;[414] Orient op
						; 5898	;FDVR:	SC_EXP+1,EXP_SIGN,ARX+MQ_0.M	;[414] SETUP DIVISOR
						; 5899	
						; 5900	=000
						; 5901	FDVGO:	BR/AR,BRX/ARX,AR_AC0,FE_#,#/27.,;[414] DIVISOR TO BR, CLR BRX
U 1360, 1774,3240,2060,0301,0020,5550,0033	; 5902		    SKP AD0,CALL,J/FDVCHK	;GET DIVIDEND, STEP COUNT
U 1362, 0662,4001,0000,0000,0000,4250,0000	; 5903	=10	SKP BR0,CALL,J/DIV-		;OK, BEGIN DIVISION
U 1363, 0016,0001,0000,0000,0000,1110,0624	; 5904		SET FL NO DIV,J/IFNOP		;NO DIVIDE, SORRY
						; 5905	
						; 5906	;RETURN HERE WITH QUOTIENT IN ARX.  WE TOOK 29 DIVIDE STEPS, TO
						; 5907	; GUARANTEE HAVING A ROUNDING BIT EVEN IF THE FIRST STEP GENERATES
						; 5908	; A QUOTIENT BIT OF ZERO.  THEREFORE, THE MSB OF QUOTIENT IS EITHER
						; 5909	; IN BIT 7 OR 8, AND NORM WILL FIND IT IN ONE STEP.
						; 5910	
						; 5911	=110	AR_ARX,FE_FE+#,#/2,		;NEGATIVE QUOTIENT
U 1366, 1772,7162,4000,2031,2040,5410,0002	; 5912			SKP BR EQ,J/FDVNEG	;CHECK FOR MORE QUO TO COME
						; 5913		AR_ARX*.25,ARX_ARX*.25,NORM,	;JUNK IS 36 BITS AWAY FROM MSB
U 1367, 1420,3713,7700,2031,0040,0035,0002	; 5914			FE_FE+#,#/2,J/SNORM	;POS QUOTIENT, NORMALIZE
						; 5915	=
						; 5916	;HERE IF QUOTIENT SHOULD BE NEGATIVE, WITH POSITIVE FORM IN
						; 5917	; AR AND ARX.  SKIP IF REMAINDER (IN BR) IS ZERO.  IN THIS CASE,
						; 5918	; WE CLEAR ARX, BECAUSE AR CONTAINS THE ENTIRE QUOTIENT.
						; 5919	; IF, HOWEVER, THE REMAINDER IS NOT ZERO, WE INFER
						; 5920	; THAT AN INFINITE PRECISION DIVISION WOULD GENERATE MORE ONES
						; 5921	; IN THE QUOTIENT.  IF THAT IS THE CASE, WE LEAVE ARX WITH THE
						; 5922	; QUOTIENT, SO THE NEGATION PROCESS WILL WORK CORRECTLY TO RETURN
						; 5923	; THE HIGH ORDER PART OF THE INFINITE-PRECISION NEGATIVE QUOTIENT.
						; 5924	=0
U 1772, 1420,3703,7700,0000,0040,1635,0064	; 5925	FDVNEG:	SET SR1,AR_AR*.25 LONG,NORM,J/SNORM
U 1773, 1772,3441,0200,0000,0000,0010,0000	; 5926		ARX_0S,J/FDVNEG			;REMAINDER WENT TO ZERO
						; 5927	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5
; FP.MIC[4,24]	15:33 8-Feb-86				SINGLE FLOATING DIVIDE -- FDV, FDVR			

						; 5928	;HERE FOR FDVL
						; 5929	
						;;5930	.IF/FPLONG
						;;5931	
						;;5932	;FDVL:	FE_EXP-1,EXP_SIGN,ARX+MQ_0.M
						;;5933	=000
						;;5934	FDVL1:	AR_AC1,BR_AR LONG,		;SAVE DIVISOR IN BR LONG
						;;5935			SC_#,#/9.,CALL		;READY TO SHIFT LOW DIVIDEND
						;;5936		ARX_SHIFT,AR_AC0,		;DIVIDEND IN PLACE
						;;5937			SC_FE,FE_#,#/24.,	;EXP TO SC, STEP COUNT TO FE
						;;5938			SKP AD0,J/FDVCHK	;GO CHECK FOR NO DIVIDE
						;;5939	=010	CALL,SKP BR0,J/FDVL2		;GO BEGIN DIVIDE
						;;5940		SET FL NO DIV,J/IFNOP		;CAN'T DIVIDE, ABORT
						;;5941	
						;;5942	=110	AR_AC0,SR_#,#/5,		;NEG QUO, FLAG TRUNCATE MODE
						;;5943			SR DISP,J/FDVL4		; WAS IT 26 OR 27 STEPS?
						;;5944		AR_AC0,SR_#,#/1,		;POS QUO
						;;5945			SR DISP,J/FDVL4
						;;5946	=
						;;5947	
						;;5948	
						;;5949	;COME HERE TO START THE DIVISION.  ON THE FIRST STEP, WE CHECK
						;;5950	; TO SEE WHETHER A 1 HAS BEEN GENERATED IN THE QUOTIENT.  IF SO,
						;;5951	; 26 ADDITIONAL STEPS WILL GENERATE THE FULL 27 SIGNIFICANT BITS
						;;5952	; OF THE QUOTIENT.  IF NOT, 27 STEPS ARE REQUIRED.
						;;5953	
						;;5954	=0
						;;5955	FDVL2:	DIVIDE,AR_2(AR-BR),ARX/ADX*2,J/FDVL3	;FIRST DIVIDE STEP
						;;5956		DIVIDE,AR_2(AR+BR),ARX/ADX*2		; DOES IT GENERATE A 1?
						;;5957	=00
						;;5958	FDVL3:	DISP/DIV,MQ/MQ*2,		;NO, TAKE AN EXTRA DIVIDE STEP
						;;5959			AR_2(AR+BR),ARX/ADX*2,J/DIVLP	; WITHOUT COUNTING FE
						;;5960		SR_1,SC_#+SC,#/1,J/DIV-		;YES, 27 STEPS WILL NORMALIZE QUO
						;;5961		DISP/DIV,MQ/MQ*2,AR_2(AR-BR),ARX/ADX*2,J/DIVLP
						;;5962		SR_1,SC_#+SC,#/1,J/DIV+
						;;5963	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6
; FP.MIC[4,24]	15:33 8-Feb-86				SINGLE FLOATING DIVIDE -- FDV, FDVR			

						;;5964	;WE COME HERE AFTER DOING THE DIVISION, EITHER 26 OR 27 STEPS
						;;5965	; AS REQUIRED TO GENERATE A NORMALIZED QUOTIENT FROM NORMALIZED
						;;5966	; OPERANDS.  NOW FIGURE OUT WHAT EXPONENT THE REMAINDER SHOULD HAVE.
						;;5967	
						;;5968	=0
						;;5969	FDVL4:	SC_EXP-#,#/27.,			;DIVIDEND EXP-27
						;;5970			AR_BR,SKP AR0,J/FDVL6	;GET REMAINDER, TEST D'END SIGN
						;;5971		SC_EXP-#,#/26.,			;D'END EXP-26
						;;5972			AR_BR,SKP AR0
						;;5973	
						;;5974	;HERE WITH REMAINDER IN AR, ITS EXP IN SC
						;;5975	; SKIP IF D'END (AND THEREFORE REM) NEGATIVE.
						;;5976	
						;;5977	=0
						;;5978	FDVL6:	EXP_SC,BYTE DISP,		;TEST FOR UNDERFLOW
						;;5979			SKP AR EQ,J/FDVL7	; OR REM =0
						;;5980		AR_-BR,SKP CRY0,		;NEGATE REM, CHECK =0
						;;5981			GEN SC,BYTE DISP	; AND LOOK FOR EXP UFLO
						;;5982	=110	EXP_-SC-1,J/FDVL7		;ONE'S COMPLEMENT EXP
						;;5983		AR_0S				;REM =0 OR EXP UFLO
						;;5984	=110
						;;5985	FDVL7:	AC1_AR,ARX+MQ_0.M,		;SAVE REMAINDER
						;;5986			AR_MQ,ARL/AD,J/SNR2	;GO NORMALIZE QUOTIENT
						;;5987		AR_0S,J/FDVL7
						; 5988	.ENDIF/FPLONG
						; 5989	
						; 5990	
						; 5991	;SUBR TO CHECK FOR FLOATING NO DIVIDE
						; 5992	; ENTER WITH SKP ON DIVIDEND SIGN, IN AR LONG, WITH
						; 5993	; DIVISOR EXP IN SC, DIVISOR IN BR
						; 5994	
						; 5995	=0
U 1774, 2010,0001,0000,5202,1001,4210,0200	; 5996	FDVCHK:	SC_EXP-SC,EXP_SIGN,SKP BR0,J/FDVCK1
U 1775, 1774,5143,7700,0000,0020,0027,0000	; 5997		AR_-AR LONG,J/FDVCHK		;GET POSITIVE DIVIDEND
						; 5998	=0
						; 5999	FDVCK1:	GEN AR-2BR,SKP CRY0,		;TEST FOR NO DIVIDE
U 2010, 0002,5101,0004,2302,0040,5403,0177	; 6000			SC_#+SC,#/177,RETURN2	;AND CORRECT EXP
						; 6001		GEN AR+2BR,SKP CRY0,		;SAME TEST, NEG DIVISOR
U 2011, 0002,0601,0000,2302,0040,5403,0177	; 6002			SC_#+SC,#/177,RETURN2	;AND SAME EXP CORRECTION
						; 6003	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 7
; FP.MIC[4,24]	15:33 8-Feb-86				UFA, DFN, FSC						

						; 6004	.TOC	"UFA, DFN, FSC"
						; 6005	
						; 6006		.DCODE
						;;6007	.IF/FPLONG
						;;6008	130:	R,		J/UFA		;UFA
						;;6009		RPW,		J/DFN		;DFN
						; 6010	.IFNOT/FPLONG
D 0130, 2000,1002				; 6011	130:	EA,	J/UUO			;UFA
D 0131, 2000,1002				; 6012		EA,	J/UUO			;DFN
						; 6013	.ENDIF/FPLONG
D 0132, 0100,1502				; 6014	132:	I,	FL-AC,	J/FSC		;Must adjoin 133 (IBP/ADJBP)
						; 6015		.UCODE
						; 6016	
						;;6017	.IF/FPLONG
						;;6018	=0****00***0
						;;6019	DFN:	FE_AR0-8,AR0-8_#,#/0,		;SAVE LOW EXP, CLR SO CAN
						;;6020			ARX_0S,J/DFN1		; DETECT FRACTION = 0
						;;6021	UFA:	FE_EXP,SC/SCAD,EXP_SIGN,ARX_0S
						;;6022	=
						;;6023	=000	BR_AR LONG,AR_AC0,CALL,J/EXPD
						;;6024	=100	ARX_AR,AR_SIGN,ARL/AD,		;READY TO UNNORMALIZE SMALLER OP
						;;6025			CALL.M,J/SHIFT
						;;6026		AR_SIGN,ARX/AD			;LOST SMALLER OP, USE ITS SIGN
						;;6027		AR_AR+BR,SKP AD NE,		;IS RESULT SIGNIFICANT?
						;;6028			SC_FE,I FETCH
						;;6029	=
						;;6030	=0	AC1_AR,J/FINI			;NO, CLEAR RESULT AC
						;;6031		SKP EXP NE,BR/AR		;IS RIGHT SHIFT REQ'D?
						;;6032	=0	SKP AR0,FETCH WAIT,J/UFA4	;NO, IS RESULT NEG?
						;;6033		AR_BR*.5,GEN FE-#,#/377,SKP SCAD NE,FETCH WAIT
						;;6034	=0	FE_-1,SET FLOV
						;;6035		FE_FE+1,SC/SCAD,SKP AR0
						;;6036	=0
						;;6037	UFA4:	AR0-8_SC,J/STAC1		;POS, PUT IN EXP STRAIGHT
						;;6038		AR0-8_-SC-1,J/STAC1		;NEG, USE COMPLEMENT OF EXP
						;;6039	
						;;6040	
						;;6041	DFN1:	AR_-AR,SKP CRY0			; LOW FRACTION =0?
						;;6042	=0	AR0-8_FE,STORE,			;STORE LOW WORD BACK TO MEM
						;;6043			ARX_AC0 COMP,J/STMAC	; GET COMPLEMENTED HIGH WORD
						;;6044		AR0-8_FE,STORE,			;LOW WORD WAS ZERO, INSTALL EXP
						;;6045			ARX_-AC0,J/STMAC	; GET NEGATED HIGH WORD
						; 6046	.ENDIF/FPLONG
						; 6047	;
						; 6048	;FSC
						; 6049	;ENTER WITH E IN AR
						; 6050	1502:					;[345] Next to IBP because of DRAM
						; 6051	FSC:	SC_EA,ARX+MQ_0.M,
U 1502, 1471,3200,2000,0002,0021,0013,0142	; 6052			AR_AC0,ARL/AD
U 1471, 1422,4001,0000,2201,1001,0010,0200	; 6053	=	FE_EXP+SC,EXP_SIGN,J/SNR2	;NORMALIZE SCALED RESULT
						; 6054	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 8
; FP.MIC[4,24]	15:33 8-Feb-86				FIX, FIXR, FLTR						

						; 6055	.TOC	"FIX, FIXR, FLTR"
						; 6056	
						; 6057		.DCODE
D 0122, 4001,1410				; 6058	122:	R,		J/FIX		;FIX--Unrounded. Adjoins EXTEND
D 0126, 4000,1501				; 6059	126:	R,		J/FIXR		;FIXR--Rounded
D 0127, 4100,1500				; 6060		R,	FL-AC,	J/FLTR		;FLTR
						; 6061		.UCODE
						; 6062	;FLTR
						; 6063	;ENTER WITH (E) IN AR
						; 6064	=0****00***0
						; 6065	FLTR:	FE_#,#/277,ARX_AR,SKP AR0,	;BINARY POINT TO RIGHT OF ARX
U 1500, 1420,5401,2400,0301,1020,4516,0277	; 6066			AR_SIGN,J/SNORM		; SIGN EXTENDED.  GO NORMALIZE
						; 6067	
						; 6068	;FIX AND FIXR
						; 6069	;ENTER WITH (E) IN AR
						; 6070	;	FIX AND FIXR DIFFER ONLY IN THE ROUNDING CRITERION:
						; 6071	;FIXR ADDS 1 TO THE INTEGER PART IF THE FRACTION PART IS ONE-HALF
						; 6072	;OR GREATER.  FIX DROPS THE FRACTION PART OF POSITIVE NUMBERS, BUT ADDS
						; 6073	;1 TO THE INTEGER PART OF NEGATIVE NUMBERS IF THE FRACTION PART IS NOT
						; 6074	;ALL ZERO.
						; 6075	;	THIS IS IMPLEMENTED BY CHOOSING A FRACTION (THE ROUNDING
						; 6076	;CONSTANT) TO ADD TO THE INPUT, SUCH THAT A CARRY WILL OCCUR INTO THE
						; 6077	;INTEGER PART UNDER THE APPROPRIATE CONDITIONS.  FOR FIXR, THE ROUNDING
						; 6078	;CONSTANT IS EXACTLY ONE-HALF.  FOR FIX, IT IS ZERO ON POSITIVE INPUT,
						; 6079	;OR THE LARGEST POSSIBLE FRACTION (ALL 1S) ON NEGATIVE INPUT.
						; 6080	
						; 6081	FIXR:	FE_EXP-#,#/244,SKP SCAD0,	;GET BINARY POINT POSITION
U 1501, 2012,4041,0700,5231,0020,5110,0244	; 6082			ARX_1B1,J/FIX1		;GET ROUNDING CONSTANT
						; 6083	=
						; 6084	1410:					;Must be near EXTEND
						; 6085	FIX:	FE_EXP-#,#/244,SKP SCAD0,	;GET BINARY POINT POSITION
U 1410, 2012,5441,0200,5231,0020,5116,0244	; 6086			ARX_AR SIGN		;SET ROUNDING CONSTANT, GO FIX
						; 6087	=0
U 2012, 0016,0001,0000,0000,0000,1110,0420	; 6088	FIX1:	SET AROV,J/IFNOP		;CAN'T DO IT, GIVE UP
U 2013, 1522,3721,0540,0000,0000,0410,0000	; 6089		BR/AR,CLR AR,ARX_ARX*2		;ROUNDING CONSTANT READY IN ARX
						; 6090		BR_AR LONG,AR_BR,CLR ARX,	;MANTISSA TO AR LONG
U 1522, 1531,3202,2060,0302,0000,0510,0011	; 6091			SC_#,#/9.		;READY TO SHIFT OFF EXPONENT
						; 6092		ARX_SHIFT,AR_SIGN,		;MANTISSA LEFT ALIGNED IN ARX
U 1531, 2014,5441,2400,2032,0020,5116,0044	; 6093			SC_FE+#,#/36.,SKP SCAD0	;ANY INTEGER BITS?
						; 6094	=0	MQ_SHIFT,			;YES, PUT THEM IN MQ
						; 6095			AR_ARX (ADX),CLR ARX,	;SHIFT MANTISSA LEFT 36 PLACES
U 2014, 1552,3701,6010,0000,0217,0510,0000	; 6096			I FETCH,J/FIX2		;AND PREFETCH NEXT
U 2015, 0216,3401,2000,0000,0217,0010,0000	; 6097		AR_0S,I FETCH,J/STORAC		;ALL SIGNIFICANCE LOST
U 1552, 1622,3721,2400,0000,0000,0010,0000	; 6098	FIX2:	ARX_SHIFT,AR_MQ			;INTEGER IN AR, FRACTION IN ARX
U 1622, 0015,0602,2004,0000,0020,0027,0000	; 6099		AR_AR+BR,AD LONG,J/STAC		;ROUND AND STORE
						; 6100	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 9
; FP.MIC[4,24]	15:33 8-Feb-86				SINGLE PRECISION FLOATING NORMALIZATION			

						; 6101	.TOC	"SINGLE PRECISION FLOATING NORMALIZATION"
						; 6102	
						; 6103	;HERE TO NORMALIZE SINGLE PRECISION RESULTS
						; 6104	;SR2-3 TELL HOW TO STORE RESULTS:
						; 6105	;XX00 ... ROUND, SINGLE PRECISION
						; 6106	;XX01 ... TRUNCATE, SINGLE PRECISION
						; 6107	;XX10 ... LONG MODE (IMPLIES TRUNCATION)
						; 6108	;IN ADDITION, THIS CODE SETS SR 1 IF ANSWER IS NEGATIVE, SO X1YZ
						; 6109	; CORRESPONDS TO X0YZ EXCEPT THAT THE RESULT MUST BE NEGATED.
						; 6110	
						; 6111	;DISPATCH TO SNORM WITH "DISP/NORM,AR/AD*.25"
						; 6112	; THUS THE 8 POSSIBILITIES ARE:
						; 6113	;SNORM		AD=0	AR=0	EITHER ANSWER IS ZERO, OR MSB IS IN ARX
						; 6114	;SNORM+1	AD0	AR NEG	RESULT IS NEG.  MAKE POS, TRY AGAIN
						; 6115	;SNORM+2	AD1-6	AR3-8	MSB TOO FAR LEFT, SHIFT RIGHT & RETRY
						; 6116	;SNORM+3	AD7	AR9	RESULT IS CORRECTLY NORMALIZED
						; 6117	;SNORM+4	AD8	AR10	SHIFT LEFT ONCE FOR NORMALIZATION
						; 6118	;SNORM+5	AD9	AR11	SHIFT LEFT 2 PLACES
						; 6119	;SNORM+6	AD10	AR12	SHIFT LEFT THRICE
						; 6120	;SNORM+7	AD11-35	AR13-35	SHIFT LEFT A LOT, TRY AGAIN
						; 6121	
						; 6122	=000
						; 6123	SNORM:	AR_ARX,ARL/SH,SKP ARX NE,	;AR IS ZERO, GET ARX
U 1420, 2022,3713,4000,0000,2041,5410,0044	; 6124			ARX_0.M,J/SNZERO
U 1421, 1420,5143,7700,0000,0060,1635,0064	; 6125		NORM -AR,SET SR1,J/SNORM	;REMEMBER NEGATIVE, GO POSITIVE
						; 6126	SNR2:	AR_AR*.25 LONG,FE_FE+#,#/2,	;SHIFT RIGHT,
U 1422, 1420,3701,7700,2031,0040,0035,0002	; 6127			NORM,J/SNORM		;TRY AGAIN
U 1423, 0024,0001,0000,0000,0000,0005,0000	; 6128		SR DISP,J/SROUND		;AD7 -> AR9, IS ROUND REQ'D?
						; 6129		AR_AR*2 LONG,FE_FE-1,		;AD8 -> AR10, ONCE LEFT AND DONE
U 1424, 0024,3701,5500,3001,0000,0005,0000	; 6130			SR DISP,J/SROUND
						; 6131		AR_AR*4 LONG,FE_FE-#,#/2,	;AD9 -> AR11
U 1425, 0024,3243,2600,5031,0000,0005,0002	; 6132			SR DISP,J/SROUND
						; 6133		AR_AR*8 LONG,FE_FE-#,#/3,	;AD10 -> AR12
U 1426, 0024,3243,5500,5031,0000,0005,0003	; 6134			SR DISP,J/SROUND
						;;6135	.IFNOT/SNORM.OPT
						;;6136		SKP AR NE,INH CRY18,SC_#,#/7	;LOOK FOR AR13-17
						;;6137	=0	SC_#,#/13.			;LH IS 0.  SHIFT FARTHER
						;;6138		MQ_SHIFT,AR_ARX (ADX),CLR ARX,	;HIGH TO MQ, GET READY FOR LOW
						;;6139			FE_FE-SC		; ADJUST EXPONENT
						;;6140		ARX_SHIFT,AR_MQ,J/SNR2		;FRACTION REPOSITIONED. GO AGAIN
						;;6141	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 10
; FP.MIC[4,24]	15:33 8-Feb-86				SINGLE PRECISION FLOATING NORMALIZATION			

						;;6142	;HERE IS THE FASTER VERSION OF LONG NORMALIZATION SHIFTS,
						;;6143	; WHICH TAKES FOUR WORDS MORE BUT IS A BIT QUICKER IN THE
						;;6144	; INTERMEDIATE NORMALIZATION CASES.
						;;6145	
						; 6146	.IF/SNORM.OPT
						; 6147		ADA EN/0S,ADB/AR*4,AD/ANDCA,	;GENERATE AR*4
						; 6148			AR/AD*2,ARX/ADX*2,	; AR_AR*8 LONG
						; 6149			SC_#,#/12.,		;READY TO SHIFT FARTHER
U 1427, 2020,3063,5500,0302,0020,5417,0014	; 6150			GEN CRY18,SKP CRY0	; TEST AR0-19 FOR ZERO
						; 6151	
						; 6152	=0	AR_AR*8 LONG,BR_AR LONG,	;IT WAS IN AR13-19
U 2020, 1444,3203,5560,5031,0040,0035,0006	; 6153			FE_FE-#,#/6,NORM,J/SN1	; NOW IN AR10-16, AD8-14
						; 6154		MQ_SHIFT,AR_ARX (ADX),		;13-19=0, SHIFT TO TRY 20-35
U 2021, 1626,3701,6010,0302,0000,0510,0012	; 6155			CLR ARX,SC_#,#/10.
						; 6156		ARX_SHIFT,AR_MQ*.25,		;REPOSITION FRACTION IN AR LONG
						; 6157			FE_FE-#,#/13.,		;COMPENSATE EXPONENT
U 1626, 1420,3721,7400,5031,0040,0035,0015	; 6158			NORM,J/SNORM
						; 6159	=100
						; 6160	SN1:	AR_BR*2 LONG,FE_FE+#,#/2,	;MSB IN AD8, SO IN BR10
U 1444, 0024,3241,2600,2031,0000,0005,0002	; 6161			SR DISP,J/SROUND
						; 6162		AR_BR*4 LONG,FE_FE+1,		;MSB IN AD9, THUS IN BR11
U 1445, 0024,3241,5500,4001,0000,0005,0000	; 6163			SR DISP,J/SROUND
U 1446, 0024,0001,0000,0000,0000,0005,0000	; 6164		SR DISP,J/SROUND		;AD10 -> AR9, A LUCKY GUESS
						; 6165		AR_AR*8 LONG,BR_AR LONG,	;TRY SHIFTING 3 MORE
U 1447, 1444,3203,5560,5031,0040,0035,0003	; 6166			FE_FE-#,#/3,NORM,J/SN1
						; 6167	.ENDIF/SNORM.OPT
						; 6168	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 11
; FP.MIC[4,24]	15:33 8-Feb-86				SINGLE PRECISION FLOATING NORMALIZATION			

						; 6169	;HERE WHEN AD ENTIRELY ZERO ON NORMALIZE ATTEMPT.  SKIP IF ARX
						; 6170	; IS NOT ZERO, HAVING COPIED IT TO AR (IE, LEFT SHIFT 36 PLACES).
						; 6171	; OTHERWISE, THE ENTIRE RESULT IS ZERO, SO WE STORE THAT.
						; 6172	=0
						; 6173	SNZERO:	CLR FE,AR+ARX+MQ_0.M,		;RESULT = 0
U 2022, 0151,4001,0000,0401,0001,0005,0170	; 6174			SR DISP,J/SRND5
						; 6175		AR_AR*.25 LONG,FE_FE-#,#/34.,	;HAVE MOVED LEFT 36, GO RIGHT 2
U 2023, 1420,3701,7700,5031,0040,0035,0042	; 6176			NORM,J/SNORM		;AND TRY THAT
						; 6177	
						; 6178	
						; 6179	;WE GET HERE WITH A NORMALIZED POSITIVE FRACTION IN AR'ARX,
						; 6180	; THE CORRECTED EXPONENT IN FE, AND SR INDICATES THE PROPER SIGN
						; 6181	; FOR THE RESULT AND WHETHER THE ANSWER SHOULD BE ROUNDED,
						; 6182	; TRUNCATED, OR LONG.
						; 6183	
						;;6184	.IF/FPLONG
						;;6185	=100
						; 6186	.IFNOT/FPLONG
						; 6187	=1*0
						; 6188	.ENDIF/FPLONG
U 0024, 0035,3441,2060,0000,0000,0010,0000	; 6189	SROUND:	BR_AR LONG,AR_0S,J/SRND2	;PREPARE TO ROUND BY ADDING THE
						; 6190						; PART OF THE FRACTION WE WILL
						; 6191						; DISCARD (CARRY IF ARX0)
						; 6192		BR_AR LONG,CLR AR,ARX_1S,	;TRUNCATE MODE
U 0025, 0031,2301,0260,0000,0000,0405,0000	; 6193			SR DISP,J/STRNC		; HANDLING DEPENDS ON SIGN
						;;6194	.IF/FPLONG
						;;6195		BR_AR LONG,CLR AR,ARX_1S,	;LONG MODE
						;;6196			SC_#,#/9.
						;;6197	=	ARX_SHIFT,SR DISP		;MASK = 0,,000777 TO ARX
						;;6198	=01*
						;;6199		BR_AR LONG,AR_BR LONG,J/SRND4	;POS, TRUNCATE BY ANDING
						;;6200		AR_AR+BR,ARX/ADX,BR_AR LONG,	;NEG, MUST DIDDLE
						;;6201			NORM,J/SRND3		; NORM FORCES LONG ARITH
						; 6202	.ENDIF/FPLONG
						; 6203	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 12
; FP.MIC[4,24]	15:33 8-Feb-86				SINGLE PRECISION FLOATING NORMALIZATION			

						; 6204	;HERE TO PERFORM ROUNDING OR TRUNCATION OF SINGLE-PRECISION RESULTS,
						; 6205	; AND CHECK FOR CARRY INTO EXPONENT FIELD REQUIRING RENORMALIZATION
						; 6206	
						; 6207	=0*1
U 0031, 0135,3202,2000,0000,0000,0510,0000	; 6208	STRNC:	AR_BR,CLR ARX,J/SRND4		;POS TRUNCATE, GO STUFF IN EXP
U 0035, 0134,0602,2004,0000,0060,0535,0000	; 6209	SRND2:	AR_AR+BR,NORM,CLR ARX		;NORM FORCES LONG ARITH
						; 6210						; SO THIS ADDS ARX TO BR'BRX
						; 6211	=1*0
U 0134, 0135,0301,7000,4001,0020,0010,0000	; 6212	SRND3:	AR_AR*.5,FE_FE+1		;RENORMALIZE
						; 6213	SRND4:	EXP_FE TST,SR DISP,		;STUFF EXP, CHECK NEG OR LONG
U 0135, 0151,3502,0600,0000,2000,0705,0410	; 6214			ARX_ARX*BRX,AD/ANDCB	;CLEAR TRUNCATED FRACTION
						; 6215	
						; 6216	;HERE TO STORE RESULT AS A FUNCTION OF SINGLE OR LONG PRECISION
						; 6217	; AND POSITIVE OR NEGATIVE...
						;;6218	.IF/FPLONG
						;;6219	=001
						; 6220	.IFNOT/FPLONG
						; 6221	=0*1
						; 6222	.ENDIF/FPLONG
U 0151, 0016,0001,0000,0000,0005,1633,0000	; 6223	SRND5:	SR_0,B WRITE,J/ST6		;POS & NOT LONG
						;;6224	.IF/FPLONG
						;;6225	SLNG3:	AC0_AR,AR_0S,SC_#,#/27.,J/SLNG4	;STORE HIGH PART OF LONG ANS
						; 6226	.ENDIF/FPLONG
U 0155, 0016,5163,7000,0000,0025,1633,0000	; 6227		AR_-AR,SR_0,B WRITE,J/ST6	;NEG & NOT LONG
						;;6228	.IF/FPLONG
						;;6229		AR_-AR LONG,J/SLNG3		;LONG NEG, MAKE IT SO
						;;6230	
						;;6231	SLNG4:	AR_SHIFT,I FETCH
						;;6232		AR0-8_FE-SC,BYTE DISP,		;TEST FOR EXP UNDERFLOW
						;;6233			SKP AR EQ		; OR LOW WORD ZERO
						;;6234	
						;;6235	=110
						; 6236	.ENDIF/FPLONG
U 1632, 0136,4001,0000,0000,0000,1610,0000	; 6237	STRAC1:	SR_0,J/STAC1			;PUT AWAY LOW WORD OF LONG RESULT
						;;6238	.IF/FPLONG
						;;6239		AR_0S,SR_0,J/STAC1		;CLEAR LOW WORD IN AC1
						; 6240	.ENDIF/FPLONG
						; 6241	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 13
; FP.MIC[4,24]	15:33 8-Feb-86				DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV	

						; 6242	.TOC	"DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV"
						; 6243	
						; 6244		.DCODE
D 0110, 4001,1101				; 6245	110:	R,	B/0,	J/DFLOAT	;DFAD
D 0111, 4200,1101				; 6246		R,	B/2,	J/DFLOAT	;DFSB
D 0112, 4400,1101				; 6247		R,	B/4,	J/DFLOAT	;DFMP
D 0113, 4601,1101				; 6248		R,	B/6,	J/DFLOAT	;DFDV
						; 6249		.UCODE
						; 6250	
						; 6251	=0****00**0*
						; 6252	DFLOAT:	FE_EXP,EXP_SIGN.S,SC/SCAD,MQ_0.S,;[414]
						; 6253			VMA_VMA+1,LOAD ARX,
U 1101, 1045,0001,0000,0203,1013,3662,0300	; 6254			CALL.S,J/XFERW		;GET LOW WORD
U 1103, 0640,3701,0500,0000,0000,0033,0000	; 6255		ARX_ARX*2,B DISP		;LOW BIT 0 IGNORED
						; 6256	=
						; 6257	=00*
U 0640, 0230,3200,5061,0000,0020,0010,0000	; 6258	DFAS:	BR_AR LONG,AR_AC1*2,J/DFAS1	;MEM OP READY, GET AC OP
						; 6259	
U 0642, 0640,5163,7700,0000,0020,0027,0000	; 6260		AR_-AR LONG,J/DFAS		;DFSB, NEGATE AND ADD
						; 6261	
						; 6262		BR_AR LONG,GEN ARX,SKP AD NE,	;[241]HERE FOR DOUBLE FLT MUL
U 0644, 2044,3713,0060,0301,0020,5610,0756	; 6263			FE_#,#/-18.,J/DFMP	;[241]BEGIN TEST FOR STICKY BIT
						; 6264	
						; 6265		GEN AR*AC0,AD/XOR,SKP AD0,	;DFDV.  WILL QUO BE NEG?
						; 6266			BR_AR LONG,		;SAVE D'SOR IN BR, BRX
U 0646, 1520,3100,0060,3022,0020,5510,0000	; 6267			SC_FE-1,J/DFDV
						; 6268	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 14
; FP.MIC[4,24]	15:33 8-Feb-86				DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV	

						; 6269	;HERE FOR DFAD AND DFSB
						; 6270	; MEM OPERAND IS IN BR (NEGATED IF DFSB)
						; 6271	; FE AND SC HAVE ITS EXPONENT
						; 6272	
						; 6273	=0*0
U 0230, 2026,3200,2400,0000,1020,0050,0000	; 6274	DFAS1:	ARX_AR,AR_AC0,CALL,J/EXPD	;AC OPERAND IN PLACE
						; 6275	=1*0
						; 6276	DFAS2:	ARX_AR,AR_SIGN,			;GET SHIFTED HIGH WORD
						; 6277			GEN #+SC,#/-36.,	;IS ANY SHIFT REQUIRED?
U 0234, 2032,5401,2400,2300,1020,5116,0734	; 6278			SKP SCAD0,J/DFAS3
						; 6279		ARX_AR,AR_SIGN,			;DIFF IS > 36
U 0235, 2030,5401,2400,2302,1020,5116,0044	; 6280			SC_#+SC,#/36.,SKP SCAD0	;CHECK FOR >72
						; 6281	=0	AC0_AR,MQ_SHIFT,AR_ARX (ADX),
U 2030, 1662,3701,6310,0000,0000,1010,0000	; 6282			ARX/MQ,J/DFAS6		;[241]36 < DIFF < 72
						; 6283		AR_BR,ARL/AD,ARX_BRX,		;DIFF >72
U 2031, 1466,3202,2600,0000,0001,0010,0102	; 6284			MQ_0.M,J/DNTRY		;NORMALIZE LARGER OP
						; 6285	=0
						; 6286	DFAS3:	AR_ARX,ARL/SH,ARX/MQ,		;NO SHIFT REQUIRED
U 2032, 1661,0001,4300,0000,2001,0010,0104	; 6287			MQ_0.M,J/DFAS5
U 2033, 1636,4001,4000,0000,0000,0010,0000	; 6288		AR_SHIFT			;BEGIN SHIFTING SMALLER OP
U 1636, 1641,4001,4300,0000,2000,1010,0000	; 6289		AC0_AR,AR_ARX,ARX/MQ		;HI PART TO AC
						; 6290		MQ_SHIFT,AR_ARX (ADX),		;MID PART TO MQ
U 1641, 1645,3721,6010,0000,0000,0510,0000	; 6291			CLR ARX			;SHIFT ZEROS IN FROM RIGHT
U 1645, 1661,3200,2310,0000,0020,0010,0000	; 6292	DFAS4:	MQ_SHIFT,ARX/MQ,AR_AC0		;ALL PIECES NOW IN PLACE
						; 6293	DFAS5:	AR_AR+BR,ARX/ADX,SC_#,#/4,	;HERE WHEN OPERANDS ALIGNED
U 1661, 1540,0602,2604,0302,0060,0035,0004	; 6294			NORM,J/DNORM		;ADD, AND NORMALIZE RESULT
						; 6295	
U 1662, 1722,3723,2010,0000,0000,0010,0000	; 6296	DFAS6:	MQ_SHIFT,AR_MQ			;[241]GET H,L, PUT S,H IN AR
U 1722, 1776,3401,4201,0000,2000,1010,0000	; 6297		AC1_AR,AR_ARX,ARX_0S		;[241]STORE S,H
U 1776, 2001,3240,4201,0000,0020,0010,0000	; 6298		ARX_AC1,AR_SHIFT		;[241]GET L,0, GET S,H BACK
U 2001, 2034,3703,0000,0000,0020,5610,0000	; 6299		GEN AR,SKP AD NE		;[241]TEST FOR 0'S,
U 2034, 1661,3240,2000,0000,0020,1610,0040	; 6300	=0	CLR SR3,AR_AC0,J/DFAS5		;[241]DO 2'S COMP, ALL IN PLACE
U 2035, 1661,3240,2000,0000,0020,1610,0061	; 6301		SET SR3,AR_AC0,J/DFAS5		;[241]DO 1'S COMP, ALL IN PLACE
						; 6302	
						; 6303	;SUBROUTINE TO CHOOSE OPERAND WITH SMALLER EXPONENT, AND
						; 6304	; PREPARE FOR SHIFTING IT.
						; 6305	; ENTER WITH ONE OPERAND FRACTION IN BR, ITS EXPONENT IN FE & SC,
						; 6306	; THE OTHER OP IN AR WITH ITS EXPONENT IN AR0-8
						; 6307	; RETURN THE LARGER EXPONENT IN FE, AND 36-(MAGNITUDE OF DIFFERENCE)
						; 6308	; IN SC.  RETURN 4 IF SC POSITIVE, 5 IF NEGATIVE.
						; 6309	
U 2026, 2040,0001,0000,5202,1021,5110,0200	; 6310	EXPD:	SC_EXP-SC,EXP_SIGN,SKP SCAD0	;COMPARE MAGNITUDES
						; 6311	=0	AR_BR,ARX_BRX,BR/AR,BRX/ARX,	;AC OP IS LARGER MAGNITUDE
U 2040, 2052,3242,2660,2001,0000,0010,0000	; 6312			FE_FE+SC,J/EXPD1	;ITS EXP TO FE
						; 6313		MQ_ARX,SC_#+SC,#/36.,		;CHECK FOR EXP DIFF > 36
U 2041, 0004,4001,0010,2302,2020,5103,0044	; 6314			SKP SCAD0,RETURN4
						; 6315	EXPD1:	MQ_ARX,SC_#-SC,#/36.,		;AC EXP .GE. MEM
U 2052, 0004,0001,0010,5302,2020,5103,0044	; 6316			SKP SCAD0,RETURN4	;SHIFT MEM OP
						; 6317	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 15
; FP.MIC[4,24]	15:33 8-Feb-86				DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV	

						; 6318	;DFMP
						; 6319	; DO TESTS FOR STICKY BITS FIRST THEN
						; 6320	; GET HERE WITH MEM OPERAND (M'CAND) IN BR!BRX
						; 6321	; AR HAS (AC1), LOW HALF OF M'IER
						; 6322	
						; 6323	=0
U 2044, 0730,3240,2001,0000,0020,0010,0000	; 6324	DFMP:	AR_AC1,J/DFMP1			;NO STICKY BIT
U 2045, 2050,3240,2001,0000,0020,5610,0000	; 6325		AR_AC1,SKP AD NE		;GET AC LOW AND TEST
U 2050, 0730,0001,0000,0000,0000,0010,0000	; 6326	=0	J/DFMP1				;NO STICKY BIT
U 2051, 0730,0001,0000,0000,0000,1610,0061	; 6327		SET SR3				;WORRY ABOUT IT IN NORM
						; 6328	=00*
						; 6329	DFMP1:	MQ_AR,AR_0S,ARX_0S,		;SETUP LOW M'IER
						; 6330			SC_#+SC,#/-200,		;CORRECT EXPONENT
U 0730, 1241,3441,2210,2302,1000,0050,0600	; 6331			CALL,J/MULREE		;MULTIPLY BY THE LOW PART
U 0734, 0736,0602,2604,0000,0020,0027,0000	; 6332	=10*	AR_AR+BR LONG			;OOPS, LOW SIGN WAS SET
U 0736, 2056,3240,2010,0301,1020,0010,0762	; 6333		MQ_AR,AR_AC0,FE_#,#/-14.	;READY TO CONTINUE WITH HIGH PART
						; 6334	
						; 6335	;HERE TO USE HIGH MULTIPLIER
						; 6336	
						; 6337		SC_EXP+SC,EXP_SIGN,		;[414] EXTRACT EXP FROM HIGH WORD
U 2056, 1462,4001,0000,2202,1001,4510,0200	; 6338			SKP AR0			;CHECK FOR NEG M'IER
						; 6339	=010
U 1462, 1241,3723,2010,0000,1000,0050,0000	; 6340	DFMP2:	MQ_AR,AR_MQ,CALL,J/MULREE	;GO BACK IN FOR HIGH PART
U 1463, 1462,4001,0000,4400,2001,0010,0200	; 6341		EXP_1,J/DFMP2			;OOPS, NEG, MOVE SIGN TO BIT 8
						; 6342	=110
U 1466, 1540,3701,0000,0302,0040,0035,0004	; 6343	DNTRY:	SC_#,#/4,GEN AR,NORM,J/DNORM	;NORMALIZE THE ANSWER
						; 6344	=
						; 6345	
						; 6346	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 16
; FP.MIC[4,24]	15:33 8-Feb-86				DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV	

						; 6347	
						; 6348	;DFDV
						; 6349	; GET HERE WITH DIVISOR IN BR!BRX, ITS EXP-1 IN SC
						; 6350	; SKIP IF D'SOR AND D'END SIGNS DIFFER
						; 6351	
						; 6352	=000
U 1520, 0330,3200,5001,0000,0020,0050,0000	; 6353	DFDV:	AR_AC1*2,CALL,J/DFDV1		;GET LOW D'END, GO START DIVIDE
U 1521, 0330,3200,5001,0000,0020,1650,0062	; 6354		SET SR2,AR_AC1*2,CALL,J/DFDV1	;NOTE NEG QUO
						; 6355	
						; 6356	=011	AC1_AR,AR_MQ,ARL/AD,FE_FE+1,	;HERE FROM DDVSUB. NEW STEP CNT
U 1523, 0663,3721,2001,4001,0001,1050,0102	; 6357			MQ_0.M,CALL.M,J/DIV+	; SAVE HIGH QUO, RESUME
						; 6358	=101	AC1_AR,AR_MQ,ARL/AD,FE_FE+1,
U 1525, 0662,3723,2001,4001,0001,1050,0102	; 6359			MQ_0.M,CALL.M,J/DIV-
						; 6360	
						; 6361	=111	AR_AC1,ARX/MQ,SC_#,#/4,		;POSITIVE QUOTIENT TO AR LONG
U 1527, 1540,3240,2301,0302,0040,0035,0004	; 6362			NORM,J/DNORM		;NORMALIZE AND ROUND
						; 6363	
						; 6364	=00
						; 6365	DFDV1:	ARX_AR,AR_AC0,SKP AD0,		;TEST DIVIDEND SIGN
						; 6366			FE_#,#/26.,		;SETUP COUNT FOR HIGH QUO
U 0330, 1774,3200,2400,0301,1020,5550,0032	; 6367			CALL,J/FDVCHK		;GO CHECK DIVIDABILITY
U 0332, 0762,4001,0000,0000,0000,4210,0000	; 6368	=10	SKP BR0,J/DDVSUB		;BEGIN DIVISION (RETURN ABOVE)
U 0333, 0016,0001,0000,0000,0000,1110,0624	; 6369		SET FL NO DIV,J/IFNOP		;ABORT THE DIVISION
						; 6370	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 17
; FP.MIC[4,24]	15:33 8-Feb-86				DOUBLE PRECISION NORMALIZATION				

						; 6371	.TOC	"DOUBLE PRECISION NORMALIZATION"
						; 6372	
						; 6373	=000
U 1540, 2060,3723,0000,0302,0040,5427,0043	; 6374	DNORM:	SKP ARX+MQ NE,SC_#,#/35.,J/DNZERO	;AR=0
						; 6375		BR/AR,BRX/ARX,AR_MQ COMP,	;RESULT NEG, MAKE POS
U 1541, 2243,2023,2060,0000,0000,1610,0062	; 6376			SET SR2,J/DNNEG		;[241]FLAG NEGATIVE
						; 6377		AR_AR*.25 LONG,MQ_MQ*.25,
U 1542, 2244,3703,7710,2031,0000,0012,0004	; 6378			FE_FE+#,#/4,J/DNHI	;MSB IN AR 1-6
						; 6379		AR_AR*.25 LONG,
U 1543, 1545,3703,7700,2031,0000,0010,0002	; 6380			FE_FE+#,#/2,J/DROUND	;MSB IN AR7
U 1544, 1545,0303,7700,4001,0020,0027,0000	; 6381		AR_AR*.5 LONG,FE_FE+1		;MSB IN AR8
						; 6382	DROUND:	AR_AR+1,ARX/ADX,NORM,		;MSB IS AR9, RIGHT ON
U 1545, 1266,4001,2600,0302,0060,0035,0043	; 6383			SC_#,#/35.,J/DRND1
U 1546, 1545,3703,5500,3001,0000,0710,0001	; 6384		(AR+ARX+MQ)*2,FE_FE-1,J/DROUND	;MSB IN AR10
U 1547, 2073,4001,4000,5001,0000,0010,0000	; 6385		AR_SHIFT,FE_FE-SC		;SOMEWHERE IN AR 11-35
						; 6386	
U 2073, 2074,4001,4340,0000,2000,0010,0000	; 6387	DNSHFT:	BR/AR,AR_ARX,ARX/MQ		;SHIFT THE WHOLE THING
U 2074, 2207,3701,6010,0000,0000,0510,0000	; 6388		MQ_SHIFT,AR_ARX (ADX),CLR ARX
						; 6389		MQ_SHIFT,ARX/MQ,AR_BR,SC_#,#/10.,
U 2207, 1540,3242,2310,0302,0040,0035,0012	; 6390			NORM,J/DNORM		;GIVE IT ANOTHER GO
						; 6391	
U 2243, 0676,4001,0000,0000,0000,0005,0000	; 6392	DNNEG:	SR DISP				;[241]TEST FOR 1'S COMP
U 0676, 2054,4003,2000,0000,0040,5410,0000	; 6393	=1110	AR_AR+1,SKP CRY0,J/DNNEG1	;[241]COMPLETE NEGATION OF MQ
						; 6394		MQ_AR,AR_BR COMP,ARX_BRX COMP,
U 0677, 1540,2542,2610,0000,1040,0035,0000	; 6395			NORM,J/DNORM		;NORMALIZE THE POS FORM
						; 6396	=0
						; 6397	DNNEG1:	MQ_AR,AR_BR COMP,ARX_BRX COMP,
U 2054, 1540,2542,2610,0000,1040,0035,0000	; 6398			NORM,J/DNORM		;NORMALIZE THE POS FORM
U 2055, 1540,5162,2610,0000,1060,0035,0000	; 6399		MQ_AR,AR_-BR,ARX/ADX,NORM,J/DNORM
						; 6400	
U 2244, 1466,3703,7710,0000,0000,0710,0001	; 6401	DNHI:	(AR+ARX+MQ)*.25,J/DNTRY		;GO TRY AGAIN
						; 6402	
						; 6403	=0
U 2060, 0226,3401,2200,0000,0217,1610,0000	; 6404	DNZERO:	SR_0,AR_0S,ARX_0S,I FETCH,J/DLOAD;[413] RESULT = 0, STORE THAT
U 2061, 2073,4001,4000,5001,0000,0010,0000	; 6405		AR_SHIFT,FE_FE-SC,J/DNSHFT	;NOT ZERO, SHIFT AND TRY AGAIN
						; 6406	
						; 6407	=110
U 1266, 1267,0301,7700,4001,0020,0027,0000	; 6408	DRND1:	AR_AR*.5 LONG,FE_FE+1		;ROUNDING BLEW THE NORM, GO RIGHT
						; 6409		EXP_FE TST,SR DISP,CLR MQ,	;STUFF EXP IN, CHECK RESULT SIGN
U 1267, 0735,4041,0220,0000,2020,0705,0413	; 6410			BRX/ARX,ARX_1		;READY IF NEGATION NECESSARY
						; 6411	
						; 6412	=1101	AC0_AR,AR_SHIFT,ARX_BRX,	;[241] STORE HIGH WORD, READY LOW
U 0735, 0141,3202,4600,0000,0217,1010,0000	; 6413			I FETCH,J/STD1
						; 6414		ARX_ARX*BRX,AD/ANDCA,SR_0,	;CLEAR ROUNDING BIT
U 0737, 2252,3002,0620,0000,0000,1610,0000	; 6415		    BRX/ARX			;[413] and force BRX non zero
U 2252, 0431,5143,7700,0000,0020,0027,0000	; 6416	CDBLST:	AR_-AR LONG,J/DBLST		;[345] NEGATE RESULT AND STORE
						; 6417	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT DOUBLE PRECISION ARITHMETIC			

						; 6418	.TOC	"GFLT DOUBLE PRECISION ARITHMETIC"
						; 6419	
						; 6420	.IF/EXTEXP
						; 6421	
						; 6422		.DCODE
D 0102, 4000,1700				; 6423	102:	R,	B/0,	J/EDFLOT	;GFAD
D 0103, 4201,1700				; 6424	103:	R,	B/2,	J/EDFLOT	;GFSB
D 0106, 4401,1700				; 6425	106:	R,	B/4,	J/EDFLOT	;GFMP
D 0107, 4600,1700				; 6426	107:	R,	B/6,	J/EDFLOT	;GFDV
						; 6427		.UCODE
						; 6428	
						; 6429	=0****00**0*
						; 6430	EDFLOT:	VMA_VMA+1, LOAD ARX,
U 1700, 1045,4001,0000,0000,0013,3662,0100	; 6431			MQ_0.S, CALL [XFERW]
U 1702, 1560,3701,0507,0000,0000,1033,0176	; 6432		FM[E0]_AR, ARX_ARX*2, B DISP	;mem high to E0, do instruction
						; 6433	=
						; 6434	
						; 6435	=000
U 1560, 2212,4001,0000,0000,0000,4550,0000	; 6436	EDFL1:	SKP AR0, CALL [ISOEXP]		;save mem high word in E0.
U 1561, 2062,0001,0007,0000,0000,1010,0172	; 6437		FM[T2]_AR, J/EF1		;save mem exp in T2.
U 1562, 1563,5163,7700,0000,0020,0027,0000	; 6438		AR_-AR LONG			;subtract now same as add.
U 1563, 1560,0001,0007,0000,0000,1010,0176	; 6439		FM[E0]_AR, J/EDFL1		;save "positive" exponent
U 1564, 2212,4001,0000,0000,0000,4550,0000	; 6440	=100	SKP AR0, CALL [ISOEXP]		;isolate mem exp in AR.
						; 6441		BR/AR, GEN ARX, SKP AD NE,	;start test for sticky bits.
U 1565, 2130,3713,0040,0000,0020,5610,0000	; 6442			J/EFMP
						; 6443	=110	BR/AR, GEN AR, SKP AD0, 	;save mem high in br.
U 1566, 2212,3703,0040,0000,0020,5550,0000	; 6444			CALL [ISOEXP]		;get mem exp
U 1567, 2614,3441,2007,0000,0000,1010,0172	; 6445		FM[T2]_AR, AR_0S, J/EFDV0	;save mem exp in T2. No sticky bits.
						; 6446	=0
U 2062, 2212,3200,2000,0000,0020,5550,0000	; 6447	EF1:	AR_AC0, SKP AD0, CALL [ISOEXP]	;get AC op
U 2063, 2256,4001,0047,0000,0000,1010,0165	; 6448		FM[E1]_AR, BR/AR		;save AC exp in E1
						; 6449			
						; 6450	;Now have positive mem exponent in T2, pos AC exp in E1.
						; 6451	;Save larger exp in T2 and exp diff if less than 340 in SC.
						; 6452		[AR]_[AR]*FM[T2], AD/A-B,	;AR gets exp diff.
U 2256, 0420,5100,2007,4000,0040,5510,0172	; 6453			SKP AD0			;AR get exp diff, BRX gets exp.
U 0420, 2366,0001,0000,0302,0000,0050,0003	; 6454	=00	SC_#, #/3, CALL [EXPDIF]	;test for exp diff >72.
U 0421, 0430,4001,0040,0000,0000,0010,0000	; 6455		BR/AR, J/EF3A			;mem op larger.
U 0422, 2326,3242,2000,0000,0000,0010,0000	; 6456		AR_BR, J/EF5			;restore exp to AR.
U 0423, 2656,3260,2007,0401,0020,0010,0165	; 6457		[AR]_FM[E1], CLR FE, J/ACNORM	;exp diff too large, norm AC op.
						; 6458	=00
U 0430, 2366,5142,2000,0302,0020,0050,0003	; 6459	EF3A:	AR_-BR, SC_#, #/3, CALL [EXPDIF];mem larger, get positive diff.
U 0432, 2272,3242,2000,0000,0000,0010,0000	; 6460	=10	AR_BR, J/EF3B			;restore exponent to AR.
U 0433, 2652,3240,2007,0401,0020,0010,0172	; 6461		[AR]_FM[T2], CLR FE, J/MEMNRM	;exp diff > 72. norm mem op.
U 2272, 2276,3203,5000,0000,0000,0010,0000	; 6462	EF3B:	AR_AR*8				;move exp difference into AR0-8.
						; 6463		FE_AR0-8,			;mem larger, op doable.
U 2276, 2100,3240,2000,2421,0020,0010,0000	; 6464			AR_AC0			;save smaller AC op in T0,T1
U 2100, 2362,4001,0007,0000,0000,1050,0166	; 6465	=0	FM[T0]_AR, CALL [EF5B]
U 2101, 2312,4001,0007,0000,0000,1010,0171	; 6466		FM[T1]_AR
U 2312, 2316,3260,2007,0000,0020,0010,0176	; 6467		[AR]_FM[E0]			;save larger mem op in AC0,AC1
U 2316, 2324,4001,4000,0000,2000,1010,0000	; 6468		AC0_AR, AR_ARX
U 2324, 2110,0001,0001,0000,0000,1010,0000	; 6469		AC1_AR, J/EF5A			;all set to shift and add.
						; 6470	
U 2326, 2330,3203,5000,0000,0000,0010,0000	; 6471	EF5:	AR_AR*8				;move exp difference into AR0-8.
U 2330, 2332,3260,2007,2421,0020,0010,0176	; 6472		FE_AR0-8, [AR]_FM[E0]		;smaller mem op to T0,T1
U 2332, 2104,4001,4007,0000,2000,1010,0166	; 6473		FM[T0]_AR, AR_ARX
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-1
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT DOUBLE PRECISION ARITHMETIC			

U 2104, 2362,4001,0007,0000,0000,1050,0171	; 6474	=0	FM[T1]_AR, CALL [EF5B]
U 2105, 2334,4001,0001,0000,0000,1010,0000	; 6475		AC1_AR				;we expect AC1*2 to be saved.
U 2334, 2336,3260,2007,0000,0020,0010,0165	; 6476		[AR]_FM[E1]			;save larger AC exp in T2
U 2336, 2110,4001,0007,0000,0000,1010,0172	; 6477		FM[T2]_AR, J/EF5A
						; 6478	
U 2362, 0001,3240,5001,0000,0020,0003,0000	; 6479	EF5B:	AR_AC1*2, RETURN1
						; 6480	
						; 6481	;EXPDIF determines if the exponent difference is too large-ie >110 oct.
						; 6482	;The largest allowed value for shifting is 72 decimal. This is 110 octal.
						; 6483	;Since the exponent is in AR1-11, 110 octal has the value 11 in AR1-8.
						; 6484	;It expects the exponent difference in AR0-8.
						; 6485	;It uses AR0-8 and the BR.
						; 6486	;Returns 2 if the difference is ok (<=110).
						; 6487	;Returns 3 if the difference is too large (>110).
U 2366, 2371,0001,0040,0000,0000,0410,0000	; 6488	EXPDIF:	BR/AR, CLR AR			;zero all of those bits.
U 2371, 2372,0001,0000,0000,0000,0110,0010	; 6489		AR0-8_#, #/10			;put in 100 in AR0-11.
U 2372, 0002,5102,0004,0000,0040,5503,0000	; 6490		GEN AR-BR, SKP AD0, RETURN2	;<max diff>-<actual diff>
						; 6491	
						; 6492	;We now have:
						; 6493	; AC0	/ larger op high
						; 6494	; AC1	/ larger op low
						; 6495	; T0	/ smaller op high
						; 6496	; T1	/ smaller op low
						; 6497	; T2	/ larger exponent
						; 6498	; FE	/ exp difference
						; 6499	;We must now sign extend both high ops.
						; 6500	=0
U 2110, 2250,3200,2000,0000,0020,5550,0000	; 6501	EF5A:	AR_AC0, SKP AD0, CALL [SGNEXT]	;get larger high op
U 2111, 2112,0001,0000,0000,0000,1010,0000	; 6502		AC0_AR				;save larger extended op in AC0
						; 6503	=0	[AR]_FM[T0], SKP AD0,		;get smaller high op
U 2112, 2250,3260,2007,0000,0020,5550,0166	; 6504			CALL [SGNEXT]		; and sign extend into AR1-11.
U 2113, 2376,0001,0007,0000,0000,1010,0166	; 6505		FM[T0]_AR			;save smaller extended op in T0
						; 6506	;We are now set to shift the smaller op to align it with the larger op.
U 2376, 2404,3260,2007,0000,0020,0010,0171	; 6507		[AR]_FM[T1]
U 2404, 2406,3240,2407,0000,1020,0013,0166	; 6508		[AR]_FM[T0], ARX_AR, SC_FE	;move diff to SC for next line.
U 2406, 2114,0001,0000,5302,0020,5110,0044	; 6509		SC_#-SC, #/36., SKP SCAD0
U 2114, 2444,5401,2400,0000,1020,0016,0000	; 6510	=0	ARX_AR, AR_SIGN, J/EF10		;FE < 37.
U 2115, 2414,4001,0060,0000,0000,0013,0000	; 6511		BR/AR, BRX/ARX, SC_FE
U 2414, 2416,5441,2400,0000,1020,0016,0000	; 6512		AR_SIGN, ARX_AR
U 2416, 2426,4001,0000,5302,0000,0010,0110	; 6513		SC_#-SC, #/72.
U 2426, 0371,0001,0400,0000,0000,0010,0000	; 6514		ARX_SHIFT			;high is sign, low is sign,,high.
						; 6515	=01	AR_BR LONG, BR/AR, BRX/ARX,	;save new stuff in BR long.
U 0371, 2514,3242,2660,0000,0000,0050,0000	; 6516			CALL [EF12]		;MQ gets lowest word.
U 0373, 2436,0001,0007,0000,0000,1010,0165	; 6517		FM[E1]_AR			;save sticky bits.
U 2436, 2474,3200,2001,0000,0020,0010,0000	; 6518		AR_AC1, J/EF11			;now prepare to add.
U 2444, 2446,3240,4207,0000,0020,0010,0171	; 6519	EF10:	AR_SHIFT, [ARX]_FM[T1]		;shift high op, load low word.
U 2446, 2456,3260,2047,0000,0020,0010,0166	; 6520		BR/AR, [AR]_FM[T0]		;shift low op, load high word.
U 2456, 0451,3713,2400,0000,0000,0010,0000	; 6521		AR_ARX (AD), ARX_SHIFT		;get shifted low word into ARX.
U 0451, 2514,0001,0020,0000,0000,0550,0000	; 6522	=01	BRX/ARX, CLR ARX, CALL [EF12]	;save low word, shift end bits.
U 0453, 2464,4001,0007,0000,0000,1010,0165	; 6523		FM[E1]_AR			;save sticky bits. (word 4 of sum).
U 2464, 2474,3200,2001,0000,0020,0010,0000	; 6524		AR_AC1, J/EF11			;prepare to add.
U 2466, 2474,3200,2061,0000,0020,0010,0000	; 6525		BR/AR, BRX/ARX, AR_AC1		;get larger op in AR,ARX
U 2474, 2476,3240,2400,0301,1020,0010,0000	; 6526	EF11:	ARX_AR, AR_AC0, FE_#, #/0	;smaller op in BR,BRX
						; 6527		AR_AR+BR, ARX/ADX, SC_#, #/3,	;operation done, now normalize.
U 2476, 1740,0602,2604,0302,0060,0035,0003	; 6528			NORM, J/ENORM
						; 6529	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-2
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT DOUBLE PRECISION ARITHMETIC			

U 2514, 2604,3713,2010,0000,0000,0510,0000	; 6530	EF12:	MQ_SHIFT, AR_ARX (AD), CLR ARX,J/SHIFT
						;;6531	.IF/GFTCNV		;[273]
						;;6532	EF12A:	AR_SHIFT, RETURN10
						; 6533	.ENDIF/GFTCNV		;[273]
						; 6534	.ENDIF/EXTEXP
						; 6535	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT MULTIPLY						

						; 6536	.TOC	"GFLT MULTIPLY"
						; 6537	.IF/EXTEXP
						; 6538	=0
U 2130, 2133,0001,0000,0000,0000,0410,0000	; 6539	EFMP:	CLR AR, J/EFMP1			;mem low op is zero, no sticky bits.
U 2131, 2132,3200,5001,0000,0020,5610,0000	; 6540		AR_AC1*2, SKP AD NE		;is AC low op non-zero as well ?
U 2132, 2133,0001,0000,0000,0000,0410,0000	; 6541	=0	CLR AR				;yes, no sticky bits today.
U 2133, 2526,3401,2007,0000,0000,1010,0165	; 6542	EFMP1:	FM[E1]_AR, AR_0S		;set sticky bits.
U 2526, 2536,0001,0000,0000,0000,0110,0200	; 6543		AR0-8_#, #/200			;subtract 200.
U 2536, 2542,3242,2040,0000,0000,0010,0000	; 6544		BR/AR, AR_BR			;swap around exp and 2000.
U 2542, 2140,5102,2004,0402,0020,0010,0000	; 6545		AR_AR-BR, CLR SC		;done, and SC is cleared.
						; 6546	=0	BR/AR, AR_AC0, SKP AD0,		;save exp-2000 in BR.
U 2140, 2212,3240,2040,0000,0020,5550,0000	; 6547			CALL [ISOEXP]		;get AC high and isolate exp.
U 2141, 2544,0602,2000,0000,0020,0010,0000	; 6548		AR_AR+BR			;add exponents together.
U 2544, 2142,0001,0007,0000,0000,1010,0172	; 6549		FM[T2]_AR			;and store the sum in T2.
						; 6550	=0	[AR]_FM[E0], SKP AD0,		;get mem high op sign extended.
U 2142, 2250,3240,2007,0000,0020,5550,0176	; 6551			CALL [SGNEXT]
U 2143, 2567,4001,0000,0301,0000,0010,0756	; 6552		FE_#, #/-18.			;
U 2567, 1640,3200,2061,0000,0020,0010,0000	; 6553		BR/AR, BRX/ARX, AR_AC1		;move mem ops to BR!BRX.
						; 6554	=000	MQ_AR, AR_0S, ARX_0S,		;multiply by low word.
U 1640, 1241,3441,2210,0000,1000,0050,0000	; 6555			CALL [MULREE]
U 1644, 1646,0602,2600,0000,0020,0027,0000	; 6556	=100	AR_AR+BR LONG			;low sign was set, add results.
						; 6557	=110	MQ_AR, AR_AC0, FE_#, #/-13.,	;now continue with high part.
U 1646, 2250,3200,2010,0301,1020,5550,0763	; 6558			SKP AD0, CALL [SGNEXT]	;sign extend the ac high op.
U 1647, 2144,0001,0007,0000,0000,1010,0166	; 6559		FM[T0]_AR			;save sign extended AC op.
						; 6560	;	SKP AR0				;test sign bit to adjust FE.
						; 6561	=0
U 2144, 1660,3723,2010,0000,1000,0010,0000	; 6562	EFMPP1:	MQ_AR, AR_MQ, J/EFMPP2		;swap AR+MQ.
U 2145, 2144,4001,0000,4001,0000,0010,0000	; 6563		FE_FE+1, J/EFMPP1		;inc the FE if number is neg.
						; 6564	=000
						; 6565	EFMPP2:	AD/0S, FE_FE+1, DISP/MUL,	;now multiply by the high word.
U 1660, 0540,3401,0010,4001,0000,0070,0000	; 6566			MQ/MQ*.25, CALL [MULP]
						; 6567	;Since our last multiply step used 2 signs bits instead of a sign bit
						; 6568	;and the MSB, our answer is too low by a power of two for positive numbers
						; 6569	;and too low by a power of 4 for negative numbers.
U 1664, 2574,3703,5500,0000,0000,0710,0001	; 6570	=100	(AR+ARX+MQ)*2, J/EFMPP3		;try this correction factor.
U 1665, 2574,3701,7710,0000,0000,0710,0001	; 6571	=101	(AR+ARX+MQ)*.25, J/EFMPP3	;shouldn't ever get here.
U 1666, 2574,3703,5500,0000,0000,0710,0001	; 6572	=110	(AR+ARX+MQ)*2			;and this for postive numbers.
						; 6573	=
U 2574, 0471,2301,0260,0000,0000,0610,0030	; 6574	EFMPP3:	BR_AR LONG, AR_0.C, ARX_1S	;result to BR!BRX. Build mask.
						; 6575	=01	SC_#, #/10.,			;load SC with shift count.
U 0471, 2604,4001,0000,0302,0000,0050,0012	; 6576			CALL [SHIFT]		;Now have mask of 0,,1777
U 0473, 2576,3242,2660,0000,0000,0010,0000	; 6577		AR_BR LONG, BR_AR LONG		;mask to BR, result TO AR!ARX.
U 2576, 2603,3522,0014,0000,0000,0710,0003	; 6578		MQ_MQ*BR, AD/ANDCB		;clear the last 10 MQ bits.
						; 6579		GEN AR, SC_#, #/3,		;generate NORM bits.
U 2603, 1740,3701,0000,0302,0040,0035,0003	; 6580			NORM, J/ENORM		;conditions set for EE norm.
						; 6581	.ENDIF/EXTEXP
						; 6582	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT DIVIDE						

						; 6583	.TOC	"GFLT DIVIDE"
						; 6584	.IF/EXTEXP
U 2614, 2150,0001,0007,0000,0000,1010,0165	; 6585	EFDV0:	FM[E1]_AR			;no sticky bits on divide.
U 2150, 2250,3242,2000,0000,0020,5550,0000	; 6586	=0	AR_BR, SKP AD0, CALL [SGNEXT]	;sign extend mem high.
						; 6587		GEN AR*AC0, AD/XOR, SKP AD0,	;determine sign of result.
U 2151, 1720,3100,0060,4000,0020,5510,0000	; 6588			BR_AR LONG		;mem op to BR!BRX.
U 1720, 0550,3200,5001,0000,0020,0050,0000	; 6589	=000	AR_AC1*2, CALL [EFDV1]		;start division.
U 1721, 0550,3200,5001,0000,0020,1650,0001	; 6590		SR_1, AR_AC1*2, CALL [EFDV1]	;note result if negative.
						; 6591	
						; 6592	=011	AC1_AR, AR_MQ, ARL/AD, FE_FE+1,	;set step count to 35-2.
U 1723, 0663,3721,2001,4001,0001,1050,0102	; 6593			MQ_0.M, CALL [DIV+]	
						; 6594	=101	AC1_AR, AR_MQ, ARL/AD, FE_FE+1,
U 1725, 0662,3723,2001,4001,0001,1050,0102	; 6595			MQ_0.M, CALL [DIV-]
U 1727, 2616,0001,0000,0401,0000,0410,0000	; 6596	=111	CLR AR, CLR FE			;exp must be adjusted-
U 2616, 2632,4001,0000,0000,0000,0110,0200	; 6597		AR0-8_#, #/200			;  it is currently 2000 too low
U 2632, 2634,0600,2007,0000,0020,0010,0172	; 6598		[AR]_[AR]*FM[T2], AD/A+B	;add in the correction.
U 2634, 2636,4001,0007,0000,0000,1010,0172	; 6599		FM[T2]_AR			;store the corrected exp in T2.
						; 6600		AR_AC1, ARX/MQ, SC_#, #/3,	;get answer ready for norm.
U 2636, 1740,3240,2301,0302,0040,0035,0003	; 6601			NORM, J/ENORM
						; 6602	
						; 6603	=00
						; 6604	EFDV1:	ARX_AR, AR_AC0, SKP AD0, FE_#,	;AC low*2 to ARX, AC high to AR.
U 0550, 2152,3200,2400,0301,1020,5550,0027	; 6605			#/23., CALL [EDVCHK]
U 0552, 0762,4001,0000,0000,0000,4210,0000	; 6606	=10	SKP BR0, J/DDVSUB
U 0553, 0016,0001,0000,0000,0000,1110,0624	; 6607		SET FL NO DIV, J/IFNOP		;no division this time.
						; 6608	
						; 6609	=0
U 2152, 2154,0001,0010,0000,1000,0010,0000	; 6610	EDVCHK:	MQ_AR, J/EDVCH1			;go to an even address.
U 2153, 2152,5163,7700,0000,0020,0027,0000	; 6611		AR_-AR LONG, J/EDVCHK		;make ac op positive.
						; 6612	
						; 6613	=0
U 2154, 2212,4001,0000,0000,0000,4550,0000	; 6614	EDVCH1:	SKP AR0, CALL [ISOEXP]		;op saved in MQ, get exp in AR.
						; 6615		[AR]_[AR]*FM[T2], AD/A-B,	;subtract exponents.
U 2155, 2160,5100,2007,4000,0040,5510,0172	; 6616			SKP AD0			;did this cause an underflow ?
						; 6617	=0
U 2160, 2161,0001,0000,0000,0000,1610,0062	; 6618		SET SR2 			;no, let SR2 denote this.
U 2161, 2162,4001,0007,0000,0000,1010,0172	; 6619	EDVCH2:	FM[T2]_AR			;yes, save exponent in T2 for ENORM.
						; 6620	
						; 6621	=0
U 2162, 2250,3721,2000,0000,0020,5550,0000	; 6622	EDVCH3:	AR_MQ, SKP AD0, CALL [SGNEXT]	;now sign extend the op.
U 2163, 2010,4001,0000,0000,0001,4210,0100	; 6623		SKP BR0, MQ_0.M, J/FDVCK1
						; 6624	.ENDIF/EXTEXP
						; 6625	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT NORMALIZATION					

						; 6626	.TOC	"GFLT NORMALIZATION"
						; 6627	.IF/EXTEXP
						; 6628	;Normalization is done here.
						; 6629	;	The are 8 addresses the can be reached when doing a
						; 6630	;	NORM dispatch. The following table describes the
						; 6631	;	dispatching and how to normalize the fraction and
						; 6632	;	exponent.
						; 6633	;
						; 6634	;	=000	AR=0			AR is zero, check ARX,MQ
						; 6635	;	=001	AR00=1			sign bit on, complement
						; 6636	;	=010	MSB in AR 1-6		shf 4 rt.(a guess)
						; 6637	;	=011	MSB in AR07		sht 2 rt.
						; 6638	;	=100	MSB in AR08		sht 3 rt.
						; 6639	;	=101	MSB in AR09		right on!
						; 6640	;	=110	MSB in AR10		sht 1 lf.
						; 6641	;	=111	MSB in AR 11-35		sht 4 lf.(a guess)
						; 6642	;
						; 6643	;The normalization routine for double precision assumes that
						; 6644	;	the exponent can be found in the FE. As it goes through
						; 6645	;	the normalization process, it adjusts the fraction and
						; 6646	;	the FE by the correct amounts to normalize the number.
						; 6647	;	In GFLT numbers, the exponent may not fit
						; 6648	;	into the FE, so it has to be saved in an accumulator.
						; 6649	;	However, if one assumes initially that the exponent is
						; 6650	;	zero and that it is in the FE, then the same normalization
						; 6651	;	algorithm can be used as in double precision numbers
						; 6652	;	with the realization that at the end of the normalization
						; 6653	;	process the FE contains the correction (EC)  that must be
						; 6654	;	added into the saved exponent (ES)  to produce a 'bit-9'
						; 6655	;	normalized number. Once this correction value is obtained,
						; 6656	;	the 'bit-12' normalized exponent (EN)  is given by
						; 6657	;			EN = ES + EC + 3
						; 6658	
U 2652, 2654,0001,0007,0000,0000,1010,0172	; 6659	MEMNRM:	FM[T2]_AR			;save larger exponent.
U 2654, 2170,3240,2007,0000,0020,5510,0176	; 6660		[AR]_FM[E0], SKP AD0, J/ACNRM1	;get high word, sign extend it
						; 6661	
U 2656, 2676,0001,0007,0000,0000,1010,0172	; 6662	ACNORM:	FM[T2]_AR			;save larger exponent.
U 2676, 2704,3200,5001,0401,0020,0010,0000	; 6663		AR_AC1*2, CLR FE		;get low word*2 into AR.
U 2704, 2170,3200,2400,0000,1020,5510,0000	; 6664		ARX_AR, AR_AC0, SKP AD0		;get high word, sign extend it.
						; 6665	=0
						; 6666	ACNRM1:	[AR]_[AR]*FM[EXPMSK], AD/AND,	;sign extend with 0's.
U 2170, 1740,3600,2007,4000,0040,0035,0164	; 6667		NORM, J/ENORM
						; 6668		[AR]_[AR]*FM[EXPMSK], AD/ORCB,	;sign extend with 1's.
U 2171, 1740,2700,2007,4000,0040,0035,0164	; 6669			NORM			;fall into the normalize routine.
						; 6670	
						; 6671	=000
						; 6672	ENORM:	SKP ARX+MQ NE, SC_#, #/35.,	;AR=0,check ARX,+MQ.
U 1740, 2210,3723,0000,0302,0040,5427,0043	; 6673			J/ENZERO
						; 6674		BR/AR, BRX/ARX, AR_MQ COMP,	;result neg, complement.
U 1741, 2721,2021,2060,0000,0000,1610,0061	; 6675			SET SR3, J/ENNEG	;flag negative seen.
						; 6676		AR_AR*.25 LONG, MQ_MQ*.25,	;MSB in AR 1-6.
U 1742, 2746,3701,7710,2031,0000,0012,0004	; 6677			FE_FE+#, #/4, J/ENHI
						; 6678		AR_AR*.25 LONG, FE_FE+#,	;MSB in AR07.
U 1743, 1745,3701,7700,2031,0000,0010,0002	; 6679			#/2, J/EROUND		;
U 1744, 1745,0301,7700,4001,0020,0027,0000	; 6680		AR_AR*.5 LONG, FE_FE+1		;MSB in AR08.
						; 6681	EROUND:	BR_AR LONG, AR+MQ_0.S,	 	;MSB in AR09, where we want it.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4-1
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT NORMALIZATION					

U 1745, 2751,0001,0060,0000,0000,0022,0130	; 6682			J/ERND1			;put result in BR!BRX.
						; 6683		(AR+ARX+MQ)*2, FE_FE-1,		;MSB in AR10.
U 1746, 1745,3701,5500,3001,0000,0710,0001	; 6684			J/EROUND
U 1747, 2706,4001,4000,5001,0000,0010,0000	; 6685		AR_SHIFT, FE_FE-SC		;MSB somewhere in AR 11-35.
						; 6686	
U 2706, 2714,0001,4340,0000,2000,0010,0000	; 6687	ENSHFT:	BR/AR, AR_ARX, ARX/MQ		;shift everyone.
U 2714, 2716,3701,6010,0000,0000,0510,0000	; 6688		MQ_SHIFT, AR_ARX (ADX), CLR ARX
						; 6689		MQ_SHIFT, ARX/MQ, AR_BR,	;go aroung again.
						; 6690			SC_#, #/10.,
U 2716, 1740,3202,2310,0302,0040,0035,0012	; 6691			NORM, J/ENORM
						; 6692	
U 2721, 2172,3200,0007,0000,0020,5610,0165	; 6693	ENNEG:	GEN E1, SKP AD NE		;any sticky bits left around?
U 2172, 2202,4001,2000,0000,0040,5410,0000	; 6694	=0	AR_AR+1, SKP CRY0, J/ENNEG1	;no, 2's comp MQ.
						; 6695		MQ_AR, AR_BR COMP, ARX_BRX COMP,
U 2173, 1740,2502,2610,0000,1040,0035,0000	; 6696			NORM, J/ENORM		;one's complement to finish.
						; 6697	=0
						; 6698	ENNEG1:	MQ_AR, AR_BR COMP, ARX_BRX COMP,
U 2202, 1740,2502,2610,0000,1040,0035,0000	; 6699			NORM, J/ENORM		;one's complement to finish.
						; 6700		MQ_AR, AR_-BR, ARX/ADX,		;carry happened, do two's comp.
U 2203, 1740,5142,2610,0000,1060,0035,0000	; 6701			NORM, J/ENORM
						; 6702	
U 2746, 3227,3701,7710,0000,0000,0710,0001	; 6703	ENHI:	(AR+ARX+MQ)*.25, J/ENTRY	;go try again after setting SC.
						; 6704	=0
U 2210, 0226,3401,2200,0000,0217,1610,0000	; 6705	ENZERO:	SR_0,AR_0S,ARX_0S,I FETCH,J/DLOAD;[413] result 0, store in AC,AC+1
U 2211, 2706,4001,4000,5001,0000,0010,0000	; 6706		AR_SHIFT, FE_FE-SC, J/ENSHFT	;not zero, try next 35 bits.
						; 6707	
U 2751, 2753,4041,0500,0000,0020,0010,0000	; 6708	ERND1:	ARX_2+MQ0			;[407] build rounding constant.
U 2753, 2775,3203,0600,0000,0000,0010,0000	; 6709		ARX_ARX*4			;gen a 10 in the ARX for rounding.
U 2775, 1766,0602,2604,0000,0060,0035,0000	; 6710		AR_AR+BR, ARX/ADX, NORM		;do the rounding and test norm.
U 1766, 1767,0301,7700,4001,0020,0027,0000	; 6711	=110	AR_AR*.5 LONG, FE_FE+1		;rounding blew norm, correct it.
						; 6712	
						; 6713	; When we get here the number is 'bit-9' normalized
						; 6714	; in the AR,ARX.  Add the FE + 3 to the exponent
						; 6715	; saved in T2.
						; 6716	; At this point the Extended Exponent must be put
						; 6717	; into the AR after everything is shifted right 3 bits.
						; 6718	; The double precision norm routine does this by:
						; 6719	; EXP_FE TST, SR DISP, CLR MQ, BRX/ARX, ARX_1
						; 6720	
						; 6721	
						; 6722	ERND2:	AR_AR*.25 LONG,		;shift everything 2 bits right.
						; 6723			MQ_MQ*.25,	;	"	"	"
U 1767, 3004,3701,7710,0302,0000,0012,0003	; 6724			SC_#, #/3	;add in correction to FE.
						; 6725		AR_AR*.5 LONG,		;now shift the final bit position.
U 3004, 3007,0301,7700,2002,0020,0027,0000	; 6726			SC_FE+SC	;total exponent correction.
U 3007, 3013,4001,0060,0000,0000,0410,0000	; 6727		BR/AR, BRX/ARX, CLR AR	;save answer in BR,BRX.
U 3013, 3024,0001,0000,2400,2001,0110,0000	; 6728		EXP_SC.MS		;get exp corr in AR.
						; 6729		ARX_AR, AR_SIGN,	;get exp into ARX 1-8.
U 3024, 3033,5441,2400,0302,1020,0016,0041	; 6730			SC_#,#/33.	;prepare to shift 3 places.
						; 6731		ARX_SHIFT,		;move exponent into ARX 1-11.
U 3033, 3034,3260,2407,0000,0020,0010,0164	; 6732			[AR]_FM[EXPMSK]	;prepare to build mask in AR.
U 3034, 3042,4001,0000,0000,0000,0110,0400	; 6733		AR0-8_#, #/400		;include AR00 in EXPMSK==>400077,,-1
						; 6734		AR_AR*BR, AD/AND,	;zero AR1-11 to make room for exp.
U 3042, 3046,3602,2004,0302,0000,0010,0043	; 6735			SC_#, #/35.
						; 6736	
						; 6737	; I am sure a few lines of code can be saved around here.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4-2
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT NORMALIZATION					

						; 6738	
U 3046, 3051,3240,2047,0000,0020,0010,0172	; 6739		[AR]_FM[T2], BR/AR	;save high word in BR, load larger exp.
U 3051, 3056,3202,2040,0000,0000,0010,0000	; 6740		AR_BR, BR/AR		;swap around so we can add.
						; 6741		AR_ARX+BR, BR/AR,	;have final exponent, check for problems.
U 3056, 3115,0612,2040,0302,0020,0010,0000	; 6742			SC_#,#/0
U 3115, 0743,0001,0000,0000,0020,0007,0000	; 6743		SH DISP			;any exponent problems ?
						; 6744	=0011	ARX_AR, SC_#, #/35.,	; no problems.
U 0743, 3176,4001,0400,0302,1000,0010,0043	; 6745			J/ENFNL1
						; 6746	ENFNL0:	ARX_AR, SC_#, #/35.,	; no problems.
U 0747, 3176,4001,0400,0302,1000,0010,0043	; 6747			J/ENFNL1
U 0753, 3117,4001,0000,0000,0000,1110,0620	; 6748		SET FLOV,  J/EEOV	; an overflow occurred.
						; 6749			
U 0757, 0775,0001,0000,0000,0000,0005,0000	; 6750		SR DISP			;floating underflow - is it real ?
						; 6751	=1101	;test SR2.
U 0775, 3117,0001,0000,0000,0000,1110,0630	; 6752		SET FXU, J/EEOV		;yes, it is a real underflow.
U 0777, 3117,4001,0000,0000,0000,1110,0620	; 6753		SET FLOV		;no, GFDV saw an overflow before.
						; 6754	
						; 6755	EEOV:	P_P AND #, #/37,	;turn off AR00.
U 3117, 0747,0001,0000,7130,3000,0110,0037	; 6756			J/ENFNL0
						; 6757	
U 3176, 3226,3312,2004,0000,0000,0010,0000	; 6758	ENFNL1:	AR_ARX*BR, AD/OR	;AR now has high word, BRX has low.
U 3226, 0532,4061,0200,0000,0021,0005,0100	; 6759		ARX_1, MQ_0.M, SR DISP	;incase negation of lower word needed.
						; 6760	=10	AC0_AR, AR_SHIFT,	;store high word,
						; 6761			ARX_BRX,	;move low word to ARX.
U 0532, 0141,3202,4600,0000,0217,1010,0000	; 6762			I FETCH, J/STD1	;prepare to store low word and exit.
						; 6763		ARX_ARX*BRX, AD/ANDCA,	; clear rounding bit.
U 0533, 2252,3002,0604,0000,0000,1610,0000	; 6764			SR_0,J/CDBLST	;negate result and store double result.
						; 6765	
U 3227, 1740,3701,0000,0302,0040,0035,0003	; 6766	ENTRY:	SC_#, #/3, GEN AR, NORM, J/ENORM; go normalize again.
						; 6767	.ENDIF/EXTEXP
						; 6768	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT TO INTEGER CONVERSION				

						; 6769	.TOC	"GFLT TO INTEGER CONVERSION"
						; 6770	.IF/EXTEXP
						;;6771	.IF/GFTCNV		;[273]
						;;6772	
						;;6773	;ETXIX routine is used when converting extended exponent data to
						;;6774	;single/double precision integers with rounding/truncation.
						;;6775	;This routine assumes that the AR/ARX contain the extended exponent
						;;6776	;data. It also assumes that the maximum exponent value + 1 of either
						;;6777	;36 or 70 (decimal) are already in the FE. This is the positive exponent
						;;6778	;maximum; the code adjusts for the fact that a negative number can have
						;;6779	;an exponent one greater than a positive number. 
						;;6780	;It uses all of the registers in the EBOX and returns 4 if the
						;;6781	;result is positive and returns 5 if the result is negative
						;;6782	;with the AR/ARX containing the double word integer. It is the
						;;6783	;responsibility of the calling routine to determine whether
						;;6784	;rounding or truncation should be performed and how many words
						;;6785	;to store.
						;;6786	
						;;6787	ETXIX:	ARX_ARX*2		;get low word*2 into ARX.
						;;6788	=0	MQ_AR, SKP AR0,		; get a positive exp in AR.
						;;6789			CALL [ISOEXP]
						;;6790		CLR AR, BR/AR		;clear extraneous bits, save exp.
						;;6791		AR0-8_#, #/200		;test for positive exp.
						;;6792		GEN AR+BR, SKP AD0,	;skip on positive exponent(sum has AD0 on).
						;;6793			AR_0.M		;so exponent test has a clean register.
						;;6794	=0	MEM/ARL IND, CLR/AR+ARX,;exponent must be positive.
						;;6795			RETURN4		;return to caller.
						;;6796		AR0-8_#, #/212, J/ET1	;start range check of positive exponent
						;;6797	
						;;6798	;At this point the exponent is in BR 1-11 and it is positive.
						;;6799	;Now we must determine if it is a small enough positive number
						;;6800	;to make the conversion to integer meaningful.
						;;6801	ET1:	GEN AR-BR, SKP AD0	;do the exponent test.
						;;6802	=0	AR_BR*4, J/ET2		;exp fits in AR0-8, now for final test!
						;;6803		SET AROV, I FETCH, J/NOP;exponent out of range.
						;;6804	ET2:	AR_AR*2			;finish moving exponent into AR0-8.
						;;6805		SC_AR0-8, GEN MQ,	;exponent to SC.
						;;6806			SKP AD0		;max neg exponent is 1 gtr than max pos exp.
						;;6807	=0
						;;6808	ET2A:	AR_MQ, GEN FE-SC,	;shift low word into ARX00-34, caller
						;;6809			SKP SCAD0,	;put max exponent+1 in FE. range check.
						;;6810			J/ET2B
						;;6811		FE_FE+1, J/ET2A		;max neg exp is 1 gtr than max pos exp.
						;;6812	=0
						;;6813	ET2B:	FE_SC, J/ET3		;save exp in FE.
						;;6814		SET AROV, I FETCH, J/NOP;exponent is too large.
						;;6815	ET3:	SC_#, #/12.		;prepare to map AR12 into AR00.
						;;6816	
						;;6817	;We now have the high word in the AR and
						;;6818	;the low word*2 in the ARX. The SC has 12 (dec) to let the
						;;6819	;shifter strip off the sign and exponent of the high word.
						;;6820		AR_SIGN, MQ_SHIFT	;put high 36 integer bits into MQ.
						;;6821		AR_ARX, BR/AR, CLR ARX	;generate low 36 integer bits and
						;;6822		AR_BR, ARX/MQ, MQ_SHIFT,;  put in MQ. High bits to ARX.
						;;6823			SC_FE-#, #/36.,	;check the size of the exponent.
						;;6824			SKP SCAD0	;if exp<36. then high result is sign.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5-1
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT TO INTEGER CONVERSION				

						;;6825	=0	GEN SC, SKP SCAD NE,	;is exponent gtr or geq to 36 ?
						;;6826			J/ET3A
						;;6827		SC_#+SC, #/37., J/ET5	;exponent less than 36.
						;;6828	=0
						;;6829	ET3A:	(AR+ARX+MQ)*2, J/ET3B	;must shift left 1 bit.
						;;6830		BRX/ARX, SC_#+SC, #/1,	;adjust exp, save low word in BRX.
						;;6831			J/ET4
						;;6832	ET3B:	BR_AR LONG, AR_ARX,	;high and low to BR!BRX
						;;6833			SC_#, #/35.,	;get a good exponent for final shifting.
						;;6834			ARX/MQ, J/ET4A	;rest of fraction to ARX.
						;;6835	ET4:	AR_ARX (AD), ARX/MQ,	;exp gtr 36. High result has integer bits.
						;;6836			MQ_SHIFT	;high result to MQ.
						;;6837		AR_MQ, ARX_SHIFT	;put integer bits into ARX.
						;;6838		BR_AR LONG, AR_ARX (AD),;now compute fraction.
						;;6839			CLR ARX		;low integer to AR, pad with zeros in ARX.
						;;6840	ET4A:	AR_BR LONG, MQ_SHIFT,	;restore integer to AR!ARX, fraction to MQ.
						;;6841			SC_#, #/35.,	;low word must have bit 0 same as high.
						;;6842			SKP AD0, RET[4]	;  and return on sign of integer.
						;;6843	=01
						;;6844	ET5:	FM[T0]_AR, AR_ARX (AD),	;sign is high 36 bit result. Save in T0.
						;;6845			ARX/MQ,		;high 36 bits of frac to AR, low 23 to ARX.
						;;6846			MQ_SHIFT,	;low integer result to MQ.
						;;6847			CALL [SHIFT]	;high half of fraction to AR.
						;;6848	
						;;6849	;Now we have the high 36 bits of mantissa in AR, the low 23 bits if mantissa
						;;6850	;in the ARX, the high 36 bit result (the sign bits) in T0 and the low 36 bit
						;;6851	;result in the MQ. Now we compute the fraction to store.
						;;6852		BR/AR, AR_ARX, CLR ARX	;high frac to BR. Now gen low fraction bits.
						;;6853		ARX_SHIFT,		;low fraction bits to ARX.
						;;6854			SC_#, #/35.	;low word must have same sign as high.
						;;6855		GEN ARX*BR, AD/OR,	;gen composite OR of fraction into 1 word.
						;;6856			MQ_AD,		;put this funny fraction in the MQ.
						;;6857			ARX/MQ		;low integer result to ARX.
						;;6858		[AR]_FM[T0], SKP AD0,	;get high result (Sign) back in AR.
						;;6859			RET[4]		;and return to caller.
						; 6860	.ENDIF/GFTCNV		;[273]
						; 6861	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT TO INTEGER CONVERSION				

						; 6862	
						; 6863	;ISOEXP will isolate the exponent in an extended exponent data word.
						; 6864	;It will return the positive representation of the exponent.
						; 6865	;Call with AR containing high order word with "SKP AR0" to do
						; 6866	;correct things with one's complemented exponent in negative numbers.
						; 6867	;It returns 1 with the positive exponent in the AR.
						; 6868	=0
U 2212, 0001,3500,2007,4000,0020,0003,0164	; 6869	ISOEXP:	[AR]_[AR]*FM[EXPMSK],AD/ANDCB,RET[1] ;isolate pos exp in AR1-11.
U 2213, 0001,2400,2007,4000,0020,0003,0164	; 6870		[AR]_[AR]*FM[EXPMSK],AD/NOR,RET[1]   ;isolate neg exp in AR1-11.
						; 6871	
						; 6872	;SGNEXT will extend the sign bit of the AR into AR1-11. Call with
						; 6873	;SKP AR0 so the correct actions are taken for negative numbers.
						; 6874	;It will do a return 1 with either ones or zeroes in AR1-11.
						; 6875	=0
U 2250, 0001,3600,2007,4000,0020,0003,0164	; 6876	SGNEXT:	[AR]_[AR]*FM[EXPMSK], AD/AND, RET[1]  ;extend 0s into AR1-11.
U 2251, 0001,2700,2007,4000,0020,0003,0164	; 6877		[AR]_[AR]*FM[EXPMSK], AD/ORCB, RET[1] ;extend ones into AR1-11.
						; 6878	
						; 6879	;OVTEST will determine if the high order word of a double integer,
						; 6880	;as stored in the AR is all sign bits, ie either it is all zeroes
						; 6881	;or all ones. The call is via "GEN AR, SKP AD NE, J/OVTEST".
						; 6882	;It assumes that the double integer is in the AR/ARX and the SC
						; 6883	;contains 35 decimal.
						; 6884	;OVTEST will store the ARX*.5 and exit if the AR is all sign bits. 
						; 6885	;It will set AROV and jump to NOP if it finds some data bits.
U 3230, 2254,3721,2000,0000,0020,5610,0000	; 6886	OVTST1:	AR_MQ, SKP AD NE		;get the sign bits from the MQ.
						; 6887	=0
U 2254, 3231,4001,4000,0000,0217,0010,0000	; 6888	OVTEST:	AR_SHIFT, I FETCH, J/OVTST2	;the high word is all zeros - ok.
U 2255, 2260,4003,0000,0000,0040,5610,0000	; 6889		GEN AR+1, SKP AD NE		;check to see if it is all ones.
U 2260, 3231,4001,4000,0000,0217,0010,0000	; 6890	=0	AR_SHIFT, I FETCH, J/OVTST2 	;this is simply a negative number.
U 2261, 0217,4001,0000,0000,0217,1110,0420	; 6891		SET AROV, I FETCH, J/NOP	;sorry, we found some data bits.
U 3231, 0217,4001,0000,0000,0000,1010,0000	; 6892	OVTST2:	AC0_AR, J/NOP			;finish the store.
						; 6893	.ENDIF/EXTEXP
						; 6894	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 7
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT DATA CONVERSION INSTRUCTIONS			

						; 6895	.TOC	"GFLT DATA CONVERSION INSTRUCTIONS"
						; 6896	
						; 6897	.IF/EXTEXP
						; 6898		.DCODE
D 0021, 2501,1116				; 6899	021:	EA,	AC,	J/L-GTPI	;GSNGL--Must mate with EXTEND
D 0022, 2000,1114				; 6900		EA,		J/L-SFTE	;GDBLE
						;;6901	.IF/GFTCNV
						;;6902		EA,	B/0,	J/L-GTDI	;GDFIX
						;;6903	024:	EA,	B/2,	J/L-GTSI	;GFIX
						;;6904		EA,	B/4,	J/L-GTDR	;GDFIXR
						;;6905		EA,	B/6,	J/L-GTSR	;GFIXR
						; 6906	.ENDIF/GFTCNV
D 0027, 2000,1111				; 6907	027:	EA,		J/L-DITE	;DGFLTR
D 0030, 2000,1112				; 6908	030:	EA,		J/L-SITE	;GFLTR
D 0031, 2001,1113				; 6909		EA,		J/L-EFSC	;GFSC
						; 6910		.UCODE
						; 6911	
U 3116, 3232,3240,2007,0000,0020,0010,0165	; 6912	3116:	[AR]_FM[E1], J/L-GTSP	; -21-	GSNGL
U 3114, 3247,3260,2007,0000,0020,0010,0165	; 6913	3114:	[AR]_FM[E1], J/L-EDBL	; -22-	GDBLE
						;;6914	.IF/GFTCNV		;[273]
						;;6915	3105:	[AR]_FM[E1], J/L-GTIN	; -23-	DGFIX
						;;6916	3106:	[AR]_FM[E1], J/L-GTIN	; -24-	GFIX
						;;6917	3107:	[AR]_FM[E1], J/L-GTIN	; -25-	DGFIXR
						;;6918	3110:	[AR]_FM[E1], J/L-GTIN	; -26-	GFIXR
						; 6919	.ENDIF/GFTCNV		;[273]
U 3111, 3264,3240,2007,0000,0020,0010,0165	; 6920	3111:	[AR]_FM[E1], J/L-FLTR	; -27-	DGFLTR
U 3112, 3273,3240,2007,0000,0020,0010,0165	; 6921	3112:	[AR]_FM[E1], J/L-DFLT	; -30-	GFLTR
U 3113, 2304,3240,2007,0000,0020,0010,0165	; 6922	3113:	[AR]_FM[E1], J/L-DFSC	; -31-	GFSC
						; 6923	
						; 6924	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 8
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT DATA CONVERSION INSTRUCTIONS			

U 3232, 3233,3703,0000,0000,0312,0010,0000	; 6925	L-GTSP:	VMA_AR, LOAD AR		;-21- GSNGL EDPFP TO SPFP
U 3233, 3234,3240,0003,0000,0022,0022,0100	; 6926		AR_MEM, MQ_0.S		;load high word into AR.
U 3234, 2262,3701,0000,0000,0020,5610,0000	; 6927		GEN AR, SKP AD NE	;check for zeroes.
U 2262, 0216,0001,0000,0000,0217,0010,0000	; 6928	=0	I FETCH, J/STORAC	;high word zero, store it.
U 2263, 2264,0001,0000,0000,0000,3610,0000	; 6929		VMA_VMA+1		;point to mem low word.
						; 6930	=0	ARX_AR, SKP AR0,	;save high word in ARX.
U 2264, 2212,4001,0400,0000,1000,4550,0000	; 6931			CALL [ISOEXP]	;get the excess-2000 exponent.
U 2265, 3235,0001,0040,0000,0000,0410,0000	; 6932		CLR AR, BR/AR		;exp to BR.
U 3235, 3236,4001,0000,0000,0000,0110,0220	; 6933		AR0-8_#, #/220		;largest exponent allowed is 2200.
U 3236, 2270,1102,0004,0000,0040,5510,0000	; 6934		GEN AR-BR-1, SKP AD0	;range check exponent.
U 2270, 3237,0001,0000,0000,0000,0110,0157	; 6935	=0	AR0-8_#, #/157, J/L-GTS1;do lower range check now.(actually too low)
U 2271, 0217,0001,0000,0000,0217,1110,0620	; 6936		SET FLOV, I FETCH, J/NOP;tough
U 3237, 3240,3202,2040,0000,0000,0010,0000	; 6937	L-GTS1:	BR/AR, AR_BR		;swap values around for next subtract.
U 3240, 2274,5102,0004,0000,0040,5510,0000	; 6938		GEN AR-BR, SKP AD0	;do lower range check.
U 2274, 3241,0001,0040,0000,0000,0410,0000	; 6939	=0	BR/AR, CLR AR, J/L-GTS6	;passed. 10 bit path to do last checks.
U 2275, 0217,4001,0000,0000,0217,1110,0630	; 6940		SET FXU, I FETCH, J/NOP	;too low.
U 3241, 3242,0001,0000,0000,0000,0110,0160	; 6941	L-GTS6:	AR0-8_#, #/160		;subtract 1600 to get excess 200 exp.
U 3242, 3243,3202,2040,0000,0000,0010,0000	; 6942		AR_BR, BR/AR		;swap around to do subtract.
U 3243, 3244,5102,2004,0000,0020,0010,0000	; 6943		AR_AR-BR		;got it.
U 3244, 3245,3243,5000,0000,0000,0010,0000	; 6944		AR_AR*8			;move excess-200 exponent over.
						; 6945		FE_AR0-8, AR_ARX,	;put some exponent in FE. High word to AR.
U 3245, 3246,0001,4000,2421,2013,0010,0000	; 6946			LOAD ARX	;low word to ARX.
						; 6947	;This next test determines the relative size of the exponent. If the expo-
						; 6948	;nent is less than 401 then it is a positive exponent and all will be well.
						; 6949	;If the exponent is greater than 400 (actually 700), then the exponent is
						; 6950	;really negative but bit 0 of the FE is off. To correct the sign of the
						; 6951	;exponent and to prevent undeserved FXU later because of the incorrect sign
						; 6952	;bit, we must examine the value of the exponent so as to always get the
						; 6953	;correct sign during normalization.
						; 6954		ARX_MEM, GEN FE-#,	;undeserved FXU happens when FE00 should be
U 3246, 2300,3240,0003,5030,0042,5110,0500	; 6955			#/500, SKP SCAD0;set from previous subtract of 1600.
						; 6956	=0	FE_FE+#, #/777,		;set FE00. Later add will clear it.
						; 6957			ARX_ARX*2,	;low word * 2.
U 2300, 2302,3721,0500,2031,0000,0010,0777	; 6958			J/L-GTS7	;continue.
U 2301, 2302,3721,0500,3001,0000,0010,0000	; 6959		FE_FE-1, ARX_ARX*2	;adjust FE so later add gets right exp.
						; 6960	=0
U 2302, 2250,4001,0000,0000,0000,4550,0000	; 6961	L-GTS7:	SKP AR0, CALL [SGNEXT]	;sign extend high word.
						; 6962		AR_AR*.25 LONG,		;prepare for normalization
						; 6963			FE_FE+#, #/6,	;adjust exponent.
U 2303, 1420,3703,7700,2031,0040,0035,0006	; 6964			NORM, J/SNORM	;finish up.
						; 6965	
U 3247, 3250,3703,0000,0000,0312,0010,0000	; 6966	L-EDBL:	VMA_AR, LOAD AR		;-22- GDBLE SPFP to EXTENDED EXPONENT
U 3250, 3251,3200,0003,0000,0022,0710,0003	; 6967		AR_MEM, CLR MQ
U 3251, 3252,0001,0400,0202,1000,0410,0000	; 6968		SC_EXP, ARX_AR, CLR AR	;correct the expoent, save a copy in the ARX
U 3252, 3253,4001,0007,0000,0000,1010,0165	; 6969		FM[E1]_AR		;no sticky bits here.
U 3253, 3254,0001,0000,2400,2001,0010,0200	; 6970		EXP_SC			;put the "positive" exponent back IN THE AR.
U 3254, 3255,0301,7000,0000,0020,0010,0000	; 6971		AR_AR*.5		;must move exponent into AR4-11
U 3255, 3256,3701,7000,0000,0000,0010,0000	; 6972		AR_AR*.25		;  done.
U 3256, 3257,4001,0040,0000,0000,0410,0000	; 6973		BR/AR, CLR AR		;exp to BR.
U 3257, 3260,0001,0000,0000,0000,0110,0160	; 6974		AR0-8_#, #/160		;put 1600 in the AR for exp conversion
U 3260, 3261,0602,2000,0301,0020,0010,0775	; 6975		AR_AR+BR, FE_#, #/-3	;convert exp, set initial exp correction
U 3261, 3262,0001,4007,0000,2000,1010,0172	; 6976		FM[T2]_AR, AR_ARX	;save exp for ENORM, frac to AR
U 3262, 3263,0001,0000,0000,1001,0610,0240	; 6977		EXP_SIGN.C, ARX_0.M	;get rid of exp, clear low word
						; 6978		GEN AR, SC_#, #/3, NORM,;normalize an extended exponent number
U 3263, 1740,3701,0000,0302,0040,0035,0003	; 6979			J/ENORM
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 9
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT DATA CONVERSION INSTRUCTIONS			

						; 6980	
						;;6981	.IF/GFTCNV		;[273]
						;;6982	L-GTIN:	VMA_AR, LOAD AR		;23-26. fetch high word.
						;;6983		AR_MEM, MQ_0.S,		;word in AR, init MQ.
						;;6984			VMA_VMA+1	;prepare to fetch low word.
						;;6985		GEN AR, SKP AD NE	;is high word all zeroes ?
						;;6986	=0	CLR ARX, EXIT DBL	;high word zero, store zeroes.
						;;6987		LOAD ARX, B DISP	;fetch low word, call appropriate routine.
						;;6988	
						;;6989	=000	ARX_MEM, J/L-G23	;do GDP to DP integer, truncate.
						;;6990	=010	ARX_MEM, J/L-G24	;do GDP to SP integer, truncate.
						;;6991	=100	ARX_MEM, J/L-G25	;do GDP to DP integer, rounded.
						;;6992	=110	ARX_MEM, J/L-G26	;do GDP to SP integer, rounded.
						;;6993	=				;terminate this dispatch block.
						;;6994	
						;;6995	;DGFIX needs the sticky bit fix.
						;;6996	=0010
						;;6997	L-G23:	FE_#, #/70.,		;-23- DGFIX GDP to double integer, truncate.
						;;6998			CALL [ETXIX]	;do the conversion
						;;6999	=0110	EXIT DBL		;store results.
						;;7000	=0111	BR_AR LONG, AR_ARX,	;save high 2 words in BR!BRX, MSB of
						;;7001			ARX/MQ,		;fraction to AR35. Rest of fraction to ARX.
						;;7002			SC_#, #/35.,	;get fraction all together.
						;;7003			CALL [EF12A]
						;;7004	=1111	GEN AR, SKP AD NE,	;any fraction bits on ?
						;;7005			MQ_0.S		;[240]CLEAR MQ00 FOR ARX_2 MACRO.
						;;7006	=0	AR_BR LONG, J/ST2AC	;no, leave answer alone.
						;;7007		CLR AR, ARX_2		;yes, add 1 to integer part.
						;;7008		AR_AR+BR LONG, J/ST2AC	;store result.
						;;7009	
						;;7010	;GFIX needs the sticky bit fix.
						;;7011	=0010
						;;7012	L-G24:	FE_#, #/35.,		;-24- GFIX GDP to single integer, truncate.
						;;7013			CALL [ETXIX]	;do the conversion
						;;7014	=0110
						;;7015	L-GTS2:	SKP AR NE, J/OVTEST	;test for sign bits in AR and store.
						;;7016	=0111	BR_AR LONG, AR_ARX,	;save in BR!BRX.
						;;7017			ARX/MQ,		;add one to integer part of negative number
						;;7018			SC_#, #/35.,	;if fraction is not zero.
						;;7019			CALL [EF12A]
						;;7020	=1111	GEN AR, SKP AD NE,	;is fraction zero ?
						;;7021			MQ_0.S		;[240]CLEAR MQ00 FOR ARX_2 MACRO.
						;;7022	=0	AR_BR LONG, SKP AD NE,	;yes, try to store the result.
						;;7023			J/OVTEST
						;;7024		CLR AR, ARX_2		;no, add one to integer part.
						;;7025		AR_AR+BR LONG, SKP AD NE,; do the add and test that the high
						;;7026			J/OVTEST	;word is all sign bits.
						;;7027	
						;;7028	=011
						;;7029	L-G25:	FE_#, #/70.,		;-25- DGFIXR GDP to double integer, rounded.
						;;7030			CALL [ETXIX]	;do the conversion
						;;7031	=111	BR_AR LONG, CLR AR,	;save in BR!BRX, round by adding one half
						;;7032			ARX_1,		;to result. Remember that the MSB of the
						;;7033			SC_#, #/35.	;store routine expects this.
						;;7034		AR_AR+BR LONG, AD FLAGS	;fraction is on ARX35.  Do the rounding and
						;;7035	;=0	; replace SKP CRY0 with AD FLAGS. Eliminates extra word.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 9-1
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT DATA CONVERSION INSTRUCTIONS			

						;;7036		EXIT DBL		;  store the double result.
						;;7037	;	SET AROV, I FETCH, J/NOP;rounding caused an overflow - too bad!
						;;7038	
						;;7039	=011
						;;7040	L-G26:	FE_#, #/35.,		;-26- GFIXR GDP to single integer, rounded.
						;;7041			CALL [ETXIX]	;do the conversion.
						;;7042	=111	BR_AR LONG, CLR AR,	;save in CR!BRX, round by adding one half
						;;7043			ARX_1,		;to result. MSB of the fraction is in ARX35.
						;;7044			SC_#, #/35.	;store routine expects this.
						;;7045		AR_AR+BR LONG, SKP AD NE,;do the rounding.
						;;7046			J/OVTEST	;figure out what, if any, to store.
						; 7047	.ENDIF/GFTCNV		;[273]
						; 7048	L-FLTR:	VMA_AR, LOAD AR,	;-27- DGFLTR DP INTEGER to EDPFP
U 3264, 3265,3701,0000,0301,0312,0010,0137	; 7049			FE_#, #/137	;inital fugde factor for exp
U 3265, 1524,3200,0003,0000,0022,0022,0100	; 7050		AR_MEM, MQ_0.S		;get high word into the AR.
						; 7051	=0*	VMA_VMA+1, LOAD ARX,	;get the low word into the ARX,
U 1524, 1045,0001,0040,0000,0013,3650,0000	; 7052			BR/AR, CALL [XFERW]; and save the high word in the BR.
U 1526, 3266,3701,0500,0000,0000,0410,0000	; 7053	=1*	ARX_ARX*2, CLR AR	;ignore the sign copy.
U 3266, 3267,0001,0007,0000,0000,1010,0165	; 7054		FM[E1]_AR		;no sticky bits here.
U 3267, 3270,4001,0000,0000,0000,0110,0200	; 7055		AR0-8_#, #/200		;ENORM expects the exponent in T2.
						; 7056		FM[T2]_AR, AR_BR,	;and save it in T2.
U 3270, 3271,3202,2217,0000,2000,1010,0172	; 7057			ARX/AD, MQ_ARX	;sign to AR, high to ARX, low to MQ.
U 3271, 3272,5441,2000,0000,0020,0016,0000	; 7058		AR_SIGN 		;
U 3272, 1740,3703,0000,0000,0040,0035,0000	; 7059		GEN AR, NORM, J/ENORM	;restore high word and normalize.
						; 7060	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 10
; EXTEXP.MIC[4,24]	15:33 8-Feb-86			GFLT DATA CONVERSION INSTRUCTIONS			

						; 7061	
						; 7062	L-DFLT:	VMA_AR, LOAD AR,	;-30- GFLTRSP INTEGER to EDPFP
U 3273, 3274,3703,0000,0301,0312,0010,0004	; 7063			FE_#, #/4	;initial fudge factor for exp.
U 3274, 3275,3200,0003,0000,0022,0710,0003	; 7064		AR_MEM, CLR MQ		;get the single precision op.
U 3275, 3276,5401,2400,0000,1020,0016,0000	; 7065		AR_SIGN, ARX_AR		;build a dummy high word of all sign.
U 3276, 3277,0001,0040,0000,0000,0410,0000	; 7066		BR/AR, CLR AR		;save sign, prepare for exponent.
U 3277, 3300,0001,0007,0000,0000,1010,0165	; 7067		FM[E1]_AR		;no sticky bits here.
U 3300, 3301,4001,0000,0000,0000,0110,0207	; 7068		AR0-8_#, #/207		;build an initial exp of 207 for ENORM
						; 7069		FM[T2]_AR, AR_BR,	;save exp for ENORM, restore sign word.
U 3301, 1740,3242,2007,0000,0040,1035,0172	; 7070			NORM, J/ENORM	;and normalize it.
						; 7071	
						; 7072	=0
						; 7073	L-DFSC:	AR_AC0, BR/AR, SKP AD0,	;-31- GFSC EDPFP SCALE
U 2304, 2212,3240,2040,0000,0020,5550,0000	; 7074			CALL [ISOEXP]	;get the exponent into the AR.
U 2305, 3302,3242,2040,0000,0000,0010,0000	; 7075		BR/AR, AR_BR		;put exp in BR, scale factor to AR.
						; 7076		AR_AR SWAP, GEN AC0,	;put scale in left half of AR.
U 3302, 2310,3240,4000,0000,3020,5610,0000	; 7077			SKP AD NE	;is high word zero ?
U 2310, 0011,0001,0000,0000,0001,0010,0170	; 7078	=0	AR+ARX+MQ_0.M, J/ST2AC	;yes, store zero as double result.
						; 7079		AR_SIGN, ARX_AR, SC_#,	;no, move sign and scale factor together.
U 2311, 3303,5441,2400,0302,1020,0016,0042	; 7080			#/34.
U 3303, 3304,4001,4000,0401,0000,0010,0000	; 7081		AR_SHIFT, CLR FE	;sign now in AR00, scale in AR 9-19.
U 3304, 3305,0001,0000,0000,1001,0010,0200	; 7082		EXP_SIGN		;scale sign is in AR00; extend it.
U 3305, 3306,4001,0000,0302,0000,0010,0010	; 7083		SC_#, #/8.		;move scale factor into AR 1-11 and
U 3306, 3307,3200,4201,0000,0020,0010,0000	; 7084		AR_SHIFT, ARX_AC1	; put the sign to left of scale factor.
U 3307, 3310,0602,2004,0000,0020,0710,0003	; 7085		AR_AR+BR, CLR MQ	;add exponent and scale factor.
U 3310, 1023,4001,0000,0000,1020,0007,0000	; 7086		SH/AR, DISP/SH0-3	;check for over and under flovs.
						; 7087	=0011
						; 7088	L-FSC2:	[AR]_[AR]*FM[EXPMSK],	;clear out non-exponent bits.
						; 7089			AD/ANDCB,	;and AR00 in the over or under flow case.
U 1023, 3311,3500,2007,4000,0020,0010,0164	; 7090			J/L-FSC3	; and continue
						; 7091	=0111	[AR]_[AR]*FM[EXPMSK],	;clear out non-exponent bits.
						; 7092			AD/ANDCB,	;
U 1027, 3311,3500,2007,4000,0020,0010,0164	; 7093			J/L-FSC3	; and continue
U 1033, 1023,0001,0000,0000,0000,1110,0620	; 7094	=1011	SET FLOV, J/L-FSC2	;you lose
U 1037, 1023,4001,0000,0000,0000,1110,0630	; 7095	=1111	SET FXU, J/L-FSC2	;ditto
						; 7096	
U 3311, 2314,3701,0507,0000,0000,1010,0172	; 7097	L-FSC3:	FM[T2]_AR, ARX_ARX*2	;save new exponent fofr ENORM.
						; 7098	=0	AR_AC0, SKP AD0,	;get the high word.
						; 7099			SC_#, #/3,	;for ENORM.
U 2314, 2250,3240,2000,0302,0020,5550,0003	; 7100			CALL [SGNEXT]	;and sign extend it for ENORM as well.
U 2315, 1740,3703,0000,0000,0040,0035,0000	; 7101		GEN AR, NORM, J/ENORM	;put the result back together.
						; 7102	
						; 7103	.ENDIF/EXTEXP
						; 7104	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; BLT.MIC[4,24]	16:34 23-May-86				BLT - Neatly Optimized					

						; 7105	.TOC	"BLT - Neatly Optimized"
						; 7106	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						; 7107	;									;
						; 7108	;	This implementation of BLT is a complete rewrite of the		;
						; 7109	;	instruction.  BLT has been substantially optimized by splitting	;
						; 7110	;	the copy loops into three separate loops:  one for PXCT (which	;
						; 7111	;	supports only in section copying, and is clean only in section	;
						; 7112	;	zero or one), one for spraying a single word through a block	;
						; 7113	;	of memory, and one for all other cases (usually normal block	;
						; 7114	;	copies).  In all of these cases we attempt to keep the Mbox	;
						; 7115	;	busy as much as possible by starting each load on the same	;
						; 7116	;	microinstruction that completes the previous store, thus	;
						; 7117	;	eliminating a fair amount of Mbox dead time.  (Stores cannot	;
						; 7118	;	be similarly overlapped, due to the need to wait for the 	;
						; 7119	;	parity check on each load.)  We also avoid the overhead of	;
						; 7120	;	needless state register switching in the non PXCT cases.	;
						; 7121	;									;
						; 7122	;	This code gives up on the backwards BLT idea entirely, since	;
						; 7123	;	that broke many useful programs.				;
						; 7124	;									;
						; 7125	;						--QQSV			;
						; 7126	;									;
						; 7127	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						; 7128	
						; 7129		.DCODE
D 0251, 2000,0311				; 7130	251:	EA,		J/BLT		;BLT--adjoins EXCH
						; 7131		.UCODE
						; 7132	
						; 7133	311:					;[440] Near EXCH
U 0311, 2340,3240,2240,0000,0020,0610,0000	; 7134	BLT:	BR/AR,ARL_ARL,ARR_AC0,ARX/AD	;Generate initial dest address
						; 7135	=0	BRX/ARX,MQ_AR,AR_AR-BR,ARX/AD,	;MQ_current dest address.  Get copy
U 2340, 3315,5102,2234,0302,1020,0050,0022	; 7136		    SC_#,#/18.,CALL [REPLIC]	; count-1; set up for source grab
						; 7137		BR/AR,AR_SHIFT,ARX_ARX+1 (AD),	;Get source address half, and
U 2341, 3312,4013,4240,0000,0020,1617,0407	; 7138		    GEN CRY18,SR_BLT(AC)	; bump both AC halves
U 3312, 3313,5112,2404,0000,1020,0017,0000	; 7139		AR_ARX-BR,GEN CRY18,ARX_AR	;Finish AC; keep initial source
U 3313, 3314,3721,4000,0000,2001,1010,0002	; 7140		AC0_AR,ARL_MQL,ARR_ARX		;Set AC; gen complete source addr
U 3314, 0650,0001,0040,0000,0000,7410,0000	; 7141		BR/AR,SKP P!S XCT		;MQ_source addr; test PXCT
						; 7142	;
						; 7143	;	We are now just about set up.  BR will contain the current source
						; 7144	;	address; MQ will contain the current destination address.  ARX will
						; 7145	;	have -(count-1) of words remaining to be copied; it is incremented
						; 7146	;	each time a word is copied.  Thus, the copy terminates one word
						; 7147	;	AFTER ARX becomes positive (this makes sure that we always copy at
						; 7148	;	least one word).  BRX will contain a copy of ARX that is used only
						; 7149	;	if the instruction must quit prematurely; it is updated each time
						; 7150	;	a store completes.
						; 7151	;
						; 7152	;	Now figure out which loop to use.  If the destination address -
						; 7153	;	the source address = 1, we are spraying a word through memory.
						; 7154	;
						; 7155	=00	GEN BR,LOAD VMA(EA),ARX_BRX,	;Not PXCT. Read the first word
U 0650, 1045,3202,0600,0000,0111,0050,0402	; 7156		    CALL [XFERW]
U 0651, 1701,1723,2000,0000,0020,1610,0307	; 7157		AR_MQ-1,SR_BLT(PXCT SRC),J/BLTPX;PXCT. Back up dest vma, set up SR
U 0652, 2344,1122,0000,0000,0040,5610,0000	; 7158		GEN MQ-BR-1,SKP AD NZ		;Got word. Are we spraying memory?
						; 7159	=
U 2344, 3316,3723,0000,0000,0111,0010,0042	; 7160	=0	GEN MQ,STORE VMA(EA),J/SPRAY	;Yes. Start first store
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-1
; BLT.MIC[4,24]	16:34 23-May-86				BLT - Neatly Optimized					

U 2345, 2360,3723,0000,0000,0131,7610,0042	; 7161		GEN MQ,STORE VMA(EA),SKP AC REF	;No. Test for AC reference
U 2360, 2364,4001,0000,0000,0020,7610,0000	; 7162	=0	SKP AC REF,J/BLTLOD		;Load from memory. Test store
						; 7163		ARX_ARX+1,SIGNS DISP,TIME/3T,	;Load from ACs. Leave SR alone and
U 2361, 1047,4001,0600,0000,0020,0032,0000	; 7164		    J/BLTLUP			; test for completion
						; 7165	;
						; 7166	=0
						; 7167	BLTLOD:	SR_BLT,ARX_ARX+1,SIGNS DISP,	;All references are to memory. Allow
U 2364, 1047,4001,0600,0000,0020,1632,0007	; 7168		    TIME/3T,J/BLTLUP		; shadow AC reference. Test if done
						; 7169	XBLTGO:	ARX_ARX+1,SIGNS DISP,TIME/3T,	;Store to ACs. Leave SR alone. Test
U 2365, 1047,4001,0600,0000,0020,0032,0000	; 7170		    J/BLTLUP			; completion
						; 7171	;
						; 7172	;	REPLIC--Subroutine to swap the ARX and the BRX, and to replicate
						; 7173	;	ARR in ARL.  It just happened to be useful.  Return 1.
						; 7174	;
						; 7175	REPLIC:	BRX/ARX,ARX_BRX,ARL_ARR,ARR_ARR,;Swap and replicate
U 3315, 0001,3202,0620,0000,3000,0603,0004	; 7176		    RETURN [1]
						; 7177	;
						; 7178	;	The main copy loop.  The cache is as overlapped with the Ebox
						; 7179	;	as possible.  (Recall that we cannot immediately store data fresh
						; 7180	;	from memory; the AR_MEM forces an extra cycle of delay for parity
						; 7181	;	checking.)  The SR has been used to set up the proper VMA context
						; 7182	;	for shadow AC reference, so we can use the same loop even if ACs
						; 7183	;	are involved.
						; 7184	;
						; 7185	=0
						; 7186	BLSTOR:	MQ_MQ+1,VMA/AD,STORE,ARX_ARX+1,	;Increment dest VMA and count,
U 2370, 1047,4021,0610,0000,0336,0732,0003	; 7187		    SIGNS DISP,TIME/3T		; start store. Are we done?
						; 7188	=0111
U 1047, 0217,4001,0003,0000,0217,0010,0000	; 7189	BLTLUP:	FIN STORE,I FETCH,J/NOP		;Count expired. All done
						; 7190		FIN STORE,BRX/ARX,AR_BR+1,	;More to do. Increment source VMA,
U 1057, 2374,4642,2023,0000,0332,7010,0000	; 7191		    VMA/AD,LOAD AR,SKP INTRPT	; start the fetch, and test int
U 2374, 2370,3200,0043,0000,0022,0010,0000	; 7192	=0	BR/AR,AR_MEM,J/BLSTOR		;No int. Wait for load and loop
U 2375, 0340,3240,0003,0000,0022,0005,0000	; 7193		AR_MEM,SR DISP,J/CLEAN		;Interrupted. Freeze BLT or XBLT
						; 7194	;
						; 7195	;	If we are spraying memory, we can use VMA_VMA+1 which preserves
						; 7196	;	globality.  Thus it does not matter whether ACs are in use here.
						; 7197	;	Indeed, once it gets started, PXCT can use this loop too.
						; 7198	;
U 3316, 1067,4021,0600,0000,0020,0032,0000	; 7199	SPRAY:	ARX_ARX+1,SIGNS DISP,TIME/3T	;Copying only one word?
						; 7200	=0111
U 1067, 0217,4001,0003,0000,0217,0010,0000	; 7201	SPRAYL:	FIN STORE,I FETCH,J/NOP		;Could be. Spray done
U 1077, 2400,0001,0000,0000,0000,7010,0000	; 7202		SKP INTRPT			;More to do. Test interrupt
						; 7203	=0	FIN STORE,BRX/ARX,VMA_VMA+1,	;No interrupt. Proceed to next
						; 7204		    STORE,ARX_ARX+1,SIGNS DISP,	; store, increment count, and
U 2400, 1067,4021,0623,0000,0036,3632,0000	; 7205		    TIME/3T,J/SPRAYL		; test completion
U 2401, 0340,4001,0023,0000,0002,0005,0000	; 7206		MEM_AR,BRX/ARX,SR DISP,J/CLEAN	;Interrupted. Freeze and clean up
						; 7207	;
						; 7208	;	Finally, the PXCT case.  We will optimize spraying memory (at
						; 7209	;	this writing, TOPS-10 still uses BLT to do that in some cases).
						; 7210	;	Note that this can be used only for copying within a section
						; 7211	;	(usually zero).  The state register must be swapped at each
						; 7212	;	operation (unless we are spraying memory) to activate the proper
						; 7213	;	PXCT bits.  SR bit 0 is off in order to force AC context.
						; 7214	;
						; 7215	=0*
						; 7216	BLTPX:	MQ_AR,VMA_BR,LOAD AR,ARX_BRX,	;Set up dest addr and count, do
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-2
; BLT.MIC[4,24]	16:34 23-May-86				BLT - Neatly Optimized					

U 1701, 1045,3202,0610,0000,1312,1650,0107	; 7217		    SR_BLT(PXCT DST),CALL [XFERW];first load, and shuffle SR
U 1703, 2402,5122,0004,0000,0040,5610,0000	; 7218		GEN MQ-BR,SKP AD NZ		;Is this a single word spray?
						; 7219	=0	VMA_MQ+1,STORE,ARX_ARX+1,	;Yes. Store first word here
U 2402, 1067,4023,0600,0000,0336,0032,0000	; 7220		    SIGNS DISP,TIME/3T,J/SPRAYL	; and use standard loop
						; 7221	PXPUT:	MQ_MQ+1,VMA/AD,STORE,ARX_ARX+1,	;Bump dest VMA and count, start
U 2403, 1127,4023,0610,0000,0336,0732,0003	; 7222		    SIGNS DISP,TIME/3T		; store, and test completion
U 1127, 0217,4001,0003,0000,0217,0010,0000	; 7223	=0111	FIN STORE,I FETCH,J/NOP		;All done. Blow out of here
U 1137, 3317,4001,0000,0000,0000,1610,0307	; 7224		SR_BLT(PXCT SRC)		;More to do. Do the SR shuffle
						; 7225		FIN STORE,BRX/ARX,AR_BR+1,	;Terminate store, freeze count, tick
						; 7226		    INH CRY18,VMA/AD,LOAD AR,	; source VMA, start load,
U 3317, 2410,4662,2023,0000,0332,7011,0000	; 7227		    SKP INTRPT			; and test for interrupt
						; 7228	=0	BR/AR,AR_MEM,SR_BLT(PXCT DST),	;No interrupt. Wait for load and
U 2410, 2403,3240,0043,0000,0022,1610,0107	; 7229		    J/PXPUT			; swap state register
U 2411, 0347,3240,0003,0000,0022,0010,0000	; 7230		AR_MEM,J/BLTFIX			;Interrupt. Common fixup code
						; 7231	;
						; 7232	;	If we get a page fault or an interrupt in the middle of this we
						; 7233	;	end up here.  The BRX keeps an accurate count of the actual
						; 7234	;	transfers complete.  We must subtract one from it, and add the
						; 7235	;	result to both halves of AC0.  ARX is set to -1 on the way in.
						; 7236	;
						; 7237	=0
U 2412, 3315,0602,6000,0000,0020,0050,0000	; 7238	BLTPGF:	AR_ARX+BRX,CALL [REPLIC]	;Set up both halves of AR
U 2413, 3775,0600,2000,4000,0020,0011,0000	; 7239		AR_AR+FM[AC0],INH CRY18,J/PGFAC0;Update AC0, then fault or int
						; 7240	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; BLT.MIC[4,24]	16:34 23-May-86				XBLT--Also Neatly Modernized				

						; 7241	.TOC	"XBLT--Also Neatly Modernized"
						; 7242	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						; 7243	;									;
						; 7244	;	This XBLT rewrite makes use of what we learned when we up-	;
						; 7245	;	graded BLT--indeed, it shares code in a couple of cases.	;
						; 7246	;	Once again, we split this into separate loops, depending	;
						; 7247	;	upon the copy circumstances.  If we are copying forward (the	;
						; 7248	;	most common case), we distinguish the core clearing case, the	;
						; 7249	;	normal copy, and PXCT that does not clear core, using the BLT	;
						; 7250	;	code for the first two cases.  If we are copying backward, we	;
						; 7251	;	do not attempt to optimize clearing core, and there is no need	;
						; 7252	;	for a separate PXCT loop.  As a result, we have only one loop	;
						; 7253	;	for that case.							;
						; 7254	;									;
						; 7255	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						; 7256	
						; 7257	;
						; 7258	;	The dispatch for this instruction has been rewritten so that
						; 7259	;	EXTEND special cases op code 20.  As a result, we no longer
						; 7260	;	need special DRAM for this instruction.  We get here with
						; 7261	;
						; 7262	;	ARX_AC0,SKP AD NZ		;Get copy count. Anything to do?
						; 7263	;
						; 7264	=0
U 2430, 0217,4001,0000,0000,0217,0010,0000	; 7265	XBLT:	I FETCH,J/NOP			;No. This is easy
U 2431, 3320,3200,2021,0000,0020,0010,0000	; 7266		BRX/ARX,AR_AC1			;Yes. Fetch source address
U 3320, 3321,3200,4244,0000,2020,1610,0216	; 7267		BR/AR,AR_ARX,ARX_AC2,SR_XBLT(SRC);Save it, grab destination address
U 3321, 3322,0602,2007,0000,0020,1010,0166	; 7268		FM[T0]_AR,AR_AR+BR		;Save initial count; gen and save
U 3322, 3323,0622,6011,0000,2020,1010,0000	; 7269		AC1_AR,AR_ARX+BRX,MQ_ARX	;final source addr; MQ_dest address
U 3323, 3324,5162,0604,0000,0021,1010,0030	; 7270		AC2_AR,AR_0.M,ARX_-BRX		;Save final dest addr
						; 7271		AC0_AR,ARX_ARX+1,SIGNS DISP,	;Clear final count; set up internal
U 3324, 1147,4001,0600,0000,0020,1032,0000	; 7272		    TIME/3T			; count. Going forward or backward?
U 1147, 1227,2502,0600,0000,0000,0010,0000	; 7273	=0111	ARX_BRX COMP,J/BLBACK		;Backward. Fix internal count first
						; 7274		BRX/ARX,VMA_BR,LOAD AR,		;Forward. Get first word
U 1157, 3325,3202,0020,0000,0312,1610,0316	; 7275		    SR_XBLT(DST)		; and switch SR
U 3325, 2432,1122,0000,0000,0040,5610,0000	; 7276		GEN MQ-BR-1,SKP AD NZ		;Are we spraying memory?
U 2432, 3330,3240,0003,0000,0022,0010,0000	; 7277	=0	AR_MEM,J/XSPRAY			;Yes. Wait; then start spray
U 2433, 2434,3200,0003,0000,0022,7410,0000	; 7278		AR_MEM,SKP P!S XCT		;No. Is this PXCT?
U 2434, 2365,3723,0000,0000,0316,0010,0000	; 7279	=0	VMA_MQ,STORE,STORE,J/XBLTGO	;No. Store first word and loop
U 2435, 3326,1721,0010,0000,0020,0710,0003	; 7280		MQ_MQ-1				;Yes. Back up to get correct start
						; 7281	;
						; 7282	;	The PXCT case.  As with BLT, this requires state register swapping.
						; 7283	;
						; 7284	XBLPX:	MQ_MQ+1,VMA/AD,STORE,ARX_ARX+1,	;Increment dest pointer, store word
U 3326, 1167,4021,0610,0000,0336,0732,0003	; 7285		    SIGNS DISP,TIME/3T		;Are we done yet?
U 1167, 0217,4001,0003,0000,0217,0010,0000	; 7286	=0111	FIN STORE,I FETCH,J/NOP		;Yes. Leave now
U 1177, 3327,0001,0000,0000,0000,1610,0216	; 7287		SR_XBLT(SRC)			;No. Switch state register
						; 7288		FIN STORE,BRX/ARX,AR_BR+1,	;Terminate store, tick source, and
U 3327, 2442,4662,2023,0000,0332,7010,0000	; 7289		    VMA/AD,LOAD AR,SKP INTRPT	; start next load. Interrupted?
						; 7290	=0	BR/AR,AR_MEM,SR_XBLT(DST),	;No. Wait for load and swap SR
U 2442, 3326,3240,0043,0000,0022,1610,0316	; 7291		    J/XBLPX
U 2443, 0356,3240,0003,0000,0022,0010,0000	; 7292		AR_MEM,J/XBLFIX			;Yes. Clean up, then interrupt
						; 7293	;
						; 7294	;	Spray a word through memory.  Get it started.
						; 7295	;
U 3330, 3316,3723,0000,0000,0316,0010,0000	; 7296	XSPRAY:	VMA_MQ,STORE,J/SPRAY		;Start spray properly for XBLT
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2-1
; BLT.MIC[4,24]	16:34 23-May-86				XBLT--Also Neatly Modernized				

						; 7297	;
						; 7298	;	Copy is going backwards.  We must spend a cycle to generate a -1
						; 7299	;	(since there is no way to generate something like AR_BR-1); the
						; 7300	;	extra cycle gives us time to swap the state register.  Thus there
						; 7301	;	is no need for special PXCT code.  We could make a backwards
						; 7302	;	memory spray run faster, but it doesn't seem worth the bother.
						; 7303	;	Note that both source and destination start out at one greater
						; 7304	;	than the actual first address used, so we do not need special
						; 7305	;	startup code.
						; 7306	;
						; 7307	BACLUP:	MQ_MQ-1,VMA/AD,STORE,		;Decrement destination pointer and
U 3331, 1227,1721,0010,0000,0336,0732,0003	; 7308		    SIGNS DISP,TIME/3T		; store word. Are we done?
						; 7309	=0111
						; 7310	BLBACK:	MEM_AR,BRX/ARX,ARX_1S,		;More to do. Keep count and set to
U 1227, 3332,2341,0223,0000,0002,1610,0216	; 7311		    SR_XBLT(SRC),J/BACKLD	; decrement count and source addr
U 1237, 0217,4001,0003,0000,0217,0010,0000	; 7312		FIN STORE, I FETCH,J/NOP	;All done. Get out
						; 7313	;
						; 7314	BACKLD:	AR_ARX+BR,VMA/AD,LOAD AR,	;Decrement pointer, fetch next word
U 3332, 2450,0612,2604,0000,0332,7010,0000	; 7315		    ARX_ARX+BRX,TIME/3T,SKP INTRPT; Decrement count. Interrupted?
U 2450, 3331,3240,0043,0000,0022,1610,0316	; 7316	=0	BR/AR,AR_MEM,SR_XBLT(DST),J/BACLUP;No. Wait; then loop on
U 2451, 0356,3240,0003,0000,0022,0010,0000	; 7317		AR_MEM,J/XBLFIX			;Yes. Clean up before taking it
						; 7318	;
						; 7319	;	XBLT freeze comes here.  If we have an interrupt, we must restore
						; 7320	;	all three ACs to a usable state.  T0 tells which direction we are
						; 7321	;	going (the restore count must be generated differently for each
						; 7322	;	direction).
						; 7323	;
						; 7324	;	GEN FM[T0],SKP AD0		;Which way are we copying?
						; 7325	=0
U 2452, 3337,2301,0200,0000,0000,0010,0000	; 7326	XBLFRZ:	ARX_1S,J/FORSUB			;Forward. Must subtract one
U 2453, 3333,4642,6000,0000,0020,0010,0000	; 7327		AR_BRX+1			;Backward. Add one to count
U 3333, 3334,0600,2441,0000,1020,1610,0000	; 7328	FORFRZ:	BR/AR,ARX_AR,AR_AR+FM[AC1],SR_0	;Keep count. Adjust source addr
U 3334, 3335,0610,0204,0000,0020,0010,0000	; 7329		ARX_ARX+FM[AC2]			;Adjust dest addr
U 3335, 3336,4001,4001,0000,2000,1010,0000	; 7330		AC1_AR,AR_ARX			;Restore source
U 3336, 3775,5162,2004,0000,0020,1010,0000	; 7331		AC2_AR,AR_-BR,J/PGFAC0		;Restore dest and count. Done
						; 7332	;
U 3337, 3333,0602,6000,0000,0020,0010,0000	; 7333	FORSUB:	AR_ARX+BRX,J/FORFRZ		;Subtract one and rejoin
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; BYTE.MIC[4,24]	17:29 14-Mar-86			Single Byte Instructions:  ILDB, LDB			

						; 7334		.TOC	"Single Byte Instructions:  ILDB, LDB"
						; 7335	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						; 7336	;									;
						; 7337	;	The following code represents a complete overhauling of the	;
						; 7338	;	byte oriented PDP-10 instructions.  These instructions have	;
						; 7339	;	been reworked with one and two word global byte pointers in	;
						; 7340	;	mind.  Special emphasis has been placed on high speed oper-	;
						; 7341	;	ation of the one word byte pointers, even where	that has meant	;
						; 7342	;	spending a substantial amount of CRAM; TWGs, by contrast,	;
						; 7343	;	have just been made to work.					;
						; 7344	;									;
						; 7345	;	The approach used for OWLs has been to minimize the amount	;
						; 7346	;	of computation that is not overlapped with memory reference.	;
						; 7347	;	This has been done by carefully initializing the SC and FE	;
						; 7348	;	in such a manner that the next shift count can be computed	;
						; 7349	;	while the current shift is taking place.  The OWG code dis-	;
						; 7350	;	patches into CRAM tables which set up these counts.  This	;
						; 7351	;	requires a lot of CRAM (one word for each possible OWG for	;
						; 7352	;	both loading and depositing bytes), but it eliminates the	;
						; 7353	;	requirement for a memory access to look up that information	;
						; 7354	;	in the EPT.							;
						; 7355	;									;
						; 7356	;						--QQSV			;
						; 7357	;									;
						; 7358	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
						; 7359	
						; 7360	;
						; 7361	;	ILDB--Increment a byte pointer (in memory), then load the byte
						; 7362	;	it specifies into AC.
						; 7363	;	LDB--Load byte specified by byte pointer into AC.
						; 7364	;	The constraints immediately below are necessary to make IBP
						; 7365	;	work.
						; 7366	;
						; 7367		.DCODE
D 0134, 6500,0400				; 7368	134:	RW,	AC,	J/ILDB		;ILDB
D 0135, 4500,0404				; 7369		R,	AC,	J/LDB		;LDB--No write test
						; 7370		.UCODE
						; 7371	
						; 7372	=0****000000
						; 7373	ILDB:	ARX_AR,SC_P-#,#/37.,		;Save word for later dispatch
U 0400, 2042,4001,0400,5132,1020,0074,0045	; 7374			BYTE DISP,CALL [INCRBP]	; Test for OWG, increment BP
						; 7375	=100
						; 7376	LDB:	MEM_AR,ARX_AR,			;Await possible pointer store
U 0404, 0414,4001,0403,5132,1022,0034,0045	; 7377			SC_P-#,#/37.,BYTE DISP	; Save P; split OWL, OWG, TWG
						; 7378	=1100	GEN AR,EXT BYTE READ,SC_FE#,	;An OWG. Start reading the word
U 0414, 1253,3703,0000,0002,1131,0007,0620	; 7379			AR0-3 DISP,J/OWGLDB	; Split the low and high OWGs
						; 7380		MEM_AR,SET FPD,FE_S,		;A simple OWL. Save S and unwind
U 0415, 1474,2301,0003,2411,0002,1176,0100	; 7381			EA MOD DISP,CALL [LDEA]	; byte pointer EA
						; 7382		GEN AR,EXT BYTE READ,SC_FE#,	;An OWG (bit 12 is irrelevant)
U 0416, 1253,3703,0000,0002,1131,0007,0620	; 7383			AR0-3 DISP,J/OWGLDB	; Split the low and high OWGs
U 0417, 0434,4001,0003,0000,0002,7510,0000	; 7384		MEM_AR,SKP -VMA SEC0		;A TWG, maybe. Not in section 0
						; 7385	=11100	FE_S,SET FPD,
U 0434, 1474,2341,0000,2411,0000,1176,0100	; 7386			EA MOD DISP,CALL [LDEA]	;No TWGs in section 0 (treat as OWL)
U 0435, 0436,4001,0000,2411,0011,3610,0610	; 7387		FE_S,READ BP2			;Real TWG. Treat as global indirect
U 0436, 0720,4001,0000,0000,0000,1150,0100	; 7388		SET FPD,CALL [LEAIND]
						; 7389	=11111	FIN LOAD,SC_#-SC,#/-1,		;Wait for byte word. SC = 36-(P+S)
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-1
; BYTE.MIC[4,24]	17:29 14-Mar-86			Single Byte Instructions:  ILDB, LDB			

U 0437, 2454,3200,0003,5302,0237,4710,0777	; 7390			SKP SC0,I FETCH		; Does byte go off the top?
						; 7391	=
						; 7392	=0	CLR FPD,ARX_AR,AR_0S,SC_FE+SC,	;Yes. Byte is at top of word; try
U 2454, 0014,3401,2400,2002,1020,5114,0000	; 7393			SKP SCAD0,J/SHFLOD	; to truncate it. Test if P off top
						; 7394	OWGLOD:	CLR FPD,ARX_SHIFT,AR_0S,	;Normal byte. Put at top of ARX;
U 2455, 0014,3401,2400,0002,0000,0014,0000	; 7395			SC_FE#,J/SHFLOD		; SC = S. Set for final shift
						; 7396	;
						; 7397	;	Load byte from an OWG.  Split P&S in range 45-57 octal (in which
						; 7398	;	case we optimize for a byte size of 6) or 60-77 (optimize for size
						; 7399	;	7.)  (Unfortunately, we can't reasonably optimize for size 8 bytes,
						; 7400	;	as they run from 54 to 60, thus including both ranges.)  The idea
						; 7401	;	here is to set up the shift counts that will be required for the
						; 7402	;	actual byte.  Thus, SC_36.-(P+S) and FE_S.
						; 7403	;
						; 7404	=1011
U 1253, 0040,0001,0000,0301,0020,0007,0006	; 7405	OWGLDB:	FE_#,#/6,SH DISP,J/OWGLOW	;Range is 45-57. Assume size 6
U 1257, 0060,0001,0000,0301,0020,0007,0007	; 7406		FE_#,#/7,SH DISP,J/OWGHIG	;Range is 60-77. Assume size 7
						; 7407	;
						; 7408	=00000
						; 7409	OWGLOW:					;Dummy label (40-44 are OWLs)
						; 7410	=00101	FIN LOAD,I FETCH,CLR FPD,	;45 S=6, P=36 (bad). Clear the AC
U 0045, 0014,3240,0003,0302,0237,0514,0044	; 7411		    CLR ARX,SC_#,#/36.,J/SHFLOD	;
U 0046, 2455,3240,0003,0402,0237,0010,0000	; 7412		FIN LOAD,I FETCH,CLR SC,J/OWGLOD;46 S=6, P=30
U 0047, 2455,3200,0003,0302,0237,0010,0006	; 7413		FIN LOAD,I FETCH,SC_#,#/6,J/OWGLOD;47 S=6, P=24
U 0050, 2455,3200,0003,0302,0237,0010,0014	; 7414		FIN LOAD,I FETCH,SC_#,#/12.,J/OWGLOD;50 S=6, P=18
U 0051, 2455,3200,0003,0302,0237,0010,0022	; 7415		FIN LOAD,I FETCH,SC_#,#/18.,J/OWGLOD;51 S=6, P=12
U 0052, 2455,3200,0003,0302,0237,0010,0030	; 7416		FIN LOAD,I FETCH,SC_#,#/24.,J/OWGLOD;52 S=6, P=6
U 0053, 2455,3200,0003,0302,0237,0010,0036	; 7417		FIN LOAD,I FETCH,SC_#,#/30.,J/OWGLOD;53 S=6, P=0
						; 7418	
						; 7419		FIN LOAD,I FETCH,CLR FPD,	;54 S=8, P=36 (bad). Clear AC with
U 0054, 0014,3240,0003,0302,0237,0514,0044	; 7420		    CLR ARX,SC_#,#/36.,J/SHFLOD	; later shift
U 0055, 3340,0001,0000,0402,0000,0010,0000	; 7421		CLR SC,J/SIZE8L			;55 S=8, P=28. Correct the size
U 0056, 3340,0001,0000,0302,0000,0010,0010	; 7422		SC_#,#/8,J/SIZE8L		;56 S=8, P=20
U 0057, 3340,0001,0000,0302,0000,0010,0020	; 7423		SC_#,#/16.,J/SIZE8L		;57 S=8, P=12
U 0060, 3340,4001,0000,0302,0000,0010,0030	; 7424	OWGHIG:	SC_#,#/24.,J/SIZE8L		;60 S=8, P=4
						; 7425	
						; 7426		FIN LOAD,I FETCH,CLR FPD,	;61 S=7, P=36 (bad). Clear AC with
U 0061, 0014,3240,0003,0302,0237,0514,0044	; 7427		    CLR ARX,SC_#,#/36.,J/SHFLOD	; later shift
U 0062, 2455,3240,0003,0402,0237,0010,0000	; 7428		FIN LOAD,I FETCH,CLR SC,J/OWGLOD;62 S=7, P=29. Ready to shift
U 0063, 2455,3240,0003,0302,0237,0010,0007	; 7429		FIN LOAD,I FETCH,SC_#,#/7,J/OWGLOD;63 S=7, P=22
U 0064, 2455,3240,0003,0302,0237,0010,0016	; 7430		FIN LOAD,I FETCH,SC_#,#/14.,J/OWGLOD;64 S=7, P=15
U 0065, 2455,3240,0003,0302,0237,0010,0025	; 7431		FIN LOAD,I FETCH,SC_#,#/21.,J/OWGLOD;65 S=7, P=8
U 0066, 2455,3240,0003,0302,0237,0010,0034	; 7432		FIN LOAD,I FETCH,SC_#,#/28.,J/OWGLOD;66 S=7, P=1
						; 7433	
						; 7434		FIN LOAD,I FETCH,CLR FPD,	;67 S=9, P=36 (bad). Clear the AC
U 0067, 0014,3240,0003,0302,0237,0514,0044	; 7435		    CLR ARX,SC_#,#/36.,J/SHFLOD
U 0070, 3341,4001,0000,0402,0000,0010,0000	; 7436		CLR SC,J/SIZE9L			;70 S=9, P=27. Correct size
U 0071, 3341,0001,0000,0302,0000,0010,0011	; 7437		SC_#,#/9,J/SIZE9L		;71 S=9, P=18
U 0072, 3341,0001,0000,0302,0000,0010,0022	; 7438		SC_#,#/18.,J/SIZE9L		;72 S=9, P=9
U 0073, 3341,0001,0000,0302,0000,0010,0033	; 7439		SC_#,#/27.,J/SIZE9L		;73 S=9, P=0
						; 7440	
						; 7441		FIN LOAD,I FETCH,CLR FPD,	;74 S=18, P=36 (bad). Clear AC
U 0074, 0014,3240,0003,0302,0237,0514,0044	; 7442		    CLR ARX,SC_#,#/36.,J/SHFLOD
U 0075, 0502,3240,0003,0000,0237,0014,0000	; 7443		FIN LOAD,I FETCH,CLR FPD,J/HLRZ	;75 S=18, P=18. This is HLRZ, folks
U 0076, 0200,3240,0003,0000,0237,0014,0000	; 7444		FIN LOAD,I FETCH,CLR FPD,J/HRRZ	;76 S=18, P=0. Same as HRRZ
						; 7445	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-2
; BYTE.MIC[4,24]	17:29 14-Mar-86			Single Byte Instructions:  ILDB, LDB			

U 0077, 1457,3200,0003,0000,0022,0010,0000	; 7446		AR_MEM,J/ILLOWG			;77 Illegal. Force UUO
						; 7447	;
U 3340, 2455,3240,0003,0301,0237,0010,0010	; 7448	SIZE8L:	FIN LOAD,I FETCH,FE_#,#/8,J/OWGLOD;Fix up all size 8 bytes
U 3341, 2455,3200,0003,0301,0237,0010,0011	; 7449	SIZE9L:	FIN LOAD,I FETCH,FE_#,#/9,J/OWGLOD;Do the same for size 9
						; 7450	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; BYTE.MIC[4,24]	17:29 14-Mar-86			Single Byte Instructions:  DPB, IDPB			

						; 7451		.TOC	"Single Byte Instructions:  DPB, IDPB"
						; 7452	;
						; 7453	;	IDPB--Increment a byte pointer (in memory), then store the rightmost
						; 7454	;	bits of the AC into the byte it specifies.
						; 7455	;	DPB--Store the rightmost bits of the AC into byte specified by
						; 7456	;	pointer.
						; 7457	;	The constraints immediately below are necessary to make IBP
						; 7458	;	work.
						; 7459	;
						; 7460		.DCODE
D 0136, 6601,0500				; 7461	136:	RW,	M,	J/IDPB		;IDPB
D 0137, 4601,0504				; 7462		R,	M,	J/DPB		;DPB--No write test if no increment
						; 7463		.UCODE
						; 7464	
						; 7465	=0****000000
						; 7466	IDPB:	ARX_AR,SC_P-#,#/37.,BYTE DISP,	;Save for dispatch later, test
U 0500, 2042,4001,0400,5132,1020,0074,0045	; 7467			CALL [INCRBP]		; for OWG, increment pointer
						; 7468	=100
						; 7469	DPB:	MEM_AR,ARX_AR,SC_P-#,#/37.,	;Await possible pointer store
U 0504, 0514,0001,0403,5132,1022,0034,0045	; 7470			BYTE DISP		; Save P; test OWL, OWG, TWG
						; 7471	=1100	GEN AR,EXT BYTE RPW,SC_FE#,	;An OWG. Start byte read; SC_2
U 0514, 1273,3701,0000,0002,1131,0007,0760	; 7472			AR0-3 DISP,J/OWGDPB	; Split into OWG groups
						; 7473		MEM_AR,SET FPD,FE_-S,		;An OWL. Save byte size
U 0515, 1554,2301,0003,5411,0002,1136,0100	; 7474			EA MOD DISP,J/DPEA	; and compute byte word address
						; 7475		GEN AR,EXT BYTE RPW,SC_FE#,	;An OWG. See above
U 0516, 1273,3701,0000,0002,1131,0007,0760	; 7476			AR0-3 DISP,J/OWGDPB	; (Bit 12 is irrelevant here)
U 0517, 2460,4001,0003,0000,0002,7510,0000	; 7477		MEM_AR,SKP -VMA SEC0,J/DEPTWG	;Maybe a TWG. Never in section 0
						; 7478	336:					;Constrain for parity (see DPEA)
U 0336, 3343,3200,0010,1401,0020,0713,0003	; 7479	GUDSIZ:	FE_-SC-1,SC_FE,MQ_FM[AC0],J/DEPBYT;Copy byte to MQ; FE_36-P, SC_-S
U 0337, 0336,0001,0000,2301,0000,0010,0001	; 7480	337:	FE_#+SC,#/1,J/GUDSIZ		;Size too large. Force to 36-P
						; 7481	=
						; 7482	=0
						; 7483	DEPTWG:	MEM_AR,SET FPD,FE_-S,		;No TWGs allowed in section 0
U 2460, 1554,2301,0003,5411,0002,1136,0100	; 7484			EA MOD DISP,J/DPEA
U 2461, 3342,4001,0000,5411,0011,3610,0610	; 7485		FE_-S,READ BP2			;A TWG. Start reading second word
U 3342, 0770,0001,0000,0000,0000,1110,0100	; 7486		SET FPD,J/DEAIND		;And dive into indirection loop
						; 7487	;
						; 7488	;	At this point, we have FE = 36-P and SC = -S with memory being
						; 7489	;	loaded into both AR and ARX.  Also, both S and P have been forced
						; 7490	;	into the range 0:36.  The deposit is done with three shifts:
						; 7491	;
						; 7492	;	Shift 1:  AR and ARX have memory; shift count = 36-P
						; 7493	;	Shift 2:  AR has byte to deposit, ARX has previous shift;
						; 7494	;		  shift count = 36-S
						; 7495	;	Shift 3:  AR and ARX have previous shift; shift count = P+S
						; 7496	;
						; 7497	DEPBYT:	AR_MEM,ARX_MEM,TIME/3T,		;Wait for memory load
U 3343, 3344,3240,0003,2301,0022,0013,0044	; 7498			SC_FE,FE_#+SC,#/36.	;SC_36-P, FE_36-S
						; 7499	DEPOWG:	AR_MQ,ARX_SHIFT,		;Fetch byte, do first shift
U 3344, 3345,3723,2400,5301,0000,0013,0110	; 7500			SC_FE,FE_#-SC,#/72.	;SC_36-S, FE_72-(36-P) = 36+P
U 3345, 3346,4001,4400,5002,0000,0010,0000	; 7501		AR_SHIFT,ARX_SHIFT,SC_FE-SC	;Next shift; SC_(36+P)-(36-S) = P+S
						; 7502	RELMEM: AR_SHIFT,STORE,CLR FPD,
U 3346, 0016,0001,4000,0000,0016,1614,0000	; 7503			SR_0,J/STMEM		;Last shift; store and clear FPD
						; 7504	;
						; 7505	;	Deposit byte with an OWG.  Once again, P&S gets split into the
						; 7506	;	ranges 45-57 octal (optimized for size 6) and 60-77 (optimized
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2-1
; BYTE.MIC[4,24]	17:29 14-Mar-86			Single Byte Instructions:  DPB, IDPB			

						; 7507	;	for size 7).  In addition to setting SC to 36-P and FE to 36-S,
						; 7508	;	this code also copies AC to MQ.  Since MQ_FM[] uses the # field,
						; 7509	;	this is accomplished by reading the AC into ARX and then copying
						; 7510	;	it to the MQ just before the cache can step on ARX with the
						; 7511	;	byte data.  The timing for this is a tad hairy, but it seems to
						; 7512	;	work.
						; 7513	;
						; 7514	=1011
						; 7515	OWGDPB:	ARX_FM[AC0],FE_#,#/30.,SH DISP,	;Low range OWG. Assume size 6
U 1273, 0240,3200,0200,0301,0020,0007,0036	; 7516			TIME/3T,J/ODLOW		;Fetch byte to store
						; 7517		ARX_FM[AC0],FE_#,#/29.,SH DISP,	;High range. Assume size 7
U 1277, 0260,3240,0200,0301,0020,0007,0035	; 7518			TIME/3T,J/ODHIGH
						; 7519	;
						; 7520	=00000
						; 7521	ODLOW:					;Another dummy (40-44 are OWLs)
U 0245, 3346,3200,0003,0402,0022,0010,0000	; 7522	=00101	AR_MEM,CLR SC,J/RELMEM		;45 S=6, P=36 (bad). Release memory
U 0246, 3344,3200,0013,0302,2022,0010,0006	; 7523		MQ_ARX,AR_MEM,SC_#,#/6,J/DEPOWG	;46 S=6, P=30. Copy byte to MQ
U 0247, 3344,3200,0013,0302,2022,0010,0014	; 7524		MQ_ARX,AR_MEM,SC_#,#/12.,J/DEPOWG;47 S=6, P=24
U 0250, 3344,3200,0013,0302,2022,0010,0022	; 7525		MQ_ARX,AR_MEM,SC_#,#/18.,J/DEPOWG;50 S=6, P=18
U 0251, 3344,3200,0013,0302,2022,0010,0030	; 7526		MQ_ARX,AR_MEM,SC_#,#/24.,J/DEPOWG;51 S=6, P=12
U 0252, 3344,3200,0013,0302,2022,0010,0036	; 7527		MQ_ARX,AR_MEM,SC_#,#/30.,J/DEPOWG;52 S=6, P=6
U 0253, 3344,3200,0013,0302,2022,0010,0044	; 7528		MQ_ARX,AR_MEM,SC_#,#/36.,J/DEPOWG;53 S=6, P=0
						; 7529	
U 0254, 3346,3200,0003,0402,0022,0010,0000	; 7530		AR_MEM,CLR SC,J/RELMEM		;54 S=8, P=36. Just release memory
U 0255, 3347,4001,0010,0302,2000,0010,0010	; 7531		MQ_ARX,SC_#,#/8,J/SIZE8D	;55 S=8, P=28. Copy byte, fix size
U 0256, 3347,4001,0010,0302,2000,0010,0020	; 7532		MQ_ARX,SC_#,#/16.,J/SIZE8D	;56 S=8, P=20
U 0257, 3347,0001,0010,0302,2000,0010,0030	; 7533		MQ_ARX,SC_#,#/24.,J/SIZE8D	;57 S=8, P=12
U 0260, 3347,4001,0010,0302,2000,0010,0040	; 7534	ODHIGH:	MQ_ARX,SC_#,#/32.,J/SIZE8D	;60 S=8, P=4
						; 7535	
U 0261, 3346,3200,0003,0402,0022,0010,0000	; 7536		AR_MEM,CLR SC,J/RELMEM		;61 S=7, P=36 (bad). Release memory
U 0262, 3344,3240,0013,0302,2022,0010,0007	; 7537		MQ_ARX,AR_MEM,SC_#,#/7,J/DEPOWG	;62 S=7, P=29. Copy byte to MQ
U 0263, 3344,3240,0013,0302,2022,0010,0016	; 7538		MQ_ARX,AR_MEM,SC_#,#/14.,J/DEPOWG;63 S=7, P=22
U 0264, 3344,3240,0013,0302,2022,0010,0025	; 7539		MQ_ARX,AR_MEM,SC_#,#/21.,J/DEPOWG;64 S=7, P=15
U 0265, 3344,3240,0013,0302,2022,0010,0034	; 7540		MQ_ARX,AR_MEM,SC_#,#/28.,J/DEPOWG;65 S=7, P=8
U 0266, 3344,3240,0013,0302,2022,0010,0043	; 7541		MQ_ARX,AR_MEM,SC_#,#/35.,J/DEPOWG;66 S=7, P=1
						; 7542	
U 0267, 3346,3200,0003,0402,0022,0010,0000	; 7543		AR_MEM,CLR SC,J/RELMEM		;67 S=9, P=36, no good. Let go!
U 0270, 3350,0001,0010,0302,2000,0010,0011	; 7544		MQ_ARX,SC_#,#/9,J/SIZE9D	;70 S=9, P=27. Copy byte, fix size
U 0271, 3350,0001,0010,0302,2000,0010,0022	; 7545		MQ_ARX,SC_#,#/18.,J/SIZE9D	;71 S=9, P=18
U 0272, 3350,0001,0010,0302,2000,0010,0033	; 7546		MQ_ARX,SC_#,#/27.,J/SIZE9D	;72 S=9, P=9
U 0273, 3350,0001,0010,0302,2000,0010,0044	; 7547		MQ_ARX,SC_#,#/36.,J/SIZE9D	;73 S=9, P=0
						; 7548	
U 0274, 3346,3200,0003,0402,0022,0010,0000	; 7549		AR_MEM,CLR SC,J/RELMEM		;74 S=18, P=36. Just unpause memory
U 0275, 0114,3240,0003,0000,0022,0014,0000	; 7550		AR_MEM,CLR FPD,J/HRLM		;75 S=18, P=18. Treat as HRLM
U 0276, 0316,3240,0003,0000,0022,0014,0000	; 7551		AR_MEM,CLR FPD,J/HLL		;76 S=18, P=0. Treat as HRRM
						; 7552	
U 0277, 1457,3200,0003,0000,0036,0010,0000	; 7553		FIN LOAD,STORE,J/ILLOWG		;77 Illegal byte pointer. UUO it
						; 7554	;
U 3347, 3344,3240,0003,0301,0022,0010,0034	; 7555	SIZE8D:	AR_MEM,FE_#,#/28.,J/DEPOWG	;Fix FE for size 8 bytes
U 3350, 3344,3200,0003,0301,0022,0010,0033	; 7556	SIZE9D:	AR_MEM,FE_#,#/27.,J/DEPOWG	;Same for size 9
						; 7557	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3
; BYTE.MIC[4,24]	17:29 14-Mar-86			Single Byte Instructions:  IBP, ADJBP			

						; 7558		.TOC	"Single Byte Instructions:  IBP, ADJBP"
						; 7559	;
						; 7560	;	IBP--Increment a byte pointer (in memory).
						; 7561	;	ADJBP--Adjust a one or two word byte pointer from memory by an
						; 7562	;	amount specified by the (non zero) AC.
						; 7563	;	Both of these instructions key off of the same op code (133);
						; 7564	;	they are distinguished by ADJBP having a non zero AC field.
						; 7565	;
						; 7566	;	The IBP case is rather simple.
						; 7567	;
						; 7568		.DCODE
D 0133, 4001,1503				; 7569	133:	R,	B/0,	J/IBP		;IBP and ADJBP--must adjoin FSC
						; 7570		.UCODE
						; 7571	
						; 7572	1503:					;[345] In same block of 8 as FSC
U 1503, 0032,3401,0200,5132,0000,4610,0045	; 7573	IBP:	SC_P-#,#/37.,ARX_0S,SKP AC EQ 0	;[407] Test for OWG. IBP or ADJBP?
						; 7574	=11010
U 0032, 2462,4001,0010,5412,2000,4710,0000	; 7575	IBPTST:	SC_-S,MQ_ARX,SKP SC0,J/ADJBP	;[407] ADJBP. Clear MQ0. OWG?
U 0033, 2042,4001,0000,0000,0000,4750,0000	; 7576		SKP SC0,CALL [INCRBP]		;IBP. Test for OWG and do it
U 0037, 0217,0001,0003,0000,0217,0014,0000	; 7577	=11111	FIN STORE,CLR FPD,I FETCH,J/NOP	;Tidy up and leave
						; 7578	;
						; 7579	;	ADJBP is handled separately for OWGs and OWL/TWGs.  We consider
						; 7580	;	the latter case first.
						; 7581	;	Step 1:  figure out the byte capacity of a word.  This is broken
						; 7582	;	into the capacity to the left of the current byte (including the
						; 7583	;	byte itself) and the capacity to the right of the byte.  If these
						; 7584	;	add up to zero, then the byte can't fit in a word, and we return
						; 7585	;	to the user with no divide set.  If the byte size is zero, we
						; 7586	;	return with the pointer as is.
						; 7587	;	For this version, we compute the capacities by using repeated
						; 7588	;	subtraction.  Since the numbers involved are typically no greater
						; 7589	;	than five or six (and are never bigger than 36) this will be faster
						; 7590	;	than division.
						; 7591	=0
U 2462, 1370,4061,0500,0101,1020,0007,0000	; 7592	ADJBP:	FE_P,ARX_2+MQ0,AR0-3 DISP,J/ADJOWG;[407] OWG. Split on range
U 2463, 2470,3441,0200,0103,0000,4710,0000	; 7593		FE_P,SC/SCAD,ARX_0S,SKP SC0	;OWL/TWG. Is the size zero?
U 2470, 2512,4001,0000,0000,0000,7510,0000	; 7594	=0	SKP -VMA SEC0,J/OWLCPY		;Yes. Test for possible TWG
U 2471, 2472,4001,0010,5011,2020,5110,0000	; 7595		MQ_ARX,FE_FE-S,SKP SCAD0	;No. Clear MQ. Bytes to the right?
						; 7596	=0
						; 7597	CAPLOW:	ARX_ARX+1,FE_FE-S,SKP SCAD0,	;Yes. Count the byte and look
U 2472, 2472,4001,0600,5011,0020,5110,0000	; 7598			J/CAPLOW		; for another one
						; 7599		BR/AR,BRX/ARX,ARX_-2+MQ0,	;No more. Save count and pointer
U 2473, 2500,2301,0560,5300,3000,0110,0044	; 7600			P_#-SC,#/36.		; and set up next count
						; 7601	=0
						; 7602	CAPHGH:	P_P-S,ARX_ARX+1,SKP SCAD0,	;Count possible byte on left,
U 2500, 2500,4021,0600,5110,3021,5110,0200	; 7603			J/CAPHGH		; saving alignment info
U 2501, 3351,4622,6007,0000,0020,1010,0166	; 7604		T0_AR,AR_ARX+BRX+1		;All counted. Get total capacity
U 3351, 2502,3703,0000,0000,0020,5610,0000	; 7605		SKP AR NZ			;Will any bytes fit into word?
U 2502, 0217,0001,0000,0000,0217,1110,0424	; 7606	=0	SET NO DIVIDE,I FETCH,J/NOP	;[422] No. This is pretty silly
						; 7607	;
						; 7608	;	Step 2:  generate a modified adjustment count and compute the
						; 7609	;	number of words to move and the relative byte position within
						; 7610	;	the word.  All adjustments are done relative to the first byte
						; 7611	;	in the word, so that the resulting quotient is the actual
						; 7612	;	number of words to add to the base address.  If the adjustment
						; 7613	;	is negative, however, we must back up the quotient by one and
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3-1
; BYTE.MIC[4,24]	17:29 14-Mar-86			Single Byte Instructions:  IBP, ADJBP			

						; 7614	;	offset the remainder by the capacity if it is non zero.
						; 7615	;
						; 7616	;	In order to speed up the division, the absolute value of the
						; 7617	;	modified adjustment is broken into ranges of up to 63, 64 to
						; 7618	;	2**18-1, and 2**18 or greater.  This lets us use step counts of
						; 7619	;	7, 19, and 36, respectively, saving a lot of time for the most
						; 7620	;	common cases.
						; 7621	;
						; 7622	;	For this portion of the work, OWGs and OWLs are identical.
						; 7623	;
U 2503, 3352,0610,0200,0322,0020,0010,0036	; 7624	ADJOIN:	ARX_ARX+FM[AC0],SC_#,#/30.	;Compute modified adjustment
						; 7625		T1_AR,BR/AR,AR_ARX,BRX/ARX,	;Divisor is capacity. Is modified
U 3352, 1327,3441,4267,0000,2000,1032,0171	; 7626			ARX_0S,SIGNS DISP,TIME/2T; adjustment negative?
						; 7627	=0111	AC0_AR,BRX/ARX,ARX_AR (AD),	;No. Clear BRX; use adjustment as
						; 7628			ARL_ARL.S,ARR+MQ_0.S,	; dividend, and look at high order
U 1327, 3353,3701,0220,0000,0000,1022,0110	; 7629			J/POSADJ		; half of dividend for speedup
						; 7630		AC0_AR,BRX/ARX,ARX_-BRX,	;Yes. Negate adjustment for both
U 1337, 3353,5162,0620,0000,0020,1022,0116	; 7631			ARL/ADX,ARR+MQ_0.S	; dividend and test
						; 7632	POSADJ:	AR_ARX (ADX),ARX_SHIFT,		;Generate high order 30 bits of
U 3353, 2504,3703,6400,0301,0020,5610,0044	; 7633			FE_#,#/36.,SKP AR NZ	; dividend. Are high 18 bits zero?
						; 7634	=0	ARX_SHIFT,SC_FE,		;Yes. Align low six bits to top of
U 2504, 2002,3713,0400,0000,0020,5613,0000	; 7635			SKP ARX NZ,J/SMALDV	; word. Is that enough?
U 2505, 2000,0301,0200,0301,0020,0413,0041	; 7636		ARX_AR*2,CLR AR,FE_#,#/33.,SC_FE;Need long division. Align dividend
						; 7637	=000
						; 7638	ADJDIV:	DIVIDE,AR_2(AR-BR),ARX/ADX*2,	;Do first divide step
U 2000, 0442,5102,5500,3001,0020,0071,0000	; 7639			CALL [DIVS3]		; and call subroutine for the rest
						; 7640	=010
U 2002, 0374,3401,2000,0301,0000,0050,0004	; 7641	SMALDV:	AR_0S,FE_#,#/4,CALL [DIVS1]	;Very short division is adequate
						; 7642		ARX_AR SWAP,AR_0S,FE_#,#/16.,	;Medium size needed. Put significant
U 2003, 2000,3441,2400,0301,3000,0010,0020	; 7643			J/ADJDIV		; dividend bits in proper spot
						; 7644	;
						; 7645	;	Return from division is either 6 (negative dividend) or 7
						; 7646	;	(non negative dividend).  We tuck the negative offset code in
						; 7647	;	at 4 and 5 for convenience.
						; 7648	;
U 2004, 2007,5142,0600,0000,0020,0010,0000	; 7649	NEGADJ:	ARX_-BRX,J/ADJUST		;Zero remainder. Negate quotient
U 2005, 2007,0600,2007,0000,0020,0010,0171	; 7650		AR_AR+FM[T1],J/ADJUST		;Non zero. Offset by capacity
						; 7651	;
						; 7652	;	On exit from division, AR has the signed remainder and ARX and
						; 7653	;	BRX have the positive quotient.  If the dividend was negative,
						; 7654	;	we must either negate the quotient or negate and subtract one
						; 7655	;	(thus one's complementing it) depending upon whether there was
						; 7656	;	a non zero remainder.
						; 7657	;
U 2006, 2004,2542,0600,0000,0000,4510,0000	; 7658		ARX_BRX COMP,SKP AR0,J/NEGADJ	;Negative dividend. Complement
						; 7659						; quotient and test remainder
						; 7660	;
						; 7661	;	Step 3:  add the final quotient to the address, and offset the
						; 7662	;	byte into the word by the adjusted remainder.  To do this, we
						; 7663	;	must finally differentiate an OWL from a TWG.  (Recall that we
						; 7664	;	saved most of the original byte pointer (including bit 12) in
						; 7665	;	T0 before we did the division.)  In any event, for an OWL we
						; 7666	;	add the quotient to the right half of the byte pointer; for a
						; 7667	;	TWG we fetch the second word and then add the quotient to bits
						; 7668	;	6-35 if it's global, to bits 18-35 if it's local.
						; 7669	;
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3-2
; BYTE.MIC[4,24]	17:29 14-Mar-86			Single Byte Instructions:  IBP, ADJBP			

						; 7670	;	After this, we subtract the byte pointer S field from (36 - the
						; 7671	;	alignment information left in the P field) precisely remainder
						; 7672	;	times (recall that division copied SC, preloaded with 36, into
						; 7673	;	FE when it finished).  That's about it.
						; 7674	;
						; 7675	;	OWGs split off their separate way.
						; 7676	;
U 2007, 1356,3240,2017,0000,1020,0005,0166	; 7677	ADJUST:	MQ_AR,AR_T0,SR DISP		;Remainder to MQ. OWG or OWL/TWG?
						; 7678	=1110	BR/AR,SC_P+S,MQ_MQ-1,		;OWL/TWG. Copy pointer, add first
U 1356, 1465,1721,0050,2112,0020,0734,0003	; 7679			BYTE DISP,J/ADJTWG	; S, generate count. Perhaps TWG?
						; 7680		FE_P+1,BR/AR,AR_MQ,		;An OWG. Grab initial P&S and
U 1357, 3360,3723,2040,4101,0217,0010,0000	; 7681			I FETCH,J/SNATCH	; set up quotient addition
						; 7682	;
						; 7683	=101
						; 7684	ADJTWG:	FE_FE-SC,ARL_ARL,ARR_ARX+BR,	;OWL. Adjust address; initialize P
U 1465, 2024,0612,2300,5001,0020,0610,0000	; 7685			ARX/MQ,J/ADJP
						; 7686		FE_FE-SC,AR_ARX,ARX_AR (AD),	;Perhaps TWG. Move quotient to AR
U 1467, 0670,3701,4200,5001,2000,7510,0000	; 7687			SKP -VMA SEC0		; No TWGs allowed in section 0
						; 7688	=00	ARL_ARXL,ARR_AR+BR,		;Section 0. An OWL in TWG's clothing
U 0670, 2024,0602,2304,0000,2020,0022,0004	; 7689			ARX/MQ,J/ADJP
						; 7690		BR/AR,BRX/ARX,VMA_VMA+1,LOAD AR,;A real TWG. Keep quotient and
U 0671, 1045,0001,0060,0000,0012,3650,0000	; 7691			CALL [XFERW]		; remainder while fetching address
U 0673, 2510,0602,2400,0102,1020,4510,0000	; 7692	=11	SC_P,AR_AR+BR,ARX_AR,SKP AR0	;Assume global address. Is it?
U 2510, 3354,0001,0000,2400,3001,0010,0200	; 7693	=0	P_SC,J/TWGDUN			;Yes. Use 30 bit addition
U 2511, 3354,0612,2000,0000,2020,0022,0004	; 7694		ARL_ARXL,ARR_ARX+BR		;No. Foolish, but 18 bits is enough
U 3354, 2024,3242,6301,0000,0000,1010,0000	; 7695	TWGDUN:	AC1_AR,AR_BRX,ARX/MQ		;Store address; restore first word
						; 7696	;
						; 7697	;	Address has been adjusted.  Adjust P by remainder bytes.
						; 7698	;
						; 7699	=100
						; 7700	ADJP:	FE_FE-S,P_SCAD,ARX_ARX-1,	;Step to next byte and count
U 2024, 2024,1701,0600,5011,3021,4310,0200	; 7701			SKP ARX0,J/ADJP		; down the remainder
U 2025, 0216,0001,0000,0000,0217,0010,0000	; 7702	TWGCPY:	I FETCH,J/STORAC		;Adjustment done. Load AC0
						; 7703	;
						; 7704	;	If the byte size is zero, we just load AC0, or ACs 0 and 1 if it's
						; 7705	;	a TWG.
						; 7706	;
U 2027, 0147,0001,0000,0000,0012,3610,0000	; 7707	=111	VMA_VMA+1,LOAD AR,J/TWJUNK	;[413][424] A TWG. Use DMOVE code
						; 7708	;
						; 7709	=0
U 2512, 0216,0001,0000,0000,0217,0010,0000	; 7710	OWLCPY:	I FETCH,J/STORAC		;Section 0, an OWL. Just load AC0
U 2513, 2025,4001,0000,0000,0000,0034,0000	; 7711		BYTE DISP,TIME/2T,J/TWGCPY	;Not section 0. Test AR12 for TWG
						; 7712	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4
; BYTE.MIC[4,24]	17:29 14-Mar-86			Single Byte Instructions:  IBP, ADJBP			

						; 7713	;
						; 7714	;	OWGs use the same basic algorithm as OWLs and TWGs, but the
						; 7715	;	actual implementation of steps 1 and 3 is quite different.
						; 7716	;	Step 1:  get the byte capacity of the word and current offset
						; 7717	;	of the OWG within the word.  Note that OWGs may be split into
						; 7718	;	ranges of sizes, with the capacity identical for each OWG within
						; 7719	;	a range.  The current offset within the word can be computed by
						; 7720	;	subtracting the range base + 1 from the P&S field.  The range base
						; 7721	;	is saved in the OWG for later final adjustment.  The capacity is
						; 7722	;	computed in a rather wry way:  ARX is initially loaded with the
						; 7723	;	capacity - 4; later, AR is set to -1.  When AR*4 is subtracted
						; 7724	;	from ARX, AR*4 will be -4 as long as ARX was positive.  The only
						; 7725	;	negative case is for a capacity of 2 (for 18 bit bytes); that one
						; 7726	;	is special cased.
						; 7727	;
						; 7728	=1000
						; 7729	ADJOWG:					;40:43. No OWGs here
						; 7730	=1001	ARX_2+MQ0,TIME/2T,P_#,#/45,	;44:47. Size 6: capacity 6, base 45
U 1371, 3355,4041,0500,0302,3000,0110,0045	; 7731			SC/SCAD,J/OWGCOM	;[407]
						; 7732		ARX_2+MQ0,TIME/2T,P_#,#/45,	;50:53. More size 6
U 1372, 3355,4041,0500,0302,3000,0110,0045	; 7733			SC/SCAD,J/OWGCOM	;[407]
U 1373, 3355,3401,0200,0302,3000,0110,0054	; 7734		ARX_0S,P_#,#/54,SC/SCAD,J/OWGCOM;54:57. Size 8: capacity 4, base 54
U 1374, 2522,4001,0000,5030,0020,5110,0061	; 7735		GEN FE-#,#/61,SKP SCAD0,J/EIGHT7;60:63. Either size 8 or size 7
U 1375, 2524,4001,0000,5030,0020,5110,0067	; 7736		GEN FE-#,#/67,SKP SCAD0,J/SEVEN9;64:67. Either size 7 or size 9
U 1376, 3355,3401,0200,0302,3000,0110,0067	; 7737		ARX_0S,P_#,#/67,SC/SCAD,J/OWGCOM;70:73. Size 9: capacity 4, base 67
U 1377, 2520,4001,0000,5030,0020,5110,0077	; 7738		GEN FE-#,#/77,SKP SCAD0		;74:77. Is this an illegal pointer?
U 2520, 1002,3242,2000,0000,0000,0010,0000	; 7739	=0	AR_BR,J/UUO			;77 is no good. UUO it
						; 7740		BRX/ARX,ARX_1S,P_#,#/74,SC/SCAD,;74:76. Size 18: capacity 2, base 74
U 2521, 3355,2301,0220,0302,3000,0110,0074	; 7741			J/OWGCOM		; Save size; force ARX negative
						; 7742	;
						; 7743	=0
						; 7744	EIGHT7:	ARX_1,TIME/2T,P_#,#/61,SC/SCAD,	;61:63. Size 7: capacity 5, base 61
U 2522, 3355,4061,0200,0302,3000,0110,0061	; 7745			J/OWGCOM
U 2523, 3355,3401,0200,0302,3000,0110,0054	; 7746		ARX_0S,P_#,#/54,SC/SCAD,J/OWGCOM;60 is the last size 8 byte
						; 7747	;
						; 7748	=0
U 2524, 3355,3401,0200,0302,3000,0110,0067	; 7749	SEVEN9:	ARX_0S,P_#,#/67,SC/SCAD,J/OWGCOM;67 is the first size 9 byte
U 2525, 3355,4061,0200,0302,3000,0110,0061	; 7750		ARX_1,TIME/2T,P_#,#/61,SC/SCAD	;64:66 are the last size 7 bytes
U 3355, 3356,2301,2007,1001,0000,1010,0166	; 7751	OWGCOM:	T0_AR,AR_1S,FE_FE-SC-1		;Save pointer; find initial offset
U 3356, 2530,5113,0200,0000,3021,4310,0200	; 7752		P_FE,ARX_ARX-AR*4,SKP ARX0	;Try to get capacity. Is it 2?
						; 7753	=0	BRX/ARX,ARX_AR,AR_SIGN,		;No. Save it; set up offset and
U 2530, 3357,5441,2420,0302,1020,0016,0006	; 7754			SC_#,#/6,J/OFSHFT	; shift count for offset generation
U 2531, 3357,5401,2400,0302,1020,0016,0006	; 7755		ARX_AR,AR_SIGN,SC_#,#/6		;Yes. Size was loaded above
U 3357, 2503,3202,6400,0000,0000,1610,0001	; 7756	OFSHFT:	AR_BRX,ARX_SHIFT,SR_1,J/ADJOIN	;Mark OWG and rejoin for step 2
						; 7757	;
						; 7758	;	Step 3: add the final quotient to the address, and offset the OWG
						; 7759	;	into the word by remainder bytes.  Since this becomes a simple
						; 7760	;	integer add, this portion is rather trivial.
						; 7761	;
U 3360, 3361,0612,2004,0002,0020,1613,0000	; 7762	SNATCH:	SC_EA,AR_ARX+BR,SR_0		;Grab offset; adjust address
U 3361, 0015,0001,0000,2000,3000,0110,0000	; 7763		P_FE+SC,J/STAC			;Add proper offset to P&S. Done!
						; 7764	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5
; BYTE.MIC[4,24]	17:29 14-Mar-86			Subroutines for Single Byte Instructions		

						; 7765	.TOC	"Subroutines for Single Byte Instructions"
						; 7766	;
						; 7767	;	INCRBP--Subroutine to increment a byte pointer.  The first (or
						; 7768	;	only) word of the relevant pointer is in AR.  Call with SC_P-#,
						; 7769	;	#/37.,BYTE DISP, thus testing for OWG and first part done
						; 7770	;	simultaneously.  If FPD is set, this routine returns 4 without
						; 7771	;	doing anything; otherwise, the pointer will be incremented and
						; 7772	;	the store will have been started.  Return 4 if an OWL or TWG
						; 7773	;	must recompute SC or on any OWG, 15 if an OWL and SC is OK, and
						; 7774	;	17 if possibly a TWG with SC OK.  Note that ARX must have the
						; 7775	;	first byte pointer word on exit if this is an OWL or TWG.
						; 7776	;
						; 7777	=010					;Test FPD and OWG
U 2042, 1430,4001,0000,0002,1020,1107,0100	; 7778	INCRBP:	SC_FE#,SET FPD,AR0-3 DISP,J/OWGINC;OWG, no FPD. SC_2; test edges
U 2043, 2064,0001,0000,5110,3021,0034,0200	; 7779		P_P-S,BYTE DISP,J/BYTINC	;No OWG, no FPD. Check for overflow
U 2046, 0004,4001,0000,0000,0000,0003,0000	; 7780		RETURN4				;OWG, FPD. Forget it
U 2047, 0004,4001,0000,0000,0000,0003,0000	; 7781		RETURN4				;No OWG, FPD. No increment needed
						; 7782	;
						; 7783	;	Either OWL or TWG.  Check which; if no overflow, it doesn't really
						; 7784	;	matter.
						; 7785	;
						; 7786	=100
U 2064, 0015,4001,0000,5132,0016,0003,0045	; 7787	BYTINC:	SC_P-#,#/37.,STORE,RETURN15	;OWL, no overflow. Store and leave
						; 7788		FE_#,#/36.,GEN AR+1,		;OWL, overflow. Compute new P and
U 2065, 2532,4003,0000,0301,0000,0010,0044	; 7789			TIME/2T,J/OWLINC	; set up new address portion
U 2066, 0017,0001,0000,5132,0016,0003,0045	; 7790		SC_P-#,#/37.,STORE,RETURN17	;TWG, no overflow. Just like OWL
						; 7791		FE_#,#/36.,GEN AR+1,TIME/2T,	;TWG, overflow. Compute new P and
U 2067, 2532,4001,0000,0301,0000,7510,0044	; 7792			SKP -VMA SEC0		; test for valid TWG
						; 7793	=0
						; 7794	OWLINC:	P_FE-S,ARR_AR+1,TIME/2T,STORE,	;OWL. Increment address, set new P
U 2532, 3365,4001,2000,5010,3016,0610,0200	; 7795			J/SNARFP
U 2533, 3362,4001,0000,5010,3012,3622,0200	; 7796		P_FE-S.S,VMA_VMA+1,LOAD AR	;TWG. Set new P, fetch second word
U 3362, 3363,3240,0403,0000,1022,0010,0000	; 7797		ARX_AR,AR_MEM			;Save first word, await second
U 3363, 2534,4001,2040,0102,0020,4510,0000	; 7798		SC_P,BR/AR,SKP AR0,AR_AR+1	;Increment address, check I/EFIW
U 2534, 3364,0001,0000,2400,3016,0110,0000	; 7799	=0	P_SC#,STORE,J/STORTG		;EFIW. Do full global increment
U 2535, 3364,3242,0000,0000,0016,0610,0002	; 7800		ARL_BRL,STORE			;IFIW. Just increment right half
						; 7801	STORTG:	FIN STORE,AR_ARX,VMA_VMA-1,	;Finish second word
U 3364, 0004,0001,4003,0000,2016,3503,0000	; 7802			STORE,RETURN4		; and store first
						; 7803	;
U 3365, 0015,0001,0400,5132,1000,0003,0045	; 7804	SNARFP:	ARX_AR,SC_P-#,#/37.,RETURN15	;[351] Save offset P, new pointer
						; 7805	;
						; 7806	;	An OWG.  53, 60, 66, 73, 76, and 77 need special handling.
						; 7807	;	All others just tick the P&S field.
						; 7808	;
						; 7809	=1000
						; 7810	OWGINC:					;40:43. No OWGs here
U 1431, 0004,4001,0000,4100,3016,0103,0000	; 7811	=1001	P_P+1,STORE,RETURN4		;44:47. No special handling
						; 7812		GEN AR+1,GEN P-#,#/53,		;50:53. 53 becomes 46
U 1432, 2550,4001,0000,5130,0020,5210,0053	; 7813			SKP SCAD NE,J/OVER6
U 1433, 0004,4001,0000,4100,3016,0103,0000	; 7814		P_P+1,STORE,RETURN4		;54:57. No special handling
						; 7815		GEN AR+1,GEN P-#,#/60,		;60:63. 60 becomes 55
U 1434, 2554,4003,0000,5130,0020,5210,0060	; 7816			SKP SCAD NE,J/OVER8
						; 7817		GEN AR+1,GEN P-#,#/66,		;64:67. 66 becomes 62
U 1435, 2552,4003,0000,5130,0020,5210,0066	; 7818			SKP SCAD NE,J/OVER7
						; 7819		GEN AR+1,GEN P-#,#/73,		;70:73. 73 becomes 70
U 1436, 2560,4003,0000,5130,0020,5210,0073	; 7820			SKP SCAD NE,J/OVER9
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5-1
; BYTE.MIC[4,24]	17:29 14-Mar-86			Subroutines for Single Byte Instructions		

U 1437, 1454,4003,0000,4102,0020,0007,0000	; 7821		GEN AR+1,SC_P+1,SH DISP		;74:77. Test low P&S bits
U 1454, 0004,4001,0000,2400,3016,0103,0000	; 7822	=1100	P_SC#,STORE,RETURN4		;74 becomes 75. Store and leave
U 1455, 0004,4001,0000,2400,3016,0103,0000	; 7823	NXTOWG:	P_SC#,STORE,RETURN4		;75 becomes 76. Store and leave
						; 7824		AR_AR+1,TIME/2T,SC_#,#/75,	;76 becomes 75. Increment address
U 1456, 1455,4003,2000,0302,0000,0010,0075	; 7825			J/NXTOWG		; first
U 1457, 3002,0001,0003,0000,0002,0014,0000	; 7826	ILLOWG:	MEM_AR,CLR FPD,J/IOCHK		;[414] 77 Illegal byte pointer
						; 7827	;
						; 7828	=0
U 2550, 1455,4003,2000,0302,0000,0010,0046	; 7829	OVER6:	AR_AR+1,TIME/2T,SC_#,#/46,J/NXTOWG;53. Increment address first
U 2551, 0004,4001,0000,4100,3016,0103,0000	; 7830		P_P+1,STORE,RETURN4		;Others just tick P&S
						; 7831	;
						; 7832	=0
U 2552, 1455,4003,2000,0302,0000,0010,0062	; 7833	OVER7:	AR_AR+1,TIME/2T,SC_#,#/62,J/NXTOWG;66. Increment address first
U 2553, 0004,4001,0000,4100,3016,0103,0000	; 7834		P_P+1,STORE,RETURN4		;Others just tick P&S
						; 7835	;
						; 7836	=0
U 2554, 1455,4001,2000,0302,0000,0010,0055	; 7837	OVER8:	AR_AR+1,TIME/2T,SC_#,#/55,J/NXTOWG;60. Increment address first
U 2555, 0004,4001,0000,4100,3016,0103,0000	; 7838		P_P+1,STORE,RETURN4		;Others just tick P&S
						; 7839	;
						; 7840	=0
U 2560, 1455,4003,2000,0302,0000,0010,0070	; 7841	OVER9:	AR_AR+1,TIME/2T,SC_#,#/70,J/NXTOWG;73. Increment address first
U 2561, 0004,4001,0000,4100,3016,0103,0000	; 7842		P_P+1,STORE,RETURN4		;Others just tick P&S
						; 7843	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6
; BYTE.MIC[4,24]	17:29 14-Mar-86			Subroutines for Single Byte Instructions		

						; 7844	;
						; 7845	;	LDEA--Subroutine to compute the effective address of a byte from
						; 7846	;	a one word local byte pointer.  Called with the byte pointer in ARX
						; 7847	;	and EA MOD DISP on it.
						; 7848	;	LEAIND--Entry point for two word global EA calculation on the
						; 7849	;	second pointer word.  Called with READ BP2 on the second pointer
						; 7850	;	word.
						; 7851	;	Both entries return 37 with the byte being loaded into AR, and
						; 7852	;	with the FE added to SC.
						; 7853	;	Warning:  two of the words below (LDEA+1, LEAIND+5) cannot have
						; 7854	;	their parity generated directly by the assembler.  The SKP AR0 macro
						; 7855	;	can be used to force correct parity.  It will be ignored, since
						; 7856	;	J/37.
						; 7857	;
						; 7858	=1100
						; 7859	LDEA:	GEN AR,BYTE LOAD,		;No index, no indirect. Load byte
U 1474, 0037,3703,0000,2002,0111,0003,0420	; 7860			SC_FE+SC,RETURN37	; word
						; 7861		GEN AR+XR,INDEXED,BYTE LOAD,	;Index, no indirect. Add index
U 1475, 0037,0600,0002,2002,2131,0003,0420	; 7862			SC_FE+SC,RETURN37	; register to generate byte address
						; 7863		GEN AR,BYTE INDRCT,		;No index, indirect. Test for
U 1476, 0720,3703,0000,0000,0111,7010,0610	; 7864			SKP INTRPT,J/LEAIND	; interrupt
						; 7865		GEN AR+XR,INDEXED,BYTE INDRCT,	;[350] Index, indirect. Add index
U 1477, 0720,0600,0002,0000,2131,7010,0610	; 7866			SKP INTRPT		; register and test for interrupt
						; 7867	=00
U 0720, 3366,3240,0003,0000,0022,2550,0000	; 7868	LEAIND:	ARX_MEM,LONG EN,CALL [BYTIND]	;No interrupt. Unwind indirection
U 0721, 0144,3200,0003,0000,0022,7710,0000	; 7869		ARX_MEM,TAKE INTRPT		;Interrupted. Blow this place
U 0722, 1474,2341,0002,0000,0020,0036,0000	; 7870		XR,EA MOD DISP,TIME/3T,J/LDEA	;Local word at end. Untangle it
U 0723, 1536,2301,0002,0000,0020,0036,0000	; 7871		XR,EA MOD DISP,TIME/3T		;Global word at end. Indexed?
						; 7872	=1110	GEN ARX,GLOBAL,BYTE LOAD,	;No indexing. Read global word
U 1536, 0037,3713,0000,2002,1111,0003,0420	; 7873			SC_FE+SC,RETURN37	; and add FE to SC
						; 7874		GEN ARX+XR,GLOBAL,BYTE LOAD,	;Indexing. Add index to address
						; 7875			SC_FE+SC,RETURN37,	; and do otherwise the same
U 1537, 0037,0610,0002,2002,1131,4503,0420	; 7876			SKP AR0			; (This forces odd parity)
						; 7877	;
						; 7878	;	DPEA--Routine to compute the effective address of a byte from
						; 7879	;	a one word local byte pointer to be used in a deposit operation.
						; 7880	;	Entered with the byte pointer in ARX and EA MOD DISP on it.
						; 7881	;	DEAIND--Entry point for two word global EA calculation on the
						; 7882	;	second pointer word.  Entered with READ BP2 on the second pointer
						; 7883	;	word.
						; 7884	;	Both entries return to GUDSIZ testing the sign of FE-SC-1.
						; 7885	;	[340] This code has been desubroutinized for now, since it
						; 7886	;	must be called from an odd address.
						; 7887	;	WARNING:  two of the words below (DPEA+1, DEAIND+5) cannot
						; 7888	;	have their parity generated by the assembler.  Since the SKIP
						; 7889	;	field is already busy, we use the MQ field and set MQ/SH when
						; 7890	;	we need to generate parity.  GUDSIZ is constrained to be at an
						; 7891	;	address with even parity, so we don't have to worry about things
						; 7892	;	moving around. [412]
						; 7893	;
						; 7894	=1100
						; 7895	DPEA:	GEN AR,BYTE RPW,GEN FE-SC-1,	;No index, no indirect. Load byte
U 1554, 0336,3703,0000,1000,0131,5110,0760	; 7896			SKP SCAD0,J/GUDSIZ	; word, test word underflow
						; 7897		GEN AR+XR,INDEXED,BYTE RPW,	;Index, no indirect. Add index
						; 7898			GEN FE-SC-1,SKP SCAD0,	; register, load byte, test word
U 1555, 0336,0600,0012,1000,2151,5110,0760	; 7899			MQ/SH,J/GUDSIZ		; underflow, and force odd parity
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6-1
; BYTE.MIC[4,24]	17:29 14-Mar-86			Subroutines for Single Byte Instructions		

						; 7900		GEN AR,BYTE INDRCT,		;No index, indirect. Start read
U 1556, 0770,3703,0000,0000,0111,7010,0610	; 7901			SKP INTRPT,J/DEAIND	; and test for interrupt
						; 7902		GEN AR+XR,INDEXED,BYTE INDRCT,	;Index, indirect. Add index
U 1557, 0770,0600,0002,0000,2131,7010,0610	; 7903			SKP INTRPT		; register, read, test interrupt
						; 7904	=00
U 0770, 3366,3240,0003,0000,0022,2550,0000	; 7905	DEAIND:	ARX_MEM,LONG EN,CALL [BYTIND]	;No interrupt. Unwind indirection
U 0771, 0144,3200,0003,0000,0022,7710,0000	; 7906		ARX_MEM,TAKE INTRPT		;Interrupted. Blast out sideways
U 0772, 1554,2341,0002,0000,0020,0036,0000	; 7907		XR,EA MOD DISP,TIME/3T,J/DPEA	;Local word at end. Decode further
U 0773, 1576,2341,0002,0000,0020,0036,0000	; 7908		XR,EA MOD DISP,TIME/3T		;Global end word. Indexed?
						; 7909	=1110	GEN ARX,GLOBAL,BYTE RPW,	;No index. Read byte word
						; 7910			GEN FE-SC-1,SKP SCAD0,	; and test byte underflow
U 1576, 0336,3713,0000,1000,1131,5110,0760	; 7911			J/GUDSIZ
						; 7912		GEN ARX+XR,GLOBAL,BYTE RPW,	;Index. Add it in, read byte word,
						; 7913			GEN FE-SC-1,SKP SCAD0,	; and test byte underflow
U 1577, 0336,0610,0002,1000,1151,5110,0760	; 7914			J/GUDSIZ		;Can force odd parity here
						; 7915	;
						; 7916	;	BYTIND--Subroutine to unwind some indirection for an OWL or
						; 7917	;	a TWG.  Call with current indirect word in ARX.  Return 2 if
						; 7918	;	final word is local (possibly indirected), 3 if it is global.
						; 7919	;	Return 0 if final word is global indirect, in which case we
						; 7920	;	will dive back in again if no interrupt is pending.
						; 7921	;
U 3366, 1623,2341,4002,0000,2020,0036,0000	; 7922	BYTIND:	AR_ARX,XR,EA MOD DISP,TIME/3T	;Dispatch on global indirection
U 1623, 1656,2301,0002,0000,0020,0036,0000	; 7923	=0011	XR,EA MOD DISP,TIME/3T,J/GLBIND	;Global indirect. Test indexing
U 1627, 0003,0001,0000,0000,0000,0003,0000	; 7924		RETURN3				;Global, no indirect. Done for now
U 1633, 0170,0001,0000,0301,0000,0010,0024	; 7925		FE_#,#/24,J/PF24		;Both bits 0 and 1 set. No good
U 1637, 0002,4001,0000,0000,0000,0003,0000	; 7926		RETURN2				;Local word. Let main line handle it
						; 7927	;
						; 7928	=1110
						; 7929	GLBIND:	GEN ARX,GLOBAL,BYTE INDRCT,	;No indexing. Fetch next word in
U 1656, 0000,3711,0000,0000,1111,7003,0610	; 7930			SKP INTRPT,RETURN0	; loop, testing for interrupt
						; 7931		GEN ARX+XR,GLOBAL,BYTE INDRCT,	;Indexing. Add in index and do
U 1657, 0000,0610,0002,0000,1131,7003,0610	; 7932			SKP INTRPT,RETURN0	; similarly
						; 7933	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; BYTSUB.MIC[4,24]	14:19 22-May-86			BYTE GROUP -- Some Old Style Subroutines		

						; 7934	.TOC	"BYTE GROUP -- Some Old Style Subroutines"
						; 7935	;
						; 7936	;	This file once included all of the byte instruction code.
						; 7937	;	With the coming of the new version of the byte instructions,
						; 7938	;	however, much of this stuff became unnecessary and has
						; 7939	;	been eliminated as a result.  It is hoped to be able to
						; 7940	;	eliminate more of this once we rewrite the string instructions.
						; 7941	;	[345]
						; 7942	;
						; 7943	.TOC	"INCREMENT BYTE POINTER SUBROUTINE"
						; 7944	
						; 7945	;
						; 7946	;	This subroutine is now called only by the 10/11 interface handler.
						; 7947	;	Call testing sign of P-S.  [Time=2+2(BP OVFLO)]
						; 7948	;	CALL WITH BP IN AR, P_P-S,SKP SCAD0.
						; 7949	;
						; 7950	=0
U 2562, 0004,0001,0000,0000,0016,0003,0000	; 7951	IBPS:	STORE,RETURN4			;SIMPLE CASE
U 2563, 3367,4001,0000,0301,0000,0010,0044	; 7952		FE_#,#/36.,GEN AR+1,TIME/2T	;[424] POINTER OVERFLOW, B12=0
						; 7953		P_FE-S,AR_AR+1,TIME/2T,		;[424] SINGLE WORD BP
U 3367, 0004,4001,2000,5010,3016,0603,0200	; 7954		    STORE,RETURN4
						; 7955	
						; 7956	
						; 7957	.TOC	"BYTE EFFECTIVE ADDRESS EVALUATOR - XADDR"
						; 7958	;
						; 7959	;	This code is no longer used by the single byte instructions.
						; 7960	;	The string instructions get the second part of a two word pointer
						; 7961	;	from an AC, and they do not set FPD.  Thus, they enter at BFETCH
						; 7962	;	(for single word pointers) or BYTEI (long word pointers).  The
						; 7963	;	DTE interface can only use single word pointers, and thus no longer
						; 7964	;	requires the two word pointer test.  [424]
						; 7965	;	In the interest of saving space, we are now using the same indirec-
						; 7966	;	tion evaluation technique as the single byte instructions.  [427]
						; 7967	;
U 3370, 1674,2301,0003,2411,0002,1136,0100	; 7968	BYTEA:	MEM_AR,FE_S,SET FPD,EA MOD DISP	;[424]
						; 7969	=1100					;[427]
U 1674, 0001,3701,0000,0000,0111,0003,0620	; 7970	BFETCH:	GEN AR,BYTE READ,RETURN1
U 1675, 0001,0600,0002,4000,2131,0003,0620	; 7971		GEN AR+XR,INDEXED,BYTE READ,RETURN1
U 1676, 1040,3703,0000,0000,0111,7010,0610	; 7972		GEN AR,BYTE INDRCT,SKP INTRPT,J/BYTEI
						; 7973		GEN AR+XR,INDEXED,BYTE INDRCT,
U 1677, 1040,0600,0002,0000,2131,7010,0610	; 7974			SKP INTRPT
						; 7975	=00					;[427]
U 1040, 3366,3240,0003,0000,0022,2550,0000	; 7976	BYTEI:	ARX_MEM,LONG EN,CALL [BYTIND]	;[427] Unwind indirection chain
U 1041, 0340,3240,0003,0000,0022,0005,0000	; 7977		ARX_MEM,SR DISP,J/CLEAN		;[427] Interrupted. Clean up first
U 1042, 1674,2301,0002,0000,0020,0036,0000	; 7978		XR,EA MOD DISP,TIME/3T,J/BFETCH	;[427] Local at end. Untangle above
U 1043, 1716,2301,0002,0000,0020,0036,0000	; 7979		XR,EA MOD DISP,TIME/3T		;[427] Global at end. Indexed?
U 1716, 0001,3711,0000,0000,1111,0003,0620	; 7980	=1110	GEN ARX,GLOBAL,BYTE READ,RETURN1;No. Read global word
						; 7981		GEN ARX+XR,GLOBAL,BYTE READ,	;Yes. Add index and do likewise
U 1717, 0001,0610,0002,0000,1131,0003,0620	; 7982		    RETURN1
						; 7983	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; BYTSUB.MIC[4,24]	14:19 22-May-86			Load and Deposit Byte Subroutines			

						; 7984	.TOC	"Load and Deposit Byte Subroutines"
						; 7985	;
						; 7986	;	Load byte subroutine.  Enter with S in FE, P+S in SC, and
						; 7987	;	AR load in progress.  SKP INTRPT at entry is optional.
						; 7988	;	RETURN2 WITH BYTE RIGHT JUSTIFIED IN AR. [TIME=7]
						; 7989	;
						; 7990	=0
						; 7991	LDB1:	AR_MEM,SC_#-SC,#/36.,SKP SCAD0,	;36-(P+S)
U 2570, 2572,3200,0003,5302,0022,5110,0044	; 7992			TIME/3T,J/LDB2
U 2571, 0340,3240,0003,0000,0022,0005,0000	; 7993		AR_MEM,SR DISP,J/CLEAN		;HERE IF INTERRUPT PENDING
						; 7994	
						; 7995	=0
U 2572, 2604,3401,2400,0000,0000,0013,0000	; 7996	LDB2:	ARX_SHIFT,AR_0S,SC_FE,J/SHIFT	;BYTE IN ARX HI, READY TO SHIFT
						; 7997		ARX_AR,AR_0S,			;P+S > 36, PUT BYTE IN ARX HI
U 2573, 2604,3441,2400,2002,1020,5110,0000	; 7998			SC_FE+SC,SKP SCAD0	;ADJUST S AND SHIFT BYTE
						; 7999	
						; 8000	;PUT BYTE INTO AR RIGHT-JUSTIFIED
						; 8001	; THIS INSTRUCTION ALSO CALLED ALONE AS A SUBROUTINE
						; 8002	
						; 8003	=0
U 2604, 0002,0001,4000,0000,0000,0003,0000	; 8004	SHIFT:	AR_SHIFT,RETURN2		;RETURN WITH BYTE IN AR
U 2605, 0002,4001,0000,0000,0000,0003,0000	; 8005		RETURN2				;BYTE WAS OFF THE END, RETURN AR=0
						; 8006	;
						; 8007	;	Deposit byte subroutine.  Enter with byte right justified in AR,
						; 8008	;	pointer in BR, S in FE, 36-P in SC, and LOAD AR-ARX in progress.
						; 8009	;	Skip if P > 36.  Return3 with final store going.  [TIME=11]
						; 8010	;
						; 8011	=0
						; 8012	DPB1:	MQ_AR,AR_MEM,ARX_MEM,GEN FE-SC-1,;[303] Keep byte, get data word.
U 2610, 2612,3200,0013,1000,1022,5110,0000	; 8013		    SKP SCAD0,TIME/3T,J/DPB2	; Is P+S <= 36?
U 2611, 0003,3200,0003,0000,0022,0003,0000	; 8014		AR_MEM,RETURN3			;[226]P>36, STORE NOTHING
						; 8015	;
						; 8016	=0
U 2612, 2613,0001,0000,2401,0000,0010,0000	; 8017	DPB2:	FE_SC				;P+S>36, S_36-P
						; 8018		ARX_SHIFT,AR_MQ,SC_FE,		;ARX HAS P,X,S
U 2613, 3371,3721,2400,5301,0000,0013,0110	; 8019			FE_#-SC,#/72.		;SC_S, FE_72-(36-P)=36+P
U 3371, 3372,0001,0000,5302,0000,0010,0044	; 8020		SC_#-SC,#/36.			;SC_36-S (KNOWN .LE. P)
						; 8021		AR_SHIFT,ARX_SHIFT,		;S,P,X
U 3372, 3373,4001,4400,5002,0000,0010,0000	; 8022			SC_FE-SC		;SC_(36+P)-(36-S)=P+S
U 3373, 0003,0001,4000,0000,0016,0003,0000	; 8023		AR_SHIFT,STORE,RETURN3		;[335][345] DONE, STORE IT BACK
						; 8024	
						; 8025	;SUBROUTINE TO GET CONTENTS OF SC RIGHT ALIGNED IN AR
						; 8026	;[TIME=6]
						; 8027	
U 3374, 3375,4001,0000,2400,2000,0022,0200	; 8028	GETSC:	AR0-8_SC			;PUT SC INTO AR
U 3375, 2604,0001,0400,0302,1000,0010,0011	; 8029		ARX_AR,SC_#,#/9.,J/SHIFT	;HERE WITH DATA IN AR0-8
						; 8030	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; EIS.MIC[4,24]	10:37 27-May-86				EXTENDED INSTRUCTION SET DECODING			

						; 8031	.TOC	"EXTENDED INSTRUCTION SET DECODING"
						; 8032	
						; 8033	;GET HERE WITH E0 IN BR, (E0) IN AR
						; 8034	;	(E0) IS THE OPERATION WORD, AND HAS THE NORMAL -10 INSTRUCTION
						; 8035	;	FORMAT -- BITS 0-8 ARE OPCODE, 9-12 IGNORED, 13 @, 14-17 XR,
						; 8036	;	AND 18-35 Y.  THE AC USED COMES FROM THE EXTEND INSTRUCTION.
						; 8037	; COMPUTE E1 FROM 13-35
						; 8038	
						; 8039	;HERE FOR EXTENDED INSTRUCTION SET DECODING UNDER XADDR
						; 8040	
						; 8041		.DCODE
D 0123, 4000,1411				; 8042	123:	R,		J/EXTEND	;Adjacent to FIX
						; 8043		.UCODE
						; 8044	
						; 8045	1411:					;Must be near FIX
U 1411, 2620,0001,0000,2320,0020,5210,0760	; 8046	EXTEND:	GEN #+AR0-8,#/-20,SKP SCAD NZ	;[427] Dispatch XBLT quickly
U 2620, 2430,3240,0200,0000,0020,5610,0000	; 8047	=0	ARX_AC0,SKP AD NZ,J/XBLT	;[427] XBLT. Is count null?
						; 8048	.IF/EXTEXP
						; 8049		SC_#+AR0-8,#/-32,SKP SCAD0,	;[427] VALID EXTENDED OPERATION?
U 2621, 2622,3242,2400,2322,1020,5110,0746	; 8050			ARX_AR,AR_BR		; OPR TO ARX, AC TO AR
						;;8051	.IFNOT/EXTEXP				;Don't allow G floating exponents
						;;8052		SC_#+AR0-8,#/-21,SKP SCAD0,	;[427] VALID EXTENDED OPERATION?
						;;8053			ARX_AR,AR_BR		; OPR TO ARX, AC TO AR
						; 8054	.ENDIF/EXTEXP
U 2622, 1002,3242,2000,0000,0000,0010,0000	; 8055	=0	AR_BR,J/UUO			;Opcode is too large.
U 2623, 3376,3242,6017,0000,1000,1010,0176	; 8056		E0_AR,MQ_AR,AR_BRX		;SAVE E0.  GET AC FROM EXTEND
						; 8057	.IF/EXTEXP
U 3376, 3377,0001,0000,2302,2000,0110,0032	; 8058		AR0-8_#+SC,#/32,SC/SCAD		;COMBINE EXT OP <32 WITH AC
						;;8059	.IFNOT/EXTEXP
						;;8060		AR0-8_#+SC,#/21,SC/SCAD		;COMBINE EXT OP <21 WITH AC
						; 8061	.ENDIF/EXTEXP
U 3377, 2640,4001,0000,2400,0020,5210,0000	; 8062		GEN SC,SKP SCAD NE		;TEST OP CODE
U 2640, 1002,3242,2000,0000,0000,0010,0000	; 8063	=0	AR_BR,J/UUO			;OP CODE = 0 (UUO) [217][251]
U 2641, 3400,3703,0000,0000,0000,1410,0000	; 8064		GEN AR,LOAD IR			;MAP THIS OVER THE LUUO SPACE
U 3400, 1734,2301,4000,0000,2000,0036,0000	; 8065	EXTF2:	AR_ARX,EA MOD DISP		;[427] GO EVALUATE E1
						; 8066	;
						; 8067	;	[325]
						; 8068	;	The effective address dispatch logic is quite arcane.  It appears
						; 8069	;	that MEM/A RD,DISP/DRAM A RD, and SH/2 interact to get the section
						; 8070	;	number from either AD (if the AC > 777777) or from VMA section, but
						; 8071	;	in order for that to work, we must do something with the VMA, even
						; 8072	;	though we don't actually use it here if the address computation
						; 8073	;	is complete.  Thus the VMA/LOAD has been added for the index case.
						; 8074	;
						; 8075	=1100					;[427]
U 1734, 2102,3701,0300,0000,0004,0033,0400	; 8076	EXTLA:	GEN AR,EXT ADDR,ARX/MQ,J/EXT2
U 1735, 3177,0600,0302,4000,2124,0002,0400	; 8077		GEN AR+XR,INDEXED,EXT INDEX,ARX/MQ,VMA/LOAD,J/BEXT2;[325][414]
U 1736, 1050,3701,0000,0000,0111,7010,0230	; 8078		GEN AR,EXT INDRCT,SKP INTRPT,J/EXTI
U 1737, 1050,0600,0002,4000,2131,7010,0230	; 8079		GEN AR+XR,INDEXED,EXT INDRCT,SKP INTRPT
						; 8080	=00					;[427]
U 1050, 3366,3240,0003,0000,0022,2550,0000	; 8081	EXTI:	ARX_MEM,LONG EN,CALL [BYTIND]	;[427] Unwind indirection
U 1051, 0144,3200,0003,0000,0022,7710,0000	; 8082		ARX_MEM,TAKE INTRPT		;Interrupted. Bust out of here
U 1052, 1734,2301,0002,0000,0020,0036,0000	; 8083		XR,EA MOD DISP,TIME/3T,J/EXTLA	;[427] Local word at end. Decode it
U 1053, 1756,2341,0002,0000,0020,0036,0000	; 8084		XR,EA MOD DISP,TIME/3T		;[427] Global word. Is it indexed?
						; 8085	=1110	GEN ARX,GLOBAL,EXT INDEX,ARX/MQ,;[414] No. Generate final address
U 1756, 3177,3713,0300,0000,1004,0002,0400	; 8086		    J/BEXT2
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1-1
; EIS.MIC[4,24]	10:37 27-May-86				EXTENDED INSTRUCTION SET DECODING			

						; 8087		GEN ARX+XR,GLOBAL,EXT INDEX,	;[414][427] Yes. Add index to
U 1757, 3177,0610,0302,4000,1024,0002,0400	; 8088		    ARX/MQ			; final word
						; 8089	;
						; 8090	;	As first written, locations 3044, 3045, 3046, 3050, 3051, 3052,
						; 8091	;	3144, 3145, 3146, 3147, 3150, 3151, 3152, 3153, and 3154 all were
						; 8092	;	B DISP,J/EXT2.  The comment:  these are index cases because index
						; 8093	;	must do AREAD with the DISP function in order to get the correct
						; 8094	;	index value for E1. 3077 is no longer the same, either. [414]
						; 8095	;
						; 8096	3177:
U 3177, 2102,4001,0000,0000,0000,0033,0000	; 8097	BEXT2:	B DISP				;[251][427] Test for offset mode
						; 8098	=010
						; 8099	EXT2:	E1_AR,AR_ARX,VMA_ARX+1,		;ESTABLISH E1
U 2102, 2000,4011,4007,0000,2320,1001,0165	; 8100			IR DISP,J/2000		;GO TO SPECIFIC HANDLER
U 2103, 2642,0001,0000,0000,0001,4410,0020	; 8101		ARL_0.M,SKP AR18,J/EXT3		;OFFSET MODE.  EXTEND E1
						; 8102		E1_AR,AR_ARX,VMA_ARX+1,		;[301] Duplicate these to
U 2106, 2000,4011,4007,0000,2320,1001,0165	; 8103			IR DISP,J/2000		; distinguish GSNGL (B=5) from
						; 8104		E1_AR,AR_ARX,VMA_ARX+1,		; offset instructions (B=1)
U 2107, 2000,4011,4007,0000,2320,1001,0165	; 8105			IR DISP,J/2000
						; 8106	=0
						; 8107	EXT3:	E1_AR,AR_ARX,VMA_ARX+1,		;ESTABLISH E1
U 2642, 2000,4011,4007,0000,2320,1001,0165	; 8108			IR DISP,J/2000		;GO TO SPECIFIC HANDLER
U 2643, 2642,2301,0000,0000,0000,0610,0002	; 8109		ARL_1S,J/EXT3			;NEGATIVE OFFSET
						; 8110	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; EIS.MIC[4,24]	10:37 27-May-86				EXTENDED INSTRUCTION SET DECODING			

						; 8111	;	By using "IR DISP,J/2000" we can use the same DRAM for LUUOs as
						; 8112	;	for the EXTEND instructions with like opcodes.  The LUUOs dispatch
						; 8113	;	to addresses in the range 1000-1017; by dispatching with J/2000,
						; 8114	;	the EXTEND ops go to 3000-3017 (model B) or 2000-20017 (model A).
						; 8115	
						; 8116		.DCODE
D 0001, 2200,1005				; 8117	001:	EA,	SJCL,	J/L-CMS		;CMSX HIDDEN BENEATH LUUO
D 0002, 2100,1005				; 8118		EA,	SJCE,	J/L-CMS
D 0003, 2001,1005				; 8119		EA,	SJCLE,	J/L-CMS
						; 8120	
D 0004, 2200,1006				; 8121	004:	EA,	B/2,	J/L-EDIT	;EDIT
D 0005, 2601,1005				; 8122		EA,	SJCGE,	J/L-CMS
D 0006, 2501,1005				; 8123		EA,	SJCN,	J/L-CMS
D 0007, 2400,1005				; 8124		EA,	SJCG,	J/L-CMS
						; 8125	
D 0010, 2101,1010				; 8126	010:	EA,	B/1,	J/L-DBIN	;CVTDBO
D 0011, 2401,1010				; 8127		EA,	B/4,	J/L-DBIN	;CVTDBT
D 0012, 2100,1011				; 8128		EA,	B/1,	J/L-BDEC	;CVTBDO
D 0013, 2001,1011				; 8129		EA,	B/0,	J/L-BDEC	;CVTBDT
						; 8130	
D 0014, 2100,1012				; 8131	014:	EA,	B/1,	J/L-MVS		;MOVSO
D 0015, 2001,1012				; 8132		EA,	B/0,	J/L-MVS		;MOVST
D 0016, 2200,1012				; 8133		EA,	B/2,	J/L-MVS		;MOVSLJ
D 0017, 2301,1012				; 8134		EA,	B/3,	J/L-MVS		;MOVSRJ
						; 8135		.UCODE
						; 8136	
						;;8137	.IFNOT/OWGBP				;[265]
						;;8138	3005:	AR_AC3,J/CMPS			;HIDDEN BEHIND L-CMS
						;;8139	3006:	CLR AR,ARX_1S,SC_#,#/15.,J/EDIT	;HIDDEN BEHIND L-EDIT
						;;8140	3010:	AR_AC0 COMP,J/DBIN		;HIDDEN BEHIND L-DBIN
						;;8141	3011:	AR_AC1,ARL/AD,SC_1,ARX+MQ_0.M,
						;;8142			BYTE DISP,J/BDEC	;HIDDEN BEHIND L-BDEC
						;;8143	3012:	AR_AC3,LOAD AR,J/MVST		;HIDDEN BEHIND L-MVS
						; 8144	.IF/OWGBP				;[265]
						; 8145	;
						; 8146	;	[347] CMPS dispatch rewritten to test bad high length bits first.
						; 8147	;
U 3005, 3401,3200,2000,0301,0020,0050,0777	; 8148	3005:	AR_AC0,FE_#,#/777,CALL [FLGTST]	;[347] Any illegal high bits in len?
U 3025, 2120,4001,0007,0000,0000,1050,0173	; 8149	3025:	FILL_AR,CALL [EXT2WD]		;[310][347] Save fill VMA, test OWG
U 3035, 3436,3200,2015,0000,2020,0010,0000	; 8150	3035:	AR_AC3,MQ_ARX,J/CMPS		;[310][347] Get dest length and go
						; 8151	;
U 3006, 0626,0001,0000,0000,0000,0010,0000	; 8152	3006:	J/EDIT				;HIDDEN BEHIND L-EDIT
U 3010, 1120,0001,0000,0000,0000,0010,0000	; 8153	3010:	J/DBIN				;HIDDEN BEHIND L-DBIN
U 3011, 0221,4011,2000,0000,0020,0010,0000	; 8154	3011:	AR_ARX+1 (AD),J/BDEC		;[344] HIDDEN BEHIND L-BDEC
						; 8155	;
U 3012, 3401,3240,2000,0301,0020,0050,0077	; 8156	3012:	AR_AC0,FE_#,#/77,CALL [FLGTST]	;[347] MVST. Watch out for illegal
U 3032, 0621,4001,0000,0000,0012,0010,0000	; 8157	3032:	LOAD AR,J/MVST			; flags first. 
						; 8158	;
						; 8159	;	Subroutine to check for bits set that are not allowed to be.
						; 8160	;	Enter with AR containing AC0 and FE with relevant bit mask.
						; 8161	;	Return 20 if none set; sideways exit to UUO if any are.  Note
						; 8162	;	that BRX must still contain the EXTEND for this to work.
						; 8163	;
U 3401, 3402,3200,2005,7021,0020,0010,0000	; 8164	FLGTST:	AR_AC3,FE_FE AND AR0-8		;[347] Get dest length
U 3402, 2660,4001,0000,6020,0020,5210,0000	; 8165		GEN FE OR AR0-8,SKP SCAD NZ	;[347] Are any high bits set?
U 2660, 0020,4013,2000,0000,0020,0003,0000	; 8166	=0	AR_ARX+1 (AD),RETURN20		;[347] No. Start saving fill VMA
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2-1
; EIS.MIC[4,24]	10:37 27-May-86				EXTENDED INSTRUCTION SET DECODING			

U 2661, 1002,3242,2000,0000,0000,0010,0000	; 8167		AR_BR,J/UUO			;[347] Yes. Blow out of the water
						; 8168	.ENDIF/OWGBP				;[265]
						; 8169	;3042:	AR_BR,J/UUO		;[217] INDEXING ON ILL. EXTEND OP.
						; 8170	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3
; EIS.MIC[4,24]	10:37 27-May-86				ONE WORD GLOBAL BYTE POINTER SUBROUTINES FOR EXTEND	

						; 8171	.TOC	"ONE WORD GLOBAL BYTE POINTER SUBROUTINES FOR EXTEND"
						; 8172	;
						; 8173	; HERE FOR MVST, EDIT AND CMPS INSTRUCTIONS
						; 8174	; MUST CHECK BOTH AC1 AND AC4 FOR OWGBP
						; 8175	; AND CONVERT TO TWO WORD GLOBAL POINTERS.
						; 8176	; There is also a hack in here for the CMPSx instructions.  In
						; 8177	; order to find their fill characters in the right place, we must
						; 8178	; fetch FILL (saved as E0+1) into ARX.  [310]
						; 8179	; BDEC ENTERS AT EXT01 FOR AC4 ONLY
						; 8180	.IF/OWGBP				;[265]
						; 8181	=000
U 2120, 3407,3240,2001,0000,0020,0050,0000	; 8182	EXT2WD:	AR_AC1,CALL [TST2WD]		;AC1 OWGBP ?
U 2121, 3415,0001,0000,0000,0000,0050,0000	; 8183		CALL [STR2WD]			;YES, CONVERT DONE, STORE
U 2122, 2124,4001,0000,0000,0000,0010,0000	; 8184		J/EXT01				;NO, TRY AC4
U 2123, 3406,3312,2004,0000,0000,1010,0000	; 8185		AC2_AR,AR_BR OR ARX,J/EXT02	;ADDRESS STORE
U 2124, 3407,3240,2006,0000,0020,0050,0144	; 8186	EXT01:	AR_AC4,CALL [TST2WD]		;AC4 OWGBP ?
U 2125, 3415,3240,0207,0000,0020,0050,0173	; 8187		ARX_FILL,CALL [STR2WD]		;[310] YES, CONVERT DONE, STORE
U 2126, 0010,3200,0207,0000,0020,0003,0173	; 8188		ARX_FILL,RETURN10		;[310][347] NO, CAN'T DO NO MORE
U 2127, 3403,0001,0000,0000,0000,0010,0145	; 8189		SEL DSTP2			;[310] DON'T GLITCH ON AC5 STORE
U 3403, 3404,3312,2006,0000,0000,1010,0145	; 8190		AC5_AR,AR_BR OR ARX		; (See second edit #210)
U 3404, 3405,3202,0600,0000,0000,0010,0144	; 8191		ARX_BRX,SEL AC4			;[310] RESTORE ARX AND SELECT AC4
U 3405, 0010,4001,0006,0000,0000,1003,0144	; 8192		AC4_AR,RETURN10			;[347] P,S,BIT 12 = 1 TO AC4
						; 8193	
U 3406, 2124,4001,0001,0000,0000,1010,0000	; 8194	EXT02:	AC1_AR,J/EXT01			;P,S,BIT 12 = 1 TO AC1
						; 8195	
						; 8196	;
						; 8197	;	TST2WD--TEST FOR OWG IN THE AR AND TO CONVERT IT IF IT'S OK.
						; 8198	;	Return 1 if converted OK, 2 if not OWG.  [437]
						; 8199	;
U 3407, 2146,0001,0000,5132,0020,5034,0045	; 8200	TST2WD:	SC_P-#,#/45,BYTE DISP,SKP PC SEC0;[437] Is this, in fact, an OWG?
U 2146, 3410,3731,0240,0000,0000,1710,0000	; 8201	=110	BR/AR,ARX_VMA HELD,J/CNV2WD	;[437] Yes. Convert to TWG
U 2147, 0002,4001,0000,0000,0000,0003,0000	; 8202	RET2:	RETURN2				;No. Just leave
						; 8203	;
						; 8204	;CNV2WD -- ROUTINE TO CALCULATE NEW P FIELD OF ONE WORD GLOBAL BYTE
						; 8205	;POINTER AND STORE NEW POINTER. A TABLE IS IN THE EPT STARTING AT 700
						; 8206	;AND THIS IS USED TO CONVERT THE OWGBP TO A TWO WORD GLOBAL POINTER
						; 8207	;AND TO CALCULATE THE NEW P FOR THE STORE.
						; 8208	;
U 3410, 1724,0001,0010,2401,2000,0022,0200	; 8209	CNV2WD:	MQ_ARX,AR0-8_SC,FE/SCAD		;[437] SAVE VMA. Set P-45
						; 8210	=0*	AR_ARX (AD),ARX_AR,SC_#,#/8,	;[437] Divide by two and right
U 1724, 2604,3713,2400,0302,1000,0050,0010	; 8211		    CALL [SHIFT]		; align in AR
U 1726, 3411,0001,0000,0000,0100,3310,0700	; 8212		VMA_#+AR32-35,#/700		;POINT TO RIGHT WORD
U 3411, 3412,4001,0000,0000,0012,0026,0111	; 8213		LOAD AR,EPT REF CACHE		;GET AND CACHE DATA FROM EPT [260]
						; 8214		MB WAIT,GEN FE AND #,#/1,	;[437] Wait for EPT word. Is this
U 3412, 2662,0001,0000,7030,0022,5210,0001	; 8215		    SKP SCAD NZ			; an odd offset?
						; 8216	=0
U 2662, 3413,4001,0400,2411,1000,0010,0000	; 8217	CNV01:	FE_S,ARX_AR,J/CNV02		;SKIP SWAP
U 2663, 2662,0001,4000,0000,3000,0010,0000	; 8218		AR_AR SWAP,J/CNV01		;SWAP HALVES FOR ODD
U 3413, 2700,3701,0020,0000,0020,5610,0000	; 8219	CNV02:	BRX/ARX,GEN AR,SKP AD NE	;DID WE GET 0 DATA ?
U 2700, 1002,0001,0040,0000,0000,0010,0000	; 8220	=0	BR/AR,J/UUO			;P=77 OR EPT NOT SET UP
U 2701, 3414,3723,0000,0000,0103,0010,0000	; 8221		RSTR VMA_MQ			;[307][326][347] NO, RESTORE VMA
U 3414, 0001,3202,0010,0000,0000,0703,0003	; 8222		MQ_BR,RETURN1			;GET OUT
						; 8223	
						; 8224	; HERE TO GET P,S,BIT 12 = 1 AND A GOOD ADDRESS
						; 8225	; SOME VERY TRICKY STUFF GOING ON HERE
						; 8226	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3-1
; EIS.MIC[4,24]	10:37 27-May-86				ONE WORD GLOBAL BYTE POINTER SUBROUTINES FOR EXTEND	

U 3415, 3416,3260,2067,0000,0020,0010,0164	; 8227	STR2WD:	[AR]_FM[EXPMSK], BR/AR,BRX/ARX	;[310] P,S,JUNK TO BR, SAVE ARX
U 3416, 3417,3002,0204,0000,0000,0010,0000	; 8228		ARX_AR ANDCA BR			;P,S,0 TO ARX
U 3417, 3420,5100,2007,0000,0020,0010,0175	; 8229		[AR]_[AR]-FM[ADMSK]		;BIT 12 = 1 TO AR
						; 8230		AR_[MQ] AND FM[ADMSK],		;0,ADDRESS TO AR
U 3420, 0002,3620,2047,4000,0020,0003,0175	; 8231			BR/AR,RETURN2		;BIT 12=1 TO BR
						; 8232	.ENDIF/OWGBP				;[265]
						; 8233	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- STRING MOVE					

						; 8234	.TOC	"EIS -- STRING MOVE"
						; 8235	
						; 8236	; HERE FOR MOVE STRING, CHECK FOR OWGBP FIRST
						; 8237	;SLEN IS THE COMPLEMENT OF THE SHORTER STRING LENGTH
						; 8238	;DLEN IS <SRC LEN>-<DST LEN>
						; 8239	
						; 8240	.IF/OWGBP
						; 8241	=0*0*					;[347]
U 0621, 2147,3200,0003,0000,0022,0050,0000	; 8242	MVST:	AR_MEM,CALL [RET2]		;[260]GET FILL, WAIT FOR PARITY
U 0623, 2120,4001,0007,0000,0000,1050,0173	; 8243		FILL_AR,CALL [EXT2WD]		;SAVE FILL, CHECK FOR OWGBP
U 0633, 3421,3200,2005,0000,0020,0010,0000	; 8244	=1*1*	AR_AC3				;[347] GET DLEN
U 3421, 3422,3240,2040,0000,0020,0010,0000	; 8245		BR/AR,AR_AC0			;[347] Copy for length compare
						;;8246	.IFNOT/OWGBP
						;;8247	MVST:	BR/AR,AR_MEM,			;HOLD AC3, WAIT FOR FILLER
						;;8248			FE_AR0-8,SKP SCAD NE	;CHECK FOR FLAGS IN DEST LEN
						;;8249	=0	ARX_AC0,J/MVST1			;GET SRC LEN, FLAGS
						;;8250	NOLENS:	AR_E0,J/UUO			;NO FLAGS ALLOWED IN DST LEN
						;;8251	MVST1:	FILL_AR,AR_ARX			;SAVE FILL CHAR
						; 8252	.ENDIF/OWGBP
U 3422, 3423,0001,0000,2421,0000,0110,0000	; 8253		FE_AR0-8,AR0-8_#,#/0		;SEPARATE FLAGS OFF
U 3423, 2702,5102,2404,0000,1040,5510,0000	; 8254		ARX_AR,AR_AR-BR,SKP AD0		;COMPUTE SRC-DST LEN
U 2702, 3424,2542,2005,0000,0000,1010,0000	; 8255	=0	DLEN_AR,AR_BR COMP,J/MVST2	;SRC LONGER
U 2703, 3424,2001,6005,0000,0000,1010,0000	; 8256		DLEN_AR,AR_ARX COMP		;DST LONGER
U 3424, 3425,3401,2417,0000,1000,1010,0170	; 8257	MVST2:	SLEN_AR,ARX_AR,MQ_AR,AR_0S	;-SHORT LEN -1 TO MQ
U 3425, 3426,4001,0020,0000,2000,0022,0200	; 8258		AR0-8_FE,BRX/ARX		; AND BRX
U 3426, 2164,0001,0000,0000,0000,1033,0000	; 8259		SFLGS_AR,B DISP
U 2164, 3430,2301,0200,0302,0000,0410,0014	; 8260	=100	CLR AR,ARX_1S,SC_#,#/12.,J/MOVS2;[220]TRANSLATE, BUILD MASK
U 2165, 3427,3240,2006,0000,0020,0010,0144	; 8261		AR_DSTP,J/MVSO3			;OFFSET, MASK DEPENDS ON S
U 2166, 2240,4662,6600,0000,0020,1610,0111	; 8262		ARX_BRX+1,AR/ADX,SR_SRC,J/MOVST1	;LEFT JUSTIFY
U 2167, 1060,3200,2005,0000,0020,5510,0000	; 8263		AR_DLEN,SKP AD0,J/MOVRJ		;RIGHT JUSTIFY
						; 8264	
U 3427, 3430,2301,2000,2412,0000,0510,0000	; 8265	MVSO3:	SC_S,CLR ARX,AR_1S		;PREPARE TO BUILD MASK
U 3430, 3431,0001,4000,0000,0000,1610,0111	; 8266	MOVS2:	AR_SHIFT,SR_SRC
U 3431, 2200,4001,0007,0000,0000,1010,0167	; 8267		MSK_AR
						; 8268	=000
U 2200, 2600,4660,2007,0000,0020,0050,0170	; 8269	MOVELP:	AR_SLEN+1,CALL,J/SRCMOD		;PICK UP SOURCE BYTE
U 2201, 2241,3240,2005,0000,0020,0010,0000	; 8270		AR_DLEN,J/MOVSTX		;(1) LENGTH EXHAUSTED
						; 8271	=100
U 2204, 1160,4001,0000,0000,0000,1650,0213	; 8272	MOVPUT:	SR_SRC+DST,CALL,J/PUTDST	;(4) NORMAL, STORE DST BYTE
U 2205, 3432,3240,2005,0000,0020,0010,0000	; 8273		AR_DLEN,J/MVABT			;(5) ABORT [437]
U 2206, 2200,4001,0000,0000,0000,1610,0111	; 8274	=110	SR_SRC,J/MOVELP			;(6) DPB DONE
						; 8275	=
						; 8276	;HERE TO ABORT A STRING MOVE DUE TO TRANSLATE OR OFFSET FAILURE
						; 8277	
U 3432, 2710,5140,2047,0000,0020,4510,0170	; 8278	MVABT:	BR/AR,AR_-SLEN,SKP AR0		;WHICH STRING LONGER?
						; 8279	=0
U 2710, 3433,4001,0005,0000,0000,1010,0000	; 8280	MVABT1:	AC3_AR,J/MVABT2			;[437] PUT AWAY DEST LEN
U 2711, 2710,5102,2004,0000,0020,0010,0000	; 8281		AR_AR-BR,J/MVABT1		;DEST LEN WAS GREATER
						; 8282	
U 3433, 2712,2540,2007,0000,0237,4210,0170	; 8283	MVABT2:	AR_SLEN COMP,SKP BR0,I FETCH	;[437] GET UNDECREMENTED SLEN
U 2712, 2713,0602,2000,0000,0020,0010,0000	; 8284	=0	AR_AR+BR			;SRC LONGER BY (DLEN)
U 2713, 0015,3300,2000,0000,0020,1610,0000	; 8285	MVEND:	AR_AR*SFLGS,AD/OR,SR_0,J/STAC	;PUT BACK REMAINING LEN, don't skip
						; 8286	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- STRING MOVE					

						; 8287	;HERE TO BEGIN RIGHT-JUSTIFIED MOVE
						; 8288	
						; 8289	=00
U 1060, 2730,3200,2401,0000,1020,1610,0111	; 8290	MOVRJ:	ARX_AR,AR_SRCP,SR_SRC,J/MVSKP	;SRC LONGER, SKIP OVER SOME
U 1061, 0742,4001,0000,0000,0000,1650,0214	; 8291		SR_DSTF,CALL,J/MOVF1		;DST LONGER, FILL IT
U 1063, 2240,4662,6600,0000,0020,1610,0111	; 8292	=11	ARX_BRX+1,AR/ADX,SR_SRC,J/MOVST1	;DONE FILLING
						; 8293	
						; 8294	=0
						; 8295	MVSKP:	ARX_ARX-1 (AD),FE_#,#/36.,
U 2730, 2016,1711,0200,0301,0040,7032,0044	; 8296			SIGNS DISP,SKP INTRPT,J/MVSK1
U 2731, 2730,4001,2000,5010,3020,0610,0200	; 8297		P_FE-S,AR_AR+1,J/MVSKP
						; 8298	=1110
U 2016, 2730,4001,0000,5110,3021,5110,0200	; 8299	MVSK1:	P_P-S,SKP SCAD0,J/MVSKP		;BUMP POINTER
U 2017, 2036,3711,0001,0000,0021,1032,0030	; 8300		SRCP_AR,GEN ARX,SIGNS DISP,AR_0.M
U 2036, 3434,2500,2227,0000,0020,0010,0170	; 8301	=1110	BRX/ARX,AR_SLEN COMP,ARX/AD,J/MVSK3	;INTERRUPTED
U 2037, 2246,4001,0005,0000,0000,1010,0000	; 8302		DLEN_AR,J/MVSK4			;DONE FILLING
						; 8303	
U 3434, 3435,4602,6005,4000,0020,1010,0000	; 8304	MVSK3:	AC3_AR,AR_ARX*BRX,AD/A+B+1	;DEST HAS SHORT LEN
U 3435, 3774,4001,0000,0000,0000,1610,0000	; 8305		SR_0,J/STRPF2			;FIX UP AC0, SERVE INTRPT
						; 8306	
						; 8307	;HERE FOR NO-MODIFICATION STRING MOVES
						; 8308	
						; 8309	;[266]	Remove edit 244
						; 8310	;;[244]	THIS ADDRESS MUST REMAIN SET FOR THE PROBLEM
						; 8311	;;	OF THE S FIELD OF THE SOURCE POINTER BEING > 36.
						; 8312	;;
						; 8313	;.IF/MODEL.B
						; 8314	;1300:					;[244]
						; 8315	;MOVST1:	SLEN_AR,BRX/ARX,		;PUT UPDATED LEN AWAY
						; 8316	;		AR+ARX+MQ_0.M,CALL.M,
						; 8317	;		SIGNS DISP,J/GSRC
						; 8318	;1301:
						; 8319	;MOVSTX:	SKP AR0,ARX_AR,AR_0S,J/MOVST2	;SHORT LEN EXHAUSTED
						; 8320	;1302:	SR_SRC+DST,CALL,J/PUTDST
						; 8321	;1306:
						; 8322	;MVSK4:	ARX_BRX+1,AR/ADX,SR_SRC,J/MOVST1
						; 8323	;.IFNOT/MODEL.B		;[244][266]
						; 8324	=000
						; 8325	MOVST1:	SLEN_AR,BRX/ARX,		;PUT UPDATED LEN AWAY
						; 8326			AR+ARX+MQ_0.M,CALL.M,
U 2240, 2313,4001,0027,0000,0021,1072,0170	; 8327			SIGNS DISP,J/GSRC
U 2241, 1070,3401,2400,0000,1000,4510,0000	; 8328	MOVSTX:	SKP AR0,ARX_AR,AR_0S,J/MOVST2	;SHORT LEN EXHAUSTED
U 2242, 1160,4001,0000,0000,0000,1650,0213	; 8329	=010	SR_SRC+DST,CALL,J/PUTDST
						; 8330	=110
U 2246, 2240,4662,6600,0000,0020,1610,0111	; 8331	MVSK4:	ARX_BRX+1,AR/ADX,SR_SRC,J/MOVST1
						; 8332	=
						; 8333	;.ENDIF/MODEL.B		;[244][266]
						; 8334	=00
						; 8335	MOVST2:	TEST ARX,TEST FETCH,		;SKIP IF BOTH LENGTHS =0
U 1070, 2713,3711,4005,0000,2246,1010,0203	; 8336			AC3_AR,AR_ARX,J/MVEND	;CLEAR DEST LEN, REBUILD SRC
U 1071, 0742,4001,0000,0000,0000,1650,0212	; 8337		SR_DST,CALL,J/MOVF1		;SOURCE GONE, FILL OUT DST
U 1073, 3532,3240,2000,0000,0220,0010,0000	; 8338	=11	AR_SFLGS,VMA_PC+1,J/SFET1	;DONE FILLING
						; 8339	
						; 8340	;NOTE -- IT AIN'T AS EASY AS IT LOOKS TO BUM A CYCLE OUT OF THIS
						; 8341	; ROUTINE, BECAUSE AN INTERRUPT, IF ANY, HAS TO BE TAKEN AFTER THE
						; 8342	; POINTER UPDATE AND BEFORE THE LENGTH UPDATE.  GOOD HUNTING!
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5-1
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- STRING MOVE					

						; 8343	=01*
U 0742, 1160,3240,2007,0000,0020,0050,0173	; 8344	MOVF1:	AR_FILL,CALL,J/PUTDST
U 0746, 2732,4640,2005,0000,0020,7010,0000	; 8345		AR_DLEN+1,SKP INTRPT,J/MOVF2
						; 8346	=0
U 2732, 2053,0001,0005,0000,0020,1032,0000	; 8347	MOVF2:	DLEN_AR,SIGNS DISP,J/MOVF3	;DONE?
U 2733, 0340,4001,0000,0000,0000,0005,0000	; 8348		SR DISP,J/CLEAN			;BREAK OUT FOR INTERRUPT
						; 8349	=1011
U 2053, 0002,4001,0000,0000,0000,0003,0000	; 8350	MOVF3:	RETURN2				;YES, DONE
U 2057, 0742,0001,0000,0000,0000,0010,0000	; 8351		J/MOVF1				;NO, DO ANOTHER
						; 8352	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- STRING COMPARE					

						; 8353	.TOC	"EIS -- STRING COMPARE"
						; 8354	
						; 8355	;HERE FOR CMPS, CHECK FOR OWGBP FIRST
						; 8356	; [310] E0+1 will be saved in FILL during OWG checking.  We restore it
						; 8357	; from ARX to MQ here.  This keeps us from fetching bogus fill characters.
						; 8358	
						; 8359	.IF/OWGBP
U 3436, 3437,3200,2440,0000,1020,0010,0000	; 8360	CMPS:	BR/AR,ARX_AR,AR_AC0		;[347]DEST LEN TO BR, GET SRC LEN
U 3437, 2740,3102,0004,0000,0020,5410,0000	; 8361		SKP AR GT BR			;[347] Which string is longer?
U 2740, 3440,3723,0000,0000,0300,0010,0000	; 8362	=0	VMA_MQ,J/CMPS1			;[310] Source shorter
U 2741, 3440,4021,0000,0000,0320,0010,0000	; 8363		VMA_MQ+1			;[310] SRC LONGER, GET DST FILLER
U 3440, 3441,1701,6200,0000,0032,0010,0000	; 8364	CMPS1:	LOAD AR,AR_ARX-1,ARX_AR-1,TIME/3T;[347] Decrement lengths, get fill
U 3441, 2743,3200,0063,0000,0022,0010,0000	; 8365		AR_MEM,BR/AR,BRX/ARX,J/CMPS4	;DECREMENTED LEN'S TO BR'S
						; 8366	
						;;8367	.IFNOT/OWGBP				;[347]
						;;8368	CMPS:	BR/AR,ARX_AR,FE_AR0-8,AR_AC0	;DEST LEN TO BR, GET SRC LEN
						;;8369		FE_FE OR AR0-8,			;GATHER HIGH BITS OF LEN'S
						;;8370			SKP AR GT BR		;WHICH STRING LONGER?
						;;8371	=0					;[347]
						;;8372	CMPS1:	LOAD AR,AR_ARX-1,ARX_AR-1,	;SRC SHORTER
						;;8373			GEN FE,SKP SCAD NE,J/CMPS2 ;CHECK LEN'S PURE
						;;8374		VMA_VMA+1,J/CMPS1		;SRC LONGER, GET DST FILLER
						;;8375	=0
						;;8376	CMPS2:	AR_MEM,BR/AR,BRX/ARX,J/CMPS4	;DECREMENTED LEN'S TO BR'S
						;;8377		AR_MEM,J/NOLENS			;[275] ILLEGAL BITS IN LEN'S
						; 8378	.ENDIF/OWGBP
						; 8379	
						; 8380	;HERE IS THE COMPARE LOOP.
						; 8381	; MQ CONTAINS THE FILL CHARACTER FOR THE SHORTER STRING,
						; 8382	; BR CONTAINS THE REMAINING DESTINATION LENGTH,
						; 8383	; BRX CONTAINS THE REMAINING SOURCE LENGTH
						; 8384	=0
U 2742, 2076,4323,0700,0000,0020,0010,0000	; 8385	CMPS3:	ARX0_MQ35,J/CMPSX		;WE GOT INEQUALITY.  GET SIGN
						; 8386	CMPS4:	MQ_AR,ARX_AR,FE_#,#/36.,	;FILL TO MQ & ARX
U 2743, 2070,3202,2410,0301,1000,4310,0044	; 8387			AR_BR,SKP ARX0		;MORE CHARS IN SRC STRING?
						; 8388	=1000	AR_SRCP,ARX_SRCP,		;READY WITH SRC POINTER
U 2070, 3036,3240,2201,0000,0040,1650,0101	; 8389			SR_ED(S),CALL,J/GSRC1	;GO GET SRC BYTE
U 2071, 2072,3401,4200,0000,2020,1632,0000	; 8390		AR_ARX,ARX_0S,SR_0,SIGNS DISP	;SRC DONE.  TEST DEST LEN
U 2072, 2075,3721,2007,0000,0020,1032,0166	; 8391	=1010	T0_AR,AR_MQ,SIGNS DISP,J/CMPS5	;SRC (OR SRC FILL) TO T0,
						; 8392	=1110					;TEST FOR END OF DEST STRING
U 2076, 0217,3711,0000,0000,0246,0010,0202	; 8393	CMPSX:	GEN ARX,CMS FETCH,J/NOP		;QUIT WITH COMPARE COND IN ARX
						; 8394	=
						; 8395	;HERE TO GET DESTINATION BYTE.  SRC IS IN T0, FILL CHAR IN AR
						; 8396	;HERE WITH SIGNS DISP, TO AVOID CALL ON CMPDST IF DST LEN EXHAUSTED
						; 8397	
						; 8398	=1101
U 2075, 2760,0001,0000,0000,0000,1650,0224	; 8399	CMPS5:	SR_ED(+D),CALL,J/CMPDST		;GO FOR DESTINATION BYTE
						; 8400		AR_AR*T0,AD/XOR,		;AR ZERO IF EQUAL
U 2077, 3442,3100,2307,4000,0020,0012,0166	; 8401			ARX/MQ,MQ_MQ*2		;FILL TO ARX, CRY TO MQ35
						; 8402		BR/AR,BRX/ARX,			;EQUALITY TO BR, FILL TO BRX
U 3442, 2754,3202,2660,0000,0000,4210,0000	; 8403			AR_BR,ARX_BRX,SKP BR0	;LENGTHS TO AR, ARX
						; 8404	=0	AC3_AR,ARX_AR,AR_ARX (AD),	;UPDATE DEST LEN IN AC3
U 2754, 2116,3713,2405,0000,1020,1032,0000	; 8405			SIGNS DISP,J/CMPS6	;TEST SRC LEN
U 2755, 2116,3713,2400,0000,1000,0010,0000	; 8406		ARX_AR,AR_ARX (AD)		;DEST LEN EXHAUSTED
						; 8407	=1110
U 2116, 3443,1701,6200,0000,0040,1010,0000	; 8408	CMPS6:	AC0_AR,AR_ARX-1,ARX_AR-1,J/CMPS7	;UPDATE SRC LEN IN AC0
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6-1
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- STRING COMPARE					

U 2117, 3443,1703,6200,0000,0040,0010,0000	; 8409		AR_ARX-1,ARX_AR-1		;SRC EXHAUSTED PREVIOUSLY
						; 8410	
						; 8411	CMPS7:	BR/AR,BRX/ARX,			;LENGTHS TO BR'S
U 3443, 2742,7142,6060,0000,0040,5410,0000	; 8412			SKP BR EQ,AR/ADX,J/CMPS3	;CHECK FOR EQUALITY
						; 8413	
						; 8414	=0
						; 8415	CMPDST:	AR_DSTP,ARX_DSTP,		;GET DEST BYTE FOR COMPARE
U 2760, 3515,3240,2206,0000,0040,0050,0144	; 8416			CALL,J/IDST		;UPDATE DEST POINTER
U 2761, 2570,0001,0000,2002,0000,7010,0000	; 8417		SC_FE+SC,SKP INTRPT,J/LDB1	;GET DEST BYTE
						; 8418	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 7
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- DECIMAL TO BINARY CONVERSION			

						; 8419	.TOC	"EIS -- DECIMAL TO BINARY CONVERSION"
						; 8420	
						; 8421	; HERE WITH AC0 (SRC LEN) IN AR COMPLEMENTED
						; 8422	; IN THE LOOP, AC3 CONTAINS 10 (DECIMAL), BR'BRX HAS ACCUMULATED BINARY
						; 8423	; First take care of OWG conversion. [441]
						; 8424	
						; 8425	.IF/OWGBP
						; 8426	=00
U 1120, 3407,3240,2001,0000,0020,0050,0000	; 8427	DBIN:	AR_AC1,CALL [TST2WD]		;[441] AC1 OWGBP ?
U 1121, 3415,0001,0000,0000,0000,0050,0000	; 8428		CALL [STR2WD]			;YES, CONVRT DONE, STORE
U 1122, 3445,2540,2000,0000,0020,0010,0000	; 8429	DBFLGS:	AR_AC0 COMP,J/DBINGO		;[441] Maybe no. FLAGS TO AR
U 1123, 3444,3312,2004,0000,0000,1010,0000	; 8430		AC2_AR,AR_BR OR ARX		;[407] Address to AC2
U 3444, 1122,4001,0001,0000,0000,1010,0000	; 8431		AC1_AR,J/DBFLGS			;[407] P,S,bit 12 = 1 to AC1
						; 8432	;
U 3445, 3446,0001,0040,1421,0000,0110,0777	; 8433	DBINGO:	BR/AR,FE_AR0-8 COMP,AR0-8_#,#/-1;[441] FORCE OUT FLAGS
						;;8434	.IFNOT/OWGBP
						;;8435	DBIN:	BR/AR,FE_AR0-8 COMP,AR0-8_#,#/-1	;FORCE OUT FLAGS
						; 8436	.ENDIF/OWGBP
U 3446, 2135,3441,2207,0000,0020,1032,0170	; 8437		SLEN_AR,AR_0S,ARX_0S,SIGNS DISP
U 2135, 3450,3200,0216,0000,2020,0110,0144	; 8438	=1101	AR0-8_FE#,MQ_ARX,ARX_AC4,J/DBS1	;BUILD SFLGS
U 2137, 2266,0001,0000,0000,0000,0033,0000	; 8439		B DISP				;OFFSET OR TRANSLATE?
U 2266, 3447,4001,0000,0000,2000,0022,0200	; 8440	=110	AR0-8_FE,J/DBST			;TRANSLATE, LET S FLAG SET LATER
U 2267, 3447,4001,0000,6030,2000,0110,0400	; 8441		AR0-8_FE OR #,#/400		;OFFSET, SET S FLAG
U 3447, 3452,3441,2200,0000,0000,1010,0000	; 8442	DBST:	SFLGS_AR,AR_0S,ARX_0S,J/DBS2	;CLEAR BINARY
						; 8443	
U 3450, 3451,3721,0500,0000,0000,1010,0000	; 8444	DBS1:	SFLGS_AR,ARX_ARX*2		;HERE WHEN SIG ALREADY ON
U 3451, 3452,3240,2005,0000,0020,0010,0000	; 8445		AR_AC3				;ACCUMULATED BINARY IN AR
U 3452, 3453,4041,2060,0000,0020,0510,0000	; 8446	DBS2:	BR_AR LONG,AR_1,CLR ARX
U 3453, 2306,0603,5004,0302,0020,0033,0004	; 8447		AR_AR*10,B DISP,SC_#,#/4	;GET CONSTANT 10 FOR COMPARE
U 2306, 3454,2301,4205,0000,2000,1010,0000	; 8448	=110	AC3_AR,AR_ARX,ARX_1S,J/DBS3	;PREPARE TO BUILD MASK
U 2307, 3454,2301,2005,0000,0000,1010,0000	; 8449		AC3_AR,AR_1S			;OFFSET
U 3454, 3455,0001,4000,0000,0000,1610,0102	; 8450	DBS3:	AR_SHIFT,SR_DB
U 3455, 0520,3202,2607,0000,0000,1010,0167	; 8451		MSK_AR,AR_BR LONG		;SAVE MASK, GET INITIAL INPUT
						; 8452	
						; 8453	=0*0
						; 8454	DBINLP:	BR_AR LONG,AR_SLEN+1,		;BINARY BACK TO BR, COUNT LENGTH
U 0520, 2600,4660,2067,0000,0020,0050,0170	; 8455			CALL,J/SRCMOD		;PICK UP A DIGIT
U 0521, 2764,3203,0000,0000,0220,5510,0000	; 8456		SKP AR2,VMA_PC+1,J/DBXIT	;(1) DONE, TEST M FLAG
						; 8457		ARX_AR,AR+MQ_0.M,GEN AR-AC3,	;(4) NORMAL, ADD IN DIGIT
U 0524, 2762,5100,0405,0000,1041,5410,0130	; 8458			SKP CRY0,J/DBIN2	;TEST FOR DIGIT >9
U 0525, 3460,2540,2007,0000,0020,0010,0170	; 8459		AR_SLEN COMP,J/DBABT		;(5) ABORT
						; 8460	
						; 8461	;HERE TO ADD IN A DIGIT
						; 8462	
						; 8463	=0
U 2762, 3456,3202,2660,0000,0000,0010,0000	; 8464	DBIN2:	BR_AR LONG,AR_BR LONG,J/DBIN3	;DIGIT TO BR LONG, BINARY TO AR LONG
U 2763, 3460,2540,2007,0000,0020,0010,0170	; 8465		AR_SLEN COMP,J/DBABT		;DIGIT >9, ABORT
						; 8466	
U 3456, 3457,0603,2604,0000,0020,0027,0000	; 8467	DBIN3:	AR_AR*5 LONG			;ALREADY HAVE BINARY *2
U 3457, 0520,0602,5500,0000,0020,0027,0000	; 8468		AR_2(AR+BR) LONG,J/DBINLP	;ADD IN DIGIT, SHIFT LEFT
						; 8469	
						; 8470	;HERE ON ABORT
						; 8471	
U 3460, 3461,3300,2000,0000,0020,0010,0000	; 8472	DBABT:	AR_AR*SFLGS,AD/OR		;[230][221]FLAGS +LEN REMAINING
						; 8473		AC0_AR,AR_BR LONG,SC_#,#/35.,	;PUT BACK UNUSED LENGTH
U 3461, 3462,3242,2600,0302,0200,1010,0043	; 8474			VMA_PC+1,J/STOR34	;END WITH NO SKIP
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 7-1
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- DECIMAL TO BINARY CONVERSION			

						; 8475	
						; 8476	;HERE AT END
						; 8477	
						; 8478	=0
						; 8479	DBXIT:	AR_BR LONG,VMA_VMA+1,		; M FLAG=0
U 2764, 3462,3242,2600,0302,0000,3610,0043	; 8480			SC_#,#/35.,J/STOR34	;GO FOR NEXT INSTR
						; 8481		AR_-BR LONG,VMA_VMA+1,		;NEGATE
U 2765, 3462,5142,2600,0302,0020,3627,0043	; 8482			SC_#,#/35.
U 3462, 3463,5401,2005,0000,0037,1016,0000	; 8483	STOR34:	AC3_AR,AR_SIGN,FETCH		;STORE HIGH PART
U 3463, 3464,4001,4000,0000,0000,1610,0000	; 8484		AR_SHIFT,SR_0			;GET LOW READY
U 3464, 3465,4001,0000,0000,0000,0010,0144	; 8485		SEL AC4				;PRESEL NUMBER TO FIX HARDW GLITCH
U 3465, 0133,0001,0006,0000,0000,1010,0144	; 8486	STAC4:	AC4_AR,FINISH
						; 8487	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 8
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- BINARY TO DECIMAL CONVERSION			

						; 8488	.TOC	"EIS -- BINARY TO DECIMAL CONVERSION"
						; 8489	
						; 8490	;	AC0,AC1 = BINARY INTEGER INPUT
						; 8491	;	AC3 = FLAGS, MAX LENGTH OF DECIMAL STRING
						; 8492	;	AC4 = DESTINATION STRING POINTER
						; 8493	; TEMPS ARE USED AS FOLLOWS:
						; 8494	;	FILL = VMA of fill character (to preserve through OWGBP check) [344]
						; 8495	;	SLEN= # OF SIGNIFICANT DIGITS
						; 8496	;	T1,2= 10.**(SLEN) THE LOWEST POWER OF TEN LARGER THAN BINARY
						; 8497	;
						; 8498	;FPD IS SET IF THE INSTRUCTION WAS INTERRUPTED AFTER CONVERSION OF THE
						; 8499	; BINARY INTEGER TO FRACTION FORM (AFTER STORING FILL, IF NEEDED).
						; 8500	
						; 8501	.IF/OWGBP
						; 8502	=0***					;[347]
U 0221, 2124,0001,0007,0000,0000,1050,0173	; 8503	BDEC:	FILL_AR,CALL [EXT01]		;[344] Save fill VMA, check OWGBP
						; 8504		AR_AC1,ARL/AD,SC_1,ARX+MQ_0.M,
U 0231, 1663,3200,2001,4402,0041,0034,0142	; 8505			BYTE DISP		;GET BIN INTEGER
						; 8506	=011	ARX_SHIFT,AR_AC0,SKP AD0,	;BINARY INTEGER NOW IN AR LONG
U 1663, 3000,3200,2400,0302,0020,5510,0020	; 8507			SC_#,#/20,J/BD1		;IS IT NEGATIVE?
						;;8508	.IFNOT/OWGBP
						;;8509	=011
						;;8510	BDEC:	ARX_SHIFT,AR_AC0,SKP AD0,	;BINARY INTEGER NOW IN AR LONG
						;;8511			SC_#,#/20,J/BD1		;IS IT NEGATIVE?
						; 8512	.ENDIF/OWGBP
U 1667, 3466,3200,2405,0000,1020,1610,0010	; 8513	BDDR1:	ARX_AR,AR_AC3,SR_BDT		;RESUME WITH FRACTION IN AR LONG
						; 8514		BR/AR,CLR EXP,			;SEPARATE FLAGS & LENGTH
U 3466, 3467,3240,0260,0400,2021,0010,0200	; 8515			BRX/ARX,ARX_AC0		;LOW FRAC TO BRX, HI TO ARX
U 3467, 3470,3002,2044,0000,0000,0010,0000	; 8516		AR_AR*BR,AD/ANDCA,BR/AR		;JUST FLAGS TO AR, JUST LEN TO BR
U 3470, 3471,4001,4005,0000,2000,1010,0000	; 8517		AC3_AR,AR_ARX			;GET HI FRAC TO AR
						; 8518		BR/AR,VMA_PC+1,			;FRAC TO BR LONG, GET VMA READY
U 3471, 3016,5162,2040,0000,0240,5410,0000	; 8519			AR_-BR,SKP CRY0,J/BDDR4	;CHECK FOR MORE TO GO
						; 8520	
						; 8521	=0
U 3000, 1130,3703,0000,0000,0040,5427,0000	; 8522	BD1:	SKP AR NE,AD LONG,J/BD2		;TEST FOR ZERO LONG
U 3001, 1131,5143,7700,0302,0020,0027,0030	; 8523		AR_-AR LONG,SC_#,#/30,J/BD3	;MAKE POSITIVE, SET N&M FLAGS
						; 8524	=00
						; 8525	BD2:	BR_AR LONG,AR_1 LONG,		;BINARY RIGHT-ALIGNED IN BR,
U 1130, 2342,4041,7660,0303,0020,0010,0024	; 8526			SC_#,FE_#,#/20.,J/BD4	;LOOK FOR LARGER POWER OF TEN
						; 8527	BD3:	BR_AR LONG,AR_AC3,		;SAVE POS BINARY, GET AC FLAGS
U 1131, 3553,3200,2065,0000,0020,0050,0000	; 8528			CALL,J/SETFLG		; SET FLAGS AS NEEDED
U 1133, 1130,3241,7705,0000,0000,1010,0000	; 8529	=11	AC3_AR,AR_BR*.5 LONG,J/BD2	;SAVE NEW FLAGS, SHIFT BINARY RIGHT
						; 8530	
						; 8531	;HERE TO FIND THE SMALLEST POWER OF TEN LARGER THAN THE BINARY INTEGER.
						; 8532	;BINARY IS IN BR LONG, AND POSITIVE UNLESS IT WAS 1B0.  IN THIS CASE THE
						; 8533	;COMPARISON WILL NEVER FIND A LARGER POWER OF TEN, BUT THE COUNT IN FE
						; 8534	;WILL RUN OUT, AND WE WILL CORRECTLY COMPUTE 22 DIGITS REQUIRED.
						; 8535	
						; 8536	=010					;IGNORE BR SIGN
U 2342, 3472,0603,5500,3001,0020,0027,0000	; 8537	BD4:	AR_AR*10 LONG,FE_FE-1,J/BD6	;THIS POWER IS TOO SMALL
U 2343, 2134,4001,4007,1002,2000,1010,0171	; 8538		SC_FE-SC-1,T1_AR,AR_ARX,J/BD7	;THIS POWER IS BIG ENOUGH
U 2346, 2347,4001,0000,3001,0000,0010,0000	; 8539		FE_FE-1				;10.**21 IS TOO SMALL, USE 22
U 2347, 2134,4001,4007,1002,2000,1010,0171	; 8540		SC_FE-SC-1,T1_AR,AR_ARX,J/BD7	;10.**21 IS BIG ENOUGH
						; 8541	
U 3472, 2342,1102,0004,0000,0020,0031,0000	; 8542	BD6:	GEN AR-BR-1,DISP/DIV,J/BD4	;COMPARE BINARY TO 10**N
						; 8543	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 9
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- BINARY TO DECIMAL CONVERSION			

						; 8544	;HERE HAVING FOUND THE NUMBER OF DIGITS REQUIRED TO REPRESENT THE
						; 8545	; GIVEN INTEGER.  THE ONE'S COMPLEMENT OF THE NUMBER OF DIGITS IS NOW
						; 8546	; IN SC, AND T1/T2 IS GETTING A POWER OF TEN LARGER THAN THE INPUT.
						; 8547	
						; 8548	=0*
U 2134, 3374,2341,2007,0000,0000,1050,0172	; 8549	BD7:	T2_AR,AR_1S,CALL,J/GETSC	;SAVE (10**N), GET -# OF DIGITS
U 2136, 3473,2503,0207,0000,0000,1010,0170	; 8550		SLEN_AR,ARX_AR*4 COMP		;-# OF SIGNIFICANT DIGITS-1
U 3473, 3474,3200,2005,0000,0020,0010,0000	; 8551		AR_AC3				;GET FLAGS, LENGTH
U 3474, 3475,0001,0000,2421,0000,0110,0000	; 8552		FE_AR0-8,AR0-8_#,#/0		;LEN IN AR, FLAGS IN FE
						; 8553		AR_ARX*.25-AR-1,SKP CRY0,	;-# OF FILL CHARS -1
U 3475, 3014,1113,7000,5032,0040,5410,0400	; 8554			SC_FE-#,#/400		;SC0 SET IF S FLAG =0
U 3014, 3476,4003,0200,0000,0021,0010,0030	; 8555	=0	ARX_AR+1,AR_0.M,J/BD8		;ENOUGH SPACE. -FILL CNT TO ARX
U 3015, 0217,4001,0000,0000,0217,0010,0000	; 8556		I FETCH,J/NOP			;OVERFLOW
						; 8557	BD8:	AR0-8_FE.M,SKP SC0,		;FLAGS TO AR.  S FLAG =0?
U 3476, 2156,2013,0000,0000,2021,4732,0200	; 8558			GEN ARX COMP,SIGNS DISP	; OR EXACT LENGTH?
U 2156, 3477,3260,0007,0000,0332,0010,0173	; 8559	=1110	VMA_FM[FILL],LOAD AR,J/BDF1	;[344] Must fill. GET FILLER
U 2157, 3500,0001,0005,0000,0000,1010,0000	; 8560	BD9:	AC3_AR,J/BDDV1			;NO FILL.  FLAGS TO AC3
						; 8561	
U 3477, 1140,4001,0007,0000,0000,1010,0166	; 8562	BDF1:	T0_AR				;[344] Save flags in T0
U 1140, 3003,3200,0003,0000,0022,1650,0203	; 8563	=00	AR_MEM,SR_BDF,CALL,J/RET1	;GET FILLER, GO WAIT FOR PARITY
U 1141, 2732,4001,4007,0000,2000,1050,0173	; 8564		FILL_AR,AR_ARX,CALL,J/MOVF2	;FILL AS REQUIRED
U 1143, 2157,3200,2007,0000,0020,0010,0166	; 8565	=11	AR_T0,J/BD9			;GET FLAGS BACK
						; 8566	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 10
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- BINARY TO DECIMAL CONVERSION			

						; 8567	;SETUP FOR LONG DIVISION OF BINARY BY 10**N
						; 8568	;BR STILL HAS BINARY RIGHT ALIGNED (IE, LOW SIGN SQUEEZED OUT BY
						; 8569	; SHIFTING HIGH WORD RIGHT).  BR IS POSITIVE UNLESS INPUT INTEGER WAS
						; 8570	; 1B0, IN WHICH CASE BR IS -1B1.  T1,T2 HAS LARGER POWER OF TEN, UNLESS
						; 8571	; BINARY EXCEEDS 10**21, IN WHICH CASE T1,T2 CONTAINS 10**21. SINCE
						; 8572	; BINARY CANNOT BE AS LARGE AS 2 * 10**21, THE FIRST DIVIDE STEP
						; 8573	; IS GUARANTEED TO GENERATE A 1 IN THIS CASE ONLY, AND TO REDUCE THE
						; 8574	; BINARY TO LESS THAN 10**21.
						; 8575	
U 3500, 2506,3240,0207,0000,0020,0410,0172	; 8576	BDDV1:	ARX_T2,CLR AR			;FILL DONE.  GET 10**N
						; 8577	=110	AR_T1,MQ_AR,			;D'SOR SET IN AR, MQ CLR
U 2506, 2540,3200,2017,0000,1020,4250,0171	; 8578			SKP BR0,CALL,J/BDDV2	; CHK D'END SIGN
U 2507, 3501,3240,2400,0000,1020,1110,0100	; 8579		ARX_AR,AR_AC0,SET FPD		;DONE, GET FULL QUO IN AR LONG
U 3501, 3502,4001,2600,0000,0020,1627,0010	; 8580		AR_AR+1 LONG,SR_BDT,J/BDD1	;PREVENT 9'S DISEASE
						; 8581	
						; 8582	=000
						; 8583	BDDV2:	AR_BR LONG,BR_AR LONG,		;BEGIN LONG DIVISION
						; 8584			SC_#,FE_#,#/34.,	;STEP COUNTS FOR BOTH PARTS
U 2540, 0762,3202,2660,0303,0000,0050,0042	; 8585			CALL,J/DDVSUB
						; 8586		AR_-BR,ARX/ADX,BR_AR LONG,	;HERE IF BINARY WAS 1B0
						; 8587			SC_#,FE_#,#/34.,	; IT'S NOW 1B1
U 2541, 0762,5142,2660,0303,0020,0050,0042	; 8588			CALL,J/DDVSUB
						; 8589	=011	AC0_AR,AR_MQ,ARL/AD,MQ_0.M,	;HALF DONE WITH DIVISION
U 2543, 0760,3721,2000,2401,0001,1010,0102	; 8590			FE_SC,J/DDVLP		;RESUME WITH ADD STEP
						; 8591	=101	AC0_AR,AR_MQ,ARL/AD,MQ_0.M,
U 2545, 0762,3723,2000,2401,0001,1010,0102	; 8592			FE_SC,J/DDVSUB		;RESUME WITH SUBTRACT STEP
						; 8593	=
						; 8594	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 11
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- BINARY TO DECIMAL CONVERSION			

						; 8595	;HERE WITH QUOTIENT OF <INPUT INTEGER>/<10**N> IN AR LONG, WITH THE
						; 8596	; BINARY POINT BETWEEN BITS 0 AND 1 OF AR.  THUS, BIT 0 WILL BE SET
						; 8597	; IFF THE INPUT INTEGER WAS GREATER THAN OR EQUAL TO 10**21.
						; 8598	; SINCE THIS IS A TRUNCATED FRACTION, IT IS NOT GREATER THAN THE TRUE
						; 8599	; QUOTIENT, AND THE ERROR IS LESS THAN 2**-71. WE ADD 2**-71, TO
						; 8600	; GUARANTEE THAT OUR FRACTION IS GREATER THAN THE TRUE QUOTIENT,
						; 8601	; WITH AN ERROR NO GREATER THAN 2**-71.  WE WILL THEN MULTIPLY THIS
						; 8602	; FRACTION BY 10 N TIMES, REMOVING THE INTEGER PART AT EACH STEP
						; 8603	; TO EXTRACT THE N DIGITS.  SINCE N IS AT MOST 21, THIS IS A MULTIPLI-
						; 8604	; CATION BY AT MOST 10**21, SO THE ERROR IS AT MOST (2**-71)*(10**21).
						; 8605	; SINCE THIS IS LESS THAN ONE, THE ERROR DOES NOT INTRUDE INTO THE
						; 8606	; OUTPUT DIGIT STRING.
						; 8607	
						; 8608	;HERE IS LOOP TO EXTRACT DIGITS FROM FRACTION IN AC0,AC1
						; 8609	
						; 8610	BDD1:	BR_AR LONG,VMA_PC+1,		;START NEXT LOOP ITERATION
U 3502, 3016,4640,2067,0000,0240,5410,0170	; 8611			AR_SLEN+1,SKP CRY0	;ANY MORE DIGITS?
						; 8612	=0					;HERE TO RESUME AFTER INTERRUPT
						; 8613	BDDR4:	SLEN_AR,MQ_AR,SC_1,		;YES, SAVE LENGTH REMAINING
						; 8614			AR_BR LONG,		; AND GET FRACTION
U 3016, 2175,3202,2617,4402,1020,1032,0170	; 8615			SIGNS DISP,J/BDD2	;CHECK FOR 1ST DIGIT OF 10**21
						; 8616		AR_0S,ARX_0S,CLR FPD,		;NO, DONE.  CLEAR AC0 & AC1
U 3017, 3503,3441,2200,0000,0000,3614,0000	; 8617			VMA_VMA+1
U 3503, 1632,0001,0000,0000,0017,1010,0000	; 8618		AC0_AR,FETCH,J/STRAC1		;MOVE FETCH WHEN TIMING FIXED
						; 8619	=1101					;LOOK AT BR0 ONLY
U 2175, 2177,0603,7700,0302,0020,0027,0004	; 8620	BDD2:	AR_AR*1.25 LONG,SC_#,#/4	;NEXT DIGIT TO AR0-3
U 2177, 3020,3441,2400,0000,1000,7010,0000	; 8621		ARX_AR,AR_0S,SKP INTRPT		;READY TO SHIFT IN DIGIT
U 3020, 3022,4001,4000,0000,0000,0033,0000	; 8622	=0	AR_SHIFT,B DISP,J/BDD3		;STORE IT
U 3021, 3765,3242,2600,0000,0000,1610,0000	; 8623		AR_BR LONG,SR_0,J/B2DPF		;UPDATE REGS & QUIT
						; 8624	
						; 8625	;HERE TO STORE DIGIT IN AR FOR BDEC
						; 8626	=0
U 3022, 3504,0600,0007,0000,0332,0010,0165	; 8627	BDD3:	VMA_AR+E1,LOAD AR,J/BDD4	;TRANSLATE: GET TABLE ENTRY
U 3023, 2564,0600,2007,0000,0020,0010,0165	; 8628		AR_AR+E1,J/BDD7			;OFFSET AR AND STORE IT
						; 8629	
U 3504, 3026,6023,0000,0000,0021,5410,0040	; 8630	BDD4:	SKP MQ EQ -1,TIME/3T,ARX_0.M	;LAST DIGIT?
						; 8631	=0
U 3026, 3505,3240,0003,0000,0022,0010,0000	; 8632	BDD5:	AR_MEM,J/BDD6			;NO, STORE RH (POS DIGIT)
U 3027, 3026,3200,0205,0000,0020,0010,0000	; 8633		ARX_AC3,J/BDD5			;YES, LOOK AT M FLAG
U 3505, 2564,3243,0400,0000,3021,5310,0020	; 8634	BDD6:	SKP ARX2,ARX_AR SWAP,ARL_0.M
						; 8635	=100
U 2564, 1160,0001,0000,0000,0000,1650,0206	; 8636	BDD7:	SR_BDD,CALL,J/PUTDST
U 2565, 2564,4001,4000,0000,2001,0010,0020	; 8637		AR_ARX,ARL_0.M,J/BDD7		;M SET ON LAST DIGIT, USE LH
						; 8638	
						; 8639		AR_BR LONG,SR_BDT,		;GET FRACTION BACK
U 2566, 2215,3242,2600,0000,0020,1632,0010	; 8640			SIGNS DISP		;CHECK BR0 FOR INTEGER PART
						; 8641	=
U 2215, 2217,0603,5500,0000,0020,0027,0000	; 8642	=1101	AR_AR*10 LONG			;DISCARD PREVIOUS DIGIT
U 2217, 3502,0001,0000,7130,3000,0110,0037	; 8643		P_P AND #,#/37,J/BDD1		;CLEAR AR0, GO FOR NEXT
						; 8644	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 12
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE	

						; 8645	.TOC	"EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE"
						; 8646	
						; 8647	;SLEN = COMPLEMENT OF LENGTH
						; 8648	;MSK = MASK
						; 8649	;E1 = EFFECTIVE ADDRESS OF OPERATION WORD (SIGN EXTENDED IF OFFSET)
						; 8650	
						; 8651	;CALL WITH:	AR_SLEN+1,CALL,J/SRCMOD
						; 8652	;RETURNS:	1 LENGTH EXHAUSTED: FLAGS IN AR
						; 8653	;		2 (EDIT ONLY) NO SIGNIFICANCE: FLAGS IN FE
						; 8654	;		3 (EDIT ONLY) SIGNIFICANCE START: BYTE IN AR, FLAGS IN FE
						; 8655	;		4 NORMAL: BYTE IN AR
						; 8656	;		5 ABORT: OUT OF RANGE OR TRANSLATE FAILURE
						; 8657	;	BR, BRX, PRESERVED.
						; 8658	;	B=0 IF TRANSLATE, =1 IF OFFSET MODE, =2 IF EDIT, =4 IF CVTDBT
						; 8659	
						; 8660	;[266] Remove edit 244
						; 8661	;;[244]	THIS ADDRESS MUST REMAIN FOR THE PROBLEM OF THE
						; 8662	;;	S FIELD OF THE SOURCE POINTER BEING GREATER THAT 36.
						; 8663	;
						; 8664	;.IF/MODEL.B
						; 8665	;1200:					;[244]
						; 8666	;SRCMOD:	SLEN_AR,AR+ARX+MQ_0.M,CALL.M,	;PUT LENGTH AWAY, GET BYTE
						; 8667	;		SIGNS DISP,J/GSRC	;CHECK FOR LENGTH EXHAUSTION
						; 8668	;1201:	AR_SFLGS,SR_0,RETURN1		;LEN =0, DONE
						; 8669	;1202:	E1,TIME/2T,B DISP		;BYTE IN AR
						; 8670	;1206:	AR_AR*.5 LONG,E1,J/XLATE	;LOW BIT TO ARX0, BYTE/2 TO AR LOW
						; 8671	;1207:	AR_AR+E1,TIME/3T		;OFFSET, ADD OFFSET, TEST MASK
						; 8672	;	TEST AR.MSK,SKP CRY0,RETURN4	;RETURN 4 IF OK, 5 OUT OF RANGE
						; 8673	;.IFNOT/MODEL.B				;[244][266]
						; 8674	=000
						; 8675	SRCMOD:	SLEN_AR,AR+ARX+MQ_0.M,CALL.M,	;PUT LENGTH AWAY, GET BYTE
U 2600, 2313,0001,0007,0000,0021,1072,0170	; 8676			SIGNS DISP,J/GSRC	;CHECK FOR LENGTH EXHAUSTION
U 2601, 0001,3200,2000,0000,0020,1603,0000	; 8677		AR_SFLGS,SR_0,RETURN1		;LEN =0, DONE
U 2602, 2606,4001,0007,0000,0000,0033,0165	; 8678		E1,TIME/2T,B DISP		;BYTE IN AR
U 2606, 3507,0301,7707,0000,0020,0027,0165	; 8679	=110	AR_AR*.5 LONG,E1,J/XLATE	;LOW BIT TO ARX0, BYTE/2 TO AR LOW
U 2607, 3506,0600,2007,0000,0020,0010,0165	; 8680		AR_AR+E1,TIME/3T		;OFFSET, ADD OFFSET, TEST MASK
U 3506, 0004,3600,0007,4000,0040,5403,0167	; 8681		TEST AR.MSK,SKP CRY0,RETURN4	;RETURN 4 IF OK, 5 OUT OF RANGE
						; 8682	;.ENDIF/MODEL.B		;[244][266]
						; 8683	
						; 8684	;HERE ON TRANSLATE-MODE OPERATIONS, WITH THE BYTE/2 IN AR, AND
						; 8685	; THE LEAST SIGNIFICANT BIT OF THE BYTE IN ARX0.  PERFORM THE
						; 8686	; TABLE LOOKUP, AND OPERATE AS CONTROLLED BY THE HIGH THREE BITS
						; 8687	; OF THE TABLE ENTRY.
						; 8688	
U 3507, 3510,0600,0007,0000,0332,0010,0165	; 8689	XLATE:	VMA_AR+E1,LOAD AR		;GET FUNCTION FROM TABLE
						; 8690	
U 3510, 3030,3240,0003,0302,0022,4310,0022	; 8691	TRNAR:	AR_MEM,SKP ARX0,SC_#,#/18.	;WHICH HALF?
						; 8692	=0	ARX_AR,AR0-3 DISP,		;LH, MOVE TO ARX LEFT
U 3030, 2221,3240,2400,0000,1040,0007,0000	; 8693			AR_SFLGS,J/TRNFNC
						; 8694		ARX_AR SWAP,AR18-21 DISP,	;RH, MOVE THAT TO ARX LEFT
U 3031, 2221,3200,2400,0000,3040,0007,0000	; 8695			AR_SFLGS,J/TRNFNC
						; 8696	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 13
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE	

						; 8697	;HERE ON TRANSLATE OPERATION TO PERFORM FUNCTIONS REQUIRED BY
						; 8698	; THE 3 HIGH ORDER BITS OF THE TRANSLATE FUNCTION HALFWORD.
						; 8699	; WE HAVE DISPATCHED ON THOSE THREE BITS, WITH THE FUNCTION
						; 8700	; HALFWORD IN LH(ARX), AND THE FLAGS FROM AC0 IN AR.
						; 8701	
						; 8702	=0001
						; 8703	TRNFNC:	SFLGS_AR,FE_P,AR_SHIFT,		;SAVE FLAGS, GET FCN IN AR RIGHT
U 2221, 2253,0001,4000,0101,0020,1032,0000	; 8704			SIGNS DISP,J/TRNRET	;WAS S FLAG ALREADY SET?
U 2223, 0005,0001,0000,7131,0000,1003,0003	; 8705	TRNABT:	SFLGS_AR,FE_P AND #,#/3,RETURN5	;ABORT
U 2225, 2221,4001,0000,7130,3000,0110,0067	; 8706		P_P AND #,#/67,J/TRNFNC		;CLEAR M FLAG
U 2227, 2221,0001,0000,6130,3000,0110,0010	; 8707		P_P OR #,#/10,J/TRNFNC		;SET M FLAG
U 2231, 2221,0001,0000,6130,3000,0110,0020	; 8708	TRNSIG:	P_P OR #,#/20,J/TRNFNC		;SET N FLAG
U 2233, 2223,4001,0000,6130,3000,0110,0020	; 8709		P_P OR #,#/20,J/TRNABT		;SET N AND ABORT
U 2235, 2231,0001,0000,7130,3000,0110,0067	; 8710		P_P AND #,#/67,J/TRNSIG		;CLEAR M, THEN SET N
U 2237, 2221,4001,0000,6130,3000,0110,0030	; 8711		P_P OR #,#/30,J/TRNFNC		;SET N AND M
						; 8712	
						; 8713	=1011
						; 8714	TRNRET:	ARX_AR*MSK,AD/AND,		;S FLAG IS 0, GET BYTE IN AR
U 2253, 2624,3600,0207,4000,0020,4433,0167	; 8715			SKP AR18,B DISP,J/TRNSS	;IS THIS EDIT?
U 2257, 0004,3600,2007,4000,0020,0003,0167	; 8716		AR_AR*MSK,AD/AND,RETURN4	;RETURN NORMAL SINCE S FLAG SET
						; 8717	
						; 8718	=100
U 2624, 0150,3240,2005,0000,0020,0033,0000	; 8719	TRNSS:	AR_DLEN,B DISP,J/TRNNS1		;NO SIG ON MOVE OR D2B
U 2625, 3512,3240,2000,0302,0020,0010,0040	; 8720		AR_SFLGS,SC_#,#/40,J/TRNSS1	;SIG START, SET FLAG
U 2626, 0002,4640,0007,0000,0332,0003,0176	; 8721		VMA_E0+1,LOAD AR,RETURN2	;EDIT NO SIG.  GET FILL
U 2627, 0003,3200,2006,0301,0020,0003,0144	; 8722		AR_DSTP,FE_#,#/144,RETURN3	;EDIT SIG START
						; 8723	
						; 8724	=0**
U 0150, 3511,1703,2000,0000,0020,0010,0000	; 8725	TRNNS1:	AR_AR-1,J/TRNNS2		;COMPENSATE FOR IGNORING SRC
U 0154, 2600,4640,2007,0000,0020,0010,0170	; 8726		AR_SLEN+1,J/SRCMOD		;D2B HAS NO DEST LENGTH
U 3511, 2273,0001,0005,0000,0020,1032,0000	; 8727	TRNNS2:	DLEN_AR,SIGNS DISP
U 2273, 2600,3240,2007,0000,0020,0010,0170	; 8728	=1011	AR_SLEN,J/SRCMOD		;SLEN = DST LEN, DON'T CHANGE IT
U 2277, 2600,4640,2007,0000,0020,0010,0170	; 8729		AR_SLEN+1,J/SRCMOD		;SLEN REFLECTS SRC LENGTH
						; 8730						; COUNT DOWN FOR BYTE SKIPPED
U 3512, 3513,0001,0000,6100,3000,0110,0000	; 8731	TRNSS1:	P_P OR SC
U 3513, 0004,0001,4000,0000,2000,1003,0000	; 8732		SFLGS_AR,AR_ARX,RETURN4		;RETURN WITH SIG SET
						; 8733	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 14
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE	

						; 8734	;SUBROUTINE TO GET BYTE FROM SOURCE STRING
						; 8735	; CALL GSRC WITH SIGNS DISP TO CHECK FOR LENGTH EXHAUSTION
						; 8736	; [TIME = 17 + 3(BP OVERFLOW)]
						; 8737	
						; 8738	=1011
U 2313, 0001,3240,2005,0000,0020,0003,0000	; 8739	GSRC:	AR_DLEN,RETURN1			;LEN RAN OUT
U 2317, 3036,3200,2201,0301,0040,0010,0044	; 8740	GETSRC:	AR_SRCP,ARX_SRCP,FE_#,#/36.
						; 8741	;[266] Remove edit 244
						; 8742	;.IF/MODEL.B
						; 8743	;	GEN FE-S,SKP SCAD0		;[244] IS S > 36 ?
						; 8744	;=0	J/GSRC1				;[244] NO, GO BELOW
						; 8745	;	DISP/RETURN,J/501		;[244] YES, TRICKY WAY TO
						; 8746	;					;[244] GET OUT
						; 8747	;;[244]	THIS IS DONE THIS WAY SO THAT WE CAN TAKE THE ERROR
						; 8748	;;	RETURN OF THE EXTEND INSTRUCTION. THE TWO PLACES THAT
						; 8749	;;	CALL GSRC ARE SET SO THAT A RETURN WITH J FIELD OF 500
						; 8750	;;	WILL GO TO HERE.
						; 8751	;1701:	RETURN5				;[244] ERROR RETURN
						; 8752	;.ENDIF/MODEL.B		;[244][266]
						; 8753	=0
						; 8754	GSRC1:	P_P-S,SC/SCAD,VMA_PC,CALL.M,	;[352] Increment pointer, init VMA
U 3036, 2644,0001,0000,5112,3121,0074,0200	; 8755			BYTE DISP,J/GSRC2	; section, test word overflow
U 3037, 2570,0001,0000,2002,0000,7010,0000	; 8756		SC_FE+SC,SKP INTRPT,J/LDB1	;GET BYTE & RETURN TO CALLER
						; 8757	=100
						; 8758	GSRC2:	SRCP_AR,ARX_AR,FE_S,		;[352] STORE POINTER,
U 2644, 1674,2301,0401,2411,1000,1036,0000	; 8759			EA MOD DISP,J/BFETCH	; GO EVALUATE THE ADDRESS
						; 8760	GSRC3:	ARR_AR+1,ARX/AD,INH CRY18,	;[352] Update address for ARX (used
U 2645, 2644,4001,2200,5012,3020,0611,0200	; 8761			P_FE-S,SC/SCAD,J/GSRC2	; in EA MOD DISP) and set P
U 2646, 1152,3240,0204,0000,0020,5010,0000	; 8762		ARX_SRCP2,SKP PC SEC0,J/GSRC4	;GET ADDR PART OF POINTER
U 2647, 3052,3240,2404,0000,1020,5010,0000	; 8763		ARX_AR,AR_SRCP2,SKP PC SEC0
U 3052, 3060,4003,2000,0101,0020,4516,0000	; 8764	=0	FE_P,AR_AR+1-AR0,SKP AR0,J/GSRC5
U 3053, 2645,4001,4000,0000,2000,0010,0000	; 8765		AR_ARX,J/GSRC3			;OOPS, SEC 0 IS COMPATABLE
						; 8766	=0
U 3060, 1150,4001,0000,0000,3001,0010,0200	; 8767	GSRC5:	P_FE,J/GSRC6			;EFIW, INCR ALL BUT 0-5
U 3061, 1150,4003,2000,0000,0020,0011,0000	; 8768		AR_AR+1,INH CRY18		;IFIW, INCR RIGHT HALF ONLY
						; 8769	=00
						; 8770	GSRC6:	SRCP2_AR,AR_ARX,ARX_AR (AD),	;SAVE ADDR PART
U 1150, 3514,3701,4204,0000,2000,1050,0000	; 8771			CALL,J/RESETP		;GO SET P TO 36-S
						; 8772	=10
U 1152, 1040,4001,0001,2411,0000,1010,0000	; 8773	GSRC4:	SRCP_AR,FE_S,J/BYTEI		;[352] GO EVALUATE LONG POINTER
U 1153, 1674,2301,0401,2411,1000,1036,0000	; 8774		SRCP_AR,ARX_AR,FE_S,EA MOD DISP,J/BFETCH
						; 8775	
						; 8776	;SUBROUTINE TO LOAD P FROM 36-S
						; 8777	
U 3514, 0002,0001,0000,5312,3000,0103,0044	; 8778	RESETP:	P_#-S,#/36.,SC/SCAD,RETURN2	;START P BACK AT LEFT EDGE
						; 8779	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 15
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE	

						; 8780	;SUBR TO STORE AR IN DEST STRING
						; 8781	; [TIME = 24 + 3(BP OVERFLOW)]
						; 8782	
						; 8783	=00
U 1160, 3515,3240,2216,0000,1040,0050,0144	; 8784	PUTDST:	MQ_AR,AR_DSTP,ARX_DSTP,CALL,J/IDST
						; 8785		AR_MQ,SC_#-SC,#/36.,SKP SCAD0,
U 1161, 2610,3721,2000,5302,0020,5150,0044	; 8786			CALL,J/DPB1
U 1163, 0006,4001,0003,0000,0002,0003,0000	; 8787	=11	MEM_AR,RETURN6
						; 8788	
						; 8789	;SUBROUTINES TO UPDATE STRING POINTERS
						; 8790	
						; 8791	IDST:	VMA_PC,P_P-S,SC/SCAD,BYTE DISP,	;[352] Init VMA section and
U 3515, 2664,0001,0000,5112,3121,0034,0200	; 8792			J/IDST2			; TEST FOR WORD OVERFLOW
						; 8793	=100
U 2664, 3521,0001,0406,0000,1000,0010,0144	; 8794	IDST2:	DSTP,ARX_AR,J/IDST2B		;[352] PRESEL #, fix ARX address
U 2665, 3516,4001,2000,0000,0020,0011,0000	; 8795		AR_AR+1,INH CRY18,J/IDST3
U 2666, 1172,3240,0206,0000,0020,5010,0145	; 8796		ARX_DSTP2,SKP PC SEC0,J/IDST4	;GET ADDR PART OF POINTER
U 2667, 3062,3200,2406,0000,1020,5010,0145	; 8797		ARX_AR,AR_DSTP2,SKP PC SEC0
U 3062, 3064,4001,2000,0101,0020,4516,0000	; 8798	=0	FE_P,AR_AR+1-AR0,SKP AR0,J/IDST5
U 3063, 3516,4013,2000,0000,0020,0011,0000	; 8799		AR_ARX+1 (AD),INH CRY18
U 3516, 2664,0001,0000,5312,3000,0110,0044	; 8800	IDST3:	P_#-S,#/36.,SC/SCAD,J/IDST2	;GO STORE SHORT POINTER AWAY
						; 8801	=0
U 3064, 1170,4001,0000,0000,3000,0110,0145	; 8802	IDST5:	P_FE.C,SEL DSTP2,J/IDST6	;PRESEL # TO FIX HARDW GLITCH
U 3065, 1170,4001,2000,0000,0020,0011,0145	; 8803		AR_AR+1,INH CRY18,SEL DSTP2
						; 8804	=00
						; 8805	IDST6:	DSTP2_AR,AR_ARX,ARX_AR (AD),	;INCR ADDR PART
U 1170, 3514,3703,4206,0000,2000,1050,0145	; 8806			CALL,J/RESETP		;GET P BACK TO 36-S
						; 8807	=10
U 1172, 3517,0001,0000,0000,0000,0010,0144	; 8808	IDST4:	SEL DSTP,J/IDST7		;PRESEL # TO PREVENT HARDW GLITCH
U 1173, 3520,4001,0000,0000,0000,0010,0144	; 8809		SEL DSTP,J/IDST8		;PRESEL # TO PREVENT HARDW GLITCH
						; 8810	
U 3517, 1040,4001,0006,2411,0000,1010,0144	; 8811	IDST7:	DSTP_AR,FE_S,J/BYTEI
						; 8812	IDST8:	DSTP_AR,ARX_AR,FE_S,		;[352][300]
U 3520, 1674,2301,0406,2411,1000,1036,0144	; 8813			EA MOD DISP,J/BFETCH
						; 8814	
						; 8815	IDST2B:	DSTP_AR,ARX_AR,FE_S,		;[352][300]STORE POINTER,
U 3521, 1674,2301,0406,2411,1000,1036,0144	; 8816			EA MOD DISP,J/BFETCH	; GO GET THE WORD ADDRESSED
						; 8817	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 16
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- EDIT FUNCTION					

						; 8818	.TOC	"EIS -- EDIT FUNCTION"
						; 8819	.IF/EDIT
						; 8820	;	HERE WITH E0, E1 SETUP, 0 IN AR, -1 IN ARX, AND 15 IN SC
						; 8821	
						; 8822	.IF/OWGBP
						; 8823	=0***					;[347]
U 0626, 2120,4001,0000,0000,0000,0050,0000	; 8824	EDIT:	CALL [EXT2WD]			;CHECK FOR OWGBP
U 0636, 3522,2341,0200,0302,0000,0410,0017	; 8825		CLR AR,ARX_1S,SC_#,#/15.	;SETUP FOR SHIFT
U 3522, 3523,3200,4200,0000,0020,1610,0000	; 8826		AR_SHIFT,ARX_AC0,SR_ED(PAT)	;MASK TO AR, FLAGS ETC TO ARX
						;;8827	.IFNOT/OWGBP
						;;8828	EDIT:	AR_SHIFT,ARX_AC0,SR_ED(PAT)	;MASK TO AR, FLAGS ETC TO ARX
						; 8829	.ENDIF/OWGBP
U 3523, 3524,4001,0007,0000,0000,1010,0167	; 8830		MSK_AR				;SAVE MASK FOR TRAN FUNC
U 3524, 3066,4001,4000,0000,2001,5010,0020	; 8831		AR_ARX,ARL_0.M,SKP PC SEC0	;DO WE ALLOW SECTION #?
U 3066, 3525,3711,4000,0000,2312,0010,0000	; 8832	=0	VMA_ARX,LOAD AR,AR_ARX,J/EDIT1	;YES.  PROVIDE IT
U 3067, 3525,3703,4000,0000,2312,0010,0000	; 8833		VMA_AR,LOAD AR,AR_ARX		;NO, GIVE 0
U 3525, 3526,4001,0000,7131,0000,0010,0003	; 8834	EDIT1:	FE_P AND #,#/3			;GET PBN IN FE
						; 8835	EDITLP:	SC_# AND AR0-8,#/30,		;PBN*8 IN SC
U 3526, 3527,4001,0400,7322,1000,1010,0030	; 8836			SFLGS_AR,ARX_AR		;UPDATED AC NOW IN AC AND ARX
U 3527, 3530,3240,0003,2002,0022,0010,0000	; 8837		AR_MEM,SC_FE+SC			;PATTERN IN AR, PBN*9 IN SC
U 3530, 2321,4001,4000,0302,0020,0007,0005	; 8838		AR_SHIFT,SH DISP,SC_#,#/5	;PATTERN BYTE TO AR0-8,
						; 8839	=0001					; DISP ON HIGH 3 BITS
						; 8840	EDDISP:	GEN #+AR0-8,#/-5,
U 2321, 3070,0001,0000,2320,0020,5110,0773	; 8841			SKP SCAD0,J/EDOPR	;(0XX) OPERATE GROUP
U 2323, 1230,3203,5000,0000,0000,4310,0000	; 8842		AR_AR*8,SKP ARX0,J/EDMSG	;(1XX) MESSAGE
U 2325, 3074,4001,0000,0000,0000,0010,0000	; 8843		J/EDNOP				;(2XX) UNDEFINED
U 2327, 3074,4001,0000,0000,0000,0010,0000	; 8844		J/EDNOP				;(3XX) UNDEFINED
U 2331, 3074,4001,0000,0000,0000,0010,0000	; 8845		J/EDNOP				;(4XX) UNDEFINED
						; 8846		MQ_ARX,ARX_ARX*4,
U 2333, 3533,3243,0610,4002,2000,0010,0000	; 8847			SC_FE+1,J/EDSKPT	;(5XX) SKIP IF MINUS
						; 8848		MQ_ARX,ARX_ARX*2,
U 2335, 3533,3701,0510,4002,2000,0010,0000	; 8849			SC_FE+1,J/EDSKPT	;(6XX) SKIP IF NON-ZERO
U 2337, 3075,3203,5000,4002,0000,0010,0000	; 8850		AR_AR*8,SC_FE+1,J/EDSKP		;(7XX) SKIP ALWAYS
						; 8851	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 17
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- EDIT FUNCTION					

						; 8852	;HERE TO DECODE OPERATE GROUP
						; 8853	=0
U 3070, 3074,4001,0000,0000,0000,0010,0000	; 8854	EDOPR:	J/EDNOP				;OPR .GE. 005 UNDEFINED
U 3071, 2670,0001,0000,0000,0020,0007,0000	; 8855		SH DISP,J/OPDISP		;(00X), DISP ON LOW 3 BITS
						; 8856	=000
						; 8857	OPDISP:	AR_ARX,SC_#,#/-4,		;(000) STOP
U 2670, 3531,4001,4000,0302,2200,0010,0774	; 8858			VMA_PC+1,J/EDSTOP
U 2671, 2174,0001,0000,0000,0000,1610,0101	; 8859		SR_ED(S),J/EDSEL		;(001) SELECT
U 2672, 1220,3200,2006,0000,0020,4310,0144	; 8860		AR_DSTP,SKP ARX0,J/EDSSIG	;(002) START SIGNIFICANCE
U 2673, 3537,0001,4000,0000,2000,0010,0000	; 8861		AR_ARX,J/EDFLDS			;(003) FIELD SEPARATOR
						; 8862		AR_DSTP,ARX/AD,MQ_ARX,		;(004) EXMD
U 2674, 3106,3200,2216,0000,2020,5010,0144	; 8863			SKP PC SEC0,J/EDEX0
						; 8864	=
						; 8865	;HERE TO TERMINATE EDIT INSTRUCTION
						; 8866	; SC HAS -4, FE HAS CURRENT PBN, VMA HAS PC IF ABORT, PC+1 IF DONE
						; 8867	
U 3531, 3072,0001,0000,5031,0020,5110,0003	; 8868	EDSTOP:	FE_FE-#,#/3,SKP SCAD0
						; 8869	=0	AR_AR+1,INH CRY18,
U 3072, 3532,4003,2000,7100,3020,0611,0200	; 8870			P_P AND SC,J/SFET1
U 3073, 3532,4001,0000,4100,3000,0110,0000	; 8871		P_P+1
						; 8872	.ENDIF/EDIT				;Other things need this
U 3532, 0216,4001,0000,0000,0017,3610,0000	; 8873	SFET1:	FETCH+1,J/STORAC
						; 8874	.IF/EDIT
						; 8875	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 18
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- EDIT FUNCTION					

						; 8876	;HERE FOR SKPM & SKPN, WITH APPROPRIATE BIT IN ARX0
						; 8877	
U 3533, 3074,3203,5300,0000,0000,4310,0000	; 8878	EDSKPT:	AR_AR*8,SKP ARX0,ARX/MQ		;SKIP DISTANCE TO AR0-5
						; 8879	
						; 8880	;HERE AT END OF OPERATION TO UPDATE PBN
						; 8881	=0
						; 8882	EDNOP:	FE_FE-#,#/3,SKP SCAD0,		;END OF PATTERN WORD?
U 3074, 3076,4001,4000,5031,2020,5110,0003	; 8883			AR_ARX,J/EDNXT1
U 3075, 3074,0001,0000,2101,0000,0010,0000	; 8884	EDSKP:	FE_P+SC,J/EDNOP			;ADD SKIP DISTANCE
						; 8885	=0
U 3076, 3102,4001,0000,0000,0000,5010,0000	; 8886	EDNXT1:	SKP PC SEC0,J/EDNXT2
U 3077, 3534,4001,0000,0000,0000,1610,0000	; 8887		SR_ED(PAT)
U 3534, 3100,4001,0000,2031,0000,5010,0004	; 8888		FE_FE+#,#/4,SKP PC SEC0		;RESTORE PBN POS, INCR IT
						; 8889	=0	SC_P AND #,#/74,VMA_AR,LOAD AR,	;FLAGS & EDIT BIT TO SC,
U 3100, 3104,3701,0000,7132,0312,7010,0074	; 8890			SKP INTRPT,J/EDNXT3	; GET PATTERN
U 3101, 3535,0001,0000,7132,0000,0010,0074	; 8891		SC_P AND #,#/74			;IN SEC0, MUST NOT LOAD FULL SEC
U 3535, 3536,4001,0400,0000,1001,0010,0020	; 8892		ARX_AR,ARL_0.M			;CLEAR SEC #
						; 8893		VMA_AR,LOAD AR,AR_ARX,		;GET PATTERN
U 3536, 3104,3703,4000,0000,2312,7010,0000	; 8894			SKP INTRPT,J/EDNXT3
						; 8895	
						; 8896	=0
						; 8897	EDNXT2:	AR_AR+1,FE_FE-#,#/4,		;REDUCE PBN
U 3102, 3076,4001,2000,5031,0020,5110,0004	; 8898			SKP SCAD0,J/EDNXT1
						; 8899		AR_AR+1,INH CRY18,		;BUMP TO NEXT WORD
						; 8900			FE_FE-#,#/4,		;REDUCE PBN
U 3103, 3076,4003,2000,5031,0020,5111,0004	; 8901			SKP SCAD0,J/EDNXT1
						; 8902	=0
U 3104, 3526,0001,0000,6000,3001,0010,0200	; 8903	EDNXT3:	P_FE OR SC,J/EDITLP		;SET NEW PBN, GO DO NEXT PATTERN
U 3105, 3775,4001,0000,6000,3001,0010,0200	; 8904		P_FE OR SC,J/PGFAC0		;GO RESTORE THINGS AND TAKE
						; 8905						; THE INTERUPT
						; 8906	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 19
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- EDIT FUNCTION					

						; 8907	;HERE FOR FIELD SEPARATOR (CLEAR FLAGS IN AC 0-2)
						; 8908	
U 3537, 1223,0001,0000,7130,3000,0110,0007	; 8909	EDFLDS:	P_P AND #,#/7,J/EDSEND		;EASY ENOUGH
						; 8910	
						; 8911	;HERE FOR SIG START
						; 8912	
						; 8913	=00
						; 8914	EDSSIG:	ARX_AR,VMA_AC3,AR/AD,ARL_0.M,
						; 8915			BYTE DISP,SCADA EN/0S,SCAD/A,
U 1220, 2734,3200,2405,0400,1341,5074,0020	; 8916			CALL,SKP PC SEC0,J/EDFLT
						; 8917		FE_FE-#,#/3,SKP SCAD0,		;S FLAG ALREADY SET, NOP
U 1221, 3076,4001,4000,5031,2020,5110,0003	; 8918			AR_ARX,J/EDNXT1
						; 8919	=11
U 1223, 3074,0001,0400,7131,1000,0010,0003	; 8920	EDSEND:	FE_P AND #,#/3,ARX_AR,J/EDNOP	;READY TO DO NEXT OP
						; 8921	
						; 8922	;HERE FOR MESSAGE CHAR
						; 8923	
						; 8924	=00
U 1230, 2722,4640,0007,0000,0332,0010,0176	; 8925	EDMSG:	VMA_E0+1,LOAD AR,J/EDSFIL	;NO SIG, PUT FILLER
U 1231, 3374,3401,2000,0102,0000,0050,0000	; 8926		SC_P,AR_0S,CALL,J/GETSC		;GET MESSAGE SELECT IN AR
U 1233, 2727,4600,0007,4000,0332,0010,0176	; 8927	=11	VMA_AR+E0+1,LOAD AR,J/EDMPUT	;STORE MESSAGE
						; 8928	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 20
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- EDIT FUNCTION					

						; 8929	;HERE TO EXCHANGE MARK AND DESTINATION POINTERS
						; 8930	
						; 8931	=0
						; 8932	EDEX0:	VMA_AC3,LOAD AR (WR TST),	;GET MARK POINTER
U 3106, 3542,3200,0065,0000,0331,0010,0440	; 8933			BR/AR,BRX/ARX,J/EDEX2	;DSTP IN BR & BRX,
U 3107, 3540,3240,2045,0000,0021,0010,0020	; 8934	EDEXMD:	BR/AR,AR_AC3,ARL_0.M
U 3540, 3541,3701,0000,0000,0311,0010,0440	; 8935		VMA_AR,LOAD AR (WR TST)		;GET MARK FROM SECT 0
U 3541, 2245,3200,0003,0000,0022,0010,0000	; 8936		AR_MEM
						; 8937	=101
U 2245, 3545,3202,2040,0000,0016,0010,0000	; 8938	EDDSNG:	BR/AR,AR_BR,STORE,J/EDEXX	;NEITHER POINTER IS DOUBLE
U 2247, 1002,4001,0000,0000,0000,0010,0000	; 8939		J/UUO				;SHORT DSTP, LONG MARK ILLEGAL
						; 8940	;;;FLUSH WHEN SURE THIS IS RIGHT
						; 8941	;	BR/AR,AR_BR,			;DSTP TO AR, MARK TO BR
						; 8942	;		VMA_VMA+1,LOAD ARX	;GET MARK2
						; 8943	;	FIN XFER,VMA_VMA-1,STORE,J/EDEXX;NOW STORE DSTP AS NEW MARK
						; 8944	
U 3542, 2675,3240,0003,0000,0042,0034,0000	; 8945	EDEX2:	AR_MEM,BYTE DISP		;WAIT FOR MARK, TEST DESTP
U 2675, 2245,4001,0000,0000,0020,0034,0000	; 8946	=101	BYTE DISP,J/EDDSNG		;NO, CHECK MARK
U 2677, 2705,3240,0206,0000,0040,0034,0145	; 8947		ARX_DSTP2,BYTE DISP		;YES, CHECK MARK
U 2705, 1002,4001,0000,0000,0000,0010,0000	; 8948	=101	J/UUO				;LONG DSTP SHORT MARK ABORT
						; 8949	;;;FLUSH WHEN SURE THE UUO IS RIGHT
						; 8950	;	BR/AR,AR_ARX,			;MARK TO BR, DSTP2 TO AR
						; 8951	;		VMA_VMA+1,STORE,J/EDEXM4 ; STORE DSTP2
						; 8952		BR/AR,AR_ARX,
U 2707, 3543,4001,4040,0000,2011,3610,0240	; 8953			VMA_VMA+1,LOAD ARX (WR TST)	;GET MARK2
U 3543, 3544,3240,0003,0000,0036,0010,0000	; 8954		FIN XFER,STORE			;PUT BACK DSTP2
						; 8955	;EDEXM4:
						; 8956		FIN STORE,AR_BRX,		;GET DSTP FROM BRX
U 3544, 3545,3202,6003,0000,0016,3510,0000	; 8957			VMA_VMA-1,STORE		;PUT THAT DOWN
						; 8958	EDEXX:	MEM_AR,AR_BR,SEL DSTP,		;PRESELECT # TO FIX HARDWARE GLITCH
U 3545, 3120,3242,2003,0000,0002,5010,0144	; 8959			SKP PC SEC0		;GET MARK FOR NEW DSTP
U 3120, 2715,4001,4006,0000,2020,1034,0144	; 8960	=0	DSTP_AR,AR_ARX,BYTE DISP,J/EDEX1
U 3121, 2715,0001,0006,0000,0000,1010,0144	; 8961		DSTP_AR
						; 8962	=101
						; 8963	EDEX1:	FE_FE-#,#/3,SKP SCAD0,
U 2715, 3076,3721,2000,5031,0020,5110,0003	; 8964			AR_MQ,J/EDNXT1
U 2717, 3546,0001,0000,0000,0000,0010,0145	; 8965		SEL DSTP2			;PRESELECT # TO FIX HARDWARE GLITCH
U 3546, 2715,4001,0006,0000,0000,1010,0145	; 8966		DSTP2_AR,J/EDEX1		;PUT OLD MARK2 AS DSTP2
						; 8967	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 21
; EIS.MIC[4,24]	10:37 27-May-86				EIS -- EDIT FUNCTION					

						; 8968	;HERE FOR SELECT
						; 8969	
						; 8970	=0*
						; 8971	EDSEL:	AR_SRCP,ARX_SRCP,FE_#,#/36.,
U 2174, 3036,3240,2201,0301,0040,0050,0044	; 8972			CALL,J/GSRC1		;GO GET SRC BYTE
U 2176, 2720,0301,7707,0000,0020,0027,0165	; 8973		AR_AR*.5 LONG,E1		;GOT IT, DIVIDE BY 2
U 2720, 3510,0600,0007,4000,0332,0050,0165	; 8974	=000	VMA_AR+E1,LOAD AR,CALL,J/TRNAR	;GO TRANSLATE BY HALFWORDS
						; 8975	=010
U 2722, 3547,3240,0003,0000,0022,0010,0000	; 8976	EDSFIL:	AR_MEM,J/EDSF1			;(2) NO SIGNIFICANCE, STORE FILL
U 2723, 1320,0001,0020,5110,0020,5110,0000	; 8977		GEN P-S,SKP SCAD0,BRX/ARX,J/EDSFLT ;(3) SIG START, DO FLOAT CHAR
U 2724, 1160,0001,0000,0000,0000,1650,0224	; 8978	EDSPUT:	SR_ED(+D),CALL,J/PUTDST		;(4) NORMAL, STORE AT DST
U 2725, 3531,4001,0000,0302,0100,0010,0774	; 8979		VMA/PC,SC_#,#/-4,J/EDSTOP	;(5) ABORT
U 2726, 1223,3200,2000,0000,0020,0010,0000	; 8980	EDFPUT:	AR_SFLGS,J/EDSEND		;(6) BUMP PBN AND GO TO NEXT
U 2727, 2724,3240,0003,0000,0022,0010,0000	; 8981	EDMPUT:	AR_MEM,J/EDSPUT			;FILL OR MSG IN AR, STORE IT
						; 8982	
						; 8983	
						; 8984	;HERE WHEN TIME TO STORE FILL CHAR
						; 8985	
U 3547, 2726,3703,0000,0000,0040,5410,0000	; 8986	EDSF1:	SKP AR NE,J/EDFPUT		;IS THERE ONE?
						; 8987	
						; 8988	;HERE WHEN SELECT STARTS SIGNIFICANCE
						; 8989	
						; 8990	=00
						; 8991	EDSFLT:	ARX_AR,VMA_AC3,AR/AD,ARL_0.M,
						; 8992			BYTE DISP,SCADA EN/0S,SCAD/A,
U 1320, 2734,3200,2405,0400,1341,5074,0020	; 8993			CALL,SKP PC SEC0,J/EDFLT
U 1321, 1320,4001,2000,0000,3021,0010,0200	; 8994		P_FE,AR_AR+1,J/EDSFLT		;FORCE STANDARD POINTER FORM
U 1323, 2724,3242,6000,0000,0000,1010,0000	; 8995	=11	SFLGS_AR,AR_BRX,J/EDSPUT	;SET S FLAG, GET BYTE, STORE IT
						; 8996	
						; 8997	;HERE IS SUBROUTINE TO STORE FLOAT CHAR
						; 8998	
						; 8999	=100
U 2734, 3552,4001,4000,0000,2016,0010,0000	; 9000	EDFLT:	AR_ARX,STORE,J/EDFLT1		;SHORT POINTER.  STORE IT
U 2735, 3552,3701,4000,0000,2316,0010,0000	; 9001		VMA_AR,AR_ARX,STORE,J/EDFLT1	; LIKEWISE.  FORCE SECTION 0
U 2736, 3550,0001,4000,0000,2016,0010,0000	; 9002		AR_ARX,STORE,J/EDFLTX		;LONG POINTER, DO MORE
U 2737, 3552,3701,4000,0000,2316,0010,0000	; 9003		VMA_AR,AR_ARX,STORE,J/EDFLT1	; IN SECTION 0, KEEP THERE
						; 9004	
U 3550, 3551,4001,0003,0000,0002,0010,0000	; 9005	EDFLTX:	MEM_AR				;FINISH STORE OF 1ST PART
U 3551, 3552,3240,2006,0000,0036,3610,0145	; 9006		AR_DSTP2,VMA_VMA+1,STORE	;NOW DO SECOND PART
						; 9007	
U 3552, 2214,4061,5003,0000,0022,0010,0000	; 9008	EDFLT1:	MEM_AR,AR_2			;MARK STORED, READY FOR FLOAT
U 2214, 1045,0600,0007,4000,0332,0050,0176	; 9009	=0*	VMA_AR+E0,LOAD AR,CALL,J/XFERW
U 2216, 2744,3701,0000,0000,0040,5410,0000	; 9010		SKP AR NE
U 2744, 3553,3240,2000,0302,0020,0010,0040	; 9011	=100	AR_SFLGS,SC_#,#/40,J/SETFLG	;NO FLOAT CHR, SET S FLAG
U 2745, 1160,0001,0000,0000,0000,1650,0224	; 9012		SR_ED(+D),CALL,J/PUTDST		;STORE FLOAT CHR IN DST
U 2747, 3553,3240,2000,0302,0020,0010,0040	; 9013	=111	AR_SFLGS,SC_#,#/40		;SET S FLAG AND RETURN
						; 9014	.ENDIF/EDIT				;Other stuff needs this
U 3553, 0003,0001,0000,6100,3000,0103,0000	; 9015	SETFLG:	P_P OR SC,RETURN3		;NO FLOAT CHR, SET S FLAG
						; 9016	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 1
; IO.MIC[4,24]	15:27 17-Mar-86				I/O INSTRUCTIONS					

						; 9017	.TOC	"I/O INSTRUCTIONS"
						; 9018	
						; 9019	; BITS 10-12 OF INSTRUCTION GET MAPPED TO IR 7-9 FOR I/O INSTRUCTIONS
						; 9020	; THE DEVICE ADDRESS IS BROKEN DOWN AS ONE OF THE FIRST 7, OR ALL OTHERS
						; 9021		.DCODE
						; 9022	
						; 9023	;DEVICE 000 (APR)
						; 9024	
D 0700, 3001,1212				; 9025	700:	W,		J/APRBI	;APRID (BLKI APR,)	OPTIONS, SERIAL #
D 0701, 3600,1210				; 9026		W,	DATAI,	J/APRDI	;DATAI APR,		ADDRESS COMPARE
D 0702, 0001,1316				; 9027		I,		J/APRBO	;WRFIL (BLKO APR,)	REFILL RAM
D 0703, 4400,1314				; 9028		R,	DATAO,	J/APRDO	;DATAO APR,		ADDRESS COMPARE
D 0704, 0400,1504				; 9029		I,	CONO,	J/APRCO	;CONO APR,		APR FLAGS
D 0705, 0600,1506				; 9030		I,	CONI,	J/APRCI	;CONI APR,
D 0706, 0101,1506				; 9031		I,	CONSZ,	J/APRCI	;CONSZ APR,
D 0707, 0500,1506				; 9032		I,	CONSO,	J/APRCI	;CONSO APR,
						; 9033	
						; 9034	;DEVICE 004 (PI)
						; 9035	
D 0710, 3601,1301				; 9036	710:	W,	M,	J/PIBI	;RDERA (BLKI PI,)	READ ERA
D 0711, 3300,1300				; 9037		W,	B/3,	J/PIDI	;DATAI PI,		Stats, or not used
D 0712, 4000,1302				; 9038		R,		J/PIBO	;SBDIAG (BLKO PI,)	SBUS DIAGNOSTIC
D 0713, 4001,1300				; 9039		R,	B/0,	J/PIDO	;DATAO PI,		More statistics
D 0714, 0400,1400				; 9040		I,	CONO,	J/PICO	;CONO PI,		PI SYSTEM CONTROL
D 0715, 0600,1404				; 9041		I,	CONI,	J/PICI	;CONI PI,		IN PROGRESS, ENABLE
D 0716, 0101,1404				; 9042		I,	CONSZ,	J/PICI
D 0717, 0500,1404				; 9043		I,	CONSO,	J/PICI
						; 9044	
						; 9045	;DEVICE 010 (PAG)
						; 9046	
D 0720, 6200,1516				; 9047	720:	RW,	BLKI,	J/PAGBI	;BLKI PAG,		UNASSIGNED
D 0721, 3600,1514				; 9048		W,	DATAI,	J/PAGDI	;DATAI PAG,		USER CONTEXT
D 0722, 0001,1510				; 9049		I,		J/PAGBO	;CLRPT (BLKO PAG,)	INVAL PAGE TABLE
D 0723, 4400,1512				; 9050		R,	DATAO,	J/PAGDO	;DATAO PAG,		USER CONTEXT
D 0724, 0401,1600				; 9051		I,	CONO,	J/PAGCO	;CONO PAG,		EXEC CONTEXT
D 0725, 0601,1602				; 9052		I,	CONI,	J/PAGCI	;CONI PAG,
D 0726, 0100,1602				; 9053		I,	CONSZ,	J/PAGCI
D 0727, 0501,1602				; 9054		I,	CONSO,	J/PAGCI
						; 9055	
						; 9056	;DEVICE 014 (CCA)
						; 9057	
D 0730, 0000,1704				; 9058	730:	I,	J/SWEEP	;BLKI CCA,	8 FUNCTIONS TO SWEEP THE CACHE
D 0731, 0000,1704				; 9059		I,	J/SWEEP	;SWPIA (DATAI CCA,)INVALIDATE CACHE, NO CORE UPDATE
D 0732, 0000,1704				; 9060		I,	J/SWEEP	;SWPVA (BLKO CCA,)VALIDATE CORE, LEAVE CACHE VALID
D 0733, 0000,1704				; 9061		I,	J/SWEEP	;SWPUA (DATAO CCA,)UNLOAD CACHE TO CORE, CLEAR CACHE
D 0734, 0000,1704				; 9062		I,	J/SWEEP	;CONO CCA,
D 0735, 0000,1704				; 9063		I,	J/SWEEP	;SWPIO (CONI CCA,)INVALIDATE ONE PAGE
D 0736, 0000,1704				; 9064		I,	J/SWEEP	;SWPVO (CONSZ CCA,)VALIDATE ONE PAGE
D 0737, 0000,1704				; 9065		I,	J/SWEEP	;SWPUO (CONSO CCA,)UNLOAD ONE PAGE
						; 9066	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 2
; IO.MIC[4,24]	15:27 17-Mar-86				I/O INSTRUCTIONS					

						; 9067	;I/O CONT'D
						; 9068	
						; 9069	;DEVICE 020 (TIM)
						; 9070	
D 0740, 3100,1706				; 9071	740:	W,	B/1,	J/RDMTR	;RDPERF (BLKI TIM,)	PERF CNT
D 0741, 3001,1706				; 9072		W,	B/0,	J/RDMTR	;RDTIME (DATAI TIM,)	TIME BASE
D 0742, 4401,1616				; 9073		R,	DATAO,	J/TIMBO	;WRPAE (BLKO TIM,)	PA ENABLES
D 0743, 4401,1615				; 9074		R,	DATAO,	J/TIMDO	;DATAO TIM,		UNDEFINED
D 0744, 0400,1604				; 9075		I,	CONO,	J/TIMCO	;CONO TIM,		SETUP INTERVAL TIMER
D 0745, 0600,1606				; 9076		I,	CONI,	J/TIMCI	;CONI TIM,		RD INTERVAL & PERIOD
D 0746, 0101,1606				; 9077		I,	CONSZ,	J/TIMCI
D 0747, 0500,1606				; 9078		I,	CONSO,	J/TIMCI
						; 9079	
						; 9080	;DEVICE 024 (MTR)
						; 9081	
						; 9082	
D 0750, 3301,1706				; 9083	750:	W,	B/3,	J/RDMTR	;RDMACT (BLKI MTR,)	CACHE CNT
D 0751, 3200,1706				; 9084		W,	B/2,	J/RDMTR	;RDEACT (DATAI MTR,)	EBOX CNT
D 0752, 0001,1002				; 9085		I,		J/UUO	;BLKO MTR,		UNDEFINED
D 0753, 0001,1002				; 9086		I,		J/UUO	;DATAO MTR,		UNDEFINED
D 0754, 0400,1610				; 9087		I,	CONO,	J/MTRCO	;WRTIME (CONO MTR,)	ACCT & TB CTL
D 0755, 0600,1612				; 9088		I,	CONI,	J/MTRCI	;CONI MTR,		SAME
D 0756, 0101,1612				; 9089		I,	CONSZ,	J/MTRCI
D 0757, 0500,1612				; 9090		I,	CONSO,	J/MTRCI
						; 9091	
						; 9092	;DEVICE 030
						; 9093	
D 0760, 6200,1200				; 9094	760:	RW,	BLKI,	J/BLKIO
D 0761, 3601,1206				; 9095		W,	DATAI,	J/IO
D 0762, 6001,1200				; 9096		RW,	BLKO,	J/BLKIO
D 0763, 4401,1206				; 9097		R,	DATAO,	J/IO
D 0764, 0401,1202				; 9098		I,	CONO,	J/CONO
D 0765, 3601,1206				; 9099		W,	CONI,	J/IO
D 0766, 0101,1202				; 9100		I,	CONSZ,	J/CONS
D 0767, 0500,1202				; 9101		I,	CONSO,	J/CONS
						; 9102	
						; 9103	;DEVICES 034-774 (ALL OTHERS)
						; 9104	
D 0770, 6200,1200				; 9105	770:	RW,	BLKI,	J/BLKIO
D 0771, 3601,1206				; 9106		W,	DATAI,	J/IO
D 0772, 6001,1200				; 9107		RW,	BLKO,	J/BLKIO
D 0773, 4401,1206				; 9108		R,	DATAO,	J/IO
D 0774, 0401,1202				; 9109		I,	CONO,	J/CONO
D 0775, 3601,1206				; 9110		W,	CONI,	J/IO
D 0776, 0101,1202				; 9111		I,	CONSZ,	J/CONS
D 0777, 0500,1202				; 9112		I,	CONSO,	J/CONS
						; 9113	
						; 9114		.UCODE
						; 9115	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 3
; IO.MIC[4,24]	15:27 17-Mar-86				EXTERNAL DEVICE I/O INSTRUCTIONS			

						; 9116	.TOC	"EXTERNAL DEVICE I/O INSTRUCTIONS"
						; 9117	
						; 9118	=0****00*000
U 1200, 3002,0001,0000,0000,0000,7350,0000	; 9119	BLKIO:	SKP IO LEGAL,CALL,J/IOCHK	;FIRST VERIFY INSTR VALIDITY
U 1201, 0363,0001,0000,0000,0020,0034,0000	; 9120		BYTE DISP,J/BLK1		;TEST FPD
						; 9121	CONS:					;HERE FOR CONSO, CONSZ TO LOAD
						; 9122						; BR IN CASE OF UUO
U 1202, 1206,4001,0040,0000,3000,0610,0004	; 9123	CONO:	BR/AR,ARL_ARR,ARR_ARR		;CONDITIONS TO BOTH HALVES
						; 9124	=10
U 1206, 1330,3200,0003,0000,0022,7350,0000	; 9125	IO:	AR_MEM,SKP IO LEGAL,CALL,J/GTEBUS;WAIT FOR MBOX IF BLKI/O
U 1207, 0022,0001,0000,0000,0005,2233,0000	; 9126	RELEEB:	REL ECL EBUS,B WRITE		;XFER DONE, WHAT TO DO?
						; 9127	=
						; 9128	=1*010
U 0022, 3554,4001,0003,0000,0002,0010,0000	; 9129	IOTEND:	MEM_AR,J/BLK4			;[414] BLKI/BLKO
U 0023, 0217,3602,0004,0000,0246,0010,0203	; 9130		TEST AR.BR,TEST FETCH,J/NOP	;CONSZ
U 0026, 0042,0001,0003,0000,0002,6510,0000	; 9131		MEM_AR,SKP PI CYCLE,J/IOFET	;DATA/CON I/O
U 0027, 0217,3602,0004,0000,0246,0010,0203	; 9132		TEST AR.BR,TEST FETCH,J/NOP	;CONSO
						; 9133	;BLKI/BLKO SCREWED AROUND WITH TO TRY TO STOP PI LOSSAGE
U 3554, 3122,5062,0000,0000,0246,6517,0203	; 9134	BLK4:	TEST BRL,TEST FETCH,SKP PI CYCLE
U 3122, 0133,4001,0000,0000,0000,0014,0000	; 9135	=0	CLR FPD,J/FINI			;[412] CAN'T DO THIS UNTIL STORE
U 3123, 0133,4001,0000,0000,0000,1610,0000	; 9136		SR_0,J/FINI			; COMPLETE--moved from termination
						; 9137	
						; 9138	.IF/IPA20				;[410] Tail of PI function 7
						; 9139	=1***00
U 0040, 3560,0001,0003,0000,0002,2250,0026	; 9140	ESEND:	MEM_AR,SET DATAO,CALL [EBUSO]	;Send data out over EBUS
						; 9141	.ENDIF/IPA20				;[410]
						; 9142	=1***10					;[410]
U 0042, 0217,4001,0000,0000,0217,0010,0000	; 9143	IOFET:	I FETCH,J/NOP			;HERE IF NOT PI CYCLE
U 0043, 2424,4001,0000,0000,0000,0024,0502	; 9144		DISMISS,J/PIFET			;DISMISS INTRPT AFTER DATA/CON I/O
						; 9145	
						; 9146	=1**010
U 0362, 0125,4001,0043,0000,0002,0633,0020	; 9147	BLK2:	MEM_AR,BR/AR,ARL_0.C,B DISP,J/BLK3
U 0363, 0362,4003,2000,0000,0036,0017,0000	; 9148	BLK1:	AR_AR+1,GEN CRY18,STORE,J/BLK2	;UPDATE POINTER WORD
U 0367, 0362,0001,0000,0000,0000,6510,0000	; 9149	=111	SKP PI CYCLE,J/BLK2		;IF FPD & NOT PI, DON'T INCREMENT
						; 9150	=1*101					;DO DATAI OR DATAO
U 0125, 1206,3703,0000,0000,0312,1110,0100	; 9151	BLK3:	VMA_AR,LOAD AR,SET FPD,J/IO	;GET DATA TO OUTPUT
U 0127, 1206,3703,0000,0000,0300,1110,0100	; 9152		VMA_AR,SET FPD,J/IO		;INPUT DO BEFORE MEM
						; 9153	
						; 9154	;;;NOTE NOTE NOTE SET FPD INHIBITED BY HARDWARE IF PI CYCLE (SCD5)
						; 9155	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 4
; IO.MIC[4,24]	15:27 17-Mar-86				EXTERNAL DEVICE I/O INSTRUCTIONS			

						; 9156	;SUBROUTINES TO HANDLE EBUS
						; 9157	;CALL WITH "SKP IO LEGAL"
						; 9158	;ENTER AFTER LOADING AR IF OUTPUT FUNCTION
						; 9159	
						; 9160	=00
U 1330, 1002,3242,2000,0000,0000,0010,0000	; 9161	GTEBUS:	AR_BR,J/UUO			;HERE IF IO ILLEGAL IN THIS MODE
U 1331, 3126,4001,0000,0000,0000,2250,0200	; 9162		REQ EBUS,CALL,J/WGRANT		;ASK PI SYSTEM FOR BUS
						; 9163	=11					;RETURN TO TRANSFER ROUTINE
						; 9164	
						; 9165	;SUBROUTINE TO PERFORM EBUS TRANSFER
						; 9166	;SETUP CONTROLLER SELECT AND FUNCTION LINES BEFORE CALL
						; 9167	;IF OUTPUT, ALSO PUT AR ONTO EBUS DATA LINES
						; 9168	
						; 9169	EBUSX:	GEN AR,TIME/5T,			;WAIT AFTER ASSERTING FUNCTION
U 1333, 3125,3701,0000,0000,0060,2210,0060	; 9170			SET EBUS DEMAND,J/WXFER	; AFTER 300 NS, ASSERT DEMAND
						; 9171	=0
						; 9172	EBUSW:	AR_EBUS,GEN AR,
U 3124, 3555,3703,3000,0000,0060,2210,0020	; 9173			CLR EBUS DEMAND,J/RELEB	;STROBE DATA AND DROP DEMAND
U 3125, 3124,3701,0000,0000,0000,6710,0000	; 9174	WXFER:	GEN AR,SKP -EBUS XFER,J/EBUSW	;WAIT FOR TRANSFER
						; 9175	
						; 9176	RELEB:	GEN AR,REL EBUS,TIME/5T,	;DROP DATA, CS, AND FCN
U 3555, 0003,3701,0000,0000,0060,2203,0100	; 9177			RETURN3			;AFTER 150 NS, THEN RELEASE BUS
						; 9178	
						; 9179	
						; 9180	;SUBROUTINE TO WAIT FOR PI SYSTEM TO GRANT EBUS
						; 9181	; IT WILL EITHER SEND EBUS GRANT, OR PI READY
						; 9182	
						; 9183	=0
U 3126, 3130,0001,0000,0000,0000,6610,0000	; 9184	WGRANT:	SKP -EBUS GRANT,J/WGRNT1	;GOT IT?
U 3127, 0361,0001,0000,0000,0000,2210,0000	; 9185		DROP EBUS REQ,J/TAKINT
						; 9186	=0
U 3130, 3556,3701,0000,0000,0000,2210,0030	; 9187	WGRNT1:	IO INIT,GEN AR,J/WGRNT2		;GOT IT, SETUP CS, FCN, AND DATA
U 3131, 3126,0001,0000,0000,0000,7010,0000	; 9188		SKP INTRPT,J/WGRANT		;DIDN'T GET IT, TEST FOR INTERUPT
						; 9189	WGRNT2:	GEN AR,TIME/5T,			;JUST WAIT
U 3556, 0003,3703,0000,0000,0060,0003,0030	; 9190			EBUS CTL/IO INIT,RETURN3
						; 9191	
						; 9192	;HERE TO START PI CYCLE TRANSFER.  HOLD EBUS CTL SELECTION
						; 9193	
U 3557, 1333,0001,0000,0000,0060,0010,0027	; 9194	EBUSI:	TIME/5T,EBUS CTL/DATAI,J/EBUSX
U 3560, 1333,3701,0000,0000,0060,0010,0026	; 9195	EBUSO:	GEN AR,TIME/5T,EBUS CTL/DATAO,J/EBUSX
						; 9196	
						; 9197	;SUBROUTINES TO CHECK IO LEGALITY FOR INTERNAL I/O INSTRUCTIONS
						; 9198	
						; 9199	3002:
U 3002, 1002,3242,2000,0000,0000,0010,0000	; 9200	IOCHK:	AR_BR,J/UUO			;NAUGHTY, MUST'NT DO
						; 9201	3003:
U 3003, 0001,4001,0000,0000,0000,0003,0000	; 9202	RET1:	RETURN1				;ONE-CYCLE NULL ROUTINE
						; 9203	
						; 9204	=0
U 3132, 1002,3242,2000,0000,0000,0010,0000	; 9205	GETEEB:	AR_BR,J/UUO			;IO ILLEGAL IN THIS MODE
U 3133, 0001,0001,0000,0000,0000,2203,0400	; 9206	GTEEB1:	GET ECL EBUS,RETURN1
						; 9207	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 5
; IO.MIC[4,24]	15:27 17-Mar-86				INTERNAL DEVICE FUNCTIONS -- APR, CCA			

						; 9208	.TOC	"INTERNAL DEVICE FUNCTIONS -- APR, CCA"
						; 9209	
						; 9210	=0****00***0
						; 9211	SWEEP:	BR/AR,SC_#,#/9.,CALL,
U 1704, 3002,0001,0040,0302,0000,7350,0011	; 9212			SKP IO LEGAL,J/IOCHK	;ALLOWED?
U 1705, 3561,4001,4000,0000,0000,0010,0000	; 9213		AR_SHIFT			;MOVE PAGE # TO PLACE
U 3561, 3562,3701,0000,0000,0307,0010,0606	; 9214	=	VMA_AR,SWEEP CACHE		;START A SWEEP
U 3562, 0016,4001,0000,0000,0002,0010,0000	; 9215	MBREL:	MB WAIT,J/IFNOP			;COMPLETE REG FUNC BEFORE FETCH
						; 9216	
						; 9217	
						; 9218	=0****00**00
U 1314, 3132,4001,0000,0000,0000,7350,0000	; 9219	APRDO:	CALL,SKP IO LEGAL,J/GETEEB	;SET ADDR BREAK
U 1315, 1207,3703,0000,0000,0060,2010,0417	; 9220		DATAO APR,J/RELEEB
U 1316, 3002,4001,0040,0000,0000,7350,0000	; 9221	APRBO:	BR/AR,CALL,SKP IO LEGAL,J/IOCHK	;SET CACHE REFILL ALGORITHM
U 1317, 3562,4001,0000,0000,0007,0010,0505	; 9222		WR REFILL RAM,J/MBREL		;INFO ALREADY IN VMA
						; 9223	=
						; 9224	
						; 9225	=0****00*000
U 1210, 3132,4001,0000,0000,0000,7350,0000	; 9226	APRDI:	CALL,SKP IO LEGAL,J/GETEEB	;READ ADDR BREAK
U 1211, 1207,0001,3000,0000,0060,2010,0513	; 9227		DATAI APR(L),J/RELEEB
						; 9228	=010
						; 9229	.IFNOT/DDT.BUG				;[346] Normal code
U 1212, 3002,0001,0000,0000,0000,7350,0000	; 9230	APRBI:	CALL,SKP IO LEGAL,J/IOCHK	;RETURN MICRO VERSION, SERIAL #
						; 9231		AR_SERIAL,TIME/3T,		;READ SERIAL NUMBER
U 1213, 0137,4001,0000,0000,0020,0750,0100	; 9232			CALL,J/UVERS		;GET MICRO-CODE VERSION IN AR
U 1217, 3563,3242,2000,0000,3000,0022,0004	; 9233	=111	ARL_ARR.S,AR_BR			;COMB SERIAL WITH VERSION
						; 9234	=	AR0-8_#,STORE,OPTIONS,		;SET OPTION FLAGS
U 3563, 0016,0001,0000,0000,0016,0110,0660	; 9235			J/STMEM
						;;9236	.IF/DDT.BUG				;[346] Gross hack to make EDDT work
						;;9237	APRBI:	AR_SERIAL,TIME/3T		;[346] Get hardware serial number
						;;9238	=
						;;9239	=0	AR_AR SWAP,FE_#,OPTIONS,	;Set to test bit 23
						;;9240			SKP IO LEGAL,CALL [IOCHK]; Is this a legal instruction here?
						;;9241		GEN P AND #,#/1,SKP SCAD NZ	;Was bit 23 set?
						;;9242	=0*0
						;;9243	SEROK:	AR_AR SWAP,CALL [UVERS]		;Maybe not. Get microcode version
						;;9244		P_P AND #,#/76,J/SERFIX		;Yes. Clean it and move it
						;;9245		ARL_ARR,ARR_BR			;It's fixed. Shuffle version to spot
						;;9246	=	AR0-8_FE,STORE,J/STMEM		;Move in options and store result
						;;9247	;
						;;9248	SERFIX:	FE_FE+#,#/10,J/SEROK		;OR in bit 5 for option
						; 9249	.ENDIF/DDT.BUG				;[346] All this code is GROSS!!
						; 9250	
						; 9251	=0****00**00
						; 9252	APRCO:	BR/AR,ARL_ARR.M,ARR_ARR,CALL.M,	;SET APR FLAGS
U 1504, 3132,0001,0040,0000,3001,7350,0004	; 9253			SKP IO LEGAL,J/GETEEB
U 1505, 3566,3701,0000,0000,0060,2010,0414	; 9254		CONO APR, J/APRCO7		;[272]
						; 9255	APRCI:	BR/AR,CALL,
U 1506, 3132,0001,0040,0000,0000,7350,0000	; 9256			SKP IO LEGAL,J/GETEEB	;READ APR FLAGS
U 1507, 3564,0001,3000,0000,0060,2010,0510	; 9257		CONI APR(R)			;GET RIGHT HALF OF APR CONDITIONS
U 3564, 3565,4001,3400,0000,3060,2010,0512	; 9258	=	ARX_AR SWAP,CONI APR(L)		;NOW LH COND TO AR LEFT
U 3565, 1207,0001,4000,0000,2000,0610,0000	; 9259		AR_ARX,ARL_ARL,J/RELEEB		;COMBINE HALVES
U 3566, 1207,3703,0000,0000,0060,2010,0414	; 9260	APRCO7:		CONO APR,J/RELEEB	;[272]
						; 9261	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 6
; IO.MIC[4,24]	15:27 17-Mar-86				INTERNAL DEVICE FUNCTIONS -- PI				

						; 9262	.TOC	"INTERNAL DEVICE FUNCTIONS -- PI"
						; 9263	
						; 9264	=0****00*000
						; 9265	.IFNOT/INSTR.STAT
						; 9266	PIDO:
U 1300, 1002,3242,2000,0000,0000,0010,0000	; 9267	PIDI:	AR_BR,J/UUO			;DATAI/O PI, UNASSIGNED
						; 9268	
						;;9269	.IF/INSTR.STAT
						;;9270	;DATAO PI, SETS UP BUFFER POINTERS FOR TRACKS
						;;9271	;DATAI PI, READS CURRENT BUFFER POINTER
						;;9272	
						;;9273	PIDI:
						;;9274	PIDO:	BR/AR,ARL+ARX_0.M,CALL.M,	;CHECK IO LEGALITY
						;;9275			SKP IO LEGAL,J/IOCHK
						;;9276		SC_#,#/9.,B DISP,SKP BR0,J/PIDX	;NOW, WHAT TO DO?
						; 9277	.ENDIF/INSTR.STAT
						; 9278	
U 1301, 0740,4001,0000,0000,0007,0010,0504	; 9279	PIBI:	READ ERA,J/RDEBRG		;GET AND STORE
						; 9280	=0
						; 9281	PIBO:	FE_#,#/7,CALL,			;NUMBER OF TIMES TO TRY
U 1302, 3002,0001,0000,0301,0000,7350,0007	; 9282			SKP IO LEGAL,J/IOCHK	;SBUS DIAGNOSTIC
U 1303, 3567,0001,0040,0000,0007,0010,0407	; 9283	DODIAG:	SBUS DIAG,BR/AR			;SEND THE DIAG FUNCTION FROM AR
						; 9284	=
						; 9285	.IFNOT/MOS.MULTI
U 3567, 0016,0001,1000,0000,0016,3610,0000	; 9286		AR/CACHE,VMA_VMA+1,STORE,J/STMEM ;STORE THE RESPONSE
						;;9287	.IF/MOS.MULTI
						;;9288		AR/CACHE,MB WAIT		;[225]GET THE DATA.
						;;9289		GEN AR+1,SKP AD NE		;IF MEMORY RETURNED -1 TRY AGAIN
						;;9290	=0
						;;9291		FE_FE-1,SKP SCAD0,J/SDTEST	;IT IS SEE IF TOO MANY TRIES
						;;9292	SDONE:	VMA_VMA+1,STORE,J/STMEM		;STORE THE RESPONSE
						;;9293	=0
						;;9294	SDTEST:	AR_BR,J/DIAG1			;[225]RECOVER THE FUNC AND RETRY.
						;;9295		AR_0S,J/SDONE			;TOO MANY TRIES QUIT RETURNING 0
						; 9296	.ENDIF/MOS.MULTI
						; 9297	
						; 9298	=0****00*000
						; 9299	PICO:	BR/AR,ARL_ARR.M,ARR_ARR,
U 1400, 3134,0001,0040,0000,3001,7350,0004	; 9300			CALL.M,SKP IO LEGAL,J/PICOM1
U 1403, 3573,3701,0000,0000,0060,2010,0415	; 9301	=11	CONO PI,J/PICOM2		;SEND THE DATA
						; 9302	=0****00*100
U 1404, 3134,0001,0040,0000,0000,7350,0000	; 9303	PICI:	BR/AR,CALL,SKP IO LEGAL,J/PICOM1
U 1407, 3570,4001,3000,0000,0060,2010,0500	; 9304	=11	CONI PI(R)			;READ RH TO AR LEFT
						; 9305	=	ARX_AR SWAP,			;RH COND TO ARX RH
U 3570, 3571,4001,3400,0000,3060,2010,0530	; 9306			CONI PI(PAR)		; AND PARITY ENABLES TO RH
						; 9307		BRX/ARX,ARX_AR,			;READY TO COMB RH PARTS
U 3571, 3572,0001,3420,0000,1060,2010,0501	; 9308			CONI PI(L)		; AND LH TO AR LEFT
U 3572, 3573,3302,6000,0000,0000,0610,0000	; 9309		AR_ARX*BRX,AD/OR,ARL_ARL	;COMBINE THEM
U 3573, 0022,3701,0000,0000,0005,2233,0100	; 9310	PICOM2:	REL EBUS,GEN AR,B WRITE,J/IOTEND
						; 9311	
						; 9312	=0
U 3134, 1002,3242,2000,0000,0000,0010,0000	; 9313	PICOM1:	AR_BR,J/UUO			;LOSE
U 3135, 3126,0001,0000,0000,0000,2210,0200	; 9314		REQ EBUS,J/WGRANT		;OK, WAIT TO GET FULL EBUS
						; 9315	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 7
; IO.MIC[4,24]	15:27 17-Mar-86				INTERNAL DEVICE FUNCTIONS -- PAG			

						; 9316	.TOC	"INTERNAL DEVICE FUNCTIONS -- PAG"
						; 9317	
						; 9318	=0****00**00
						; 9319	PAGBO:	AR_0S,BR/AR,CALL,		;CLEAR ONE PAGE TABLE ENTRY
U 1510, 3002,3441,2040,0000,0000,7350,0000	; 9320			SKP IO LEGAL,J/IOCHK
U 1511, 0016,4001,0000,0000,0020,2310,0010	; 9321		WR PT ENTRY,J/IFNOP
						; 9322	
						; 9323	PAGDO:	ARX_AR (AD),ARR_ARL,ARL_ARL.M,	;SETUP USER CONTEXT
U 1512, 3132,3703,4200,0000,3001,7350,0000	; 9324			CALL.M,SKP IO LEGAL,J/GETEEB
U 1513, 3574,3701,4000,0000,2060,2010,0620	; 9325		DATAO PAG(L),AR_ARX		;SETUP AC BLOCKS, PREV CTXT
U 3574, 3136,3203,0000,0302,0020,5510,0011	; 9326	=	SKP AR2,SC_#,#/9.
						; 9327	=0
U 3136, 1207,4001,0000,0000,0000,0010,0007	; 9328	TIMCO1:	MTR CTL/CONO TIM,J/RELEEB	;DO NOT CHANGE UBR
						;;9329	.IF/PAGCNT				;[327] Count DATAO PAG with bit 2
						;;9330		MQ_AR,AR_TRX3+1			;[327] Do the count
						;;9331		TRX3_AR,AR_MQ
						; 9332	.ENDIF/PAGCNT				;[327]
						; 9333		FE_P AND #,#/4,MQ_SHIFT,	;[333] Save bit 3 for keep test
U 3137, 0570,3441,2010,7131,0000,4410,0004	; 9334			SKP AR18,AR_0S		;STORE ACCT?
U 0570, 3140,0001,0000,0000,0000,0150,0100	; 9335	=0*0	AR0-8_#,#/100,CALL,J/PAGD2	;YES, START WITH EBOX CNT
U 0571, 3605,3721,0000,0000,0307,0050,0602	; 9336		VMA_MQ,LOAD UBR,CALL [CLRPT]	;[333] No. Set for page table clear
						; 9337	.IF/BIG.PT				;[333]
U 0575, 2756,4001,0000,2400,0020,5210,0000	; 9338	=1*1	SKP SC NE,J/KEEPME		;[333] Might keep keep me bits
						;;9339	.IFNOT/BIG.PT
						;;9340	=1*1	PT SEL_INVAL,J/PTLOOP		;SETUP INITIAL PT WR SELECT
						; 9341	.ENDIF/BIG.PT				;[333]
						; 9342	;
						; 9343	;	PAGD2 is set up as a subroutine for addressing convenience only.
						; 9344	;
						; 9345	=0
U 3140, 2772,0001,0400,0302,1000,0050,0015	; 9346	PAGD2:	ARX_AR,SC_#,#/13.,CALL,J/EMTR	;UPDATE THE EBOX ACCT
U 3141, 3575,0001,0000,0000,0002,0110,0140	; 9347		MB WAIT,AR0-8_#,#/140		;READY TO GET CACHE ACCT
U 3575, 2773,0001,0400,0302,1000,0010,0015	; 9348		ARX_AR,SC_#,#/13.,J/CMTR	;RETURN ABOVE TO CLR PT
						; 9349	
						; 9350	
						; 9351	=0****00**00
						; 9352	PAGDI:	SC_#,#/70,SKP IO LEGAL,
U 1514, 3132,4001,0000,0302,0000,7350,0070	; 9353			CALL,J/GETEEB
						; 9354		DATAI PAG(L),ARX_1B17-1,	;PUT AC BLKS IN AR,
U 1515, 3576,1761,3200,0000,0060,2057,0511	; 9355			CALL,J/PCTXT		; [0,,-1] IN ARX
U 1516, 1002,3242,2000,0000,0000,0010,0000	; 9356	PAGBI:	AR_BR,J/UUO			;BLKI PAG, IS UNASSIGNED
U 1517, 1207,3242,4000,0000,0000,0610,0002	; 9357		AR_SHIFT,ARL_BRL,J/RELEEB	;COMBINE UBR WITH AC BLKS, CWSX
						; 9358	=
U 3576, 3577,3243,0500,2400,3001,0010,0200	; 9359	PCTXT:	P_SC,ARX_ARX*8			;STUFF IN LOAD EN, ARX=7,,-10
U 3577, 3600,3203,0540,0000,2000,0210,0000	; 9360		BR/AR,AR12-17_PREV SEC,ARX_ARX*8
U 3600, 2220,3012,2044,0000,0000,0010,0000	; 9361		BR/AR,AR_ARX*BR,AD/ANDCA	;PCS TO BR, LD EN, AC BLKS TO AR
						; 9362	=0*	AR_AR*BR,AD/OR,READ UBR,	;LH READY IN AR.  GET UBR
U 2220, 1045,3302,2004,0000,0007,0050,0502	; 9363			CALL,J/XFERW
U 2222, 3601,4001,3040,0000,0060,2010,0567	; 9364		BR/AR,AR_EBUS REG		;LH TO BR.  READ UBR ADDRESS
						; 9365		ARX_AR,AR_0S,SC_#,#/27.,	;READY TO MOVE INTO POSITION
U 3601, 0003,3441,2400,0302,1000,0003,0033	; 9366			RETURN3
						; 9367	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 8
; IO.MIC[4,24]	15:27 17-Mar-86				INTERNAL DEVICE FUNCTIONS -- PAG			

						; 9368	;CONI/O PAG,
						; 9369	
						; 9370	=0****00**00
						; 9371	PAGCO:	BR/AR,ARL_ARR.M,ARR_ARR,ARX_0S,	;SET EXEC CONTEXT
U 1600, 3132,3401,0240,0000,3001,7350,0004	; 9372			SKP IO LEGAL,CALL.M,J/GETEEB
U 1601, 2750,3703,0000,0000,0060,2010,0416	; 9373		CONO PAG,J/SETEBR		;SET CACHE, SEC, TRAP EN FLAGS
						; 9374	
						; 9375	PAGCI:	BR/AR,AR_0S,CALL,SKP IO LEGAL,	;READ EXEC CONTEXT
U 1602, 3132,3441,2040,0302,0000,7350,0011	; 9376			SC_#,#/9.,J/GETEEB
U 1603, 2224,4001,3000,0000,0060,2010,0531	; 9377		CONI PAG			;READ CACHE, SEC, TRAP EN
						; 9378	=
						; 9379	=0*	ARX_AR SWAP,AR_0S,READ EBR,	;SETUP EPT LOC'N TO READ
U 2224, 1045,3401,2400,0000,3007,0050,0503	; 9380			CALL,J/XFERW
						; 9381		AR_EBUS REG,			;GET EBR IN AR
U 2226, 3602,3441,3220,0000,0060,2010,0567	; 9382			BRX/ARX,ARX_0S		;SAVE FLAGS IN LH OF BRX
U 3602, 3603,0001,0400,0000,0000,2210,0000	; 9383		ARX_SHIFT,REL ECL EBUS		;MOVE EBR LOC LEFT
U 3603, 3604,3302,0000,0000,0001,0010,0016	; 9384		ARR_0.M,ADB/BR,ADA EN/EN,AD/OR,ARL/ADX	;COMBINE, THEN PUT IN RH
U 3604, 0022,4001,4000,0000,3005,0033,0000	; 9385		AR_AR SWAP,B WRITE,J/IOTEND	;STORE THE RESULT
						; 9386	
						; 9387	;HERE TO FINISH CONO PAG,
						; 9388	
						; 9389	=000					;[342]
U 2750, 2604,4001,0000,0302,0000,0050,0011	; 9390	SETEBR:	SC_#,#/9.,CALL,J/SHIFT		;MOVE EBR LOC'N TO POSITION
U 2752, 3605,3701,0000,0000,0307,0050,0603	; 9391	=010	VMA_AR,LOAD EBR,CALL [CLRPT]	;[333]SETUP EBR
						; 9392	=110					;[342]SETUP INITIAL PT WR SELECT
U 2756, 2546,4001,0000,0000,0000,2310,0001	; 9393	KEEPME:	PT SEL_INVAL,J/PTLOOP		;[342] FOR NON KLPAGE THIS CAN SEND
						; 9394						; THE USER TO PAGBO1 AND SAVE 1
						; 9395						; UCODE LOCATION
						; 9396	.IF/BIG.PT				;[333] Entry from DATAO
U 2757, 2766,0001,0000,0000,0000,2310,0041	; 9397		PT SEL_INVAL (KEEP),J/KEEPCL	;[342] Hang on to KEEP pages
						; 9398	.ENDIF/BIG.PT				;[333]
						; 9399	=
						; 9400	=110
						; 9401	PTLOOP:	AR_AR+BR,VMA/AD,FE_FE-1,	;SELECT A LINE OF PT
						; 9402			CLR PT LINE,TIME/3T,	;DO THE WORK
U 2546, 2546,0602,2000,3001,0320,2334,0031	; 9403			BYTE DISP,J/PTLOOP	;LOOP TO CLEAR ALL
U 2547, 0016,4001,0000,0000,0000,2310,0000	; 9404		PT SEL_NORMAL,J/IFNOP		;RESET PT WR SELECTION
						; 9405	.IF/BIG.PT				;[333]
						; 9406	=110
						; 9407	KEEPCL:	AR_AR+BR,VMA/AD,FE_FE-1,TIME/3T,;SELECT A LINE OF PT
						; 9408			CLR PT LINE (KEEP),	;DO THE WORK
U 2766, 2766,0602,2000,3001,0320,2334,0061	; 9409			BYTE DISP,J/KEEPCL	;Hang onto lines with KEEP ME set
U 2767, 0016,4001,0000,0000,0000,2310,0000	; 9410		PT SEL_NORMAL,J/IFNOP		;RESET PT WR SELECTION
						; 9411	.ENDIF/BIG.PT				;[333]
						; 9412	;
						; 9413	;	[333] Set up to clear hardware page table after setting EBR or
						; 9414	;	UBR.  KEEP ME pages may or may not be cleared, depending upon the
						; 9415	;	setting of DATAO PAG bit 3.  (Clear everything for CONO PAG.)
						; 9416	;
U 3605, 3142,3441,2200,0000,0000,2210,0000	; 9417	CLRPT:	AR_0S,ARX_0S,REL ECL EBUS	;[334]DON'T HANG UP BUS FOR THIS
						; 9418	=0	AR0-8_#,#/10,MB WAIT,		;WAIT FOR U/E BR LOAD
U 3142, 0475,4001,0000,0000,0002,0153,0010	; 9419			SC_FE,CALL [ARSWAP]	;[334]GET 1B23
						; 9420		BR/AR,AR_0S,VMA/AD,		;[333][334] START CLEARING AT ZERO
U 3143, 0004,3441,2040,0301,0300,0003,0077	; 9421			FE_#,#/63.,RETURN4	;SETUP LOOP COUNT
						; 9422	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 9
; IO.MIC[4,24]	15:27 17-Mar-86				INTERNAL DEVICE FUNCTIONS -- TIM & MTR			

						; 9423	.TOC	"INTERNAL DEVICE FUNCTIONS -- TIM & MTR"
						; 9424	
						; 9425	=0****00***0
						; 9426	RDMTR:	AR_BR,CALL,			;GET E TO AR
U 1706, 3132,3242,2000,0000,0000,7350,0000	; 9427			SKP IO LEGAL,J/GETEEB	;GRAB CONTROL OF EBUS
						; 9428		MQ_AR,AR_0S,			;SAVE E IN MQ
U 1707, 1340,3401,2010,0302,1000,0033,0015	; 9429			SC_#,#/13.,B DISP	;WHICH COUNTER?
						; 9430	=
U 1340, 3144,0001,3000,0000,0060,2010,0510	; 9431	=00	AR_TIME BASE,J/RDMTR1		;DATAI TIM,
U 1341, 3144,4001,3000,0000,0060,2010,0511	; 9432		AR_PERF CNT,J/RDMTR1		;BLKI TIM,
U 1342, 3144,4001,3000,0000,0060,2010,0512	; 9433		AR_EBOX CNT,J/RDMTR1		;DATAI MTR,
U 1343, 3144,0001,3000,0000,0060,2010,0513	; 9434		AR_CACHE CNT,J/RDMTR1		;BLKI MTR,
						; 9435	
						; 9436	=0
						; 9437	RDMTR1:	ARL+ARX_0.M,B DISP,		;SHIFT COUNT INTO POSITION
U 3144, 1350,4001,0000,0000,0001,0073,0060	; 9438			CALL.M,J/MTRDBL		;ADD DOUBLE WORD FROM PT
U 3145, 3606,0602,2600,0000,0020,2227,0000	; 9439		AR_AR+BR LONG,REL ECL EBUS
U 3606, 0372,3721,0000,0302,0316,0010,0043	; 9440		VMA_MQ,STORE,SC_#,#/35.,J/DMVM1	;STORE TOTAL AT E & E+1
						; 9441	
						; 9442	=0****00**00
U 1604, 3132,0001,0040,0000,0000,7350,0000	; 9443	TIMCO:	BR/AR,CALL,SKP IO LEGAL,J/GETEEB
U 1605, 3136,3701,0000,0000,0060,2023,0407	; 9444		CONO TIM,J/TIMCO1
						; 9445	TIMCI:	BR/AR,AR_0S,CALL,
U 1606, 3132,3401,2040,0000,0000,7350,0000	; 9446			SKP IO LEGAL,J/GETEEB
U 1607, 3607,4001,3000,0000,0060,2010,0514	; 9447		AR_INTERVAL			;INTERVAL GOES TO LH
U 3607, 3610,3441,2400,0000,3000,0010,0000	; 9448	=	ARX_AR SWAP,AR_0S
U 3610, 3611,4001,3000,0000,0060,2010,0515	; 9449		AR_PERIOD			;PERIOD TO RH
						; 9450	TIMBO1:	MTR CTL/LD PA LH,		;KEEP MTR DECODE FOR TIMBO
U 3611, 1207,4001,0000,0000,2000,0022,0004	; 9451			ARL_ARXL,J/RELEEB	;COMBINE PERIOD WITH INTERVAL
						; 9452	
						; 9453	=0****00**00
						; 9454	MTRCO:	BR/AR,ARL_ARR.M,ARR_ARR,
U 1610, 3132,0001,0040,0000,3001,7350,0004	; 9455			CALL.M,SKP IO LEGAL,J/GETEEB
U 1611, 3612,3701,0000,0000,0060,2023,0406	; 9456		CONO MTR,J/MTRCO1
						; 9457	MTRCI:	BR/AR,AR_0S,CALL,
U 1612, 3132,3401,2040,0000,0000,7350,0000	; 9458			SKP IO LEGAL,J/GETEEB
U 1613, 3612,4001,3000,0000,0060,2010,0516	; 9459		CONI MTR			;READ BACK CONDITIONS
						; 9460	=
U 3612, 1207,0001,0000,0000,0000,0022,0026	; 9461	MTRCO1:	ARL_0.S,MTR CTL/CONO MTR,J/RELEEB
						; 9462	;
						; 9463	;	UUOCHK subroutine tucks in here.  No skip if legal; sideways exit
						; 9464	;	to UUO if not.
						; 9465	;
						; 9466	=0****00**00
U 1614, 0002,4001,0000,0000,0000,0003,0000	; 9467	UUOCHK:	RETURN2				;Tested condition OK
U 1615, 1002,3242,2000,0000,0000,0010,0000	; 9468	TIMDO:	AR_BR,J/UUO			;DATAO TIM, UNDEFINED
						; 9469	TIMBO:	ARX_AR,AR_0S,CALL,		;SAVE ENABLES, CLEAR AR
U 1616, 3132,3441,2400,0000,1000,7350,0000	; 9470			SKP IO LEGAL,J/GETEEB	;CHECK LEGALITY, GET BUS
U 1617, 3613,3701,4000,0000,2060,2023,0404	; 9471		BLKO TIM(L),AR_ARX		;TURN OFF BY CLEARING LH ENABLES
U 3613, 3614,3703,4000,0000,3060,2023,0405	; 9472	=	BLKO TIM(R),AR_AR SWAP		;SEND RH
U 3614, 3611,3703,0000,0000,0060,2023,0404	; 9473		BLKO TIM(L),J/TIMBO1		;SEND LH, TURNING ON AGAIN
						; 9474	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 10
; IO.MIC[4,24]	15:27 17-Mar-86				INTERNAL DEVICE FUNCTIONS -- TIM & MTR			

						; 9475	;HERE WHEN METER INCREMENT REQUEST DETECTED
						; 9476	
U 3615, 3616,4001,0000,0000,0000,2210,0400	; 9477	MTRREQ:	GET ECL EBUS			;TAKE CONTROL OF BUS
U 3616, 3146,0001,3000,0000,0060,2010,0517	; 9478		AR_MTR REQ			;WHAT TYPE REQUEST?
						; 9479	=0	MQ_AR,AR_AR*2,CALL,		;GET READY TO DISP
U 3146, 3620,3703,5010,0000,1100,3050,0514	; 9480			VMA_#,#/514,J/MTRRQ0
U 3147, 3617,4001,0000,0000,0000,2210,0000	; 9481		REL ECL EBUS			;DONE
U 3617, 2424,4001,0000,0000,0002,2110,0105	; 9482		MB WAIT,SET ACCOUNT EN,J/PIFET	;FETCH NEXT INSTR
						; 9483	
						; 9484	MTRRQ0:	ARX_AR SWAP,DISP/SH0-3,AR_0S,	;DISPATCH ON REQUEST TYPE
U 3620, 2770,3401,2400,0302,3020,0007,0015	; 9485			SC_#,#/13.
						; 9486	=000
U 2770, 3623,0001,3000,0000,0060,2023,0510	; 9487		RD+CLR TB,J/TMTR1		;TIME BASE
U 2771, 3624,0001,3000,0000,0060,2023,0511	; 9488		RD+CLR PA,J/PMTR1		;PERF ANALYSIS CNT
U 2772, 3625,4001,3000,0000,0060,2023,0512	; 9489	EMTR:	RD+CLR E CNT,J/EMTR1		;EBOX CNT
U 2773, 3626,0001,3000,0000,0060,2023,0513	; 9490	CMTR:	RD+CLR C CNT,J/CMTR1		;CACHE CNT
U 2774, 3621,4001,0000,0000,0000,2210,0000	; 9491		REL ECL EBUS			;INTERVAL -- VECTOR INTERRUPT
U 3621, 3622,4001,0000,0000,0000,1510,0714	; 9492	=	SET PI CYCLE
U 3622, 2363,4001,0000,0000,0000,2110,0105	; 9493		SET ACCOUNT EN,J/PIINST
						; 9494	
U 3623, 3627,4001,0000,0000,0000,0010,0000	; 9495	TMTR1:	MTR CTL/CLR TIME,J/MTRRQ1	;HOLD SELECTS FOR
U 3624, 3627,0001,0000,0000,0000,0010,0001	; 9496	PMTR1:	MTR CTL/CLR PERF,J/MTRRQ1	;MTR CTL FUNCTION
U 3625, 3627,0001,0000,0000,0000,0010,0002	; 9497	EMTR1:	MTR CTL/CLR E CNT,J/MTRRQ1	; TO PREVENT RACE
U 3626, 3627,4001,0000,0000,0000,0010,0003	; 9498	CMTR1:	MTR CTL/CLR M CNT,J/MTRRQ1	; AND POSSIBLE GLITCHES
						; 9499	
						; 9500	;HERE WITH RELEVANT COUNT IN ARR, GARBAGE IN ARL
						; 9501	
U 3627, 3150,0001,0000,0000,0000,1510,0004	; 9502	MTRRQ1:	ABORT INSTR
						; 9503	=0	ARL+ARX_0.M,ARX0-3 DISP,	;CLEAR GARBAGE & RE-DISPATCH
U 3150, 1350,0001,0000,0000,2021,0047,0060	; 9504			CALL.M,J/MTRDBL		; TO ADD DOUBLE COUNTER FROM PT
						; 9505		AR_AR+BR LONG,SC_#,#/35.,
U 3151, 3630,0602,2604,0302,0036,3527,0043	; 9506			VMA_VMA-1,STORE		;STORE BACK IN PROCESS TABLE
U 3630, 3631,3441,2003,0000,0002,0010,0000	; 9507		MEM_AR,AR_0S			;HI PART TO MEM
U 3631, 0001,4001,4000,0000,0016,3603,0000	; 9508		AR_SHIFT,VMA_VMA+1,STORE,RETURN1
						; 9509	
						; 9510	;HERE TO PICK UP DOUBLEWORD FROM PROCESS TABLE
						; 9511	; AND ADD CURRENT CONTENTS OF APPROPRIATE METER
						; 9512	
						; 9513	=00
						; 9514	MTRDBL:	AR_0S,ARX_SHIFT,
U 1350, 3632,3441,2400,0000,0100,3010,0510	; 9515			VMA_#,#/510,J/RDEMTR	;TIME BASE IN EPT 510-511
						; 9516		AR_0S,ARX_SHIFT,
U 1351, 3632,3401,2400,0000,0100,3010,0512	; 9517			VMA_#,#/512,J/RDEMTR	;PERF CNT IN EPT 512-513
						; 9518		AR_0S,ARX_SHIFT,
U 1352, 3633,3401,2400,0000,0100,3010,0504	; 9519			VMA_#,#/504,J/RDUMTR	;EBOX ACCT IN UPT 504-505
						; 9520		AR_0S,ARX_SHIFT,
U 1353, 3633,3441,2400,0000,0100,3010,0506	; 9521			VMA_#,#/506,J/RDUMTR	;CACHE ACCT IN UPT 506-507
						; 9522	
						; 9523	RDEMTR:	BR_AR LONG,			;SAVE COUNT IN BR!BRX
U 3632, 2230,4001,0060,0000,0012,0026,0113	; 9524			LOAD AR,EPT REF,J/RDMTR2;GET HIGH WORD FROM EPT
U 3633, 2230,4001,0060,0000,0012,0026,0223	; 9525	RDUMTR:	BR_AR LONG,LOAD AR,UPT REF	; OR UPT AS APPROP
						; 9526	=0*
						; 9527	RDMTR2:	FIN XFER,VMA_VMA+1,LOAD ARX,	;NOW GET LOW WORD
U 2230, 1045,3200,0003,0000,0033,3650,0000	; 9528			CALL,J/XFERW		;GO WAIT FOR IT
U 2232, 0001,3701,0500,0000,0000,0003,0000	; 9529		ARX_ARX*2,RETURN1
						; 9530	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 11
; IO.MIC[4,24]	15:27 17-Mar-86				PRIORITY INTERRUPT PROCESSING				

						; 9531	.TOC	"PRIORITY INTERRUPT PROCESSING"
						; 9532	;HERE WHEN PRIORITY INTERRUPT REQUEST DETECTED
						; 9533	;PI LOGIC HAS DONE HANDSHAKE TO BRING FUNCTION WORD IN ON EBUS
						; 9534	; FUNCTION WORD IS NOW IN AR, SC=2
						; 9535	
						; 9536	;THE FORMAT OF THE FUNCTION WORD IS --
						; 9537	;    0-2	ADDRESS SPACE FOR THE FUNCTION
						; 9538	;	0=EPT
						; 9539	;	1=EXEC VIRTUAL
						; 9540	;	4=PHYSICAL
						; 9541	;	OTHERS UNDEFINED
						; 9542	;    3-5	FUNCTION TO PERFORM (SEE LIST BELOW AT PIDISP)
						; 9543	;      6	FUNCTION QUALIFIER
						; 9544	;   7-10	PHYSICAL DEVICE # ON EBUS
						; 9545	;  11-12	UNDEFINED
						; 9546	;  13-35	ADDRESS FOR FUNCTION
						; 9547	
U 3634, 3635,4001,0010,0000,1000,1510,0714	; 9548	PICYC1:	SET PI CYCLE,MQ_AR		;START PI CYCLE
U 3635, 3636,0001,0007,0000,0000,1010,0163	; 9549		FM[SV.IOP]_AR			;[234] save IOP function word
						; 9550						; in AC3.
U 3636, 2350,3600,0207,0000,0340,0007,0175	; 9551		VMA_AR AND ADMSK,ARX/AD,SH DISP	;EXTRACT ADDR, DISP ON FCN
						; 9552	=1000					;3-5 IS FUNCTION TO PERFORM
U 2350, 2363,4001,0000,0000,0100,3410,0040	; 9553	PIDISP:	VMA_40+PI*2,J/PIINST		;(0) STANDARD INTERRUPT
U 2351, 2363,4001,0000,0000,0100,3410,0040	; 9554		VMA_40+PI*2,J/PIINST		;(1) DITTO
U 2352, 3642,3243,2000,0302,0000,0010,0005	; 9555		AR_AR*4,SC_#,#/5,J/PIVECT	;(2) VECTOR
U 2353, 2417,0001,0000,0000,0015,0010,0000	; 9556		LOAD AR (RPW),J/PIINCR		;(3) INCREMENT [410] and interlock
U 2354, 2420,4001,0000,7310,0020,5210,0040	; 9557		SKP AR6,J/PIDATO		;(4) DATAO
U 2355, 0732,0001,0020,0000,0060,0010,0000	; 9558		BRX/ARX,TIME/5T,J/PIDATI	;(5) DATAI
U 2356, 3040,3203,2000,7310,0020,5210,0040	; 9559		AR_AR*4,SKP AR6,J/PIBYTE	;(6) BYTE TRANSFER
						;;9560	.IFNOT/IPA20				;[265]
						;;9561		VMA_40+PI*2,J/PIINST		;(7) UNDEFINED
						; 9562	.IF/IPA20				;[265]
U 2357, 3637,0001,0000,0000,0015,0026,0103	; 9563		LOAD AR (RPW),PHYS REF   	;[411] Increment word with interlock
U 3637, 3640,3200,0003,0000,0022,0010,0000	; 9564	AWAIT:	AR_MEM				;***HACK*** until real AWAIT ready
U 3640, 0040,4003,2000,0000,0036,0026,0103	; 9565		AR_AR+1,STORE,PHYS REF,J/ESEND	;[411] so SMP will work properly
						; 9566	.ENDIF/IPA20
						; 9567	
U 3641, 2363,0001,0000,0000,0100,3410,0041	; 9568	PICYC2:	VMA_41+PI*2,J/PIINST		;2ND PART OF STD INT
						; 9569	
U 3642, 2363,3401,2000,7311,0020,0007,0030	; 9570	PIVECT:	FE_# AND S,#/30,AR_0S,SH DISP	;WHAT KIND OF DEVICE?
						; 9571	=0011
U 2363, 0366,4001,0000,0000,0013,0026,0513	; 9572	PIINST:	EPT FETCH,J/XCTW		;CHAN 0-3
U 2367, 0366,4001,0000,0000,0013,0026,0513	; 9573		EPT FETCH,J/XCTW		;CHAN 4-7
U 2373, 2234,0001,0000,2030,2000,0110,0142	; 9574		AR0-8_FE+#,#/142,J/DTEVEC	;DTE 0-3
U 2377, 0366,0001,0000,0000,0013,0010,0000	; 9575		LOAD ARX,J/XCTW			;EXTERNAL DEVICE
						; 9576	=0*
						; 9577	DTEVEC:	ARX_AR (AD),CLR AR,
U 2234, 2604,3701,0200,0302,0000,0450,0011	; 9578		    SC_#,#/9.,CALL,J/SHIFT
U 2236, 0366,3701,0000,0000,0313,0026,0513	; 9579		VMA_AR,EPT FETCH,J/XCTW
						; 9580	
						; 9581	=0101
U 2405, 1045,4001,0000,0000,0012,0026,0113	; 9582	PILD:	LOAD AR,EPT REF,J/XFERW		;GET DATUM FROM EPT
U 2407, 1045,4001,0000,0000,0012,0010,0000	; 9583		LOAD AR,J/XFERW			; OR EXEC VIRTUAL ADDR SPACE
U 2415, 1470,3610,0207,4000,0320,0010,0175	; 9584		VMA_ARX AND ADMSK,ARX/AD,J/PHYS2;FORCE AC'S FOR 0-17
						; 9585	
						; 9586	;HERE TO PERFORM INCREMENT FUNCTION
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 11-1
; IO.MIC[4,24]	15:27 17-Mar-86				PRIORITY INTERRUPT PROCESSING				

						; 9587	
U 2417, 3152,3240,0003,7310,0042,5210,0040	; 9588	PIINCR:	AR_MEM,SKP AR6			;GET WORD, INCR OR DECR?
U 3152, 2423,4001,2000,0000,0036,0010,0000	; 9589	=0	AR_AR+1,STORE,J/PIDONE
U 3153, 2423,1703,2000,0000,0036,0010,0000	; 9590		AR_AR-1,STORE,J/PIDONE
						; 9591	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 12
; IO.MIC[4,24]	15:27 17-Mar-86				PRIORITY INTERRUPT PROCESSING				

						; 9592	;HERE FOR DATAO (EXAMINE) FUNCTION
						; 9593	
						; 9594	=0000
U 2420, 2405,0001,0000,0000,1020,0047,0000	; 9595	PIDATO:	AR0-3 DISP,CALL.M,J/PILD	;GET DATA FROM REQUESTED ADR SPC
U 2421, 3644,3243,2000,0000,0000,0050,0000	; 9596		AR_AR*4,CALL,J/RDEX		;RESTRICTED EXAMINE
U 2422, 3560,3240,0003,0000,0022,2250,0026	; 9597	PIOUT:	AR_MEM,SET DATAO,CALL,J/EBUSO	;SEND DATA
U 2423, 2424,0001,0003,0000,0002,0024,0502	; 9598	PIDONE:	MEM_AR,DISMISS			;DONE, DISMISS & RESUME NORMAL
U 2424, 0217,4001,0000,0000,0117,0010,0000	; 9599	PIFET:	VMA/PC,FETCH,J/NOP		;RESUME AS BEFORE
U 2425, 2320,1703,0000,0000,0320,0050,0000	; 9600	=0101	VMA_AR-1,CALL,J/DEXCHK		;GO PROT/RELOC THIS EXAM
U 2427, 1450,3610,0207,0000,0320,0010,0175	; 9601	=0111	VMA_ARX AND ADMSK,ARX/AD,J/PHYS1;FORCE AC'S FOR 0-17
U 2437, 2422,4001,0000,0000,0000,0010,0000	; 9602	=1111	J/PIOUT				;PROT VIOLATION.  SEND 0
						; 9603	
						; 9604	;HERE FOR DATAI (DEPOSIT) FUNCTION
						; 9605	
						; 9606	=10
U 0732, 3557,3441,2000,0000,0060,2250,0027	; 9607	PIDATI:	SET DATAI,TIME/5T,CALL,J/EBUSI	;READ THE DATA
U 0733, 3643,3723,2400,0000,1000,0010,0000	; 9608		ARX_AR,AR_MQ			;DATUM TO ARX, GET FCN WORD
U 3643, 2440,3242,0620,7310,0020,5210,0040	; 9609		BRX/ARX,ARX_BRX,SKP AR6		;RESTRICTED?
U 2440, 2465,3202,6000,0000,1020,0007,0000	; 9610	=0000	AR0-3 DISP,AR_BRX,J/PIST	;NO, STORE AS REQUESTED
U 2441, 3644,3243,2000,0000,0000,0050,0000	; 9611		AR_AR*4,CALL,J/RDEX		;YES, GET PROT/RELOC ADDR
U 2445, 2320,4001,0000,0000,0320,0050,0000	; 9612	=0101	VMA_AR+1,CALL,J/DEXCHK		;VERIFY LEGALITY
U 2447, 2475,3242,6000,0000,0000,0010,0000	; 9613	=0111	AR_BRX,J/PSTOR			;DATA IN AR, ADDR IN ARX. STORE PHYS
U 2457, 2423,0001,0000,0000,0000,0010,0000	; 9614	=1111	J/PIDONE			;PROT VIOLATION, STORE NOTHING
						; 9615	
						; 9616	=0101
U 2465, 2423,4001,0000,0000,0016,0026,0113	; 9617	PIST:	STORE,EPT REF,J/PIDONE
U 2467, 2423,4001,0000,0000,0016,0010,0000	; 9618		STORE,J/PIDONE
U 2475, 1530,3610,0207,4000,0320,0010,0175	; 9619	PSTOR:	VMA_ARX AND ADMSK,ARX/AD,J/PHYS3;FORCE AC'S FOR 0-17
U 2477, 2423,0001,0000,0000,0000,0010,0000	; 9620		J/PIDONE
						; 9621	
U 3644, 3645,4001,4000,7311,2000,0010,0030	; 9622	RDEX:	FE_# AND S,#/30,AR_ARX		;DTE# *8 TO FE, ADDR TO AR
U 3645, 3646,0001,0040,2030,2000,0110,0145	; 9623		BR/AR,AR0-8_FE+#,#/145		;SAVE ADDR TO BR, GET EPT LOC
U 3646, 3647,3401,2400,0302,1000,0010,0011	; 9624	GTAR08:	ARX_AR,AR_0S,SC_#,#/9.
U 3647, 0004,0001,4000,0000,0000,0003,0000	; 9625		AR_SHIFT,RETURN4
						; 9626	
						; 9627	=0*
U 2320, 2405,0001,0000,0000,0000,0050,0000	; 9628	DEXCHK:	CALL,J/PILD			;PROTECTION WORD FROM EPT
U 2322, 1440,3102,0004,0000,0020,5410,0000	; 9629		SKP AR GT BR			;ALLOWED?
U 1440, 0012,3401,2000,0000,0000,0003,0000	; 9630	=00	AR_0S,RETURN12			;NO, SEND 0, STORE NOTHING
U 1441, 2405,0001,0000,0000,0000,3650,0000	; 9631		VMA_VMA+1,CALL,J/PILD		;YES, GET RELOCATION WORD
U 1443, 3650,0602,2004,0000,0020,0010,0000	; 9632	=11	AR_AR+BR			;RELOCATE TO PHYSICAL ADDR
U 3650, 0002,3600,0207,4000,0020,0003,0175	; 9633		ARX_AR AND ADMSK,RETURN2	;STRIP TO 23 BITS
						; 9634	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 13
; IO.MIC[4,24]	15:27 17-Mar-86				PRIORITY INTERRUPT PROCESSING				

						; 9635	;FORCE AC'S FOR 0-17
						; 9636	
						; 9637	=00
U 1450, 3651,4001,0000,0302,0000,0050,0040	; 9638	PHYS1:	SC_#,#/32.,CALL,J/CHKAC		;DATAO (EXAMINE)
U 1452, 2422,4001,0000,0000,0012,0010,0000	; 9639	=10	LOAD AR,J/PIOUT			;AC REF DONT USE PHYS REF
U 1453, 2422,0001,0000,0000,0012,0026,0103	; 9640		LOAD AR,PHYS REF,J/PIOUT	;NOT AC'S GET PHYSICAL MEMORY
						; 9641	
						; 9642	=00
U 1470, 3651,4001,0000,0302,0000,0050,0040	; 9643	PHYS2:	SC_#,#/32.,CALL,J/CHKAC		;DATAO (EXAMINE)
U 1472, 1045,4001,0000,0000,0012,0010,0000	; 9644	=10	LOAD AR,J/XFERW
U 1473, 1045,0001,0000,0000,0012,0026,0103	; 9645		LOAD AR,PHYS REF,J/XFERW	;NOT AC'S GET PHYSICAL MEMORY
						; 9646	
						; 9647	=00
U 1530, 3651,4001,0000,0302,0000,0050,0040	; 9648	PHYS3:	SC_#,#/32.,CALL,J/CHKAC
U 1532, 2423,4001,0000,0000,0016,0010,0000	; 9649	=10	STORE,J/PIDONE
U 1533, 2423,0001,0000,0000,0016,0026,0103	; 9650		STORE,PHYS REF,J/PIDONE
						; 9651	
U 3651, 3652,4001,0400,0000,0000,0010,0000	; 9652	CHKAC:	ARX_SHIFT			;GET ADDRESS WITHOUT 32-35
						; 9653		ARX_ARX AND ADMSK,		;FLUSH GARBAGE IN 0-3
U 3652, 0002,3610,0207,0000,0020,5603,0175	; 9654			SKP AD NE,RETURN2	;AND MAKE THE TEST
						; 9655	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 14
; IO.MIC[4,24]	15:27 17-Mar-86				PRIORITY INTERRUPT PROCESSING				

						; 9656	;HERE FOR BYTE TRANSFERS
						; 9657	
						; 9658	=000
U 3040, 3653,4001,0000,7311,0000,0050,0030	; 9659	PIBYTE:	FE_# AND S,#/30,CALL,J/PIBPA	;OUT... GET BP ADDR
U 3041, 3557,3441,2000,0000,0000,2250,0027	; 9660		SET DATAI,CALL,J/EBUSI		;IN ... FIRST READ THE DATA
U 3043, 3050,0323,5400,0000,1020,0010,0000	; 9661	=011	ARX_AR,AR_MQ*4,J/PIDPB		;GOT IT, GO DEPOSIT IT
						; 9662	
U 3044, 0750,3701,0000,0000,0300,0050,0000	; 9663	=100	VMA_AR,CALL,J/PIIBP		;GO INCREMENT OUTPUT BP
U 3045, 2570,0001,0000,2002,0000,0050,0000	; 9664		SC_FE+SC,CALL,J/LDB1		;GO LOAD BYTE FROM IT
U 3047, 2422,4001,0000,0000,0000,0010,0000	; 9665	=111	J/PIOUT				;THEN SEND BYTE
						; 9666	
						; 9667	=000
						; 9668	PIDPB:	BRX/ARX,FE_# AND S,#/30,	;HERE WITH INPUT DATA
U 3050, 3653,0001,0020,7311,0000,0050,0030	; 9669			CALL,J/PIBPA
U 3054, 0750,4003,0000,0000,0320,0050,0000	; 9670	=100	VMA_AR+1,CALL,J/PIIBP		;GO INCREMENT INPUT BYTE PTR
						; 9671		AR_BRX,SC_#-SC,#/36.,		;STORE BYTE WITH IT
U 3055, 2610,3202,6000,5302,0020,5150,0044	; 9672			SKP SCAD0,CALL,J/DPB1
U 3057, 2423,0001,0000,0000,0000,0010,0000	; 9673	=111	J/PIDONE
						; 9674	
U 3653, 3646,4001,0000,2030,2000,0110,0140	; 9675	PIBPA:	AR0-8_FE+#,#/140,J/GTAR08
						; 9676	
						; 9677	=00*
U 0750, 2405,0001,0000,0000,0000,0050,0000	; 9678	PIIBP:	CALL,J/PILD			;GET POINTER FROM EPT
U 0752, 2562,0001,0000,5110,3021,5150,0200	; 9679		P_P-S,SKP SCAD0,CALL.M,J/IBPS	;INCREMENT IT
U 0756, 3370,0001,0400,0102,1000,0010,0000	; 9680	=11*	ARX_AR,SC_P,J/BYTEA		;NOW EVALUATE ITS ADDR
						; 9681	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 15
; IO.MIC[4,24]	15:27 17-Mar-86				KL-MODE PAGE REFILL LOGIC				

						; 9682	.TOC	"KL-MODE PAGE REFILL LOGIC"
						; 9683	
						; 9684	;HERE ON ANY PAGE FAILURE
						; 9685	;THE POSSIBLE CAUSES ARE --
						; 9686	;  1:	A PARITY ERROR WAS DETECTED IN AR OR ARX FOLLOWING A READ
						; 9687	;	REFERENCE.  IN THIS CASE WE SAVE THE BAD WORD IN A RESERVED
						; 9688	;	LOCATION IN FAST MEMORY BLOCK 7, AND RETURN A PAGE FAIL CODE
						; 9689	;	INDICATING THE ERROR.
						; 9690	;  2:	THE MBOX DETECTED A PROPRIETARY VIOLATION OR PAGE TABLE PARITY
						; 9691	;	ERROR, OR THE EBOX FOUND THE SELECTED ADDRESS BREAK CONDITION.
						; 9692	;	IN THIS CASE, WE RETURN THE PAGE FAIL CODE GENERATED BY THE
						; 9693	;	MBOX (SEE PRINT PAG4).
						; 9694	;  3:	A REFERENCE OCCURRED FOR A VIRTUAL PAGE FOR WHICH THE HARDWARE
						; 9695	;	PAGE TABLE DIRECTORY HAD NO VALID MATCH.  IN THIS CASE, WE
						; 9696	;	WRITE THE PAGE TABLE DIRECTORY FROM THE VMA, AND CLEAR THE
						; 9697	;	ACCESS BITS FOR ALL PAGE ENTRIES CONTROLLED BY THE SELECTED
						; 9698	;	DIRECTORY ENTRY.  WE THEN JOIN THE REFILL CODE, BELOW.
						; 9699	;  4:	A REFERENCE OCCURRED FOR A VIRTUAL PAGE FOR WHICH THE ACCESS BIT
						; 9700	;	IN THE HARDWARE PAGE TABLE WAS OFF, OR A WRITE OCCURRED TO A
						; 9701	;	PAGE WHOSE WRITABLE BIT WAS OFF.  IN THIS CASE, WE EVALUATE THE
						; 9702	;	PAGING POINTERS IN CORE TO DETERMINE WHETHER THE ACCESS SHOULD
						; 9703	;	BE ALLOWED, AND IF SO, THE PHYSICAL PAGE TO WHICH IT SHOULD BE
						; 9704	;	TRANSLATED.  WE THEN EITHER PAGE FAIL, OR WRITE A PAGE ENTRY
						; 9705	;	INTO THE HARDWARE PAGE TABLE AND RESTART THE REFERENCE.
						; 9706	;
						; 9707	;	[322] Note that in the latter case, if a page should be accessible
						; 9708	;	but not writable, it is the microcode's responsibility to turn on
						; 9709	;	bit 2 of the page fail word (the Accessible bit) if a write
						; 9710	;	reference is attempted to such a page.  Currently, this is done only
						; 9711	;	if no CST is present (TOPS-10 operating mode), since TOPS-20
						; 9712	;	retraces the page map from scratch and thus generates the correct
						; 9713	;	information.  The bit can be made correct for the CST present case
						; 9714	;	(see code near NOTWR), but since we are now quite tight on control
						; 9715	;	store, we have chosen not to implement this.
						; 9716	;
						; 9717	;	If you are looking at this code for the first time, be aware that
						; 9718	;	only AR, ARX, SC, and FE are saved and restored here; thus BRX and
						; 9719	;	MQ are strictly off limits for this code.
						; 9720	;
U 3777, 3654,3203,7700,0000,0000,2110,0145	; 9721	3777:	CLR ACCOUNT EN,FORCE AR-ARX,J/PF1
U 1777, 3654,3203,7700,0000,0000,2110,0145	; 9722	1777:	CLR ACCOUNT EN,FORCE AR-ARX
U 3654, 3655,3701,4207,0000,2000,1010,0156	; 9723	PF1:	SV.AR_AR,AR_ARX,ARX_AR (AD)	;SAVE CURRENT AR
U 3655, 3656,3703,4207,0000,2000,1010,0157	; 9724		SV.ARX_AR,AR_ARX,ARX_AR (AD)	; AND ARX
						;;9725	.IF/PAGCNT				;[327] Page fault counting
						;;9726		AR_TRX2+1			;[327] Count this page fault
						;;9727		TRX2_AR
						;;9728		AR_SV.AR			;[346] Don't lose initial AR
						; 9729	.ENDIF/PAGCNT				;[327]
U 3656, 2514,4001,0000,0000,0000,2204,0400	; 9730		GET ECL EBUS,PF DISP,J/PF2	;PARITY ERROR?
						; 9731	=1100
						; 9732	PF2:
						; 9733	.IFNOT/PAGCNT				;[327]
U 2515, 3154,4001,0000,0301,0000,6410,0036	; 9734	=1101	FE_#,#/36,SKP RPW,J/PFPAR	;YES.  AR PARITY ERROR, CODE 36
						; 9735						;CHECK FOR MIDDLE OF RPW CYCLE
						;;9736	.IF/PAGCNT
						;;9737	=1101	AR_SV.AR,J/ARPAR		;[327] AR parity error. Get back
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 15-1
; IO.MIC[4,24]	15:27 17-Mar-86				KL-MODE PAGE REFILL LOGIC				

						; 9738	.ENDIF/PAGCNT				;[327] saved AR
U 2516, 3154,0001,4000,0301,2000,6410,0037	; 9739		AR_ARX,FE_#,#/37,SKP RPW,J/PFPAR;[307] YES, ARX PARITY. COULD BE RPW
U 2517, 3657,4001,3000,0000,0062,2010,0567	; 9740		AR_EBUS REG,MB WAIT		;NO. GET PAGE FAIL WORD
U 3657, 2527,0001,0000,0000,0000,2204,0000	; 9741		REL ECL EBUS,PF DISP,J/PF4	;EBOX HANDLING REQUIRED?
						; 9742	;
						;;9743	.IF/PAGCNT				;[327]
						;;9744	ARPAR:	FE_#,#/36,SKP RPW,J/PFPAR	;Set code 36 and check for RPW
						; 9745	.ENDIF/PAGCNT
						; 9746	
						; 9747	;HERE ON ANY PARITY ERROR
						; 9748	;SKIP IF MIDDLE OF READ-PAUSE-WRITE CYCLE, IN WHICH CASE WE
						; 9749	; MUST WRITEBACK THE DATA TO PREVENT INCOMPLETE CYCLE
						; 9750	=0
U 3154, 3660,3731,0000,0000,0303,1710,0000	; 9751	PFPAR:	VMA_VMA HELD,J/PFPAR1		;MAY HAVE CHANGED AT MBWAIT
U 3155, 3660,0001,0000,0000,0016,0010,0000	; 9752		STORE				;WRITEBACK WITH GOOD PARITY
U 3660, 3661,0001,0000,0302,0007,0010,0140	; 9753	PFPAR1:	MAP,SC_#,#/140			;GET MAP INFO ON REF
U 3661, 3662,0001,0007,0000,0002,1010,0160	; 9754		SV.PAR_AR,MB WAIT		;[234]SAVE WORD WITH BAD PARITY
U 3662, 3663,4001,3000,0000,0060,2010,0567	; 9755		AR_EBUS REG			;READ MAP INFO
U 3663, 3664,4001,0000,7102,0000,2210,0000	; 9756		REL ECL EBUS,SC_P AND SC	;GET USER BIT FROM MAP WORD
U 3664, 2527,0001,0000,6000,3001,0010,0200	; 9757		P_FE OR SC,J/PF4		;STUFF IN PARITY ERROR CODE
						; 9758	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 16
; IO.MIC[4,24]	15:27 17-Mar-86				KL-MODE PAGE REFILL LOGIC				

						; 9759	;HERE WITH PAGE FAIL WORD IN AR
						; 9760	; TESTING FOR EBOX HANDLING REQUIRED.
						; 9761	
						; 9762	=0111
U 2527, 0340,4001,0007,0000,0000,1005,0152	; 9763	PF4:	SV.PFW_AR,SR DISP,J/CLEAN	;NO, GO CLEAN UP
U 2537, 3665,3202,2047,0000,0000,1010,0152	; 9764		SV.PFW_AR,AR_BR,BR/AR		;YES, GET BR TOO
U 3665, 3666,3401,2007,0000,0000,1010,0150	; 9765		SV.BR_AR,AR_0S			;SAVE BR
U 3666, 3667,4001,0000,0000,2000,0022,0200	; 9766		AR0-8_FE			;NOW SAVE 10-BIT REGS
U 3667, 3670,3703,0200,2400,2000,0022,0200	; 9767		ARX_AR (AD),AR0-8_SC		;FE TO ARX, SC TO AR
						; 9768		ARR_ARL,ARL_ARX (ADX),		;FE IN ARL, SC IN ARR
U 3670, 3671,3733,4200,0000,3001,1710,0006	; 9769			ARX_VMA HELD		;GET VMA WHICH FAILED
						; 9770		SV.SC_AR,AR_ARX,		;HOLD SC & FE
U 3671, 2556,3201,4007,0000,2020,1032,0151	; 9771			GEN BR*2,SIGNS DISP	;TEST FOR PT DIR MATCH
						; 9772	=1110
						; 9773	PGRF1:	SV.VMA_AR,ARX_AR SWAP,ARR_ARL,	;GET SEC # TO AR32-35
U 2556, 2575,0001,4407,0000,3000,1036,0145	; 9774			DISP/EA MOD,J/PGRF2	; SEC < 20?
						; 9775	
						; 9776	;	HERE TO WRITE PT DIR, & CLR 4 PAGE ENTRIES.  If the expanded
						; 9777	;	page table ECO has been installed, this will only clear two entries
						; 9778	;	(since they go in pairs for that case), but in either case the
						; 9779	;	right thing will happen. [333]
						; 9780	;
						; 9781		AR_0S,COND/MBOX CTL,MBOX CTL/2,	;READY TO CLEAR EVEN PAIR
U 2557, 3672,3441,2000,7133,0000,2310,0002	; 9782			FE_P AND #,#/2,SC/SCAD	;GET WRITE REF BIT TO FE & SC
						; 9783		COND/MBOX CTL,MBOX CTL/33,	;CLR EVEN, WR DIR, SEL ODD
U 3672, 3673,4001,0000,2003,0020,2310,0033	; 9784			TIME/3T,FE_FE+SC,SC/SCAD; WR REF = 4 NOW
						; 9785		COND/MBOX CTL,MBOX CTL/10,	;CLR ODD, RESET NORMAL SELECT
U 3673, 3674,3202,2000,2001,0020,2310,0010	; 9786			TIME/3T,FE_FE+SC,AR_BR	;GET PFW BACK, WR REF = 10
U 3674, 3675,4001,0000,7322,0000,0010,0401	; 9787		SC_# AND AR0-8,#/401		;GET USER & PAGED REF BITS
U 3675, 3676,4001,0000,6000,2001,0010,0200	; 9788		AR0-8_FE OR SC			;COMBINE WITH WR REF BIT
U 3676, 2556,4001,4047,0000,2000,1010,0152	; 9789		SV.PFW_AR,BR/AR,AR_ARX,J/PGRF1	;REJOIN MAIN PATH
						; 9790	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 17
; IO.MIC[4,24]	15:27 17-Mar-86				KL-MODE PAGE REFILL LOGIC				

						; 9791	;	HERE TO TRACE PAGE POINTERS FOR THIS ADDRESS
						; 9792	;	VMA WHICH FAILED IS IN ARX AND AR WITH THE HALVES SWAPPED
						; 9793	;	PAGE FAIL WORD IS IN BR
						; 9794	;	[333] Bit 5 of all access pointers is implemented as "Keep" for
						; 9795	;	pages which should not be swept from the page map on DATAO PAG
						; 9796	;	UBR reload unless bit 3 is also set.
						; 9797	;
						; 9798	
						; 9799	=1101
						; 9800	PGRF2:	VMA_#+AR32-35,#/540,		;YES.
U 2575, 2615,0001,0000,0000,0120,3332,0540	; 9801			SIGNS DISP,J/PGRF3	; USER REF?
						; 9802		VMA_#+AR32-35,#/560,		;NO
U 2577, 2615,4001,0000,0000,0120,3332,0560	; 9803			SIGNS DISP
						; 9804	=1101
U 2615, 3677,4001,0000,3401,0012,0026,0113	; 9805	PGRF3:	LOAD AR,EPT REF,FE_-1,J/SECPTR	;Initialize APWKC bits, get section
U 2617, 3677,4001,0000,3401,0012,0026,0223	; 9806		LOAD AR,UPT REF,FE_-1		; pointer from EPT or UPT
						; 9807	
						; 9808	;HERE TO FIND PAGE MAP WITH SECTION POINTER
						; 9809	
U 3677, 2630,3200,0003,0302,0022,7010,0011	; 9810	SECPTR:	AR_MEM,SC_#,#/9,SKP INTRPT	;GET SECTION POINTER
						; 9811	=1000	FE_FE AND AR0-8,BR/AR,		;COMBINE ACCESS BITS
U 2630, 2631,4001,0040,7021,1020,0007,0000	; 9812			AR0-3 DISP		;SPT INDEX IN ARR, DISP ON TYPE
U 2631, 3735,3200,2007,0000,0020,0010,0150	; 9813	=1001	AR_SV.BR,J/PFT			;NO ACCESS TO SECTION (OR INTRPT)
						; 9814	=1011
U 2633, 3707,0001,0400,0000,0001,0010,0020	; 9815	SECIMM:	ARX_SHIFT,ARL_0.M,J/PGRF5	;IMMEDIATE
U 2635, 3160,0001,0000,0000,0001,0010,0020	; 9816	=1101	ARL_0.M,J/LDIND			;SHARED
U 2637, 3700,0001,0000,0000,0001,0010,0020	; 9817	=1111	ARL_0.M				;INDIRECT SECTION POINTER
						; 9818	;
						; 9819	;	WARNING:  do not use the technique at LDIND to allow
						; 9820	;	interrupts out of section pointer loops, as that will have
						; 9821	;	adverse effects on byte transfers and console executes.
						; 9822	;
U 3700, 3701,0600,4007,0000,2320,0010,0143	; 9823		VMA_AR+SBR,AR_ARX		;LOOK IN SPT
U 3701, 3702,3242,2040,0000,0012,0026,0103	; 9824		BR/AR,AR_BR,LOAD AR,PHYS REF	;CALL FOR SPT ENTRY
U 3702, 3703,3240,0403,0000,0022,0010,0000	; 9825		ARX_SHIFT,AR_MEM		;SEC PTR INDEX TO ARX0-8
U 3703, 3704,3202,4200,0000,0000,0010,0000	; 9826		AR_SHIFT,ARX_BR			;NEW SEC PTR ADDR TO AR
						; 9827		GEN # AND AR0-8,#/77,SKP SCAD NE,
U 3704, 3156,3703,0000,7320,0320,5210,0077	; 9828			VMA_AR
U 3156, 3677,0001,0000,0000,0012,0026,0103	; 9829	=0	LOAD AR,PHYS REF,J/SECPTR
U 3157, 3735,3200,2007,0000,0020,0010,0150	; 9830		AR_SV.BR,J/PFT			;TRAP, SEC MAP NOT IN CORE
						; 9831	;
						; 9832	;	We must turn off special cycle for indirect pointers so that
						; 9833	;	we can take an interrupt.  However, we can't do it if PXCT or
						; 9834	;	SXCT might be active.  Thus, a kernel mode program can get into
						; 9835	;	a page fail loop that the microcode cannot exit.
						; 9836	;
						; 9837	=0
U 3160, 3705,0600,0007,4000,0320,0010,0143	; 9838	LDIND:	VMA_AR+SBR,J/LDIND1		;FOR INDIRECT PAGE POINTERS
U 3161, 3160,4001,0000,0000,0000,1510,0000	; 9839		CLR SPECIAL CYCLE,J/LDIND
						; 9840	;
						; 9841	;	This fixes the glitch that INSTR FETCH (NICOND) doesn't
						; 9842	;	clear 'CON4 INT DISABLE L' before fetching user's instruction.
						; 9843	;					;SHARED SEC = INDRCT PAG
U 3705, 3706,4001,0000,0000,0012,0026,0103	; 9844	LDIND1:	LOAD AR,PHYS REF		;GET PAGE MAP ADDR
U 3706, 2633,3200,0003,0000,0022,0010,0000	; 9845		AR_MEM,J/SECIMM
						; 9846	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 17-1
; IO.MIC[4,24]	15:27 17-Mar-86				KL-MODE PAGE REFILL LOGIC				

						; 9847	
						; 9848	;HERE WITH PAGE NO OF PAGE MAP IN AR,
						; 9849	; VIRTUAL PAGE NO WITHIN SECTION IN ARX0-8
						; 9850	
						; 9851	.IF/NOCST
U 3707, 3162,3200,0007,0000,0020,5610,0142	; 9852	PGRF5:	TEST CBR			;[247] CBR = 0 MEANS NO CST UPDATE
						; 9853	.IF/BIG.PT				;[346]
						; 9854	=0	AR_ARX,FE_FE AND #,#/174,	;[247][333] NO CST UPDATE
U 3162, 3714,4001,4000,7031,2000,0010,0174	; 9855			J/NO.CST		;[247]
						;;9856	.IFNOT/BIG.PT				;[346]
						;;9857	=0	AR_ARX,FE_FE AND #,#/164,	;[247] NO CST UPDATE. Eat bit 5
						;;9858			J/NO.CST		;[247] if no big page table
						; 9859	.ENDIF/BIG.PT				;[346]
						;;9860	.IFNOT/NOCST				;[247]
						;;9861	PGRF5:
						; 9862	.ENDIF/NOCST				;[247]
U 3163, 3710,0600,4007,4000,2320,0010,0142	; 9863		VMA_AR+CBR,AR_ARX		;GENERATE CST ADDRESS
						; 9864		GEN # AND AR0-8,#/77,		;IS PAGE MAP IN CORE?
U 3710, 3164,4001,0000,7320,0020,5210,0077	; 9865			SKP SCAD NE
						; 9866	=0	LOAD AR,PHYS REF,		;GET CST ENTRY FOR PAGE MAP
U 3164, 3711,0001,0040,0000,0012,0026,0103	; 9867			BR/AR,J/PGRF6		;SAVE PAGE PTR ADDR IN BR
U 3165, 3735,3200,2007,0000,0020,0010,0150	; 9868		AR_SV.BR,J/PFT			;NOT IN CORE, PAGE FAIL TRAP
						; 9869	;
						; 9870	.IF/BIG.PT				;[346]
U 3711, 3712,3240,0003,7031,0022,0010,0174	; 9871	PGRF6:	AR_MEM,FE_FE AND #,#/174	;[333]HERE IF CST FOR PAGE MAP
						;;9872	.IFNOT/BIG.PT				;[346]
						;;9873	PGRF6:	AR_MEM,FE_FE AND #,#/164	;HERE IF CST FOR PAGE MAP. No K bit
						; 9874	.ENDIF/BIG.PT				;[346] if no big page table
U 3712, 3166,3600,2007,0100,0040,5210,0140	; 9875		AR_AR AND CSMSK,SKP P NE	;BEGIN CST UPDATE
U 3166, 3735,3200,2007,0000,0020,0010,0150	; 9876	=0	AR_SV.BR,J/PFT			;AGE TRAP, MAP BEING SWAPPED
U 3167, 3713,3300,2007,4000,0036,0010,0141	; 9877		AR_AR OR PUR,STORE		;PUT CST WORD BACK
						;;9878	.IFNOT/NOCST				;[247]
						;;9879		MEM_AR,VMA_BR,PHYS REF		;PHYS REF MAKES MODEL.A LOAD
						;;9880						;LONG VMA
						;;9881		LOAD AR,PHYS REF		;GET PAGE MAP ENTRY
						;;9882		AR_MEM,FE_FE OR #,#/100,	;PAGE POINTER
						;;9883			SKP INTRPT		;CHECK FOR LONG INDIRECT
						;;9884						;POINTER
						; 9885	.IF/NOCST				;[247]
U 3713, 3170,3202,0003,0000,0302,0026,0103	; 9886		MEM_AR,VMA_BR,PHYS REF,J/NOCST0	;PHYS REF MAKES MODEL.A LOAD
						; 9887						;LONG VMA
						; 9888	NO.CST:	GEN # AND AR0-8, #/77,		;[247] page map in core ?
U 3714, 3170,3701,0000,7320,0320,5210,0077	; 9889			VMA_AR,SKP SCAD NE	;[247]
						; 9890	=0
U 3170, 3715,0001,0000,0000,0012,0026,0103	; 9891	NOCST0:	LOAD AR,PHYS REF, J/NOCST1	;[247] GET PAGE MAP ENTRY
U 3171, 3735,3200,2007,0000,0020,0010,0150	; 9892		AR_SV.BR, J/PFT			;[247] not in core, pf trap
						; 9893	NOCST1:	AR_MEM,FE_FE OR #,#/100,	;[247] PAGE POINTER
U 3715, 2650,3240,0003,6031,0022,7010,0100	; 9894			SKP INTRPT		;[247] CHECK FOR LONG INDIRECT
						; 9895	.ENDIF/NOCST				;[247] POINTER
						; 9896	;
						; 9897	;	HERE WITH PAGE MAP ENTRY IN AR
						; 9898	;	FE HAS ACCUMULATED ACCESS BITS -- APWKC*4
						; 9899	;	SC CONTAINS 9.
						; 9900	;
						; 9901	=1000	FE_FE AND AR0-8,AR0-3 DISP,	;COMBINE PWKC, DISP ON TYPE
U 2650, 2651,3200,0207,7021,1020,0007,0145	; 9902			ARX_SV.VMA,TIME/3T	;[346] GET BACK SAVED VMA
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 17-2
; IO.MIC[4,24]	15:27 17-Mar-86				KL-MODE PAGE REFILL LOGIC				

U 2651, 3735,3200,2007,0000,0020,0010,0150	; 9903	=1001	AR_SV.BR,J/PFT			;0=NO ACCESS (OR HERE ON INTRPT)
						; 9904	=1011
						; 9905	LDIMM:	ARL_SHIFT,FE_FE SHRT,		;1=IMMEDIATE, LOAD PT
						; 9906			ARX_ARX*2 COMP,		; GET -WR REF TO ARX03
U 2653, 3721,2001,0500,0302,0001,1210,0004	; 9907			SC_#,#/4,J/LDPT		;[333] Set to move K bit
U 2655, 3716,4001,0000,0000,0001,0010,0020	; 9908	=1101	ARL_0.M,J/LDSHR			;2=SHARED, GET SPT ENTRY
						; 9909	=1111	ARL_0.M,ARX_SHIFT,SKP USER,	;3=INDIRECT, LOOP
U 2657, 3160,0001,0400,0000,0001,6210,0020	; 9910			J/LDIND
						; 9911	;
						; 9912	;	HERE TO GET SHARED PAGE POINTER OUT OF SPT
						; 9913	;
U 3716, 3717,0600,0007,4000,0320,0010,0143	; 9914	LDSHR:	VMA_AR+SBR			;ADDRESS OF SPT ENTRY
U 3717, 3720,0001,0000,0000,0012,0026,0103	; 9915		LOAD AR,PHYS REF
U 3720, 2653,3200,0003,6031,0022,0010,0100	; 9916		AR_MEM,FE_FE OR #,#/100,J/LDIMM	;TREAT SPT ENTRY AS IMMED
						; 9917	
						; 9918	;
						; 9919	;	HERE WITH IMMEDIATE PAGE NO IN AR TO LOAD INTO PT
						; 9920	;
						; 9921	
U 3721, 3172,0001,0000,7320,0020,5210,0077	; 9922	LDPT:	GEN # AND AR0-8,#/77,SKP SCAD NE;Test storage medium
						; 9923	.IF/BIG.PT				;[333]
						; 9924	=0	ARL_0.M,GEN FE AND SC,		;[333]In core. Is Keep bit set?
U 3172, 3174,4001,0000,7000,0021,5210,0020	; 9925			SKP SCAD NE,J/LDPT1
						;;9926	.IFNOT/BIG.PT
						;;9927	=0	ARL_0S,J/LDPT1
						; 9928	.ENDIF/BIG.PT				;[333]
U 3173, 3735,3200,2007,0000,0020,0010,0150	; 9929		AR_SV.BR,J/PFT			;PAGE NOT IN CORE
						; 9930	;
						; 9931	.IF/BIG.PT				;[333]
						; 9932	=0
						; 9933	.ENDIF/BIG.PT
U 3174, 3722,3711,7400,4402,1000,0010,0000	; 9934	LDPT1:	ARX_AR,AR_ARX*.25,SC_1,J/KMOVED	;[333]No K. GET -WR REF TO AR05
						; 9935	.IF/BIG.PT
U 3175, 3174,4001,0000,5001,0000,0110,0010	; 9936		AR0-8_#,#/10,FE_FE-SC,J/LDPT1	;[333]K set. Move to bit 5 for now
						; 9937	.ENDIF/BIG.PT
						; 9938	;
						; 9939	.IF/NOCST				;[247]
U 3722, 3200,3200,0007,7102,0020,5610,0142	; 9940	KMOVED:	TEST CBR, SC_P AND SC		;[247][333]CBR = 0? (-WR REF TO SC)
						; 9941	=0	SC_-SC,AR_ARX,ARX_AR (AD),
U 3200, 3725,3703,4200,5402,2000,0010,0000	; 9942			J/NOUPDT		;[247] YES, SKIP SOME
						;;9943	.IFNOT/NOCST				;[333]
						;;9944	KMOVED:					;[333]
						; 9945	.ENDIF/NOCST				;[247]
U 3201, 3723,0610,4007,7102,2320,0010,0542	; 9946		VMA_ARX+CBR,AR_ARX,SC_P AND SC	;PAGE IN CORE. SC_-WR REF
						; 9947	;
						; 9948	;	NOW GET CST ENTRY FOR THIS PAGE.
						; 9949	;
						; 9950	GTCST:	LOAD AR,PHYS REF,ARX_AR SWAP,	;Shuffle K over to bit 23
U 3723, 3724,4041,2400,5402,3032,0026,0103	; 9951			SC_-SC,AR_1		;SC=0 IF WR REF, ELSE -1
						; 9952		GEN FE AND #,#/10,SKP SCAD NE,	;SKIP IF WRITABLE
U 3724, 3202,4001,0040,7030,0022,5210,0010	; 9953			BR/AR,MB WAIT		;GET CST ENTRY & BIT FOR TESTING
						; 9954	=0	GEN P AND SC,SKP SCAD NE,	;FAIL IF WRITING OR AGE=0
U 3202, 3206,3600,2007,7100,2040,5210,0140	; 9955			AR_AR AND CSMSK,J/NOTWR	;STRIP OLD AGE FROM CST
						; 9956	;
						; 9957	;	[303] Looks like it's writable.  Make one final check by looking
						; 9958	;	at bit 18 of the CST entry, and abort if it's not set.
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 17-3
; IO.MIC[4,24]	15:27 17-Mar-86				KL-MODE PAGE REFILL LOGIC				

						; 9959	;
						; 9960		TEST AR.BR,SKP CRY0,		;POSSIBLY WRITABLE--SKIP IF CST
U 3203, 2776,3602,0004,5300,0040,5434,0777	; 9961			GEN #-SC,#/-1,BYTE DISP	; WRITTEN OR THIS IS WRITE REF
U 2776, 3205,0001,0000,5031,0000,0010,0004	; 9962	=110	FE_FE-#,#/4,J/STCST		;[305] TEMPORARILY UNWRITABLE, SET S
						; 9963	.IF/CST.WRITE				;[314]
						; 9964		AR_AR*BR,AD/OR,FE_FE OR #,#/4,	;SET CST WRITTEN AND SOFT BITS
U 2777, 3204,3302,2000,6031,0000,4410,0004	; 9965			SKP AR18		;IS IT REALLY WRITABLE? [303]
U 3204, 3735,3200,2007,0000,0020,0010,0150	; 9966	=0	AR_SV.BR,J/PFT			;NOT REALLY. BAIL OUT
						;;9967	.IFNOT/CST.WRITE			;[314]
						;;9968		AR_AR*BR,AD/OR,FE_FE OR #,#/4	;[314] Set CST written and soft bits
						; 9969	.ENDIF/CST.WRITE			;[314]
U 3205, 3206,3600,2007,0100,0040,5210,0140	; 9970	STCST:	AR_AR AND CSMSK,SKP P NE	;[305] WRITABLE. CLEAR, TEST OLD AGE
						; 9971	;
						; 9972	;	[322] At this point we should check whether we got here as a result
						; 9973	;	of an age trap (in which case we just take the page failure) or not,
						; 9974	;	in which case the failure was due to a write reference and we should
						; 9975	;	set bit 2 (the A bit) in the PFW.  This is not currently done
						; 9976	;	because (1) nobody needs it now, and (2) we are very short on CRAM
						; 9977	;	space.
						; 9978	;
						; 9979	=0
U 3206, 3735,3200,2007,0000,0020,0010,0150	; 9980	NOTWR:	AR_SV.BR,J/PFT			;WRITE OR AGE TRAP
						;;9981	.IFNOT/NOCST				;[247]
						;;9982		AR_AR OR PUR,STORE		;SET USE BITS, STORE BACK CST
						;;9983		MB WAIT,VMA_SV.VMA,		;RELOAD VMA FOR ORIGINAL REF
						;;9984			AR_SV.VMA,SC_1		;READY TO TEST VMA USER
						;;9985		GEN P AND SC,SKP SCAD NE,	;TEST VMA USER, copy page # to ARL,
						;;9986			AR_ARX,			;[333] K to AR bit 23, APMWC0 TO SC
						;;9987			SC_FE,ARX_AR (AD)	; MAP BIT TO ARX
						;;9988	=0	P_P OR SC#,EXEC REF,J/WRHPT	;BUILD PT ENTRY, CLEAR VMA USER
						;;9989		P_P OR SC#,USER REF		; OR SET USER, AS NECESSARY
						;;9990	WRHPT:	WR PT ENTRY,FE_#,#/10,AR_ARX*4	;UPDATE HARDWARE TABLE
						; 9991	.IF/NOCST
U 3207, 3213,3300,2007,4000,0036,0010,0141	; 9992		AR_AR OR PUR,STORE,J/WRHPT	;[247]SET USE BITS,
						; 9993						; STORE BACK CST
						; 9994	;
						; 9995	NOUPDT:	GEN FE AND #, #/10, ARX_AR SWAP,
U 3725, 3210,3713,2400,7030,3020,5210,0010	; 9996			AR_ARX (AD),SKP SCAD NE	;[247] SKIP IF WRITABLE
						; 9997	=0	AR_SV.PFW,GEN P AND SC,		;[322] Get saved PFW and
U 3210, 3212,3200,2007,7100,0040,5210,0152	; 9998			SKP SCAD NE,J/NOT.WR	;[247]FAIL IF WRITING
U 3211, 3213,4001,0000,6031,0000,0010,0004	; 9999		FE_FE OR #, #/4, J/WRHPT	;[247]SET WRITABLE BIT
						; 10000	;
U 3726, 3206,0001,0007,0000,0000,1010,0152	; 10001	WRFAIL:	SV.PFW_AR,J/NOTWR		;[322]Restore PFW and page fail
						; 10002	;
						; 10003	=0					;[323]
U 3212, 3726,4001,0000,6320,2000,0110,0100	; 10004	NOT.WR:	AR0-8_# OR AR0-8,#/100,J/WRFAIL	;[322]Write failure. Set A in PFW
U 3213, 3727,3240,4007,0000,2123,0013,0145	; 10005	WRHPT:	RSTR VMA_SV.VMA,AR_ARX,SC_FE	;RELOAD ORIGINAL VMA
U 3727, 3730,0001,0000,6100,3000,0110,0000	; 10006		P_P OR SC			;[333]COMBINE APMWC WITH PAGE #, K
U 3730, 3731,0001,0000,0000,0020,2310,0010	; 10007		WR PT ENTRY			;UPDATE HARDWARE PAGE TABLE
						; 10008	.ENDIF/NOCST
						; 10009	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 18
; IO.MIC[4,24]	15:27 17-Mar-86				KL-MODE PAGE REFILL LOGIC				

						; 10010	;HERE WHEN MAP INFO WRITTEN INTO HARDWARE PAGE TABLE
						; 10011	; WE NOW NEED ONLY RESTORE THE REGISTERS WE HAVE USED, AND RESTART THE
						; 10012	; MEMORY REFERENCE WHICH FAILED, RETURNING TO THE MICROINSTRUCTION
						; 10013	; WHICH WAITS FOR ITS COMPLETION.
						; 10014	
U 3731, 3732,3200,2007,0000,0020,0010,0151	; 10015		AR_SV.SC
						; 10016		SC_EXP,FE_EXP,SKP AR0,		;RESTORE FE
U 3732, 3214,3240,4207,0203,3020,4510,0150	; 10017			AR_AR SWAP,ARX_SV.BR
						; 10018	=0
						; 10019	PGRST1:	SC_EXP,SKP AR0,			;RESTORE SC
U 3214, 3216,3200,4207,0202,2020,4510,0156	; 10020			AR_ARX,ARX_SV.AR,J/PGRST2
U 3215, 3214,4001,0000,1401,0000,0010,0000	; 10021		FE_-SC-1,J/PGRST1		;MAKE FE NEG
						; 10022	=0
						; 10023	PGRST2:	BR/AR,AR_ARX,			;RESTORE BR AND AR
U 3216, 3733,3200,4247,0000,2020,0010,0157	; 10024			ARX_SV.ARX,J/PGRST3	; AND ARX
						; 10025		SC_-SC-1,BR/AR,AR_ARX,		;NEGATE SC
U 3217, 3733,3240,4247,1402,2020,0010,0157	; 10026			ARX_SV.ARX
						; 10027	
						; 10028	;HERE RETURN TO POINT OF FAULT.  THERE MUST BE EXACTLY ONE MICRO-
						; 10029	; INSTRUCTION, OF 2 OR 3 TICKS, BETWEEN THE REQUEST AND THE RETURN.
						; 10030	; AT LEAST ONE IS REQUIRED TO GET NICOND LOGIC SET UP CORRECTLY IN
						; 10031	; CASE THIS IS A FETCH, BUT THERE MUST NOT BE TIME FOR A READ TO
						; 10032	; READ REFERENCE TO COMPLETE, BECAUSE THE MB WAIT INSTRUCTION TO WHICH
						; 10033	; WE RETURN MAY EXPECT TO GET SOMETHING OUT OF AR OR ARX BEFORE THE
						; 10034	; MBOX RESPONSE.  SEE DPB1.
						; 10035	
U 3733, 3734,3240,0007,0000,0130,0010,0145	; 10036	PGRST3:	REQ SV.VMA			;RESTART FAULTED REQUEST
U 3734, 0000,4001,0000,0000,0000,2103,0105	; 10037		SET ACCOUNT EN,RETURN0		;RETURN TO POINT OF FAILURE
						; 10038	
						; 10039	
						; 10040	;HERE ON A TRAP CONDITION DETECTED BY REFILL LOGIC
						; 10041	;AR CONTAINS SAVED BR
						; 10042	
						; 10043	PFT:	BR/AR,VMA_SV.VMA,		;RESTORE BR & VMA
U 3735, 0340,3200,0047,0000,0320,0005,0145	; 10044			SR DISP,J/CLEAN		;TAKE TRAP
						; 10045	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 19
; IO.MIC[4,24]	15:27 17-Mar-86				Page Fail Cleanup and Special Instruction Dispatch	

						; 10046	.TOC	"Page Fail Cleanup and Special Instruction Dispatch"
						; 10047	
						; 10048	;HERE ON PAGE FAIL OR INTERRUPT WHICH REQUIRES CLEANUP IN ORDER
						; 10049	; TO BE CORRECTLY RESTARTABLE AFTER SERVICE...
						; 10050	
						; 10051	=1*0000
U 0340, 3220,0001,0000,0301,0000,7010,0037	; 10052	CLEAN:	FE_#,#/37,SKP INTRPT,J/PGF1	;HERE FOR INTRPT OR PGF?
						; 10053	
						; 10054	;(1) HERE ON EDIT SOURCE FAIL
						; 10055	
U 0341, 3753,3200,2001,0000,0020,1610,0000	; 10056		AR_SRCP,SR_0,J/BACKS		;BACK UP SRC POINTER
						; 10057	
						; 10058	;(2) HERE ON ANY FAILURE IN DECIMAL TO BINARY
						; 10059	
U 0342, 3760,3202,2600,0000,0000,1610,0001	; 10060		AR_BR LONG,SR_1,J/D2BPF		;GET ACCUMULATED BINARY
						; 10061	
						; 10062	;(3) HERE ON DST FAIL IN BINARY TO DECIMAL FILL
						; 10063	
U 0343, 3764,2540,2005,0000,0020,1610,0004	; 10064		AR_DLEN COMP,SR_#,#/4,J/B2DFPF
						; 10065	
						; 10066	;(4) HERE ON EDIT DST FAIL WITH NO SRC POINTER UPDATE
						; 10067	
U 0344, 3755,4001,0000,0000,0000,1610,0000	; 10068		SR_0,J/BACKD			;BACK UP DST POINTER ONLY
						; 10069	
						; 10070	;(5) HERE ON EDIT DST FAIL AFTER UPDATING SRC POINTER
						; 10071	
U 0345, 3755,0001,0000,0000,0000,1610,0001	; 10072		SR_1,J/BACKD			;BACK UP DST, THEN SRC
						; 10073	
						; 10074	;(6) HERE ON DESTINATION FAILURE IN BINARY TO DECIMAL
						; 10075	
U 0346, 3755,0001,0000,0000,0000,1610,0010	; 10076		SR_BDT,J/BACKD			;BACK UP DST, THEN SAVE FRACTION
						; 10077	
						; 10078	;(7) HERE ON BLT FAILURE
						; 10079	
U 0347, 2412,2301,0200,0000,0000,1610,0000	; 10080	BLTFIX:	ARX_1S,SR_0,J/BLTPGF		;Only way to subtract 1 from BRX
						; 10081	
						; 10082	;(10) HERE ON TRANSLATION FAILURE IN BINARY TO DECIMAL
						; 10083	
U 0350, 3765,3242,2600,0000,0000,1610,0000	; 10084		AR_BR LONG,SR_0,J/B2DPF		;GET BINARY FRACTION
						; 10085	
						; 10086	;(11) HERE ON SRC FAILURE IN COMPARE OR MOVE STRING
						; 10087	
U 0351, 3771,3200,2005,0000,0020,1610,0001	; 10088		AR_DLEN,SR_1,J/STRPF		;PUT LENGTHS BACK, THEN BACK SRC
						; 10089	
						; 10090	;(12) HERE ON DST FAILURE IN COMPARE OR MOVE STRING
						; 10091	
U 0352, 3771,3200,2005,0000,0020,1610,0004	; 10092		AR_DLEN,SR_#,#/4,J/STRPF
						; 10093	
						; 10094	;(13) HERE ON DST FAILURE AFTER UPDATING SRC IN COMPARE OR MOVE
						; 10095	
U 0353, 3755,0001,0000,0000,0000,1610,0111	; 10096		SR_SRC,J/BACKD			;BACK DST, THEN HANDLE AS SRC FAIL
						; 10097	
						; 10098	;(14) HERE ON DST FILL FAILURE IN MOVRJ
						; 10099	
U 0354, 3776,3240,2005,0000,0020,1610,0004	; 10100		AR_DLEN,SR_#,#/4,J/STRPF4
						; 10101	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 19-1
; IO.MIC[4,24]	15:27 17-Mar-86				Page Fail Cleanup and Special Instruction Dispatch	

						; 10102	;(15) HERE ON PAGE FAILURE IN MAP INSTRUCTION.  RETURN PAGE FAIL WORD
						; 10103	
U 0355, 0744,3200,2007,0000,0020,7310,0152	; 10104		AR_SV.PFW,SKP IO LEGAL,J/MAP2	;RETURN PFW IN AC
						; 10105	
						; 10106	;(16) HERE ON PAGE FAIL IN XBLT
						; 10107	
U 0356, 2452,3240,0007,0000,0020,5510,0166	; 10108	XBLFIX:	GEN FM[T0],SKP AD0,J/XBLFRZ	;Test copy direction for backup
						; 10109	=
						; 10110	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 20
; IO.MIC[4,24]	15:27 17-Mar-86				Page Fail Cleanup and Special Instruction Dispatch	

						; 10111	;HERE ON ANY PAGE FAILURE OR PI REQUEST IN LONG INSTRUCTIONS
						; 10112	; SKIP IF PI REQUEST, WHICH TAKES PRIORITY
						; 10113	
						; 10114	=0
U 3220, 3736,0001,0000,0000,0102,3010,0500	; 10115	PGF1:	MB WAIT,VMA_#,#/500,J/PGF2
U 3221, 0361,4001,0000,0000,0000,2110,0105	; 10116		SET ACCOUNT EN,J/TAKINT		;CLEANUP DONE, SERVE INTRPT
U 3736, 1550,3240,2007,0000,0020,6510,0152	; 10117	PGF2:	AR_SV.PFW,SKP PI CYCLE		;GET BACK PAGE FAIL WORD
						; 10118	=00	ARX_AR,AR_VMA HELD,SC_#,#/13.,	;READY TO COMBINE PF WORD
U 1550, 0044,3731,2400,0302,1000,1750,0015	; 10119			CALL,J/ROTS		; WITH ADDRESS
						; 10120		ARX_AR,AR_VMA HELD,SC_#,#/13.,	;READY TO COMBINE PF WORD
U 1551, 3747,3731,2400,0302,1000,1710,0015	; 10121			J/IOPGF			; WITH ADDRESS
U 1553, 3737,0001,4000,0000,0000,1510,0004	; 10122	=11	AR_SHIFT,ABORT INSTR		;RECOVER TRAP FLAGS, IF ANY
U 3737, 3740,3731,0200,0000,0016,0026,0223	; 10123		STORE,UPT REF,ARX_PC		;PAGE FAULT WORD TO 500
U 3740, 3741,4001,0007,0000,0000,1010,0177	; 10124		FM[HARDPFW]_AR			;[406] Protect from soft page fail
						; 10125		AR_ARX ANDC ADMSK,MB WAIT,	;GET PC FLAGS FOR STORING
U 3741, 3742,3510,2227,0000,0022,0010,0175	; 10126			BRX/ARX,ARX/AD		;FULL PC IN BRX, FLAGS IN ARX
U 3742, 3222,0001,0000,0000,0000,6222,0030	; 10127		AR_0.S,SKP USER
U 3222, 0475,0001,0000,0000,2000,0250,0000	; 10128	=0	AR12-17_PREV SEC,CALL [ARSWAP]	;[334] GET PCS IF EXEC MODE
						; 10129		ARL_ARXL,ARR_ARR,		;FLAGS WORD IN AR
U 3223, 3743,4001,0000,0000,2016,3622,0004	; 10130			VMA_VMA+1,STORE		;STORE FLAGS WORD IN 501
						; 10131		AR_ARX*BRX,AD/ANDCA,		;GET PC ADDRESS
U 3743, 3744,3002,6004,0000,0016,3610,0000	; 10132			VMA_VMA+1,STORE		; STORE IT IN 502
U 3744, 3745,3441,2000,0000,0012,3610,0000	; 10133		AR_0S,VMA_VMA+1,LOAD AR		;GET NEW PC ADDRESS FROM 503
U 3745, 3746,4001,0000,0000,0000,0024,0020	; 10134		SET FLAGS_AR			;CLEAR ALL FLAGS
U 3746, 0335,3200,0003,0000,0022,2110,0105	; 10135		AR_MEM,SET ACCOUNT EN,J/ARJMP	;NEW ADDRESS FOR PC
						; 10136	
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page 21
; IO.MIC[4,24]	15:27 17-Mar-86				PAGE FAIL/INTERRUPT CLEANUP FOR SPECIAL INSTRUCTIONS	

						; 10137	.TOC	"PAGE FAIL/INTERRUPT CLEANUP FOR SPECIAL INSTRUCTIONS"
						; 10138	
						; 10139	;HERE ON PAGE FAIL DURING PI CYCLE
						; 10140	
						; 10141						;[224] DO FANCY STUFF FOR DTE.
U 3747, 3750,3200,2007,0000,0020,0010,0163	; 10142	IOPGF:	AR_FM[SV.IOP]			;[274] GET THE SAVED API WORD
U 3750, 3751,4001,0007,0000,0000,1010,0162	; 10143		SV.IOPF_AR			;[224] SAVE IT IN AC BLK 7.
U 3751, 3752,3200,2047,0000,0020,0010,0156	; 10144		BR/AR,AR_SV.AR			;[224] KEEP IOPF WORD AROUND,
U 3752, 1242,4001,0000,0000,0000,2310,0100	; 10145		SET IO PF			;[224][274] HANDLE DTE.
						; 10146	
						; 10147	;[223] THIS RESTARTS THE DTE'S CLOCK TO PREVENT A DEX FAILURE.
U 1242, 3560,4001,0000,0000,0000,2250,0026	; 10148	=10	SET DATAO,CALL,J/EBUSO		;[223] SEND THE DATA TO THE DTE.
U 1243, 2423,3242,2000,0000,0000,2110,0105	; 10149		AR_BR,SET ACCOUNT EN,J/PIDONE	;[223] AND FINISH THE INTRPT.
						; 10150	
						; 10151	;
						; 10152	;HERE ON VARIOUS CASES OF STRING/EDIT FAILURE
						; 10153	
U 3753, 3754,0001,0000,2110,3001,0010,0200	; 10154	BACKS:	P_P+S
U 3754, 0340,4001,0001,0000,0000,1005,0000	; 10155		SRCP_AR,SR DISP,J/CLEAN		;RE-DISPATCH FOR MORE
						; 10156	
U 3755, 3756,3240,2006,0000,0020,0010,0144	; 10157	BACKD:	AR_DSTP
U 3756, 3757,0001,0000,2110,3000,0110,0144	; 10158		P_P+S.C,SEL DSTP		;PRESEL NUM FIELD FOR HARDW GLITCH
U 3757, 0340,4001,0006,0000,0000,1005,0144	; 10159		DSTP_AR,SR DISP,J/CLEAN
						; 10160	
U 3760, 3761,3401,2005,0302,0000,1010,0043	; 10161	D2BPF:	AC3_AR,AR_0S,SC_#,#/35.		;PUT AWAY HIGH BINARY
U 3761, 3762,5140,4207,0000,0020,0010,0170	; 10162		AR_SHIFT,ARX_-SLEN		;LOW TO AR, REMAINING LEN TO ARX
U 3762, 3763,4001,0000,0000,0000,0010,0144	; 10163		SEL DSTP			;PRESEL NUM FIELD FOR HARDW GLITCH
U 3763, 3774,0001,4006,0000,2000,1010,0144	; 10164		AC4_AR,AR_ARX,J/STRPF2		;PUT LOW AWAY
						; 10165	
U 3764, 3770,3300,2007,0000,0020,0010,0166	; 10166	B2DFPF:	AR_AR*T0,AD/OR,J/B2DPF2
						; 10167	
U 3765, 3766,4001,4000,0000,2000,1010,0000	; 10168	B2DPF:	AC0_AR,AR_ARX			;HIGH FRACTION TO AC
U 3766, 3767,4001,0001,0000,0000,1010,0000	; 10169		AC1_AR				;LOW TO AC1
U 3767, 3770,3240,2005,0000,0020,0010,0000	; 10170		AR_AC3				;GET FLAGS
U 3770, 3773,5100,2007,0000,0020,0010,0170	; 10171	B2DPF2:	AR_AR*SLEN,AD/A-B,J/STRPF3	;REBUILD FLAGS+LEN
						; 10172	
U 3771, 3224,5140,2047,0000,0020,4510,0170	; 10173	STRPF:	BR/AR,AR_-SLEN,SKP AR0		;WHICH IS LONGER?
						; 10174	=0
U 3224, 3774,0602,2005,4000,0020,1010,0000	; 10175	STRPF1:	AC3_AR,AR_AR+BR,J/STRPF2	;SRC LONGER
U 3225, 3772,3300,2400,4000,1020,0010,0000	; 10176		ARX_AR,AR_AR*SFLGS,AD/OR	;DST.  BUILD SRC LEN+FLAGS
U 3772, 3773,5112,2000,0000,0020,1010,0000	; 10177		AC0_AR,AR_ARX-BR		;THAT'S AWAY, MAKE DST LEN
U 3773, 0340,0001,0005,0000,0000,1005,0000	; 10178	STRPF3:	AC3_AR,SR DISP,J/CLEAN		;OK, NOW BACK UP SRC IF REQ'D
						; 10179	
U 3774, 3775,3300,2000,0000,0020,0010,0000	; 10180	STRPF2:	AR_AR*SFLGS,AD/OR
U 3775, 0340,0001,0000,0000,0000,1005,0000	; 10181	PGFAC0:	AC0_AR,SR DISP,J/CLEAN		;BEGIN NORMAL PF WORK
						; 10182	
U 3776, 3224,2540,2047,0000,0020,4510,0170	; 10183	STRPF4:	BR/AR,AR_SLEN COMP,SKP AR0,J/STRPF1
						; 10184	


; Number of microwords used: 
;	D words= 512
;	U words= 2048, Highest= 2047

	END
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-1
; 							Cross Reference Listing					

(D) A				2259 #
	ADDR			2262 #	4088	4255	4618	4792	4794	4867	4868	4916	4918	4920	4921
				4922	4923	4937	4938	4939	4940	4941	4942	4946	4947	4948	4949
				4950	4951	4952	4953	4954	4955	4959	4960	4961	4962	4963	4964
				4965	4966	4967	4968	4969	4970	4971	4972	4973	4974	4975	4976
				4977	4978	4982	4983	4984	5115	5761	5775	5840	5884	6011	6012
				6899	6900	6907	6908	6909	7130	8117	8118	8119	8121	8122	8123
				8124	8126	8127	8128	8129	8131	8132	8133	8134
	IMMED			2260 #	3949	4032	4033	4060	4141	4231	4232	4271	4272	4316	4317
				4367	4368	4379	4380	4381	4382	4383	4384	4397	4398	4399	4400
				4401	4402	4415	4416	4417	4418	4419	4420	4433	4434	4435	4436
				4437	4438	4487	4488	4489	4490	4491	4492	4493	4563	4564	4565
				4566	4567	4568	4569	4578	4579	4580	4581	4582	4583	4584	4594
				4595	4596	4597	4598	4599	4600	4609	4610	4749	4767	4795	4869
				4870	5116	5155	5156	5157	5158	5159	5160	5161	5369	5407	5473
				5478	5767	5781	5846	5890	6014	9027	9029	9030	9031	9032	9040
				9041	9042	9043	9049	9051	9052	9053	9054	9058	9059	9060	9061
				9062	9063	9064	9065	9075	9076	9077	9078	9085	9086	9087	9088
				9089	9090	9098	9100	9101	9109	9111	9112
	IMMED-PF		2261 #	3948	3953	3958	3963	4093	4098	4103	4108	4113	4118	4123
				4130	4135	4140	4145	4150	4155	4160	4165	4229	4230	4235	4245
				4260	4269	4270	4275	4285	4295	4305	4314	4315	4325	4336	4346
				4356	4365	4366	4377	4378	4395	4396	4413	4414	4431	4432	4486
				4562	4577	4593	5344	5356
	RD-P-WR			2267 #	3955	3960	3965	3967	4089	4094	4095	4100	4105	4110	4115
				4120	4125	4131	4136	4137	4142	4147	4152	4157	4162	4167	4236
				4237	4246	4247	4261	4262	4276	4277	4286	4287	4296	4297	4306
				4307	4326	4327	4337	4338	4347	4348	4357	4358	4528	4529	4530
				4531	4532	4533	4534	4535	4544	4545	4546	4547	4548	4549	4550
				4551	5345	5346	5357	5358
	RD-WR			2266 #	3950	4090	4132	4257	5370	5371	5408	5409	5474	5475	5479
				5480	5763	5764	5768	5769	5777	5778	5782	5783	5842	5843	5847
				5848	5886	5887	5891	5892	7368	7461	9047	9094	9096	9105	9107
	READ			2264 #	4014	4015	4388	4389	4390	4391	4392	4393	4406	4407	4408
				4409	4410	4411	4424	4425	4426	4427	4428	4429	4442	4443	4444
				4445	4446	4447	4497	4498	4499	4500	4501	4502	4503	4513	4514
				4515	4516	4517	4518	4519	4520	4793	5141	5368	5406	5472	5477
				5637	5638	5639	5640	5757	5766	5771	5780	5836	5845	5880	5889
				6058	6059	6060	6245	6246	6247	6248	6423	6424	6425	6426	7369
				7462	7569	8042	9028	9038	9039	9050	9073	9074	9097	9108
	READ-PF			2265 #	3947	3952	3957	3962	4087	4092	4097	4102	4107	4112	4117
				4122	4129	4134	4139	4144	4149	4154	4159	4164	4234	4244	4254
				4259	4274	4284	4294	4304	4324	4335	4345	4355	4386	4387	4404
				4405	4422	4423	4440	4441	4496	5343	5355
	WR-TST			2263 #	3954	3959	3964	4061	4099	4104	4109	4114	4119	4124	4146
				4151	4156	4161	4166	4256	9025	9026	9036	9037	9048	9071	9072
				9083	9084	9095	9099	9106	9110
(U) AC#				2010 #	3740	3798	4656	4692	4808	4878	4883	5050	5089	5093	5097
				5101	5701	5717	5719	5739	6432	6437	6439	6445	6448	6452	6457
				6461	6465	6466	6467	6472	6473	6474	6476	6477	6503	6505	6507
				6508	6517	6519	6520	6523	6542	6549	6550	6559	6585	6598	6599
				6615	6619	6659	6660	6662	6666	6668	6693	6732	6739	6869	6870
				6876	6877	6912	6913	6920	6921	6922	6969	6976	7054	7056	7067
				7069	7088	7091	7097	7268	7604	7625	7650	7677	7751	8056	8099
				8102	8104	8107	8149	8186	8187	8188	8189	8190	8191	8192	8227
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-2
; 							Cross Reference Listing					

				8229	8230	8243	8257	8261	8267	8269	8278	8283	8301	8325	8344
				8391	8400	8415	8415	8437	8438	8451	8454	8459	8465	8485	8486
				8503	8538	8540	8549	8550	8559	8562	8564	8565	8576	8577	8611
				8613	8627	8628	8675	8678	8679	8680	8681	8689	8714	8716	8721
				8722	8726	8728	8729	8784	8784	8794	8796	8797	8802	8803	8805
				8808	8809	8811	8812	8815	8830	8860	8862	8925	8927	8947	8958
				8960	8961	8965	8966	8973	8974	9006	9009	9549	9551	9584	9601
				9619	9633	9653	9723	9724	9754	9763	9764	9765	9770	9773	9789
				9813	9823	9830	9838	9852	9863	9868	9875	9876	9877	9892	9902
				9903	9914	9929	9940	9946	9955	9966	9970	9980	9992	9997	10001
				10005	10015	10017	10020	10024	10026	10036	10043	10104	10108	10117	10124
				10125	10142	10143	10144	10157	10158	10159	10162	10163	10164	10166	10171
				10173	10183
(U) AC-OP			2017 #
	AC+#			2018 #	8186	8189	8190	8191	8192	8261	8415	8415	8438	8485	8486
				8722	8784	8784	8794	8796	8797	8802	8803	8805	8808	8809	8811
				8812	8815	8860	8862	8947	8958	8960	8961	8965	8966	9006	10157
				10158	10159	10163	10164
	OR			2020 #
	#			2019 #
(U) ACB				2006 #
	MICROB			2008 #	3740	3798	4656	4692	4808	4878	4883	5050	5089	5093	5097
				5101	5701	5717	5719	5739	6432	6437	6439	6445	6448	6452	6457
				6461	6465	6466	6467	6472	6473	6474	6476	6477	6503	6505	6507
				6508	6517	6519	6520	6523	6542	6549	6550	6559	6585	6598	6599
				6615	6619	6659	6660	6662	6666	6668	6693	6732	6739	6869	6870
				6876	6877	6912	6913	6920	6921	6922	6969	6976	7054	7056	7067
				7069	7088	7091	7097	7268	7604	7625	7650	7677	7751	8056	8099
				8102	8104	8107	8149	8187	8188	8227	8229	8230	8243	8257	8267
				8269	8278	8283	8301	8325	8344	8391	8400	8437	8451	8454	8459
				8465	8503	8538	8540	8549	8550	8559	8562	8564	8565	8576	8577
				8611	8613	8627	8628	8675	8678	8679	8680	8681	8689	8714	8716
				8721	8726	8728	8729	8830	8925	8927	8973	8974	9009	9549	9551
				9584	9601	9619	9633	9653	9754	10108	10124	10125	10142	10143	10162
				10166	10171	10173	10183
	PAGB			2007 #	9723	9724	9763	9764	9765	9770	9773	9789	9813	9823	9830
				9838	9852	9863	9868	9875	9876	9877	9892	9902	9903	9914	9929
				9940	9946	9955	9966	9970	9980	9992	9997	10001	10005	10015	10017
				10020	10024	10026	10036	10043	10104	10117	10144
(U) AD				1638 #
	A			1676 #	3740	3813	3817	3822	3824	3833	3835	4020	4023	4524	4628
				4659	4676	4678	4759	4811	4837	4839	5055	5078	5084	5150	5187
				5196	5212	5218	5220	5233	5235	5241	5258	5332	5393	5437	5438
				5439	5440	5442	5451	5452	5453	5454	5462	5508	5512	5519	5550
				5562	5629	5630	5631	5632	5652	5672	5678	5693	5740	5913	5913
				5925	6089	6095	6098	6126	6129	6154	6156	6175	6255	6262	6281
				6290	6296	6299	6340	6343	6356	6358	6377	6379	6384	6388	6401
				6432	6441	6443	6521	6530	6562	6570	6571	6572	6579	6592	6594
				6622	6676	6678	6683	6688	6703	6722	6766	6886	6925	6927	6957
				6959	6962	6966	6972	6978	7048	7053	7059	7062	7097	7101	7140
				7160	7161	7279	7296	7378	7382	7471	7475	7499	7605	7627	7632
				7633	7635	7680	7686	7859	7863	7872	7895	7900	7909	7929	7970
				7972	7980	8018	8064	8076	8078	8085	8201	8210	8219	8221	8300
				8362	8391	8393	8404	8406	8444	8589	8591	8770	8785	8805	8832
				8833	8848	8889	8893	8935	8964	9001	9003	9151	9152	9169	9172
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-3
; 							Cross Reference Listing					

				9174	9176	9187	9189	9195	9214	9220	9254	9260	9301	9310	9323
				9325	9336	9373	9391	9440	9444	9456	9471	9472	9473	9479	9529
				9577	9579	9608	9663	9723	9724	9751	9767	9768	9769	9828	9889
				9934	9941	9996	10118	10120	10123
	A*2			1643 #	4053	5579	6212	6381	6408	6680	6711	6725	6971	7636	8679
				8973	9661
	A*2+1			1644 #	8385
	A+1			1639 #	3729	3797	3992	4539	4540	4636	4641	4806	4874	4876	4895
				5092	5100	5124	5326	5513	6082	6382	6393	6410	6694	6708	6759
				6889	7137	7163	7167	7169	7186	7186	7199	7204	7219	7219	7221
				7221	7271	7284	7284	7592	7597	7602	7730	7732	7744	7750	7788
				7791	7794	7798	7812	7815	7817	7819	7821	7824	7829	7833	7837
				7841	7952	7953	8099	8102	8104	8107	8154	8166	8297	8363	8446
				8525	8555	8580	8760	8764	8768	8795	8798	8799	8803	8869	8897
				8899	8994	9008	9148	9565	9589	9612	9670	9951
	A+B			1647 #	3815	3819	3823	3825	3834	3837	5127	5130	5338	5350	5443
				5456	5458	5543	5548	5566	5594	5597	5598	5601	5611	5625	5628
				5659	5671	5732	5830	6001	6099	6209	6293	6332	6527	6548	6556
				6598	6710	6741	6975	7085	7238	7239	7268	7269	7314	7315	7328
				7329	7333	7624	7650	7684	7688	7692	7694	7762	7861	7865	7874
				7897	7902	7912	7931	7971	7973	7981	8077	8079	8087	8284	8447
				8467	8468	8537	8620	8627	8628	8642	8680	8689	8974	9009	9401
				9407	9439	9505	9632	9823	9838	9863	9914	9946	10175
	A+B+1			1648 #	4588	4589	4613	4804	4809	5337	7190	7225	7288	7327	7604
				8262	8269	8292	8304	8331	8345	8454	8611	8721	8726	8729	8925
				8927
	A+XCRY			1640 #	5399
	A-1			1658 #	4555	4556	4606	4830	4849	5082	5125	5318	7157	7280	7307
				7678	7700	8295	8364	8364	8408	8408	8409	8409	8725	9354	9590
				9600
	A-B			1652 #	3982	4044	4054	4069	5324	5363	5445	5447	5460	5489	5509
				5540	5542	5545	5552	5554	5557	5560	5565	5595	5596	5599	5600
				5614	5626	5627	5661	5712	5715	5730	5746	5750	5812	5997	5999
				6125	6227	6260	6399	6416	6438	6452	6459	6490	6545	6611	6615
				6700	6938	6943	7135	7139	7218	7270	7331	7630	7638	7649	7752
				8229	8254	8278	8281	8457	8481	8519	8523	8586	10162	10171	10173
				10177
	A-B-1			1651 #	6934	7158	7276	8542	8553
	AND			1675 #	4241	4808	4878	4883	5089	5101	5415	5680	6666	6734	6876
				8230	8714	8716	9551	9584	9601	9619	9633	9653	9875	9955	9970
	ANDC			1664 #	4301
	ANDCA			1669 #	4266	4479	4685	5133	6147	6414	6763	8228	8516	9361	10131
	ANDCB			1674 #	4251	4656	4692	4761	5050	5093	5097	5135	6214	6578	6869
				7089	7092	10125
	B			1671 #	3777	3788	3840	3841	3863	3869	3875	3882	3888	3987	3996
				4022	4024	4025	4040	4042	4043	4065	4067	4072	4176	4178	4181
				4184	4187	4191	4205	4574	4605	4654	4668	4669	4684	4689	4696
				4709	4755	4813	4827	4829	4832	4832	4834	4834	4851	4856	4862
				4862	4888	4891	4892	5008	5010	5022	5026	5028	5030	5037	5039
				5041	5043	5046	5072	5075	5085	5088	5167	5178	5205	5207	5207
				5209	5227	5228	5230	5251	5263	5264	5270	5271	5272	5279	5286
				5288	5292	5298	5301	5302	5312	5362	5386	5389	5413	5484	5487
				5490	5495	5616	5647	5649	5653	5677	5690	5691	5694	5701	5703
				5705	5706	5708	5710	5710	5719	5720	5722	5739	5742	5743	5745
				5749	5811	5815	5871	5874	5901	6052	6090	6131	6133	6152	6160
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-4
; 							Cross Reference Listing					

				6162	6165	6208	6258	6274	6283	6283	6292	6298	6300	6301	6311
				6311	6324	6325	6333	6353	6354	6361	6365	6389	6412	6447	6456
				6457	6460	6461	6462	6464	6467	6471	6472	6476	6479	6501	6503
				6507	6508	6515	6518	6519	6520	6524	6525	6526	6540	6544	6546
				6550	6553	6557	6577	6586	6589	6590	6600	6604	6660	6663	6664
				6689	6693	6709	6732	6739	6740	6761	6912	6913	6920	6921	6922
				6926	6937	6942	6944	6954	6967	7050	7056	7064	7069	7073	7075
				7076	7084	7098	7134	7155	7155	7175	7192	7193	7216	7216	7228
				7230	7266	7267	7274	7277	7278	7290	7292	7316	7317	7389	7410
				7412	7413	7414	7415	7416	7417	7419	7426	7428	7429	7430	7431
				7432	7434	7441	7443	7444	7446	7448	7449	7479	7497	7497	7515
				7517	7522	7523	7524	7525	7526	7527	7528	7530	7536	7537	7538
				7539	7540	7541	7543	7549	7550	7551	7553	7555	7556	7677	7695
				7739	7756	7797	7800	7868	7869	7905	7906	7976	7977	7991	7993
				8012	8012	8014	8047	8050	8055	8056	8063	8081	8082	8148	8150
				8156	8164	8167	8182	8186	8187	8188	8191	8222	8227	8242	8244
				8245	8261	8263	8270	8273	8290	8338	8344	8360	8365	8387	8388
				8388	8403	8403	8415	8415	8427	8438	8445	8451	8456	8464	8473
				8479	8504	8506	8513	8515	8527	8529	8551	8559	8563	8565	8576
				8577	8579	8583	8614	8623	8632	8633	8634	8639	8677	8691	8693
				8695	8719	8720	8722	8728	8739	8740	8740	8762	8763	8784	8784
				8796	8797	8826	8837	8842	8846	8850	8860	8862	8878	8914	8932
				8934	8936	8938	8945	8947	8954	8956	8958	8971	8971	8976	8980
				8981	8991	8995	9006	9011	9013	9125	9161	9200	9205	9233	9267
				9313	9326	9356	9357	9359	9360	9426	9468	9527	9555	9559	9564
				9588	9596	9597	9609	9610	9611	9613	9671	9721	9722	9764	9771
				9786	9810	9813	9824	9825	9826	9830	9845	9852	9868	9871	9876
				9886	9892	9893	9902	9903	9916	9929	9940	9966	9980	9997	10005
				10015	10017	10020	10024	10026	10036	10043	10056	10060	10084	10088	10092
				10100	10104	10108	10117	10135	10142	10144	10149	10157	10170
	CRY A EQ -1		1678 #	8630
	CRY A GE B		1681 #	5912	8412
	CRY A#0			1680 #	6123	6374	6672	8335	8522	8986	9010
	CRY A.B#0		1679 #	4475	4760	8681	9130	9132	9960
	EQV			1667 #	4311
	NOR			1665 #	6870
	OR			1672 #	4291	4481	5061	5096	6758	8185	8190	8285	8430	8472	9309
				9362	9384	9877	9964	9992	10166	10176	10180
	ORC			1661 #	4362	5555
	ORCA			1662 #	4352	5567
	ORCB			1668 #	4331	6668	6877
	ORCB+1			1650 #	4744	9134
	SETCA			1660 #	4342	4467	4469	4472	6375	6674	8256	8558	9906
	SETCB			1666 #	4321	5613	5714	6394	6394	6397	6397	6695	6695	6698	6698
				7273	7658	8255	8283	8301	8429	8459	8465	8550	10064	10183
	XCRY-1			1655 #	3899	3900	5129	5253	5255	5275	5276	5285	5402	5682	5747
				5821	5822	6066	6086	6092	6276	6279	6510	6512	6729	7058	7065
				7079	7753	7755	8483
	XOR			1670 #	4281	4480	4507	5260	5262	5290	6265	6587	8361	8400	9629
	0S			1673 #	4055	4079	4081	4211	4224	4682	4725	4756	4774	5080	5168
				5169	5239	5296	5328	5394	5396	5434	5434	5467	5517	5663	5663
				5670	5717	5802	5870	5926	6097	6189	6297	6329	6329	6404	6404
				6445	6542	6554	6554	6565	6705	6705	7392	7394	7573	7593	7626
				7641	7642	7734	7737	7746	7749	7996	7997	8257	8328	8390	8437
				8437	8442	8442	8616	8616	8621	8926	9319	9334	9365	9371	9375
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-5
; 							Cross Reference Listing					

				9379	9382	9417	9417	9420	9428	9445	9448	9457	9469	9484	9507
				9514	9516	9518	9520	9570	9607	9624	9630	9660	9765	9781	10133
				10161
	1S			1663 #	3731	3775	3783	3844	4203	4212	4218	4226	4372	4603	4604
				4649	6192	6574	7310	7326	7381	7386	7474	7484	7599	7740	7751
				7870	7871	7907	7908	7922	7923	7968	7978	7979	8065	8083	8084
				8109	8260	8265	8448	8449	8549	8759	8774	8813	8816	8825	10080
(U) ADA				1684 #
	AR			1685 #	3740	3797	3833	3834	3835	3837	4020	4023	4053	4241	4251
				4266	4281	4291	4301	4311	4331	4342	4352	4362	4475	4479	4480
				4481	4507	4524	4539	4540	4555	4556	4606	4628	4659	4676	4760
				4761	4808	4811	4830	4839	4849	4878	4883	5061	5089	5096	5127
				5130	5133	5135	5150	5187	5196	5218	5235	5260	5290	5350	5363
				5393	5399	5415	5437	5438	5439	5440	5442	5443	5445	5447	5451
				5452	5453	5454	5456	5458	5460	5462	5508	5512	5540	5543	5548
				5550	5560	5562	5579	5594	5595	5596	5597	5598	5599	5600	5601
				5611	5614	5625	5626	5627	5628	5659	5661	5671	5680	5730	5732
				5830	5925	5999	6001	6099	6126	6129	6175	6209	6212	6214	6265
				6293	6299	6332	6343	6377	6379	6381	6382	6384	6393	6401	6408
				6414	6443	6452	6490	6527	6545	6548	6556	6570	6571	6572	6579
				6587	6598	6615	6666	6668	6676	6678	6680	6683	6694	6703	6710
				6711	6722	6725	6734	6763	6766	6869	6870	6876	6877	6889	6925
				6927	6934	6938	6943	6962	6966	6971	6972	6975	6978	7048	7059
				7062	7085	7088	7091	7101	7135	7239	7268	7328	7378	7382	7471
				7475	7605	7627	7633	7636	7638	7650	7686	7688	7692	7788	7791
				7794	7798	7812	7815	7817	7819	7821	7824	7829	7833	7837	7841
				7859	7861	7863	7865	7895	7897	7900	7902	7952	7953	7970	7971
				7972	7973	8064	8076	8077	8078	8079	8219	8228	8229	8254	8281
				8284	8285	8297	8304	8361	8364	8400	8408	8409	8447	8457	8467
				8468	8472	8516	8522	8537	8542	8555	8580	8620	8627	8628	8642
				8679	8680	8681	8689	8714	8716	8725	8760	8764	8768	8770	8795
				8798	8803	8805	8833	8869	8889	8893	8897	8899	8927	8935	8973
				8974	8986	8994	9001	9003	9009	9010	9130	9132	9148	9151	9152
				9169	9172	9174	9176	9187	9189	9195	9214	9220	9254	9260	9301
				9309	9310	9323	9325	9362	9373	9391	9401	9407	9439	9444	9456
				9471	9472	9473	9479	9505	9551	9565	9577	9579	9589	9590	9600
				9612	9629	9632	9633	9663	9670	9723	9724	9767	9823	9828	9838
				9863	9875	9877	9889	9914	9941	9955	9960	9964	9970	9992	10131
				10166	10171	10175	10176	10180
	ARX			1686 #	3813	3815	3817	3819	3822	3823	3824	3825	4656	4678	4692
				4837	5050	5055	5093	5101	5125	5212	5220	5233	5241	5258	5554
				5566	5913	6123	6262	6441	6521	6530	6741	6758	7137	7139	7314
				7329	7624	7635	7684	7694	7752	7762	7872	7874	7909	7912	7929
				7931	7980	7981	8085	8087	8099	8102	8104	8107	8154	8166	8185
				8190	8210	8295	8300	8335	8393	8404	8406	8430	8553	8558	8799
				8832	9361	9584	9601	9619	9653	9934	9946	9996	10125	10177
	MQ			1687 #	3729	5262	5519	5555	5567	5629	5630	5631	5632	5672	5678
				5693	5740	6098	6156	6296	6340	6356	6358	6374	6375	6562	6578
				6592	6594	6622	6672	6674	6886	7140	7157	7158	7160	7161	7186
				7218	7219	7221	7276	7279	7280	7284	7296	7307	7499	7678	7680
				8018	8221	8230	8362	8363	8385	8391	8589	8591	8630	8785	8964
				9336	9440	9608	9661
	PC			1688 #	4636	4641	4759	4806	4874	4876	4895	5078	5084	5097	5100
				8201	9751	9769	10118	10120	10123
(U) ADA EN			1689 #
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-6
; 							Cross Reference Listing					

	EN			1690 #	4685	5318	5324	5332	5337	5338	5652	5913	6089	6095	6154
				6255	6281	6290	6388	6432	6688	6957	6959	7053	7097	7163	7167
				7169	7186	7199	7204	7219	7221	7238	7269	7271	7284	7315	7333
				7597	7602	7604	7632	7700	8256	8364	8408	8409	8444	8848	9384
				9529	9768	9906
	0S			1691 #	3982	3992	4044	4054	4069	4588	4589	4613	4744	4804	4809
				5082	5092	5124	5326	5489	5509	5513	5542	5545	5552	5557	5565
				5712	5715	5746	5750	5812	5912	5997	6082	6125	6147	6227	6260
				6399	6410	6416	6438	6457	6459	6461	6467	6472	6476	6503	6507
				6508	6519	6520	6550	6611	6660	6700	6708	6732	6739	6759	6912
				6913	6920	6921	6922	7190	7225	7270	7288	7327	7331	7592	7630
				7649	7730	7732	7744	7750	8227	8262	8269	8278	8292	8331	8345
				8412	8446	8454	8481	8519	8523	8525	8559	8586	8611	8721	8726
				8729	8925	9008	9134	9354	9951	10162	10173
(U) ADB				1693 #
	AR*4			1697 #	4054	4744	5324	5542	5545	5701	5812	5874	5997	6125	6131
				6133	6147	6152	6165	6227	6260	6416	6438	6462	6471	6611	6709
				6944	7752	8447	8456	8467	8523	8537	8550	8553	8620	8634	8642
				8842	8846	8850	8878	9326	9359	9360	9555	9559	9596	9611	9721
				9722
	BR			1696 #	3982	4022	4024	4044	4069	4669	4684	4685	4755	4760	4761
				4813	4851	4892	5008	5010	5022	5026	5028	5030	5037	5039	5041
				5043	5046	5061	5072	5085	5088	5096	5260	5262	5263	5264	5279
				5288	5290	5292	5298	5301	5302	5337	5338	5363	5415	5443	5447
				5456	5460	5489	5490	5540	5543	5548	5552	5554	5557	5560	5565
				5566	5594	5595	5596	5597	5598	5599	5600	5601	5611	5614	5625
				5626	5627	5628	5659	5661	5671	5680	5690	5694	5710	5710	5712
				5714	5715	5720	5722	5730	5732	5745	5746	5749	5750	5912	6090
				6099	6208	6209	6214	6283	6283	6293	6311	6311	6332	6389	6394
				6394	6397	6397	6399	6412	6414	6456	6459	6460	6490	6515	6527
				6544	6545	6548	6556	6577	6578	6586	6689	6695	6695	6698	6698
				6700	6710	6734	6740	6741	6758	6761	6763	6934	6937	6938	6942
				6943	6975	7056	7069	7075	7085	7135	7139	7155	7155	7158	7175
				7190	7216	7216	7218	7225	7238	7268	7269	7270	7273	7274	7276
				7288	7314	7315	7327	7331	7333	7604	7630	7638	7649	7658	7684
				7688	7692	7694	7695	7739	7756	7762	7800	8050	8055	8056	8063
				8167	8185	8190	8191	8222	8228	8254	8255	8262	8281	8284	8292
				8304	8331	8361	8387	8403	8403	8412	8430	8451	8464	8468	8473
				8479	8481	8516	8519	8542	8583	8586	8614	8623	8639	8938	8956
				8958	8995	9130	9132	9134	9161	9200	9205	9233	9267	9309	9313
				9356	9357	9361	9362	9384	9401	9407	9426	9439	9468	9505	9609
				9610	9613	9629	9632	9671	9764	9786	9824	9826	9886	9960	9964
				10060	10084	10131	10149	10175	10177
	BR*2			1695 #	5286	5445	5458	5706	5815	5830	5999	6001	6160	6162	8529
				9771
	FM			1694 #	3777	3788	3815	3819	3823	3825	3834	3837	3840	3841	3863
				3869	3875	3882	3888	3987	3996	4025	4040	4042	4043	4065	4067
				4072	4176	4178	4181	4184	4187	4191	4205	4241	4251	4266	4281
				4291	4301	4311	4321	4331	4352	4362	4475	4479	4480	4481	4507
				4574	4588	4589	4605	4613	4654	4656	4668	4689	4692	4696	4709
				4804	4808	4809	4827	4829	4832	4832	4834	4834	4856	4862	4862
				4878	4883	4888	4891	5050	5075	5089	5093	5097	5101	5127	5130
				5133	5135	5167	5178	5205	5207	5207	5209	5227	5228	5230	5251
				5270	5271	5272	5312	5350	5362	5386	5389	5413	5484	5487	5495
				5509	5555	5567	5613	5616	5647	5649	5653	5677	5691	5703	5705
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-7
; 							Cross Reference Listing					

				5708	5719	5739	5742	5743	5811	5871	5901	6052	6258	6265	6274
				6292	6298	6300	6301	6324	6325	6333	6353	6354	6361	6365	6447
				6452	6457	6461	6464	6467	6472	6476	6479	6501	6503	6507	6508
				6518	6519	6520	6524	6525	6526	6540	6546	6550	6553	6557	6587
				6589	6590	6598	6600	6604	6615	6660	6663	6664	6666	6668	6693
				6732	6739	6869	6870	6876	6877	6912	6913	6920	6921	6922	6926
				6954	6967	7050	7064	7073	7076	7084	7088	7091	7098	7134	7192
				7193	7228	7230	7239	7266	7267	7277	7278	7290	7292	7316	7317
				7328	7329	7389	7410	7412	7413	7414	7415	7416	7417	7419	7426
				7428	7429	7430	7431	7432	7434	7441	7443	7444	7446	7448	7449
				7479	7497	7497	7515	7517	7522	7523	7524	7525	7526	7527	7528
				7530	7536	7537	7538	7539	7540	7541	7543	7549	7550	7551	7553
				7555	7556	7624	7650	7677	7797	7861	7865	7868	7869	7874	7897
				7902	7905	7906	7912	7931	7971	7973	7976	7977	7981	7991	7993
				8012	8012	8014	8047	8077	8079	8081	8082	8087	8148	8150	8156
				8164	8182	8186	8187	8188	8227	8229	8230	8242	8244	8245	8261
				8263	8269	8270	8273	8278	8283	8285	8290	8301	8338	8344	8345
				8360	8365	8388	8388	8400	8415	8415	8427	8429	8438	8445	8454
				8457	8459	8465	8472	8504	8506	8513	8515	8527	8551	8559	8563
				8565	8576	8577	8579	8611	8627	8628	8632	8633	8677	8680	8681
				8689	8691	8693	8695	8714	8716	8719	8720	8721	8722	8726	8728
				8729	8739	8740	8740	8762	8763	8784	8784	8796	8797	8826	8837
				8860	8862	8914	8925	8927	8932	8934	8936	8945	8947	8954	8971
				8971	8974	8976	8980	8981	8991	9006	9009	9011	9013	9125	9527
				9551	9564	9584	9588	9597	9601	9619	9633	9653	9810	9813	9823
				9825	9830	9838	9845	9852	9863	9868	9871	9875	9876	9877	9892
				9893	9902	9903	9914	9916	9929	9940	9946	9955	9966	9970	9980
				9992	9997	10005	10015	10017	10020	10024	10026	10036	10043	10056	10064
				10088	10092	10100	10104	10108	10117	10125	10135	10142	10144	10157	10162
				10166	10170	10171	10173	10176	10180	10183
(U) AR				1705 #
	AD			1710 #	3729	3797	3813	3815	3817	3819	3822	3823	3824	3825	3863
				3899	3900	3982	3987	3996	4022	4024	4025	4055	4065	4067	4079
				4081	4178	4181	4187	4205	4211	4212	4224	4226	4241	4251	4266
				4281	4291	4301	4311	4321	4331	4342	4352	4362	4372	4479	4480
				4481	4539	4540	4555	4556	4574	4588	4589	4603	4604	4605	4606
				4613	4656	4668	4669	4682	4725	4759	4761	4774	4806	4808	4827
				4829	4830	4874	4876	4878	4883	4888	4891	4895	5050	5061	5078
				5080	5093	5096	5097	5101	5127	5130	5167	5169	5178	5207	5212
				5220	5228	5233	5241	5251	5253	5255	5258	5263	5264	5271	5272
				5275	5276	5285	5286	5288	5301	5312	5350	5362	5363	5389	5394
				5396	5402	5413	5434	5495	5517	5519	5552	5565	5598	5599	5600
				5601	5611	5614	5629	5630	5631	5632	5653	5659	5661	5663	5671
				5672	5677	5678	5682	5690	5693	5694	5703	5708	5712	5714	5715
				5719	5720	5722	5739	5740	5742	5743	5745	5746	5747	5749	5750
				5811	5815	5821	5822	5871	5901	6052	6066	6090	6092	6097	6098
				6099	6131	6160	6189	6208	6209	6274	6276	6279	6283	6292	6293
				6296	6300	6301	6311	6324	6325	6329	6332	6333	6340	6356	6358
				6361	6365	6375	6382	6389	6393	6394	6397	6399	6404	6445	6447
				6452	6456	6457	6459	6460	6461	6464	6467	6472	6476	6501	6503
				6507	6508	6510	6512	6515	6518	6520	6521	6524	6525	6526	6527
				6530	6542	6544	6545	6546	6548	6550	6553	6554	6556	6557	6562
				6577	6586	6592	6594	6598	6600	6604	6615	6622	6660	6664	6666
				6668	6674	6689	6694	6695	6698	6700	6705	6710	6729	6732	6734
				6739	6740	6741	6758	6869	6870	6876	6877	6886	6912	6913	6920
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-8
; 							Cross Reference Listing					

				6921	6922	6937	6942	6943	6975	7056	7058	7065	7069	7073	7075
				7079	7085	7088	7091	7098	7134	7135	7139	7157	7190	7225	7239
				7266	7268	7288	7314	7328	7331	7392	7394	7499	7641	7642	7650
				7677	7680	7684	7688	7692	7694	7739	7751	7753	7755	7762	7794
				7798	7824	7829	7833	7837	7841	7953	7996	7997	8018	8050	8055
				8063	8148	8150	8154	8156	8164	8166	8167	8182	8185	8186	8190
				8210	8227	8229	8230	8244	8245	8254	8255	8257	8261	8263	8265
				8269	8270	8273	8278	8281	8283	8284	8285	8290	8297	8301	8328
				8338	8344	8345	8360	8387	8388	8391	8400	8403	8404	8406	8415
				8427	8429	8430	8437	8442	8445	8446	8449	8451	8454	8459	8464
				8465	8467	8472	8473	8479	8481	8483	8504	8506	8513	8516	8519
				8527	8549	8551	8565	8577	8579	8580	8583	8586	8589	8591	8611
				8614	8616	8621	8623	8628	8639	8677	8680	8693	8695	8716	8719
				8720	8722	8725	8726	8728	8729	8739	8740	8760	8763	8764	8768
				8784	8785	8795	8797	8798	8799	8803	8860	8862	8869	8897	8899
				8914	8926	8934	8938	8958	8964	8971	8980	8991	8994	9006	9011
				9013	9148	9161	9200	9205	9233	9267	9313	9319	9334	9356	9361
				9362	9365	9375	9379	9401	9407	9417	9420	9426	9428	9439	9445
				9448	9457	9468	9469	9484	9505	9507	9514	9516	9518	9520	9555
				9559	9565	9570	9589	9590	9596	9607	9608	9611	9624	9630	9632
				9660	9764	9765	9781	9786	9813	9824	9830	9868	9875	9876	9877
				9892	9903	9929	9951	9955	9964	9966	9970	9980	9992	9996	9997
				10015	10056	10060	10064	10084	10088	10092	10100	10104	10117	10118	10120
				10125	10133	10142	10144	10149	10157	10161	10166	10170	10171	10173	10175
				10176	10177	10180	10183
	AD*.25			1715 #	4054	5442	5443	5445	5447	5456	5458	5460	5462	5542	5545
				5550	5562	5812	5830	5913	5925	5997	6125	6126	6156	6175	6212
				6227	6260	6377	6379	6381	6401	6408	6416	6438	6571	6611	6676
				6678	6680	6703	6711	6722	6725	6962	6971	6972	8523	8525	8529
				8553	8620	8679	8973	9721	9722	9934
	AD*2			1713 #	3740	5270	5437	5438	5439	5440	5451	5452	5453	5454	5484
				5540	5543	5548	5560	5594	5595	5596	5597	5625	5626	5627	5628
				5649	5730	5732	6129	6133	6148	6152	6162	6165	6258	6353	6354
				6384	6462	6471	6479	6540	6570	6572	6589	6590	6663	6683	6944
				7638	8447	8468	8537	8642	8842	8850	8878	9008	9479	9661
	ADX			1714 #	4685	5088	5298	5337	5338	5489	5490	5710	6095	6154	6281
				6290	6388	6688	7238	7269	7327	7333	7604	7632	7695	7756	8056
				8256	8262	8292	8304	8331	8364	8408	8409	8412	8956	8995	9309
				9610	9613	9671	10131
	AR			1706 #	3992	4176	4188	4201	4203	4684	4694	4845	5124	5129	7175
				9123	9252	9299	9371	9454	10129
	ARMM			1707 #	3942	4716	4890	5095	5108	5109	5110	6213	6409	6489	6543
				6597	6733	6755	6933	6935	6941	6974	7055	7068	7600	7730	7732
				7734	7737	7740	7744	7746	7749	7750	7763	7799	7811	7814	7822
				7823	7830	7834	7838	7842	8058	8253	8433	8438	8441	8552	8643
				8706	8707	8708	8709	8710	8711	8731	8778	8800	8802	8871	8909
				9015	9231	9234	9335	9347	9360	9418	9574	9623	9675	9936	10004
				10006	10128	10158
	CACHE			1709 #	9286
	EBUS			1711 #	3744	3746	4776	5082	9172	9227	9257	9258	9304	9306	9308
				9354	9364	9377	9381	9431	9432	9433	9434	9447	9449	9459	9478
				9487	9488	9489	9490	9740	9755
	MEM			1708 #	3869	3882	3888	4654	4689	4696	4832	4834	4856	4862	6926
				6967	7050	7064	7192	7193	7228	7230	7277	7278	7290	7292	7316
				7317	7446	7497	7522	7523	7524	7525	7526	7527	7528	7530	7536
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-9
; 							Cross Reference Listing					

				7537	7538	7539	7540	7541	7543	7549	7550	7551	7555	7556	7797
				7991	7993	8012	8014	8242	8365	8563	8632	8691	8837	8936	8945
				8976	8981	9125	9564	9588	9597	9810	9825	9845	9871	9893	9916
				10135
	SH			1712 #	3774	3808	3844	3904	3927	3971	4044	4046	4053	4073	4184
				4191	4192	4217	4218	4469	4472	4474	4667	4720	4756	4814	4819
				4821	4892	5085	5098	5103	5180	5183	5197	5209	5214	5218	5239
				5243	5292	5296	5302	5315	5317	5388	5392	5398	5401	5507	5511
				5688	5689	5691	5701	5704	5706	5748	5800	5827	5865	5911	6123
				6286	6288	6289	6297	6298	6385	6387	6405	6412	6468	6473	6519
				6685	6687	6706	6760	6888	6890	6945	6976	7076	7081	7084	7137
				7140	7267	7330	7501	7502	7625	7686	7801	7922	8004	8021	8023
				8065	8099	8102	8104	8107	8218	8266	8336	8390	8448	8450	8484
				8517	8538	8540	8564	8622	8637	8703	8732	8765	8770	8805	8826
				8831	8832	8833	8838	8857	8861	8883	8893	8918	8952	8960	9000
				9001	9002	9003	9213	9259	9323	9325	9357	9385	9471	9472	9508
				9622	9625	9723	9724	9739	9768	9770	9773	9789	9823	9826	9854
				9863	9941	9946	10005	10017	10020	10023	10025	10122	10162	10164	10168
(U) AR CTL			2054 #	5514
	AR0-8 LOAD		2055 #	6213	6409
	AR9-17 LOAD		2056 #
	ARL LOAD		2058 #
	ARR LOAD		2057 #	9231
(U) AR0-8			2029 #
	LOAD			2030 #	3993	5048	5072	5579	5802	5814	5866	5870	5872	5996	6053
				6252	6310	6337	6341	6970	6977	7082	7602	7693	7700	7752	7779
				7794	7796	7953	8028	8209	8258	8297	8299	8440	8514	8557	8754
				8761	8767	8791	8870	8903	8904	8994	9359	9679	9757	9766	9767
				9788	10154
(U) ARL				2044 #
	AD			2048 #	3992	4067	4176	4184	4191	4203	4218	4684	4892	5085	5092
				5129	5251	5487	5509	5519	6052	6283	6356	6358	6592	6594	7140
				7800	8109	8504	8589	8591	9357
	AD*.25			2053 #
	AD*2			2051 #	5484	5549	5561	5649
	ADX			2052 #	7631	9384	9768
	ARL			2045 #	3996	4178	4192	4224	4226	5098	5388	7134	7628	7684	9259
				9309	9323
	ARMM			2046 #	3993	5048	5072	5579	5802	5814	5866	5870	5872	5996	6053
				6252	6310	6337	6341	6728	6970	6977	7082	7602	7693	7700	7752
				7779	7794	7796	7953	8028	8209	8258	8297	8299	8440	8514	8557
				8754	8761	8767	8791	8870	8903	8904	8994	9359	9679	9757	9766
				9767	9788	10154
	CACHE			2047 #
	EBUS			2049 #
	SH			2050 #	4181	4187	4188	4211	4212	4694	4895	5124	5315	5392	5827
				6123	6286	7175	7688	7694	9123	9233	9252	9299	9371	9451	9454
				9905	10129
(U) ARMM			1790 #
	EXP_SIGN		1792 #	5802	5814	5866	5870	5872	5996	6053	6252	6310	6337	6977
				7082
	SCAD EXP		1793 #	6213	6341	6409	6728	6970	8028	8058	8209	8258	8438	8440
				8441	8514	8557	9574	9623	9675	9766	9767	9788	10004
	SCAD POS		1794 #	3993	5048	5072	5579	6755	7600	7602	7693	7700	7730	7732
				7734	7737	7740	7744	7746	7749	7750	7752	7763	7779	7794	7796
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-10
; 							Cross Reference Listing					

				7799	7811	7814	7822	7823	7830	7834	7838	7842	7953	8297	8299
				8643	8706	8707	8708	8709	8710	8711	8731	8754	8761	8767	8778
				8791	8800	8802	8870	8871	8903	8904	8909	8994	9015	9359	9679
				9757	10006	10154	10158
	#			1791 #	3942	5108	5109	5110	6489	6543	6597	6733	6933	6935	6941
				6974	7055	7068	8253	8433	8552	9234	9335	9347	9418	9936
(U) ARX				1716 #
	AD			1720 #	3731	3777	3783	4053	4072	4636	4641	4657	4692	4756	4804
				4809	4849	5082	5100	5124	5150	5168	5178	5187	5196	5205	5209
				5218	5227	5230	5235	5239	5279	5296	5328	5386	5434	5487	5509
				5647	5663	5691	5705	5706	5710	5717	5802	5870	5926	6086	6192
				6297	6298	6329	6404	6410	6519	6554	6574	6705	6759	7057	7084
				7134	7135	7137	7267	7310	7326	7329	7515	7517	7573	7593	7624
				7626	7627	7636	7686	7734	7737	7740	7744	7746	7749	7750	7752
				8047	8187	8188	8201	8228	8260	8295	8301	8364	8388	8390	8408
				8409	8415	8437	8438	8442	8448	8515	8550	8555	8576	8616	8633
				8714	8740	8760	8762	8770	8784	8796	8805	8825	8826	8862	8947
				8971	9323	9354	9371	9382	9417	9551	9577	9584	9601	9619	9633
				9653	9723	9724	9767	9769	9826	9902	9941	10017	10020	10024	10026
				10080	10123	10126	10162
	ADX			1724 #	4755	5008	5010	5022	5026	5028	5030	5037	5039	5041	5043
				5046	5072	5286	5292	5302	5318	5557	5598	5599	5600	5601	5611
				5614	5659	5661	5671	5712	5714	5715	5720	5722	5745	5746	6131
				6160	6214	6283	6293	6311	6332	6382	6394	6397	6399	6412	6414
				6515	6527	6556	6577	6695	6698	6700	6709	6710	6761	6763	7155
				7163	7167	7169	7175	7186	7199	7204	7216	7219	7221	7270	7271
				7273	7284	7315	7597	7602	7630	7649	7658	7700	8191	8262	8292
				8331	8403	8451	8464	8467	8473	8479	8481	8525	8580	8583	8586
				8614	8623	8639	8846	9439	9505	9609	10060	10084
	ADX*.25			1725 #	4054	5442	5443	5445	5447	5456	5458	5460	5462	5542	5545
				5550	5562	5830	5913	5925	5997	6082	6125	6126	6175	6260	6377
				6379	6381	6401	6408	6416	6438	6571	6611	6676	6678	6680	6703
				6711	6722	6725	6962	8385	8523	8529	8620	8679	8973	9721	9722
	ADX*2			1723 #	5324	5326	5332	5437	5438	5439	5440	5451	5452	5453	5454
				5541	5544	5548	5560	5594	5595	5596	5597	5625	5626	5627	5628
				5652	5701	5730	5732	5749	5750	6089	6129	6133	6148	6152	6162
				6165	6255	6384	6432	6570	6572	6683	6708	6957	6959	7053	7097
				7592	7599	7638	7730	7732	8444	8468	8537	8642	8848	9359	9360
				9529	9906
	ARX			1717 #
	CACHE			1719 #
	MEM			1718 #	3788	3840	3841	4043	4832	4834	4862	5075	6954	7497	7868
				7869	7905	7906	7976	7977	8012	8081	8082
	MQ			1721 #	4044	4837	4839	5102	5197	5212	5214	5220	5233	5241	5243
				5259	5301	5507	5511	5513	5612	5615	5689	5821	5827	6282	6286
				6289	6292	6361	6387	6389	6600	6687	6689	7685	7689	7695	8076
				8077	8085	8088	8401	8878
	SH			1722 #	3808	3987	4067	4653	4737	4888	5097	5169	5253	5255	5261
				5271	5272	5275	5276	5288	5300	5489	5490	5495	5517	5519	5653
				5690	5694	5702	5708	5719	5822	5824	5825	6065	6092	6098	6156
				6274	6276	6279	6365	6508	6510	6512	6514	6521	6526	6604	6664
				6729	6731	6744	6746	6930	6968	7065	7079	7139	7328	7373	7376
				7392	7394	7466	7469	7499	7501	7632	7634	7642	7692	7753	7755
				7756	7797	7804	7996	7997	8018	8021	8029	8050	8210	8217	8254
				8257	8290	8328	8360	8386	8404	8406	8457	8506	8513	8579	8621
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-11
; 							Cross Reference Listing					

				8634	8692	8694	8758	8763	8774	8794	8797	8812	8815	8836	8892
				8914	8920	8991	9258	9305	9307	9346	9348	9365	9379	9383	9448
				9469	9484	9514	9516	9518	9520	9608	9624	9652	9661	9680	9773
				9815	9825	9909	9934	9950	9995	10118	10120	10176
(D) B				2269 #	3949	3967	4014	4015	4032	4033	4061	4271	4272	4793	4794
				5637	5638	5639	6245	6246	6247	6248	6423	6424	6425	6426	7569
				8121	8126	8127	8128	8129	8131	8132	8133	8134	9026	9028	9029
				9030	9037	9039	9040	9041	9048	9050	9051	9052	9071	9072	9073
				9074	9075	9076	9083	9084	9087	9088	9095	9097	9098	9099	9106
				9108	9109	9110
	AC			2273 #	3947	3948	3952	3953	3957	3958	3962	3963	4087	4088	4092
				4093	4097	4098	4102	4103	4107	4108	4112	4113	4117	4118	4122
				4123	4129	4130	4134	4135	4139	4140	4144	4145	4149	4150	4154
				4155	4159	4160	4164	4165	4229	4230	4234	4235	4244	4245	4254
				4255	4259	4260	4274	4275	4284	4285	4294	4295	4304	4305	4314
				4315	4324	4325	4335	4336	4345	4346	4355	4356	4365	4366	4395
				4404	4413	4422	4431	4440	4593	4597	4767	5343	5344	5355	5356
				5368	5369	6899	7368	7369
	BOTH			2275 #	4232	4237	4247	4262	4277	4287	4297	4307	4317	4327	4338
				4348	4358	4368	5346	5358	5371
	DBL AC			2270 #	5406	5407	5472	5473	5477	5478
	DBL BOTH		2271 #	5409	5475	5480
	MEM			2274 #	3954	3959	3964	4089	4094	4099	4104	4109	4114	4119	4124
				4131	4136	4146	4151	4156	4161	4166	4231	4236	4246	4261	4276
				4286	4296	4306	4316	4326	4337	4347	4357	4367	5345	5357	5370
				5408	5474	5479	7461	7462	9036
	SELF			2272 #	3955	3960	3965	4095	4100	4105	4110	4115	4120	4125	4137
				4142	4147	4152	4157	4162	4167
	SJC-			2277 #
	SJCA			2281 #	4517	4532	4548
	SJCE			2279 #	4488	4498	4515	4530	4546	4564	4579	4595	8118
	SJCG			2284 #	4493	4503	4520	4535	4551	4569	4584	4600	8124
	SJCGE			2282 #	4491	4501	4518	4533	4549	4567	4582	4598	4609	8122
	SJCL			2278 #	4487	4497	4514	4529	4545	4563	4578	4594	4610	8117
	SJCLE			2280 #	4489	4499	4516	4531	4547	4565	4580	4596	8119
	SJCN			2283 #	4492	4502	4519	4534	4550	4568	4583	4599	8123
(D) B0				2285 #	5757	5763	5764	5766	5767	5768	5769	5771	5777	5778	5780
				5781	5782	5783	5836	5842	5843	5846	5880	5886	5887	5890
	CRY0(0)			2286 #	4379	4380	4381	4382	4388	4389	4390	4391	4397	4398	4399
				4400	4406	4407	4408	4409	4415	4416	4417	4418	4424	4425	4426
				4427	4433	4434	4435	4436	4442	4443	4444	4445	4490	4500	9031
				9042	9047	9053	9077	9089	9094	9096	9100	9105	9107	9111
	CRY0(1)			2287 #	4383	4384	4392	4393	4396	4401	4402	4405	4410	4411	4414
				4419	4420	4423	4428	4429	4432	4437	4438	4441	4446	4447	4749
				9032	9043	9054	9078	9090	9101	9112
(D) B1-2			2288 #	4379	4380	4381	4382	4383	4384	4388	4389	4390	4391	4392
				4393	4396	4397	4398	4399	4400	4401	4402	4405	4406	4407	4408
				4409	4410	4411	4414	4415	4416	4417	4418	4419	4420	4423	4424
				4425	4426	4427	4428	4429	4432	4433	4434	4435	4436	4437	4438
				4441	4442	4443	4444	4445	4446	4447	4490	4500	4749	9031	9032
				9042	9043	9047	9053	9054	9077	9078	9089	9090	9094	9096	9100
				9101	9105	9107	9111	9112
	AC			2289 #	5757	5766	5767	5771	5780	5781	5836	5845	5846	5880	5889
				5890	6014	6060
	BOTH			2291 #	5764	5769	5778	5783	5843	5848	5887	5892
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-12
; 							Cross Reference Listing					

	MEM			2290 #	5763	5768	5777	5782	5842	5847	5886	5891
(U) BR				1726 #
	AR			1727 #	3863	3869	3875	3882	3888	3942	3974	3977	4054	4649	4682
				4759	4771	4806	4827	4891	5050	5094	5258	5275	5285	5286	5362
				5394	5396	5434	5484	5487	5612	5615	5649	5688	5704	5706	5710
				5712	5714	5715	5720	5722	5745	5746	5811	5815	5901	6089	6090
				6152	6165	6189	6192	6258	6262	6266	6311	6375	6387	6441	6443
				6448	6455	6488	6511	6515	6520	6525	6544	6546	6553	6574	6577
				6588	6674	6681	6687	6727	6739	6740	6741	6932	6937	6939	6942
				6973	7052	7066	7073	7075	7134	7137	7141	7192	7228	7267	7290
				7316	7328	7599	7625	7678	7680	7690	7798	8201	8220	8227	8231
				8245	8278	8360	8365	8402	8411	8433	8446	8454	8464	8514	8516
				8518	8525	8527	8583	8586	8610	8933	8934	8938	8952	9123	9147
				9211	9221	9252	9255	9283	9299	9303	9319	9360	9361	9364	9371
				9375	9420	9443	9445	9454	9457	9523	9525	9623	9764	9789	9811
				9824	9867	9953	10023	10025	10043	10144	10173	10183
(U) BRX				1728 #
	ARX			1729 #	3774	4054	4656	5076	5279	5285	5288	5301	5326	5328	5394
				5396	5434	5495	5517	5519	5552	5553	5564	5565	5579	5612	5615
				5653	5702	5710	5712	5714	5715	5720	5722	5745	5746	5811	5901
				6090	6152	6165	6189	6192	6258	6262	6266	6311	6375	6410	6415
				6511	6515	6522	6525	6553	6574	6577	6588	6674	6681	6727	7135
				7175	7190	7203	7206	7225	7266	7274	7288	7310	7599	7625	7627
				7630	7690	7740	7753	8219	8227	8258	8301	8325	8365	8402	8411
				8446	8454	8464	8515	8525	8527	8583	8586	8610	8933	8977	9307
				9382	9523	9525	9558	9609	9668	10126
(U) CALL			1915 #
	CALL			1916 #	3732	4043	4068	4630	4633	4634	4636	4637	4639	4683	4688
				4693	4757	4775	4811	4850	5049	5054	5055	5073	5077	5081	5083
				5289	5395	5397	5414	5485	5488	5549	5551	5556	5561	5563	5568
				5651	5670	5678	5695	5718	5734	5740	5873	5902	5903	6254	6274
				6331	6340	6353	6354	6357	6359	6367	6431	6436	6440	6444	6447
				6454	6459	6465	6474	6501	6504	6516	6522	6547	6551	6555	6558
				6566	6576	6586	6589	6590	6593	6595	6605	6614	6622	6931	6961
				7052	7074	7100	7136	7156	7217	7238	7374	7381	7386	7388	7467
				7576	7639	7641	7691	7868	7905	7976	8081	8148	8149	8156	8182
				8183	8186	8187	8211	8242	8243	8269	8272	8291	8326	8329	8337
				8344	8389	8399	8416	8427	8428	8455	8503	8528	8549	8563	8564
				8578	8585	8588	8636	8675	8754	8771	8784	8786	8806	8824	8916
				8926	8972	8974	8978	8993	9009	9012	9119	9125	9140	9162	9211
				9219	9221	9226	9230	9232	9252	9255	9281	9300	9303	9319	9324
				9335	9336	9346	9353	9355	9363	9372	9375	9380	9390	9391	9419
				9426	9438	9443	9445	9455	9457	9469	9479	9504	9528	9578	9595
				9596	9597	9600	9607	9611	9612	9628	9631	9638	9643	9648	9659
				9660	9663	9664	9669	9670	9672	9678	9679	10119	10128	10148
(U) CLR				2031 #
	AR			2036 #	4641	5094	6574	7270	8300	8555	10127
	AR+ARX			2037 #
	AR+ARX+MQ		2040 #	6173	7078	8326	8675
	AR+MQ			2038 #	5227	6681	8457
	ARL			2034 #	4201	4205	4217	4834	4845	8101	8634	8637	8831	8892	8914
				8934	8991	9147	9461	9815	9816	9817	9908	9909	9924
	ARL+ARX			2041 #	9437	9503
	ARL+ARX+MQ		2042 #
	ARR			2035 #	5509	9384
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-13
; 							Cross Reference Listing					

	ARR+MQ			2043 #	5487	7628	7631
	ARX			2033 #	5392	6124	6977	8630
	ARX+MQ			2039 #	5314	5485	5866	6051	8504
	MQ			2032 #	4043	4067	5251	5520	5651	5824	5825	5828	6252	6284	6287
				6357	6359	6431	6593	6595	6623	6759	6926	7050	8589	8591
(U) COND			1879 #
	AD FLAGS		1893 #	3982	4045	4069	4539	4540	4555	4556	4588	4589	4606	5350
				5363	5659	5661
	AR CLR			1885 #	3731	6089	6192	6488	6539	6541	6596	6727	6932	6939	6968
				6973	7053	7066	7636	8260	8576	8825	9577
	ARL IND			1887 #	4176	4178	4181	4184	4187	4188	4191	4192	4201	4203	4205
				4211	4212	4217	4218	4224	4226	4641	4684	4892	5098	5124	5129
				5388	6574	6977	7134	7175	7684	7794	7800	7953	8109	8297	8761
				8870	9123	9147	9259	9309	9357
	ARX CLR			1886 #	5298	5389	5413	6090	6095	6155	6208	6209	6291	6388	6522
				6530	6688	7411	7420	7427	7435	7442	8265	8446
	DIAG FUNC		1898 #	4678	4776	5082	5084	9220	9227	9254	9257	9258	9260	9301
				9304	9306	9308	9325	9354	9364	9373	9377	9381	9431	9432	9433
				9434	9444	9447	9449	9456	9459	9471	9472	9473	9478	9487	9488
				9489	9490	9740	9755
	EBOX STATE		1899 #	3743	3774	4696	4787	9482	9493	9721	9722	10037	10116	10135
				10149
	EBUS CTL		1900 #	3827	3828	3829	3830	4675	4679	4777	5087	9126	9140	9162
				9170	9173	9176	9185	9187	9206	9310	9314	9383	9417	9439	9477
				9481	9491	9597	9607	9660	9730	9741	9756	10148
	FE SHRT			1892 #	9905
	FM WRITE		1890 #	3740	3798	3905	3936	4046	4081	4884	5137	5193	5313	5676
				5682	5689	5693	5696	5701	5717	5736	5737	5747	5749	5750	6281
				6289	6297	6356	6358	6412	6432	6437	6439	6445	6448	6465	6466
				6468	6469	6473	6474	6475	6477	6502	6505	6517	6523	6542	6549
				6559	6585	6592	6594	6599	6619	6659	6662	6760	6892	6969	6976
				7054	7056	7067	7069	7097	7140	7268	7269	7270	7271	7330	7331
				7604	7625	7627	7630	7695	7751	8056	8099	8102	8104	8107	8149
				8185	8190	8192	8194	8243	8255	8256	8257	8259	8267	8280	8300
				8302	8304	8325	8336	8347	8391	8404	8408	8430	8431	8437	8442
				8444	8448	8449	8451	8473	8483	8486	8503	8517	8529	8538	8540
				8549	8550	8560	8562	8564	8589	8591	8613	8618	8675	8703	8705
				8727	8732	8758	8770	8773	8774	8805	8811	8812	8815	8830	8836
				8960	8961	8966	8995	9549	9723	9724	9754	9763	9764	9765	9770
				9773	9789	10001	10124	10143	10155	10159	10161	10164	10168	10169	10175
				10177	10178	10181
	LD AR0-8		1882 #	3942	5108	5109	5110	6489	6543	6597	6728	6733	6755	6933
				6935	6941	6974	7055	7068	7600	7730	7732	7734	7737	7740	7744
				7746	7749	7750	7763	7799	7811	7814	7822	7823	7830	7834	7838
				7842	8058	8253	8433	8438	8441	8552	8643	8706	8707	8708	8709
				8710	8711	8731	8778	8800	8802	8871	8909	9015	9234	9335	9347
				9418	9574	9623	9675	9936	10004	10006	10158
	LD AR18-35		1884 #
	LD AR9-17		1883 #	4716	4890	5095	9360	10128
	LD VMA HELD		1913 #
	LOAD IR			1894 #	3777	3788	5150	8064
	LONG EN			1903 #	3840	7868	7905	7976	8081
	MBOX CTL		1901 #	9321	9393	9397	9402	9404	9408	9410	9781	9783	9785	10007
				10145
	PCF_#			1891 #	4815	4820	4833	4856	5138	5264	5294	5402	5418	5583	5684
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-14
; 							Cross Reference Listing					

				5735	5904	6088	6369	6607	6748	6752	6753	6891	6936	6940	7094
				7095	7380	7385	7388	7473	7483	7486	7606	7778	7968	8579	9151
				9152
	REG CTL			1888 #	5207	5260	5437	5438	5439	5440	5451	5452	5453	5454	5513
				5554	5566	5647	6213	6213	6384	6401	6409	6409	6409	6570	6571
				6572	6578	6683	6703	6967	7064	7085	7186	7221	7280	7284	7307
				7479	7678	8222	9231
	SEL VMA			1897 #	8201	9751	9769	10118	10120
	SPEC INSTR		1895 #	3730	3783	4725	4740	4743	5149	9492	9502	9548	9839	10122
	SR_#			1896 #	3919	3921	3927	4772	4784	5088	5722	5742	5789	5861	5925
				6125	6223	6227	6237	6300	6301	6327	6354	6376	6404	6414	6590
				6618	6675	6705	6764	7138	7157	7167	7217	7224	7228	7267	7275
				7287	7290	7311	7316	7328	7503	7756	7762	8262	8266	8272	8274
				8285	8290	8291	8292	8305	8329	8331	8337	8389	8390	8399	8450
				8484	8513	8563	8580	8623	8636	8639	8677	8826	8859	8887	8978
				9012	9136	10056	10060	10064	10068	10072	10076	10080	10084	10088	10092
				10096	10100
	VMA DEC			1911 #	4040	7801	8957	9506
	VMA INC			1912 #	4038	4073	4686	4687	4709	4880	4894	5056	5064	5079	5102
				5104	5650	5705	6253	6430	6929	7051	7203	7387	7485	7690	7707
				7796	8479	8481	8617	8873	8953	9006	9286	9508	9527	9631	10130
				10132	10133
	VMA_#			1906 #	5052	5061	5075	9480	9515	9517	9519	9521	10115
	VMA_#+AR32-35		1909 #	8212	9800	9802
	VMA_#+MODE		1908 #	5096
	VMA_#+PI*2		1910 #	9553	9554	9568
	VMA_#+TRAP		1907 #	3776	3778
(U) DIAG FUNC			2222 #
	CONI APR(L)		2241 #	9258
	CONI APR(R)		2237 #	9257
	CONI MTR		2247 #	9459
	CONI PAG		2250 #	9377
	CONI PI(L)		2236 #	9308
	CONI PI(PAR)		2249 #	9306
	CONI PI(R)		2235 #	9304
	CONO APR		2228 #	9254	9260
	CONO MTR		2226 #	9456
	CONO PAG		2230 #	9373
	CONO PI			2229 #	9301
	CONO TIM		2227 #	9444
	DATAI APR		2243 #	9227
	DATAI PAG(L)		2239 #	5082	9354
	DATAO APR		2231 #	9220
	DATAO PAG		2232 #	9325
	LD AC BLKS		2233 #
	LD PA LEFT		2224 #	9471	9473
	LD PA RIGHT		2225 #	9472
	LD PCS+CWSX		2234 #	4678	5084
	RD CACHE CNT		2244 #	9434	9490
	RD EBOX CNT		2242 #	9433	9489
	RD EBUS REG		2251 #	4776	9364	9381	9740	9755
	RD INTRVL		2245 #	9447
	RD MTR REQ		2248 #	9478
	RD PERF CNT		2240 #	9432	9488
	RD PERIOD		2246 #	9449
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-15
; 							Cross Reference Listing					

	RD TIME			2238 #	9431	9487
	.5 USEC			2223 #
(U) DISP			1920 #
	BYTE			1933 #	4740	5208	7374	7377	7466	7470	7679	7711	7779	8200	8505
				8755	8791	8915	8945	8946	8947	8960	8992	9120	9403	9409	9961
	DIAG			1921 #
	DIV			1930 #	5540	5543	5548	5560	5594	5595	5596	5597	5598	5599	5600
				5601	5625	5626	5627	5628	7638	8542
	DRAM A RD		1923 #	3822	3823	3824	3825	3833	3834	8077	8085	8087
	DRAM B			1932 #	3971	3980	3982	4020	4041	4176	4178	4181	4184	4188	4192
				4201	4203	4211	4212	4217	4218	4224	4226	4241	4251	4266	4281
				4291	4301	4311	4321	4331	4342	4352	4362	4372	4467	4470	4472
				4475	4777	4819	5350	5363	5401	5417	5418	5489	5490	5557	5569
				5654	5803	5861	5865	6223	6227	6255	6432	8076	8097	8259	8439
				8447	8622	8678	8715	8719	9126	9147	9310	9385	9429	9437
	DRAM J			1922 #	3864	3870	3876	3883	3889	8100	8103	8105	8108
	EA MOD			1935 #	3775	3844	4649	7381	7386	7474	7484	7870	7871	7907	7908
				7922	7923	7968	7978	7979	8065	8083	8084	8759	8774	8813	8816
				9774
	MUL			1929 #	5395	5397	5435	5442	5444	5446	5448	5457	5459	5461	5462
				5467	5670	6565
	NICOND			1927 #	3905	3922	5137	5193
	NORM			1934 #	5831	5874	5913	5925	6125	6127	6153	6158	6166	6176	6209
				6294	6343	6362	6382	6390	6395	6398	6399	6528	6580	6601	6667
				6669	6691	6696	6699	6701	6710	6766	6964	6978	7059	7070	7101
	PG FAIL			1925 #	9730	9741
	RETURN			1924 #	3808	4055	4704	4709	4720	4856	4862	5098	5104	5437	5438
				5439	5440	5451	5452	5453	5454	5552	5553	5564	5565	5582	5613
				5616	5629	5630	5631	5632	6000	6002	6314	6316	6479	6490	6869
				6870	6876	6877	7176	7780	7781	7787	7790	7802	7804	7811	7814
				7822	7823	7830	7834	7838	7842	7860	7862	7873	7875	7924	7926
				7930	7932	7951	7954	7970	7971	7980	7982	8004	8005	8014	8023
				8166	8188	8192	8202	8222	8231	8350	8677	8681	8705	8716	8721
				8722	8732	8739	8778	8787	9015	9177	9190	9202	9206	9366	9421
				9467	9508	9529	9625	9630	9633	9654	10037
	SH0-3			1928 #	5080	6743	7086	7379	7383	7405	7406	7472	7476	7515	7517
				7592	7778	7821	8692	8694	8838	8855	9484	9503	9551	9570	9595
				9610	9812	9901
	SIGNS			1931 #	5497	5518	5520	5721	5723	7163	7167	7169	7187	7199	7204
				7220	7222	7271	7285	7308	7626	8296	8300	8327	8347	8390	8391
				8405	8437	8558	8615	8640	8676	8704	8727	9771	9801	9803
	SR			1926 #	5742	5743	5748	6128	6130	6132	6134	6161	6163	6164	6174
				6193	6213	6392	6409	6750	6759	7193	7206	7677	7977	7993	8348
				9763	10044	10155	10159	10178	10181
(U) EA CALC			2118 #
	A IND			2127 #	3813	3815	3817	3819	3835	3837	8078	8079
	BYTE IND		2132 #	7387	7485	7863	7865	7900	7902	7929	7931	7972	7973
	BYTE LD			2128 #	7859	7861	7872	7874
	BYTE RD			2129 #	7378	7382	7970	7971	7980	7981
	BYTE RD PC		2130 #
	BYTE RPW		2131 #	7471	7475	7895	7897	7909	7912
	LD ARX+WR		2140 #	8953
	LD AR(EA)		2138 #	7155
	LD AR+WR		2139 #	8932	8935
	POP AR			2134 #	4827
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-16
; 							Cross Reference Listing					

	POP AR-ARX		2136 #	4829
	POP ARX			2135 #
	PUSH			2133 #	4804	4809
	WRITE(E)		2137 #	4851	7160	7161
(U) EBUS CTL			2206 #	4679	5087	9185
	DATAI			2220 #	9194	9607	9660
	DATAO			2219 #	9140	9195	9597	10148
	EBUS DEMAND		2210 #	9170
	EBUS NODEMAND		2211 #	9173
	GRAB EEBUS		2207 #	3827	3828	3829	3830	4675	9206	9477	9730
	IO INIT			2216 #	9187	9190
	REL EBUS		2209 #	9176	9310
	REL EEBUS		2221 #	4777	9126	9383	9417	9439	9481	9491	9741	9756
	REQ EBUS		2208 #	9162	9314
(U) EXP TST			2059 #	5514
	AR_EXP			2060 #	6213	6409
(U) FE				1779 #	9905
	SCAD			1780 #	3845	3869	3882	3905	3922	4725	4737	4743	5137	5193	5205
				5207	5219	5228	5239	5314	5317	5387	5389	5392	5394	5396	5414
				5435	5437	5438	5439	5440	5442	5444	5446	5448	5451	5452	5453
				5454	5457	5459	5461	5462	5467	5496	5507	5510	5511	5513	5517
				5540	5543	5548	5550	5560	5562	5594	5595	5596	5597	5598	5599
				5600	5601	5612	5615	5625	5626	5627	5628	5629	5630	5631	5632
				5664	5670	5679	5707	5713	5734	5802	5815	5824	5825	5828	5871
				5874	5901	5911	5914	6053	6065	6081	6085	6126	6129	6131	6133
				6153	6157	6160	6162	6166	6173	6175	6212	6252	6263	6312	6333
				6356	6358	6366	6378	6380	6381	6384	6385	6405	6408	6457	6461
				6463	6472	6526	6552	6557	6563	6565	6592	6594	6596	6604	6663
				6677	6678	6680	6683	6685	6706	6711	6945	6956	6959	6963	6975
				7049	7063	7081	7380	7385	7387	7405	7406	7448	7449	7473	7479
				7480	7483	7485	7498	7500	7515	7517	7555	7556	7592	7593	7595
				7597	7633	7636	7638	7641	7642	7680	7684	7686	7700	7751	7788
				7791	7925	7952	7968	8017	8019	8148	8156	8164	8209	8217	8253
				8295	8386	8433	8526	8537	8539	8552	8584	8587	8590	8592	8703
				8705	8722	8740	8758	8764	8773	8774	8798	8811	8812	8815	8834
				8868	8882	8884	8888	8897	8900	8917	8920	8963	8971	9281	9333
				9401	9407	9421	9570	9622	9659	9668	9734	9739	9782	9784	9786
				9805	9806	9811	9854	9871	9893	9901	9916	9936	9962	9964	9999
				10016	10021	10052
(U) FETCH			2107 #
	COMP			2110 #	4507
	JFCL			2114 #	4760
	JUMP			2113 #	4574	4589	4606	4613
	SKIP			2111 #	4524	8393
	TEST			2112 #	4467	4469	4475	8335	9130	9132	9134
	UNCOND			2108 #
(U) FLAG CTL			2086 #
	DISMISS			2090 #	4659	4661	4673	9144	9598
	DISMISS+LD		2092 #
	HALT			2093 #	4651
	JFCL			2088 #	4759
	JFCL+LD			2089 #	4762
	PORTAL			2095 #	4628
	RSTR FLAGS		2087 #	4653	4669	4689
	SET FLAGS		2094 #	3793	5107	10134
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-17
; 							Cross Reference Listing					

(U) FMADR			1740 #
	AC+#			1747 #	8186	8190	8192	8261	8415	8415	8438	8486	8722	8784	8784
				8794	8796	8797	8805	8811	8812	8815	8860	8862	8947	8960	8961
				8966	9006	10157	10159	10164
	AC0			1741 #	3863	3905	3987	3996	4025	4065	4081	4176	4178	4181	4184
				4187	4191	4205	4241	4251	4266	4281	4291	4301	4311	4321	4331
				4352	4362	4475	4479	4480	4481	4507	4574	4588	4589	4605	4613
				4804	4809	4827	4829	4830	4849	4884	4888	4891	5125	5127	5130
				5133	5135	5137	5167	5178	5193	5207	5207	5209	5228	5230	5251
				5271	5272	5312	5350	5362	5386	5389	5413	5487	5495	5509	5555
				5567	5613	5616	5653	5677	5682	5708	5811	5871	5901	6052	6265
				6274	6281	6289	6292	6300	6301	6333	6365	6412	6447	6464	6468
				6501	6502	6526	6546	6557	6587	6604	6664	6760	6892	7073	7076
				7098	7134	7140	7239	7271	7479	7515	7517	7624	7627	7630	8047
				8148	8156	8245	8259	8285	8338	8360	8408	8429	8442	8444	8472
				8473	8506	8515	8579	8589	8591	8618	8677	8693	8695	8703	8705
				8720	8732	8826	8836	8980	8995	9011	9013	10168	10176	10177	10180
				10181
	AC1			1742 #	3936	4046	4067	4072	5205	5227	5270	5313	5484	5649	5689
				5705	5736	5737	5742	5743	6258	6297	6298	6324	6325	6353	6354
				6356	6358	6361	6469	6475	6479	6518	6524	6525	6540	6553	6589
				6590	6592	6594	6600	6663	7084	7266	7269	7328	7330	7695	8182
				8194	8290	8300	8388	8388	8427	8431	8504	8740	8740	8758	8773
				8774	8971	8971	10056	10155	10169
	AC2			1745 #	5693	5703	5747	7267	7270	7329	7331	8185	8430	8762	8763
				8770
	AC3			1746 #	5647	5676	5691	5696	5749	5750	8150	8164	8244	8255	8256
				8263	8270	8273	8280	8302	8304	8336	8345	8347	8404	8445	8448
				8449	8457	8483	8513	8517	8527	8529	8551	8560	8633	8719	8727
				8739	8914	8932	8934	8991	10064	10088	10092	10100	10161	10170	10175
				10178
	VMA			1744 #	3777	3788	3840	3841	3869	3875	3882	3888	3900	3902	3908
				3910	4040	4042	4043	4055	4073	4079	4524	4654	4685	4687	4689
				4696	4709	4813	4815	4818	4820	4832	4832	4834	4834	4856	4862
				4862	4880	4894	5056	5064	5075	5078	5088	5100	5103	6926	6954
				6967	7050	7064	7189	7190	7192	7193	7201	7203	7206	7223	7225
				7228	7230	7277	7278	7286	7288	7290	7292	7310	7312	7316	7317
				7376	7380	7384	7389	7410	7412	7413	7414	7415	7416	7417	7419
				7426	7428	7429	7430	7431	7432	7434	7441	7443	7444	7446	7448
				7449	7469	7473	7477	7483	7497	7497	7522	7523	7524	7525	7526
				7527	7528	7530	7536	7537	7538	7539	7540	7541	7543	7549	7550
				7551	7553	7555	7556	7577	7797	7801	7826	7868	7869	7905	7906
				7968	7976	7977	7991	7993	8012	8012	8014	8081	8082	8242	8365
				8563	8632	8691	8787	8837	8936	8945	8954	8956	8958	8976	8981
				9005	9008	9125	9129	9131	9140	9147	9507	9527	9564	9588	9597
				9598	9810	9825	9845	9871	9886	9893	9916	10135
	XR			1743 #	3775	3815	3819	3823	3825	3834	3837	3844	4668	7861	7865
				7870	7871	7874	7897	7902	7907	7908	7912	7922	7923	7931	7971
				7973	7978	7979	7981	8077	8079	8083	8084	8087
	#B#			1748 #	3740	3798	4656	4692	4808	4878	4883	5050	5089	5093	5097
				5101	5701	5717	5719	5739	6432	6437	6439	6445	6448	6452	6457
				6461	6465	6466	6467	6472	6473	6474	6476	6477	6503	6505	6507
				6508	6517	6519	6520	6523	6542	6549	6550	6559	6585	6598	6599
				6615	6619	6659	6660	6662	6666	6668	6693	6732	6739	6869	6870
				6876	6877	6912	6913	6920	6921	6922	6969	6976	7054	7056	7067
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-18
; 							Cross Reference Listing					

				7069	7088	7091	7097	7268	7604	7625	7650	7677	7751	8056	8099
				8102	8104	8107	8149	8187	8188	8227	8229	8230	8243	8257	8267
				8269	8278	8283	8301	8325	8344	8391	8400	8437	8451	8454	8459
				8465	8503	8538	8540	8549	8550	8559	8562	8564	8565	8576	8577
				8611	8613	8627	8628	8675	8678	8679	8680	8681	8689	8714	8716
				8721	8726	8728	8729	8830	8925	8927	8973	8974	9009	9549	9551
				9584	9601	9619	9633	9653	9723	9724	9754	9763	9764	9765	9770
				9773	9789	9813	9823	9830	9838	9852	9863	9868	9875	9876	9877
				9892	9902	9903	9914	9929	9940	9946	9955	9966	9970	9980	9992
				9997	10001	10005	10015	10017	10020	10024	10026	10036	10043	10104	10108
				10117	10124	10125	10142	10143	10144	10162	10166	10171	10173	10183
(U) ISTAT			1993 #
	OPTIONS			1997 #	9234
(U) J				1631 #	3808	3822	3823	3824	3825	3833	3834	3864	3870	3876	3883
				3889	4055	4704	4709	4720	4856	4862	5098	5104	5437	5438	5439
				5440	5451	5452	5453	5454	5552	5553	5564	5565	5582	5613	5616
				5629	5630	5631	5632	6000	6002	6314	6316	6479	6490	6869	6870
				6876	6877	7176	7780	7781	7787	7790	7802	7804	7811	7814	7822
				7823	7830	7834	7838	7842	7860	7862	7873	7875	7924	7926	7930
				7932	7951	7954	7970	7971	7980	7982	8004	8005	8014	8023	8100
				8103	8105	8108	8166	8188	8192	8202	8222	8231	8350	8677	8681
				8705	8716	8721	8722	8732	8739	8778	8787	9015	9177	9190	9202
				9206	9366	9421	9467	9508	9529	9625	9630	9633	9654	10037
	ACNORM			6662 #	6457
	ACNRM1			6666 #	6660
	ADD			5350 #	4603	4604	5343	5344	5345	5346
	ADJBP			7592 #	7575
	ADJDIV			7638 #	7643
	ADJOIN			7624 #	7756
	ADJOWG			7729 #	7592
	ADJP			7700 #	7685	7689	7701
	ADJPDL			5133 #	5128
	ADJSP			5124 #	5116
	ADJTRP			5137 #	5134
	ADJTWG			7684 #	7679
	ADJUST			7677 #	7649	7650
	AND			4241 #	4234	4235	4236	4237
	ANDCA			4251 #	4244	4245	4246	4247
	ANDCB			4301 #	4294	4295	4296	4297
	ANDCM			4266 #	4259	4260	4261	4262	4395	4404
	AOBJ			4613 #	4609	4610
	AOJ			4589 #	4578	4579	4580	4582	4583	4584
	AOJA			4587 #	4581
	AONJ			4588 #	4577
	AONS			4539 #	4528
	AOS			4540 #	4529	4530	4531	4532	4533	4534	4535
	APRBI			9230 #	9025
	APRBO			9221 #	9027
	APRCI			9255 #	9030	9031	9032
	APRCO			9252 #	9029
	APRCO7			9260 #	9254
	APRDI			9226 #	9026
	APRDO			9219 #	9028
	ARJMP			4676 #	4669	4679	4689	4696	10135
	ARSWAP			4720 #	9419	10128
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-19
; 							Cross Reference Listing					

	ASH			5251 #	5155
	ASHC			5270 #	5159
	ASHL			5258 #	5254
	ASHL1			5284 #	5271
	ASHL2			5288 #	5297
	ASHL3			5292 #	5294
	ASHL4			5296 #	5293
	ASHR1			5275 #	5277
	ASHR2			5279 #	5275
	ASHX			5302 #	5279
	AWAIT			9564 #
	B2DFPF			10166 #	10064
	B2DPF			10168 #	8623	10084
	B2DPF2			10171 #	10166
	BACKD			10157 #	10068	10072	10076	10096
	BACKLD			7314 #	7311
	BACKS			10154 #	10056
	BACLUP			7307 #	7316
	BD1			8522 #	8507
	BD2			8525 #	8522	8529
	BD3			8527 #	8523
	BD4			8537 #	8526	8542
	BD6			8542 #	8537
	BD7			8549 #	8538	8540
	BD8			8557 #	8555
	BD9			8560 #	8565
	BDD1			8610 #	8580	8643
	BDD2			8620 #	8615
	BDD3			8627 #	8622
	BDD4			8630 #	8627
	BDD5			8632 #	8633
	BDD6			8634 #	8632
	BDD7			8636 #	8628	8637
	BDDR1			8513 #
	BDDR4			8613 #	8519
	BDDV1			8576 #	8560
	BDDV2			8583 #	8578
	BDEC			8503 #	8154
	BDF1			8562 #	8559
	BEXT2			8097 #	8077	8086
	BFETCH			7970 #	7978	8759	8774	8813	8816
	BLBACK			7310 #	7273
	BLK1			9148 #	9120
	BLK2			9147 #	9148	9149
	BLK3			9151 #	9147
	BLK4			9134 #	9129
	BLKIO			9119 #	9094	9096	9105	9107
	BLSTOR			7186 #	7192
	BLT			7134 #	7130
	BLTFIX			10080 #	7230
	BLTLOD			7167 #	7162
	BLTLUP			7189 #	7164	7168	7170
	BLTPGF			7238 #	10080
	BLTPX			7216 #	7157
	BLUUO			5022 #	4918	4920	4921	4922	4923
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-20
; 							Cross Reference Listing					

	BYTEA			7968 #	9680
	BYTEI			7976 #	7972	8773	8811
	BYTINC			7787 #	7779
	BYTIND			7922 #	7868	7905	7976	8081
	CAIM			4507 #	4487	4488	4489	4491	4492	4493	4497	4498	4499	4501	4502
				4503
	CAPHGH			7602 #	7603
	CAPLOW			7597 #	7598
	CDBLST			6416 #	6764
	CHALT			4725 #	3798	4651
	CHKAC			9652 #	9638	9643	9648
	CLEAN			10052 #	7193	7206	7977	7993	8348	9763	10044	10155	10159	10178	10181
	CLEFT			5239 #	5229	5240
	CLRPT			9417 #	9336	9391
	CMPDST			8415 #	8399
	CMPS			8360 #	8150
	CMPS1			8364 #	8362
	CMPS3			8385 #	8412
	CMPS4			8386 #	8365
	CMPS5			8399 #	8391
	CMPS6			8408 #	8405
	CMPS7			8411 #	8408
	CMPSX			8393 #	8385
	CMTR			9490 #	9348
	CMTR1			9498 #	9490
	CNV01			8217 #	8218
	CNV02			8219 #	8217
	CNV2WD			8209 #	8201
	COMPEA			3833 #	3775
	CONO			9123 #	9098	9109
	CONS			9121 #	9100	9101	9111	9112
	CONT			3795 #
	CRIGHT			5233 #	5236
	D2BPF			10161 #	10060
	DASMD			5649 #	5637	5638	5639
	DBABT			8472 #	8459	8465
	DBFLGS			8429 #	8431
	DBIN			8427 #	8153
	DBIN2			8464 #	8458
	DBIN3			8467 #	8464
	DBINGO			8433 #	8429
	DBINLP			8454 #	8468
	DBLST			4081 #	6416
	DBS1			8444 #	8438
	DBS2			8446 #	8442
	DBS3			8450 #	8448
	DBST			8442 #	8440
	DBXIT			8479 #	8456
	DDIV			5647 #	5640
	DDIV0			5701 #	5647
	DDIV1			5710 #	5714	5715
	DDIV2			5717 #	5711
	DDIV3			5730 #	5721	5723
	DDIV4			5734 #	5731
	DDIV6			5739 #	5736
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-21
; 							Cross Reference Listing					

	DDVLP			5625 #	5625	5626	5627	5628	5734	8590
	DDVSUB			5627 #	6368	6606	8585	8588	8592
	DDVX1			5745 #	5742
	DDVX2			5747 #	5745	5746
	DEAIND			7905 #	7486	7901
	DEPBYT			7497 #	7479
	DEPOWG			7499 #	7523	7524	7525	7526	7527	7528	7537	7538	7539	7540	7541
				7555	7556
	DEPTWG			7483 #	7477
	DEXCHK			9628 #	9600	9612
	DFAS			6258 #	6260
	DFAS1			6274 #	6258
	DFAS2			6276 #
	DFAS3			6286 #	6278
	DFAS4			6292 #
	DFAS5			6293 #	6287	6300	6301
	DFAS6			6296 #	6282
	DFDV			6353 #	6267
	DFDV1			6365 #	6353	6354
	DFLOAT			6252 #	6245	6246	6247	6248
	DFMP			6324 #	6263
	DFMP1			6329 #	6324	6326
	DFMP2			6340 #	6341
	DIV			5484 #	5477	5478	5479	5480
	DIV+			5597 #	6357	6593
	DIV-			5596 #	5903	6359	6595
	DIV1			5495 #	5485
	DIVLP			5594 #	5549	5561	5594	5595	5596	5597	5741
	DIVS1			5540 #	5497	5518	5520	5542	7641
	DIVS2			5543 #	5545
	DIVS3			5548 #	5541	7639
	DIVS4			5560 #	5544
	DIVX			5611 #	5598	5599	5600	5601
	DLOAD			4046 #	4042	5243	6404	6705
	DMOVEM			4065 #	4060
	DMOVE			4038 #	4032
	DMOVNM			4067 #	4061
	DMOVN			4037 #	4033
	DMUL1			5682 #	5684
	DMUL2			5688 #	5683
	DMULT			5670 #	5664
	DMVM1			4079 #	9440
	DNHI			6401 #	6378
	DNNEG			6392 #	6376
	DNNEG1			6397 #	6393
	DNORM			6374 #	6294	6343	6362	6390	6395	6398	6399
	DNSHFT			6387 #	6405
	DNSUB			4053 #	4043	4068
	DNTRY			6343 #	6284	6401
	DNZERO			6404 #	6374
	DODIAG			9283 #
	DPB			7469 #	7462
	DPB1			8012 #	8786	9672
	DPB2			8017 #	8013
	DPEA			7895 #	7474	7484	7907
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-22
; 							Cross Reference Listing					

	DRND1			6408 #	6383
	DROUND			6382 #	6380	6384
	DSHIFT			5243 #	3899	3901	5213	5221	5234
	DTEVEC			9577 #	9574
	EBUSI			9194 #	9607	9660
	EBUSO			9195 #	9140	9597	10148
	EBUSW			9172 #	9174
	EBUSX			9169 #	9194	9195
	EDDISP			8840 #
	EDDSNG			8938 #	8946
	EDEX0			8932 #	8863
	EDEX1			8963 #	8960	8966
	EDEX2			8945 #	8933
	EDEXMD			8934 #
	EDEXX			8958 #	8938
	EDFL1			6436 #	6439
	EDFLDS			8909 #	8861
	EDFLOT			6430 #	6423	6424	6425	6426
	EDFLTX			9005 #	9002
	EDFLT			9000 #	8916	8993
	EDFLT1			9008 #	9000	9001	9003
	EDFPUT			8980 #	8986
	EDIT			8824 #	8152
	EDIT1			8834 #	8832
	EDITLP			8835 #	8903
	EDMPUT			8981 #	8927
	EDMSG			8925 #	8842
	EDNOP			8882 #	8843	8844	8845	8854	8884	8920
	EDNXT1			8886 #	8883	8898	8901	8918	8964
	EDNXT2			8897 #	8886
	EDNXT3			8903 #	8890	8894
	EDOPR			8854 #	8841
	EDSEL			8971 #	8859
	EDSEND			8920 #	8909	8980
	EDSF1			8986 #	8976
	EDSFIL			8976 #	8925
	EDSFLT			8991 #	8977	8994
	EDSKPT			8878 #	8847	8849
	EDSKP			8884 #	8850
	EDSPUT			8978 #	8981	8995
	EDSSIG			8914 #	8860
	EDSTOP			8868 #	8858	8979
	EDVCHK			6610 #	6605	6611
	EDVCH1			6614 #	6610
	EDVCH2			6619 #
	EDVCH3			6622 #
	EEOV			6755 #	6748	6752
	EF1			6447 #	6437
	EF10			6519 #	6510
	EF11			6526 #	6518	6524
	EF12			6530 #	6516	6522
	EF3A			6459 #	6455
	EF3B			6462 #	6460
	EF5			6471 #	6456
	EF5A			6501 #	6469	6477
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-23
; 							Cross Reference Listing					

	EF5B			6479 #	6465	6474
	EFDV0			6585 #	6445
	EFDV1			6604 #	6589	6590
	EFIW			3813 #	3845
	EFMP			6539 #	6442
	EFMP1			6542 #	6539
	EFMPP1			6562 #	6563
	EFMPP2			6565 #	6562
	EFMPP3			6574 #	6570	6571
	EIGHT7			7744 #	7735
	EMTR			9489 #	9346
	EMTR1			9497 #	9489
	ENFNL0			6746 #	6756
	ENFNL1			6758 #	6745	6747
	ENHI			6703 #	6677
	ENNEG			6693 #	6675
	ENNEG1			6698 #	6694
	ENORM			6672 #	6528	6580	6601	6667	6691	6696	6699	6701	6766	6979	7059
				7070	7101
	ENSHFT			6687 #	6706
	ENTRY			6766 #	6703
	ENZERO			6705 #	6673
	EQV			4311 #	4304	4305	4306	4307
	ERND1			6708 #	6682
	ERND2			6722 #
	EROUND			6681 #	6679	6684
	ESEND			9140 #	9565
	EXCH			3987 #	3967
	EXMSK			3797 #	3740
	EXPD			6310 #	6274
	EXPD1			6315 #	6312
	EXPDIF			6488 #	6454	6459
	EXT01			8186 #	8184	8194	8503
	EXT02			8194 #	8185
	EXT2			8099 #	8076
	EXT2WD			8182 #	8149	8243	8824
	EXT3			8107 #	8101	8109
	EXTEND			8046 #	8042
	EXTF2			8065 #
	EXTI			8081 #	8078
	EXTLA			8076 #	8083
	FAD			5788 #	5757	5763	5764
	FADFSB			5814 #	5811
	FADR			5801 #	5766	5768	5769	5789
	FADRI			5799 #	5767
	FAS			5811 #	5812
	FAS1			5819 #	5815
	FAS2			5821 #	5817
	FAS3			5827 #	5821
	FAS5			5830 #	5824	5825
	FDV			5860 #	5880	5886	5887
	FDVCHK			5996 #	5902	5997	6367
	FDVCK1			5999 #	5996	6623
	FDVGO			5901 #	5867
	FDVNEG			5925 #	5912	5926
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-24
; 							Cross Reference Listing					

	FDVR			5866 #	5861	5889	5891	5892
	FDVRI			5864 #	5890
	FINI			3922 #	3936	4478	4627	4762	4884	5696	8486	9135	9136
	FIX			6085 #	6058
	FIX1			6088 #	6082
	FIX2			6098 #	6096
	FIXR			6081 #	6059
	FLGTST			8164 #	8148	8156
	FLTR			6065 #	6060
	FMP			5861 #	5836	5842	5843
	FMPR			5870 #	5845	5847	5848
	FMPRI			5865 #	5846
	FORFRZ			7328 #	7333
	FORSUB			7333 #	7326
	FSB			5789 #	5771	5777	5778
	FSBR			5802 #	5780	5782	5783
	FSBRI			5800 #	5781
	FSC			6051 #	6014
	GETAC1			4072 #	4065
	GETEEB			9205 #	4775	9219	9226	9253	9256	9324	9353	9372	9376	9427	9443
				9446	9455	9458	9470
	GETNXT			4709 #	4634	4688
	GETSC			8028 #	8549	8926
	GETSRC			8740 #
	GLBIND			7929 #	7923
	GSRC			8739 #	8327	8676
	GSRC1			8754 #	8389	8972
	GSRC2			8758 #	8755	8761
	GSRC3			8760 #	8765
	GSRC4			8773 #	8762
	GSRC5			8767 #	8764
	GSRC6			8770 #	8767
	GTAR08			9624 #	3942	9675
	GTCST			9950 #
	GTEBUS			9161 #	9125
	GTEEB1			9206 #	5107
	GUDSIZ			7479 #	7480	7896	7899	7911	7914
	HALT			4633 #	4635
	HALT1			4736 #	4741
	HALT2			4740 #	4737
	HLL			4178 #	4087	4131	7551
	HLLE			4221 #	4117	4119	4120
	HLLO			4226 #	4107	4108	4109	4110
	HLLZ			4224 #	4097	4098	4099	4100
	HLR			4184 #	4134	4135
	HLRE			4215 #	4164	4166	4167
	HLRM			4191 #	4136
	HLRO			4218 #	4154	4155	4156	4157
	HLRS			4192 #	4137
	HLRZ			4217 #	4144	4145	4146	4147	7443
	HRL			4181 #	4092	4093
	HRLE			4208 #	4122	4123	4124	4125
	HRLM			4187 #	4094	7550
	HRLO			4212 #	4112	4113	4114	4115
	HRLS			4188 #	4095
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-25
; 							Cross Reference Listing					

	HRLZ			4211 #	4102	4103	4104	4105
	HRR			4176 #	4089	4129	4130
	HRRE			4198 #	4159	4160	4161	4162
	HRRO			4203 #	4149	4150	4151	4152
	HRRZ			4201 #	3963	4139	4140	4142	7444
	HRRZM			4205 #	4141
	IBP			7573 #	7569
	IBPS			7951 #	9679
	IBPTST			7575 #
	IDIV			5487 #	5472	5473	5474	5475
	IDIVGO			5507 #	5488
	IDPB			7466 #	7461
	IDST			8791 #	8416	8784
	IDST2B			8815 #	8794
	IDST2			8794 #	8792	8800
	IDST3			8800 #	8795
	IDST4			8808 #	8796
	IDST5			8802 #	8798
	IDST6			8805 #	8802
	IDST7			8811 #	8808
	IDST8			8812 #	8809
	IDVLNG			5519 #	5514
	IDVOPT			5517 #	5508	5512
	IFNOP			3907 #	4256	5904	6088	6369	6607	9215	9321	9404	9410
	IFSTAC			3909 #	4257	4821
	ILDB			7373 #	7368
	ILLOWG			7826 #	7446	7553
	IMDONE			5401 #	5402
	IMFAST			5392 #	5388
	IMLONG			5396 #	5389
	IMUL			5386 #	5368	5369
	IMULM			5389 #	5370	5371
	INCRBP			7778 #	7374	7467	7576
	INDR1			3844 #	3840
	INDRCT			3840 #	3814	3816	3818	3820	3836
	INTRPT			3746 #
	IO			9125 #	9095	9097	9099	9106	9108	9110	9151	9152
	IOCHK			9200 #	7826	9119	9212	9221	9230	9282	9320
	IOFET			9143 #	9131
	IOPGF			10142 #	10121
	IOR			4291 #	4284	4285	4286	4287	4431	4440
	IOTEND			9129 #	9310	9385
	ISOEXP			6869 #	6436	6440	6444	6447	6547	6614	6931	7074
	JFBITS			5332 #	5327
	JFCL			4755 #	4749
	JFFO			5312 #	5158
	JFGRUP			5317 #	5318
	JRA			4890 #	4870
	JRA1			4811 #	4892
	JRSNDX			4667 #	4649
	JRST			4627 #	4618
	JRSTF			4630 #	4661
	JRSTOK			4703 #	4630	4633	4636	4637	4639
	JSA			4888 #	4869
	JSA1			4894 #	4888
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-26
; 							Cross Reference Listing					

	JSP			4874 #	4868
	JSP1			4883 #	4874
	JSR			4876 #	4867
	JSR1			4880 #	4878
	JSTAC			4813 #	4809	4815
	JUMP			4574 #	4563	4564	4565	4567	4568	4569
	JUMPA			4572 #	4566
	KEEPCL			9407 #	9397	9409
	KEEPME			9393 #	9338
	KMOVED			9940 #	9934
	L-BDEC			5041 #	8128	8129
	L-CMS			5045 #	8117	8118	8119	8122	8123	8124
	L-DBIN			5039 #	8126	8127
	L-DFLT			7062 #	6921
	L-DFSC			7073 #	6922
	L-DITE			5026 #	6907
	L-EDBL			6966 #	6913
	L-EDIT			5037 #	8121
	L-EFSC			5030 #	6909
	L-FLTR			7048 #	6920
	L-FSC2			7088 #	7094	7095
	L-FSC3			7097 #	7090	7093
	L-GTPI			5008 #	6899
	L-GTSP			6925 #	6912
	L-GTS1			6937 #	6935
	L-GTS6			6941 #	6939
	L-GTS7			6961 #	6958
	L-MVS			5043 #	8131	8132	8133	8134
	L-SFTE			5010 #	6900
	L-SITE			5028 #	6908
	LDB			7376 #	7369
	LDB1			7991 #	8417	8756	9664
	LDB2			7996 #	7992
	LDEA			7859 #	7381	7386	7870
	LDIMM			9905 #	9916
	LDIND			9838 #	9816	9839	9910
	LDIND1			9844 #	9838
	LDPCS			4675 #	4672
	LDPT			9922 #	9907
	LDPT1			9934 #	9925	9936
	LDSHR			9914 #	9908
	LEAIND			7868 #	7388	7864
	LOWBIT			5337 #	5329	5333
	LSH			5167 #	5157
	LSHC			5227 #	5161
	LUUO			5046 #	4937	4938	4939	4940	4941	4942
	LUUO1			5048 #	5008	5010	5022	5026	5028	5030	5037	5039	5041	5043
	LUUO2			5061 #	5051
	LUUO3			5064 #	5062
	MAP			4771 #	4767
	MAP2			4784 #	10104
	MAXCHK			5582 #	5556	5568
	MAXDIV			5579 #	5551	5563
	MBREL			9215 #	9222
	MEMNRM			6659 #	6461
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-27
; 							Cross Reference Listing					

	MOVE			3980 #	3947	3948	3974	4254
	MOVELP			8269 #	8274
	MOVEM			3986 #	3949	4271	4272
	MOVES			3984 #	3950	4090	4132	4513
	MOVF1			8344 #	8291	8337	8351
	MOVF2			8347 #	8345	8564
	MOVF3			8350 #	8347
	MOVM			3974 #	3962	3964	3965
	MOVN			3977 #	3957	3958	3959	3960
	MOVNEG			3982 #	3977
	MOVPUT			8272 #
	MOVRJ			8290 #	8263
	MOVS			3971 #	3952	3953	3954	3955	4187	4191
	MOVS2			8266 #	8260
	MOVSTX			8328 #	8270
	MOVST1			8325 #	8262	8292	8331
	MOVST2			8335 #	8328
	MTRCI			9457 #	9088	9089	9090
	MTRCO			9454 #	9087
	MTRCO1			9461 #	9456
	MTRDBL			9514 #	9438	9504
	MTRINT			3743 #	3841	4738	5063	5147	7869	7906	8082
	MTRREQ			9477 #	3743
	MTRRQ0			9484 #	9480
	MTRRQ1			9502 #	9495	9496	9497	9498
	MUL			5413 #	5406	5407	5408	5409
	MULM			5451 #	5446	5448	5461	5462
	MULP			5437 #	5395	5397	5435	5442	5444	5457	5459	5467	5670	6566
	MULREE			5467 #	5679	6331	6340	6555
	MULSUB			5434 #	5414	5873
	MUUO			5072 #	4946	4947	4948	4949	4950	4951	4952	4953	4954	4955	4959
				4960	4961	4962	4963	4964	4965	4966	4967	4968	4969	4970	4971
				4972	4973	4974	4975	4976	4977	4978	5023
	MUUOF			5107 #	5081	5108	5109	5110
	MVABT			8278 #	8273
	MVABT1			8280 #	8281
	MVABT2			8283 #	8280
	MVEND			8285 #	8336
	MVSK1			8299 #	8296
	MVSK3			8304 #	8301
	MVSK4			8331 #	8302
	MVSKP			8295 #	8290	8297	8299
	MVSO3			8265 #	8261
	MVST			8242 #	8157
	MVST2			8257 #	8255
	NEGADJ			7649 #	7658
	NEXT			3729 #	3905	3922	5137	5193
	NO.CST			9888 #	9855
	NOCST0			9891 #	9886
	NOCST1			9893 #	9891
	NOP			3921 #	3908	4269	4270	4377	4378	4386	4387	4486	4496	4507	4572
				4574	4628	4659	4676	4758	4880	5089	5284	5313	5583	5735	6891
				6892	6936	6940	7189	7201	7223	7265	7286	7312	7577	7606	8393
				8556	9130	9132	9143	9599
	NOT.WR			10004 #	9998
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-28
; 							Cross Reference Listing					

	NOTWR			9980 #	9955	10001
	NOUPDT			9995 #	9942
	NXTOWG			7823 #	7825	7829	7833	7837	7841
	ODHIGH			7534 #	7518
	ODLOW			7521 #	7516
	OFSHFT			7756 #	7754
	OPDISP			8857 #	8855
	ORCA			4331 #	4324	4325	4326	4327
	ORCB			4362 #	4355	4356	4357	4358
	ORCM			4352 #	4345	4346	4347	4348
	OVER6			7829 #	7813
	OVER7			7833 #	7818
	OVER8			7837 #	7816
	OVER9			7841 #	7820
	OVTEST			6888 #
	OVTST1			6886 #
	OVTST2			6892 #	6888	6890
	OWGCOM			7751 #	7731	7733	7734	7737	7741	7745	7746	7749
	OWGDPB			7515 #	7472	7476
	OWGHIG			7424 #	7406
	OWGINC			7810 #	7778
	OWGLDB			7405 #	7379	7383
	OWGLOD			7394 #	7412	7413	7414	7415	7416	7417	7428	7429	7430	7431	7432
				7448	7449
	OWGLOW			7409 #	7405
	OWLCPY			7710 #	7594
	OWLINC			7794 #	7789
	PAGBI			9356 #	9047
	PAGBO			9319 #	9049
	PAGCI			9375 #	9052	9053	9054
	PAGCO			9371 #	9051
	PAGD2			9346 #	9335
	PAGDI			9352 #	9048
	PAGDO			9323 #	9050
	PCSLOD			4678 #	4675
	PCTXT			9359 #	5083	9355
	PF1			9723 #	9721
	PF2			9732 #	9730
	PF24			3827 #	7925
	PF4			9763 #	9741	9757
	PFPAR			9751 #	3827	3828	3829	3830	9734	9739
	PFPAR1			9753 #	9751
	PFT			10043 #	9813	9830	9868	9876	9892	9903	9929	9966	9980
	PGF1			10115 #	10052
	PGF2			10117 #	10115
	PGFAC0			10181 #	7239	7331	8904
	PGRF1			9773 #	9789
	PGRF2			9800 #	9774
	PGRF3			9805 #	9801
	PGRF5			9852 #	9815
	PGRF6			9871 #	9867
	PGRST1			10019 #	10021
	PGRST2			10023 #	10020
	PGRST3			10036 #	10024
	PHYS1			9638 #	9601
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-29
; 							Cross Reference Listing					

	PHYS2			9643 #	9584
	PHYS3			9648 #	9619
	PIBI			9279 #	9036
	PIBO			9281 #	9038
	PIBPA			9675 #	9659	9669
	PIBYTE			9659 #	9559
	PICI			9303 #	9041	9042	9043
	PICO			9299 #	9040
	PICOM1			9313 #	9300	9303
	PICOM2			9310 #	9301
	PICYC1			9548 #	3744	3746
	PICYC2			9568 #	3730
	PIDATI			9607 #	9558
	PIDATO			9595 #	9557
	PIDI			9267 #	9037
	PIDISP			9553 #
	PIDO			9266 #	9039
	PIDONE			9598 #	9589	9590	9614	9617	9618	9620	9649	9650	9673	10149
	PIDPB			9668 #	9661
	PIFET			9599 #	9144	9482
	PIIBP			9678 #	9663	9670
	PIINCR			9588 #	9556
	PIINST			9572 #	9493	9553	9554	9568
	PILD			9582 #	9595	9628	9631	9678
	PIOUT			9597 #	9602	9639	9640	9665
	PIST			9617 #	9610
	PIVECT			9570 #	9555
	PMOVEM			4020 #	4015
	PMOVE			4019 #	4014
	PMTR1			9496 #	9488
	POP			4827 #	4794
	POP2			4849 #	4827
	POPJ			4829 #	4795
	POPJ2			4837 #	4846
	POPJT			4845 #	4833
	POPTRP			4856 #	4850
	POSADJ			7632 #	7629
	PRVSEC			4716 #	4683	4693
	PSTOR			9619 #	9613
	PTLOOP			9401 #	9393	9403
	PUSH			4804 #	4793
	PUSHJ			4806 #	4792
	PUTDST			8784 #	8272	8329	8344	8636	8978	9012
	PXCT			5149 #	5146
	PXPUT			7221 #	7229
	RDEBRG			4774 #	9279
	RDEMTR			9523 #	9515	9517
	RDEX			9622 #	9596	9611
	RDMTR			9426 #	9071	9072	9083	9084
	RDMTR1			9437 #	9431	9432	9433	9434
	RDMTR2			9527 #	9524
	RDUMTR			9525 #	9519	9521
	RELEB			9176 #	9173
	RELEEB			9126 #	9220	9227	9259	9260	9328	9357	9451	9461
	RELMEM			7502 #	7522	7530	7536	7543	7549
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-30
; 							Cross Reference Listing					

	REPLIC			7175 #	7136	7238
	RESETP			8778 #	8771	8806
	RET1			9202 #	8563
	RET2			8202 #	8242
	RFLAGS			4669 #	4667
	ROT			5178 #	5156
	ROTC			5205 #	5160
	ROTCL			5218 #	5208	5219
	ROTCR			5212 #	5215
	ROTDUN			5197 #	5187
	ROTL			5191 #	5181
	ROTS			3808 #	3732	10119
	RTLLUP			5195 #	5192	5195
	RTRLUP			5187 #	5188
	SECIMM			9815 #	9845
	SECPTR			9810 #	9805	9829
	SETCA			4321 #	4314	4315	4316	4317
	SETCM			4342 #	4335	4336	4337	4338
	SETEBR			9390 #	9373
	SETFLG			9015 #	8528	9011
	SETO			4372 #	4365	4366	4367	4368
	SETPC			5089 #	3793
	SETZ			4223 #	4118	4165	4229	4230	4231	4232
	SEVEN9			7749 #	7736
	SFET1			8873 #	8338	8870
	SGNEXT			6876 #	6501	6504	6551	6558	6586	6622	6961	7100
	SHFLOD			3904 #	4838	4840	5168	5170	5256	5263	5264	7393	7395	7411	7420
				7427	7435	7442
	SHIFT			8004 #	4757	5289	5695	6530	6576	7996	8029	8211	9390	9578
	SIZE8D			7555 #	7531	7532	7533	7534
	SIZE8L			7448 #	7421	7422	7423	7424
	SIZE9D			7556 #	7544	7545	7546	7547
	SIZE9L			7449 #	7436	7437	7438	7439
	SKIP			4524 #	4514	4515	4516	4517	4518	4519	4520	4540	4556
	SLFEND			3902 #	4539	4555
	SMALDV			7641 #	7635
	SN1			6160 #	6153	6166
	SNARFP			7804 #	7795
	SNATCH			7762 #	7681
	SNORM			6123 #	5831	5874	5914	5925	6066	6125	6127	6158	6176	6964
	SNR2			6126 #	6053
	SNZERO			6173 #	6124
	SOJ			4605 #	4594	4595	4596	4598	4599	4600
	SOJA			4604 #	4597
	SONJ			4603 #	4593
	SONS			4555 #	4544
	SOS			4556 #	4545	4546	4547	4548	4549	4550	4551
	SPRAYL			7201 #	7205	7220
	SPRAY			7199 #	7160	7296
	SRCMOD			8675 #	8269	8455	8726	8728	8729
	SRND2			6209 #	6189
	SRND3			6212 #
	SRND4			6213 #	6208
	SRND5			6223 #	6174
	SROUND			6189 #	6128	6130	6132	6134	6161	6163	6164
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-31
; 							Cross Reference Listing					

	ST0			3897 #	3971	3980	3982	4176	4178	4181	4184	4188	4192	4201	4203
				4211	4212	4217	4218	4224	4226	4241	4251	4266	4281	4291	4301
				4311	4321	4331	4342	4352	4362	4372	5350	5363	5417	5418	5489
				5490	5557	5569
	ST2AC			3899 #	5303	5659	5661	5749	5751	7078
	ST6			3906 #	4777	5401	6223	6227
	STAC			3905 #	3919	3992	3993	4046	4479	4480	4481	4588	4883	4895	5130
				5138	5183	5197	6099	7763	8285
	STAC1			3936 #	5337	5338	6237
	STAC4			8486 #
	START			3793 #	4744
	STBOTH			3910 #	4023
	STCST			9970 #	9962
	STD1			3927 #	4081	6413	6762
	STLOW			4073 #	4069	4079
	STMAC			4818 #	3987	4804	4851
	STMEM			3908 #	4025	4074	4205	4694	7503	9235	9286
	STOR34			8483 #	8474	8480
	STORAC			3919 #	3910	4589	4606	4613	4786	4814	5398	6097	6928	7702	7710
				8873
	STORTG			7801 #	7799
	STR2WD			8227 #	8183	8187	8428
	STRAC1			6237 #	8618
	STRAC3			5696 #
	STRNC			6208 #	6193
	STRPF			10173 #	10088	10092
	STRPF1			10175 #	10183
	STRPF2			10180 #	8305	10164	10175
	STRPF3			10178 #	10171
	STRPF4			10183 #	10100
	STSELF			3918 #	3903	3984	4525	4819
	SUB			5362 #	5355	5356	5357	5358
	SWEEP			9211 #	9058	9059	9060	9061	9062	9063	9064	9065
	TAKINT			3841 #	4787	9185	10116
	TDN			4478 #	4467	4470	4472	4562
	TDX			4467 #	4381	4382	4390	4391	4399	4408	4417	4426	4435	4444	4490
				4500
	TDXX			4475 #	4379	4383	4388	4392	4397	4401	4406	4410	4415	4419	4424
				4428	4433	4437	4442	4446
	TIMBO			9469 #	9073
	TIMBO1			9450 #	9473
	TIMCI			9445 #	9076	9077	9078
	TIMCO			9443 #	9075
	TIMCO1			9328 #	9444
	TIMDO			9468 #	9074
	TLX			4472 #	4396	4405	4414	4423	4432	4441
	TLXA			4469 #	4400	4409	4418	4427	4436	4445
	TMTR1			9495 #	9487
	TRAP			3776 #
	TRAPX			3782 #	3776	3778
	TRNABT			8705 #	8709
	TRNAR			8691 #	8974
	TRNFNC			8703 #	8693	8695	8706	8707	8708	8711
	TRNNS1			8725 #	8719
	TRNNS2			8727 #	8725
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-32
; 							Cross Reference Listing					

	TRNRET			8714 #	8704
	TRNSIG			8708 #	8710
	TRNSS			8719 #	8715
	TRNSS1			8731 #	8720
	TST2WD			8200 #	8182	8186	8427
	TSXX			4474 #	4380	4384	4389	4393	4398	4402	4407	4411	4416	4420	4425
				4429	4434	4438	4443	4447
	TWGCPY			7702 #	7711
	TWGDUN			7695 #	7693
	TWJUNK			4040 #	7707
	UNHALT			4743 #	4740
	UUO			5071 #	4022	4024	4631	4638	4640	4643	4644	4703	4784	4916	4982
				4983	4984	5115	5761	5775	5840	5884	6011	6012	7739	8055	8063
				8167	8220	8939	8948	9085	9086	9161	9200	9205	9267	9313	9356
				9468
	UUOC2			5100 #	5055	5077
	UUOCHK			9467 #
	UUOCOM			5092 #	5049	5073
	UVERS			3942 #	9232
	UXCT			5150 #	4743
	WGRANT			9184 #	9162	9188	9314
	WGRNT1			9187 #	9184
	WGRNT2			9189 #	9187
	WRFAIL			10001 #	10004
	WRHPT			10005 #	9992	9999
	WXFER			9174 #	9170
	XBLFIX			10108 #	7292	7317
	XBLFRZ			7326 #	10108
	XBLPX			7284 #	7291
	XBLT			7265 #	8047
	XBLTGO			7169 #	7279
	XCT			5145 #	5141
	XCTGO			3774 #	3777	3788	5150
	XCTW			3788 #	3795	5065	9572	9573	9575	9579
	XFERW			4862 #	4811	5054	5651	5718	6254	6431	7052	7156	7217	7691	9009
				9363	9380	9528	9582	9583	9644	9645
	XHLLI			3995 #	4088
	XJRST			4696 #	4642	5057
	XJSPLT			4672 #	4654
	XLATE			8689 #	8679
	XMOVEI			3990 #	4255
	XMOVEI1			3992 #	3996
	XOR			4281 #	4274	4275	4276	4277	4413	4422
	XPCW			4682 #	4657
	XSFM			4692 #	4641
	XSPRAY			7296 #	7277
(D) J				2304 #
(U) KLPAGE			1974 #
	OPTIONS			1975 #	9234
(U) LONGPC			1977 #
	OPTIONS			1978 #	9234
(U) MACRO%
	A INDRCT		2330 #	3813	3815	3817	3819	3835	3837
	A READ			2331 #	3822	3823	3824	3825	3833	3834
	ABORT INSTR		2332 #	9502	10122
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-33
; 							Cross Reference Listing					

	AC0			2333 #	4830	4849	5125	5127	5130	7239	7479	7515	7517	7624
	AC0_AR			2334 #	3905	4081	4884	5137	5193	5682	6281	6289	6412	6468	6502
				6760	6892	7140	7271	7627	7630	8408	8473	8589	8591	8618	10168
				10177	10181
	AC1			2335 #	7328
	AC1_AR			2336 #	3936	4046	5313	5689	5736	5737	6297	6356	6358	6469	6475
				6592	6594	7269	7330	7695	8194	8431	10169
	AC2			2337 #	7329
	AC2_AR			2338 #	5693	5747	7270	7331	8185	8430
	AC3_AR			2339 #	5676	5696	5749	5750	8280	8304	8336	8404	8448	8449	8483
				8517	8529	8560	10161	10175	10178
	AC4			2340 #	8186	8192	8438	8486	10164
	AC4_AR			2341 #	8192	8486	10164
	AC5			2342 #	8190
	AC5_AR			2343 #	8190
	AD FLAGS		2344 #	3982	4045	4069	4539	4540	4555	4556	4588	4589	4606	5350
				5363	5659	5661
	AD LONG			2345 #	5750	6099	8522
	ADMSK			2346 #	3740	4656	4692	4808	4878	4883	5050	5089	5093	5097	5101
				8229	8230	9551	9584	9601	9619	9633	9653	10125
	AR+ARX+MQ_0.M		2574 #	6173	7078	8326	8675
	AR+MQ_0.M		2575 #	5227	8457
	AR+MQ_0.S		2576 #	6681
	AR0-3 DISP		2578 #	7379	7383	7472	7476	7592	7778	8692	9595	9610	9812	9901
	AR0-8_#			2579 #	3942	5108	5109	5110	6489	6543	6597	6733	6933	6935	6941
				6974	7055	7068	8253	8433	8552	9234	9335	9347	9418	9936
	AR0-8_# AND AR0-8	2580 #
	AR0-8_# OR AR0-8	2581 #	10004
	AR0-8_#+SC		2582 #	8058
	AR0-8_-SC-1		2583 #
	AR0-8_FE		2584 #	8258	8440	9766
	AR0-8_FE OR #		2585 #	8441
	AR0-8_FE OR SC		2586 #	9788
	AR0-8_FE#		2587 #	8438
	AR0-8_FE+#		2588 #	9574	9623	9675
	AR0-8_FE+1		2589 #
	AR0-8_FE+SC		2590 #
	AR0-8_FE-SC		2591 #
	AR0-8_FE.M		2592 #	8557
	AR0-8_FE.R		2593 #
	AR0-8_SC		2594 #	8028	8209	9767
	AR0-8_SCAD		2595 #	8028	8209	8258	8440	9766	9767
	AR0-8_SCAD#		2596 #	8058	8441	9574	9623	9675	10004
	AR0-8_SCAD.M		2597 #	8557	9788
	AR0-8_SCAD.R		2598 #
	AR12-17_PC SEC		2599 #	4890
	AR12-17_PREV SEC	2600 #	4716	5095	9360	10128
	AR18-21 DISP		2601 #	8694
	ARL+ARX+MQ_0.M		2626 #
	ARL+ARX_0.M		2627 #	9437	9503
	ARL_0S			2606 #	4201	4205	4217
	ARL_0.C			2603 #	9147
	ARL_0.M			2604 #	8101	8634	8637	8831	8892	8914	8934	8991	9815	9816	9817
				9908	9909	9924
	ARL_0.S			2605 #	4834	4845	9461
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-34
; 							Cross Reference Listing					

	ARL_1S			2608 #	4203	4218	8109
	ARL_1S.M		2609 #
	ARL_1.M			2607 #	3992	5092
	ARL_AC0			2610 #	4176	4184	4191
	ARL_ARL			2611 #	4178	4192	4224	4226	5098	5388	7134	7684	9259	9309
	ARL_ARL.M		2612 #	9323
	ARL_ARL.S		2613 #	3996	7628
	ARL_ARR			2614 #	4181	4187	4188	4211	4212	5124	7175	9123
	ARL_ARR.M		2615 #	9252	9299	9371	9454
	ARL_ARR.S		2616 #	9233
	ARL_ARX (ADX)		2617 #	9768
	ARL_ARXL		2618 #	4694	4895	7688	7694	9451	10129
	ARL_ARXL.M		2619 #
	ARL_BRL			2620 #	4684	4892	7800	9357
	ARL_BRL.M		2621 #
	ARL_BRL.S		2622 #	5085
	ARL_MQL			2623 #	7140
	ARL_SHIFT		2624 #	9905
	ARL_SIGN		2625 #	5129
	ARR+MQ_0.S		2649 #	5487	7628	7631
	ARR_0S			2632 #	4211	4224
	ARR_0.C			2629 #
	ARR_0.M			2630 #	5509	9384
	ARR_0.S			2631 #
	ARR_1S			2633 #	4212	4226
	ARR_AC0			2634 #	4178	4181	4187	4205	7134
	ARR_AC0.S		2635 #	3996
	ARR_AR+1		2636 #	7794	8760
	ARR_AR+BR		2638 #	7688
	ARR_AR-1		2637 #
	ARR_ARL			2639 #	4184	4191	4192	4217	4218	4892	9323	9768	9773
	ARR_ARR			2640 #	3992	4176	4188	4201	4203	4684	4694	4845	5124	5129	7175
				9123	9252	9299	9371	9454	10129
	ARR_ARX			2641 #	5098	7140
	ARR_ARX+1		2642 #
	ARR_ARX+BRX		2643 #
	ARR_ARX+BR		2644 #	7684	7694
	ARR_ARX-1		2645 #
	ARR_BR			2646 #
	ARR_PC+1		2647 #	4895
	ARR_SHIFT		2648 #	5388
	ARX+MQ_0.M		2754 #	5314	5485	5866	6051	8504
	ARX+MQ_0.S		2755 #
	ARX0-3 DISP		2758 #	9503
	ARX0_AR35		2756 #
	ARX0_MQ35		2757 #	8385
	ARX_-AC0		2654 #	5509
	ARX_-BRX		2655 #	5557	7270	7630	7649
	ARX_-FM[]		2656 #
	ARX_-SLEN		2657 #	10162
	ARX_-2+MQ0		2653 #	7599
	ARX_0S			2661 #	4756	5168	5239	5296	5328	5434	5663	5717	5802	5870	5926
				6297	6329	6404	6554	6705	7573	7593	7626	7734	7737	7746	7749
				8390	8437	8442	8616	9371	9382	9417
	ARX_0.C			2658 #
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-35
; 							Cross Reference Listing					

	ARX_0.M			2659 #	5392	6124	6977	8630
	ARX_0.S			2660 #
	ARX_1B1			2663 #	6082
	ARX_1B17-1		2664 #	5082	9354
	ARX_1S			2665 #	3731	3783	6192	6574	7310	7326	7740	8260	8448	8825	10080
	ARX_1			2662 #	5124	6410	6759	7744	7750
	ARX_2+MQ0		2666 #	5326	6708	7592	7730	7732
	ARX_AC0			2668 #	5209	5230	5386	5487	8047	8515	8826
	ARX_AC0 COMP		2669 #
	ARX_AC0+1		2670 #	4804	4809
	ARX_AC1			2671 #	4072	5205	5227	5705	6298	7084
	ARX_AC2			2672 #	7267
	ARX_AC3			2673 #	5647	5691	8633
	ARX_AC4			2674 #	8438
	ARX_AR			2676 #	3987	4067	4737	5169	5253	5255	5271	5272	5276	5288	5489
				5490	5495	5653	5822	5825	6065	6274	6276	6279	6365	6508	6510
				6512	6526	6604	6664	6729	6744	6746	6930	6968	7065	7079	7139
				7328	7373	7376	7392	7466	7469	7692	7753	7755	7797	7804	7997
				8029	8050	8210	8217	8254	8257	8290	8328	8360	8386	8404	8406
				8457	8513	8579	8621	8692	8758	8763	8774	8794	8797	8812	8815
				8836	8892	8914	8920	8991	9307	9346	9348	9365	9469	9608	9624
				9661	9680	9934	10118	10120	10176
	ARX_AR (AD)		2677 #	5150	5187	5196	5218	5235	7627	7686	8770	8805	9323	9577
				9723	9724	9767	9941
	ARX_AR ANDCA BR		2679 #	8228
	ARX_AR AND ADMSK	2678 #	9633
	ARX_AR SIGN		2680 #	6086
	ARX_AR SWAP		2681 #	4653	4888	5097	5517	7642	8634	8694	9258	9305	9379	9448
				9484	9773	9950	9995
	ARX_AR*2		2682 #	4053	7636
	ARX_AR*4 COMP		2683 #	8550
	ARX_AR*MSK		2684 #	8714
	ARX_AR+1		2685 #	8555
	ARX_AR+CBR		2686 #
	ARX_AR+FM[]		2687 #
	ARX_AR-1		2688 #	4849	8364	8408	8409
	ARX_AR-BR		2689 #
	ARX_AR-FM[]		2690 #
	ARX_AR-FM[]-1		2691 #
	ARX_ARX AND ADMSK	2693 #	9653
	ARX_ARX ANDC ADMSK	2694 #	4692
	ARX_ARX*-6		2695 #	5324
	ARX_ARX*.25		2696 #	5913
	ARX_ARX*.5		2697 #
	ARX_ARX*2		2698 #	5332	5652	6089	6255	6432	6957	6959	7053	7097	8444	8848
				9529
	ARX_ARX*2 COMP		2699 #	9906
	ARX_ARX*4		2700 #	6709	8846
	ARX_ARX*4 COMP		2701 #
	ARX_ARX*8		2702 #	5701	9359	9360
	ARX_ARX*BRX		2703 #	6214	6414	6763
	ARX_ARX*EXPMSK		2704 #
	ARX_ARX+1		2705 #	7163	7167	7169	7186	7199	7204	7219	7221	7271	7284	7597
				7602
	ARX_ARX+1 (AD)		2706 #	7137
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-36
; 							Cross Reference Listing					

	ARX_ARX+AC0		2707 #
	ARX_ARX+BRX		2708 #	7315
	ARX_ARX+CBR		2709 #
	ARX_ARX+FM[]		2710 #	7329	7624
	ARX_ARX-1		2711 #	5318	7700
	ARX_ARX-1 (AD)		2712 #	8295
	ARX_ARX-AR*4		2713 #	7752
	ARX_ARX-FM[]		2714 #
	ARX_ARX-FM[]-1		2715 #
	ARX_BR			2717 #	5279	5710	9826
	ARX_BR*2		2718 #	5706
	ARX_BR+1		2719 #
	ARX_BRX			2720 #	4755	5008	5010	5022	5026	5028	5030	5037	5039	5041	5043
				5046	5072	5292	5302	6283	6311	6412	6761	7155	7175	7216	8191
				8403	9609
	ARX_BRX COMP		2721 #	6394	6397	6695	6698	7273	7658
	ARX_BRX+1		2722 #	8262	8292	8331
	ARX_DSTP		2723 #	8415	8784
	ARX_DSTP2		2724 #	8796	8947
	ARX_E1			2725 #
	ARX_FILL		2726 #	8187	8188
	ARX_FM			2727 #	8187	8188	8388	8415	8576	8740	8762	8784	8796	8947	8971
				9902	10017	10020	10024	10026
	ARX_FM(VMA)		2731 #	3777
	ARX_FM[]		2728 #	7515	7517
	ARX_FM[] COMP		2729 #
	ARX_FM[]+1		2730 #
	ARX_MEM			2732 #	3788	3840	3841	4043	4832	4834	4862	5075	6954	7497	7868
				7869	7905	7906	7976	7977	8012	8081	8082
	ARX_MQ			2733 #
	ARX_MQ+1		2734 #
	ARX_MQ-1		2735 #
	ARX_MQ-FM[]		2736 #
	ARX_MQ-FM[]-1		2737 #
	ARX_PC			2739 #	8201	9769	10123
	ARX_PC+1		2740 #	4636	4641	5100
	ARX_SHIFT		2741 #	3808	5261	5275	5300	5519	5690	5694	5702	5708	5719	5824
				6092	6098	6156	6514	6521	6731	7394	7499	7501	7632	7634	7756
				7996	8018	8021	8506	9383	9514	9516	9518	9520	9652	9815	9825
				9909
	ARX_SRCP		2742 #	8388	8740	8971
	ARX_SRCP2		2743 #	8762
	ARX_SV.AR		2744 #	10020
	ARX_SV.ARX		2745 #	10024	10026
	ARX_SV.BR		2746 #	10017
	ARX_SV.VMA		2747 #	9902
	ARX_T0			2748 #
	ARX_T2			2749 #	8576
	ARX_VMA HELD		2753 #	8201	9769
	AR_(AR+2BR)*.25		2351 #	5458	5830
	AR_(AR+BR)*.25		2352 #	5443	5456
	AR_(AR-2BR)*.25		2353 #	5445
	AR_(AR-BR)*.25		2354 #	5447	5460
	AR_(ARX OR AR*4)*.25	2355 #
	AR_-AC0			2356 #
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-37
; 							Cross Reference Listing					

	AR_-AR			2357 #	5812	6227
	AR_-AR LONG		2358 #	4054	5542	5545	5997	6260	6416	6438	6611	8523
	AR_-BR			2359 #	3982	5552	5565	5750	6399	6459	6700	7331	8519	8586
	AR_-BR LONG		2360 #	5712	5715	5746	8481
	AR_-BR*2 LONG		2361 #
	AR_-BRX			2362 #	5489
	AR_-DLEN		2363 #
	AR_-FM[]		2364 #
	AR_-SLEN		2365 #	8278	10173
	AR_0.C			2366 #	4641	6574
	AR_0.M			2367 #	7270	8300	8555
	AR_0.S			2368 #	5094	10127
	AR_0S			2369 #	4055	4079	4081	4211	4224	4682	4725	4774	5080	5169	5394
				5396	5434	5517	5663	6097	6189	6329	6404	6445	6542	6554	6705
				7392	7394	7641	7642	7996	7997	8257	8328	8437	8442	8616	8621
				8926	9319	9334	9365	9375	9379	9417	9420	9428	9445	9448	9457
				9469	9484	9507	9514	9516	9518	9520	9570	9624	9630	9765	9781
				10133	10161
	AR_1			2370 #	8446	9951
	AR_1 LONG		2371 #	8525
	AR_1S			2372 #	4212	4226	4372	4603	4604	7751	8265	8449	8549
	AR_2			2373 #	9008
	AR_2(AR*BR)		2374 #	5540	5543	5548	5560	5594	5595	5596	5597	5625	5626	5627
				5628	5730	5732	7638	8468
	AR_2(AR+1)		2375 #
	AR_2(AR+BR)		2376 #	5543	5548	5594	5597	5625	5628	5732
	AR_2(AR+BR) LONG	2377 #	8468
	AR_2(AR-BR)		2378 #	5540	5560	5595	5596	5626	5627	5730	7638
	AR_AC0			2380 #	3863	3987	4025	4065	4178	4181	4187	4205	4574	4605	4827
				4829	4888	4891	5167	5178	5207	5228	5251	5271	5272	5312	5362
				5389	5413	5495	5653	5677	5708	5811	5871	5901	6052	6274	6292
				6300	6301	6333	6365	6447	6464	6501	6526	6546	6557	6604	6664
				7073	7098	7134	8148	8156	8245	8360	8506	8579
	AR_AC0 COMP		2381 #	4321	8429
	AR_AC0+1		2382 #	4588	4589	4613
	AR_AC1			2383 #	4067	5742	5743	6324	6325	6361	6518	6524	6525	6553	6600
				7266	8182	8427	8504
	AR_AC1 COMP		2384 #
	AR_AC1*2		2385 #	5270	5484	5649	6258	6353	6354	6479	6540	6589	6590	6663
	AR_AC2			2386 #	5703
	AR_AC3			2387 #	8150	8164	8244	8445	8513	8527	8551	8934	10170
	AR_AC3*2		2388 #
	AR_AC4			2389 #	8186
	AR_ADMSK AND VMA HEL	2391 #
	AR_AD*.25 LONG		2390 #	4054	5542	5545	5997	6260	6416	6438	6611	8523	8620
	AR_ARX			2442 #	3774	3844	4046	4053	4667	4814	4819	4821	5098	5103	5209
				5214	5218	5239	5292	5296	5392	5507	5511	5689	5701	5706	5911
				6123	6286	6289	6297	6387	6468	6473	6687	6945	6976	7140	7267
				7330	7625	7686	7801	7922	8065	8099	8102	8104	8107	8336	8390
				8448	8517	8538	8540	8564	8637	8732	8765	8770	8805	8831	8832
				8833	8857	8861	8883	8893	8918	8952	8960	9000	9001	9002	9003
				9259	9325	9471	9622	9723	9724	9739	9770	9789	9823	9854	9863
				9941	9946	10005	10020	10023	10025	10164	10168
	AR_ARX (ADX)		2444 #	6095	6154	6281	6290	6388	6688	7632
	AR_ARX (AD)		2443 #	3813	3817	3822	3824	5212	5220	5233	5241	5258	6521	6530
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-38
; 							Cross Reference Listing					

				8210	8404	8406	9996
	AR_ARX ANDC ADMSK	2446 #	4656	5050	5093	10125
	AR_ARX AND ADMSK	2445 #	5101
	AR_ARX COMP		2447 #	8256
	AR_ARX COMP AND BRX	2448 #	4685
	AR_ARX OR PUR		2449 #
	AR_ARX*.25		2450 #	5913	9934
	AR_ARX*.25-AR-1		2451 #	8553
	AR_ARX*2		2452 #
	AR_ARX*4		2453 #
	AR_ARX*4 COMP		2454 #
	AR_ARX*AC1		2455 #
	AR_ARX*BR		2456 #	6758	9361
	AR_ARX*BRX		2457 #	8304	9309	10131
	AR_ARX*E1		2458 #
	AR_ARX+1		2459 #
	AR_ARX+1 (AD)		2460 #	8154	8166	8799
	AR_ARX+AC0		2461 #
	AR_ARX+AR*4		2462 #
	AR_ARX+BR		2463 #	6741	7314	7684	7694	7762
	AR_ARX+BRX		2464 #	5338	7238	7269	7333
	AR_ARX+BRX+1		2465 #	5337	7604
	AR_ARX+FM[]		2466 #
	AR_ARX+XR		2467 #	3815	3819	3823	3825
	AR_ARX-1		2468 #	8364	8408	8409
	AR_ARX-AC3		2469 #
	AR_ARX-BR		2470 #	7139	10177
	AR_AR AND ADMSK		2393 #	4808	4878	4883
	AR_AR AND CSMSK		2394 #	9875	9955	9970
	AR_AR OR PUR		2395 #	9877	9992
	AR_AR SWAP		2396 #	3971	4469	4472	4474	4720	5800	5865	7076	8218	9385	9472
				10017
	AR_AR*.25		2397 #	6972
	AR_AR*.25 LONG		2398 #	5442	5462	5550	5562	5925	6126	6175	6377	6379	6676	6678
				6722	6962
	AR_AR*.5		2399 #	6212	6971
	AR_AR*.5 LONG		2400 #	6381	6408	6680	6711	6725	8679	8973
	AR_AR*1.25 LONG		2401 #	8620
	AR_AR*10		2402 #	8447
	AR_AR*10 LONG		2403 #	8537	8642
	AR_AR*2			2404 #	3740	9479
	AR_AR*2 LONG		2405 #	6129
	AR_AR*4			2406 #	9555	9559	9596	9611
	AR_AR*4 LONG		2407 #	6131
	AR_AR*5 LONG		2408 #	8467
	AR_AR*8			2409 #	6462	6471	6944	8842	8850	8878
	AR_AR*8 LONG		2410 #	6133	6152	6165
	AR_AR*AC0		2411 #	4241	4251	4266	4281	4291	4301	4311	4331	4352	4362	4479
				4480	4481	5350
	AR_AR*AC1		2412 #
	AR_AR*BR		2413 #	4761	5061	5096	6734	8516	9362	9964
	AR_AR*EXPMSK		2414 #
	AR_AR*MSK		2415 #	8716
	AR_AR*SFLGS		2416 #	8285	8472	10176	10180
	AR_AR*SLEN		2417 #	10171
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-39
; 							Cross Reference Listing					

	AR_AR*T0		2418 #	8400	10166
	AR_AR+1			2420 #	3797	4539	4540	6382	6393	6694	7794	7798	7824	7829	7833
				7837	7841	7953	8297	8580	8760	8768	8795	8803	8869	8897	8899
				8994	9148	9565	9589
	AR_AR+1 LONG		2421 #	8580
	AR_AR+1-AR0		2422 #	8764	8798
	AR_AR+BR		2423 #	5598	5601	5611	5659	5671	6099	6209	6293	6332	6527	6548
				6556	6710	6975	7085	7268	7688	7692	8284	9401	9407	9439	9505
				9632	10175
	AR_AR+BR LONG		2424 #	5611	5659	5671	6332	6556	9439	9505
	AR_AR+E1		2425 #	8628	8680
	AR_AR+FM[]		2426 #	5127	5130	7239	7328	7650
	AR_AR+SBR		2427 #
	AR_AR+T0		2428 #
	AR_AR+T1		2429 #
	AR_AR+XR		2434 #
	AR_AR-1			2435 #	4555	4556	4606	4830	8725	9590
	AR_AR-BR		2436 #	5363	5599	5600	5614	5661	6545	6943	7135	8254	8281
	AR_AR-BR LONG		2437 #	5614	5661
	AR_AR-BR-1		2438 #
	AR_AR-FM[]		2439 #
	AR_AR-T0		2440 #
	AR_BRX			2485 #	5088	5298	5490	5710	7695	7756	8056	8956	8995	9610	9613
				9671
	AR_BRX+1		2486 #	7327
	AR_BR			2472 #	4022	4024	4669	5263	5264	5288	5301	5690	5694	5749	6090
				6208	6283	6311	6389	6456	6460	6544	6586	6689	6740	6937	6942
				7056	7069	7075	7739	8050	8055	8063	8167	8387	8403	8938	8958
				9161	9200	9205	9233	9267	9313	9356	9426	9468	9764	9786	9824
				10149
	AR_BR COMP		2473 #	6394	6397	6695	6698	8255
	AR_BR COMP LONG		2474 #	5714
	AR_BR LONG		2475 #	5720	5722	5745	6515	6577	8451	8464	8473	8479	8583	8614
				8623	8639	10060	10084
	AR_BR OR ARX		2476 #	8185	8190	8430
	AR_BR*.5		2477 #
	AR_BR*.5 LONG		2478 #	8529
	AR_BR*2			2479 #	5815
	AR_BR*2 LONG		2480 #	5286	6160
	AR_BR*4			2481 #
	AR_BR*4 LONG		2482 #	6162
	AR_BR+1			2483 #	7190	7225	7288
	AR_BR+1 LONG		2484 #
	AR_CACHE CNT		2488 #	9434	9490
	AR_DLEN			2489 #	8263	8270	8273	8719	8739	10088	10092	10100
	AR_DLEN COMP		2490 #	10064
	AR_DLEN+1		2491 #	8345
	AR_DSTP			2492 #	8261	8415	8722	8784	8860	8862	10157
	AR_DSTP+1		2493 #
	AR_DSTP2		2494 #	8797	9006
	AR_DSTP2+1		2495 #
	AR_DSTW			2496 #
	AR_E0			2497 #
	AR_E1			2498 #
	AR_EBOX CNT		2499 #	9433	9489
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-40
; 							Cross Reference Listing					

	AR_EBUS			2500 #	3744	3746	9172
	AR_EBUS REG		2501 #	4776	9364	9381	9740	9755
	AR_FILL			2502 #	8344
	AR_FM[]			2504 #	10142
	AR_FM[] COMP		2505 #
	AR_FM[]+1		2506 #
	AR_FM			2503 #	5719	5739	7677	8261	8263	8270	8273	8290	8338	8344	8388
				8415	8565	8577	8677	8693	8695	8719	8720	8722	8728	8739	8740
				8763	8784	8797	8860	8862	8971	8980	9006	9011	9013	9813	9830
				9868	9876	9892	9903	9929	9966	9980	9997	10015	10056	10088	10092
				10100	10104	10117	10144	10157
	AR_FM(#)		2507 #
	AR_FM(VMA)		2508 #
	AR_INTERVAL		2509 #	9447
	AR_MEM			2511 #	3869	3882	3888	4654	4689	4696	4832	4834	4856	4862	6926
				6967	7050	7064	7192	7193	7228	7230	7277	7278	7290	7292	7316
				7317	7446	7497	7522	7523	7524	7525	7526	7527	7528	7530	7536
				7537	7538	7539	7540	7541	7543	7549	7550	7551	7555	7556	7797
				7991	7993	8012	8014	8242	8365	8563	8632	8691	8837	8936	8945
				8976	8981	9125	9564	9588	9597	9810	9825	9845	9871	9893	9916
				10135
	AR_MQ			2512 #	5519	5629	5630	5631	5632	5672	5678	5693	5740	6098	6296
				6340	6356	6358	6562	6592	6594	6622	6886	7499	7680	8018	8391
				8589	8591	8785	8964	9608
	AR_MQ COMP		2513 #	6375	6674
	AR_MQ*.25		2514 #	6156
	AR_MQ*2			2515 #
	AR_MQ*4			2516 #	9661
	AR_MQ*AC1		2517 #
	AR_MQ*AC2		2518 #
	AR_MQ*AC3		2519 #
	AR_MQ+1			2520 #	3729
	AR_MQ+AC0		2521 #
	AR_MQ+BR		2522 #
	AR_MQ+FM[]		2523 #
	AR_MQ-1			2524 #	7157
	AR_MQ-AC3		2525 #
	AR_MQ-BR		2526 #
	AR_MQ-BR-1		2527 #
	AR_MTR REQ		2528 #	9478
	AR_PC			2529 #	4759	5078	10118	10120
	AR_PC FLAGS		2530 #	5097
	AR_PC+1			2531 #	4806	4874	4876
	AR_PERF CNT		2532 #	9432	9488
	AR_PERIOD		2533 #	9449
	AR_PUR+AR0		2534 #
	AR_SERIAL		2536 #	9231
	AR_SFLGS		2537 #	8338	8677	8693	8695	8720	8980	9011	9013
	AR_SHIFT		2538 #	3808	3904	3927	4044	4073	4756	5085	5180	5183	5197	5243
				5302	5315	5317	5388	5398	5401	5688	5691	5704	5748	5827	6288
				6298	6385	6405	6412	6519	6685	6706	6760	6888	6890	7081	7084
				7137	7501	7502	8004	8021	8023	8266	8450	8484	8622	8703	8826
				8838	9213	9357	9508	9625	9826	10122	10162
	AR_SIGN			2539 #	3899	3900	5253	5255	5275	5276	5285	5402	5682	5747	5821
				5822	6066	6092	6276	6279	6510	6512	6729	7058	7065	7079	7753
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-41
; 							Cross Reference Listing					

				7755	8483
	AR_SLEN			2540 #	8728
	AR_SLEN COMP		2541 #	8283	8301	8459	8465	10183
	AR_SLEN+1		2542 #	8269	8454	8611	8726	8729
	AR_SRCP			2543 #	8290	8388	8740	8971	10056
	AR_SRCP+1		2544 #
	AR_SRCP2		2545 #	8763
	AR_SRCP2+1		2546 #
	AR_SV.AR		2547 #	10144
	AR_SV.ARX		2548 #
	AR_SV.BR		2549 #	9813	9830	9868	9876	9892	9903	9929	9966	9980
	AR_SV.PFW		2550 #	9997	10104	10117
	AR_SV.SC		2551 #	10015
	AR_SV.VMA		2552 #
	AR_SWD			2553 #
	AR_T0			2555 #	5719	7677	8565
	AR_T1			2556 #	5739	8577
	AR_T2			2557 #
	AR_TIME BASE		2558 #	9431	9487
	AR_VMA HELD		2569 #	10118	10120
	AR_XR			2570 #	4668
	AR_[] AND FM[]		2350 #	8230
	B DISP			2762 #	4020	4041	4467	4470	4472	4475	4819	5654	5803	5861	5865
				6255	6432	8097	8259	8439	8447	8622	8678	8715	8719	9147	9429
				9437
	B STORE			2763 #	4054
	B WRITE			2764 #	4777	5401	6223	6227	9126	9310	9385
	BLKO TIM(L)		2765 #	9471	9473
	BLKO TIM(R)		2766 #	9472
	BR_AR LONG		2767 #	4054	5285	5394	5396	5434	5612	5615	5710	5712	5714	5715
				5720	5722	5745	5746	6090	6152	6165	6189	6192	6258	6262	6266
				6574	6577	6588	6681	8446	8454	8464	8525	8527	8583	8586	8610
				9523	9525
	BYTE DISP		2768 #	4740	5208	7374	7377	7466	7470	7679	7711	7779	8200	8505
				8755	8791	8915	8945	8946	8947	8960	8992	9120	9403	9409	9961
	BYTE INDRCT		2769 #	7863	7865	7900	7902	7929	7931	7972	7973
	BYTE LOAD		2770 #	7859	7861	7872	7874
	BYTE PREV & CLR SR3	2771 #
	BYTE PREV & SET SR2	2772 #
	BYTE PREV & SET SR3	2773 #
	BYTE READ		2774 #	7970	7971	7980	7981
	BYTE READ PC		2775 #
	BYTE RPW		2776 #	7895	7897	7909	7912
	CALL			2778 #	3732	4043	4068	4630	4633	4634	4636	4637	4639	4683	4688
				4693	4757	4775	4811	4850	5049	5054	5055	5073	5077	5081	5083
				5289	5395	5397	5414	5488	5551	5556	5563	5568	5678	5695	5718
				5734	5740	5902	5903	6274	6331	6340	6353	6354	6367	6431	6436
				6440	6444	6447	6454	6459	6465	6474	6501	6504	6516	6522	6547
				6551	6555	6558	6566	6576	6586	6589	6590	6593	6595	6605	6614
				6622	6931	6961	7052	7074	7100	7136	7156	7217	7238	7374	7381
				7386	7388	7467	7576	7639	7641	7691	7868	7905	7976	8081	8148
				8149	8156	8182	8183	8186	8187	8211	8242	8243	8269	8272	8291
				8329	8337	8344	8389	8399	8416	8427	8428	8455	8503	8528	8549
				8563	8564	8578	8585	8588	8636	8771	8784	8786	8806	8824	8916
				8926	8972	8974	8978	8993	9009	9012	9119	9125	9140	9162	9211
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-42
; 							Cross Reference Listing					

				9219	9221	9226	9230	9232	9255	9281	9303	9319	9335	9336	9346
				9353	9355	9363	9375	9380	9390	9391	9419	9426	9443	9445	9457
				9469	9479	9528	9578	9596	9597	9600	9607	9611	9612	9628	9631
				9638	9643	9648	9659	9660	9663	9664	9669	9670	9672	9678	10119
				10128	10148
	CALL []			2779 #	4043	4068	4630	4633	4634	4636	4637	4639	4683	4688	4693
				4850	5049	5073	5395	5397	5488	5551	5556	5563	5568	6431	6436
				6440	6444	6447	6454	6459	6465	6474	6501	6504	6516	6522	6547
				6551	6555	6558	6566	6576	6586	6589	6590	6593	6595	6605	6614
				6622	6931	6961	7052	7074	7100	7136	7156	7217	7238	7374	7381
				7386	7388	7467	7576	7639	7641	7691	7868	7905	7976	8081	8148
				8149	8156	8182	8183	8186	8187	8211	8242	8243	8427	8428	8503
				8824	9140	9336	9391	9419	10128
	CALL.C			2781 #
	CALL.M			2782 #	5485	5549	5561	5670	5873	6357	6359	8326	8675	8754	9252
				9300	9324	9372	9438	9455	9504	9595	9679
	CALL.S			2783 #	5651	6254
	CALL[]			2780 #
	CBR			2784 #	9852	9863	9940	9946
	CLR ACC+SET UCODE	2785 #
	CLR ACCOUNT EN		2786 #	3743	9721	9722
	CLR AR			2787 #	3731	6089	6192	6488	6539	6541	6596	6727	6932	6939	6968
				6973	7053	7066	7636	8260	8576	8825	9577
	CLR ARX			2788 #	5298	5389	5413	6090	6095	6155	6208	6209	6291	6388	6522
				6530	6688	7411	7420	7427	7435	7442	8265	8446
	CLR EBUS DEMAND		2789 #	9173
	CLR EXP			2790 #	8514
	CLR FE			2791 #	3905	3922	4725	4743	5137	5193	6173	6457	6461	6596	6663
				7081
	CLR FPD			2792 #	7392	7394	7410	7419	7426	7434	7441	7443	7444	7502	7550
				7551	7577	7826	8616	9135
	CLR MQ			2793 #	5647	6409	6967	7064	7085
	CLR MTR PA EN		2794 #
	CLR PT LINE		2796 #	9402
	CLR PT LINE (KEEP)	2797 #	9408
	CLR P			2795 #	3993	5048	5072
	CLR SC			2798 #	3775	3905	3922	4725	5137	5193	5736	6545	7412	7421	7428
				7436	7522	7530	7536	7543	7549
	CLR SPECIAL CYCLE	2799 #	9839
	CLR SR2			2800 #
	CLR SR3			2801 #	6300
	CLR TRACKS EN		2802 #
	CLR TRK+PA EN		2803 #
	CMS FETCH		2804 #	8393
	COMP FETCH		2805 #	4507
	CONI APR(L)		2806 #	9258
	CONI APR(R)		2807 #	9257
	CONI MTR		2808 #	9459
	CONI PAG		2809 #	9377
	CONI PI(L)		2810 #	9308
	CONI PI(PAR)		2811 #	9306
	CONI PI(R)		2812 #	9304
	CONO APR		2813 #	9254	9260
	CONO MTR		2814 #	9456
	CONO PAG		2815 #	9373
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-43
; 							Cross Reference Listing					

	CONO PI			2816 #	9301
	CONO TIM		2817 #	9444
	CONTINUE		2818 #	4740
	CSMSK			2819 #	9875	9955	9970
	DATAI APR(L)		2821 #	9227
	DATAI PAG(L)		2822 #	5082	9354
	DATAO APR		2823 #	9220
	DATAO PAG(L)		2824 #	9325
	DIAG IN			2825 #	4776	5082	9227	9257	9258	9304	9306	9308	9354	9364	9377
				9381	9431	9432	9433	9434	9447	9449	9459	9478	9487	9488	9489
				9490	9740	9755
	DIAG OUT		2826 #	9220	9254	9260	9301	9325	9373	9444	9456	9471	9472	9473
	DISMISS			2827 #	4659	4661	4673	9144	9598
	DIVIDE			2828 #	5540	5543	5548	5560	5594	5595	5596	5597	5598	5599	5600
				5601	5625	5626	5627	5628	7638
	DLEN			2829 #	8255	8256	8263	8270	8273	8302	8345	8347	8719	8727	8739
				10064	10088	10092	10100
	DLEN_AR			2830 #	8255	8256	8302	8347	8727
	DROP EBUS REQ		2831 #	9185
	DSTP			2832 #	8261	8415	8415	8722	8784	8784	8794	8811	8812	8815	8860
				8862	8960	8961	10157	10159
	DSTP2_AR		2835 #	8805	8966
	DSTP2			2834 #	8796	8797	8805	8947	8966	9006
	DSTP_AR			2833 #	8811	8812	8815	8960	8961	10159
	DSTW			2836 #
	DSTW_AR			2837 #
	E0			2841 #	6432	6439	6467	6472	6550	6660	8056	8721	8925	8927	9009
	E0_AR			2842 #	8056
	E1			2843 #	6448	6457	6476	6517	6523	6542	6585	6693	6912	6913	6920
				6921	6922	6969	7054	7067	8099	8102	8104	8107	8627	8628	8678
				8679	8680	8689	8973	8974
	E1_AR			2844 #	8099	8102	8104	8107
	EA MOD DISP		2845 #	3775	3844	4649	7381	7386	7474	7484	7870	7871	7907	7908
				7922	7923	7968	7978	7979	8065	8083	8084	8759	8774	8813	8816
	EPT FETCH		2846 #	9572	9573	9579
	EPT REF			2847 #	9524	9582	9617	9805
	EPT REF CACHE		2848 #	8213
	EXEC REF		2849 #
	EXIT			2850 #	3971	3980	3982	4176	4178	4181	4184	4188	4192	4201	4203
				4211	4212	4217	4218	4224	4226	4241	4251	4266	4281	4291	4301
				4311	4321	4331	4342	4352	4362	4372	5350	5363	5417	5418	5489
				5490	5557	5569
	EXP TEST		2851 #
	EXP TST			2852 #	6213	6409
	EXPMSK			2853 #	3798	6666	6668	6732	6869	6870	6876	6877	7088	7091	8227
	EXP_-SC-1		2854 #
	EXP_-SC-1 TST		2855 #
	EXP_1			2856 #	6341
	EXP_FE TST		2857 #	6213	6409
	EXP_SC			2858 #	6970
	EXP_SC.MS		2859 #	6728
	EXP_SCAD		2860 #	6341	6970	8514
	EXP_SCAD.C		2861 #	6213	6409
	EXP_SCAD.MS		2862 #	6728
	EXP_SIGN		2863 #	5802	5814	5866	5870	5872	5996	6053	6310	6337	7082
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-44
; 							Cross Reference Listing					

	EXP_SIGN.C		2864 #	6977
	EXP_SIGN.MS		2865 #
	EXP_SIGN.S		2866 #	6252
	EXT ADDR		2867 #	8076
	EXT BYTE READ		2868 #	7378	7382
	EXT BYTE RPW		2869 #	7471	7475
	EXT INDEX		2870 #	8077	8085	8087
	EXT INDRCT		2871 #	8078	8079
	FETCH			2921 #	3795	4572	4587	4604	4628	4659	4676	4813	4837	4839	4874
				4880	4894	5089	5256	5329	5333	5335	8483	8618	9599
	FETCH WAIT		2923 #	5138	5184	5191
	FETCH+1			2922 #	8873
	FE_#			2873 #	3845	3869	3882	5205	5394	5396	5414	5496	5507	5510	5511
				5517	5550	5562	5629	5630	5631	5632	5664	5679	5734	5871	5901
				6065	6263	6333	6366	6526	6552	6557	6604	6975	7049	7063	7405
				7406	7448	7449	7515	7517	7555	7556	7633	7636	7641	7642	7788
				7791	7925	7952	8148	8156	8295	8386	8526	8584	8587	8722	8740
				8971	9281	9421	9734	9739	10052
	FE_# AND S		2874 #	9570	9622	9659	9668
	FE_#+AR0-8		2875 #
	FE_#+SC			2876 #	5228	5874	7480	7498
	FE_#-SC			2877 #	7500	8019
	FE_+#			2878 #
	FE_-1			2879 #	5389	5392	5713	9805	9806
	FE_-SC			2881 #
	FE_-SC-1		2882 #	7479	10021
	FE_-S			2880 #	7473	7483	7485
	FE_0			2883 #
	FE_1			2884 #	5707
	FE_AR0-8		2885 #	4737	6463	6472	6945	8253	8552
	FE_AR0-8 AND #		2886 #
	FE_AR0-8 COMP		2887 #	8433
	FE_EXP			2888 #	5802	6252	10016
	FE_EXP+1		2889 #
	FE_EXP+SC		2890 #	6053
	FE_EXP-#		2891 #	6081	6085
	FE_EXP-1		2892 #
	FE_FE AND AR0-8		2894 #	8164	9811	9901
	FE_FE AND #		2893 #	9854	9871
	FE_FE OR #		2895 #	9893	9916	9964	9999
	FE_FE OR AR0-8		2896 #
	FE_FE SHRT		2897 #	9905
	FE_FE+#			2898 #	5513	5911	5914	6126	6160	6378	6380	6677	6678	6956	6963
				8888
	FE_FE+1			2899 #	5435	5442	5444	5446	5448	5457	5459	5461	5462	5467	5670
				5824	5825	5828	6162	6212	6356	6358	6381	6408	6563	6565	6592
				6594	6680	6711
	FE_FE+S			2900 #
	FE_FE+SC		2901 #	5207	5815	6312	9784	9786
	FE_FE-#			2902 #	5219	5239	6131	6133	6153	6157	6166	6175	8868	8882	8897
				8900	8917	8963	9962
	FE_FE-1			2903 #	5540	5543	5548	5560	5594	5595	5596	5597	5598	5599	5600
				5601	5625	5626	5627	5628	6129	6384	6683	6959	7638	8537	8539
				9401	9407
	FE_FE-S			2904 #	7595	7597	7700
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-45
; 							Cross Reference Listing					

	FE_FE-SC		2905 #	6385	6405	6685	6706	7684	7686	9936
	FE_FE-SC-1		2906 #	7751
	FE_P			2907 #	5314	5317	7592	7593	8703	8764	8798
	FE_P AND #		2908 #	8705	8834	8920	9333	9782
	FE_P AND SC		2909 #
	FE_P OR #		2910 #
	FE_P+S			2913 #
	FE_P+SC			2914 #	8884
	FE_P+#			2911 #
	FE_P+1			2912 #	7680
	FE_P-S			2916 #
	FE_P-#			2915 #
	FE_S			2917 #	7380	7385	7387	7968	8217	8758	8773	8774	8811	8812	8815
	FE_S+#			2918 #
	FE_SC			2919 #	5437	5438	5439	5440	5451	5452	5453	5454	5612	5615	8017
				8590	8592
	FILL			2924 #	8149	8187	8188	8243	8344	8503	8559	8564
	FILL_AR			2925 #	8149	8243	8503	8564
	FIN LOAD		2926 #	4040	4042	4709	7389	7410	7412	7413	7414	7415	7416	7417
				7419	7426	7428	7429	7430	7431	7432	7434	7441	7443	7444	7448
				7449	7553
	FIN STORE		2927 #	3900	3902	3908	3910	4073	4524	4685	4687	4813	4818	4880
				4894	5056	5064	5103	7189	7190	7201	7203	7223	7225	7286	7288
				7312	7577	7801	8956
	FIN XFER		2928 #	3875	8954	9527
	FINISH			2929 #	3936	5696	8486
	FM(#)_AR		2932 #
	FM[]_AR			2931 #	3740	3798	6432	6437	6439	6445	6448	6465	6466	6473	6474
				6477	6505	6517	6523	6542	6549	6559	6585	6599	6619	6659	6662
				6969	6976	7054	7056	7067	7069	7097	7268	9549	10124
	FM_AR			2930 #	3740	3798	5701	5717	6432	6437	6439	6445	6448	6465	6466
				6473	6474	6477	6505	6517	6523	6542	6549	6559	6585	6599	6619
				6659	6662	6969	6976	7054	7056	7067	7069	7097	7268	7604	7625
				7751	8056	8099	8102	8104	8107	8149	8243	8255	8256	8257	8259
				8267	8300	8302	8325	8347	8391	8437	8442	8444	8451	8503	8538
				8540	8549	8550	8562	8564	8613	8675	8703	8705	8727	8732	8758
				8770	8773	8774	8805	8811	8812	8815	8830	8836	8960	8961	8966
				8995	9549	10124	10155	10159
	FORCE AR-ARX		2933 #	9721	9722
	GEN # AND AR0-8		2937 #	9827	9864	9888	9922
	GEN # AND SC		2938 #
	GEN #+AR0-8		2939 #	8046	8840
	GEN #+SC		2940 #	5259	5292	6277
	GEN #-S			2941 #
	GEN #-SC		2942 #	9961
	GEN -AC0		2943 #
	GEN -AR LONG		2944 #	4054	5542	5545	5997	6260	6416	6438	6611	8523
	GEN -AR*4		2945 #
	GEN -BR LONG		2946 #	4044	4069
	GEN -SC			2947 #
	GEN -SC-1		2948 #
	GEN 0S			2949 #
	GEN 2AR			2950 #
	GEN AC0			2952 #	7076
	GEN AC0+1		2953 #
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-46
; 							Cross Reference Listing					

	GEN AR			2954 #	3833	3835	6299	6343	6443	6579	6766	6927	6978	7059	7101
				7378	7382	7471	7475	7859	7863	7895	7900	7970	7972	8064	8076
				8078	8219	9169	9172	9174	9176	9187	9189	9195	9310
	GEN AR*2 LONG		2955 #	5579
	GEN AR*AC0		2956 #	4507	5133	5135	6265	6587
	GEN AR*BR		2957 #	5415	5680	6934	8542
	GEN AR*T0		2958 #
	GEN AR+1		2959 #	6889	7788	7791	7812	7815	7817	7819	7821	7952
	GEN AR+2BR		2960 #	6001
	GEN AR+BR		2961 #
	GEN AR+E1		2962 #
	GEN AR+FM[]		2963 #
	GEN AR+XR		2964 #	3834	3837	7861	7865	7897	7902	7971	7973	8077	8079
	GEN AR-2BR		2965 #	5999
	GEN AR-AC3		2966 #	8457
	GEN AR-BR		2967 #	6490	6938
	GEN AR-BR-1		2968 #	6934	8542
	GEN AR-FM[]		2969 #
	GEN AR-FM[]-1		2970 #
	GEN AR0-8		2971 #
	GEN ARX			2972 #	6262	6441	7872	7909	7929	7980	8085	8300	8393
	GEN ARX COMP		2973 #	8558
	GEN ARX*BRX		2975 #
	GEN ARX*BR		2974 #
	GEN ARX+1		2976 #
	GEN ARX+XR		2977 #	3815	3819	3823	3825	7874	7912	7931	7981	8087
	GEN ARX-1		2978 #	5125
	GEN ARX-FM[]		2979 #
	GEN BR			2981 #	4851	7155
	GEN BR*2		2982 #	9771
	GEN BR+ARX		2983 #
	GEN BRX+1		2984 #
	GEN CRY18		2985 #	4613	6150	7138	7139	9134	9148
	GEN E1			2986 #	6693
	GEN FE			2987 #
	GEN FE AND #		2988 #	5324	5326	5328	5332	5334	8214	9952	9995
	GEN FE AND AR0-8	2989 #
	GEN FE AND S		2990 #
	GEN FE AND SC		2991 #	9924
	GEN FE OR AR0-8		2992 #	8165
	GEN FE+#		2993 #
	GEN FE-#		2994 #	6954	7735	7736	7738
	GEN FE-1		2995 #	4740
	GEN FE-S		2996 #
	GEN FE-SC		2997 #
	GEN FE-SC-1		2998 #	7895	7898	7910	7913	8012
	GEN FM[]		2999 #	10108
	GEN MQ			3000 #	7160	7161
	GEN MQ*AC0		3001 #	5555	5567
	GEN MQ-BR		3002 #	7218
	GEN MQ-BR-1		3003 #	7158	7276
	GEN P AND SC		3005 #	9954	9997
	GEN P AND #		3004 #
	GEN P+SC		3006 #
	GEN P-#			3007 #	7812	7815	7817	7819
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-47
; 							Cross Reference Listing					

	GEN P-S			3008 #	8977
	GEN P-SC		3009 #
	GEN SC			3010 #	8062
	GEN SCAD 0S		3011 #
	GEN T1			3012 #
	GEN T2			3013 #
	GET ECL EBUS		3014 #	3827	3828	3829	3830	4675	9206	9477	9730
	GLOBAL			3015 #	3813	3815	3817	3819	3822	3823	3824	3825	7378	7382	7471
				7475	7872	7874	7909	7912	7929	7931	7980	7981	8085	8087
	HALT			3017 #	4651
	HARDPFW			3018 #	10124
	I FETCH			3019 #	3875	3899	3901	3902	3908	3910	3984	3990	3995	4042	4045
				4081	4758	4786	4818	5126	5167	5179	5213	5221	5234	5242	5262
				5284	5313	5398	5583	5694	5735	6096	6097	6404	6413	6705	6762
				6888	6890	6891	6928	6936	6940	7189	7201	7223	7265	7286	7312
				7390	7410	7412	7413	7414	7415	7416	7417	7419	7426	7428	7429
				7430	7431	7432	7434	7441	7443	7444	7448	7449	7577	7606	7681
				7702	7710	8283	8556	9143
	INDEXED			3020 #	3834	3837	7861	7865	7897	7902	7971	7973	8077	8079
	INH CRY18		3021 #	5127	7226	7239	8760	8768	8795	8799	8803	8869	8899
	IO INIT			3022 #	9187
	IR DISP			3023 #	3864	3870	3876	3883	3889	8100	8103	8105	8108
	JFCL FETCH		3025 #	4760
	JFCL S			3026 #	4762
	JFCL T			3027 #	4759
	JUMP FETCH		3028 #	4574	4589	4606	4613
	LD PCS			3030 #	4678
	LD PREV CTXT		3031 #	5084
	LOAD AR			3032 #	4023	4038	4634	4642	4687	4709	5056	5711	6925	6966	7048
				7062	7191	7216	7226	7274	7289	7314	7690	7707	7796	8157	8213
				8364	8559	8627	8689	8721	8832	8833	8889	8893	8925	8927	8974
				9009	9151	9524	9525	9582	9583	9639	9640	9644	9645	9805	9806
				9824	9829	9844	9866	9891	9915	9950	10133
	LOAD AR (RPW)		3033 #	9556	9563
	LOAD AR (WR TST)	3034 #	8932	8935
	LOAD ARX		3035 #	3782	4040	4811	5054	5064	5074	5650	6253	6430	6946	7051
				9527	9575
	LOAD ARX (WR TST)	3036 #	8953
	LOAD EBR		3037 #	9391
	LOAD IR			3038 #	3777	3788	5150	8064
	LOAD UBR		3039 #	9336
	LOAD VMA(EA)		3040 #	7155
	LONG EN			3041 #	3840	7868	7905	7976	8081
	MAP			3045 #	4771	9753
	MB WAIT			3046 #	3863	4774	8214	9215	9347	9418	9482	9740	9754	9953	10115
				10125
	MEM_AR			3047 #	4055	4079	4815	4820	5078	5088	5100	7206	7310	7376	7380
				7384	7469	7473	7477	7483	7826	7968	8787	8958	9005	9008	9129
				9131	9140	9147	9507	9598	9886
	MQ_0.C			3049 #
	MQ_0.M			3050 #	5251	5520	5824	5825	5828	6284	6287	6357	6359	6593	6595
				6623	6759	8589	8591
	MQ_0.S			3051 #	4043	4067	5651	6252	6431	6926	7050
	MQ_1			3052 #	5513
	MQ_1S			3053 #
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-48
; 							Cross Reference Listing					

	MQ_AC0			3054 #	5207
	MQ_AD			3055 #	5207	5260	5513	5554	5566	6578	7186	7221	7280	7284	7307
				7479	7678	8222
	MQ_ARX			3062 #	5187	5196	5209	5214	5218	5230	5235	5717	6313	6315	7057
				7269	7523	7524	7525	7526	7527	7528	7531	7532	7533	7534	7537
				7538	7539	7540	7541	7544	7545	7546	7547	7575	7595	8150	8209
				8438	8846	8848	8862
	MQ_ARX COMP		3063 #
	MQ_ARX*2		3064 #
	MQ_ARX+BR		3065 #	5566
	MQ_ARX-BR		3066 #	5554
	MQ_AR			3056 #	3899	3900	4055	4832	4834	5093	5386	5389	5413	5629	5630
				5631	5632	5672	5678	5740	5816	5819	5871	6329	6333	6340	6394
				6397	6399	6554	6557	6562	6610	6695	6698	6700	7135	7216	7677
				8012	8056	8257	8386	8577	8613	8784	9428	9479	9548
	MQ_AR (AD)		3057 #
	MQ_AR COMP		3058 #
	MQ_AR SWAP		3059 #
	MQ_AR XOR BR		3060 #	5260
	MQ_AR-1			3061 #
	MQ_BR			3067 #	8222
	MQ_BR COMP		3068 #
	MQ_FM[]			3069 #	7479
	MQ_MQ*.25		3070 #	5692	6377	6676	6723
	MQ_MQ*2			3071 #	5690	5730	5732	8401
	MQ_MQ*BR		3072 #	6578
	MQ_MQ+1			3073 #	7186	7221	7284
	MQ_MQ-1			3074 #	7280	7307	7678
	MQ_SHIFT		3075 #	5212	5220	5233	5241	5258	5298	5663	5821	6094	6154	6281
				6290	6292	6296	6388	6389	6530	6688	6689	9333
	MSK			3077 #	8267	8451	8681	8714	8716	8830
	MSK_AR			3078 #	8267	8451	8830
	MUL			3079 #	5435	5442	5444	5446	5448	5457	5459	5461	5462	5467	5670
	MUL DISP		3080 #	5395	5397
	NO CRY			3082 #	4467	4469	4472
	NORM			3083 #	5831	5913	5925	6127	6153	6158	6166	6176	6209	6294	6343
				6362	6382	6390	6395	6398	6399	6528	6580	6601	6667	6669	6691
				6696	6699	6701	6710	6766	6964	6978	7059	7070	7101
	NORM AR			3085 #	5874
	NORM -AR		3084 #	6125
	NXT INSTR		3086 #	3905	3922	5137	5193
	OPTIONS			3088 #	9234
	P0			3122 #	9875	9955	9970
	P1			3123 #	9877	9992
	P10			3124 #	9765	9813	9830	9868	9876	9892	9903	9929	9966	9980	10017
	P11			3125 #	9770	10015
	P12			3126 #	9763	9764	9789	9997	10001	10104	10117
	P13			3127 #
	P14			3128 #
	P15			3129 #
	P16			3130 #	9723	10020	10144
	P17			3131 #	9724	10024	10026
	P2			3132 #	9852	9863	9940	9946
	P3			3133 #	9823	9838	9914
	P4			3134 #
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-49
; 							Cross Reference Listing					

	P5			3135 #	9773	9902	10005	10036	10043
	P6			3136 #
	P7			3137 #
	PC_VMA			3138 #	4726
	PF DISP			3139 #	9730	9741
	PFA			3140 #
	PFA_AR			3141 #
	PHYS REF		3142 #	4023	4025	9563	9565	9640	9645	9650	9824	9829	9844	9866
				9886	9891	9915	9950
	PHYS REF CACHE		3143 #
	POP AR			3144 #	4827
	POP AR-ARX		3145 #	4829
	POP ARX			3146 #
	PORTAL			3147 #	4628
	PT FETCH		3148 #
	PT REF			3149 #	3782	5054
	PT SEL_INVAL		3150 #	9393
	PT SEL_INVAL (KEEP)	3151 #	9397
	PT SEL_NORMAL		3152 #	9404	9410
	PUR			3153 #	9877	9992
	PUSH			3154 #	4804	4809
	P_#			3090 #	7730	7732	7734	7737	7740	7744	7746	7749	7750
	P_# AND SC		3091 #
	P_#+SC			3092 #
	P_#-SC			3094 #	7600
	P_#-S			3093 #	8778	8800
	P_-SC			3095 #
	P_0			3096 #
	P_1S			3097 #
	P_FE			3098 #	5579	7752	8767	8994
	P_FE AND #		3099 #
	P_FE OR SC		3100 #	8903	8904	9757
	P_FE+S			3101 #
	P_FE+SC			3102 #	7763
	P_FE-S			3103 #	7794	7953	8297	8761
	P_FE-S.S		3104 #	7796
	P_FE.C			3105 #	8802
	P_P AND #		3106 #	6755	8643	8706	8710	8909
	P_P AND SC		3107 #	8870
	P_P OR #		3108 #	8707	8708	8709	8711
	P_P OR SC		3109 #	8731	9015	10006
	P_P+#			3110 #
	P_P+1			3111 #	7811	7814	7830	7834	7838	7842	8871
	P_P+S			3112 #	10154
	P_P+S.C			3113 #	10158
	P_P-S			3114 #	7602	7779	8299	8754	8791	9679
	P_SC			3115 #	7693	9359
	P_SC#			3116 #	7799	7822	7823
	P_SCAD			3117 #	3993	5048	5072	5579	7602	7693	7700	7752	7779	8299	8754
				8767	8791	8903	8904	8994	9359	9679	9757	10154
	P_SCAD#			3118 #	6755	7600	7730	7732	7734	7737	7740	7744	7746	7749	7750
				7763	7799	7811	7814	7822	7823	7830	7834	7838	7842	8643	8706
				8707	8708	8709	8710	8711	8731	8778	8800	8802	8871	8909	9015
				10006	10158
	P_SCAD.C		3119 #	7794	7953	8297	8761	8870
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-50
; 							Cross Reference Listing					

	P_SCAD.S		3120 #	7796
	R0			3157 #	9754
	R1			3158 #
	R10			3159 #	8257	8269	8278	8283	8301	8325	8437	8454	8459	8465	8550
				8611	8613	8675	8726	8728	8729	10162	10171	10173	10183
	R11			3160 #	5717	5739	6466	6474	6507	6519	7625	7650	8538	8540	8577
	R12			3161 #	6437	6445	6452	6461	6477	6549	6598	6599	6615	6619	6659
				6662	6739	6976	7056	7069	7097	8549	8576
	R13			3162 #	8149	8187	8188	8243	8344	8503	8559	8564
	R14			3163 #
	R15			3164 #	3740	4656	4692	4808	4878	4883	5050	5089	5093	5097	5101
				8229	8230	9551	9584	9601	9619	9633	9653	10125
	R16			3165 #	6432	6439	6467	6472	6550	6660	8056	8721	8925	8927	9009
	R17			3166 #	10124
	R2			3167 #	10143
	R3			3168 #	9549	10142
	R4			3169 #	3798	6666	6668	6732	6869	6870	6876	6877	7088	7091	8227
	R5			3170 #	6448	6457	6476	6517	6523	6542	6585	6693	6912	6913	6920
				6921	6922	6969	7054	7067	8099	8102	8104	8107	8627	8628	8678
				8679	8680	8689	8973	8974
	R6			3171 #	5701	5719	6465	6473	6503	6505	6508	6520	6559	7268	7604
				7677	7751	8391	8400	8562	8565	10108	10166
	R7			3172 #	8267	8451	8681	8714	8716	8830
	RD+CLR C CNT		3174 #	9490
	RD+CLR E CNT		3175 #	9489
	RD+CLR PA		3176 #	9488
	RD+CLR TB		3177 #	9487
	READ BP2		3178 #	7387	7485
	READ EBR		3179 #	9379
	READ ERA		3180 #	9279
	READ UBR		3181 #	9362
	REL EBUS		3182 #	9176	9310
	REL ECL EBUS		3183 #	4777	9126	9383	9417	9439	9481	9491	9741	9756
	REQ EBUS		3184 #	9162	9314
	REQ SV.VMA		3185 #	10036
	REQ VMA HELD		3186 #
	RETURN []		3189 #	4055	4709	4856	7176
	RETURN0			3190 #	7930	7932	10037
	RETURN1			3191 #	4720	5104	6479	7970	7971	7980	7982	8222	8677	8739	9202
				9206	9508	9529
	RETURN10		3192 #	8188	8192
	RETURN12		3193 #	9630
	RETURN15		3194 #	7787	7804
	RETURN16		3195 #
	RETURN17		3196 #	5582	7790
	RETURN2			3197 #	4862	6000	6002	6490	7926	8004	8005	8202	8231	8350	8721
				8778	9467	9633	9654
	RETURN20		3198 #	4704	5098	8166
	RETURN3			3199 #	3808	5629	5632	7924	8014	8023	8722	9015	9177	9190	9366
	RETURN30		3200 #
	RETURN37		3201 #	7860	7862	7873	7875
	RETURN4			3202 #	5451	5452	5453	5454	6314	6316	7780	7781	7802	7811	7814
				7822	7823	7830	7834	7838	7842	7951	7954	8681	8716	8732	9421
				9625
	RETURN5			3203 #	5630	5631	8705
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-51
; 							Cross Reference Listing					

	RETURN6			3204 #	5437	5438	5439	5440	5552	5564	5613	5616	8787
	RETURN7			3205 #	5553	5565
	RET[]			3188 #	6869	6870	6876	6877
	RSTR FLAGS_AR		3206 #	4653	4669	4689
	RSTR VMA_ARX		3207 #
	RSTR VMA_MQ		3208 #	8221
	RSTR VMA_SV.VMA		3209 #	10005
	SBR			3213 #	9823	9838	9914
	SBUS DIAG		3214 #	9283
	SC_#			3216 #	3731	3744	3746	4053	4065	4755	4757	4838	4839	5078	5079
				5261	5301	5302	5312	5386	5399	5415	5417	5489	5490	5555	5567
				5654	5683	5703	5747	6091	6149	6155	6293	6343	6361	6374	6383
				6389	6454	6459	6527	6575	6579	6600	6672	6690	6724	6730	6735
				6742	6744	6746	6766	6978	7079	7083	7099	7136	7411	7413	7414
				7415	7416	7417	7420	7422	7423	7424	7427	7429	7430	7431	7432
				7435	7437	7438	7439	7442	7523	7524	7525	7526	7527	7528	7531
				7532	7533	7534	7537	7538	7539	7540	7541	7544	7545	7546	7547
				7624	7754	7755	7824	7829	7833	7837	7841	8029	8210	8260	8447
				8473	8480	8482	8507	8523	8526	8584	8587	8620	8691	8720	8825
				8838	8857	8979	9011	9013	9211	9326	9346	9348	9352	9365	9376
				9390	9429	9440	9485	9505	9555	9578	9624	9638	9643	9648	9753
				9810	9907	10118	10120	10161
	SC_# AND AR0-8		3217 #	8835	9787
	SC_# AND S		3218 #
	SC_# OR SC		3219 #
	SC_#+AR0-8		3220 #	8049
	SC_#+SC			3221 #	5169	5180	5182	5184	5188	5191	5195	5196	5209	5214	5230
				5235	5253	5255	5272	5276	5296	5299	5816	5823	6000	6002	6280
				6313	6330
	SC_#-S			3222 #
	SC_#-SC			3223 #	3808	5819	6315	6509	6513	7389	7991	8020	8785	9671
	SC_#-SC-1		3224 #
	SC_-SC			3226 #	9941	9951
	SC_-SC-1		3227 #	10025
	SC_-S			3225 #	7575
	SC_0			3228 #
	SC_1			3229 #	5488	5701	5707	8504	8613	9934
	SC_1S			3230 #	4635	5737
	SC_AR0-8		3231 #
	SC_EA			3232 #	5167	5178	5205	5227	5251	5270	6051	7762
	SC_EXP			3233 #	5870	6968	10016	10019
	SC_EXP+1		3234 #	5866
	SC_EXP+SC		3235 #	5872	6337
	SC_EXP-#		3236 #
	SC_EXP-1		3237 #
	SC_EXP-SC		3238 #	5814	5996	6310
	SC_FE			3239 #	5218	5239	6508	6511	7479	7498	7500	7634	7636	7996	8018
				9419	10005
	SC_FE AND #		3240 #
	SC_FE#			3241 #	7378	7382	7395	7471	7475	7778
	SC_FE+#			3242 #	6093
	SC_FE+1			3243 #	8847	8849	8850
	SC_FE+S			3244 #
	SC_FE+SC		3245 #	6726	7392	7860	7862	7873	7875	7998	8417	8756	8837	9664
	SC_FE-#			3246 #	8554
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-52
; 							Cross Reference Listing					

	SC_FE-1			3247 #	5388	6267
	SC_FE-SC		3248 #	7501	8022
	SC_FE-SC-1		3249 #	8538	8540
	SC_P			3250 #	7692	7798	8926	9680
	SC_P AND #		3251 #	8889	8891
	SC_P AND SC		3252 #	9756	9940	9946
	SC_P+S			3255 #	7678
	SC_P+#			3253 #
	SC_P+1			3254 #	7821
	SC_P-SC-1		3257 #
	SC_P-#			3256 #	7373	7377	7466	7469	7573	7787	7790	7804	8200
	SC_S			3258 #	8265
	SC_SC AND #		3259 #
	SEL AC4			3261 #	8191	8485
	SEL AC5			3262 #
	SEL DSTP		3263 #	8808	8809	8958	10158	10163
	SEL DSTP2		3264 #	8189	8802	8803	8965
	SET ACC+CLR UCODE	3265 #
	SET ACCOUNT EN		3266 #	3774	4696	4787	9482	9493	10037	10116	10135	10149
	SET AROV		3267 #	5264	5294	5402	5418	5684	6088	6891
	SET CONS XCT		3268 #	4743
	SET DATAI		3269 #	9607	9660
	SET DATAO		3270 #	9140	9597	10148
	SET EBUS DEMAND		3271 #	9170
	SET FL NO DIV		3272 #	5904	6369	6607
	SET FLAGS_AR		3273 #	3793	5107	10134
	SET FLOV		3274 #	6748	6753	6936	7094
	SET FPD			3275 #	7380	7385	7388	7473	7483	7486	7778	7968	8579	9151	9152
	SET FXU			3276 #	6752	6940	7095
	SET HALTED		3277 #	4725
	SET IO PF		3278 #	10145
	SET MTR PA EN		3279 #
	SET NO DIVIDE		3280 #	5583	5735	7606
	SET PC+1 INH		3281 #	3783
	SET PI CYCLE		3282 #	3730	9492	9548
	SET PXCT		3283 #	5149
	SET SR1			3284 #	5925	6125
	SET SR2			3285 #	5722	6354	6376	6618
	SET SR3			3286 #	5742	6301	6327	6675
	SET SXCT		3287 #
	SET TRACKS EN		3288 #
	SET TRK+PA EN		3289 #
	SFLGS_AR		3291 #	8259	8442	8444	8703	8705	8732	8836	8995
	SFLGS			3290 #	8259	8285	8338	8442	8444	8472	8677	8693	8695	8703	8705
				8720	8732	8836	8980	8995	9011	9013	10176	10180
	SH DISP			3292 #	5080	6743	7405	7406	7515	7517	7821	8838	8855	9551	9570
	SIGNS DISP		3293 #	5497	5518	5520	5721	5723	7163	7167	7169	7187	7199	7204
				7220	7222	7271	7285	7308	7626	8296	8300	8327	8347	8390	8391
				8405	8437	8558	8615	8640	8676	8704	8727	9771	9801	9803
	SKIP FETCH		3294 #	4524
	SKP -EBUS GRANT		3296 #	9184
	SKP -EBUS XFER		3297 #	9174
	SKP -LOCAL AC ADDR	3298 #	3990	3995	5048	5072
	SKP -START		3299 #	4736
	SKP -VMA SEC0		3300 #	7384	7477	7594	7687	7792
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-53
; 							Cross Reference Listing					

	SKP AC EQ 0		3301 #	4755	7573
	SKP AC REF		3302 #	7161	7162
	SKP AC#0		3303 #	3903	3984	4525
	SKP AC0+		3304 #	5613
	SKP AC0-		3305 #	5616
	SKP AD NE		3306 #	6262	6299	6325	6441	6540	6693	6886	6889	6927	7077	8219
				9654	9852	9940
	SKP AD NZ		3307 #	5312	5580	7158	7218	7276	8047
	SKP AD0			3308 #	5133	5135	5416	5488	5510	5556	5568	5680	5708	5902	6265
				6365	6443	6447	6453	6490	6501	6503	6546	6550	6558	6586	6587
				6604	6616	6622	6660	6664	6934	6938	7073	7098	8254	8263	8506
				10108
	SKP ADX0		3309 #
	SKP AR EQ		3310 #	4744
	SKP AR EQ -1		3311 #
	SKP AR GT BR		3312 #	8361	9629
	SKP AR NE		3313 #	8522	8986	9010
	SKP AR NE BR		3314 #	5290
	SKP AR NZ		3315 #	5393	5508	5512	7605	7633
	SKP AR SIG		3316 #	5399
	SKP AR0			3317 #	3974	4215	4221	5128	6065	6338	6436	6440	6614	6930	6961
				7658	7692	7798	7876	8278	8328	8764	8798	10016	10019	10173	10183
	SKP AR1			3318 #
	SKP AR18		3319 #	4198	4208	5167	5178	5206	5227	5252	5270	5387	8101	8715
				9334	9965
	SKP AR2			3320 #	8456	9326
	SKP AR6			3321 #	9557	9559	9588	9609
	SKP ARX LE BRX		3322 #
	SKP ARX LT BRX		3323 #
	SKP ARX NE		3324 #	6123
	SKP ARX NZ		3325 #	7635
	SKP ARX+MQ NE		3326 #	6374	6672
	SKP ARX0		3327 #	7701	7752	8387	8691	8842	8860	8878
	SKP ARX2		3328 #	8634
	SKP BR EQ		3330 #	5912	8412
	SKP BR EQ -1		3331 #
	SKP BR0			3332 #	5734	5903	5996	6368	6606	6623	8283	8403	8578
	SKP CRY0		3333 #	4804	4809	4831	4850	5126	5713	5731	5732	5999	6001	6150
				6393	6694	8458	8519	8553	8611	8681	9960
	SKP EVEN PAR		3334 #
	SKP EXP NE		3335 #
	SKP FE NZ		3336 #
	SKP FE0			3337 #	5719
	SKP FETCH		3338 #
	SKP INTRPT		3339 #	3814	3816	3818	3820	3836	3838	4741	4785	5051	5145	7191
				7202	7227	7289	7315	7864	7866	7901	7903	7930	7932	7972	7974
				8078	8079	8296	8345	8417	8621	8756	8890	8894	9188	9810	9894
				10052
	SKP IO LEGAL		3340 #	4020	4635	4636	4637	4639	4774	9119	9125	9212	9219	9221
				9226	9230	9253	9256	9282	9300	9303	9320	9324	9352	9372	9375
				9427	9443	9446	9455	9458	9470	10104
	SKP KERNEL		3341 #	4633
	SKP MQ EQ -1		3342 #	8630
	SKP MQ NE		3343 #
	SKP MQ NE BR		3344 #	5262
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-54
; 							Cross Reference Listing					

	SKP MQ NZ		3345 #
	SKP PC SEC0		3348 #	4630	4806	4835	4846	4874	4876	5008	5010	5022	5026	5028
				5030	5037	5039	5041	5043	5046	8200	8762	8763	8796	8797	8831
				8863	8886	8888	8916	8959	8993
	SKP PI CYCLE		3349 #	9131	9134	9149	10117
	SKP P NE		3346 #	9875	9970
	SKP P!S XCT		3347 #	7141	7278
	SKP RPW			3350 #	9734	9739
	SKP RUN			3351 #
	SKP SC NE		3352 #	5271	9338
	SKP SC NZ		3353 #
	SKP SC0			3354 #	4654	5741	7390	7575	7576	7593	8557
	SKP SCAD NE		3355 #	7813	7816	7818	7820	8062	9827	9865	9889	9922	9925	9952
				9954	9996	9998
	SKP SCAD NZ		3356 #	5314	5317	5325	5327	5329	5333	5334	8046	8165	8215
	SKP SCAD0		3357 #	5170	5181	5182	5185	5188	5192	5195	5210	5215	5219	5229
				5231	5236	5240	5256	5259	5273	5277	5293	5814	5817	5819	5823
				6081	6085	6093	6278	6280	6310	6314	6316	6509	6955	7393	7595
				7597	7602	7735	7736	7738	7896	7898	7910	7913	7991	7998	8013
				8049	8299	8785	8841	8868	8882	8898	8901	8917	8963	8977	9672
				9679
	SKP USER		3358 #	4672	4673	4682	4692	5094	5146	9909	10127
	SLEN			3360 #	8257	8269	8278	8283	8301	8325	8437	8454	8459	8465	8550
				8611	8613	8675	8726	8728	8729	10162	10171	10173	10183
	SLEN_AR			3361 #	8257	8325	8437	8550	8613	8675
	SR DISP			3362 #	5742	5743	5748	6128	6130	6132	6134	6161	6163	6164	6174
				6193	6213	6392	6409	6750	6759	7193	7206	7677	7977	7993	8348
				9763	10044	10155	10159	10178	10181
	SRCP			3386 #	8290	8300	8388	8388	8740	8740	8758	8773	8774	8971	8971
				10056	10155
	SRCP2_AR		3389 #	8770
	SRCP2			3388 #	8762	8763	8770
	SRCP_AR			3387 #	8300	8758	8773	8774	10155
	SR_#			3363 #	5789	5861	10064	10092	10100
	SR_0			3364 #	3919	3921	3927	4784	5088	6223	6227	6237	6404	6414	6705
				6764	7328	7503	7762	8285	8305	8390	8484	8623	8677	9136	10056
				10068	10080	10084
	SR_1			3365 #	6590	7756	10060	10072	10088
	SR_2			3366 #
	SR_BDD			3367 #	8636
	SR_BDF			3368 #	8563
	SR_BDT			3369 #	8513	8580	8639	10076
	SR_BLT			3370 #	7167
	SR_BLT(AC)		3371 #	7138
	SR_BLT(PXCT DST)	3372 #	7217	7228
	SR_BLT(PXCT SRC)	3373 #	7157	7224
	SR_DB			3374 #	8450
	SR_DST			3375 #	8337
	SR_DSTF			3376 #	8291
	SR_ED(+D)		3377 #	8399	8978	9012
	SR_ED(PAT)		3378 #	8826	8887
	SR_ED(S)		3379 #	8389	8859
	SR_MAP			3380 #	4772
	SR_SRC			3381 #	8262	8266	8274	8290	8292	8331	10096
	SR_SRC+DST		3382 #	8272	8329
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-55
; 							Cross Reference Listing					

	SR_WORD			3383 #
	SR_XBLT(DST)		3384 #	7275	7290	7316
	SR_XBLT(SRC)		3385 #	7267	7287	7311
	STACK UPDATE		3391 #	4831	4849	5125
	STORE			3392 #	3987	4025	4065	4074	4205	4539	4540	4555	4556	4684	4686
				4694	4878	4879	4888	5055	5062	5076	5086	5102	5104	7186	7204
				7219	7221	7279	7279	7284	7296	7307	7502	7553	7787	7790	7794
				7799	7800	7802	7811	7814	7822	7823	7830	7834	7838	7842	7951
				7954	8023	8938	8954	8957	9000	9001	9002	9003	9006	9148	9234
				9286	9440	9506	9508	9565	9589	9590	9617	9618	9649	9650	9752
				9877	9992	10123	10130	10132
	STORE VMA(EA)		3393 #	7160	7161
	SV.ARX			3396 #	9724	10024	10026
	SV.ARX_AR		3397 #	9724
	SV.AR_AR		3395 #	9723
	SV.AR			3394 #	9723	10020	10144
	SV.BR_AR		3399 #	9765
	SV.BR			3398 #	9765	9813	9830	9868	9876	9892	9903	9929	9966	9980	10017
	SV.IOP			3400 #	9549	10142
	SV.IOPF			3401 #	10143
	SV.IOPF_AR		3402 #	10143
	SV.PAR			3403 #	9754
	SV.PAR_AR		3404 #	9754
	SV.PFW			3405 #	9763	9764	9789	9997	10001	10104	10117
	SV.PFW_AR		3406 #	9763	9764	9789	10001
	SV.SC_AR		3408 #	9770
	SV.SC			3407 #	9770	10015
	SV.VMA			3409 #	9773	9902	10005	10036	10043
	SV.VMA_AR		3410 #	9773
	SWD			3411 #
	SWD_AR			3412 #
	SWEEP CACHE		3413 #	9214
	T0			3417 #	5701	5719	6465	6473	6503	6505	6508	6520	6559	7268	7604
				7677	7751	8391	8400	8562	8565	10108	10166
	T0_AR			3418 #	5701	7604	7751	8391	8562
	T1			3419 #	5717	5739	6466	6474	6507	6519	7625	7650	8538	8540	8577
	T1_AR			3420 #	5717	7625	8538	8540
	T2			3421 #	6437	6445	6452	6461	6477	6549	6598	6599	6615	6619	6659
				6662	6739	6976	7056	7069	7097	8549	8576
	T2_AR			3422 #	8549
	TAKE INTRPT		3423 #	3841	4738	5063	5147	7869	7906	8082
	TEST AR			3424 #
	TEST AR.AC0		3425 #	4475
	TEST AR.BR		3426 #	4760	9130	9132	9960
	TEST AR.MSK		3427 #	8681
	TEST ARX		3428 #	8335
	TEST ARX.AR*4		3429 #
	TEST BRL		3430 #	9134
	TEST CBR		3431 #	9852	9940
	TEST FETCH		3432 #	4467	4469	4475	8335	9130	9132	9134
	TRAP1			3433 #
	TRAP2			3434 #	4815	4820	4833	4856	5138
	TRAP3			3435 #
	UNCSH PHYS REF		3449 #
	UPT FETCH		3450 #
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-56
; 							Cross Reference Listing					

	UPT REF			3451 #	5074	5076	9525	9806	10123
	USER REF		3452 #
	VMA_#			3454 #	5052	5061	5075	9480	9515	9517	9519	9521	10115
	VMA_#+AR32-35		3455 #	8212	9800	9802
	VMA_40			3456 #
	VMA_40+PI*2		3457 #	9553	9554
	VMA_41			3458 #
	VMA_41+PI*2		3459 #	9568
	VMA_420+TRAP		3460 #	3776	3778
	VMA_430+MODE		3461 #	5096
	VMA_AC3			3462 #	8914	8932	8991
	VMA_AR			3463 #	4020	4023	4628	4659	4676	4811	4839	6925	6966	7048	7062
				8833	8889	8893	8935	9001	9003	9151	9152	9214	9391	9579	9663
				9828	9889
	VMA_AR AND ADMSK	3464 #	5089	9551
	VMA_AR+1		3465 #	9612	9670
	VMA_AR+BR		3466 #
	VMA_AR+CBR		3467 #	9863
	VMA_AR+E0		3468 #	9009
	VMA_AR+E0+1		3469 #	8927
	VMA_AR+E1		3470 #	8627	8689	8974
	VMA_AR+SBR		3471 #	9823	9838	9914
	VMA_AR+XR		3475 #
	VMA_AR-1		3476 #	9600
	VMA_ARX			3477 #	4837	5055	8832
	VMA_ARX AND ADMSK	3478 #	9584	9601	9619
	VMA_ARX+1		3479 #	8099	8102	8104	8107
	VMA_ARX+BR		3480 #
	VMA_ARX+CBR		3481 #	9946
	VMA_ARX+FM[]		3482 #
	VMA_ARX+XR		3483 #
	VMA_BR			3485 #	4813	7216	7274	9886
	VMA_E0+1		3486 #	8721	8925
	VMA_FM[]		3487 #	8559
	VMA_MQ			3488 #	7279	7296	8362	9336	9440
	VMA_MQ+1		3489 #	7219	8363
	VMA_PC			3490 #	8754	8791
	VMA_PC+1		3491 #	8338	8456	8474	8518	8610	8858
	VMA_SV.VMA		3492 #	10043
	VMA_VMA HELD		3496 #	9751
	VMA_VMA+1		3497 #	4038	4073	4686	4687	4709	4880	4894	5056	5064	5079	5102
				5104	5650	5705	6253	6430	6929	7051	7203	7690	7707	7796	8479
				8481	8617	8953	9006	9286	9508	9527	9631	10130	10132	10133
	VMA_VMA-1		3498 #	4040	7801	8957	9506
	WR PT ENTRY		3500 #	9321	10007
	WR REFILL RAM		3501 #	9222
	WRITE (E)		3502 #	4851
	XR			3504 #	3775	3844	7870	7871	7907	7908	7922	7923	7978	7979	8083
				8084
	[]_#[]			2320 #
	[]_ADA[]		2321 #
	[]_ADB[]		2322 #
	[]_FM[]			2323 #	6457	6461	6467	6472	6476	6503	6507	6508	6519	6520	6550
				6660	6732	6739	6912	6913	6920	6921	6922	8227
	[]_[]*FM[]		2318 #	6452	6598	6615	6666	6668	6869	6870	6876	6877	7088	7091
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-57
; 							Cross Reference Listing					

	[]_[]*[]		2317 #
	[]_[]-FM[]		2319 #	8229
	(AR+ARX+MQ)*.25		2325 #	6401	6571	6703
	(AR+ARX+MQ)*2		2326 #	5437	5438	5439	5440	5451	5452	5453	5454	6384	6570	6572
				6683
	(MQ)*.25		2327 #	6401	6571	6703
	(MQ)*2			2328 #	5437	5438	5439	5440	5451	5452	5453	5454	6384	6570	6572
				6683
(D) MACRO%
	AC			3530 #	3947	3948	3952	3953	3957	3958	3962	3963	4087	4088	4092
				4093	4097	4098	4102	4103	4107	4108	4112	4113	4117	4118	4122
				4123	4129	4130	4134	4135	4139	4140	4144	4145	4149	4150	4154
				4155	4159	4160	4164	4165	4229	4230	4234	4235	4244	4245	4254
				4255	4259	4260	4274	4275	4284	4285	4294	4295	4304	4305	4314
				4315	4324	4325	4335	4336	4345	4346	4355	4356	4365	4366	4395
				4404	4413	4422	4431	4440	4593	4597	4767	5343	5344	5355	5356
				5368	5369	6899	7368	7369
	B			3533 #	4232	4237	4247	4262	4277	4287	4297	4307	4317	4327	4338
				4348	4358	4368	5346	5358	5371
	BLKI			3566 #	9047	9094	9105
	BLKO			3567 #	9096	9107
	CONI			3570 #	9030	9041	9052	9076	9088	9099	9110
	CONO			3571 #	9029	9040	9051	9075	9087	9098	9109
	CONSO			3572 #	9032	9043	9054	9078	9090	9101	9112
	CONSZ			3573 #	9031	9042	9053	9077	9089	9100	9111
	DATAI			3568 #	9026	9048	9095	9106
	DATAO			3569 #	9028	9050	9073	9074	9097	9108
	DBL AC			3534 #	5406	5407	5472	5473	5477	5478
	DBL B			3535 #	5409	5475	5480
	EA			3519 #	4088	4255	4618	4792	4794	4867	4868	4916	4918	4920	4921
				4922	4923	4937	4938	4939	4940	4941	4942	4946	4947	4948	4949
				4950	4951	4952	4953	4954	4955	4959	4960	4961	4962	4963	4964
				4965	4966	4967	4968	4969	4970	4971	4972	4973	4974	4975	4976
				4977	4978	4982	4983	4984	5115	5761	5775	5840	5884	6011	6012
				6899	6900	6907	6908	6909	7130	8117	8118	8119	8121	8122	8123
				8124	8126	8127	8128	8129	8131	8132	8133	8134
	FL-AC			3536 #	5757	5766	5767	5771	5780	5781	5836	5845	5846	5880	5889
				5890	6014	6060
	FL-BOTH			3538 #	5764	5769	5778	5783	5843	5848	5887	5892
	FL-MEM			3537 #	5763	5768	5777	5782	5842	5847	5886	5891
	I			3517 #	3949	4032	4033	4060	4141	4231	4232	4271	4272	4316	4317
				4367	4368	4379	4380	4381	4382	4383	4384	4397	4398	4399	4400
				4401	4402	4415	4416	4417	4418	4419	4420	4433	4434	4435	4436
				4437	4438	4487	4488	4489	4490	4491	4492	4493	4563	4564	4565
				4566	4567	4568	4569	4578	4579	4580	4581	4582	4583	4584	4594
				4595	4596	4597	4598	4599	4600	4609	4610	4749	4767	4795	4869
				4870	5116	5155	5156	5157	5158	5159	5160	5161	5369	5407	5473
				5478	5767	5781	5846	5890	6014	9027	9029	9030	9031	9032	9040
				9041	9042	9043	9049	9051	9052	9053	9054	9058	9059	9060	9061
				9062	9063	9064	9065	9075	9076	9077	9078	9085	9086	9087	9088
				9089	9090	9098	9100	9101	9109	9111	9112
	I-PF			3518 #	3948	3953	3958	3963	4093	4098	4103	4108	4113	4118	4123
				4130	4135	4140	4145	4150	4155	4160	4165	4229	4230	4235	4245
				4260	4269	4270	4275	4285	4295	4305	4314	4315	4325	4336	4346
				4356	4365	4366	4377	4378	4395	4396	4413	4414	4431	4432	4486
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-58
; 							Cross Reference Listing					

				4562	4577	4593	5344	5356
	M			3531 #	3954	3959	3964	4089	4094	4099	4104	4109	4114	4119	4124
				4131	4136	4146	4151	4156	4161	4166	4231	4236	4246	4261	4276
				4286	4296	4306	4316	4326	4337	4347	4357	4367	5345	5357	5370
				5408	5474	5479	7461	7462	9036
	R			3521 #	4014	4015	4388	4389	4390	4391	4392	4393	4406	4407	4408
				4409	4410	4411	4424	4425	4426	4427	4428	4429	4442	4443	4444
				4445	4446	4447	4497	4498	4499	4500	4501	4502	4503	4513	4514
				4515	4516	4517	4518	4519	4520	4793	5141	5368	5406	5472	5477
				5637	5638	5639	5640	5757	5766	5771	5780	5836	5845	5880	5889
				6058	6059	6060	6245	6246	6247	6248	6423	6424	6425	6426	7369
				7462	7569	8042	9028	9038	9039	9050	9073	9074	9097	9108
	R-PF			3522 #	3947	3952	3957	3962	4087	4092	4097	4102	4107	4112	4117
				4122	4129	4134	4139	4144	4149	4154	4159	4164	4234	4244	4254
				4259	4274	4284	4294	4304	4324	4335	4345	4355	4386	4387	4404
				4405	4422	4423	4440	4441	4496	5343	5355
	RPW			3524 #	3955	3960	3965	3967	4089	4094	4095	4100	4105	4110	4115
				4120	4125	4131	4136	4137	4142	4147	4152	4157	4162	4167	4236
				4237	4246	4247	4261	4262	4276	4277	4286	4287	4296	4297	4306
				4307	4326	4327	4337	4338	4347	4348	4357	4358	4528	4529	4530
				4531	4532	4533	4534	4535	4544	4545	4546	4547	4548	4549	4550
				4551	5345	5346	5357	5358
	RW			3523 #	3950	4090	4132	4257	5370	5371	5408	5409	5474	5475	5479
				5480	5763	5764	5768	5769	5777	5778	5782	5783	5842	5843	5847
				5848	5886	5887	5891	5892	7368	7461	9047	9094	9096	9105	9107
	S			3532 #	3955	3960	3965	4095	4100	4105	4110	4115	4120	4125	4137
				4142	4147	4152	4157	4162	4167
	SJC-			3557 #
	SJCA			3561 #	4517	4532	4548
	SJCE			3559 #	4488	4498	4515	4530	4546	4564	4579	4595	8118
	SJCG			3564 #	4493	4503	4520	4535	4551	4569	4584	4600	8124
	SJCGE			3562 #	4491	4501	4518	4533	4549	4567	4582	4598	4609	8122
	SJCL			3558 #	4487	4497	4514	4529	4545	4563	4578	4594	4610	8117
	SJCLE			3560 #	4489	4499	4516	4531	4547	4565	4580	4596	8119
	SJCN			3563 #	4492	4502	4519	4534	4550	4568	4583	4599	8123
	TC-			3548 #	4414	4423
	TCA			3550 #	4417	4418	4426	4427
	TCE			3549 #	4415	4416	4424	4425
	TCN			3551 #	4419	4420	4428	4429
	TN-			3540 #
	TNA			3542 #	4381	4382	4390	4391	4490	4500
	TNE			3541 #	4379	4380	4388	4389
	TNN			3543 #	4383	4384	4392	4393	4749
	TO-			3552 #	4432	4441
	TOA			3554 #	4435	4436	4444	4445
	TOE			3553 #	4433	4434	4442	4443
	TON			3555 #	4437	4438	4446	4447
	TZ-			3544 #	4396	4405
	TZA			3546 #	4399	4400	4408	4409
	TZE			3545 #	4397	4398	4406	4407
	TZN			3547 #	4401	4402	4410	4411
	W			3520 #	3954	3959	3964	4061	4099	4104	4109	4114	4119	4124	4146
				4151	4156	4161	4166	4256	9025	9026	9036	9037	9048	9071	9072
				9083	9084	9095	9099	9106	9110
(U) MAJVER			1967 #
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-59
; 							Cross Reference Listing					

(U) MARK			1961 #
(U) MBOX CTL			2184 #	9781	9783	9785
	CLR PT LINE		2189 #	9402
	CLR PT LINE(NK)		2187 #	9408
	NORMAL			2193 #	9404	9410
	PT DIR CLR		2192 #	9393
	PT DIR CLR(NK)		2188 #	9397
	PT DIR WR		2190 #
	PT WR			2191 #	9321	10007
	SET IO PF ERR		2186 #	10145
	SET PAGE FAIL		2185 #
(U) MEM				1817 #
	A RD			1825 #	3822	3823	3824	3825	3833	3834	8076	8077	8085	8087
	AD FUNC			1829 #	10036
	ARL IND			1822 #	3992	3993	5048	5072	5092	5227	5251	5314	5392	5485	5509
				5520	5579	5802	5814	5824	5825	5828	5866	5866	5870	5872	5996
				6051	6053	6124	6173	6284	6287	6310	6337	6341	6357	6359	6593
				6595	6623	6728	6759	6970	6977	7078	7082	7140	7270	7602	7693
				7700	7752	7779	8101	8299	8300	8326	8457	8504	8514	8555	8557
				8589	8591	8630	8634	8637	8675	8754	8767	8791	8831	8892	8903
				8904	8914	8934	8991	8994	9252	9299	9323	9359	9371	9384	9437
				9454	9503	9679	9757	9768	9788	9815	9816	9817	9905	9908	9909
				9924	10154
	B WRITE			1826 #	3971	3980	3982	4054	4176	4178	4181	4184	4188	4192	4201
				4203	4211	4212	4217	4218	4224	4226	4241	4251	4266	4281	4291
				4301	4311	4321	4331	4342	4352	4362	4372	4777	5350	5363	5401
				5417	5418	5489	5490	5557	5569	6223	6227	9126	9310	9385
	EA CALC			1830 #	3813	3815	3817	3819	3835	3837	4804	4809	4827	4829	4851
				7155	7160	7161	7378	7382	7387	7471	7475	7485	7859	7861	7863
				7865	7872	7874	7895	7897	7900	7902	7909	7912	7929	7931	7970
				7971	7972	7973	7980	7981	8078	8079	8932	8935	8953
	FETCH			1827 #	4467	4469	4475	4507	4524	4574	4589	4606	4613	4760	8335
				8393	9130	9132	9134
	IFET			1836 #	3795	3875	3899	3901	3902	3908	3910	3984	3990	3995	4042
				4045	4081	4572	4587	4604	4628	4659	4676	4758	4786	4813	4818
				4837	4839	4874	4880	4894	5089	5126	5167	5179	5213	5221	5234
				5242	5256	5262	5284	5313	5329	5333	5335	5398	5583	5694	5735
				6096	6097	6404	6413	6705	6762	6888	6890	6891	6928	6936	6940
				7189	7201	7223	7265	7286	7312	7390	7410	7412	7413	7414	7415
				7416	7417	7419	7426	7428	7429	7430	7431	7432	7434	7441	7443
				7444	7448	7449	7577	7606	7681	7702	7710	8283	8483	8556	8618
				8873	9143	9599
	LOAD AR			1831 #	4023	4038	4634	4642	4687	4709	5056	5711	6925	6966	7048
				7062	7191	7216	7226	7274	7289	7314	7690	7707	7796	8157	8213
				8364	8559	8627	8689	8721	8832	8833	8889	8893	8925	8927	8974
				9009	9151	9524	9525	9582	9583	9639	9640	9644	9645	9805	9806
				9824	9829	9844	9866	9891	9915	9950	10133
	LOAD ARX		1832 #	3782	4040	4811	5054	5064	5074	5650	6253	6430	6946	7051
				9527	9572	9573	9575	9579
	MB WAIT			1823 #	3788	3840	3841	3863	3869	3882	3888	3905	3922	4043	4055
				4079	4654	4689	4696	4774	4815	4820	4832	4832	4834	4834	4856
				4862	4862	5075	5078	5088	5100	5137	5138	5184	5191	5193	6926
				6954	6967	7050	7064	7192	7193	7206	7228	7230	7277	7278	7290
				7292	7310	7316	7317	7376	7380	7384	7446	7469	7473	7477	7483
				7497	7497	7522	7523	7524	7525	7526	7527	7528	7530	7536	7537
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-60
; 							Cross Reference Listing					

				7538	7539	7540	7541	7543	7549	7550	7551	7555	7556	7797	7826
				7868	7869	7905	7906	7968	7976	7977	7991	7993	8012	8012	8014
				8081	8082	8214	8242	8365	8563	8632	8691	8787	8837	8936	8945
				8958	8976	8981	9005	9008	9125	9129	9131	9140	9147	9215	9347
				9418	9482	9507	9564	9588	9597	9598	9740	9754	9810	9825	9845
				9871	9886	9893	9916	9953	10115	10125	10135
	REG FUNC		1828 #	4771	9214	9222	9279	9283	9336	9362	9379	9391	9753
	RESTORE VMA		1824 #	8221	9751	10005
	RPW			1834 #	9556	9563
	RW			1833 #
	WRITE			1835 #	3987	4025	4065	4074	4205	4539	4540	4555	4556	4684	4686
				4694	4878	4879	4888	5055	5062	5076	5086	5102	5104	7186	7204
				7219	7221	7279	7279	7284	7296	7307	7502	7553	7787	7790	7794
				7799	7800	7802	7811	7814	7822	7823	7830	7834	7838	7842	7951
				7954	8023	8938	8954	8957	9000	9001	9002	9003	9006	9148	9234
				9286	9440	9506	9508	9565	9589	9590	9617	9618	9649	9650	9752
				9877	9992	10123	10130	10132
(U) MINVER			1968 #
(U) MQ				1730 #
	MQ SEL			1734 #	5437	5438	5439	5440	5451	5452	5453	5454	5647	6384	6409
				6570	6572	6683	6967	7064	7085
	MQ*.25			1733 #	5395	5397	5435	5442	5444	5446	5448	5457	5459	5461	5462
				5467	5670	5692	6377	6566	6676	6723
	MQ*2			1732 #	5540	5543	5548	5560	5594	5595	5596	5597	5598	5599	5600
				5601	5625	5626	5627	5628	5690	5730	5732	7638	8401
	MQM SEL			1735 #	5207	5260	5513	5554	5566	6401	6571	6578	6703	7186	7221
				7280	7284	7307	7479	7678	8222
	SH			1731 #	3899	3900	4055	4832	4834	5093	5187	5196	5209	5212	5214
				5218	5220	5230	5233	5235	5241	5258	5298	5386	5389	5413	5629
				5630	5631	5632	5663	5672	5678	5717	5740	5816	5819	5821	5871
				6094	6154	6281	6290	6292	6296	6313	6315	6329	6333	6340	6388
				6389	6394	6397	6399	6530	6554	6557	6562	6610	6688	6689	6695
				6698	6700	7057	7135	7216	7269	7523	7524	7525	7526	7527	7528
				7531	7532	7533	7534	7537	7538	7539	7540	7541	7544	7545	7546
				7547	7575	7595	7677	7899	8012	8056	8150	8209	8257	8386	8438
				8577	8613	8784	8846	8848	8862	9333	9428	9479	9548
(U) MQ CTL			2061 #
	AD			2069 #	5207	5260	5513	5554	5566	6578	7186	7221	7280	7284	7307
				7479	7678	8222
	MQ*.25			2067 #	6401	6571	6703
	MQ*2			2063 #	5437	5438	5439	5440	5451	5452	5453	5454	6384	6570	6572
				6683
	SH			2066 #
	0S			2065 #	5647	6409	6967	7064	7085
	1S			2068 #
(U) MREG FNC			2174 #
	LOAD CCA		2180 #	9214
	LOAD EBR		2182 #	9391
	LOAD UBR		2181 #	9336
	MAP			2183 #	4771	9753
	READ EBR		2177 #	9379
	READ ERA		2178 #	9279
	READ UBR		2176 #	9362
	SBUS DIAG		2175 #	9283
	WR REFILL RAM		2179 #	9222
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-61
; 							Cross Reference Listing					

(U) MTR CTL			2194 #
	CLR E CNT		2197 #	9497
	CLR M CNT		2198 #	9498
	CLR PERF		2196 #	9496
	CLR TIME		2195 #	9495
	CONO MTR		2201 #	9461
	CONO TIM		2202 #	9328
	LD PA LH		2199 #	9450
	LD PA RH		2200 #
(U) NONSTD			1980 #
	OPTIONS			1984 #	9234
(U) PARITY			2253 #
(D) PARITY			2293 #
(U) PC FLAGS			2073 #
	AROV			2081 #	5264	5294	5402	5418	5684	6088	6891
	DIV CHK			2084 #	5583	5735	7606
	FDV CHK			2085 #	5904	6369	6607
	FLOV			2082 #	6748	6753	6936	7094
	FPD			2076 #	7380	7385	7388	7473	7483	7486	7778	7968	8579	9151	9152
	FXU			2083 #	6752	6940	7095
	TRAP1			2078 #
	TRAP2			2077 #	4815	4820	4833	4856	5138
(U) PMOVE			1990 #
	OPTIONS			1991 #	9234
(U) PV				1987 #
	OPTIONS			1988 #	9234
(U) PXCT			2000 #	3777	3788	5150	8064
(U) SC				1775 #
	AR SHIFT		1778 #	5167	5178	5205	5227	5251	5270	6051	7762
	FE			1776 #	5218	5239	6508	6511	7479	7498	7500	7634	7636	7996	8018
				9419	10005
	SCAD			1777 #	3731	3744	3746	3775	3808	3905	3922	4053	4065	4635	4725
				4755	4757	4838	4839	5078	5079	5137	5169	5180	5182	5184	5188
				5191	5193	5195	5196	5209	5214	5230	5235	5253	5255	5261	5272
				5276	5296	5299	5301	5302	5312	5386	5388	5399	5415	5417	5488
				5489	5490	5555	5567	5654	5683	5701	5703	5707	5736	5737	5747
				5802	5814	5816	5819	5823	5866	5870	5872	5996	6000	6002	6091
				6093	6149	6155	6252	6267	6280	6293	6310	6313	6315	6330	6337
				6343	6361	6374	6383	6389	6454	6459	6509	6513	6527	6545	6575
				6579	6600	6672	6690	6724	6726	6730	6735	6742	6744	6746	6766
				6968	6978	7079	7083	7099	7136	7373	7377	7378	7382	7389	7392
				7395	7411	7412	7413	7414	7415	7416	7417	7420	7421	7422	7423
				7424	7427	7428	7429	7430	7431	7432	7435	7436	7437	7438	7439
				7442	7466	7469	7471	7475	7501	7522	7523	7524	7525	7526	7527
				7528	7530	7531	7532	7533	7534	7536	7537	7538	7539	7540	7541
				7543	7544	7545	7546	7547	7549	7573	7575	7593	7624	7678	7692
				7731	7733	7734	7737	7740	7744	7746	7749	7750	7754	7755	7778
				7787	7790	7798	7804	7821	7824	7829	7833	7837	7841	7860	7862
				7873	7875	7991	7998	8020	8022	8029	8049	8058	8200	8210	8260
				8265	8417	8447	8473	8480	8482	8504	8507	8523	8526	8538	8540
				8554	8584	8587	8613	8620	8691	8720	8754	8756	8761	8778	8785
				8791	8800	8825	8835	8837	8838	8847	8849	8850	8857	8889	8891
				8926	8979	9011	9013	9211	9326	9346	9348	9352	9365	9376	9390
				9429	9440	9485	9505	9555	9578	9624	9638	9643	9648	9664	9671
				9680	9753	9756	9782	9784	9787	9810	9907	9934	9940	9941	9946
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-62
; 							Cross Reference Listing					

				9951	10016	10019	10025	10118	10120	10161
(U) SCAD			1752 #
	A			1753 #	3731	3744	3746	3775	3845	3869	3882	3905	3905	3922	3922
				3993	4053	4065	4725	4725	4743	4755	4757	4838	4839	5048	5072
				5078	5079	5137	5137	5193	5193	5205	5261	5301	5302	5312	5314
				5317	5386	5394	5396	5399	5414	5415	5417	5489	5490	5496	5507
				5510	5511	5517	5550	5555	5562	5567	5579	5629	5630	5631	5632
				5654	5664	5679	5683	5703	5719	5734	5736	5747	5802	5870	5871
				5901	6065	6091	6149	6155	6173	6213	6252	6263	6293	6333	6343
				6361	6366	6374	6383	6389	6409	6454	6457	6459	6461	6526	6527
				6545	6552	6557	6575	6579	6596	6600	6604	6663	6672	6690	6724
				6730	6735	6742	6744	6746	6766	6968	6975	6978	7049	7063	7079
				7081	7083	7099	7136	7378	7382	7395	7405	7406	7411	7412	7413
				7414	7415	7416	7417	7420	7421	7422	7423	7424	7427	7428	7429
				7430	7431	7432	7435	7436	7437	7438	7439	7442	7448	7449	7471
				7475	7515	7517	7522	7523	7524	7525	7526	7527	7528	7530	7531
				7532	7533	7534	7536	7537	7538	7539	7540	7541	7543	7544	7545
				7546	7547	7549	7555	7556	7592	7593	7624	7633	7636	7641	7642
				7692	7730	7732	7734	7737	7740	7744	7746	7749	7750	7752	7754
				7755	7778	7788	7791	7798	7824	7829	7833	7837	7841	7925	7952
				8029	8148	8156	8210	8258	8260	8295	8386	8438	8440	8447	8473
				8480	8482	8507	8514	8523	8526	8526	8557	8584	8584	8587	8587
				8620	8691	8703	8720	8722	8740	8764	8767	8798	8802	8825	8838
				8857	8915	8926	8971	8979	8992	8994	9011	9013	9211	9281	9326
				9346	9348	9352	9365	9376	9390	9421	9429	9440	9485	9505	9555
				9578	9624	9638	9643	9648	9680	9734	9739	9753	9766	9810	9875
				9907	9970	10016	10016	10019	10052	10118	10120	10161
	A+1			1757 #	5435	5442	5444	5446	5448	5457	5459	5461	5462	5467	5488
				5670	5701	5707	5707	5824	5825	5828	5866	6162	6212	6341	6356
				6358	6381	6408	6563	6565	6592	6594	6680	6711	7680	7811	7814
				7821	7830	7834	7838	7842	8504	8613	8847	8849	8850	8871	9934
	A+B			1755 #	4737	5169	5180	5182	5184	5188	5191	5195	5196	5207	5209
				5214	5228	5230	5235	5253	5255	5259	5271	5272	5276	5292	5296
				5299	5437	5438	5439	5440	5451	5452	5453	5454	5513	5612	5615
				5815	5816	5823	5872	5874	5911	5914	6000	6002	6053	6093	6126
				6160	6277	6280	6312	6313	6330	6337	6378	6380	6463	6472	6677
				6678	6726	6728	6945	6956	6963	6970	7380	7385	7387	7392	7480
				7498	7678	7693	7763	7799	7822	7823	7860	7862	7873	7875	7968
				7998	8017	8028	8046	8049	8058	8062	8209	8217	8253	8265	8417
				8552	8590	8592	8756	8758	8773	8774	8811	8812	8815	8837	8840
				8884	8888	9338	9359	9574	9623	9664	9675	9767	9784	9786	10154
				10158
	A-1			1756 #	4635	4740	5388	5389	5392	5540	5543	5548	5560	5594	5595
				5596	5597	5598	5599	5600	5601	5625	5626	5627	5628	5713	5737
				6129	6267	6384	6683	6959	7638	8537	8539	9401	9407	9805	9806
	A-B			1758 #	3808	5219	5239	5814	5819	5996	6081	6085	6131	6133	6153
				6157	6166	6175	6310	6315	6385	6405	6509	6513	6685	6706	6954
				7373	7377	7389	7466	7469	7473	7483	7485	7500	7501	7573	7575
				7595	7597	7600	7602	7684	7686	7700	7735	7736	7738	7779	7787
				7790	7794	7796	7804	7812	7815	7817	7819	7953	7991	8019	8020
				8022	8200	8297	8299	8554	8754	8761	8778	8785	8791	8800	8868
				8882	8897	8900	8917	8963	8977	9671	9679	9936	9941	9951	9961
				9962
	A-B-1			1754 #	7479	7751	7895	7898	7910	7913	8012	8433	8538	8540	10021
				10025
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-63
; 							Cross Reference Listing					

	AND			1760 #	5324	5326	5328	5332	5334	6755	8164	8214	8643	8705	8706
				8710	8834	8835	8870	8889	8891	8909	8920	9333	9557	9559	9570
				9588	9609	9622	9659	9668	9756	9782	9787	9811	9827	9854	9864
				9871	9888	9901	9922	9924	9940	9946	9952	9954	9995	9997
	OR			1759 #	8165	8441	8707	8708	8709	8711	8731	8903	8904	9015	9757
				9788	9893	9916	9964	9999	10004	10006
(U) SCADA			1761 #
	AR EXP			1764 #	5802	5814	5866	5870	5872	5996	6053	6081	6085	6252	6310
				6337	6968	10016	10016	10019
	AR0-5			1763 #	5314	5317	6755	7373	7377	7466	7469	7573	7592	7593	7602
				7678	7680	7692	7779	7787	7790	7798	7804	7811	7812	7814	7815
				7817	7819	7821	7830	7834	7838	7842	8200	8299	8643	8703	8705
				8706	8707	8708	8709	8710	8711	8731	8754	8764	8791	8798	8834
				8870	8871	8884	8889	8891	8909	8920	8926	8977	9015	9333	9679
				9680	9756	9782	9875	9940	9946	9954	9970	9997	10006	10154	10158
	FE			1762 #	4740	5207	5219	5239	5324	5326	5328	5332	5334	5388	5435
				5442	5444	5446	5448	5457	5459	5461	5462	5467	5513	5540	5543
				5548	5560	5579	5594	5595	5596	5597	5598	5599	5600	5601	5625
				5626	5627	5628	5670	5719	5815	5824	5825	5828	5911	5914	6093
				6126	6129	6131	6133	6153	6157	6160	6162	6166	6175	6212	6213
				6267	6312	6356	6358	6378	6380	6381	6384	6385	6405	6408	6409
				6563	6565	6592	6594	6677	6678	6680	6683	6685	6706	6711	6726
				6954	6956	6959	6963	7378	7382	7392	7395	7471	7475	7501	7595
				7597	7638	7684	7686	7700	7735	7736	7738	7751	7752	7763	7778
				7794	7796	7860	7862	7873	7875	7895	7898	7910	7913	7953	7998
				8012	8022	8164	8165	8214	8258	8297	8417	8438	8440	8441	8537
				8538	8539	8540	8554	8557	8756	8761	8767	8802	8837	8847	8849
				8850	8868	8882	8888	8897	8900	8903	8904	8917	8963	8994	9401
				9407	9574	9623	9664	9675	9757	9766	9784	9786	9788	9811	9854
				9871	9893	9901	9916	9924	9936	9952	9962	9964	9995	9999
	#			1765 #	3731	3744	3746	3808	3845	3869	3882	4053	4065	4755	4757
				4838	4839	5078	5079	5169	5180	5182	5184	5188	5191	5195	5196
				5205	5209	5214	5228	5230	5235	5253	5255	5259	5261	5272	5276
				5292	5296	5299	5301	5302	5312	5386	5394	5396	5399	5414	5415
				5417	5489	5490	5496	5507	5510	5511	5517	5550	5555	5562	5567
				5629	5630	5631	5632	5654	5664	5679	5683	5703	5734	5747	5816
				5819	5823	5871	5874	5901	6000	6002	6065	6091	6149	6155	6263
				6277	6280	6293	6313	6315	6330	6333	6343	6361	6366	6374	6383
				6389	6454	6459	6509	6513	6526	6527	6552	6557	6575	6579	6600
				6604	6672	6690	6724	6730	6735	6742	6744	6746	6766	6975	6978
				7049	7063	7079	7083	7099	7136	7389	7405	7406	7411	7413	7414
				7415	7416	7417	7420	7422	7423	7424	7427	7429	7430	7431	7432
				7435	7437	7438	7439	7442	7448	7449	7480	7498	7500	7515	7517
				7523	7524	7525	7526	7527	7528	7531	7532	7533	7534	7537	7538
				7539	7540	7541	7544	7545	7546	7547	7555	7556	7600	7624	7633
				7636	7641	7642	7730	7732	7734	7737	7740	7744	7746	7749	7750
				7754	7755	7788	7791	7824	7829	7833	7837	7841	7925	7952	7991
				8019	8020	8029	8046	8049	8058	8148	8156	8210	8260	8295	8386
				8447	8473	8480	8482	8507	8523	8526	8526	8584	8584	8587	8587
				8620	8691	8720	8722	8740	8778	8785	8800	8825	8835	8838	8840
				8857	8971	8979	9011	9013	9211	9281	9326	9346	9348	9352	9365
				9376	9390	9421	9429	9440	9485	9505	9555	9557	9559	9570	9578
				9588	9609	9622	9624	9638	9643	9648	9659	9668	9671	9734	9739
				9753	9787	9810	9827	9864	9888	9907	9922	9961	10004	10052	10118
				10120	10161
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-64
; 							Cross Reference Listing					

(U) SCADA EN			1766 #
	0S			1767 #	3775	3905	3905	3922	3922	3993	4635	4725	4725	4737	4743
				5048	5072	5137	5137	5193	5193	5271	5389	5392	5437	5438	5439
				5440	5451	5452	5453	5454	5488	5612	5615	5701	5707	5707	5713
				5736	5737	6173	6341	6457	6461	6463	6472	6545	6596	6663	6728
				6945	6970	7081	7380	7385	7387	7412	7421	7428	7436	7473	7479
				7483	7485	7522	7530	7536	7543	7549	7575	7693	7799	7822	7823
				7968	8017	8028	8062	8209	8217	8253	8265	8433	8504	8514	8552
				8590	8592	8613	8758	8773	8774	8811	8812	8815	8915	8992	9338
				9359	9767	9805	9806	9934	9941	9951	10021	10025
(U) SCADB			1769 #
	AR0-8			1772 #	4737	6463	6472	6945	8046	8049	8164	8165	8253	8433	8552
				8835	8840	9787	9811	9827	9864	9888	9901	9922	10004
	AR6-11			1771 #	7380	7385	7387	7473	7483	7485	7575	7595	7597	7602	7678
				7700	7779	7794	7796	7953	7968	8217	8265	8297	8299	8754	8758
				8761	8773	8774	8778	8791	8800	8811	8812	8815	8977	9557	9559
				9570	9588	9609	9622	9659	9668	9679	10154	10158
	SC			1770 #	3808	5169	5180	5182	5184	5188	5191	5195	5196	5207	5209
				5214	5228	5230	5235	5253	5255	5259	5271	5272	5276	5292	5296
				5299	5437	5438	5439	5440	5451	5452	5453	5454	5612	5615	5814
				5815	5816	5819	5823	5872	5874	5996	6000	6002	6053	6277	6280
				6310	6312	6313	6315	6330	6337	6385	6405	6509	6513	6685	6706
				6726	6728	6970	7389	7392	7479	7480	7498	7500	7501	7600	7684
				7686	7693	7751	7763	7799	7822	7823	7860	7862	7873	7875	7895
				7898	7910	7913	7991	7998	8012	8017	8019	8020	8022	8028	8058
				8062	8209	8417	8538	8540	8590	8592	8731	8756	8785	8837	8870
				8884	8903	8904	9015	9338	9359	9664	9671	9756	9757	9767	9784
				9786	9788	9924	9936	9940	9941	9946	9951	9954	9961	9997	10006
				10021	10025
	#			1773 #	5219	5239	5324	5326	5328	5332	5334	5513	5911	5914	6081
				6085	6093	6126	6131	6133	6153	6157	6160	6166	6175	6378	6380
				6677	6678	6755	6954	6956	6963	7373	7377	7466	7469	7573	7735
				7736	7738	7787	7790	7804	7812	7815	7817	7819	8200	8214	8441
				8554	8643	8705	8706	8707	8708	8709	8710	8711	8834	8868	8882
				8888	8889	8891	8897	8900	8909	8917	8920	8963	9333	9574	9623
				9675	9782	9854	9871	9893	9916	9952	9962	9964	9995	9999
(U) SH				1785 #	3813	3815	3817	3819	3822	3823	3824	3825	3834	3837	7378
				7382	7471	7475	7861	7865	7872	7874	7897	7902	7909	7912	7929
				7931	7971	7973	7980	7981	8077	8079	8085	8087
	AR			1787 #	3899	3900	3987	4055	4067	4737	4832	4834	5093	5169	5253
				5255	5271	5272	5276	5288	5386	5389	5413	5489	5490	5495	5629
				5630	5631	5632	5653	5672	5678	5740	5816	5819	5822	5825	5871
				6065	6274	6276	6279	6329	6333	6340	6365	6394	6397	6399	6508
				6510	6512	6526	6554	6557	6562	6604	6610	6664	6695	6698	6700
				6729	6744	6746	6930	6968	7065	7079	7086	7135	7139	7216	7328
				7373	7376	7379	7383	7392	7466	7469	7472	7476	7592	7677	7692
				7753	7755	7778	7797	7804	7997	8012	8029	8050	8056	8210	8217
				8254	8257	8257	8290	8328	8360	8386	8386	8404	8406	8457	8513
				8577	8579	8613	8621	8692	8692	8758	8763	8774	8784	8794	8797
				8812	8815	8836	8892	8914	8920	8991	9307	9346	9348	9365	9428
				9469	9479	9548	9595	9608	9610	9624	9661	9680	9812	9901	9934
				10118	10120	10176
	AR SWAP			1789 #	3971	4181	4184	4187	4188	4191	4192	4211	4212	4217	4218
				4469	4472	4474	4653	4720	4888	4892	5097	5124	5517	5800	5865
				7076	7175	7642	8218	8634	8694	8694	9123	9233	9252	9258	9299
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-65
; 							Cross Reference Listing					

				9305	9323	9371	9379	9385	9448	9454	9472	9484	9768	9773	9773
				9950	9995	10017
	ARX			1788 #	3774	3844	4046	4053	4667	4694	4814	4819	4821	4895	5098
				5103	5187	5196	5209	5209	5214	5214	5218	5218	5230	5235	5239
				5292	5296	5392	5507	5511	5689	5701	5706	5717	5911	6123	6286
				6289	6297	6313	6315	6387	6468	6473	6687	6945	6976	7057	7140
				7267	7269	7330	7523	7524	7525	7526	7527	7528	7531	7532	7533
				7534	7537	7538	7539	7540	7541	7544	7545	7546	7547	7575	7595
				7625	7686	7688	7694	7801	7922	8065	8099	8102	8104	8107	8150
				8209	8336	8390	8438	8448	8517	8538	8540	8564	8637	8732	8765
				8770	8805	8831	8832	8833	8846	8848	8857	8861	8862	8883	8893
				8918	8952	8960	9000	9001	9002	9003	9259	9325	9451	9471	9503
				9622	9723	9724	9739	9770	9789	9823	9854	9863	9941	9946	10005
				10020	10023	10025	10129	10164	10168
	SHIFT AR!ARX		1786 #	3808	3808	3904	3927	4044	4073	4756	5080	5085	5180	5183
				5197	5212	5220	5233	5241	5243	5258	5261	5275	5298	5300	5302
				5315	5317	5388	5398	5401	5519	5663	5688	5690	5691	5694	5702
				5704	5708	5719	5748	5821	5824	5827	6092	6094	6098	6154	6156
				6281	6288	6290	6292	6296	6298	6385	6388	6389	6405	6412	6514
				6519	6521	6530	6685	6688	6689	6706	6731	6743	6760	6888	6890
				7081	7084	7137	7394	7405	7406	7499	7501	7501	7502	7515	7517
				7632	7634	7756	7821	7996	8004	8018	8021	8021	8023	8266	8450
				8484	8506	8622	8703	8826	8838	8838	8855	9213	9333	9357	9383
				9508	9514	9516	9518	9520	9551	9570	9625	9652	9815	9825	9826
				9905	9909	10122	10162
(U) SKIP			1840 #
	AC REF			1874 #	7161	7162
	AC#0			1848 #	3903	3984	4525	4755	7573
	AD CRY0			1854 #	4744	4804	4809	4831	4850	5126	5713	5731	5732	5912	5999
				6001	6123	6150	6374	6393	6672	6694	8361	8412	8458	8519	8522
				8553	8611	8630	8681	8986	9010	9629	9960
	AD#0			1856 #	5262	5290	5312	5393	5399	5508	5512	5580	6262	6299	6325
				6441	6540	6693	6886	6889	6927	7077	7158	7218	7276	7605	7633
				7635	8047	8219	9654	9852	9940
	AD0			1855 #	5133	5135	5416	5488	5510	5556	5568	5613	5616	5680	5708
				5902	6265	6365	6443	6447	6453	6490	6501	6503	6546	6550	6558
				6586	6587	6604	6616	6622	6660	6664	6934	6938	7073	7098	8254
				8263	8456	8506	9326	10108
	ADX0			1853 #	8634
	AR0			1847 #	3974	4215	4221	5128	6065	6338	6436	6440	6614	6930	6961
				7658	7692	7798	7876	8278	8328	8764	8798	10016	10019	10173	10183
	AR18			1846 #	4198	4208	5167	5178	5206	5227	5252	5270	5387	8101	8715
				9334	9965
	ARX0			1845 #	7701	7752	8387	8691	8842	8860	8878
	BR0			1844 #	5734	5903	5996	6368	6606	6623	8283	8403	8578
	EVEN PAR		1843 #
	FETCH			1860 #
	INTRPT			1868 #	3814	3816	3818	3820	3836	3838	4741	4785	5051	5145	7191
				7202	7227	7289	7315	7864	7866	7901	7903	7930	7932	7972	7974
				8078	8079	8296	8345	8417	8621	8756	8890	8894	9188	9810	9894
				10052
	IO LEGAL		1871 #	4020	4635	4636	4637	4639	4774	9119	9125	9212	9219	9221
				9226	9230	9253	9256	9282	9300	9303	9320	9324	9352	9372	9375
				9427	9443	9446	9455	9458	9470	10104
	KERNEL			1861 #	4633
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-66
; 							Cross Reference Listing					

	P!S XCT			1872 #	7141	7278
	PC SEC0			1850 #	4630	4806	4835	4846	4874	4876	5008	5010	5022	5026	5028
				5030	5037	5039	5041	5043	5046	8200	8762	8763	8796	8797	8831
				8863	8886	8888	8916	8959	8993
	PI CYCLE		1865 #	9131	9134	9149	10117
	PUBLIC			1863 #
	RPW REF			1864 #	9734	9739
	RUN			1870 #
	SC0			1849 #	4654	5741	7390	7575	7576	7593	8557
	SCAD#0			1852 #	5271	5314	5317	5325	5327	5329	5333	5334	7813	7816	7818
				7820	8046	8062	8165	8215	9338	9557	9559	9588	9609	9827	9865
				9875	9889	9922	9925	9952	9954	9970	9996	9998
	SCAD0			1851 #	5170	5181	5182	5185	5188	5192	5195	5210	5215	5219	5229
				5231	5236	5240	5256	5259	5273	5277	5293	5719	5814	5817	5819
				5823	6081	6085	6093	6278	6280	6310	6314	6316	6509	6955	7393
				7595	7597	7602	7735	7736	7738	7896	7898	7910	7913	7991	7998
				8013	8049	8299	8785	8841	8868	8882	8898	8901	8917	8963	8977
				9672	9679
	USER			1862 #	4672	4673	4682	4692	5094	5146	9909	10127
	-EBUS GRANT		1866 #	9184
	-EBUS XFER		1867 #	9174
	-LOCAL AC ADDR		1857 #	3990	3995	5048	5072
	-MTR REQ		1875 #	3841	4738	5063	5147	7869	7906	8082
	-START			1869 #	4736
	-VMA SEC0		1873 #	7384	7477	7594	7687	7792
(U) SP MEM			2142 #
	CACHE INH		2149 #
	EPT			2163 #	9524	9582	9617	9805
	EPT CACHE		2164 #	8213
	EPT EN			2148 #
	EPT FETCH		2165 #	9572	9573	9579
	EXEC			2145 #
	FETCH			2143 #
	PT			2168 #	3782	5054
	PT FETCH		2169 #
	SEC 0			2146 #
	UNCSH+UNPAGE		2150 #
	UNPAGED			2162 #	4023	4025	9563	9565	9640	9645	9650	9824	9829	9844	9866
				9886	9891	9915	9950
	UNPAGED+CACHED		2151 #
	UPT			2166 #	5074	5076	9525	9806	10123
	UPT EN			2147 #
	UPT FETCH		2167 #
	USER			2144 #
(U) SPEC			1941 #
	AD LONG			1957 #	4044	4054	4054	4069	5542	5542	5545	5545	5579	5611	5614
				5659	5661	5671	5712	5715	5746	5750	5997	5997	6099	6260	6260
				6332	6374	6381	6408	6416	6416	6438	6438	6556	6611	6611	6672
				6680	6711	6725	8467	8468	8481	8522	8523	8523	8537	8580	8620
				8642	8679	8973	9439	9505
	ARL IND			1952 #	3996	3996	4043	4067	4694	4834	4845	4895	5085	5094	5487
				5651	6252	6252	6431	6681	6926	7050	7628	7628	7631	7688	7694
				7796	8028	8209	8258	8440	9233	9451	9461	9766	9767	10127	10129
	CLR FPD			1946 #	7392	7394	7410	7419	7426	7434	7441	7443	7444	7502	7550
				7551	7577	7826	8616	9135
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-67
; 							Cross Reference Listing					

	FLAG CTL		1954 #	3793	4628	4651	4653	4659	4661	4669	4673	4689	4759	4762
				5107	9144	9598	10134
	GEN CRY18		1949 #	3992	4613	5082	5092	6150	7138	7139	9134	9148	9354
	INH CRY18		1943 #	5127	7226	7239	8760	8768	8795	8799	8803	8869	8899
	LOAD PC			1947 #	4726
	MQ SHIFT		1944 #	5690	5692	5730	5732	6377	6676	6723	8401
	MTR CTL			1953 #	9444	9456	9471	9472	9473	9487	9488	9489	9490
	SAVE FLAGS		1955 #	4636	4641	4806	4874	4876	5100
	SCM ALT			1945 #	5167	5178	5205	5218	5227	5239	5251	5270	6051	6508	6511
				7479	7498	7500	7634	7636	7762	7996	8018	9419	10005
	SP MEM CYCLE		1956 #	3782	4023	4025	5054	5074	5076	8213	9524	9525	9563	9565
				9572	9573	9579	9582	9617	9640	9645	9650	9805	9806	9824	9829
				9844	9866	9886	9891	9915	9950	10123
	STACK UPDATE		1950 #	4804	4809	4831	4849	5125
	XCRY AR0		1948 #	3899	3900	5129	5253	5255	5275	5276	5285	5399	5402	5682
				5747	5821	5822	6066	6086	6092	6276	6279	6510	6512	6729	7058
				7065	7079	7753	7755	8483	8764	8798
(U) SPEC INSTR			2096 #	9839
	CONS XCT		2105 #	4743
	CONT			2106 #	4740
	HALTED			2104 #	4725
	INH PC+1		2099 #	3783
	INSTR ABORT		2103 #	9502	10122
	INTRPT INH		2102 #
	KERNEL CYCLE		2098 #
	PXCT			2101 #	5149
	SET PI CYCLE		2097 #	3730	9492	9548
	SXCT			2100 #
(U) SWITCH%
	BIG.PT			1311	9337	9339	9341	9396	9398	9405	9411	9853	9856	9859	9870
				9872	9874	9923	9926	9928	9931	9933	9935	9937
	CST.WRITE		1310	9963	9967	9969
	DDT.BUG			1312	9229	9236	9249
	EDIT			1314	8819	8872	8874	9014
	EXTEXP			5	3733	3739	3741	3796	3799	3804	4917	4925	4936	4986	4991
				5003	5031	5035	6420	6534	6537	6581	6584	6624	6627	6767	6770
				6893	6897	7103	8048	8051	8054	8057	8059	8061
	FPLONG			4	1257	5758	5760	5762	5772	5774	5776	5786	5790	5797	5837
				5839	5841	5851	5858	5862	5881	5883	5885	5930	5988	6007	6010
				6013	6017	6046	6184	6186	6188	6194	6202	6218	6220	6222	6224
				6226	6228	6236	6238	6240
	GFTCNV			10	1313	4919	4924	5005	5007	5011	5020	5024	6531	6533	6771
				6860	6901	6906	6914	6919	6981	7047
	INSTR.STAT		1292	1294	1297	1994	1996	1998	9265	9269	9277
	IPA20			9	1308	9138	9141	9560	9562	9566
	MOS.MULTI		1264	9285	9287	9296
	MULTI			6	1261	2152	2161	2170
	NOCST			7	1309	9851	9860	9862	9878	9885	9895	9939	9943	9945	9981
				9991	10008
	NONSTD			1306	1981	1983	1985
	OP.CNT			1239	1276	1278	3755	3758
	OP.TIME			1242	1280	1282	3759	3762
	OWGBP			8	1307	3734	3736	3738	3800	3803	8137	8144	8168	8180	8232
				8240	8246	8252	8359	8367	8378	8425	8434	8436	8501	8508	8512
				8822	8827	8829
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-68
; 							Cross Reference Listing					

	PAGCNT			1253	1299	1302	4727	4730	9329	9332	9725	9729	9733	9736	9738
				9743	9745
	SNORM.OPT		3	1268	6135	6146	6167
	SO.CNT			1245	1284	1286	3763	3767
	SO2.CNT			1248	1288	1290	3768	3772
	TRACKS			1235	1272	1274	3751	3754
	TRXDEF			1304	2430	2433	2559	2568	2750	2752	3436	3447	3472	3474	3493
				3495
(U) TIME			1807 #
	2T			1810 #	4479	4480	4481	4741	5124	5337	5338	5513	7626	7711	7730
				7732	7744	7750	7789	7791	7794	7824	7829	7833	7837	7841	7952
				7953	8678
	3T			1811 #	3777	3845	3864	3869	3876	3882	3888	4736	4830	4832	4835
				4862	5208	5496	7163	7168	7169	7187	7199	7205	7220	7222	7272
				7285	7308	7315	7497	7516	7518	7870	7871	7907	7908	7922	7923
				7978	7979	7992	8013	8083	8084	8364	8630	8680	9231	9402	9407
				9784	9786	9902
	4T			1812 #
	5T			1813 #	3744	3746	4678	4776	5082	5084	9169	9172	9176	9189	9194
				9195	9220	9227	9254	9257	9258	9260	9301	9304	9306	9308	9325
				9354	9364	9373	9377	9381	9431	9432	9433	9434	9444	9447	9449
				9456	9459	9471	9472	9473	9478	9487	9488	9489	9490	9558	9607
				9740	9755
(U) U0				1630 #
(U) U21				1692 #
(U) U23				1698 #
(U) U42				1768 #
(U) U45				1774 #
(U) U48				1781 #
(U) U51				1800 #
(U) U73				1959 #
(U) VMA				1801 #	10036
	AD			1806 #	3729	4020	4023	4628	4659	4676	4811	4813	4837	4839	5055
				5089	6925	6966	7048	7062	7186	7191	7216	7219	7221	7226	7274
				7279	7284	7289	7296	7307	7314	8099	8102	8104	8107	8362	8363
				8559	8627	8689	8721	8832	8833	8889	8893	8914	8925	8927	8932
				8935	8974	8991	9001	9003	9009	9151	9152	9214	9336	9391	9401
				9407	9420	9440	9551	9579	9584	9600	9601	9612	9619	9663	9670
				9751	9823	9828	9838	9863	9886	9889	9914	9946	10043
	LOAD			1804 #	3776	3778	3813	3815	3817	3819	3835	3837	4804	4809	4827
				4829	4851	5052	5061	5075	5096	7155	7160	7161	7378	7382	7471
				7475	7859	7861	7863	7865	7872	7874	7895	7897	7900	7902	7909
				7912	7929	7931	7970	7971	7972	7973	7980	7981	8077	8078	8079
				8212	8221	9480	9515	9517	9519	9521	9553	9554	9568	9800	9802
				10005	10115
	PC			1803 #	3795	4726	8754	8791	8979	9599
	PC+1			1805 #	3822	3823	3824	3825	3833	3834	3875	3899	3901	3902	3908
				3910	3984	3990	3995	4042	4045	4081	4467	4469	4475	4507	4524
				4574	4589	4606	4613	4758	4760	4786	4818	5126	5167	5179	5213
				5221	5234	5242	5252	5262	5284	5313	5398	5583	5694	5735	6096
				6097	6404	6413	6705	6762	6888	6890	6891	6928	6936	6940	7189
				7201	7223	7265	7286	7312	7390	7410	7412	7413	7414	7415	7416
				7417	7419	7426	7428	7429	7430	7431	7432	7434	7441	7443	7444
				7448	7449	7577	7606	7681	7702	7710	8283	8335	8338	8393	8456
				8474	8518	8556	8610	8858	9130	9132	9134	9143
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page CRF-69
; 							Cross Reference Listing					

	VMA			1802 #	4038	4040	4073	4686	4687	4709	4880	4894	5056	5064	5079
				5102	5104	5650	5705	6253	6430	6929	7051	7203	7387	7485	7690
				7707	7796	7801	8479	8481	8617	8953	8957	9006	9286	9506	9508
				9527	9631	10130	10132	10133
(U) VMAX			1795 #
	AD12-17			1799 #
	PC SEC			1797 #	4890
	PREV SEC		1798 #	4716	5095	9360	10128
	VMAX			1796 #
(U) #				1965 #	3731	3743	3744	3746	3774	3776	3778	3808	3822	3823	3824
				3825	3833	3834	3845	3869	3882	3905	3919	3921	3922	3927	4053
				4065	4696	4755	4757	4772	4784	4787	4838	4839	5052	5061	5075
				5078	5079	5088	5096	5108	5109	5110	5137	5150	5169	5180	5182
				5184	5188	5191	5193	5195	5196	5205	5210	5215	5219	5228	5230
				5236	5240	5253	5255	5259	5261	5272	5276	5292	5296	5299	5301
				5302	5312	5324	5327	5328	5332	5334	5386	5394	5396	5399	5414
				5415	5417	5489	5490	5496	5507	5510	5511	5513	5518	5550	5555
				5562	5567	5629	5630	5631	5632	5654	5664	5679	5683	5703	5722
				5734	5742	5747	5789	5816	5819	5823	5861	5871	5874	5901	5911
				5914	5925	6000	6002	6065	6081	6085	6091	6093	6125	6126	6131
				6133	6149	6153	6155	6157	6160	6166	6175	6223	6227	6237	6263
				6277	6280	6293	6300	6301	6313	6315	6327	6330	6333	6343	6354
				6361	6366	6374	6376	6378	6380	6383	6389	6404	6414	6454	6459
				6489	6509	6513	6526	6527	6543	6552	6557	6575	6579	6590	6597
				6600	6605	6618	6672	6675	6677	6679	6690	6705	6724	6730	6733
				6735	6742	6744	6746	6755	6764	6766	6933	6935	6941	6955	6956
				6963	6974	6975	6978	7049	7055	7063	7068	7080	7083	7099	7136
				7138	7157	7167	7217	7224	7228	7267	7275	7287	7290	7311	7316
				7328	7373	7377	7389	7405	7406	7411	7413	7414	7415	7416	7417
				7420	7422	7423	7424	7427	7429	7430	7431	7432	7435	7437	7438
				7439	7442	7448	7449	7466	7469	7480	7498	7500	7503	7515	7517
				7523	7524	7525	7526	7527	7528	7531	7532	7533	7534	7537	7538
				7539	7540	7541	7544	7545	7546	7547	7555	7556	7573	7600	7624
				7633	7636	7641	7642	7730	7732	7734	7735	7736	7737	7738	7740
				7744	7746	7749	7750	7754	7755	7756	7762	7787	7788	7790	7791
				7804	7812	7815	7817	7819	7824	7829	7833	7837	7841	7925	7952
				7991	8019	8020	8029	8046	8049	8058	8076	8077	8085	8087	8148
				8156	8200	8210	8212	8214	8253	8260	8262	8266	8272	8274	8285
				8290	8291	8292	8295	8305	8329	8331	8337	8386	8389	8390	8399
				8433	8441	8447	8450	8473	8480	8482	8484	8507	8513	8523	8526
				8552	8554	8563	8580	8584	8587	8620	8623	8636	8639	8643	8677
				8691	8705	8706	8707	8708	8709	8710	8711	8720	8722	8740	8778
				8785	8800	8825	8826	8834	8835	8838	8840	8857	8859	8868	8882
				8887	8888	8889	8891	8897	8900	8909	8917	8920	8963	8971	8978
				8979	9011	9012	9013	9136	9211	9281	9326	9333	9335	9346	9347
				9348	9352	9365	9376	9390	9418	9421	9429	9440	9480	9482	9485
				9493	9505	9515	9517	9519	9521	9553	9554	9555	9557	9559	9568
				9570	9574	9578	9588	9609	9622	9623	9624	9638	9643	9648	9659
				9668	9671	9675	9721	9722	9734	9739	9753	9782	9787	9800	9802
				9810	9827	9854	9864	9871	9888	9893	9907	9916	9922	9936	9952
				9961	9962	9964	9995	9999	10004	10037	10052	10056	10060	10064	10068
				10072	10076	10080	10084	10088	10092	10096	10100	10115	10116	10118	10120
				10135	10149	10161
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page LLD-1
; 							Location / Line Number Index
; Dcode Loc'n	0	1	2	3	4	5	6	7					

D 0000		4916	8117	8118	8119	8121	8122	8123	8124
D 0010		8126	8127	8128	8129	8131	8132	8133	8134
D 0020		4918	6899	6900	4920	4921	4922	4923	6907
D 0030		6908	6909	4937	4938	4939	4940	4941	4942
D 0040		4946	4947	4948	4949	4950	4951	4952	4953
D 0050		4954	4955	4014	4015	4959	4960	4961	4962
D 0060		4963	4964	4965	4966	4967	4968	4969	4970
D 0070		4971	4972	4973	4974	4975	4976	4977	4978

D 0100		4982	4983	6423	6424	5115	5116	6425	6426
D 0110		6245	6246	6247	6248	5637	5638	5639	5640
D 0120		4032	4033	6058	8042	4060	4061	6059	6060
D 0130		6011	6012	6014	7569	7368	7369	7461	7462
D 0140		5757	5761	5763	5764	5766	5767	5768	5769
D 0150		5771	5775	5777	5778	5780	5781	5782	5783
D 0160		5836	5840	5842	5843	5845	5846	5847	5848
D 0170		5880	5884	5886	5887	5889	5890	5891	5892

D 0200		3947	3948	3949	3950	3952	3953	3954	3955
D 0210		3957	3958	3959	3960	3962	3963	3964	3965
D 0220		5368	5369	5370	5371	5406	5407	5408	5409
D 0230		5472	5473	5474	5475	5477	5478	5479	5480
D 0240		5155	5156	5157	5158	5159	5160	5161	4984
D 0250		3967	7130	4609	4610	4618	4749	5141	4767
D 0260		4792	4793	4794	4795	4867	4868	4869	4870
D 0270		5343	5344	5345	5346	5355	5356	5357	5358

D 0300		4486	4487	4488	4489	4490	4491	4492	4493
D 0310		4496	4497	4498	4499	4500	4501	4502	4503
D 0320		4562	4563	4564	4565	4566	4567	4568	4569
D 0330		4513	4514	4515	4516	4517	4518	4519	4520
D 0340		4577	4578	4579	4580	4581	4582	4583	4584
D 0350		4528	4529	4530	4531	4532	4533	4534	4535
D 0360		4593	4594	4595	4596	4597	4598	4599	4600
D 0370		4544	4545	4546	4547	4548	4549	4550	4551

D 0400		4229	4230	4231	4232	4234	4235	4236	4237
D 0410		4244	4245	4246	4247	4254	4255	4256	4257
D 0420		4259	4260	4261	4262	4269	4270	4271	4272
D 0430		4274	4275	4276	4277	4284	4285	4286	4287
D 0440		4294	4295	4296	4297	4304	4305	4306	4307
D 0450		4314	4315	4316	4317	4324	4325	4326	4327
D 0460		4335	4336	4337	4338	4345	4346	4347	4348
D 0470		4355	4356	4357	4358	4365	4366	4367	4368

D 0500		4087	4088	4089	4090	4092	4093	4094	4095
D 0510		4097	4098	4099	4100	4102	4103	4104	4105
D 0520		4107	4108	4109	4110	4112	4113	4114	4115
D 0530		4117	4118	4119	4120	4122	4123	4124	4125
D 0540		4129	4130	4131	4132	4134	4135	4136	4137
D 0550		4139	4140	4141	4142	4144	4145	4146	4147
D 0560		4149	4150	4151	4152	4154	4155	4156	4157
D 0570		4159	4160	4161	4162	4164	4165	4166	4167

; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page LLD-2
; 							Location / Line Number Index
; Dcode Loc'n	0	1	2	3	4	5	6	7					

D 0600		4377	4378	4379	4380	4381	4382	4383	4384
D 0610		4386	4387	4388	4389	4390	4391	4392	4393
D 0620		4395	4396	4397	4398	4399	4400	4401	4402
D 0630		4404	4405	4406	4407	4408	4409	4410	4411
D 0640		4413	4414	4415	4416	4417	4418	4419	4420
D 0650		4422	4423	4424	4425	4426	4427	4428	4429
D 0660		4431	4432	4433	4434	4435	4436	4437	4438
D 0670		4440	4441	4442	4443	4444	4445	4446	4447

D 0700		9025	9026	9027	9028	9029	9030	9031	9032
D 0710		9036	9037	9038	9039	9040	9041	9042	9043
D 0720		9047	9048	9049	9050	9051	9052	9053	9054
D 0730		9058	9059	9060	9061	9062	9063	9064	9065
D 0740		9071	9072	9073	9074	9075	9076	9077	9078
D 0750		9083	9084	9085	9086	9087	9088	9089	9090
D 0760		9094	9095	9096	9097	9098	9099	9100	9101
D 0770		9105	9106	9107	9108	9109	9110	9111	9112
; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page LLU-1
; 							Location / Line Number Index
; Ucode Loc'n	0	1	2	3	4	5	6	7					

U 0000		3793:	3795:	3971=	3864:	3870:	3876:	3883:	3889:
U 0010		3977=	3899=	3901=	3903=	3904=	3905=	3908=	3910=
U 0020		3992=	3993=	9129=	9130=	6189=	6193=	9131=	9132=
U 0030		3797 	6208=	7575=	7576=	4850=	6209=	4851=	7577=
U 0040		9140=	3798 	9143=	9144=	3808 	7411=	7412=	7413=
U 0050		7414=	7415=	7416=	7417=	7420=	7421=	7422=	7423=
U 0060		7424=	7427=	7428=	7429=	7430=	7431=	7432=	7435=
U 0070		7436=	7437=	7438=	7439=	7442=	7443=	7444=	7446=

U 0100		3980:	3982:	3990:	4020=	4065=	4068=	4038=	4069=
U 0110		4266:	4281:	4291:	4472:	4187=	4188=	4667=	4668=
U 0120		4022=	4023=	4024=	4025=	5289=	9151=	5290=	9152=
U 0130		4757=	4758=	4759=	3922 	6212=	6214=	3937:	3942:
U 0140		3730=	3927 	3732=	3740=	3743=	3744=	3746=	4041 
U 0150		8725=	6223=	3775=	3776=	8726=	6227=	3777=	3778=
U 0160		3814=	3816=	3818=	3820=	3822=	3823=	3824=	3825=
U 0170		3827=	3828=	3829=	3830=	3833=	3834=	3836=	3838=

U 0200		4201:	4203:	3974:	4205:	4587=	4588=	4589=	4181=
U 0210		4191=	4192=	4184=	4467:	4470:	4507:	3919:	3921:
U 0220		4811=	8503=	4814=	4815=	4042=	4043=	4046 	4045=
U 0230		6274=	8505=	5107=	5108=	6278=	6280=	5109=	5110=
U 0240		5054=	4053 	5055=	5057=	4054 	7522=	7523=	7524=
U 0250		7525=	7526=	7527=	7528=	7530=	7531=	7532=	7533=
U 0260		7534=	7536=	7537=	7538=	7539=	7540=	7541=	7543=
U 0270		7544=	7545=	7546=	7547=	7549=	7550=	7551=	7553=

U 0300		4211=	4212=	4572:	4574:	4478:	4479:	4480:	4481:
U 0310		4198=	7134:	4525:	3984:	3987:	4176:	4178:	3996:
U 0320		5081=	5083=	4055 	5084=	4672=	4673=	4743=	4744=
U 0330		6367=	4072 	6368=	6369=	4675=	4676=	7479:	7480:
U 0340		10052=	10056=	10060=	10064=	10068=	10072=	10076=	10080=
U 0350		10084=	10088=	10092=	10096=	10100=	10104=	10108=	4074 
U 0360		3840=	3841=	9147=	9148=	3782=	3783=	3788=	9149=
U 0370		3845=	6516=	4079 	6517=	5541=	5542=	5544=	5545=

U 0400		7374=	4208=	5865=	5867=	7377=	4241=	4251=	5870=
U 0410		4603=	4604=	4605=	4301=	7379=	7381=	7383=	7384=
U 0420		6454=	6455=	6456=	6457=	4683=	4684=	5219=	5221=
U 0430		6459=	4081 	6460=	6461=	7386=	7387=	7388=	7390=
U 0440		5049=	5051=	5549=	5551=	4693=	4694=	5552=	5553=
U 0450		5659=	6522=	5661=	6523=	5664=	4606 	4669 	5554=
U 0460		5052=	4678 	5395=	5397=	4703=	4704=	5398=	5399=
U 0470		5695=	6576=	5696=	6577=	4716=	4720=	5556=	5557=

U 0500		7467=	4311=	4217=	4218=	7470=	4321=	4474=	4475=
U 0510		5387=	4331=	5388=	5389=	7472=	7474=	7476=	7477=
U 0520		8455=	8456=	5561=	5563=	8458=	8459=	5564=	5565=
U 0530		5670=	4679 	6762=	6764=	5671=	4686 	5672=	5566=
U 0540		5437=	5438=	5439=	5440=	5442=	5444=	5446=	5448=
U 0550		6605=	4696 	6606=	6607=	4737=	4738=	5568=	5569=
U 0560		5451=	5452=	5453=	5454=	5457=	5459=	5461=	5462=
U 0570		9335=	9336=	5873=	5731=	4709 	9338=	5874=	5732=

; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page LLU-2
; 							Location / Line Number Index
; Ucode Loc'n	0	1	2	3	4	5	6	7					

U 0600		4627:	4628:	4630:	4631:	4633:	4634:	4635:	4636:
U 0610		4637:	4638:	4639:	4640:	4641:	4642:	4643:	4644:
U 0620		4726 	8242=	4649:	8243=	4651:	4760 	8824=	4657:
U 0630		4659:	4761 	4661:	8244=	4688=	5745=	8825=	5746=
U 0640		6258=	4762 	6260=	5811=	6263=	4654:	6267=	5812=
U 0650		7156=	7157=	7158=	4772 	4740=	4741=	5749=	5751=
U 0660		5594=	5595=	5596=	5597=	5598=	5599=	5600=	5601=
U 0670		7689=	7691=	4777 	7692=	4689=	4831 	6393=	6395=

U 0700		4755:	4342=	4215:	4221:	4224:	4226:	4539=	4540=
U 0710		5414=	4352=	4555=	4556=	5416=	4362=	5417=	5418=
U 0720		7868=	7869=	7870=	7871=	5611=	5613=	5614=	5616=
U 0730		6331=	4846 	9607=	9608=	6332=	6413=	6333=	6415=
U 0740		4775=	4776=	8344=	6745=	4784=	4785=	8345=	6747=
U 0750		9678=	4880 	9679=	6748=	4786=	4787=	9680=	6750=
U 0760		5625=	5626=	5627=	5628=	5629=	5630=	5631=	5632=
U 0770		7905=	7906=	7907=	7908=	5718=	6752=	5719=	6753=

U 1000		5124:	5789:	5073:	5861:	5227:	5046:	5037:	4372=
U 1010		5039:	5041:	5043:	4613=	5350=	4891 	4804=	4806=
U 1020		4808=	4809=	5074:	7090=	4819=	4821=	4892 	7093=
U 1030		4833=	4835=	4894 	7094=	4838=	4840=	4895 	7095=
U 1040		7976=	7977=	7978=	7979=	4856=	4862=	5065 	7189=
U 1050		8081=	8082=	8083=	8084=	4878=	4879=	5075 	7191=
U 1060		8290=	8291=	5087 	8292=	4883=	4884=	5088 	7201=
U 1070		8336=	8337=	5089 	8338=	5062=	5063=	5094 	7202=

U 1100		5485=	6254=	5488=	6255=	4827=	4829=	5489=	5490=
U 1110		5022:	5026:	5028:	5030:	5010:	5362=	5008:	5097 
U 1120		8427=	8428=	8429=	8430=	5077=	5078=	5098 	7223=
U 1130		8526=	8528=	5100 	8529=	5092=	5093=	5102 	7224=
U 1140		8563=	8564=	5104 	8565=	5095=	5096=	5126 	7273=
U 1150		8771=	5130 	8773=	8774=	5128=	5129=	5197 	7275=
U 1160		8784=	8786=	5243 	8787=	5134=	5135=	5259 	7286=
U 1170		8806=	5279 	8808=	8809=	5137=	5138=	5286 	7287=

U 1200		9119=	9120=	9123=	5300 	4874=	4876=	9125=	9126=
U 1210		9226=	9227=	9230=	9232=	4888=	4890=	5301 	9233=
U 1220		8916=	8918=	5303 	8920=	5146=	5147=	5363 	7311=
U 1230		8925=	8926=	5393 	8927=	5149=	5150=	5435 	7312=
U 1240		5679=	5467 	10148=	10149=	5680=	5497 	5683=	5684=
U 1250		5168=	5170=	5580 	7405=	5181=	5182=	5654 	7406=
U 1260		5734=	5735=	5676 	5736=	5677 	5737=	6408=	6410=
U 1270		5183=	5185=	5688 	7516=	5187=	5188=	5689 	7518=

U 1300		9267=	9279=	9282=	9283=	5647=	5651=	5690 	5652=
U 1310		5145:	4771:	5800=	5803=	9219=	9220=	9221=	9222=
U 1320		8993=	8994=	5692 	8995=	5192=	5193=	5693 	7629=
U 1330		9161=	9162=	5701 	9170=	5195=	5196=	5703 	7631=
U 1340		9431=	9432=	9433=	9434=	5741=	5705 	5742=	5743=
U 1350		9515=	9517=	9519=	9521=	5208=	5210=	7679=	7681=
U 1360		5902=	5707 	5903=	5904=	5213=	5215=	5912=	5914=
U 1370		5708 	7731=	7733=	7734=	7735=	7736=	7737=	7738=

; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page LLU-3
; 							Location / Line Number Index
; Ucode Loc'n	0	1	2	3	4	5	6	7					

U 1400		9300=	5739 	5747 	9301=	9303=	5748 	5814 	9304=
U 1410		6086:	8046:	5167:	5312:	5252:	5179:	5270:	5206:
U 1420		6124=	6125=	6127=	6128=	6130=	6132=	6134=	6150=
U 1430		5819 	7811=	7813=	7814=	7816=	7818=	7820=	7821=
U 1440		9630=	9631=	5828 	9632=	6161=	6163=	6164=	6166=
U 1450		9638=	5831 	9639=	9640=	7822=	7823=	7825=	7826=
U 1460		5229=	5231=	6340=	6341=	5871 	7685=	6343=	7687=
U 1470		9643=	6053 	9644=	9645=	7860=	7862=	7864=	7866=

U 1500		6066=	6082=	6052:	7573:	9253=	9254=	9256=	9257=
U 1510		9320=	9321=	9324=	9325=	9353=	9355=	9356=	9357=
U 1520		6353=	6354=	6091 	6357=	7052=	6359=	7053=	6362=
U 1530		9648=	6093 	9649=	9650=	5234=	5236=	7873=	7876=
U 1540		6374=	6376=	6378=	6380=	6381=	6383=	6384=	6385=
U 1550		10119=	10121=	6098 	10122=	7896=	7899=	7901=	7903=
U 1560		6436=	6437=	6438=	6439=	6440=	6442=	6444=	6445=
U 1570		5240=	5242=	5254=	5256=	5260=	5262=	7911=	7914=

U 1600		9372=	9373=	9376=	9377=	9443=	9444=	9446=	9447=
U 1610		9455=	9456=	9458=	9459=	9467=	9468=	9470=	9471=
U 1620		5263=	5264=	6099 	7923=	5271=	5273=	6158 	7924=
U 1630		5275=	5277=	6237 	7925=	5284=	5285=	6289 	7926=
U 1640		6555=	6291 	5293=	5294=	6556=	6292 	6558=	6559=
U 1650		5297=	5299=	5313=	5315=	5318=	5325=	7930=	7932=
U 1660		6566=	6294 	6296 	8507=	6570=	6571=	6572=	8513=
U 1670		5327=	5329=	5333=	5335=	7970=	7971=	7972=	7974=

U 1700		6431=	7217=	6432=	7218=	9212=	9213=	9427=	9429=
U 1710		5337=	5338=	5401=	5402=	5508=	5510=	7980=	7982=
U 1720		6589=	6590=	6297 	6593=	8211=	6595=	8212=	6596=
U 1730		5512=	5514=	5518=	5520=	8076=	8077=	8078=	8079=
U 1740		6673=	6675=	6677=	6679=	6680=	6682=	6684=	6685=
U 1750		5582=	5583=	5711=	5713=	5714=	5715=	8086=	8088=
U 1760		5721=	5723=	5815=	5817=	5821=	5823=	6711=	6724=
U 1770		5824=	5825=	5925=	5926=	5996=	5997=	6298 	9722:

U 2000		7639=	6299 	7641=	7643=	7649=	7650=	7658=	7677=
U 2010		6000=	6002=	6088=	6089=	6096=	6097=	8299=	8300=
U 2020		6153=	6155=	6174=	6176=	7701=	7702=	6310 	7707=
U 2030		6282=	6284=	6287=	6288=	6300=	6301=	8301=	8302=
U 2040		6312=	6314=	7778=	7779=	6324=	6325=	7780=	7781=
U 2050		6326=	6327=	6316 	8350=	6398=	6399=	6338 	8351=
U 2060		6404=	6405=	6447=	6448=	7787=	7789=	7790=	7792=
U 2070		8389=	8390=	8391=	6387 	6388 	8399=	8393=	8401=

U 2100		6465=	6466=	8100=	8101=	6474=	6475=	8103=	8105=
U 2110		6501=	6502=	6504=	6505=	6510=	6511=	8408=	8409=
U 2120		8182=	8183=	8184=	8185=	8186=	8187=	8188=	8189=
U 2130		6539=	6540=	6541=	6542=	8549=	8438=	8550=	8439=
U 2140		6547=	6548=	6551=	6552=	6562=	6563=	8201=	8202=
U 2150		6586=	6588=	6610=	6611=	6614=	6616=	8559=	8560=
U 2160		6618=	6619=	6622=	6623=	8260=	8261=	8262=	8263=
U 2170		6667=	6669=	6694=	6696=	8972=	8620=	8973=	8621=

; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page LLU-4
; 							Location / Line Number Index
; Ucode Loc'n	0	1	2	3	4	5	6	7					

U 2200		8269=	8270=	6699=	6701=	8272=	8273=	8274=	6390 
U 2210		6705=	6706=	6869=	6870=	9009=	8642=	9010=	8643=
U 2220		9363=	8704=	9364=	8705=	9380=	8706=	9382=	8707=
U 2230		9528=	8708=	9529=	8709=	9578=	8710=	9579=	8711=
U 2240		8327=	8328=	8329=	6392 	6401 	8938=	8331=	8939=
U 2250		6876=	6877=	6416 	8715=	6888=	6889=	6453 	8716=
U 2260		6890=	6891=	6928=	6929=	6931=	6932=	8440=	8441=
U 2270		6935=	6936=	6462 	8728=	6939=	6940=	6464 	8729=

U 2300		6958=	6959=	6961=	6964=	7074=	7075=	8448=	8449=
U 2310		7078=	7080=	6467 	8739=	7100=	7101=	6468 	8740=
U 2320		9628=	8841=	9629=	8842=	6469 	8843=	6471 	8844=
U 2330		6472 	8845=	6473 	8847=	6476 	8849=	6477 	8850=
U 2340		7136=	7138=	8537=	8538=	7160=	7161=	8539=	8540=
U 2350		9553=	9554=	9555=	9556=	9557=	9558=	9559=	9563=
U 2360		7162=	7164=	6479 	9572=	7168=	7170=	6488 	9573=
U 2370		7187=	6489 	6490 	9574=	7192=	7193=	6507 	9575=

U 2400		7205=	7206=	7220=	7222=	6508 	9582=	6509 	9583=
U 2410		7229=	7230=	7238=	7239=	6512 	9584=	6513 	9588=
U 2420		9595=	9596=	9597=	9598=	9599=	9600=	6514 	9601=
U 2430		7265=	7266=	7277=	7278=	7279=	7280=	6518 	9602=
U 2440		9610=	9611=	7291=	7292=	6519 	9612=	6520 	9613=
U 2450		7316=	7317=	7326=	7327=	7393=	7395=	6521 	9614=
U 2460		7484=	7485=	7592=	7593=	6524 	9617=	6525 	9618=
U 2470		7594=	7595=	7598=	7600=	6526 	9619=	6528 	9620=

U 2500		7603=	7604=	7606=	7624=	7635=	7636=	8578=	8579=
U 2510		7693=	7694=	7710=	7711=	6530 	9734=	9739=	9740=
U 2520		7739=	7741=	7745=	7746=	7749=	7750=	6543 	9763=
U 2530		7754=	7755=	7795=	7796=	7799=	7800=	6544 	9764=
U 2540		8585=	8588=	6545 	8590=	6549 	8592=	9403=	9404=
U 2550		7829=	7830=	7833=	7834=	7837=	7838=	9774=	9782=
U 2560		7841=	7842=	7951=	7952=	8636=	8637=	8640=	6553 
U 2570		7992=	7993=	7996=	7998=	6574 	9801=	6578 	9803=

U 2600		8676=	8677=	8678=	6580 	8004=	8005=	8679=	8680=
U 2610		8013=	8014=	8017=	8019=	6585 	9805=	6597 	9806=
U 2620		8047=	8050=	8055=	8056=	8719=	8720=	8721=	8722=
U 2630		9812=	9813=	6598 	9815=	6599 	9816=	6601 	9817=
U 2640		8063=	8064=	8108=	8109=	8759=	8761=	8762=	8763=
U 2650		9902=	9903=	6659 	9907=	6660 	9908=	6662 	9910=
U 2660		8166=	8167=	8217=	8218=	8794=	8795=	8796=	8797=
U 2670		8858=	8859=	8860=	8861=	8863=	8946=	6663 	8947=

U 2700		8220=	8221=	8255=	8256=	6664 	8948=	6687 	8953=
U 2710		8280=	8281=	8284=	8285=	6688 	8964=	6691 	8965=
U 2720		8974=	6693 	8976=	8977=	8978=	8979=	8980=	8981=
U 2730		8296=	8297=	8347=	8348=	9000=	9001=	9002=	9003=
U 2740		8362=	8363=	8385=	8387=	9011=	9012=	6703 	9013=
U 2750		9390=	6708 	9391=	6709 	8405=	8406=	9393=	9397=
U 2760		8416=	8417=	8464=	8465=	8480=	8482=	9409=	9410=
U 2770		9487=	9488=	9489=	9490=	9491=	6710 	9962=	9965=

; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page LLU-5
; 							Location / Line Number Index
; Ucode Loc'n	0	1	2	3	4	5	6	7					

U 3000		8522=	8523=	9200:	9202:	6726 	8148:	8152:	6727 
U 3010		8153:	8154:	8156:	6728 	8555=	8556=	8615=	8617=
U 3020		8622=	8623=	8627=	8628=	6730 	8149:	8632=	8633=
U 3030		8693=	8695=	8157:	6732 	6733 	8150:	8755=	8756=
U 3040		9659=	9660=	6735 	9661=	9663=	9664=	6739 	9665=
U 3050		9669=	6740 	8764=	8765=	9670=	9672=	6742 	9673=
U 3060		8767=	8768=	8798=	8799=	8802=	8803=	8832=	8833=
U 3070		8854=	8855=	8870=	8871=	8883=	8884=	8886=	8887=

U 3100		8890=	8891=	8898=	8901=	8903=	8904=	8933=	8934=
U 3110		5023:	6920:	6921:	6922:	6913:	6743 	6912:	6756 
U 3120		8960=	8961=	9135=	9136=	9173=	9174=	9184=	9185=
U 3130		9187=	9188=	9205=	9206=	9313=	9314=	9328=	9334=
U 3140		9346=	9347=	9419=	9421=	9438=	9439=	9480=	9481=
U 3150		9504=	9506=	9589=	9590=	9751=	9752=	9829=	9830=
U 3160		9838=	9839=	9855=	9863=	9867=	9868=	9876=	9877=
U 3170		9891=	9892=	9925=	9929=	9934=	9936=	6758 	8097:

U 3200		9942=	9946=	9955=	9961=	9966=	9970=	9980=	9992=
U 3210		9998=	9999=	10004=	10005=	10020=	10021=	10024=	10026=
U 3220		10115=	10116=	10128=	10130=	10175=	10176=	6759 	6766 
U 3230		6886 	6892 	6925 	6926 	6927 	6933 	6934 	6937 
U 3240		6938 	6941 	6942 	6943 	6944 	6946 	6955 	6966 
U 3250		6967 	6968 	6969 	6970 	6971 	6972 	6973 	6974 
U 3260		6975 	6976 	6977 	6979 	7049 	7050 	7054 	7055 
U 3270		7057 	7058 	7059 	7063 	7064 	7065 	7066 	7067 

U 3300		7068 	7070 	7077 	7081 	7082 	7083 	7084 	7085 
U 3310		7086 	7097 	7139 	7140 	7141 	7176 	7199 	7227 
U 3320		7267 	7268 	7269 	7270 	7272 	7276 	7285 	7289 
U 3330		7296 	7308 	7315 	7328 	7329 	7330 	7331 	7333 
U 3340		7448 	7449 	7486 	7498 	7500 	7501 	7503 	7555 
U 3350		7556 	7605 	7626 	7633 	7695 	7751 	7752 	7756 
U 3360		7762 	7763 	7797 	7798 	7802 	7804 	7922 	7954 
U 3370		7968 	8020 	8022 	8023 	8028 	8029 	8058 	8062 

U 3400		8065 	8164 	8165 	8190 	8191 	8192 	8194 	8200 
U 3410		8209 	8213 	8215 	8219 	8222 	8227 	8228 	8229 
U 3420		8231 	8245 	8253 	8254 	8257 	8258 	8259 	8265 
U 3430		8266 	8267 	8278 	8283 	8304 	8305 	8360 	8361 
U 3440		8364 	8365 	8403 	8412 	8431 	8433 	8437 	8442 
U 3450		8444 	8445 	8446 	8447 	8450 	8451 	8467 	8468 
U 3460		8472 	8474 	8483 	8484 	8485 	8486 	8515 	8516 
U 3470		8517 	8519 	8542 	8551 	8552 	8554 	8558 	8562 

U 3500		8576 	8580 	8611 	8618 	8630 	8634 	8681 	8689 
U 3510		8691 	8727 	8731 	8732 	8778 	8792 	8800 	8811 
U 3520		8813 	8816 	8826 	8830 	8831 	8834 	8836 	8837 
U 3530		8838 	8868 	8873 	8878 	8888 	8892 	8894 	8909 
U 3540		8935 	8936 	8945 	8954 	8957 	8959 	8966 	8986 
U 3550		9005 	9006 	9008 	9015 	9134 	9177 	9190 	9194 
U 3560		9195 	9214 	9215 	9235 	9258 	9259 	9260 	9286 
U 3570		9306 	9308 	9309 	9310 	9326 	9348 	9359 	9360 

; KL10 Microcode--Copyright (C) Digital Equipment Corp., 29 May 1986  V2A(442)		MICRO %37(277)		Page LLU-6
; 							Location / Line Number Index
; Ucode Loc'n	0	1	2	3	4	5	6	7					

U 3600		9361 	9366 	9383 	9384 	9385 	9417 	9440 	9448 
U 3610		9449 	9451 	9461 	9472 	9473 	9477 	9478 	9482 
U 3620		9485 	9492 	9493 	9495 	9496 	9497 	9498 	9502 
U 3630		9507 	9508 	9524 	9525 	9548 	9549 	9551 	9564 
U 3640		9565 	9568 	9570 	9609 	9622 	9623 	9624 	9625 
U 3650		9633 	9652 	9654 	9675 	9723 	9724 	9730 	9741 
U 3660		9753 	9754 	9755 	9756 	9757 	9765 	9766 	9767 
U 3670		9769 	9771 	9784 	9786 	9787 	9788 	9789 	9810 

U 3700		9823 	9824 	9825 	9826 	9828 	9844 	9845 	9852 
U 3710		9865 	9871 	9875 	9886 	9889 	9894 	9914 	9915 
U 3720		9916 	9922 	9940 	9951 	9953 	9996 	10001 	10006 
U 3730		10007 	10015 	10017 	10036 	10037 	10044 	10117 	10123 
U 3740		10124 	10126 	10127 	10132 	10133 	10134 	10135 	10142 
U 3750		10143 	10144 	10145 	10154 	10155 	10157 	10158 	10159 
U 3760		10161 	10162 	10163 	10164 	10166 	10168 	10169 	10170 
U 3770		10171 	10173 	10177 	10178 	10180 	10181 	10183 	9721:

No errors detected
End of microcode assembly
307 pages of listing
Used 58.67 in 01:31.86
  Memory used: 130P
  Symbol table: 42P
  Text strings: 14P
  Loc'n assignment: 18P
  Cross reference: 49P