Google
 

Trailing-Edge - PDP-10 Archives - BB-BL69A-SB_1984 - ub.mcr
There are no other files named ub.mcr in the archive.
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page TOC-1
; 							Table of Contents					

; 1		UB.MIC[10,5351]	18:39 20-Apr-83
; 21		EDHIS.MIC[10,5351]	22:44 29-Nov-83
; 41	REVISION HISTORY
; 995		DEFINE.MIC[10,5351]	23:19 23-Nov-83
; 996	CONDITIONAL ASSEMBLY VARIABLE DEFINITIONS
; 1156	HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS
; 1359	MICROCODE LISTING TEMPLATE
; 1410	KL10 INSTRUCTION OPCODE MAP
; 1466	CONTROL RAM DEFINITIONS -- J, AD
; 1522	CONTROL RAM DEFINITIONS -- DATA PATH MIXERS
; 1593	CONTROL RAM DEFINITIONS -- 10-BIT LOGIC
; 1626	CONTROL RAM DEFINITIONS -- SHIFT, ARMM, VMA, TIME
; 1660	CONTROL RAM DEFINITIONS -- MEM SPECIAL FUNCTIONS
; 1689	CONTROL RAM DEFINITIONS -- SKIP/COND SPECIAL FUNCTIONS
; 1781	CONTROL RAM DEFINITIONS -- DISP/SPEC SPECIAL FUNCTIONS
; 1833	CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD
; 2151	DISPATCH RAM DEFINITIONS
; 2197		MACRO.MIC[10,5351]	21:14 28-Nov-83
; 2198	CRAM Macros--Miscellaneous and A
; 2248	CRAM Macros--AR
; 2471	CRAM Macros--AR Miscellaneous, ARL, and ARR
; 2540	CRAM Macros--ARX
; 2633	CRAM Macros--B, C, D
; 2739	CRAM Macros--E, F
; 2839	CRAM Macros--G, H, I, J, L
; 2950	CRAM Macros--M, N, O, P
; 3058	CRAM Macros--R
; 3115	CRAM Macros--S
; 3359	CRAM Macros--T, U, V, W, X
; 3468	DRAM Macros
; 3552		BASIC.MIC[10,5351]	19:05 28-Nov-83
; 3553	THE INSTRUCTION LOOP
; 3647	NEXT INSTRUCTION DISPATCH
; 3773	EFFECTIVE ADDRESS COMPUTATION AND OPERAND FETCH
; 3839	WAIT FOR (E)
; 3907	TERMINATION
; 3957	MOVE GROUP, EXCH, BLT
; 4000	XMOVEI, XHLLI, MOVEM, EXCH, BLT
; 4031	HALFWORD GROUP
; 4178	DMOVE, DMOVN, DMOVEM, DMOVNM
; 4218	BOOLEAN GROUP
; 4375		SKPJMP.MIC[10,5351]	21:45 19-Sep-83
; 4376	TEST GROUP
; 4485	COMPARE -- CAI, CAM
; 4511	ARITHMETIC SKIPS -- AOS, SOS, SKIP
; 4560	CONDITIONAL JUMPS -- JUMP, AOJ, SOJ, AOBJ
; 4616	AC DECODE JUMPS -- JRST, JFCL
; 4756	HALT LOOP
; 4785	MAP, XCT
; 4814	STACK INSTRUCTIONS -- PUSHJ, PUSH, POP, POPJ
; 4912	SUBROUTINE CALL/RETURN -- JSR, JSP, JSA, JRA
; 4962	UUO'S
; 5195	JSYS, ADJSP
; 5237	XCT, PXCT, SXCT
; 5311		SHIFT.MIC[10,5351]	16:00 16-Mar-78
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page TOC-2
; 							Table of Contents					

; 5312	ROTATES AND LOGICAL SHIFTS -- ROT, LSH, JFFO
; 5367	ROTATE AND LOGICAL SHIFT COMBINED -- ROTC, LSHC
; 5401	ARITHMETIC SHIFTS -- ASH, ASHC
; 5450		ARITH.MIC[10,5351]	19:59 21-Jun-83
; 5451	ADD, SUB
; 5476	MUL, IMUL
; 5527	MULTIPLY SUBROUTINE
; 5581	DIV, IDIV
; 5640	INTEGER DIVIDE SUBROUTINE
; 5680	BASIC DIVIDE LOOP
; 5729	DOUBLE INTEGER ARITHMETIC -- DADD, DSUB, DMUL, DDIV
; 5854		FP.MIC[10,5351]	19:08 8-Oct-81
; 5855	SINGLE FLOATING ADD & SUB -- FAD, FADR, FSB, FSBR
; 5933	SINGLE FLOATING MULTIPLY -- FMP, FMPR
; 5962	SINGLE FLOATING DIVIDE -- FDV, FDVR
; 6090	UFA, DFN, FSC, IBP
; 6159	FIX, FIXR, FLTR, EXTEND
; 6229	SINGLE PRECISION FLOATING NORMALIZATION
; 6370	DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV
; 6521	DOUBLE PRECISION NORMALIZATION
; 6588		BYTE.MIC[10,5351]	15:09 9-Aug-83
; 6589	BYTE GROUP -- IBP, ILDB, LDB, IDPB, DPB
; 6716	INCREMENT BYTE POINTER SUBROUTINE
; 6840	BYTE EFFECTIVE ADDRESS EVALUATOR FOR XADDR SMP LDB
; 6891	LOAD BYTE SUBROUTINE
; 6914	DEPOSIT BYTE SUBROUTINE
; 6945	IBP, ADJBP
; 7212		EXTEXP.MIC[10,5351]	22:20 31-Aug-82
; 7213	GFLT DOUBLE PRECISION ARITHMETIC
; 7331	GFLT MULTIPLY
; 7376	GFLT DIVIDE
; 7418	GFLT NORMALIZATION
; 7561	GFLT TO INTEGER CONVERSION
; 7686	GFLT DATA CONVERSION INSTRUCTIONS
; 7909		IO.MIC[10,5351]	14:31 29-Nov-83
; 7910	I/O INSTRUCTIONS
; 8008	EXTERNAL DEVICE I/O INSTRUCTIONS
; 8102	INTERNAL DEVICE FUNCTIONS -- APR, CCA
; 8141	INTERNAL DEVICE FUNCTIONS -- PI
; 8196	TRACKS SUPPORT
; 8453	INTERNAL DEVICE FUNCTIONS -- PAG
; 8577	INTERNAL DEVICE FUNCTIONS -- TIM & MTR
; 8682	PRIORITY INTERRUPT PROCESSING
; 8858	KL-MODE PAGE REFILL LOGIC
; 9238	KI-MODE PAGE FAIL HANDLING
; 9388	PAGE FAIL/INTERRUPT CLEANUP FOR SPECIAL INSTRUCTIONS
; 9461		EIS.MIC[10,5351]	18:59 19-May-83
; 9462	EXTENDED INSTRUCTION SET DECODING
; 9621	ONE WORD GLOBAL BYTE POINTER SUBROUTINES FOR EXTEND
; 9676	EIS -- STRING MOVE
; 9799	EIS -- STRING COMPARE
; 9876	EIS -- DECIMAL TO BINARY CONVERSION
; 9943	EIS -- BINARY TO DECIMAL CONVERSION
; 10101	EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE
; 10306	EIS -- EDIT FUNCTION
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page TOC-3
; 							Table of Contents					

; 10565		BLT.MIC[10,5351]	17:35 6-Jul-83
; 10566	XBLT
; 10616	BLT
; 10704	EXTENDED ADDRESSING CODE FOR PXCT OF BLT
;	Cross Reference Index
;	DCODE Location / Line Number Index
;	UCODE Location / Line Number Index
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; UB.MIC[10,5351]	18:39 20-Apr-83				UB.MIC[10,5351]	18:39 20-Apr-83			

						; 1	;PARAMETER CHANGES FOR KL10 TOPS-10 MICROCODE
						; 2	;MODEL B MACHINE EXTENDED ADDRESSING with KL style paging
						; 3	
						; 4	.SET/SNORM.OPT=1
						; 5	.SET/XADDR=1
						; 6	.SET/EPT540=1
						; 7	.SET/LONG.PC=1
						; 8	.SET/MODEL.B=1
						; 9	.SET/KLPAGE=1
						; 10	.SET/FPLONG=0
						; 11	.SET/BLT.PXCT=1
						; 12	.SET/SMP=1		;SMP- DOES RPW FOR DPB, IDPB INSTEAD OF READ, WRITE
						; 13	.SET/EXTEXP=1
						; 14	.SET/MULTI=1		;DOES NOT CACHE PAGE TABLE DATA
						; 15	.SET/NOCST=1		;DOES NOT DO AGE UPDATES, ETC. WITH CST = 0
						; 16	.SET/OWGBP=0		;No ONE WORD GLOBAL BYTE POINTERS
						; 17	.SET/IPA20=0		;No IPA20-L
						; 18	.SET/GFTCNV=0		;DO NOT DO GFLOAT CONVERSION INSTRUCTIONS [273]
						; 19				;SAVES 75 WORDS. MONITOR WILL TAKE CARE OF THEM.
						; 20	.set/cst.write=0	;No common file system on TOPS-10
						; 21	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; EDHIS.MIC[10,5351]	22:44 29-Nov-83				UB.MIC[10,5351]	18:39 20-Apr-83			

						; 22	.TITLE	"KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION"
						; 23	.VERSION/MAJOR=1/MINOR=0/EDIT=336/WHO=0
; 24	.NOBIN
; 25	
; 26	;	THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
; 27	; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
; 28	; EQUIPMENT CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO
; 29	; RESPONSIBITY FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
; 30	;	THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE
; 31	; PURCHASER UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND
; 32	; CAN BE COPIED (WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY
; 33	; FOR USE IN SUCH SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING
; 34	; BY DIGITAL.
; 35	;	DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE
; 36	; USE OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED
; 37	; BY DIGITAL.
; 38	; COPYRIGHT (C) 1975,1976,1977,1978,1979,1980,1981,1982,1983,1984 DIGITAL EQUIPMENT CORPORATION
; 39	
; 40	
; 41	.TOC	"REVISION HISTORY"
; 42	
; 43	;	The following collection of people have contributed to the
; 44	;	production and maintenance of this code.  In reverse chronological
; 45	;	order:
; 46	;
; 47	;	QQSV (Dick Wagman) -- beginning with edit 301
; 48	;	Sean Keenan
; 49	;	Don Dossa
; 50	;	Mike Newman
; 51	;	Jud Leonard
; 52	;
; 53	;REV	WHY
; 54	;
; 55	;336	Back off 330 for a bit, since TOPS-10 7.02 must be tested and
; 56	;	OWGs in section 0 fail for string instructions (they get converted
; 57	;	to TWGs, which are illegal in section 0).  For now, we will maintain
; 58	;	both sources.
; 59	;335	Force memory to be released for SMP case of DPB if P > 36 causes no
; 60	;	actual data to be stored.  Make an OWG reference to an address >
; 61	;	37,,777777 cause a page fail (GBYTE was stripping the excess bits).
; 62	;334	Fix conflict generated in CLRPT by 333 by creating new subroutine
; 63	;	ARSWAP which is just AR_AR SWAP.  Make several other routines call it,
; 64	;	thus saving a few words.
; 65	;333	Add new conditional BIG.PT.  Under it, add code to implement the "Keep
; 66	;	me" bit for paging as bit 5 of the page table, and to move it to page
; 67	;	map bit 23 during page refill.  Also make DATAO PAG not clear Kept
; 68	;	pages if bit 3 of the word is off.
; 69	;332	Redefine all bank 7 ACs as R0,...,R17, and all bank 6 ACs as P0,...,
; 70	;	P17.  Change all other alias definitions to refer to these.  This
; 71	;	gives us a uniform cross reference for all scratch register references.
; 72	;	Put all macro definitions into alphabetical order, making it easier
; 73	;	to look up a macro definition.  Split the edit history into its own
; 74	;	file.  There are no functional changes from 331.
; 75	;331	Allow XSFM anywhere.  Clean up the code a bit in the process.  There
; 76	;	still remain a number of references to XSFM or XPCW distinctions,
; 77	;	and these could almost certainly be cleaned up further.
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-1
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 78	;330	Allow one word global byte pointers in section zero.  This includes
; 79	;	changes in BYTE, EIS, and FP.  Change GBYTE and CNV2WD to return 2;
; 80	;	eliminate GTST as obsolete.  Also shuffle the calls to these routines
; 81	;	to conform to the new calling conventions, and put the OWG test at
; 82	;	the beginning of IBP, ILDB, IDBP, LDB, DPB, and ADJBP.
; 83	;327	Add PAGCNT conditional.  Under it, include control to count entry
; 84	;	into PFH code and DATAO PAG with bit 2 set.
; 85	;326	Change VMA restoration in INC2WD and CNV2WD (see edits 320 and 307)
; 86	;	to use RSTR VMA_MQ in order to keep the global/local sense of the
; 87	;	reference.  This was causing ILDBs of OWGs in shadow memory to
; 88	;	save the incremented byte pointer in the ACs instead of memory.
; 89	;325	Add VMA/LOAD to local indexed EA computation for EXTEND E1 to make
; 90	;	it read the section number from VMA instead of PCS (!) if the index
; 91	;	is section local.
; 92	;324	Force the XADDR conditional to use RPW type references for DPB and
; 93	;	IDPB if the SMP conditional is on, even if one word globals are not
; 94	;	active.
; 95	;323	Add missing constraint near NOT.WR, accidentally broken by 322.
; 96	;322	Generate the A(cessible) bit in a page fail word caused by a read
; 97	;	violation if the page is otherwise accessible and if no CST is present.
; 98	;	This could be fixed for the CST present case as well, but has been
; 99	;	deferred since we are tight on space and no one seems to need it
; 100	;	anyway.
; 101	;321	Prevent statistics microcode from losing traps by forcing NICOND
; 102	;	dispatch 11 to ignore the statistics and take the trap.
; 103	;320	Restore the VMA again in INC2WD (broken by 307), since the state
; 104	;	register bits may have changed in the interim.  This was causing
; 105	;	PXCT to do surprising things (mostly bad).
; 106	;317	Originally, this was an attempt to uncount multiply counted op
; 107	;	codes which resulted from interrupts during long instructions.
; 108	;	That project has been shelved for now.  Instead, the second
; 109	;	NICOND dispatch during op code counting has had its final constraint
; 110	;	fixed.
; 111	;316	Make counting only version compatible with time and counting by making
; 112	;	counting only version use TRX2 and TRX3, removing physical contiguity
; 113	;	requirement.
; 114	;315	Op code counting lives again!  The setup code activated by DATAO PI
; 115	;	was attempting to write the TRX registers with data fresh from memory,
; 116	;	resulting in parity checks when it was used (see edit 73, for example).
; 117	;	Juggle code to overlap next address calculation with parity wait.
; 118	;314	Add CST.WRITE conditional to facilitate assembly of microcode
; 119	;	without the CST writable bit (see edit 303).
; 120	;313	Put TIME/3T on XFERW, as the assembler was getting the wrong
; 121	;	value with both AR_MEM and ARX_MEM macros present.
; 122	;312	Fix definition of BYTE RPW to include a write test.  This was
; 123	;	causing the SMP version of DPB to hang when memory was readable
; 124	;	but not writable.
; 125	;311	Make all IOP function 7 style of references look in the cache.
; 126	;310	Improve the fix in 307 to save the computed E0+1 in FILL during
; 127	;	OWGBP conversion and to restore the VMA from there when done.
; 128	;	Also, make sure that the VMA is initialized to PC for all cases
; 129	;	when doing effective address calculations for two word globals
; 130	;	in string instructions.  307 was not enough to clean up the
; 131	;	CMPSx fill problem, since VMA HELD was never loaded.
; 132	;	Force EXT2WD to prereference AC4 and AC5 so that glitch discovered
; 133	;	for second edit 210 will not be activated.
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-2
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 134	;307	Restore VMA from MQ at end of CNV2WD (and remove it from INC2WD,
; 135	;	saving a word in the process).  This was causing CMPSx to load
; 136	;	a random fill word and MOVSLJ to store to a random place when the
; 137	;	source length was zero if one word globals were in use.
; 138	;	Force page fail code to look for ARX as well as AR parity errors
; 139	;	(now possible with BYTE RPW implemented).
; 140	;	Make sign extension of E1 go to right place in EXTEND decoding of
; 141	;	offset instructions (broken in 301).
; 142	;306	Add University of Essex code to statistics (TRACKS) code to make
; 143	;	it work with address break enabled.
; 144	;305	Fix CST write bit logic to not test bit 18 when reading.
; 145	;304	Switch byte read interlock from LDB to DPB (broken in 303).
; 146	;303	Implement bit 18 of a CST entry as a write enable bit in addition
; 147	;	to all the other write enable functions.
; 148	;	Knock one cycle out of byte deposit where the byte is being
; 149	;	deposited into the high order byte of a word.
; 150	;	Implement the SMP conditional for extended addressing by
; 151	;	replicating all the byte effective address calculation code for
; 152	;	DPB.  This is unfortunate, but necessary due to the huge dispatch
; 153	;	table that ends this subroutine.
; 154	;302	Move XFERW out of EIS (which no longer absolutely requires it
; 155	;	in line) into SKPJMP (more in the heart of things).  Also
; 156	;	juggle comment lines and code layout to reduce the listing
; 157	;	size a bit and to force some of the .TOC lines into the table
; 158	;	of contents (even though the code nearby may be suppressed).
; 159	;301	Fix ADJBP so that instructions which occur at the last word on
; 160	;	a page do not cause a page failure of some random type (one cycle
; 161	;	too many between I FETCH and NICOND).
; 162	;	Fix effective address calculation for EXTEND so that only offset
; 163	;	instructions (and not GSNGL, for example) will have E1 sign
; 164	;	smeared.
; 165	;	Implement XJRST.  Also force JSP and JSR to do full 30 bit
; 166	;	effective address calculations.
; 167	;300	ADD LOAD OF VMA FROM PC IN PUTDST TO GET THE SECTION ADDRESS
; 168	;	CORRECT ON THE STRING INSTRUCTIONS.
; 169	;277	Add EA CALC table for SMP configurations of extended addressing
; 170	;	for TOPS-10.  (TOPS-20 paging)
; 171	;276	Force global EA CALC for EXTEND instructions in PUTDST.
; 172	;275	FIX THE ERROR CODE IN STRING COMPARE FOR ILLEGAL BITS IN THE
; 173	;	LENGTH FIELD. WAS CAUSING AR PARITY ERRORS.
; 174	;274	SAVE THE API FUNCTION WORD ON AN IO PAGE FAIL INSTEAD OF THE
; 175	;	PAGE FAIL WORD. THIS TAKES PLACE IN BOTH THE AC BLK 7 AC 2
; 176	;	AND THE MONITOR.
; 177	;273	PUT CONDITIONALS AROUND 4 GFLOAT CONVERSION INSTRUCTIONS.
; 178	;	THEY WILL ACT AS MUUO'S AND MONITOR WILL TAKE CARE OF THEM.
; 179	;272	CONO APR 200000 AT TIMES WAS NOT GENERATING EBUS RESET OF A
; 180	;	SUFFICIENT LENGTH TO CLEAR DTE REGISTERS. ADDED ANOTHER
; 181	;	MICROWORD SO THAT CONO APR IS NOW UP FOR TWO FULL WORDS WHICH
; 182	;	GETS AROUND THE HARDWARE PROBLEM.
; 183	;271	ILLEGAL INDIRECT PAGE FAIL (24) WAS NOT ALLOWING USER TO BE SET.
; 184	;270	WHEN IN SECTIONS > 1, AN UPDATED OWGBP WOULD BE WRITTEN INTO
; 185	;	MEMORY INSTEAD OF THE AC'S.
; 186	;267	CHANGED TESTS FOR OWGBP TO TEST FOR PC SEC0 FIRST. SAVES 33 NS.
; 187	;266	CONDITIONALS ON FOR TOPS-20 DEVELOPMENT.
; 188	;265	REMOVED EDIT 244. SOFTWARE ENGINEERING WILL SUPPLY MONITOR
; 189	;	CODE TO TAKE CARE OF PROBLEM. CODE COSTS TOO MUCH TIME IN
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-3
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 190	;	THE INSTRUCTION EXECUTION.
; 191	;264	ADDED CONDITIONALS TO CODE FOR IPA20, OWGBP AND NO CST UPDATE IF
; 192	;	CBR IS ZERO. THIS IS FOR RELEASE 5 OF TOPS-20.
; 193	;263	IBP DID NOT CLEAR FPD ON EXIT.
; 194	;262	ALLOW XBLT TO BE VALID IN SECTION 0.
; 195	;261	FIX CODE AT END OF ADJBP CODE TO CLEAR STATE REG. IF ILDB
; 196	;	WITH 2 WD GLOBAL POINTER POINTING TO ADDRESS NOT IN CORE
; 197	;	CLEAN DISPATCHES TO WRONG CODE BECAUSE SR LEFT OVER FROM
; 198	;	ADJBP.
; 199	;260	FIX FM PARITY ERRORS AT MVF1: ADDED NULL CALL TO RET2:
; 200	;	AT MVST: TO TAKE CARE OF EXTRA TICK FOR PARITY.
; 201	;257	MAKE SURE THAT THE UPDATED ONE WORD GLOBAL BYTE POINTER IS
; 202	;	WRITTEN BACK INTO THE CORRECT CONTEXT.
; 203	;256	MAKE ANOTHER ATTEMPT TO FIX PXCT OF ONE WORD GLOBAL BYTE POINTERS.
; 204	;	THE GIBP CODE GETS THE SAME CHANGES AS EDIT 255.
; 205	;255	MAKE ONE WORD GLOBAL BYTE POINTERS WORK WITH PXCT. THE STATE
; 206	;	REGISTER BITS ON MCL4 (NOT TO BE CONFUSED WITH CON3), WERE NOT
; 207	;	BEING SET PROPERLY TO ALLOW PREVIOUS ENA AND USER ENA TO BE SET.
; 208	;	GUARANTEE THAT THESE SR BITS ARE SET PRIOR TO THE LOAD OF THE VMA.
; 209	;254	FIX PROBLEM WITH OWGBP WHERE FPD DOES NOT EFFECT
; 210	;	INC OF POINTER AFTER PAGE FAIL
; 211	;253	FIXED ADDRESSING FOR SH DISP AT GADJL0:
; 212	;252	MOVE STRING INSTRUCTIONS DO NOT GET THE CORRECT DATA ON
; 213	;	LOCAL POINTERS IN NON 0 SECTIONS
; 214	;251	ADD CODE FOR ONE WORD GLOBAL BYTE POINTERS.
; 215	;	TOOK OUT EDITS 243 AND 250 TO GET ENOUGH SPACE IN CRAM
; 216	;	FOR THIS EDIT. OWGBP WITH EXTEND INSTRUCTIONS WILL NOT
; 217	;	RETURN A OWGBP. THEY WILL RETURN A TWO WORD GLOBAL BP.
; 218	;250	ALLOW SMP SWITCH TO EFFECT TOPS-20 MODEL B TO DO RPW IN
; 219	;	BYTE INSTRUCTIONS.
; 220	;247	DO NOT DO A CST UPDATE OR AGE UPDATE IF THE CBR IS ZERO.
; 221	;246	EXTEND OP CODE DECODE FOR MODEL A WAS ACCEPTING MODEL B
; 222	;	OP CODES (20-31). ADDED CONDITIONALS TO CODE TO FIX.
; 223	;245	FIX 2 WORD GLOBAL BYTE POINTER BUG WITH IBP INSTRUCTION
; 224	;	WITH EXTENDED ADDRESSING OUT OF SECTION 0
; 225	;244	FIX MOVST EXTEND INST. SO THAT ILLEGAL (> 36) S FIELD
; 226	;	DOES NOT CAUSE STOP CODE TO CRASH SYSTEM FOR TOPS-10 MODEL B.
; 227	;243	WRTIME TRIED TO DO MEM WRITE EVEN THOUGH THE INSTRUCTION
; 228	;	DOES NOT DO ANYTHING TO MEMORY. CAUSED PROBLEMS IF THE MEMORY
; 229	;	LOCATION WAS NOT WRITABLE.
; 230	;242	FIX CODE FROM EDIT 234 TO GET PF CODE OF 24.
; 231	;241	FIX DFAD AND DFMP FOR ROUNDING OCCURS PROPERLY. ADDED STICKY
; 232	;	BIT FOR LEAST SIGNIFICANT BITS OF THE RESULT.
; 233	;240	FIX GFLT INSTRUCTIONS GFIX AND DGFIX SO THEY WILL TRUNCATE NEGATIVE
; 234	;	NUMBERS IN THE CORRECT DIRECTION. THE MQ MUST BE ZERO BEFORE
; 235	;	THE ARX_2 MACRO IS INVOKED OR THE ARX MIGHT GET A 3 FROM MQ00.
; 236	;237	ADD OPTION BIT FOR PV CPU IN THE APRID WORD AS IT IS DOCUMENTED
; 237	;	IN ALL OF THE HARDWARE DOCUMENTATION. SET THE BIT ACCORDING
; 238	;	TO THE MODEL.B OPTION SWITCH. IT WILL BE MAGIC NUMBER BIT 3.
; 239	;236	ALLOW THE INTEGER DIVIDE OF THE LARGEST NEGATIVE NUMBER BY
; 240	;	PLUS ONE TO SUCCEED. THIS USED TO BE A DOCUMENTED RESTRICTION
; 241	;	THAT THIS OPERATION WOULD CAUSE AN OVERFLOW AND NO DIVIDE.
; 242	;235	FIX JRA SO IT DOESN'T FALL INTO SECTION ZERO FROM A NON-ZERO
; 243	;	SECTION EVERY TIME BY WRITING THE PC SECTION INTO THE VMAX.
; 244	;234	BUILD A PAGE FAIL CODE OF 24 WHEN AN ILLEGAL INDIRECT WORD
; 245	;	IS FOUND DURING THE EFFECTIVE ADDRESS CALCULATION IN 
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-4
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 246	;	A NON-ZERO SECTION. THE PAGE FAIL CODE WAS PREVIOUSLY NOT
; 247	;	BEING REPORTED.
; 248	;233	SAVE THE IOP FUNCTION WORD THAT APPEARS ON THE EBUS WHEN AN
; 249	;	EXTERNAL DEVICE INTERRUPTS THE CPU. SAVE THIS INFORMATION
; 250	;	ON EVERY INTERRUPT IN AC BLOCK 7, AC 3. THE CONTENTS
; 251	;	OF THIS AC WILL BE PRESERVED UNTIL THE NEXT INTERRUPT.
; 252	;	OPERATING SYSTEMS SHOULD SAVE THIS INFORMATION AS SOON AS POSSIBLE
; 253	;	IF ITS CONTENTS ARE TO BE RELIABLE AND MEANINGFUL.
; 254	;232	ADDS 13 NEW INSRUCTIONS FOR SUPPORTING FORTRAN78 ON MODEL
; 255	;	B MACHINES. THESE INSTRUCTIONS ARE:
; 256	;	       OPCODE     SYMBOL
; 257	;	       ======     ======
; 258	;		102	GFAD AC,E
; 259	;		103	GFSB AC,E
; 260	;		106	GFMP AC,E
; 261	;		107	GFDV AC,E
; 262	;		EXTEND INSTRUCTIONS    EXTEND OPCODE
; 263	;		====== ============    ====== ======
; 264	;		EXTEND AC,[GSNGL  0,E]	    21
; 265	;		EXTEND AC,[GDBLE  0,E]	    22
; 266	;		EXTEND AC,[DGFIX  0,E]	    23
; 267	;		EXTEND AC,[GFIX   0,E]	    24
; 268	;		EXTEND AC,[DGFIXR 0,E]	    25
; 269	;		EXTEND AC,[GFIXR  0,E]	    26
; 270	;		EXTEND AC,[DGFLTR 0,E]	    27
; 271	;		EXTEND AC,[GFLTR  0,E]	    30
; 272	;		EXTEND AC,[GFSC   0,E]	    31
; 273	;231	FIX IN PROBLEM IN EDIT 215 TO XDPB THAT PREVENTED THE KL
; 274	;	FROM HANDLING INTERRUPTS WHILE EVALUTAING AN INDEXED INDIRECT CHAIN.
; 275	;	AN "=0" WAS MISSING BY BYTEIP.
; 276	;230	TO PRESERVE COMPATABILITY WITH THE KS10 AND BECAUSE OF SPACE
; 277	;	LIMITATIONS IN TOPS20 MODEL A, THE SPECIFICATION FOR THE
; 278	;	CVTDBX INSTRUCTIONS HAVE BEEN CHANGED TO ELIMINATE THE NEED
; 279	;	FOR AN OVERFLOW TEST DURING THE CONVERSION. THIS CHANGE
; 280	;	EFFECTIVELY REMOVES EDIT 221.
; 281	;227	DELETE EDIT 222 AND RETURN THE CVTBDX INSTRUCTIONS TO THEIR
; 282	;	OLD, BROKEN FUNCTIONALITY SINCE ANY ATTEMPT TO PREVENT THE
; 283	;	FLAGS FROM BEING CHANGED PREMATURELY HAS TO CONTEND WITH
; 284	;	INTERRUPTABILITY PROBLEMS. THE HARDWARE REFERENCE MANUAL
; 285	;	HAS A FOOTNOTE ABOUT THE FLAG PROBLEM SO THE CURRENT FUNCTIONALITY
; 286	;	IS DOCUMENTED FOR USERS.
; 287	;226	PREVENT AR PARITY ERRORS WHEN INCREMENTING BYTE POINTERS IN THE ACS.
; 288	;225	THE CODE TO SUPPORT THE MX20 VIA THE SBUS DIAG LOOP MECHANISM
; 289	;	DOES NOT TIME OUT CORRECTLY BECAUSE THE LOOP COUNTER IS BEING
; 290	;	REINITIALIZED EVERY TIME THROUGH THE LOOP. FIX THIS PROBLEM
; 291	;	EVEN THOUGH THE CODE IS NOT ASSEMBLED IN CURRENT RELEASES.
; 292	;224	FIX BUG IN EDIT 223 THAT CAUSED THE WRONG PAGE FAIL
; 293	;	WORD TO BE WRITTEN WHEN AN I/O PAGE FAIL OCCURS.
; 294	;223	WHEN A MEMORY PARITY ERROR OCCURRS AT PI LEVEL, AS EVIDENCED
; 295	;	BY AN AR DATA PARITY ERROR, THE DTE MAY BE WAITING FOR A
; 296	;	RESPONSE. IF IT IS, A DEX FAILURE WILL OCCUR UNLESS WE CAUSE
; 297	;	DEMAND TO WIGGLE.  WE CAN DO THIS BY FORCING THE DATA  IN THE
; 298	;	AR OVER THE EBUS.
; 299	;222	CVTBDX IS NOT SUPPOSED TO CHANGE THE CONTENTS OF THE ACS
; 300	;	OR MEMORY IF THE CONVERTED NUMBER WILL NOT FIT INTO THE
; 301	;	DESTINATION FIELD. IT WAS, HOWEVER, CHANGING THE FLAGS
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-5
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 302	;	BEFORE IT KNEW IF THE NUMBER WOULD FIT.
; 303	;221	THE CVTDBX WERE FAILING TO SET OV AND TRAP1 WHEN THE
; 304	;	CONVERTED DECIMAL NUMBER WOULD NOT FIT INTO A
; 305	;	DOUBLE WORD.
; 306	;220	THE TRANSLATE INSTRUCTIONS WERE USING A 15 BIT WIDE
; 307	;	FIELD FOR THE REPLACEMENT BYTE IN THE TRANSLATE TABLE
; 308	;	WHILE THE SPECIFICATION STATED THAT THE TRANSLATE
; 309	;	INSTRUCTIONS WOULD USE ONLY 12 BITS.
; 310	;217	PREVENT CRAM PARITY ERRORS CAUSED BY DISPATCHING TO LOCATION
; 311	;	3042 WHEN INDEXING IS SPECIFIED IN THE EFFECTIVE ADDDRESS
; 312	;	CALCULATION OF E1 WHEN THE EXTEDED OPCODE IS ZERO (ILLEGAL).
; 313	;	THE FIX IS TO PUT A JUMP TO UUO AT 3042.
; 314	;216	CHANGE THE DEFAULT VALUE FOR THE SMP SWITCH TO BE ONE. THIS
; 315	;	CAUSES THE MICROCODE TO INCLUDE SMP SUPPORT BY DEFAULT.
; 316	;215	CHANGES DPB INSTRUCTION TO R-P-W CYCLE ON DATA FETCH PORTION OF
; 317	;	INSTRUCTION TO SOLVE AN INTERACTION PROBLEM IN AN SMP OPERATING
; 318	;	SYSTEM.  THIS CHANGE ONLY APPLIES TO MICROCODES FOR TOPS-10 
; 319	;	AND TOPS-20, MODEL A.
; 320	;214	ADDED CHANGES FOR XADR, RELEASE 4 AS FOLLOWS.
; 321	;	STORE PREVIOUS CONTEXT SECTION (PCS) IN FLAGS WORD (BITS 31-35)
; 322	;	IF EXEC MODE AND XSFM OR XPCW INSTRUCTION,MUUO OR PAGE FAIL.
; 323	;	RESTORE PCS FROM FLAGS WORDS (BITS 31-35) WHEN XJRSTF OR XJEN
; 324	;	IS EXECUTED IN EXEC MODE AND THE NEW PC IS ALSO IN EXEC MODE.
; 325	;213	SET/FPLONG=0 PARAMETER ADDED TO TOPS-10 MICROCODE FOR KL MODEL 
; 326	;	A AND MODEL B.
; 327	;212	CHANGE THE CODE AT LDIND: TO TEST FOR USER MODE IF USER MODE
; 328	;	TURN OFF SPECIAL CYCLE THAT MAY STILL BE ON. THE MICROCODE WILL DEPEND
; 329	;	ON KERNAL PROGRAMS TO NOT GET IN PAGE POINTER
; 330	;	LOOPS. INSTRUCTIONS EXECUTED FROM THE CONSOLE WILL NOT WORK.
; 331	;	PI INSTRUCTIONS GET A RESTRICTION TO NOT GET INDIRECT PAGE POINTERS
; 332	;	IN THEIR PAGING CHAIN AS DO EXAMINES AND DEPOSITS AND BYTE TRANSFERS.
; 333	;211	CHANGE THE TEST FOR INDIRECT POINTERS TO NOT HAPPEN ON SECTION
; 334	;	POINTERS AND JUST ON INDIRECT PAGE POINTERS. AT LDIND:+1 AND LDIMM:+2
; 335	;210	MAKE ALL AC+# MICROINSTRUCTIONS HAVE THE # FIELD THE SAME IN THE
; 336	;	PREVIOUS MICROINSTRUCTION TO SOLVE A TIMONG GLITCH IN THE HARDWARE.
; 337	;	MAKE EXCHANG MARK AND DESTINATION POINTERS UUO IF THEY DO NOT
; 338	;	HAVE BYTE POINTERS OF EQUAL LENGTH. CHANGES PERVASIVE IN EIS ALSO IN PF
; 339	;	RECOVERY IN IO.
; 340	;	MAKE THE LOAD OF AN INDIRECT POINTER CLEAR PI CYCLE IF SET.
; 341	;	THIS MEANS THAT THE MONITOR CANNOT USE KERNAL CYCLE, INSTR ABORT
; 342	;	INH PC+1 OR HALT IN A PI CYCLE IF AN INDIRECT POINTER CAN
; 343	;	BE A PART OF THE REFILL. ALSO NOTE THE POSSIBILITY OF GETTING AN
; 344	;	INTERUPT BEFOR THE PI INSTRUCTION COMPLETES. (NEVER CONTINUES PI
; 345	;	INSTRUCTION) CHANGES AT LDIND.
; 346	;207	CHANGE SBUS DIAG CODE FOR MOS PUT IT IN MOS CONDITIONAL /MOS=1
; 347	;	IF ON SBUS DIAG TRIES AT LEAST 8 TIMES TO GET A RESPONSE
; 348	;	OTHER THAN -1 IF IT GOT -1 ALL THOSE TIMES THE MICROCODE
; 349	;	GIVES UP AND RETURNS 0
; 350	;206	FINAL FIXES TO PUSHM AND POPM
; 351	;205	FIX BUG IN INDEX CALCULATION OF E1 FOR EXTENDED ADDRESSING.
; 352	;	INDEXING REQUIRED THAT AN AREAD BE PERFORMED IN ORDER TO LOAD
; 353	;	THE AR WITH A CORRECT FINAL RESULT. THE EFFECTIVE ADDRESS CALCULATION
; 354	;	AROUND EXTLA: GOT A NEW MACRO ADDED FOR INDEXING THAT DOES THE AREAD.
; 355	;	ABSOLUTE LOCATIONS IN THE RANGE 3040 GET USED AS TARGETS FOR THIS
; 356	;	AREAD THEN THE CODE REJOINS THE OLD CODE AT EXT2: 
; 357	;	THE AREAD WAS NECESSARY FOR THE HARDWARE MAGIC TO LOAD PARTS OF THE
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-6
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 358	;	AR DEPENDING ON THE INDEX REGISTER AND OTHER EXTENDED ADRESSING
; 359	;	PARAMETERS.
; 360	;204	ADD AUTOMATIC VERSION NUMBER
; 361	;	ADD CODE TO DO SBUS DIAG TESTING REQUIRED BY MOS
; 362	;203	PUT THE BLKO PAG, CHANGE IN 201 IN A KLPAGING CONDITIONAL
; 363	;	KIPAGING GETS TANGLED IN AR PARITY ERRORS AND IN GENERAL DOES
; 364	;	THE WRONG THINGS
; 365	;202	TURN OFF IMULI OPTIMIZATION IT GETS THE SIGN BIT AND THE OVERFLOW
; 366	;	FOULED UP (TURNED OFF FOR MODEL B ONLY WAS OFF IN MODEL A)
; 367	;201	CHANGE BLKO PAG, TO INVALIDATE ONLY ONE ENTRY BY CLEARING IT
; 368	;	CHANGES AT PAGBO PAGBO+1 AND CLRPT+3 CLRPT+3 GETS SETUP THAT USED
; 369	;	TO BE AT PAGBO+1, PAGBO+1 NOW CLEARS ENTRY AND QUITS
; 370	;	KLPAGE ERROR CHECK FOR TOPS 10 MODEL A TO CAUSE ERROR
; 371	;	IF SWITCH SETTINGS ARE IN CONFLICT DIDDLED
; 372	;200	CHANGE ALL EXEC REF TRACKS FEATURES BACK TO PHYS REF
; 373	;	ON SUSPICION THAT PAGE FAULTS ARE NOT HANDLED PROPERLY
; 374	;	MAKE NON TRACKS INSTR STAT FEATURES GET FOUR PHYSICAL
; 375	;	PAGE NUMBERS FROM FIRST FOUR LOCATIONS IN THE PAGE PRESENTED
; 376	;	IN THE DATAO PI, THE CODE ALSO USES THAT PAGE FIRST
; 377	;	LOCATION TO PUT THE INITIAL JUNK INTO ON STARTUP
; 378	;177	FIX SOME BUGS IN OPCODE TIMING CODE AT OPTM0: AND BEYOND
; 379	;176	ADD TO THE TIME COUNTING CODE CODE THAT COUNTS FREQUENCY
; 380	;	OF EACH OPCODE IN PAGE+2 AND PAGE+3
; 381	;175	FIX TIME COUNTING CODE TO ACOUNT FOR EACH OPCODE IN THE
; 382	;	USER OR EXEC MODE IT WAS SEEN IN, EDGE COUNTS WERE DONE IN
; 383	;	WRONG MODE CHANGES UNDER OP.TIME CONDITONALS (PERVASIVE)
; 384	;174	CHANGE TRACKS AND TIME COUNTING TO USE EXEC VIRTUAL SPACE
; 385	;	INSTEAD OF PHYSICAL SPACE
; 386	;173	SEPERATE OUT THE DISMISS AT 626: BECAUSE OF SUSPECTED BUG
; 387	;172	THE FACT THAT XJEN DISMISSES BEFORE READING NEW PC WORDS CAUSES
; 388	;	A PROBLEM FOR TOPS 20. REHASH THE CODE AT 600: TO 637: TO MAKE
; 389	;	XJEN READ THE TWO WORDS FIRST AND THEN DISMISS.
; 390	;171	CAUSE IO PAGE FAIL FIX IN 170 TO SHIFT AT END GETTING CORRECT
; 391	;	PAGE FAIL WORD CHANGE AT IOPGF:
; 392	;170	MAKE CLRFPD: GO DIRECT TO FINI: INSTEAD OF THROUGH NOP: THIS WAS
; 393	;	COSTING 2 TICS IN BYTE INSTRUCTIONS
; 394	;	CHANGE IO PAGE FAIL TO SAVE A VIRTUAL ADDRESS IN THE AC BLOCK 7
; 395	;	LOCATION 2 INSTEAD OF THE DATA THAT WAS ON THE EBUS CHANGES AT
; 396	;	PGF4:+1 AND IOPGF:
; 397	;167	CHANGE DEFAULT ON ADB MIXER SELECTS. NO DEFAULT NOW SUBFIELD U23
; 398	;	IS DEFAULTED TO 1 TO AVOID SELECTING FM AND NEEDING TO WAIT FOR PARITY.
; 399	;	THIS LEAVES THE OTHER BIT OF THE FIELD AVAILABLE FOR PARITY
; 400	;	EPT MOVED TO 540 USING SWITCH IN KLX,KLL (KLA,KLB NOW DEFUNCT)
; 401	;166	CHANGE FIELD DEFINITION FORMAT CHANGE THE WAY THE OPTIONS FIELD
; 402	;	GETS ITS VALUES ASSIGNED. EACH BIT GETS A FIELD DEFINITION.
; 403	;165	BUG IN 161 TO 164 WAS MISSING AC0 AT POP2: PARITY BIT WAS PUT THERE
; 404	;	IN THE NEWER MICROCODES
; 405	;	INSTALL MANY THINGS TO MAKE WORD STRING MOVES WORK START AT
; 406	;	MOVWD1 AND UNTILL BMVWD1 ALSO ASSORTED MACROS ARE ADDED
; 407	;	THESE ARE INSTALLED IN A SEPERATED EIS FILE (WDEIS) FOR THE MOST PART
; 408	;	THERE ARE SOME NEW MACROS AND THE CLEAN+17 LOCATION IS USED FOR
; 409	;	THIS CASE UNDER MODEL B CONDITIONAL INTERRUPTS DO NOT WORK YET
; 410	;	IN THIS CODE BUT ALL DATA TRANSFERS ARE CORRECT. INTERRUPTS ARE
; 411	;	TAKEN SO SUSPECT THE PROBLEM IS IN THE CLEANUP CODE.
; 412	;164	LEAVE IN ONLY MAP FIX
; 413	;163	TAKE OUT MAP FIX LEAVING XHLLI IN AND JRSTF IN
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-7
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 414	;162	PUT XHLLI BACK IN TAKE OUT JRSTF ONLY IN SEC 0 CODE
; 415	;161	XHLLI OUT TO DEBUG ADD RSTF0: TO MAKE TEST FOR JRSTF IN NON
; 416	;	0 SECTIONS TEST IN ALL CASES
; 417	;157	INSTALL XHLLI MAKE JRSTF UUO ON NON ZERO SECTIONS
; 418	;	ALSO MAKE MAP DOING A REFILL PAGE FAIL RIGHT THIS MEANS THAT AFTER
; 419	;	CLEAN IT CANNOT DO ANYTHING INTERESTING IF AN INTERRUPT IS PENDING
; 420	;	CHANGES AT MAP2:
; 421	;156	REINSERT A SKP INTRPT IN THE PAGE FAULT HANDLER TO HAVE INDIRECT
; 422	;	POINTER CHAINS INTERRUPTABLE. AT PGRF6:+6
; 423	;155	ABORTIVE MAP FIX FIX REMOVED PROBLEM MUST BE FIXED IN HARDWARE.
; 424	;154	ADD TESTS FOR AC'S IN PHYSICAL REFERENCES FOR EXAMINES AND DEPOSITS
; 425	;	PHYS REFS GO TO MEMORY, NOT AC'S AFTER PROBLEM SHEET 1675
; 426	;	CHANGES AT PILD+3 PIFET+2 PSTOR PHYS1 PHYS2 PHYS3
; 427	;	ADD CHANGES IN TRACKS TO MAKE MODEL A WORK AT TRK2+2 AND +3
; 428	;153	ADD SPECIAL CODE FOR PXCT OF BLT THIS HOPEFULLY CAN GO AWAY
; 429	;	WHEN THE EXTENDED ADDRESSING MONITOR DOES NOT USE PXCT ANYMORE
; 430	;	IT IS UNDER .IF/BLT.PXCT CONDITIONAL AND COSTS 12 WORDS
; 431	;152	CHANGE WHAT BLT DOES TO MATCH THE SPEC SR_BLT(XXX) IS CHANGED TO
; 432	;	NOT FORCE GLOBAL ADDRESSING THE LOAD VMA(EA)_ARX+BR AND
; 433	;	STORE VMA(EA)_ARX MACROS ARE ADDED TO FORCE THE GLOBAL/LOCAL PARAMETERS
; 434	;	TO BE THE SAME AS THOSE OF THE EFFECTIVE ADDRESS
; 435	;151	PUT THE EPT AND UPT AT 540 UNDER SWITCH CONTROL .IF/EPT540
; 436	;150	VERSION NUMBER BACKED UP TO PRESERVE SPACE IN VERSION NUMBER FIELD
; 437	;304	EXTEND 0 WOULD GET A JUMP TO AN UNUSED MICROLOCATION IN MODEL.B
; 438	;	ONLY THIS WAS BECAUSE LOCATION 2002: IN MODEL.A SHOULD BE AT 3002:
; 439	;	IN MODEL.B 3002: AND 3003: PUT IN WHERE 2002: AND 2003: ARE UNDER
; 440	;	CONDITIONALS.
; 441	;303	CHANGE THE NUMBER FIELD OF THE SR_BLT(XXX) MACROS TO GIVE THE
; 442	;	BIT 0 OFF ALL THE TIME. THIS GIVES BLT MORE THE FORM OF THE OTHER
; 443	;	EXTENDED ADDRESSING STUFF IN HOW IT REFERS TO THE SHADOW AC'S.
; 444	;	IT IS STILL BELIEVED TO BE BROKEN BUT IS BETTER THAN IT WAS.
; 445	;302	ADD LONGER ADDRESS CONSTRAINTS FOR THE NEW MICROASSEMBLER. EVERY
; 446	;	LOCATION THAT THE DISPATCH RAM CAN JUMP TO IS EFFECTED. THE
; 447	;	CONSTRAINTS THATUSED TO LOOK LIKE =00**** MUST NOW LOOK LIKE
; 448	;	=0****00**** THIS IS BECAUSE THE MODEL B MACHINE CAN AND DID
; 449	;	REALLY SET THAT BIT. THE CHANGE MAKES THE MICROCODE INCOMPATIBLE
; 450	;	WITH THE OLD ASSEMBLER.
; 451	;301	HALT IS CLEARING THE RUN FLOP WITH HARDWARE MUST CHECK FOR
; 452	;	KERNAL MODE BEFOR THE HALT MACRO SO USER IOT MODE WILL
; 453	;	NOT BE ABLE TO HALT. THIS TAKES ONE MICROWORD AT 1017:
; 454	;	THE SENSE OF THE SKIP IS REVERSED AGAIN SO 1016: IS BACK TO
; 455	;	BEING THE UUO AND CHALT: IS NOW A SEPERATE WORD AFTER 1017:.
; 456	;300	REPLACE HALT CODE AGAIN BUT THIS TIME GET THE SENSE OF THE
; 457	;	SKIP RIGHT BY SWAPPING THE CONTENTS OF LOCATIONS 1016: AND 1017:
; 458	;	PUT THE 1: ADDRESS CONSTRAINT ON CONT:.
; 459	;277	PUT HALT BACK THE WAY IT WAS SKP USER HAS THE INVERSE SKIP SENSE
; 460	;	AND HENCE DOES THE WRONG THING. HALT TO BE FIXED LATER.
; 461	;276	YET ANOTHER TRY AT THE BLKO PROBLEM BLK1: SHOULD HAVE HAD A
; 462	;	J/BLK2.
; 463	;275	THE LONG PC CHANGES HAD XSFM1: BEFOR THE ADDRESS CONSTRAINT THUS
; 464	;	GIVEING THE WRONG ADDRESS. THE =0 IS PUT BEFOR THE LABEL.
; 465	;274	FIX THE DIAG.INST CONDITIONALS TO BEHAVE PROPERLY WITH THE
; 466	;	CONSTRAINTS OF DRAM LOCATIONS MAP DIED BECAUSE IT NEVER WAS
; 467	;	REACHED OUT OF A DISPATCH.
; 468	;273	INSERT THE DIAG.INST FEATURE FOR THE DIAGNOSTICS PEOPLE.
; 469	;	CHANGES AT DCODE 104:, 106: AND AT XCT: SHOULD NOT EFFECT OTHER
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-8
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 470	;	ASSEMBLIES.
; 471	;272	THE FIX TO THE GARBAGE IN THE LEFT HALF OF VMA IN 265 FORGOT TO
; 472	;	LOAD THE VMA IN BLK3:+1 PUT THAT IN. ALSO ON JUD'S RECOMENDATION
; 473	;	PUT A COPY OF THE NOP MICROINSTRUCTION AFTER CLRFPD: TO MAKE
; 474	;	ENOUGH TIME IN THE SKIP CASE. IT SEEMED TO WORK WITHOUT THIS
; 475	;	AND IF SPACE GETS TIGHT IT SOULD BE REMOVED.
; 476	;271	FIX IN 267 PGF4:+4 DOES NOT WORK, CANNOT PUT VMA_# THERE. POSSIBLY BECAUSE
; 477	;	VMA_# CONFLICTS IN SOME ESOTERIC WAY WITH STORE? THAT CHANGE
; 478	;	IS TAKEN OUT AND AT PGF1 THE VMA IS GIVEN 500 OR 501. THIS IS SLIGHTLY
; 479	;	LESS DESIREABLE AND FURTHER EFFORT COULD BE SPENT IN THE UCODE TO
; 480	;	MAKE PAGE FAILS LESS UNWEILDY FOR THE SOFTWARE ROUTINE THAT CONVERTS
; 481	;	THEM TO MODEL B FORM.
; 482	;270	CHANGE HALT TO CHECK FOR USER MODE INSTEAD OF IO LEGAL. A JOB
; 483	;	IN USER IOT SHOULD NOT BE ABLE TO HALT THE MACHINE.
; 484	;267	ADD NEW CONDITIONAL SHIFT.MUUO TO PROVIDE THE SHIFTED DOWN MUUO
; 485	;	DATA BLOCKS MORE SIMILAR TO THE XADDR TYPES. CONDITIONAL IS USED
; 486	;	AT 1003: AND PGF4:+4 TO PROVIDE A DIFFERENT STARTING ADDRESS.
; 487	;266	FIX PILD+3 TO LOAD THE VMA AT THE SAME TIME THUS ENABLING
; 488	;	THE MODEL HACK FIX TO LOAD THE LONG VMA.
; 489	;265	HAIR UP THE ALREADY HAIRY BLKXX CODE TO CLOBBER THE LEFT HALF OF AR
; 490	;	BEFOR USING IT AS AN ADDRESS. CLOBBERED ARL AT BLK2 AND LOADED
; 491	;	VMA AT BLK3.
; 492	;264	ADD J/CLRFPD AT BFIN TO MAKE IT THE SAME AS IT WAS. BFIN GOT
; 493	;	MOVED TO A DIFFERENT PLACE IN THE LAST EDIT AND THIS J FIELD
; 494	;	WAS NOT FIXED.
; 495	;263	ADD THE MIT FIXES. IOTEND AND THE BLK1 TO BLK4 GROUP ARE CHANGED
; 496	;	EXTENSIVELY. CLRFPD IS PUT JUST BEFORE FINI CONSTRAINT ON IOFET
; 497	;	IS CHANGED.
; 498	;	ADD THE LONG PC FORMAT UNDER A NEW CONDITIONAL LONG.PC THE
; 499	;	CONDITIONAL IS TURNED ON BY XADDR. CONDITIONALS ARE ADDED TO THE
; 500	;	LONG PC CODE TO MAKE IT SMALLER WHEN ONLY SECTION 0 IS POSSIBLE.
; 501	;	ADD COMMENTS TO THE MICROCODE OPTIONS FIELD.
; 502	;	RESTORE SXCT CODE FROM VERSION 131. TO BE USED ONLY IN MODEL A
; 503	;	NON KLPAGING CODE.
; 504	;262	PUT WORD AT INDR1+1 UNDER SXCT CONDITIONAL SO WHEN SXCT IS OFF WE
; 505	;	GET AN ADDITIONAL SAVINGS OF ONE WORD.
; 506	;261	ADD PHYS REFS AT PGRF6+4 AND PIDISP+4 TO MAKE MODEL.A LOAD A LONG
; 507	;	VMA. PART OF THIS CODE IS NOT UNDER CONDITIONAL BECAUSE IT SHOULD NOT MATTER
; 508	;	TO A MODEL.B MACHINE. PIDISP+4 ALSO GETS THE LOAD OF THE SAME DATA
; 509	;	REPEATED SO THE PHYS REF HAS SOMETHING TO WORK ON.
; 510	;	FLUSH THE NOW USELESS CODE AT CHALT TO GENERATE THE LD AR.PHYS
; 511	;	CONSTANTS.
; 512	;	CURRENTLY THERE IS SORT OF A BUG IN THAT THE SBR AND THE CBR
; 513	;	CAN NOT BE ABOVE 256K IN A MODEL.A MACHINE. THIS DOES NOT BOTHER
; 514	;	THE CURRENT MONITORS AT ALL IN THAT THESE TABLES ARE IN VERY LOW CORE.
; 515	;	IF THAT CHANGES THE LOCATIONS SECIMM+3 SECIMM+7, LDIND, PGRF5, LDSHR
; 516	;	AND LDPT1+1 MUST ALL GET FIXED UP. THE GENERAL FIX IS TO GET A PHYS REF
; 517	;	IN THE MICROINSTRUCTION THAT LOADS THE VMA. THIS CAN BE DONE BY
; 518	;	POSTPONING THE LOAD OF THE VMA ONE MICROINSTRUCTION IN ALL OF THESE
; 519	;	PLACES, BUT, SINCE THAT CAUSES A PERFORMANCE DEGRADATION IT WAS NOT
; 520	;	DONE.
; 521	;260	DIVERGANT CHANGES TO MAKE KLPAGING PHYS REFS THE OLD WAY
; 522	;	CAUSE ALL CASES OF VMA_XXX+LD AR.PHYS TO GO BACK TO THE 
; 523	;	OLD PHYS REF WAY
; 524	;257	IN MODEL B MACHINES AT LDPT+1 THE VMA IS GETTING GARBAGE IN THE
; 525	;	LEFT HALF BECAUSE IT ADDED IN JUNK THAT WAS IN AR LEFT. FIX IS TO
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-9
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 526	;	CLEAR ARL AFTER LDPT AND TO DO THE SHUFFLE PERFORMED THERE ONE
; 527	;	MICROINSTRUCTION LATER.
; 528	;******	A HACK FIX IS USED HERE THAT TAKES TWO WORDS. THIS WAS DONE BECAUSE
; 529	;	OF EXTREEM TIME PRESSURE TO DEBUG >256K MODEL B. THERE OUGHT TO BE
; 530	;	A WAY TO REDUCE THIS FIX TO ONLY ONE WORD IN SPACE AND TIME, OR
; 531	;	EVEN LESS.
; 532	;256	EDIT JUMPED TO RANDOMNESS WITH AN EXTRA RETURN. THIS HAPPENED
; 533	;	BECAUSE THERE WAS NO CALL AT EDSFLT IN THE MODEL B NON XADDR CODE
; 534	;	ADDED CALL TO EDSFLT.
; 535	;255	SAVE EDIT FROM GETTING AN EXTRA STORE CYCLE AT EDSSIG BY SENDING
; 536	;	IT ALWAYS TO THE EDFLT1 LOCATION INSTEAD OF EDFLT THIS ONLY
; 537	;	CHANGES WHAT HAPPENS IN MODEL B NON XADDR BECAUSE IN MODEL A
; 538	;	EDFLT AND EDFLT1 ARE THE SAME LOCATION ANYWAY
; 539	;254	CAUSE THE A INDRCT CHANGE IN 253 TO BE ONLY FOR NON EXTENDED
; 540	;	ADDRESSING MACHINES. THIS THROWS DOUBT ON THE WORD SAVINGS
; 541	;	THAT MIGHT HAVE BEEN POSSIBLE
; 542	;253	CHANGE A INDRCT TO LOAD BOTH THE AR AND ARX, IN THE EXTENDED
; 543	;	INSTRUCTION SET THIS HAPPENED TO BE DEPENDED ON AT EXT2+2 AND
; 544	;	EXT2+3. THE DEFINITION OF A IND IN EA CALC/ WAS FIXED TO
; 545	;	LOAD THE AR AND THE ARX
; 546	;	I THINK THIS PERMITS THE SAVINGS OF AN EXTRA WORD AND SOME
; 547	;	TIME ON ALL INDIRECTS. CHECK OUT FLUSHING INDR1 AND MAKING INDRCT
; 548	;	DO THE DISPATCH AND GO TO COMPEA
; 549	;	  FORCE ADB TO GENERATE AR*4 AS DEFAULT THIS DISABLES PARITY
; 550	;	CHECKING ON THE FM WHEN IT IS NOT BEING READ FIXED IN
; 551	;	DEFINITION OF ADB THIS WILL ALSO SPEED UP THE MACHINE BY SOME
; 552	;	BECAUSE THE ADB FIELD CAN NO LONGER FORCE 3 TICS WITHOUT REALLY
; 553	;	NEEDING THAT LONG
; 554	;252	SAVE A WORD AT IOPGF+1 BY MAKING IT PILD+3 THIS ADDS THE SET
; 555	;	ACCOUNT ENABLE TO AN UNDEFINED CASE.
; 556	;251	TURNING ON PAGING CAUSED A HANG THIS WAS BECAUSE OF A MISIMPLIMENTED
; 557	;	FIX IN 250. THE ATTEMPT TO PUT THAT FIX IN NO SPACE FAILED AND IT TOOK
; 558	;	ONE WORD. AT LDPT+1 ADD BR/AR AT GTCST1 RECOVER THE AR FROM THE BR
; 559	;	THIS SEEMS LIKE IT SHOULD BE ABLE TO BE BUMMED BUT I CANNOT
; 560	;	FIGURE OUT HOW
; 561	;	ALSO FIX A PLACE WHERE A PHYS REF WAS LEFT IN THE MODEL A CODE
; 562	;	AT PGRF6+4 MODEL B CONDITIONAL IS AS IT WAS MODEL A IS NEW TO USE
; 563	;	LD AR.PHYS MECHANISM
; 564	;250	LOADING HIGH ORDER GARBAGE TO THE VMA WITH THE FIX FOR
; 565	;	>256K CAUSES FUNNY THINGS TO HAPPEN. BITS GET CLOBBERED
; 566	;	WITH AR0-8_SCAD 14 LINES AFTER SECIMM. ACTUALLY IS MORE
; 567	;	HAIR BECAUSE OF CONFLICTING FIELDS. CODE ABOVE AND BELOW
; 568	;	THAT GOT REARRANGED TO SIMPLER MODEL A AND MODEL B CONDITIONALS
; 569	;	SINCE NOW ALL LINES ARE DIFFERENT. SHUFFLING OF FE IS DONE
; 570	;	TO PROVIDE ROOM FOR A CONSTANT ON THE CORRECT SIDE OF THE SCAD
; 571	;	AT LDPT A SIMILAR
; 572	;	RECODING IS NEEDED. 4 LINES OF CODE ARE REDONE IN MODEL
; 573	;	A CONDITIONAL AND CONDITIONALS ARE RESHUFFLED TO HAVE
; 574	;	SIMPLER FORMAT
; 575	;	NEW MACROS ARE ADDED GEN AR0-8, GEN FE AND AR0-8
; 576	;	VMA_AR+LD AR.PHYS AND ITS FRIENDS ARE TAKEN OUT OF KLPAGING
; 577	;	CONDITIONAL THEY ARE USED TO DO EXAMINES AND DEPOSITS NOW
; 578	;247	FIX ST AR.PHYS TO GIVE BIT 4 INSTEAD OF BIT 5 AT CHALT
; 579	;	AT PSTORE CHECK FOR AC REF AND IF SO WRITE FM MUST DO THIS
; 580	;	BECAUSE LOAD AD FUNC DOES NOT SET MCL STORE AR
; 581	;246	FIX MUUO, IN EXTENDED ADDRESSING, TO GET NEW PC BEFORE CLOBBERING
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-10
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 582	;	THE USER AND PUBLIC FLAGS THAT TELL WHERE TO GET IT.  FIX CONDITIONAL
; 583	;	ASSEMBLY AT INDRCT TO DO EA TYPE DISP IN MODEL A, NOT MODEL B.
; 584	;245	ADDITIONAL FIXES FOR THE 256K PROBLEM, TO MAKE EXAMINE AND
; 585	;	DEPOSIT WORK.  CHANGES AT CHALT TO CREATE CONSTANT "ST AR.PHYS",
; 586	;	AND EXTENSIVELY NEAR PICYC1, PIDATI, AND PIDATO.  CHANGES ARE ALL
; 587	;	UNDER MODEL B CONDITIONAL, BECAUSE MODEL B HARDWARE WORKS OK, AND
; 588	;	THE FIX IS REGARDED AS CROCKISH.
; 589	;244	WAIT FOR COMPLETION OF INDIRECT REFERENCE AT BYTEI+1 AND EXTI+1
; 590	;	EVEN THOUGH INTERRUPT REQUEST HAS BEEN SEEN, SO AS NOT TO CONFUSE MBOX.
; 591	;243	VARIOUS FIXES TO MAKE THESE SOURCES WITH MODEL.B SWITCH OFF
; 592	;	EQUIVALENT TO MODEL A SOURCES, SO WE CAN DISCARD MODEL A SOURCES
; 593	;	THE FIXES ARE:
; 594	;		1) SWITCH SNORM.OPT, TO SAVE SPACE IN SINGLE PRECISION
; 595	;		FLOATING NORMALIZATION.
; 596	;		2) CREATION OF LD AR.PHYS MAGIC CONSTANT, TO SOLVE HARDWARE
; 597	;		PROBLEMS GENERATING ADDRESSES ABOVE 256K.
; 598	;242	FIX AT SECPTR+1 TO PRESERVE AR LEFT UNTIL WE CAN CHECK
; 599	;	FOR BITS 12-17 NON ZERO CORRECT ADDRESS CONSTRAINTS AT
; 600	;	SECIMM+1 & +2 TO GET BRANCHING RIGHT FOR SHARED AND INDIRECT
; 601	;	SECTION POINTERS.  FIX AT LDIMM+1 TO CLEAR LH OF AR BEFORE
; 602	;	LOADING VMA WITH SPT ADDRESS, TO PREVENT PAGE FAULT ON SPT
; 603	;	REFERENCE.
; 604	;241	MORE FIXES AT START: AND NEWPC:, FOR SAME PROBLEM AS 240.
; 605	;	MUST LOAD FLAGS AND CLEAR VMAX, THEN LOAD VMA INTO PC TO CLEAR
; 606	;	PCX, THEN RELOAD VMA TO GET EFFECT OF NEW FLAGS AND CLEARED
; 607	;	PCX.  (MODEL A ONLY).
; 608	;240	FIXES AT START: AND NEWPC: TO LOAD 23-BIT ADDRESS RATHER
; 609	;	THAN 30-BIT, SINCE OTHER BITS ARE PC FLAGS.  AT SAME TIME AND
; 610	;	PLACE, FIX MODEL A CODE TO CLEAR PC SECTION NUMBER.
; 611	;237	CHANGE CONDITIONALS AROUND PUSH AND POP CODE FROM XADDR TO
; 612	;	MODEL.B. COULD SIMPLIFY IFNOT XADDR.
; 613	;236	FIX ADDRESS CONSTRAINTS ON USES OF EA MOD DISP IN MODEL
; 614	;	B MACHINE WITH EXTENDED ADDRESSING OFF.  PROBLEMS AT COMPEA,
; 615	;	BFETCH, AND EXT2.
; 616	;235	SLIGHTLY CLEANER FIXES FOR PROBLEMS IN 234 TO AVOID WASTING TIME
; 617	;	AND SPACE.  BYTE READ MACRO NEEDS TO SET VMA/LOAD, AND VMA_VMA
; 618	;	HELD MACRO DOESN'T USE MEM FIELD UNLESS MODEL B AND KL PAGING.
; 619	;	ALSO FIX CONDITIONAL ASSEMBLY STUFF TO AVOID SPURIOUS ERRORS.
; 620	;234	INSTALL FIXES FOR SOME PLACES WHERE MODEL B CODE CAUSES CONFLICT
; 621	;	WITH THE OLD NON KLPAGING NON EXTENDED ADDRESSING CODE
; 622	;	THESE ARE AT BFETCH, PGF3-1, PGF6, EXT1+2
; 623	;233	FIX THE FOLLOWING PROBLEMS:
; 624	;		KL PAGING SHOULD PRODUCE A PAGE FAILURE WHEN BITS
; 625	;		 12-17 OF A PRIVATE SECTION POINTER ARE NON 0
; 626	;		 FIXED AT SECPTR ETC.
; 627	;		EDIT DOES NOT ALLOW INTERUPTS
; 628	;		 FIXED AT EDNXT1 AND AFTER THAT
; 629	;		MAP SHOULD NOT BE LEGAL IN USER MODE
; 630	;		 FIXED AT MAP2 AND CLEAN+15
; 631	;		MOVMI IS SHORTENED BY MAKING IT THE SAME AS MOVEI
; 632	;		 AT DON LEWINES SUGGESTION THIS IS IN DCODE 215
; 633	;232	MERGE THE SECOND ORDER STATISTICS GATHERING CODE WITH THIS
; 634	;	CODE INTENT IS TO KEEP IT HERE
; 635	;231	CHANGE THE LOAD CCA DEFINITION TO REFLECT THE NEW HARDWARE
; 636	;	THIS IS ENABLED WHEN THE MODEL.B ASSEMBLY SWITCH IS ON
; 637	;230	THIS IS THE POINT WHERE MICHAEL NEWMAN TAKES OVER THE MICROCODE
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-11
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 638	;	MAINTENCE SEVERAL BUG FIXES GET EDITED INTO 126 AT THIS POINT
; 639	;	TWO SETS OF PARALLEL CODE WILL BE MAINTAINED FOR A WHILE.
; 640	;	FIX THE CMPS PARODY ERROR PROBLEM WHEN ILLEGAL BITS ARE FOUND IN
; 641	;	THE LENGTHS.
; 642	;227	FIX PIBYTE TO GET DTE# CORRECT ON TO-10 TRANSFERS.  FIX MTRREQ
; 643	;	CYCLES TO WAIT FOR STORE TO FINISH BEFORE RE-ENABLING ACCOUNT.
; 644	;	FIX ADJSP OF LONG STACK POINTERS TO FETCH NEXT INSTR.
; 645	;226	FIX EXMD TO LOAD AR, RATHER THAN ARX, WITH MARK POINTER, AS
; 646	;	EXPECTED BY THE HANDLER.  FIX EDIT, SEVERAL PLACES, TO IGNORE
; 647	;	LEFT HALF OF MARK & PATTERN ADDRESSES WHEN PC SECTION IS ZERO.
; 648	;	FIX EDIT TO MAKE EXTENDED REFERENCE FOR PATTERN BYTES.
; 649	;	FIX ADJSP TO BE MEANINGFUL WITH LONG STACK POINTERS
; 650	;225	FIX BYTEA NOT TO CLOBBER FE ON INDIRECTS, FIX EXMD TO BACK
; 651	;	UP VMA AFTER STORING DSTP2 AND BEFORE STORING DSTP.  FIX EDIT TO
; 652	;	COUNT THE WHOLE PATTERN ADDRESS IF PC SECTION NOT ZERO.
; 653	;224	FIX EXTEND ADDRESS CALCULATION TO RECOVER E0 FROM MQ, AND
; 654	;	FIX EXTEND OPCODE TEST TO DISALLOW OPS >20.
; 655	;	FIXES TO HANDLE NEW ENCODING OF AC-OP ON APR BOARD.
; 656	;223	COMPLETE 222.  P HAS TO GO TO SC AS WELL AS AR0-5.  CREATE
; 657	;	SUBROUTINE RESETP TO DO IT.  GET CODE IN SYNC WITH HARDWARE AND
; 658	;	MOST RECENT SPEC FOR MEANING OF PXCT AC BITS IN EXTEND.  THUS
; 659	;	UNDO COMMENT IN 221:  WE SHOULD LOOK AT PXCT B11.  ALSO FIX
; 660	;	EXTEND TO USE CORRECT ENCODING OF BITS 9, 11, AND 12 FOR PXCT
; 661	;	OF STRING OPERATIONS.  FIX DATAI PAG SO IT DOESN'T LOSE THE
; 662	;	PREVIOUS CONTEXT AC BLOCK WHEN LOADING PREVIOUS SECTION #.
; 663	;	INSERT CHANGE CLAIMED FOR EDIT 55, TO INHIBIT INTERRUPT DURING
; 664	;	PI CYCLES.
; 665	;222	FIX BYTE POINTER UPDATE ROUTINES GSRC & IDST IN EIS CODE
; 666	;	TO UPDATE P WHEN INCREMENTING SECOND WORD.  JUST FORGOT TO. TRY
; 667	;	AGAIN TO CONTROL EIS REFERENCES OFF E0, FOR EXTENDED OR NOT.
; 668	;221	COMPLETE FIX OF 220, TO KEEP SR CORRECT THROUGH RELOAD OF IR
; 669	;	IN EXTEND DECODING, AND TO CONTROL SR CORRECTLY FOR XBLT DST
; 670	;	REFERENCES.  (WE WERE LOOKING AT PXCT B11, SHOULD BE B12).
; 671	;220	FIXES SEVERAL PLACES TO USE "EA" IN DRAM A FIELD INSTEAD OF "I",
; 672	;	NOTABLY BLT, WHICH WAS USING WRONG SECTION.  FIX EXTEND TO
; 673	;	CONTROL VMA EXTENDED BEFORE FETCHING EXTEND-OP, SO AS NOT TO
; 674	;	LOOK "UNDER" THE AC'S.  FIX XBLT FOREWARD TO STOP WHEN AC GOES
; 675	;	TO ZERO, NOT -1.  ALSO CONTROL SR BEFORE INITIAL STORE TO GET
; 676	;	CORRECT CONTEXT.
; 677	;217	CODE CHANGES TO MAKE SECOND WORD OF BYTE POINTER WORK RIGHT
; 678	;	WHETHER EFIW OR IFIW, BY CONTROLLING CRY18 OR CRY6.
; 679	;216	RECODE EXTENDED INSTRUCTION SET DECODING & EFFECTIVE ADDRESS
; 680	;	CALCULATION.  FIX UUO CODE TO INCREMENT VMA AFTER STORING PC.
; 681	;	FIX ADJBP TO GET 36 BIT ADDRESS ADJUSTMENT IF B12 SET.
; 682	;215	REARRANGE CONDITIONAL ASSEMBLY DEFAULTS TO BE MORE LOGICAL
; 683	;	INSERT FORM FEEDS AND COMMENTS TO HELP BEAUTIFY THE LISTING.
; 684	;	REWORK THE NEW JRST'S, TO MAKE THEM SMALLER, FASTER, AND TEST
; 685	;	IO LEGAL BEFORE DISMISSING.  PUT IN XBLT.
; 686	;214	MODIFY ADJBP AND UUO'S FOR EXTENDED ADDRESSING. REWORK PARITY
; 687	;	ERROR HANDLING, IN A FRUITLESS ATTEMPT TO MAKE IT SMALLER,
; 688	;	BUT SUCCESSFULLY MAKING IT CLEARER.  FIX ASSEMBLY ERRORS IN EIS
; 689	;	DUE TO AC4 CHANGES, AND ADD CODE TO HANDLE LONG BYTE POINTERS
; 690	;	IN AC'S.  PUT IN CODE TO GIVE PAGE FAIL 24 ON ILLEGAL FORMAT
; 691	;	INDIRECT WORD.
; 692	;213	FIX LDB & DPB TO TEST POINTER BIT 12 ON CALL TO BYTEA.
; 693	;212	MODIFY JSP, JSR TO STORE FULL PC WITHOUT FLAGS IN NON-ZERO SEC
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-12
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 694	;	SEPARATE CONDITIONALS FOR "MODEL B" MACHINE FROM THOSE FOR
; 695	;	EXTENDED ADDRESSING MICROCODE.
; 696	;211	REMOVE UNNECESSARY DIDDLING OF VMA USER BIT DURING PAGE REFILL,
; 697	;	AND ELIMINATE SPECIAL CASE FOR MAP INSTRUCTION, WHEN EXTENDED
; 698	;	ADDRESSING HARDWARE EXISTS TO SOLVE THESE PROBLEMS.
; 699	;	FIX SEVERAL CASES OF SIGNS DISP WITH INADEQUATE CONSTRAINT.
; 700	;210	FIX DEFINITION OF "SKP LOCAL AC REF", WHICH CONFUSED "AC
; 701	;	REF" WITH "LOCAL AC REF".
; 702	;207	FIX JRSTF (AND ITS DERIVATIVES) TO LOAD FLAGS INTO AR AFTER
; 703	;	DOING EA MOD DISP, WHICH WOULD OTHERWISE CLOBBER THEM.  FIX
; 704	;	COMPEA CODE TO LET AREAD HARDWARE LOAD AR.  OTHERWISE GET SEC #.
; 705	;206	FIX PCTXT ROUTINE TO GET PREVIOUS CONTEXT SECTION.
; 706	;205	FIX POPJ TO LOAD HALFWORD OR FULLWORD PC ACCORDING TO PC SECT
; 707	;204	FIX CONDITIONALS AROUND LOC 47, WRONG IN 202.  FIX DEFINITION
; 708	;	OF A INDRCT, DOESN'T NEED #07.  FIX STACK INSTRUCTIONS FOR
; 709	;	EXTENDED ADDRESSING.  MUST NOT LOAD VMA FROM FULL AD.
; 710	;203	INCLUDE CODE AT NEXT+2 TO GENERATE ADDRESS MASK (LOW 23 BITS)
; 711	;	AT HALT TIME, AND CODE IN PICYCLE TO USE IT TO GET 23 BIT ADDR
; 712	;	OUT OF IOP FUNCTION WORD.
; 713	;202	MOVE "40+A" LOCATIONS TO "A" UNDER EXTENDED ADDRESSING.  CHANGE
; 714	;	ALL CALL MACROS TO GENERATE CALL BIT INSTEAD OF SPECIAL FUNC'S.
; 715	;201	BEGIN EXTENDED ADDRESSING CHANGES IN EARNEST.  INTEGRATE NEW
; 716	;	EFFECTIVE ADDRESS COMPUTATION CODE, AND REVISE INSTRUCTION
; 717	;	ROUTINES AS NECESSARY.
; 718	;126	FIX STRAC3-2, WHERE COMMA GOT LEFT OFF WHEN IFETCH MOVED
; 719	;125	REMOVE NXT INSTR FROM STAC1, STRAC3, & STAC4, MAKING THEM JUMP
; 720	;	TO FINI INSTEAD.  PROBLEM INVOLVES A RACE IF PAGE FAIL OCCURS
; 721	;	WHILE WRITING FM.  IF FM ADDRESS CHANGES BEFORE COND/FM WRITE
; 722	;	GOES FALSE, APR BOARD MAY GRONK PARITY BIT OF SOME FM LOC'N.
; 723	;	THIS RESULTS IN SOME SOME PATHS FROM FETCH TO NICOND BECOMING
; 724	;	LONGER THAN 6 TICKS, SO THE FETCHES GOT SHUFFLED IN SOME PLACES.
; 725	;	MICROCODE PATCH ELIMINATES MOST PROBABLE CAUSE, WHICH IS PAGE
; 726	;	FAIL AT NICOND TIME WHILE WRITING AC OTHER THAN 0.  IT DOES NOT
; 727	;	TAKE CARE OF THE POSSIBILITY THAT COND/FM WRITE WILL GLITCH AT
; 728	;	INSTR 1777 TIME.
; 729	;124	FIXES IN SEVERAL PLACES TO SET AND CLEAR ACCOUNT ENABLE SO AS
; 730	;	TO GET REPEATABLE ACCOUNTING MEASURES OF USEFUL WORK DONE. THE
; 731	;	ENABLE IS NOW CLEARED FOR METER UPDATE CYCLES AND KL PAGE REFILL
; 732	;	CYCLES.  THE HARDWARE ALREADY TAKES CARE OF PI CYCLES.
; 733	;123	CORRECT 122 TO CONSTRAIN LOC "UNHALT", AND TO LOAD ARX FROM AR,
; 734	;	SO AS TO LET "SKP AR EQ" WORK.  PROBLEM AROSE BECAUSE MACRO ALSO
; 735	;	TESTS ARX00-01.  FIX EDIT, WHEN STORING DEST POINTER ON SELECT
; 736	;	SIGNIFICANCE START, TO ELIMINATE AMBIGUITY IN DEST P FIELD.
; 737	;122	SPEC CHANGE TO EXIT FROM HALT LOOP, SO THAT AR0-8=0 WITH AR9-35
; 738	;	NON-ZERO LOADS AR INTO PC TO START PROCESSOR.  THIS IS DIFFERENT
; 739	;	FROM EXECUTING JRST BECAUSE PC FLAGS ARE CLEARED.
; 740	;121	FIX TO 120 TO ALLOW A CYCLE BETWEEN FILLER FROM MEMORY AND
; 741	;	WRITING IT INTO FM (THUS PARITY CAN BE COMPUTED).  ALSO CLEAR
; 742	;	STATE REGISTER IN EDIT BEFORE GETTING NEXT PATTERN BYTE.
; 743	;120	FIX EIS TO TOLERATE PAGE FAIL ON READ OF FILL BYTE IN MOVSRJ
; 744	;	OR B2D CONVERSION.  REQUIRES GETTING FILLER BEFORE STORING DLEN
; 745	;	ALSO INTEGRATE OPCODE COUNTING/TIMING CODE UNDER CONDITIONALS
; 746	;117	FIX PARITY ERROR CODE TO WRITEBACK AR ON RPW ERROR.
; 747	;116	REWRITE OF DDIV, SO THAT THE NO-DIVIDE TEST IS ON THE MOST
; 748	;	SIGNIFICANT HALF OF THE MAGNITUDE OF THE DIVIDEND, RATHER THAN
; 749	;	THE MAGNITUDE OF THE MOST SIGNIFICANT HALF.  IN THE PROCESS,
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-13
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 750	;	SAVE TIME AND SPACE.  ALSO PUT IN CONDITIONAL ASSEMBLY VARIABLE
; 751	;	"WRTST" TO INHIBIT WRITE TEST CYCLE FOR INSTRUCTIONS WHICH
; 752	;	APPEAR NOT TO NEED IT, AND THUS TO SPEED THEM UP.
; 753	;115	FIX SBDIAG TO SET MCL REG FUNC TO INHIBIT EBOX MAY BE PAGED.
; 754	;114	RECODE STRING COMPARE TO SAVE SPACE AND TIME.  CHANGE DEFAULTS
; 755	;	FOR KLPAGING TO INCLUDE EIS, EXCLUDE TRACKS FEATURE.  CHANGE
; 756	;	KLPAGING (NEW SPEC) TO KEEP "LOGICALLY WRITABLE" IN SOFTWARE BIT
; 757	;113	RECODE KL PAGING TO ELIMINATE PROBLEM OF WRITING HARDWARE
; 758	;	PAGE TABLE BEFORE CHECKING FOR AGE TRAP, AND THEREFORE LEAVING
; 759	;	THE PAGE ACCESSIBLE AFTER THE TRAP.  THE RECODING ALSO IMPROVES
; 760	;	THE ALGORITHM IN THAT THE HARDWARE ENTRY INCLUDES THE W BIT SET
; 761	;	IF THE CORE TABLES ALLOWED WRITE AND THE CST INDICATES WRITTEN,
; 762	;	EVEN IF THE CURRENT REFERENCE WAS NOT A WRITE.
; 763	;	ALSO FIX CODE WHICH WRITES PT DIR, TO GET WRITE REF BIT FROM
; 764	;	VMA HELD INTO BIT 5 OF SAVED PAGE FAIL WORD.
; 765	;112	FIX PAGE FAIL CODE FOR USE WITH PROB SHEET 1396, WHICH LOADS
; 766	;	PC IF PAGE FAIL OCCURS ON NICOND.  THUS CODE NEEDN'T CHECK FOR
; 767	;	FETCH AT CLEAN, WHICH CAUSED OTHER PROBLEMS ON PARITY ERRORS.
; 768	;	CLEAR FE AND SC IN NXT INSTR MACRO (JUST CLEANLINESS).
; 769	;111	PATCH SEVERAL ROUTINES WITH THE FOLLOWING MACRO --
; 770	;	FETCH WAIT	"MEM/MB WAIT"
; 771	;	TO PREVENT SEQUENCES IN WHICH PAGE FAIL INFO CAN GET LOST
; 772	;	BECAUSE OF LONG TIME FROM REQUEST TO MB WAIT.  THESE PATCHES
; 773	;	SHOULD BE REMOVED AFTER AN ECO HAS BEEN INSTALLED TO FIX.
; 774	;	IN ADDITION, EBUSX SUBROUTINE HAS BEEN MODIFIED TO PREVENT RACE
; 775	;	CONDITION WHEN SETTING UP IO FUNCTION WITH COND/EBUS CTL AND
; 776	;	MAGIC # BIT 4.  MUST NOT CHANGE #5 THROUGH #8 ON NEXT CYCLE.
; 777	;	FIX KLPAGING CODE TO GO BACK TO AREAD ON MAP REF, BECAUSE
; 778	;	MEM/AD FUNC DOESN'T CORRECTLY RESTORE APR REG FUNC.  ALSO MAKE
; 779	;	THE CODE SMARTER ON NO MATCH CONDITION, SO REQUEST DOESN'T HAVE
; 780	;	TO BE RESTARTED AND IMMEDIATELY FAIL AGAIN.
; 781	;110	GIVE UP ON THE OLD STRING COMPARE CODE, INSTALLING MIKE NEWMAN'S
; 782	;	VERSION.  SOMEWHAT SLOWER, BUT GIVES THE RIGHT ANSWERS.
; 783	;	FIX LDB CODE TO WAIT FOR MEM WORD EVEN IF INTERRUPT REQUEST
; 784	;	SEEN, SO AS NOT TO GET CONFUSED WHEN IT ARRIVES OR PAGE FAILS.
; 785	;	ALSO IMPROVE CLRPT ROUTINE USED BY CONO AND DATAO PAG TO START
; 786	;	LOOP WITH VMA CLEARED AND PT WR SELECTION SETUP CORRECTLY.
; 787	;107	FIX STRING COMPARES TO CHECK FOR INTERRUPT.  THIS INVOLVED
; 788	;	CHECKING DURING GSRC ROUTINE, WHICH ELIMINATES NEED FOR CHECK
; 789	;	IN SRCMOD (WHICH CALLS GSRC).  IT ALSO REQUIRED CLEARING SFLGS
; 790	;	AT STARTUP, AND ADJUSTING DLEN UPDATE CODE IN DEST FILL TO GET
; 791	;	VALID LENGTH STORED ON INTERRUPT.
; 792	;106	ELIMINATE RACE IN DECODING OF # FIELD ON MTR BOARD BY HOLDING
; 793	;	LOW 3 BITS THROUGH NEXT MICROINSTRUCTION.
; 794	;	FIX LUUO AND MUUO TO ALLOW INTERRUPTS.
; 795	;	FIX B2D OFFSET TO SIGN-EXTEND E1 AFTER INTERRUPT.  FINISH 105,
; 796	;	TO GET ENTIRE AR LOADED WHILE CLEARING MQ (ARL WAS HOLDING).
; 797	;	FIX KL PAGING TO USE VMA/1 INSTEAD OF VMA/AD WHEN RESTORING VMA
; 798	;	FROM VMA HELD OR COPIES THEREOF.
; 799	;	FIX UFA NOT TO ALWAYS GET UNDERFLOW ON NEGATIVE RESULTS.
; 800	;	SAME FIX AS EDIT 103 OF BREADBOARD.  WHERE DID IT GET LOST?
; 801	;105	FIX KL PAGING AS REVISED BY EDIT 103 TO CORRECTLY RESTORE
; 802	;	BR ON NO-MATCH CONDITION
; 803	;	ANOTHER FIX TO B2D, TO CLEAR MQ ON ENTRY.  BUG INVOLVED GARBAGE
; 804	;	FROM MQ SHIFTING INTO ARX DURING DEVELOPMENT OF POWER OF TEN.
; 805	;104	FIX BINARY TO DECIMAL CONVERSION, WHICH WAS NOT GOING TO CLEAN
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-14
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 806	;	ON FINDING AN INTERRUPT, AND ON RESTART WITH FPD SET, WAS NOT
; 807	;	SETTING UP SLEN.  TSK, TSK.  CORRECT CLEANUP FOR DEST FILL IN
; 808	;	MOVSRJ, WHICH WAS INCREMENTING BOTH SLEN AND DLEN, SHOULD
; 809	;	HAVE BEEN NEITHER.  FIX JSR, BROKEN BY EDIT 103.  JUMP MUST BE
; 810	;	TO E+1, NOT E.
; 811	;103	CREATE CONDITIONAL ASSEMBLY FOR EXTENDED ADDRESSING. UNDER IT,
; 812	;	CREATE MEM FIELD DEFINITIONS, SUPPRESS SXCT.
; 813	;	SAVE A WORD IN JSR BY USING JSTAC IN COMMON WITH PUSHJ.
; 814	;	FORCE TIME FIELD IN CASES WHERE ASSEMBLER DEFAULT SCREWS UP.
; 815	;	ADD INTERRUPT TESTS IN KL PAGING CODE TO PREVENT HANGS, AND
; 816	;	REVISE PAGE FAIL WORD TO ELIMINATE THE NEW FAIL CODES.
; 817	;102	ATTEMPT ANOTHER FIX OF MOVSRJ, CVTBDX FILL.  EDIT 71 LOSES
; 818	;	DUE TO INCONSISTENCY -- DLEN UPDATE MUST NOT PRECEED CLEANUP.
; 819	;	CREATE CONDITIONAL ASSEMBLY SWITCHES TO CONTROL EXTENDED
; 820	;	INSTRUCTION SET, DOUBLE INTEGER ARITHMETIC, AND ADJBP.  CHANGE
; 821	;	DEFAULT OF IMULI.OPT, WHICH CAN GET SIGN WRONG ON OVERFLOW.
; 822	;101	FIX METER REQUEST CODE TO "ABORT INSTR" EVEN IF NOT SETTING
; 823	;	PI CYCLE.  THIS SHOULD FIX OCCASIONAL LOSS OF TRAPS PROBLEM.
; 824	;100	FIXES TO KL PAGING CODE TO PREVENT LOADING VMA FROM AD WHILE
; 825	;	REQUESTING PHYSICAL REF.  FIX JSR TO PREVENT FM PARITY STOP
; 826	;	ON STORE TO AC.  FIX 1777 TO FORCE RECIRCULATION OF AR/ARX,
; 827	;	EVEN IF MBOX RESP STILL TRUE.
; 828	;77	FIX DDIV TO GET MQ SHIFTED LEFT ONE PLACE, WITHOUT INTRODUCING
; 829	;	AN EXTRA BIT, AT DDVX1.  THIS INVOLVES INHIBITING ADA TO PREVENT
; 830	;	AD CRY0 FROM COMMING INTO MQ35.
; 831	;76	FIX UFA TO ALLOW AN EBOX CYCLE BETWEEN FETCH AND NICOND WHEN
; 832	;	FRACTION SUM IS ZERO, AT UFA3.
; 833	;75	PUT BACK INSTRUCTION "MBREL" REMOVED BY EDIT 64.  NECESSARY TO
; 834	;	ENSURE THAT EBOX REQUEST FOR FETCH DOESN'T COME UP WHILE
; 835	;	REGISTER FUNCTION IS IN PROGRESS, WHICH WOULD CONFUSE MBOX ON
; 836	;	STARTING THE FETCH.
; 837	;74	CHANGES TO EIS FOR NEW-SPEC AC USAGE.  CHANGES TO KL PAGING FOR
; 838	;	INDIRECT, IMMEDIATE SECTION POINTERS
; 839	;73	FIX JRA TO PREVENT WRITING AC WITH DATA FRESH FROM MEMORY (ALLOW
; 840	;	A CYCLE FOR PARITY CHECK).  FIX DPB CODE TAKE ONLY 3 TICKS ON
; 841	;	RETURN FROM BYTEA, SO THAT CACHE DATA DOESN'T ARRIVE INTO AR
; 842	;	AND ARX UNTIL DPB1, WHEN THE BYTE HAS GOTTEN OUT TO MQ.
; 843	;72	FIX DEFINITION OF SP MEM/UNPAGED TO INHIBIT VMA USER.  FIX
; 844	;	PAGE FAIL CODE TO CHECK FOR VMA FETCH BEFORE LOOKING AT
; 845	;	INTERRUPT REQUEST.  PROBLEM WAS INTERRUPT CONCURRENT WITH
; 846	;	PAGE FAIL ON JRSTF TO USER.  PC FLAGS GOT RESTORED, BUT VMA
; 847	;	NEVER COPIED TO PC BECAUSE PAGE FAIL INHIBITED NICOND, AND
; 848	;	INTERRUPT ABORTED PAGE FAIL HANDLING TO LOAD PC.
; 849	;71	DEFINE FMADR/AC4=6.  FIX MOVFIL ROUTINE TO PUT AWAY UPDATED
; 850	;	LENGTH DIFFERENCE WHEN INTERRUPTED, THUS AVOIDING RANDOMNESS
; 851	;	IN MOVSRJ, CVTBDX. FIX CVTBD CALL TO MOVFIL TO PRESERVE SR.
; 852	;	CHANGE STMAC AND PIDONE FROM "FIN XFER" TO "FIN STORE", BECAUSE
; 853	;	STORE WAS IN PROGRESS, WHICH CAUSED FM WRITE IF AC REF, AND
; 854	;	GOT A PARITY ERROR DUE TO ADB/FM.
; 855	;70	FIX PXCT 4,[POP ...], WHICH DIDN'T GET DEST CONTEXT SET FOR
; 856	;	STORE.  MUST USE SR_100 TO SET IT.
; 857	;67	FIX PROBLEM IN ADJBP BY WHICH BYTES/WORD WAS GETTING LOST
; 858	;	WHEN DIVIDE ROUTINE LOADED REMAINDER INTO BR.  SOLVED BY
; 859	;	SAVING BYTES/WORD IN T1.
; 860	;66	FIX KL PAGING TO RESTORE VMA ON TRAP, SAVE ADDRESS OF POINTER
; 861	;	CAUSING TRAP, AND NOT RESTORE ARX EXCEPT FOR BLT PAGE FAIL.
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-15
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 862	;	ALSO SET TIME PARAMETER ON ADB/FM TO ALLOW TIME FOR PARITY
; 863	;	CHECKING OF FM.
; 864	;65	FIX KL PAGING CODE TO DO MBWAIT AFTER DETERMINING THAT PARITY
; 865	;	ERROR HAS NOT OCCURRED, SO AS TO GET CORRECT VMA TO SAVE.
; 866	;	CREATE SYMBOLS FOR KL PAGE FAIL CODES.  PUT CONDITIONAL
; 867	;	ASSEMBLY AROUND IMULI OPTIMIZATION CODE, AND SXCT.  CREATE
; 868	;	SYMBOL "OPTIONS" IN # FIELD FOR MICROCODE OPTIONS.
; 869	;64	MICROCODE FOR KL10 PAGING (PAGE REFILL, MAP INSTR)...
; 870	;	REMOVE UNNECESSARY INSTRUCTION MBREL: FROM SWEEP AND APRBO
; 871	;	COSMETIC CHANGES TO KEEP COMMENTS & MACRO DEFINITIONS FROM
; 872	;	OVERFLOWING LINE OF LISTING, AND INSERTION OF CONDITIONAL
; 873	;	ASSEMBLY CONTROL OF LONG FLOATING POINT INSTRUCTIONS.
; 874	;63	IN MTR REQUEST ROUTINE, DON'T DISMISS WHEN PI CYCLE HASN'T
; 875	;	BEEN SET.
; 876	;62	FIX RDMTR CODE TO PUT 35 IN SC BEFORE GOING TO DMOVEM CODE.
; 877	;61	FIX PIIBP ROUTINE TO USE CALL.M INSTEAD OF SPEC/CALL,
; 878	;	WHICH GETS OVERRIDDEN BY P_P-S... IN MTR REQUEST SERVICE
; 879	;	ROUTINE, DON'T SET PI CYCLE UNLESS REQUEST IS FOR VECTOR.
; 880	;60	FIX DATAO PAG TO DO MB WAIT AFTER STORING EBOX ACCT AND
; 881	;	BEFORE CHANGING VMA.
; 882	;57	RE-CODE USES OF A@, B@ TO USE VMA/1, RATHER THAN VMA/AD,
; 883	;	IN ORDER TO GET CORRECT CONTEXT ON INDIRECT WORD. SEE MCL4
; 884	;56	FIX SECOND PART OF PICYCLE (TAG NEXT:) TO ENSURE THAT
; 885	;	PC+1 INH, KERNEL CYCLE, ETC REMAIN UP DURING 2ND PART.
; 886	;	ALSO CHANGE SPEC/FLAG CTL FOR ECO 1261, WHICH REQUIRES
; 887	;	#07 TO BE OPPOSITE OF #04 TO GENERATE SCD LEAVE USER.
; 888	;55	FIX SPEC INSTR/SET PI CYCLE TO INHIBIT INTERRUPTS
; 889	;	(IN PARTICULAR, METER UPDATE REQUESTS).  MAKE SURE VALID
; 890	;	DATA SAVED ON IO PAGE FAIL AND PARITY ERRORS. REMOVE
; 891	;	BACKWARDS BLT... IT BROKE TOO MANY PROGRAMS.
; 892	;54	FIX OVERFLOW CHECK IN IMULI OPTIMIZATION TO INH CRY 18
; 893	;	UPDATE TO USE CONDITIONAL ASSEMBLY IN MICRO VERS 20.
; 894	;53	FIX T1,T2 PARAMETERS ON BYTE DISP, SIGNS DISP
; 895	;52	CORRECT SHIFT AMOUNT FOR IMULI OPTIMIZATION, AND FIX MACRO
; 896	;	DEFINITIONS FOR SET SR?, WHICH WERE ALWAYS SETTING SR0.
; 897	;51	OPTIMIZE IMULI OF TWO POSITIVE OPERANDS (TO SPEED UP SUBSCRIPT
; 898	;	CALCULATIONS) BY TAKING ONLY 9 MULTIPLY STEPS AND STARTING
; 899	;	NEXT INSTRUCTION FETCH EARLIER.  OPTIMIZATION CAN BE REMOVED
; 900	;	BY COMMENTING OUT TWO INSTRUCTIONS AT IMULI, AND ONE FOLLOWING
; 901	;	IMUL.  ALSO FIX APRBI/UVERS TO KEEP SERIAL # OUT OF LH.
; 902	;50	INTRODUCE SKIP/FETCH AND CODE IN PAGE FAIL RECOVERY TO LOAD
; 903	;	PC FROM VMA IF PAGE FAIL OCCURED ON FETCH, BECAUSE NICOND
; 904	;	CYCLE, WHICH SHOULD HAVE LOADED PC, GETS INHIBITED BY INSTR 1777
; 905	;	ALSO INCLUDE EXTENDED INSTRUCTION SET.
; 906	;47	UNDO XCT CHANGES OF EDIT 46, WHICH BROKE XCT DUE TO INSUFFICIENT
; 907	;	TIME FOR DRAM HOLD BEFORE USING "A READ". ALSO FIX VECTOR
; 908	;	INTERRUPT CODE TO LOOK AT CORRECT BITS FOR CONTROLLER NUMBER.
; 909	;46	FOLLOW-ON TO EDIT 45, SAVING 2 WORDS AND A CYCLE
; 910	;	ALSO MOVE JRST TO 600, JFCL TO 700, UUO'S TO 100X AS PREPARATION
; 911	;	FOR EXTENDED INSTRUCTION SET
; 912	;45	FIX SXCT TO LOOK AT AC FIELD OF SXCT, NOT SUBJECT INSTRUCTION,
; 913	;	WHEN DECIDING WHETHER TO USE BASE-TYPE ADDRESS CALCULATION.
; 914	;44	FIX PAGE FAIL LOGIC TO WORK FOR EITHER PAGE FAIL OR PARITY
; 915	;	ERROR.  EDITS 42 AND 43 BOTH WRONG.  ALSO CORRECT RACE IN
; 916	;	WRITING PERFORMANCE ANALYSIS ENABLES TO PREVENT SPURIOUS COUNTS.
; 917	;43	CORRECT USE OF PF DISP BY EDIT 42.  LOW BITS ARE INVERTED
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-16
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 918	;42	FIX BUGS INTRODUCED BY EDIT 40, WHICH MADE FLTR OF 1B0 HANG
; 919	;	TRYING TO NEGATE IT, AND FIX UP EXPONENT CORRECTION ON LONG
; 920	;	SHIFT LEFT.  ALSO PUT IN CODE TO HANDLE PARITY ERROR PAGE
; 921	;	FAILURES, AND SET TIME CONTROLS ON 43-47.
; 922	;41	REWRITE OF VECTOR INTERRUPT PROCESSING TO MAKE DTE VECTORS
; 923	;	GO TO 142+8N, WHERE N IS DTE#.  RH20 GO TO PROGRAMMED ADDRESS
; 924	;	IN EPT, EXTERNAL DEVICES USE EXEC VIRTUAL ADDRESSES.
; 925	;40	IMPROVEMENTS TO FLOATING NORMALIZATION TO MAKE LONG SHIFTS
; 926	;	FASTER, PRIMARILY TO HELP FLTR
; 927	;37	FIX FLOATING DIVIDE SO THAT THE TRUNCATED FORM OF A NEGATIVE
; 928	;	QUOTIENT IS EQUAL TO THE HIGH-ORDER PART OF THE INFINITE-
; 929	;	PRECISION QUOTIENT.  SEE COMMENTS IN THE CODE.  ALSO BUM
; 930	;	A CYCLE OUT OF FLOATING DIVIDE BY STARTING THE NORMALIZE
; 931	;	WHILE MOVING THE QUOTIENT INTO AR.
; 932	;	SEVERAL CHANGES TO MAKE TRACKS FEATURE WORK
; 933	;36	FIX CONO MTR TO PUT DATA ON BOTH HALVES, SO PI CAN SEE PIA
; 934	;35	FIX CONI PI TO READ BACK WRITE EVEN PARITY ENABLES
; 935	;34	FIX BLT USE OF SR, SO NO CORRECTION OF ARX NECESSARY
; 936	;33	FIX PAGE TABLE REFERENCES TO FORCE UNPAGED REF.  FIX TRAP
; 937	;	TO SET PC+1 INHIBIT.
; 938	;32	CORRECT SETTING OF SC FOR SHIFTING METER COUNTERS, TO GET
; 939	;	12 BITS UNUSED AT RIGHT WHEN IT GETS TO CORE.
; 940	;31	RECODE ASH AND ASHC TO SAVE SPACE
; 941	;30	FIX JFFO TO SHIFT AR CORRECTLY AT JFFO2.  BUM ADJSP TO USE
; 942	;	STMAC FOR UPDATING PDL POINTER.
; 943	;27	FIX CONI PAG TO READ EBUS.  CORRECT DEFINITIONS OF MBOX
; 944	;	REGISTER FUNCTIONS, WHICH HAD BITS 0 AND 3 INVERTED.
; 945	;26	FIX DEFINITIONS OF DIAG FUNC CONO MTR AND CONO TIM, WHICH
; 946	;	WERE REVERSED
; 947	;25	FIX DECODING OF PHYSICAL DEVICE NUMBER IN PI FUNCTION CODE
; 948	;	AND RE-CODE JFCL FOR FEWER MICROWORDS
; 949	;24	FIX JFFO TO SHIFT ON FIRST 6-BIT TEST STEP, AND JRSTF TO
; 950	;	KEEP E AND XR DISTINCT.  ALSO SET LOAD-ENABLE BITS IN
; 951	;	DATAI PAG, WORD.
; 952	;23	FIX CONO PI, TO HOLD AR ONTO EBUS THRU REL EBUS, BECAUSE
; 953	;	PI BOARD DELAYS CONO PI TO GET CONO SET EQUIVALENT.
; 954	;22	MORE JFCL FIXES.  MUST USE FLAG CTL/JFCL WHILE CLEARING BITS,
; 955	;	AS WELL AS WHILE TESTING THEM.  BUM A WORD OUT OF JFFO BY
; 956	;	MAKING THE SIXBIT COUNT NEGATIVE.  CHANGES SO SHIFT SUBR
; 957	;	RETURNS 2, BYTEA 1.  FIX SETMB TO STORE BACK AND FETCH.
; 958	;21	RE-WRITE JFCL TO KEEP LOW OPCODE BITS OUT OF AR0-1, BECAUSE
; 959	;	PC00 GETS PROPAGATED LEFT TO ADA -1 AND -2.
; 960	;20	FIX BLT TO LOAD BR WITH SRC-DST ADDR
; 961	;	ALSO SET TIME PARAMETERS ON CONDITIONAL FETCH FUNCTIONS
; 962	;17	CHANGE SWEEP ONE PAGE TO PUT PAGE # IN E, RATHER THAN ADDR.
; 963	;	ALSO CHANGE COND/FM WRITE TO MATCH ECO #1068.
; 964	;16	FIX JUMP FETCH MACRO TO LOAD VMA FROM PC+1 (TEST SATISFIED
; 965	;	OVERRIDES THIS TO HOLD VMA).  ALSO BUM ONE MICROWORD FROM MUUO.
; 966	;15	INCLUDE PAGE FAIL DISP IN DISP/ FIELD
; 967	;	ALSO MAKE MUUO STORE PROCESS CONTEXT WORD AT 426, AND SETUP
; 968	;	PCS FROM PC EXTENSION, CWSX FROM SXCT
; 969	;14	FIX DEFINITIONS OF SKIP/IO LEGAL, AC#0, SC0, EVEN PAR
; 970	;	ALSO FIX DATAO PAG, TO SEND LH DATA ON BOTH HALVES OF EBUS
; 971	;13	ALIGN SETEBR SO CALL TO SHIFT RETURNS CORRECTLY
; 972	;12	MAKE SURE AD COPIES AR DURING DATAO, CONO, AND CLEAR AR AT
; 973	;	SET DATAI TIME.
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-17
; EDHIS.MIC[10,5351]	22:44 29-Nov-83			REVISION HISTORY					

; 974	;11	FIXES TO CONTINUE CODE SO CONSOLE WORKS, AND CORRECTIONS TO
; 975	;	PROTECTED DEP/EXAM SO PROTECTION PROTECTS.
; 976	;10	FIX A READ MACRO TO VMA/PC+1.  AD OVERRIDES UNLESS DRAM A=1
; 977	;07	RE-WRITE OF PI CYCLE CODE TO RECOGNIZE NEW EBUS SPEC.
; 978	;06	FIX DEFINITIONS OF SKIPS 40-57 BY COMPLEMENTING 3 LOW ORDER BITS
; 979	;	FIX MULSUB TO CORRESPOND TO NEW CRA LOGIC
; 980	;05	FIX EBUS CTL DEFINITIONS TO GET F01 CORRECT.  CORRECT FLAG CTL
; 981	;	DEFINITIONS TO PREVENT LEAVE USER WHEN NOT WANTED, AND FIX
; 982	;	JRST/JFCL TO HAVE FLAGS IN AR WHEN NEEDED.
; 983	;04	FIX RETURNS FROM MULSUB, PUT BETTER COMMENTS ON SNORM CODE,
; 984	;	IMPROVE SNORM ALGORITHM TO MINIMIZE WORST-CASE TIME.
; 985	;03	FIX DISPATCH ADDRESS PROBLEMS, MOSTLY JRST/JFCL AND UUO'S.
; 986	;02	CHANGES PER INSTRUCTION SET REVIEW -- DELETE USE OF BIT12 OF
; 987	;	BYTE POINTERS, CHANGE BLT TO PUT FINAL SRC,DST ADDRESSES IN AC,
; 988	;	MAKE TRUNCATE FORM FLOATING POINT REALLY TRUNCATE, ELIMINATE
; 989	;	LOCAL JSYS SUPPORT, DELETE PXCT OPCODE (XCT W/ NON-ZERO AC IN
; 990	;	EXEC MODE), LUUO'S GO TO 40/41 OF CURRENT SPACE.
; 991	;01	UPDATES FOR .TITLE AND .TOC PSEUDO OPS,
; 992	;	AND VARIOUS CHANGES FOR PROTO HARDWARE
; 993	;00	CREATION, BASED ON BREADBOARD AS OF EDIT 66
						; 994	.BIN
						; 995	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONDITIONAL ASSEMBLY VARIABLE DEFINITIONS		

						; 996	.TOC	"CONDITIONAL ASSEMBLY VARIABLE DEFINITIONS"
; 997	.NOBIN
; 998	
; 999	; [COST ESTIMATES IN BRACKETS INDICATE NUMBER OF ADDITIONAL
; 1000	; MICROINSTRUCTIONS REQUIRED BY TURNING ON THE FEATURE SWITCH]
; 1001	
; 1002	.DEFAULT/TRACKS=0	;1 ENABLES STORING PC AFTER EVERY INSTRUCTION,
; 1003				; & CREATES DATAI/O PI TO READ/SETUP PC BUFFER
; 1004				;ADDRESS. [COST = 21 WDS]
; 1005	
; 1006	.DEFAULT/OP.CNT=0	;1 ENABLES CODE TO BUILD A HISTOGRAM IN CORE
; 1007				; COUNTING USES OF EACH OPCODE IN USER & EXEC
; 1008	
; 1009	.DEFAULT/OP.TIME=0	;1 ENABLES CODE TO ACCUMULATE TIME SPENT BY
; 1010				; EACH OPCODE
; 1011	
; 1012	.DEFAULT/SO.CNT=0	;SECOND ORDER COUNTING IN 128K STARTING AT LOC
; 1013				; 400000 NOT DEBUGED [COST = 28 WDS]
; 1014	
; 1015	.DEFAULT/SO2.CNT=0	;SECOND ORDER COUNTING IN 128K STARTING AT LOC
; 1016				; PRESENTED AT START DOES ONE MORE ADD THAN
; 1017				; SO.CNT AND HENCE AN INSTRUCTION TAKES
; 1018				; 120 NS LONGER THAN SO.CNT [COST = 28 WDS]
; 1019	
; 1020	.DEFAULT/PAGCNT=0	;Enable code to count entries into the PFH and
; 1021				; number of DATAO PAGs with bit 2 set.  [Cost =
; 1022				; 6 words] [327]
; 1023	
; 1024	.DEFAULT/FPLONG=1	;1 ENABLES KA-STYLE DOUBLE PRECISION FLOATING
; 1025				;POINT INSTRUCTIONS: FADL, FSBL, FMPL, FDVL,
; 1026				; UFA, DFN. [COST = 49 WDS]
; 1027	
; 1028	.DEFAULT/MULTI=0	;1 IF MULTIPROCESSOR SYSTEM, TO SUPPRESS CACHE
; 1029				;ON UNPAGED REF'S.  PAGED REF'S ARE UP TO EXEC.
; 1030	
; 1031	.DEFAULT/KLPAGE=0	;1 ENABLES KL-MODE PAGING. [COST = 85 WDS]
; 1032	
; 1033	.DEFAULT/SHIFT.MUUO=0	;ENABLES A DIFFERENT MUUO FORMAT FOR MODEL A
; 1034				;THAT IS SLIGHTLY CLOSER TO THE XADDR FORMAT
; 1035				;EXPECTED TO BE USED IN CONJUNCTION WITH LONG.PC
; 1036				;BUT THEY DO NOT DEPEND ON EACH OTHER
; 1037	
; 1038	.DEFAULT/MODEL.B=0	;1 INDICATES EXTENDED ADDRESSING HARDWARE,
; 1039				;PRIMARILY 2K (RATHER THAN 1280) CONTROL RAM,
; 1040				;NEW MCL, CTL, AND APR BOARDS.
; 1041	
; 1042	.DEFAULT/BLT.PXCT=0	;1ENABLES SPECIAL BLT CODE FOR EXTENDED ADDRESSING
; 1043				;THIS IS SUPPOSED TO GO AWAY IN THE FUTURE
; 1044				;WHEN PXCT OF BLT IS NO LONGER USED BY TOPS-20
; 1045				;THIS SHOULD ONLY BE USED BY KLX XADDR MICROCODE
; 1046				;[COST 12 WORDS]
; 1047	
; 1048		.IF/KLPAGE
;;1049		.IFNOT/MODEL.B
;;1050		.SET/XADDR=0	;CAN'T DO EXTENDED ADDRESSING WITHOUT MODEL B
;;1051		.set/extexp=0	;No room in TOPS20 Model A machine for extended exp.
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-1
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONDITIONAL ASSEMBLY VARIABLE DEFINITIONS		

; 1052	.ENDIF/MODEL.B
; 1053	
;;1054		.IFNOT/KLPAGE
;;1055	.SET/XADDR=0		;CAN'T HAVE EXTENDED ADDRESSING WITHOUT KL PAGE
; 1056		.ENDIF/KLPAGE
; 1057	
; 1058	.DEFAULT/IMULI.OPT=0	;1 ENABLES OPTIMIZATION OF IMULI TO TAKE ONLY
; 1059				;NINE MULTIPLY STEPS [COST = 3 WDS]
; 1060	
; 1061		.IF/MODEL.B	; [COST = 19 WDS]
; 1062	.SET/SXCT=0		;DONT NEED SXCT WITH EXTENDED ADDRESSING
; 1063				;CAN'T DO IT IN MODEL B HARDWARE
; 1064		.ENDIF/MODEL.B
; 1065	.DEFAULT/SXCT=0		;1 ENABLES SPECIAL XCT INSTR, WHICH ALLOWS
; 1066				; DIAGNOSTICS TO GENERATE LARGE ADDRESSES.
; 1067	
; 1068	
; 1069	.DEFAULT/SNORM.OPT=0	;1 ENABLES FASTER NORMALIZATION OF SINGLE-
; 1070				; PRECISION RESULTS WHICH HAVE SEVERE LOSS OF
; 1071				; SIGNIFICANCE [COST = 4 WDS]
; 1072	
;;1073	.IFNOT/MODEL.B
;;1074		.SET/PUSHM=0	;CODE ONLY WORKS FOR MODEL B
; 1075	.ENDIF/MODEL.B
; 1076	
; 1077	.DEFAULT/PUSHM=0	;ENABLES THE PUSHM AND POPM INSTRUCTIONS
; 1078				; [COST = ??? WDS]
; 1079	.DEFAULT/EXTEND=1	;1 ENABLES EXTENDED INSTRUCTION SET
; 1080				; [COST = 290 WDS]
; 1081	
; 1082	.DEFAULT/DBL.INT=1	;1 ENABLES DOUBLE INTEGER INSTRUCTIONS
; 1083				; [COST = 59 WDS]
; 1084	
; 1085	.DEFAULT/ADJBP=1	;1 ENABLES ADJUST BYTE POINTER
; 1086				; [COST = 24 WDS]
; 1087	
; 1088	.DEFAULT/RPW=1		;1 ENABLES READ-PAUSE-WRITE CYCLES FOR
; 1089				;NON-CACHED REFERENCES BY CERTAIN INSTRUCTIONS.
; 1090				; [COST = 0]
; 1091	
; 1092	.DEFAULT/WRTST=0	;1 ENABLES WRITE-TEST CYCLES AT AREAD TIME FOR
; 1093				;INSTRUCTIONS LIKE MOVEM AND SETZM.  [COST = 0]
; 1094	
; 1095	.DEFAULT/BACK.BLT=0	;1 ENABLES BLT TO DECREMENT ADDRESSES ON EACH
; 1096				;STEP IF E < RH(AC).  BREAKS MANY PROGRAMS.
; 1097				; [COST = 9 WDS]
; 1098	
;;1099	.IF/TRACKS		;SETUP CONTROL FOR COMMON CODE
;;1100		.SET/INSTR.STAT=1
; 1101	.ENDIF/TRACKS
; 1102	
;;1103	.IF/OP.CNT
;;1104		.SET/INSTR.STAT=1	;ENABLE COMMON CODE, ERROR IF TRACKS TOO
; 1105	.ENDIF/OP.CNT
; 1106	
;;1107	.IF/OP.TIME
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-2
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONDITIONAL ASSEMBLY VARIABLE DEFINITIONS		

;;1108		.SET/INSTR.STAT=1	;ERROR IF TRACKS OR OP.CNT ALSO SET
; 1109	.ENDIF/OP.TIME
; 1110	
;;1111	.IF/SO.CNT
;;1112		.SET/INSTR.STAT=1
; 1113	.ENDIF/SO.CNT
; 1114	
;;1115	.IF/SO2.CNT
;;1116		.SET/INSTR.STAT=1
; 1117	.ENDIF/SO2.CNT
; 1118	
; 1119	.DEFAULT/INSTR.STAT=0		;IF NO STATISTICS, TURN OFF COMMON CODE
; 1120	
;;1121	.IF/INSTR.STAT
;;1122		.SET/NONSTD=1		;STATISTICS CODE IS NONSTANDARD
;;1123		.SET/TRXDEF=1		;Make sure TRX registers get defined [327]
; 1124	.ENDIF/INSTR.STAT
; 1125	
;;1126	.IF/PAGCNT
;;1127		.SET/NONSTD=1		;All statistics are nonstandard
;;1128		.SET/TRXDEF=1		;We need the TRX registers
; 1129	.ENDIF/PAGCNT
; 1130	
; 1131	.DEFAULT/TRXDEF=0		;Normally no TRX registers needed
; 1132	
; 1133	.DEFAULT/LONG.PC=0		;LONG PC FORMAT [COST 9 WORDS 11 WORDS IF XADDR]
; 1134	
; 1135	.DEFAULT/EPT540=0		;PUT EPT AND UPT SECTION TABLES AT 540 IF ON
; 1136					;  440 IF OFF
; 1137	
; 1138	.DEFAULT/DIAG.INST=0		;UNSUPPORTED DIAGNOSTIC MICROCODE
; 1139	
;;1140	.IF/DIAG.INST
;;1141		.SET/NONSTD=1		;NONSTANDARD MICROCODE
; 1142	.ENDIF/DIAG.INST
; 1143	
; 1144	.DEFAULT/NONSTD=0		;NONSTANDARD MICROCODE IS NORMALLY OFF
; 1145	.DEFAULT/SMP=1			;[216]1 IF SYMMETRIC MULTIPROCESSOR 
; 1146					;SYSTEM.
; 1147					;TO ENABLE RPW ON DPB INSTRUCTION.
; 1148					;[COST=9 WORDS if not XADDR, more if XADDR]
; 1149	.DEFAULT/OWGBP=0		;[264]
; 1150	.DEFAULT/IPA20=0		;[264]
; 1151	.DEFAULT/NOCST=0		;[264]
; 1152	.DEFAULT/CST.WRITE=1		;[314] Enable CST writable bit
; 1153	.DEFAULT/BIG.PT=0		;[333] Special code for big page table and Keep bit
; 1154	.DEFAULT/GFTCNV=1		;[273] GFLOAT CONVERSION INST.
; 1155	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS	

; 1156	.TOC	"HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS"
; 1157	
; 1158	;(1)	FIELD DEFINITIONS
; 1159	;	THESE OCCUR AT THE BEGINNING OF THE LISTING, IN THE SOURCE FILE
; 1160	; DEFINE.MIC (CONTROL AND DISPATCH RAM DEFINITIONS).
; 1161	; THEY HAVE THE FORM:
; 1162	;	SYMBOL/=<L:R>M,J
; 1163	;ANOTHER FORM ACCEPTED BY THE ASSEMBLER (FOR HISTORIC REASONS) IS:
; 1164	;	SYMBOL/=J,K,R,M		;THIS FORM HAS BEEN REMOVED FROM THIS CODE
; 1165	;	THE PARAMETER (J) IS MEANINGFUL ONLY WHEN "D" IS SPECIFIED
; 1166	; AS THE DEFAULT MECHANISM, AND IN THAT CASE, GIVES THE DEFAULT VALUE OF
; 1167	; THE FIELD IN OCTAL.
; 1168	;	THE PARAMETER (K) GIVES THE FIELD SIZE IN (DECIMAL) NUMBER
; 1169	; OF BITS. THIS IS USED ONLY IN THE OUTDATED FORMAT.
; 1170	;	THE PARAMETER (L) GIVES THE BIT POSITION OF THE LEFTMOST BIT
; 1171	;IN THE FIELD. THE SAME METHOD IS USED AS FOR (R) BELOW.
; 1172	;	THE PARAMETER (R) GIVES THE FIELD POSITION IN DECIMAL
; 1173	; AS THE BIT NUMBER OF THE RIGHTMOST BIT OF THE FIELD.  BITS ARE NUMBERED
; 1174	; FROM 0 ON THE LEFT.  NOTE THAT THE POSITION OF BITS IN THE MICROWORD
; 1175	; SHOWN IN THE LISTING BEARS NO RELATION TO THE ORDERING OF BITS IN THE
; 1176	; HARDWARE MICROWORD, WHERE FIELDS ARE OFTEN BROKEN UP AND SCATTERED.
; 1177	;	THE PARAMETER (M) IS OPTIONAL, AND SELECTS A DEFAULT
; 1178	; MECHANISM FOR THE FIELD.  THE LEGAL VALUES OF THIS PARAMETER ARE THE
; 1179	; CHARACTERS "D", "T", "P", OR "+".
; 1180	;	  "D" MEANS (J) IS THE DEFAULT VALUE OF THE FIELD IF NO EXPLICIT
; 1181	;	VALUE IS SPECIFIED.
; 1182	;	  "T" IS USED ON THE TIME FIELD TO SPECIFY THAT THE VALUE OF THE
; 1183	;	FIELD DEPENDS ON THE TIME PARAMETERS SELECTED FOR OTHER FIELDS.
; 1184	;	THE VALUE OF A FIELD WITH THIS SPECIFICATION DEFAULTS TO THE
; 1185	;	MAX OF <SUM OF THE T1 PARAMETERS DEFINED FOR FIELD/VALUES
; 1186	;	SPECIFIED IN THIS MICROINSTRUCTION>, <SUM OF THE T2 PARAMETERS
; 1187	;	FOR THIS MICROINSTRUCTION>, <J PARAMETER OF THIS FIELD>.
; 1188	;	WITHIN THE KL10 MICROCODE, T1 PARAMETERS ARE USED TO SPECIFY
; 1189	;	FUNCTIONS WHICH DEPEND ON THE ADDER SETUP TIME, AND T2 PARAMETERS
; 1190	;	ARE USED FOR FUNCTIONS WHICH REQUIRE ADDITIONAL TIME FOR CORRECT
; 1191	;	SELECTION OF THE NEXT MICROINSTRUCTION ADDRESS.
; 1192	;	  "P" IS USED ON THE PARITY FIELD TO SPECIFY THAT THE VALUE OF THE
; 1193	;	FIELD SHOULD DEFAULT SUCH THAT PARITY OF THE ENTIRE WORD
; 1194	;	IS ODD.  IF THIS OPTION IS SELECTED ON A FIELD WHOSE SIZE (K) IS
; 1195	;	ZERO, THE MICRO ASSEMBLER WILL ATTEMPT TO FIND A BIT SOMEWHERE
; 1196	;	IN THE WORD FOR WHICH NO VALUE IS SPECIFIED OR DEFAULTED.
; 1197	;	  "+" IS USED ON THE JUMP ADDRESS FIELD TO SPECIFY THAT THE DEFAULT
; 1198	;	JUMP ADDRESS IS THE ADDRESS OF THE NEXT INSTRUCTION ASSEMBLED (NOT,
; 1199	;	IN GENERAL, THE CURRENT LOCATION +1).
; 1200	;	IN GENERAL, A FIELD CORRESPONDS TO THE SET OF BITS WHICH PROVIDE
; 1201	; SELECT INPUTS FOR MIXERS OR DECODERS, OR CONTROLS FOR ALU'S.
; 1202	; EXAMPLES:
; 1203	;	AR/=<24:26>D,0	OR	AR/=0,3,26,D
; 1204	;	THE MICROCODE FIELD WHICH CONTROLS THE AR MIXER (AND THEREFORE
; 1205	; THE DATA TO BE LOADED INTO AR ON EACH EBOX CLOCK) IS THREE BITS WIDE
; 1206	; AND THE RIGHTMOST BIT IS SHOWN IN THE LISTING AS BIT 26 OF THE
; 1207	; MICROINSTRUCTION.  IF NO VALUE IS SPECIFICALLY REQUESTED FOR THE FIELD,
; 1208	; THE MICROASSEMBLER WILL ENSURE THAT THE FIELD IS 0.
; 1209	;	AD/=<12:17>	OR	AD/=0,6,17
; 1210	;	THE FIELD WHICH CONTROLS THE AD IS 6 BITS WIDE, ENDING ON
; 1211	; BIT 17.  THE FOURTH PARAMETER OF THE FIELD IS OMITTED, SO THE FIELD
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2-1
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS	

; 1212	; IS AVAILABLE TO THE MICROASSEMBLER (IF NO VALUE IS EXPLICITLY
; 1213	; CALLED OUT FOR THE FIELD) FOR MODIFICATION TO ENSURE ODD PARITY IN THE
; 1214	; ENTIRE WORD.
; 1215	;
; 1216	;(2)	VALUE DEFINITIONS
; 1217	;	FOLLOWING A FIELD DEFINITION, SYMBOLS MAY BE CREATED IN THAT
; 1218	; FIELD TO CORRESPOND TO VALUES OF THE FIELD.  THE FORM IS:
; 1219	;	SYMBOL=N,T1,T2
; 1220	;	"N" IS, IN OCTAL, THE VALUE OF SYMBOL WHEN USED IN THE FIELD.
; 1221	; T1 AND T2 ARE OPTIONAL, AND SPECIFY PARAMETERS IN THE TIME FIELD
; 1222	; CALCULATION FOR MICROINSTRUCTIONS IN WHICH THIS FIELD/SYMBOL IS USED.
; 1223	; THE MICROASSEMBLER COMPUTES THE SUMS OF ALL THE T1'S AND ALL THE T2'S
; 1224	; SPECIFIED FOR FIELD/SYMBOL SPECIFICATIONS IN A WORD, AND USES THE MAX
; 1225	; OF THE TWO SUMS AS THE DEFAULT VALUE FOR THE FIELD WHOSE DEFAULT
; 1226	; MECHANISM IS "T".  EXAMPLES:
; 1227	;	AD/=<12:17>	;FIELD DEFINITION IN WHICH FOLLOWING SYMBOLS EXIST
; 1228	;	XOR=31
; 1229	;	A+B=6,1
; 1230	;	HERE THE SYMBOLS "XOR" AND "A+B" ARE DEFINED FOR THE "AD" FIELD.
; 1231	; TO THE ASSEMBLER, THEREFORE, WRITING "AD/XOR" MEANS PUT THE VALUE 31
; 1232	; INTO THE 6-BIT FIELD ENDING ON BIT 17 OF THE MICROWORD.  THE SYMBOLS
; 1233	; ARE CHOSEN FOR MNEMONIC SIGNIFICANCE, OF COURSE, SO ONE READING
; 1234	; THE MICROCODE WOULD INTERPRET "AD/XOR" AS "THE OUTPUT OF AD SHALL BE THE
; 1235	; EXCLUSIVE OR OF ITS A AND B INPUTS".  SIMILIARLY, "AD/A+B" IS READ AS
; 1236	; "AD PRODUCES THE SUM OF A AND B".  THE SECOND PARAMETER IN THE DEFINITION
; 1237	; OF "A+B" IS A CONTROL TO THE MICRO ASSEMBLER'S TIME-FIELD CALCULATION,
; 1238	; WHICH TELLS THE ASSEMBLER THAT THIS OPERATION TAKES LONGER THAN THE
; 1239	; BASIC CYCLE, AND THEREFORE THAT THE TIME FIELD SHOULD BE INCREASED.
; 1240	;	AR/=<24:26>D,0	;FIELD DEFINITION FOR FOLLOWING SYMBOLS
; 1241	;	AR=0
; 1242	;	AD=2
; 1243	;	HERE THE SYMBOLS "AR" AND "AD" ARE DEFINED FOR THE FIELD NAMED
; 1244	; "AR", WHICH CONTROLS THE AR MIXER.  WE COULD WRITE AR/AR TO MEAN THAT
; 1245	; THE AR MIXER SELECT INPUTS WOULD BE 0, WHICH IN THE 
; 1246	; HARDWARE SELECTS THE AR OUTPUT FOR RECIRCULATION TO THE REGISTER.  IN
; 1247	; PRACTICE, HOWEVER, WE WANT THIS TO BE THE DEFAULT CASE, SO THAT AR
; 1248	; DOES NOT CHANGE UNLESS WE SPECIFICALLY REQUEST IT, SO THE FIELD
; 1249	; DEFINITION SPECIFIES 0 AS THE DEFAULT VALUE OF THE FIELD.  IF WE
; 1250	; WANT AR LOADED FROM THE AD OUTPUT, WE WRITE "AR/AD" TO SET THE
; 1251	; MIXER SELECTS TO PASS THE AD OUTPUT INTO THE AR.
; 1252	;
; 1253	;(3)	LABEL DEFINITIONS
; 1254	;	A MICRO INSTRUCTION MAY BE LABELLED BY A SYMBOL FOLLOWED BY COLON
; 1255	; PRECEDING THE MICROINSTRUCTION DEFINITION.  THE ADDRESS OF THE
; 1256	; MICROINSTRUCTION BECOMES THE VALUE OF THE SYMBOL IN THE FIELD NAMED "J".
; 1257	; EXAMPLE:
; 1258	;	FOO:	J/FOO
; 1259	;	THIS IS A MICROINSTRUCTION WHOSE "J" FIELD (JUMP ADDRESS) CONTAINS
; 1260	; THE VALUE "FOO".  IT ALSO DEFINES THE SYMBOL "FOO" TO BE THE ADDRESS
; 1261	; OF ITSELF.  THEREFORE, IF EXECUTED BY THE MICROPROCESSOR, IT WOULD
; 1262	; LOOP ON ITSELF.
; 1263	;
; 1264	;(4)	COMMENTS
; 1265	;	A SEMICOLON ANYWHERE ON A LINE CAUSES THE REST OF THE LINE
; 1266	; TO BE IGNORED BY THE ASSEMBLER.  THIS TEXT IS AN EXAMPLE OF COMMENTS.
; 1267	;
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2-2
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS	

; 1268	;(5)	MICROINSTRUCTION DEFINITION
; 1269	;	A WORD OF MICROCODE IS DEFINED BY SPECIFYING A FIELD NAME,
; 1270	; FOLLOWED BY SLASH (/), FOLLOWED BY A VALUE.  THE VALUE MAY BE A
; 1271	; SYMBOL DEFINED FOR THAT FIELD, AN OCTAL DIGIT STRING, OR A DECIMAL
; 1272	; DIGIT STRING (DISTINGUISHED BY THE FACT THAT IT CONTAINS "8" AND/OR
; 1273	; "9" AND/OR IS TERMINATED BY A PERIOD). SEVERAL FIELDS MAY BE SPECIFIED
; 1274	; IN ONE MICROINSTRUCTION BY SEPARATING FIELD/VALUE SPECIFICATIONS WITH
; 1275	; COMMAS.  EXAMPLE:
; 1276	;	ADB/BR,ADA/AR,AD/A+B,AR/AD
; 1277	;	THE FIELD NAMED "ADB" IS GIVEN THE VALUE NAMED "BR" (TO
; 1278	; CAUSE THE MIXER ON THE B SIDE OF AD TO SELECT BR), FIELD "ADA" HAS VALUE
; 1279	; "AR", FIELD "AD" HAS VALUE "A+B", AND FIELD "AR" HAS VALUE "AD".
; 1280	;
; 1281	;(6)	CONTINUATION
; 1282	;	THE DEFINITION OF A MICROINSTRUCTION MAY CONTINUED ONTO TWO OR
; 1283	; MORE LINES BY BREAKING IT AFTER ANY COMMA.  IN OTHER WORDS, IF THE
; 1284	; LAST NON-BLANK, NON-COMMENT CHARACTER ON A LINE IS A COMMA, THE
; 1285	; INSTRUCTION SPECIFICATION IS CONTINUED ON THE FOLLOWING LINE.
; 1286	; EXAMPLE:
; 1287	;	ADB/BR,ADA/AR,		;SELECT AR & BR AS AD INPUTS
; 1288	;		AD/A+B,AR/AD	;TAKE THE SUM INTO AR
; 1289	; BY CONVENTION, CONTINUATION LINES ARE INDENTED AN EXTRA TAB.
; 1290	;
; 1291	;(7)	MACROS
; 1292	;	A MACRO IS A SYMBOL WHOSE VALUE IS ONE OR MORE FIELD/VALUE
; 1293	; SPECIFICATIONS AND/OR MACROS.  A MACRO DEFINITION IS A LINE CONTAINING
; 1294	; THE MACRO NAME FOLLOWED BY A QUOTED STRING WHICH IS THE VALUE OF THE
; 1295	; MACRO.  EXAMPLE:
; 1296	;	AR_AR+BR	"ADB/BR,ADA/AR,AD/A+B,AR/AD"
; 1297	; THE APPEARANCE OF A MACRO IN A MICROINSTRUCTION DEFINITION IS EQUIVALENT
; 1298	; TO THE APPEARANCE OF ITS VALUE.  MACROS FOR VARIOUS FUNCTIONS
; 1299	; ARE DEFINED IN "MACRO.MIC".
; 1300	;
; 1301	;(8)	PSEUDO OPS
; 1302	;	THE MICRO ASSEMBLER HAS 10 PSEUDO-OPERATORS:
; 1303	;.DCODE AND .UCODE SELECT THE RAM INTO WHICH SUBSEQUENT MICROCODE WILL
; 1304	;BE LOADED, AND THEREFORE THE FIELD DEFINITIONS AND MACROS WHICH ARE
; 1305	;MEANINGFUL IN SUBSEQUENT MICROCODE
; 1306	;.TITLE DEFINES A STRING OF TEXT TO APPEAR IN THE PAGE HEADER, AND
; 1307	;.TOC DEFINES AN ENTRY FOR THE TABLE OF CONTENTS AT THE BEGINNING.
; 1308	;.SET DEFINES THE VALUE OF A CONDITIONAL ASSEMBLY PARAMETER,
; 1309	;.CHANGE REDEFINES A CONDITIONAL ASSEMBLY PARAMETER,
; 1310	;.DEFAULT ASSIGNS A VALUE TO AN UNDEFINED PARAMETER.
; 1311	;.IF ENABLES ASSEMBLY IF THE VALUE OF THE PARAMETER IS NOT ZERO,
; 1312	;.IFNOT ENABLES ASSEMBLY IF THE PARAMETER VALUE IS ZERO, AND
; 1313	;.ENDIF RE-ENABLES ASSEMBLY IF SUPPRESSED BY THE PARAMETER NAMED.
; 1314	;
; 1315	;(9)	LOCATION CONTROL
; 1316	;	A MICROINSTRUCTION "LABELLED" WITH A NUMBER IS ASSIGNED TO THAT
; 1317	; ADDRESS.
; 1318	;	THE CHARACTER "=" AT THE BEGINNING OF A LINE, FOLLOWED BY
; 1319	; A STRING OF 0'S, 1'S, AND/OR *'S, SPECIFIES A CONSTRAINT ON THE
; 1320	; ADDRESS OF FOLLOWING MICROINSTRUCTIONS.  THE NUMBER OF CHARACTERS
; 1321	; IN THE CONSTRAINT STRING (EXCLUDING THE "=") IS THE NUMBER OF LOW-ORDER
; 1322	; BITS CONSTRAINED IN THE ADDRESS.  THE MICROASSEMBLER ATTEMPTS TO FIND
; 1323	; AN UNUSED LOCATION WHOSE ADDRESS HAS 0 BITS IN THE POSITIONS
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2-3
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			HOW TO READ THE MICROCODE -- FORMATS & CONSTRUCTS	

; 1324	; CORRESPONDING TO 0'S IN THE CONSTRAINT STRING AND 1 BITS WHERE THE
; 1325	; CONSTRAINT HAS 1'S.  ASTERISKS DENOTE "DON'T CARE" BIT POSITIONS.
; 1326	;	IF THERE ARE ANY 0'S IN THE CONSTRAINT STRING, THE CONSTRAINT
; 1327	; IMPLIES A BLOCK OF <2**N> MICROWORDS, WHERE N IS THE NUMBER OF 0'S
; 1328	; IN THE STRING.  ALL LOCATIONS IN THE BLOCK WILL HAVE 1'S IN THE ADDRESS
; 1329	; BITS CORRESPONDING TO 1'S IN THE STRING, AND BIT POSITIONS DENOTED BY *'S
; 1330	; WILL BE THE SAME IN ALL LOCATIONS OF THE BLOCK.
; 1331	;	IN SUCH A CONSTRAINT BLOCK, THE DEFAULT ADDRESS PROGRESSION IS
; 1332	; COUNTING IN THE "0" POSITIONS OF THE CONSTRAINT STRING, BUT A NEW
; 1333	; CONSTRAINT STRING OCCURING WITHIN A BLOCK MAY FORCE SKIPPING OVER
; 1334	; SOME LOCATIONS OF THE BLOCK.  WITHIN A BLOCK, A NEW CONSTRAINT
; 1335	; STRING DOES NOT CHANGE THE PATTERN OF DEFAULT ADDRESS PROGRESSION, IT
; 1336	; MERELY ADVANCES THE LOCATION COUNTER OVER THOSE LOCATIONS.  THE
; 1337	; MICROASSEMBLER WILL LATER FILL THEM IN.
; 1338	;	A NULL CONSTRAINT STRING ("=" FOLLOWED BY ANYTHING BUT "0",
; 1339	; "1", OR "*") SERVES TO TERMINATE A CONSTRAINT BLOCK.
; 1340	; EXAMPLES:
; 1341	;	=0	
; 1342	;	THIS SPECIFIES THAT THE LOW-ORDER ADDRESS BIT MUST BE ZERO--
; 1343	; THE MICROASSEMBLER FINDS AN EVEN-ODD PAIR OF LOCATIONS, AND PUTS
; 1344	; THE NEXT TWO MICROINSTRUCTIONS INTO THEM.
; 1345	;	=11
; 1346	;	THIS SPECIFIES THAT THE TWO LOW-ORDER BITS OF THE ADDRESS MUST
; 1347	; BOTH BE ONES.  SINCE THERE ARE NO 0'S IN THIS CONSTRAINT, THE
; 1348	; ASSEMBLER FINDS ONLY ONE LOCATION MEETING THE CONSTRAINT.
; 1349	;	=0*****
; 1350	;	THIS SPECIFIES AN ADDRESS IN WHICH THE "40" BIT IS ZERO.  DUE
; 1351	; TO THE IMPLEMENTATION OF THIS FEATURE IN THE ASSEMBLER,  THE DEFAULT
; 1352	; ADDRESS PROGRESSION APPLIES ONLY TO THE LOW-ORDER 5 BITS, SO THIS
; 1353	; CONSTRAINT FINDS ONE WORD IN WHICH THE "40" BIT IS ZERO, AND DOES
; 1354	; NOT ATTEMPT TO FIND ONE IN WHICH THAT BIT IS A ONE.
; 1355	;THIS LIMITATION HAS BEEN CHANGED WITH NEWER ASSEMBLER VERSIONS.
; 1356	;HOWEVER NONE OF THE LOCATIONS IN THE MICROCODE REQUIRE ANYTHING BUT THE
; 1357	;CONSTRAINT MENTIONED ABOVE.
; 1358	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			MICROCODE LISTING TEMPLATE				

; 1359	.TOC	"MICROCODE LISTING TEMPLATE"
; 1360	;HERE IS A TEMPLATE WHICH CAN BE USED WITH THE MICROCODE
; 1361	; LISTING TO IDENTIFY FIELDS IN THE OUTPUT --
; 1362	
; 1363	
; 1364	; ----  ---- ---- ---- ---- ---- ---- ----
; 1365	; [--]  [--] []!! !!!! !!!! !![] [][] ![-]
; 1366	;   !     !   !!! !!!! !!!! !! !  ! ! ! + # = MAGIC NUMBERS
; 1367	;   !     !   !!! !!!! !!!! !! !  ! ! + MARK = SCOPE SYNC
; 1368	;   !     !   !!! !!!! !!!! !! !  ! !
; 1369	;   !     !   !!! !!!! !!!! !! !  ! + CALL, DISP/SPEC = SPEC FUNCTIONS
; 1370	;   !     !   !!! !!!! !!!! !! !  + SKIP/COND = SPECIAL FUNCTIONS
; 1371	;   !     !   !!! !!!! !!!! !! !
; 1372	;   !     !   !!! !!!! !!!! !! + TIME, MEM = UINST TIME & MEM FUNCTION
; 1373	;   !     !   !!! !!!! !!!! !+ VMA = VMA INPUT SELECT
; 1374	;   !     !   !!! !!!! !!!! + SH/ARMM = SH FUNCTION / ARMM SELECT
; 1375	;   !     !   !!! !!!! !!!!
; 1376	;   !     !   !!! !!!! !!!+ SC, FE = SC INPUT SELECT & FE LOAD
; 1377	;   !     !   !!! !!!! !!+ SCADB = SELECT FOR SCAD "B" INPUT
; 1378	;   !     !   !!! !!!! !+ SCADA = ENABLE AND SELECT FOR SCAD "A" INPUT
; 1379	;   !     !   !!! !!!! + SCAD = SC/FE ADDER FUNCTION
; 1380	;   !     !   !!! !!!!
; 1381	;   !     !   !!! !!!+ FM ADR = FAST MEMORY ADDRESS SELECT
; 1382	;   !     !   !!! !!+ BR, BRX, MQ = LOAD BR & BRX, SEL FOR MQ
; 1383	;   !     !   !!! !+ ARX = SELECT FOR ARX INPUT
; 1384	;   !     !   !!! + AR = SELECT FOR AR INPUT
; 1385	;   !     !   !!!
; 1386	;   !     !   !!+ ADB = SELECT FOR ADDER "B" INPUT
; 1387	;   !     !   !+ ADA = SELECT AND ENABLE FOR ADDER "A" INPUT
; 1388	;   !     !   + AD = OPERATION IN ADDER AND ADDER EXTENSION
; 1389	;   !     !
; 1390	;   !     + J = BASE ADDRESS TO WHICH THIS MICROINSTRUCTION JUMPS
; 1391	;   !
; 1392	;   + LOCATION IN CRAM INTO WHICH THIS WORD IS LOADED
; 1393	;
; 1394	; U/V = MICRO INSTRUCTION FOR CRAM
; 1395	
; 1396	;*******************************************************************
; 1397	
; 1398	; D = WORD FOR DRAM
; 1399	;
; 1400	;   + LOCATION IN DRAM INTO WHICH THIS WORD IS LOADED
; 1401	;   !
; 1402	;   !   + A = OPERAND ACCESS CONTROL
; 1403	;   !   !+ B = INSTRUCTION "MODE"
; 1404	;   !   !! + P = PARITY FOR THIS WORD
; 1405	;   !   !! !
; 1406	;   !   !! !   + J = ADDRESS OF HANDLER FOR THIS INSTRUCTION
; 1407	; [--]  !! ! [--]
; 1408	; ----  ---- ----
; 1409	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			KL10 INSTRUCTION OPCODE MAP				

; 1410	.TOC	"KL10 INSTRUCTION OPCODE MAP"
; 1411	
; 1412	;	0	1	2	3	4	5	6	7
; 1413	;100	UUO	UUO	EFAD	EFSB	JSYS	ADJSP	EFMP	EFDV
; 1414	;110	DFAD	DFSB	DFMP	DFDV	DADD	DSUB	DMUL	DDIV
; 1415	;120	DMOVE	DMOVN	FIX	EXTEND	DMOVEM	DMOVNM	FIXR	FLTR
; 1416	;130	UFA	DFN	FSC	IBP	ILDB	LDB	IDPB	DPB
; 1417	;140	FAD	FADL	FADM	FADB	FADR	FADRI	FADRM	FADRB
; 1418	;150	FSB	FSBL	FSBM	FSBB	FSBR	FSBRI	FSBRM	FSBRB
; 1419	;160	FMP	FMPL	FMPM	FMPB	FMPR	FMPRI	FMPRM	FMPRB
; 1420	;170	FDV	FDVL	FDVM	FDVB	FDVR	FDVRI	FDVRM	FDVRB
; 1421	;	0	1	2	3	4	5	6	7
; 1422	;200	MOVE	MOVEI	MOVEM	MOVES	MOVS	MOVSI	MOVSM	MOVSS
; 1423	;210	MOVN	MOVNI	MOVNM	MOVNS	MOVM	MOVMI	MOVMM	MOVMS
; 1424	;220	IMUL	IMULI	IMULM	IMULB	MUL	MULI	MULM	MULB
; 1425	;230	IDIV	IDIVI	IDIVM	IDIVB	DIV	DIVI	DIVM	DIVB
; 1426	;240	ASH	ROT	LSH	JFFO	ASHC	ROTC	LSHC	UUO
; 1427	;250	EXCH	BLT	AOBJP	AOBJN	JRST	JFCL	XCT	MAP
; 1428	;260	PUSHJ	PUSH	POP	POPJ	JSR	JSP	JSA	JRA
; 1429	;270	ADD	ADDI	ADDM	ADDB	SUB	SUBI	SUBM	SUBB
; 1430	;	0	1	2	3	4	5	6	7
; 1431	;300	CAI	CAIL	CAIE	CAILE	CAIA	CAIGE	CAIN	CAIG
; 1432	;310	CAM	CAML	CAME	CAMLE	CAMA	CAMGE	CAMN	CAMG
; 1433	;320	JUMP	JUMPL	JUMPE	JUMPLE	JUMPA	JUMPGE	JUMPN	JUMPG
; 1434	;330	SKIP	SKIPL	SKIPE	SKIPLE	SKIPA	SKIPGE	SKIPN	SKIPG
; 1435	;340	AOJ	AOJL	AOJE	AOJLE	AOJA	AOJGE	AOJN	AOJG
; 1436	;350	AOS	AOSL	AOSE	AOSLE	AOSA	AOSGE	AOSN	AOSG
; 1437	;360	SOJ	SOJL	SOJE	SOJLE	SOJA	SOJGE	SOJN	SOJG
; 1438	;370	SOS	SOSL	SOSE	SOSLE	SOSA	SOSGE	SOSN	SOSG
; 1439	;	0	1	2	3	4	5	6	7
; 1440	;400	SETZ	SETZI	SETZM	SETZB	AND	ANDI	ANDM	ANDB
; 1441	;410	ANDCA	ANDCAI	ANDCAM	ANDCAB	SETM	SETMI	SETMM	SETMB
; 1442	;420	ANDCM	ANDCMI	ANDCMM	ANDCMB	SETA	SETAI	SETAM	SETAB
; 1443	;430	XOR	XORI	XORM	XORB	IOR	IORI	IORM	IORB
; 1444	;440	ANDCB	ANDCBI	ANDCBM	ANDCBB	EQV	EQVI	EQVM	EQVB
; 1445	;450	SETCA	SETCAI	SETCAM	SETCAB	ORCA	ORCAI	ORCAM	ORCAB
; 1446	;460	SETCM	SETCMI	SETCMM	SETCMB	ORCM	ORCMI	ORCMM	ORCMB
; 1447	;470	ORCB	ORCBI	ORCBM	ORCBB	SETO	SETOI	SETOM	SETOB
; 1448	;	0	1	2	3	4	5	6	7
; 1449	;500	HLL	HLLI	HLLM	HLLS	HRL	HRLI	HRLM	HRLS
; 1450	;510	HLLZ	HLLZI	HLLZM	HLLZS	HRLZ	HRLZI	HRLZM	HRLZS
; 1451	;520	HLLO	HLLOI	HLLOM	HLLOS	HRLO	HRLOI	HRLOM	HRLOS
; 1452	;530	HLLE	HLLEI	HLLEM	HLLES	HRLE	HRLEI	HRLEM	HRLES
; 1453	;540	HRR	HRRI	HRRM	HRRS	HLR	HLRI	HLRM	HLRS
; 1454	;550	HRRZ	HRRZI	HRRZM	HRRZS	HLRZ	HLRZI	HLRZM	HLRZS
; 1455	;560	HRRO	HRROI	HRROM	HRROS	HLRO	HLROI	HLROM	HLROS
; 1456	;570	HRRE	HRREI	HRREM	HRRES	HLRE	HLREI	HLREM	HLRES
; 1457	;	0	1	2	3	4	5	6	7
; 1458	;600	TRN	TLN	TRNE	TLNE	TRNA	TLNA	TRNN	TLNN
; 1459	;610	TDN	TSN	TDNE	TSNE	TDNA	TSNA	TDNN	TSNN
; 1460	;620	TRZ	TLZ	TRZE	TLZE	TRZA	TLZA	TRZN	TLZN
; 1461	;630	TDZ	TSZ	TDZE	TSZE	TDZA	TSZA	TDZN	TSZN
; 1462	;640	TRC	TLC	TRCE	TLCE	TRCA	TLCA	TRCN	TLCN
; 1463	;650	TDC	TSC	TDCE	TSCE	TDCA	TSCA	TDCN	TSCN
; 1464	;660	TRO	TLO	TROE	TLOE	TROA	TLOA	TRON	TLON
; 1465	;670	TDO	TSO	TDOE	TSOE	TDOA	TSOA	TDON	TSON
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- J, AD			

; 1466	.TOC	"CONTROL RAM DEFINITIONS -- J, AD"
; 1467	;FIELDS ARRANGED FOR READABILITY, NOT COMPACTNESS
; 1468	; IN THE PROCESSOR, BITS ARE SCATTERED IN ANOTHER ORDER
; 1469	
; 1470	U0/=<0:0>D,0	;BIT 0 UNUSED
; 1471	J/=<1:11>+	;SYMBOLS WILL BE DEFINED BY TAGS (CRA1&CRA2)
; 1472	
; 1473	;MAIN ADDER CONTROLS.  Bit 0 = carry in, bit 1 = boolean operation
; 1474	; Bits 2-5 are S8-S1 of the 10181 ALU chip.  For normal arithmetic,
; 1475	; the AD and ADX are separated unless SPEC/AD LONG or equivalent is given.
; 1476	
; 1477	
; 1478	AD/=<12:17>	; (EDP3, EXCEPT CARRY IN, ON CTL1)
; 1479		A+1=40,1
; 1480		A+XCRY=00,1
; 1481	;	A+ANDCB=01,1
; 1482	;	A+AND=02,1
; 1483		A*2=03,1
; 1484		A*2+1=43,1
; 1485	;	OR+1=44,1
; 1486	;	OR+ANDCB=05,1
; 1487		A+B=06,1
; 1488		A+B+1=46,1
; 1489	;	A+OR=07,1
; 1490		ORCB+1=50,1
; 1491		A-B-1=11,1
; 1492		A-B=51,1
; 1493	;	AND+ORCB=52,1
; 1494	;	A+ORCB=53,1
; 1495		XCRY-1=54,1
; 1496	;	ANDCB-1=15,1
; 1497	;	AND-1=16,1
; 1498		A-1=17,1
; 1499			;ADDER LOGICAL FUNCTIONS
; 1500		SETCA=20
; 1501		ORC=21		;NAND
; 1502		ORCA=22
; 1503		1S=23
; 1504		ANDC=24		;NOR
; 1505		NOR=24
; 1506		SETCB=25
; 1507		EQV=26
; 1508		ORCB=27
; 1509		ANDCA=30
; 1510		XOR=31
; 1511		B=32
; 1512		OR=33
; 1513		0S=34
; 1514		ANDCB=35
; 1515		AND=36
; 1516		A=37
; 1517			;BOOLEAN FUNCTIONS FOR WHICH CRY0 IS INTERESTING
; 1518		CRY A EQ -1=60,1	;GENERATE CRY0 IF A=1S, AD=SETCA
; 1519		CRY A.B#0=36,1		;CRY 0 IF A&B NON-ZERO, AD=AND
; 1520		CRY A#0=37,1		;GENERATE CRY0 IF A .NE. 0, AD=A
; 1521		CRY A GE B=71,1		;CRY0 IF A .GE. B, UNSIGNED; AD=XOR
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- DATA PATH MIXERS		

; 1522	.TOC	"CONTROL RAM DEFINITIONS -- DATA PATH MIXERS"
; 1523	
; 1524	ADA/=<18:20>		; (EDP3)
; 1525		AR=0
; 1526		ARX=1
; 1527		MQ=2
; 1528		PC=3
; 1529	ADA EN/=<18:18>		;ADA ENABLE ALSO ENABLES ADXA (EDP3)
; 1530		EN=0
; 1531		0S=1
; 1532	U21/=<21:21>D,0		;BIT 21 UNUSED
; 1533	ADB/=<22:23>		;CONTROLS ADB AND ADXB (EDP3)
; 1534		FM=0,,1		;MUST HAVE TIME FOR PARITY CHECK
; 1535		BR*2=1
; 1536		BR=2
; 1537		AR*4=3
; 1538	U23/=<23:23>D,1		;PREVENT DEFAULT SELECTION OF FM
; 1539				;FORCE IT TO TAKE ONE OF THE SHORTER
; 1540				;PATHS IF FM NOT NEEDED ALSO DISABLES
; 1541				;PARITY CHECKING LOGIC
; 1542	
; 1543	;REGISTER INPUTS
; 1544	
; 1545	AR/=<24:26>D,0		; (EDP1)
; 1546		AR=0
; 1547		ARMM=0		;REQUIRES SPECIAL FUNCTION
; 1548		CACHE=1		;ORDINARILY SELECTED BY HWARE
; 1549		AD=2
; 1550		EBUS=3
; 1551		SH=4
; 1552		AD*2=5
; 1553		ADX=6
; 1554		AD*.25=7
; 1555	ARX/=<27:29>D,0		; (EDP2)
; 1556	;	ARX=0		;BY DEFAULT
; 1557		CACHE=1		;ORDINARILY BY MBOX RESP
; 1558		AD=2
; 1559		MQ=3
; 1560		SH=4
; 1561		ADX*2=5
; 1562		ADX=6
; 1563		ADX*.25=7
; 1564	BR/=<30:30>D,0		;DEFAULT TO RECIRCULATE (EDP4)
; 1565		AR=1
; 1566	BRX/=<31:31>D,0		;DEFAULT TO RECIRCULATE (EDP4)
; 1567		ARX=1
; 1568	MQ/=<32:32>D,0		;DEFAULT TO RECIRCULATE (EDP2)
; 1569		SH=1		;LOAD FROM SHIFT MATRIX
; 1570		MQ*2=0		;WITH SPEC/MQ SHIFT
; 1571		MQ*.25=1	;WITH SPEC/MQ SHIFT
; 1572		MQ SEL=0	;WITH COND/REG CTL
; 1573		MQM SEL=1	;WITH COND/REG CTL
; 1574	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- DATA PATH MIXERS		

; 1575	;FMADR SELECTS THE SOURCE OF THE FAST MEMORY ADDRESS,
; 1576	; RATHER THAN PROVIDING THE ADDRESS ITSELF
; 1577	
; 1578	FMADR/=<33:35>		; (APR4&APR5)
; 1579		AC0=0		;IR 9-12
; 1580		AC1=1		;<IR 9-12>+1 MOD 16
; 1581		XR=2		;ARX 14-17
; 1582		VMA=3		;VMA 32-35
; 1583		AC2=4		;<IR 9-12>+2 MOD 16
; 1584		AC3=5		;<IR 9-12>+3 MOD 16
;;1585	.IFNOT/MODEL.B
;;1586		AC4=6		;CURRENT BLOCK, AC+4
;;1587		ac5=7		;current block, ac+5
; 1588	.IF/MODEL.B
; 1589		AC+#=6		;CURRENT BLOCK, AC+ MAGIC #
; 1590	.ENDIF/MODEL.B
; 1591		#B#=7		;BLOCK AND AC SELECTED BY # FIELD
; 1592	
; 1593	.TOC	"CONTROL RAM DEFINITIONS -- 10-BIT LOGIC"
; 1594	
; 1595	SCAD/=<36:38>		; (SCD1)
; 1596		A=0
; 1597		A-B-1=1
; 1598		A+B=2
; 1599		A-1=3
; 1600		A+1=4
; 1601		A-B=5
; 1602		OR=6
; 1603		AND=7
; 1604	SCADA/=<39:41>		; (SCD1)
; 1605		FE=0
; 1606		AR0-5=1		;BYTE POINTER P FIELD
; 1607		AR EXP=2	;<AR 01-08> XOR <AR 00>
; 1608		#=3		;SIGN EXTENDED WITH #00
; 1609	SCADA EN/=<39:39>	; (SCD1)
; 1610		0S=1
; 1611	U42/=<42:42>D,0	;BIT 42 UNUSED
; 1612	SCADB/=<43:44>		; (SCD1)
; 1613		SC=0
; 1614		AR6-11=1	;BYTE POINTER S FIELD
; 1615		AR0-8=2
; 1616		#=3		;NO SIGN EXTENSION
; 1617	U45/=<45:45>D,0		;BIT 45 UNUSED
; 1618	SC/=<46:46>D,0		;RECIRCULATE BY DEFAULT (SCD2)
; 1619		FE=0		;WITH SCM ALT
; 1620		SCAD=1
; 1621		AR SHIFT=1	;WITH SCM ALT ;AR 18, 28-35
; 1622	FE/=<47:47>D,0		;RECIRCULATE BY DEFAULT (SCD2)
; 1623		SCAD=1
; 1624	U48/=<48:48>D,0		;BIT 48 UNUSED
; 1625	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- SHIFT, ARMM, VMA, TIME	

; 1626	.TOC	"CONTROL RAM DEFINITIONS -- SHIFT, ARMM, VMA, TIME"
; 1627	
; 1628	SH/=<49:50>		; (SH1)
; 1629		SHIFT AR!ARX=0	;LEFT BY (SC)
; 1630		AR=1
; 1631		ARX=2
; 1632		AR SWAP=3	;HALVES SWAPPED
; 1633	ARMM/=<49:50>		;SAME BITS AS SH CONTROL (SCD3)
; 1634		#=0		;MAGIC # 0-8 TO AR 0-8
; 1635		EXP_SIGN=1	;AR1-8 _ AR0
; 1636		SCAD EXP=2	;AR0-8_SCAD
; 1637		SCAD POS=3	;AR0-5_SCAD
; 1638	.IF/MODEL.B
; 1639	VMAX/=<49:50>		;SAME BITS AS SH CONTROL (VMA4)
; 1640		VMAX=0		;VMA SECTION #
; 1641		PC SEC=1	;PC SECTION #
; 1642		PREV SEC=2	;PREVIOUS CONTEXT SECT
; 1643		AD12-17=3
; 1644	.ENDIF/MODEL.B
; 1645	U51/=<51:51>D,0		;BIT 51 UNUSED
; 1646	VMA/=<52:53>D,0		;ALSO CONTROLLED BY SPECIAL FUNCTIONS
; 1647		VMA=0		;BY DEFAULT
; 1648		PC=1		;MAY BE OVERRIDDEN BY MCL LOGIC	TO LOAD FROM AD
; 1649		LOAD=1		; IF WE KNOW IT WILL BE OVERRIDDEN, USE THIS
; 1650		PC+1=2
; 1651		AD=3		;ENTIRE VMA, INCLUDING SECTION
; 1652	TIME/=<54:55>T		;CONTROLS MINIMUM MICROINSTRUCTION EXECUTION
; 1653				; TIME, COUNTING MBOX CLOCK TICKS (CLK)
; 1654				;ASSEMBLER GENERALLY TAKES CARE OF THIS
; 1655		2T=0		;2 TICKS
; 1656		3T=1		;3 TICKS
; 1657		4T=2		;4 TICKS
; 1658		5T=3		;5 TICKS (COND/DIAG FUNC & #00, --> .5 USEC)
; 1659	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- MEM SPECIAL FUNCTIONS	

; 1660	.TOC	"CONTROL RAM DEFINITIONS -- MEM SPECIAL FUNCTIONS"
; 1661	
; 1662	MEM/=<56:59>D,0		; (MCL1)
; 1663	;	NOP=0		;DEFAULT
; 1664		ARL IND=1	;CONTROL AR LEFT MUX FROM # FIELD
; 1665		MB WAIT=2	;WAIT FOR MBOX RESP IF PENDING
; 1666		A RD=4		;OPERAND READ
; 1667		B WRITE=5	;CONDITIONAL WRITE ON DRAM B 01
; 1668		FETCH=6		;LOAD NEXT INSTR TO ARX (CONTROL BY #)
; 1669		REG FUNC=7	;MBOX REGISTER FUNCTIONS
; 1670		LOAD AR=12
; 1671		LOAD ARX=13
; 1672		WRITE=16	;FROM AR TO MEMORY
; 1673	.IF/MODEL.B
; 1674		RESTORE VMA=3	;AD FUNC WITHOUT GENERATING A REQUEST
; 1675		AD FUNC=10	;FUNCTION LOADED FROM AD LEFT
; 1676		EA CALC=11	;FUNCTION DECODED FROM # FIELD
; 1677		RW=14		;READ, TEST WRITABILITY
; 1678		RPW=15		;READ-PAUSE-WRITE
; 1679		IFET=17		;UNCONDITIONAL FETCH
;;1680	.IFNOT/MODEL.B		;OLD-STYLE MCL BOARD
;;1681		SEC 0=3		;CLEAR VMAX
;;1682		A IND=10	;A-TYPE INDIRECT
;;1683		BYTE IND=11	;BYTE-TYPE INDIRECT
;;1684		AD FUNC=14	;FUNCTION FROM AD LEFT
;;1685		BYTE RD=15	;BYTE READ TO BOTH AR AND ARX
;;1686		RPW=17		;LOAD AR WITH RPW CYCLE
; 1687	.ENDIF/MODEL.B
; 1688	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- SKIP/COND SPECIAL FUNCTIONS

; 1689	.TOC	"CONTROL RAM DEFINITIONS -- SKIP/COND SPECIAL FUNCTIONS"
; 1690	
; 1691	SKIP/=<60:65>D,0	;MICRO-PROGRAM SKIPS
; 1692				; 40-57 DECODED ON (CRA2)
; 1693	;	SPARE=40
; 1694		EVEN PAR=41,,1	;AR PARITY IS EVEN
; 1695		BR0=42		;BR BIT 00
; 1696		ARX0=43		;ARX BIT 00
; 1697		AR18=44		;AR BIT 18
; 1698		AR0=45		;AR BIT 00
; 1699		AC#0=46		;IR9-12 .EQ. 0
; 1700		SC0=47		;SC BIT 00
;;1701	.IFNOT/MODEL.B
;;1702		SC .LT. 36=50
; 1703	.IF/MODEL.B
; 1704		PC SEC0=50
; 1705	.ENDIF/MODEL.B
; 1706		SCAD0=51,,1	;SIGN OF SCAD OUTPUT
; 1707		SCAD#0=52,,1	;SCAD OUTPUT IS NON-ZERO
; 1708		ADX0=53,1	;ADDER EXTENSION BIT 00
; 1709		AD CRY0=54,1	;CARRY OUT OF AD BIT -2 (BOOLE IGNORED)
; 1710		AD0=55,1	;ADDER BIT 00
; 1711		AD#0=56,1	;AD BITS 00-35 CONTAIN SOME ONES
; 1712	.IF/MODEL.B
; 1713		-LOCAL AC ADDR=57	;VMA18-31 =0 ON LOCAL REF IN SEC >1
; 1714	.ENDIF/MODEL.B
; 1715				; 60-77 DECODED ON (CON2)
; 1716		FETCH=60	;VMA FETCH (LAST CYCLE WAS A FETCH)
; 1717		KERNEL=61	;PC IS IN KERNEL MODE
; 1718		USER=62		;PC IS IN USER MODE
; 1719		PUBLIC=63	;PC IS PUBLIC (INCLUDING SUPER)
; 1720		RPW REF=64	;MIDDLE OF READ-PAUSE-WRITE CYCLE
; 1721		PI CYCLE=65	;PI CYCLE IN PROGRESS
; 1722		-EBUS GRANT=66	;PI HASN'T RELEASED BUS FOR CPU USE
; 1723		-EBUS XFER=67	;NO TRANSFER RECIEVED FROM DEVICE
; 1724		INTRPT=70	;AN INTERRUPT REQUEST WAITING FOR SERVICE
; 1725		-START=71	;NO CONTINUE BUTTON
; 1726		RUN=72		;PROCESSOR NOT HALTED
; 1727		IO LEGAL=73	;KERNEL, PI CYCLE, USER IOT, OR DEVICE .GE. 740
; 1728		P!S XCT=74	;PXCT OR SXCT
; 1729	.IF/MODEL.B
; 1730		-VMA SEC0=75	;VMA SECTION NUMBER (13-17) IS NOT ZERO
; 1731	.ENDIF/MODEL.B
; 1732		AC REF=76,,1	;VMA .LT.20 ON READ OR WRITE
; 1733		-MTR REQ=77	;INTERRUPT REQUEST NOT DUE TO METER
; 1734	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 11
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- SKIP/COND SPECIAL FUNCTIONS

; 1735	;SKIP/COND FIELD CONTINUED
; 1736	
; 1737	COND/=<60:65>D,0	;NON-SKIP SPECIAL FUNCTIONS
; 1738				;0-7 DECODED ON (CTL2)
; 1739	;	NOP=0		;BY DEFAULT
; 1740		LD AR0-8=1
; 1741		LD AR9-17=2
; 1742		LD AR18-35=3
; 1743		AR CLR=4
; 1744		ARX CLR=5
; 1745		ARL IND=6	;CONTROL AR LEFT, CALL, AND CLEAR BITS FROM #
; 1746		REG CTL=7	;CONTROL AR LOAD, EXP TST, AND MQ FROM #
; 1747				; 10-37 DECODED ON (CON1)
; 1748		FM WRITE=10	;WRITE AR INTO CURRENTLY ADDRESSED FM LOC
; 1749		PCF_#=11	;SET PC FLAGS FROM # FIELD
; 1750		FE SHRT=12	;SHIFT FE RIGHT 1
; 1751		AD FLAGS=13	;SET PC CRY0, CRY1, OVRFLO, TRAP1 AS APPROPRIATE
; 1752		LOAD IR=14	;LATCH AD OR CACHE DATA INTO IR
; 1753		SPEC INSTR=15	;SET/CLR SXCT, PXCT, PICYC, TRAP INSTR FLAGS
; 1754		SR_#=16		;CONTROL FOR STATE REGISTER
; 1755		SEL VMA=17	;READ VMA THROUGH ADA/PC
; 1756		DIAG FUNC=20	;SELECT DIAGNOSTIC INFO ONTO EBUS
; 1757		EBOX STATE=21	;SET STATE FLOPS
; 1758		EBUS CTL=22	;I/O FUNCTIONS
; 1759		MBOX CTL=23
; 1760	;	SPARE=24
; 1761	.IF/MODEL.B
; 1762		LONG EN=25	;THIS WORD CAN BE INTERPRETED AS LONG INDIRECT
; 1763	.ENDIF/MODEL.B
; 1764	;	SPARE=26
; 1765	;	SPARE=27
; 1766		VMA_#=30
; 1767		VMA_#+TRAP=31
; 1768		VMA_#+MODE=32
; 1769		VMA_#+AR32-35=33
; 1770		VMA_#+PI*2=34
; 1771		VMA DEC=35	;VMA_VMA-1
; 1772		VMA INC=36	;VMA_VMA+1
; 1773		LD VMA HELD=37	;HOLD VMA ON SIDE
;;1774	.IFNOT/MODEL.B
;;1775	U66/=<66:66>D,0		;BIT 66 UNUSED
; 1776	.IF/MODEL.B
; 1777	CALL/=<66:66>D,0	;CALL FUNCTION
; 1778		CALL=1		;GOOD TO 15 LEVELS IN MODEL B
; 1779	.ENDIF/MODEL.B
; 1780	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 12
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- DISP/SPEC SPECIAL FUNCTIONS

; 1781	.TOC	"CONTROL RAM DEFINITIONS -- DISP/SPEC SPECIAL FUNCTIONS"
; 1782	
; 1783	DISP/=<67:71>D,10	;0-7 AND 30-37 ARE DISPATCHES (CRA1&CRA2)
; 1784		DIAG=0
; 1785		DRAM J=1
; 1786		DRAM A RD=2	;IMPLIES INH CRY18
; 1787		RETURN=3	;POPJ RETURN
; 1788		PG FAIL=4	;PAGE FAIL TYPE DISP
; 1789		SR=5		;16 WAYS ON STATE REGISTER
; 1790		NICOND=6	;NEXT INSTRUCTION CONDITION (see NEXT for detail)
; 1791		SH0-3=7,,2	;16 WAYS ON HIGH-ORDER BITS OF SHIFTER
; 1792		MUL=30		;FE0*4 + MQ34*2 + MQ35; implies MQ SHIFT, AD LONG
; 1793		DIV=31,,1	;FE0*4 + BR0*2 + AD CRY0; implies MQ SHIFT, AD LONG
; 1794		SIGNS=32,1	;ARX0*8 + AR0*4 + BR0*2 + AD0
; 1795		DRAM B=33	;8 WAYS ON DRAM B FIELD
; 1796		BYTE=34,,1	;FPD*4 + AR12*2 + SCAD0
; 1797		NORM=35,2	;See normalization for details. Implies AD LONG
; 1798		EA MOD=36	;(ARX0 or -LONG EN)*8 + -(LONG EN and ARX1)*4 +
; 1799				;ARX13*2 + (ARX2-5) or (ARX14-17) non zero; enable
; 1800				;is (ARX0 or -LONG EN) for second case.  If ARX18
; 1801				;is 0, clear AR left; otherwise, poke ARL select
; 1802				;to set bit 2 (usually gates AD left into ARL)
;;1803	.IFNOT/MODEL.B
;;1804		EA TYPE=37
; 1805	.ENDIF/MODEL.B
; 1806	
; 1807	SPEC/=<67:71>D,10	;NON-DISPATCH SPECIAL FUNCTIONS (CTL1)
; 1808	;	NOP=10		;DEFAULT
; 1809		INH CRY18=11
; 1810		MQ SHIFT=12	;ENABLE MQ*2, MQ SHRT2
; 1811		SCM ALT=13	;ENABLE FE, ARSHIFT
; 1812		CLR FPD=14
; 1813		LOAD PC=15
; 1814		XCRY AR0=16	;CARRY INTO AD IS XOR'D WITH AR00
; 1815		GEN CRY18=17
;;1816	.IFNOT/MODEL.B
;;1817		SEC HOLD=20	;INHIBIT LOADING VMAX
;;1818		CALL=21		;MAX DEPTH 4, INCLUDING PAGE REFILL
; 1819	.IF/MODEL.B
; 1820		STACK UPDATE=20	;CONTROL CRY18 IF LOCAL STACK
; 1821	.ENDIF/MODEL.B
; 1822		ARL IND=22	;# SPECIFIES ARL MIX, ENABLES, & CALL
; 1823		MTR CTL=23	;# CONTROLS METERS
; 1824		FLAG CTL=24	;FUNCTION ENCODED IN # FIELD
; 1825		SAVE FLAGS=25	;TELLS PI CYCLE TO HOLD INTRPT
; 1826		SP MEM CYCLE=26	;MEM REQUEST IS MODIFIED BY #
; 1827		AD LONG=27	;AD BECOMES 72 BIT ALU
; 1828	
; 1829	U73/=<72:73>D,0		;BITS 72-73 UNUSED
; 1830	
; 1831	MARK/=<74:74>D,0	;FIELD SERVICE "MARK" BIT
; 1832	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 13
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 1833	.TOC	"CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD"
; 1834	
; 1835	#/=<75:83>D,0		;THE INFAMOUS "MAGIC NUMBERS"
; 1836	
; 1837		;THE OPTIONS DESIGNATE CERTAIN ASSEMBLIES FROM THE SAME
; 1838			;MICROCODE SOURCES
; 1839			;# BIT 0 INDICATES KLPAGING
; 1840			;# BIT 1 INDICATES EXTENDED ADDRESSING
; 1841			;# BIT 2 INDICATES NONSTANDARD MICROCODE
; 1842			;# BIT 3 INDICATES A CPU WITH THE PV KIT. (MODEL B)
; 1843			;# BIT 8 INDICATES INSTRUCTION STATISTICS GATHERING
; 1844				;(I.E. TRACKS)
; 1845		;EACH OPTION BIT IS GIVEN A SEPERATE FIELD DEFINITION
; 1846	
; 1847	KLPAGE/=<75:75>			;KLPAGING
; 1848	
; 1849	.IF/KLPAGE
; 1850		OPTIONS=1
;;1851	.IFNOT/KLPAGE
;;1852		OPTIONS=0
; 1853	.ENDIF/KLPAGE
; 1854	
; 1855	
; 1856	LONGPC/=<76:76>			;LONG PC FORMAT AS IN EXTENDED ADDRESSING
; 1857					; THIS IS A SLIGHTLY BASTARDIZED FORMAT IN
; 1858	.IF/LONG.PC			; MODEL A MACHINES DUE TO SPACE LIMITATIONS
; 1859		OPTIONS=1
;;1860	.IFNOT/LONG.PC
;;1861		OPTIONS=0
; 1862	.ENDIF/LONG.PC
; 1863	
; 1864	
; 1865	NONSTD/=<77:77>			;NONSTANDARD MICROCODE (IE DIAGNOSTIC MICROCODE)
; 1866	
;;1867	.IF/NONSTD
;;1868		OPTIONS=1
; 1869	.IFNOT/NONSTD
; 1870		OPTIONS=0
; 1871	.ENDIF/NONSTD
; 1872	
; 1873	PV/=<78:78>			;MODEL B - PV CPU
; 1874	
; 1875	.IF/MODEL.B
; 1876		OPTIONS=1
;;1877	.IFNOT/MODEL.B
;;1878		OPTIONS=0
; 1879	.ENDIF/MODEL.B
; 1880	
; 1881	ISTAT/=<83:83>			;STATISTICS GATHERING CODE (IE TRACKS)
; 1882	
;;1883	.IF/INSTR.STAT
;;1884		OPTIONS=1
; 1885	.IFNOT/INSTR.STAT
; 1886		OPTIONS=0
; 1887	.ENDIF/INSTR.STAT
; 1888	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 13-1
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 1889	ACB/=<77:79>		;AC block number. Used with FMADR/#B#
; 1890		PAGB=6		;AC block used for KL paging registers
; 1891		MICROB=7	;AC block for general microcode scratch
; 1892	
; 1893	AC#/=<80:83>		;AC number used with ACB or AC-OP (below)
; 1894	
; 1895	.IF/MODEL.B
; 1896	;
; 1897	; WARNING !!! BECAUSE OF A TIMING PROBLEM IN THE HARDWARE ALL AC-OPS
; 1898	;		MUST HAVE THE NUMBER FIELD THE SAME IN THE PREVIOUS
; 1899	;		MICROINSTRUCTION. THE SYMPTOM WILL BE GARBAGE WRITTEN IN A
; 1900	;		DIFFERENT AC AS THE ADDRESS LINES DON'T MAKE IT IN TIME
; 1901	;		FOR THE WRITE PULSE.
; 1902	;
; 1903	AC-OP/=<75:79>		;CONTROLS OPERATION ON AC AND AC#
; 1904		AC+#=6
; 1905		#=32		;JUST AC#
; 1906		OR=33		;AC <OR> AC#
; 1907				;ALL AD/ FUNCTIONS <40 WORK
; 1908	.ENDIF/MODEL.B
; 1909	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 14
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 1910	;VARIOUS SPECIAL FUNCTIONS ENABLE SPECIAL DECODING OF THE
; 1911	; "MAGIC #" FIELD, AS FOLLOWS:
; 1912	
; 1913	;SPECIAL DATA PATH CONTROLS
; 1914	
;;1915	.IFNOT/MODEL.B
;;1916	CALL/=<75:75>		;ENABLED BY ARL IND (CTL2)
;;1917		CALL=1
; 1918	.ENDIF/MODEL.B
; 1919	AR0-8/=<76:76>		;ENABLED BY ARL IND (CTL2)
; 1920		LOAD=1
; 1921	CLR/=<77:80>		;ENABLED BY ARL IND (CTL2)
; 1922		MQ=10
; 1923		ARX=4
; 1924		ARL=2
; 1925		ARR=1
; 1926		AR=3
; 1927		AR+ARX=7
; 1928		AR+MQ=13
; 1929		ARX+MQ=14
; 1930		AR+ARX+MQ=17
; 1931		ARL+ARX=6
; 1932		ARL+ARX+MQ=16
; 1933		ARR+MQ=11
; 1934	ARL/=<81:83>		;ENABLED BY ARL IND (CTL2)
; 1935		ARL=0
; 1936		ARMM=0		;REQUIRES SPECIAL FUNCTION
; 1937		CACHE=1		;ORDINARILY SELECTED BY HWARE
; 1938		AD=2
; 1939		EBUS=3
; 1940		SH=4
; 1941		AD*2=5
; 1942		ADX=6
; 1943		AD*.25=7
; 1944	AR CTL/=<75:77>		;ENABLED BY COND/REG CTL (CTL2)
; 1945		AR0-8 LOAD=4
; 1946		AR9-17 LOAD=2
; 1947		ARR LOAD=1
; 1948		ARL LOAD=6
; 1949	EXP TST/=<80:80>	;ENABLED BY COND/REG CTL (CTL1)
; 1950		AR_EXP=1
; 1951	MQ CTL/=<82:83>		;ENABLED BY COND/REG CTL (CTL2)
; 1952	;	MQ=0		;WITH MQ/MQ SEL
; 1953		MQ*2=1		; "
; 1954	;	MQ*.5=2		; " (DROPS BITS 0,6,12,18,24,30)
; 1955		0S=3		; "
; 1956		SH=0		;WITH MQ/MQM SEL
; 1957		MQ*.25=1	; "
; 1958		1S=2		; "
; 1959		AD=3		; "
; 1960	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 15
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 1961	;SPECIAL CONTROL OF EBOX FLAGS & FUNCTIONS
; 1962	
; 1963	PC FLAGS/=<75:83>	;ENABLED BY COND/PCF_# (SCD4)
; 1964		AROV=420	;SET ARITH OVFLO & TRAP1
; 1965		FLOV=620	;SAME, PLUS FLOATING OVFLO
; 1966		FPD=100		;SET FIRST PART DONE
; 1967		TRAP2=40	;SET TRAP2 (PDL OVFLO)
; 1968		TRAP1=20	;SET TRAP1 (ARITH OVFLO)
; 1969		FXU=630		;FLOV + EXP UNDERFLOW
; 1970		DIV CHK=424	;NO DIVIDE + AROV
; 1971		FDV CHK=624	;FLOATING NO DIVIDE
; 1972	FLAG CTL/=<75:83>	;ENABLED BY SPEC/FLAG CTL (SCD5)
; 1973		RSTR FLAGS=420	;AS IN JRSTF
; 1974		JFCL=602	;FORCE PC 00 = AROV
; 1975		JFCL+LD=622	;SECOND PART OF JFCL -- CLEAR TESTED FLAGS
; 1976		DISMISS=502	;CLEAR PI CYCLE IF SET (CON5)
; 1977				; ELSE DISMISS HIGHEST PI HOLD
; 1978		DISMISS+LD=522	;LOAD FLAGS AND DISMISS
; 1979		HALT=442	;STOP PROCESSOR IF LEGAL (CON2)
; 1980		SET FLAGS=20	;AS IN MUUO
; 1981		PORTAL=412	;CLEAR PUBLIC IF PRIVATE INSTR
; 1982	SPEC INSTR/=<75:83>	;ENABLED BY COND/SPEC INSTR
; 1983		SET PI CYCLE=714; (CON5)
; 1984		KERNEL CYCLE=200;MAKE IO LEGAL, EXEC ADDR SPACE (CON4)
; 1985		INH PC+1=100	;TO MAKE JSR WORK IN TRAP, INTRPT (CON4)
; 1986		SXCT=40		;START SECTION XCT (MCL4)
; 1987		PXCT=20		;START PREV CONTXT XCT (MCL4)
; 1988		INTRPT INH=10	;INHIBIT INTERRUPTS (CON4)
; 1989		INSTR ABORT=4	; (CON2)
; 1990		HALTED=302	;TELL CONSOLE WE'RE HALTED (CON4)
; 1991		CONS XCT=310	;FLAGS FOR INSTR XCT'D FROM CONSOLE
; 1992		CONT=0		;RESTORE NORMAL STATE FOR CONTINUE
; 1993	FETCH/=<75:83>		;ENABLED BY MEM/FETCH
; 1994		UNCOND=400
; 1995				;LOW 2 BITS DECODED ON (IR3)
; 1996		COMP=201,2	;DEPENDING ON AD AND DRAM B
; 1997		SKIP=202,2
; 1998		TEST=203,1
; 1999		JUMP=502,2	;AS IN JUMPX, ON AD AND DRAM B
; 2000		JFCL=503,1	;JUMP ON TEST CONDITION
; 2001	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 16
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 2002	;SPECIAL MEMORY REQUEST FUNCTIONS
; 2003	
; 2004	.IF/MODEL.B
; 2005	EA CALC/=<75:83>	;SPECIFIC CONTROLS FOR MEM/EA CALC
; 2006	;	LOAD AR=400
; 2007	;	LOAD ARX=200
; 2008	;	PAUSE=100	;Freeze memory--always use with 040
; 2009	;	WRITE=040	;SET VMA WRITE
; 2010	;	PREV EN=20	;PREV CONTXT SELECTED BY SR AND PXCT
; 2011	;	INDIRECT=10	;PREV CONTXT FOR EA CALC
; 2012	;	EA=2		;RESTORATION OF ORIGINAL EA CONDITIONS
; 2013	;	STACK=1		;PREV CONTXT SELECTED BY PXCT B12
; 2014	.IF/XADDR		;JUST TO ARX FOR EXTENDED ADDRESSING
; 2015		A IND=230	;INDIRECT AT FIRST EA CALC TIME
;;2016	.IFNOT/XADDR		;TO BOTH AR AND ARX AS IN MODEL A
;;2017		A IND=630	;INDIRECT AT FIRST EA CALC TIME
; 2018	.ENDIF/XADDR
; 2019		BYTE LD=420	;Read byte data to AR only [337]
; 2020		BYTE RD=620	;READ BYTE DATA TO AR & ARX
; 2021		BYTE RD PC=621	;READ BYTE DATA TO AR & ARX WITH PC SECTION
; 2022		BYTE RPW=760	;Read byte data to AR, ARX, write test, pause [312]
; 2023		BYTE IND=610	;INDIRECT AT BYTE EA CALC TIME
; 2024		PUSH=041	;STORE TO STACK
; 2025		POP AR=421	;READ FROM STACK TO AR
; 2026		POP ARX=221	;READ FROM STACK TO ARX
; 2027		POP AR-ARX=621	;POP TO BOTH
; 2028		WRITE(E)=042
; 2029		LD AR(EA)=402	;LOAD AR GLOBAL/LOCAL AS IN EA
; 2030		LD AR+WR=440	;LOAD AR, TEST WRITABILITY
; 2031		LD ARX+WR=240	;LOAD ARX, TEST WRITABILITY
; 2032	.ENDIF/MODEL.B
; 2033	
; 2034	SP MEM/=<75:83>		;ENABLED BY SPEC/SP MEM CYCLE
; 2035		FETCH=400	;LOAD IR WHEN DATA ARRIVES (MCL5)
; 2036		USER=200	;FORCE USER OR UPT (MCL2)
; 2037		EXEC=100	;FORCE EXEC OR EPT (MCL3)
; 2038		SEC 0=40	;CLEAR VMAX (MCL4)
; 2039		UPT EN=20	;UPT IF USER EN (MCL3)
; 2040		EPT EN=10	;EPT IF NOT USER EN (MCL3)
; 2041		CACHE INH=2	; (MCL6)
; 2042		UNCSH+UNPAGE=103;UNCACHED AND UNPAGED
; 2043		UNPAGED+CACHED=101	;physical reference with cache enabled.
;;2044	.IFNOT/MULTI
;;2045		UNPAGED=101	; (MCL6)
;;2046		EPT=111
;;2047		EPT CACHE=111	;[260]
;;2048		EPT FETCH=511
;;2049		UPT=221
;;2050		UPT FETCH=621
;;2051		PT=31
;;2052		PT FETCH=431
; 2053	.IF/MULTI
; 2054		UNPAGED=103	; (MCL6)
; 2055		EPT=113
; 2056		EPT CACHE=111	;[260]
; 2057		EPT FETCH=513
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 16-1
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 2058		UPT=223
; 2059		UPT FETCH=623
; 2060		PT=33
; 2061		PT FETCH=433
; 2062	.ENDIF/MULTI
; 2063	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 17
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 2064	;MBOX CONTROLS
; 2065	
; 2066	MREG FNC/=<75:83>	;ENABLED BY MEM/REG FUNC (APR6)
; 2067		SBUS DIAG=407	;PERFORM SBUS DIAGNOSTIC CYCLE
; 2068		READ UBR=502	;ASK MBOX TO LOAD UBR INTO EBUS REG
; 2069		READ EBR=503	;PUT EBR INTO EBUS REG
; 2070		READ ERA=504
; 2071		WR REFILL RAM=505	;DISGUISED AS A "READ REG" FUNCTION
; 2072	.IF/MODEL.B		;THIS GOT CHANGED IN THE GENERAL SPEEDUP (APR6)
; 2073		LOAD CCA=606	;START A SWEEP
;;2074	.IFNOT/MODEL.B		;HERE IS WHAT IT USED TO BE
;;2075		LOAD CCA=601	;START A SWEEP
; 2076	.ENDIF/MODEL.B
; 2077		LOAD UBR=602	;SETUP UBR FROM VMA
; 2078		LOAD EBR=603	;SETUP EBR FROM VMA
; 2079		MAP=140		;GET PHYS ADDR CORRESPONDING TO VMA (MCL6)
; 2080	MBOX CTL/=<75:83>	;ENABLED BY COND/MBOX CTL (APR5)
; 2081		SET PAGE FAIL=200
; 2082		SET IO PF ERR=100
; 2083		CLR PT LINE(NK)=61,,1;[333] Clear valid if no Keep bit set
; 2084		PT DIR CLR(NK)=41;Enable clear of PT DIR for non keep entries
; 2085		CLR PT LINE=21,,1;CLEAR VALID FOR 8 ENTRIES
; 2086		PT DIR WR=20,1	;WRITE PAGE TABLE DIRECTORY
; 2087		PT WR=10,1	;WRITE PAGE TABLE ENTRY SELECTED BY VMA
; 2088		PT DIR CLR=1	;SELECT FOR CLEARING PT DIR (PAG3)
; 2089		NORMAL=0	;RESET PT WR SELECTION
; 2090	MTR CTL/=<81:83>	;FUNCTION DECODING FOR METERS (MTR3)
; 2091		CLR TIME=0		; USUALLY USED WITH DIAG FUNC
; 2092		CLR PERF=1
; 2093		CLR E CNT=2
; 2094		CLR M CNT=3
; 2095		LD PA LH=4
; 2096		LD PA RH=5
; 2097		CONO MTR=6
; 2098		CONO TIM=7
; 2099	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 18
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			CONTROL RAM DEFINITIONS -- MAGIC NUMBER FIELD		

; 2100	;I/O FUNCTIONS
; 2101	
; 2102	EBUS CTL/=<75:83>	;ENABLED BY COND/EBUS CTL (APR3)
; 2103		GRAB EEBUS=400	;"EBUS RETURN" TAKES ECL EBUS FOR EBOX
; 2104		REQ EBUS=200
; 2105		REL EBUS=100	; (CON3)
; 2106		EBUS DEMAND=60	;ASSERT DEMAND, KEEP CS, FUNC
; 2107		EBUS NODEMAND=20;DROP DEMAND, KEEP CS, FUNC
; 2108	;	CTL_IR=10	;SELECT F01 & F02 FROM IR
; 2109	;	DISABLE CS=4	;TURN OFF CONTROLLER SELECT
; 2110	;	DATAIO=2	;0 FOR CONI/O
; 2111	;	INPUT=1		;0 FOR OUTPUT
; 2112		IO INIT=30	;ENABLE IR3-9 TO EBUS CONTROLLER SELECT,
; 2113				; IR10-12 (DECODED) TO FUNCTION
; 2114				; AND AR ONTO EBUS IF FUNCTION IS OUTPUT
; 2115		DATAO=26	;0'S TO CS, DATAO TO FCN, AND AR TO EBUS
; 2116		DATAI=27	;0'S TO CS, DATAI TO FCN
; 2117		REL EEBUS=0	;LEGGO
; 2118	DIAG FUNC/=<75:83>	;ENABLED BY COND/DIAG FUNC (CTL3)
; 2119		.5 USEC=400,3		;STRETCH CLOCK TO LET EBUS SETTLE (CON?)
; 2120		LD PA LEFT=404,3	;LH PERF ANAL CONTROLS FROM RH (MTR)
; 2121		LD PA RIGHT=405,3	;RH PA CONTROLS FROM RH (MTR)
; 2122		CONO MTR=406,3		;ACCOUNTING CONTROLS (MTR)
; 2123		CONO TIM=407,3		;INTERVAL TIMER CONTROLS (MTR)
; 2124		CONO APR=414,3		; (CON3)
; 2125		CONO PI=415,3		; (CON3)
; 2126		CONO PAG=416,3		;CACHE & PAGING CTL (CON3)
; 2127		DATAO APR=417,3		;ADDRESS BREAK (CON3)
; 2128		DATAO PAG=620,3		;AC BLOCKS & PREV CONTXT (CON3)
; 2129		LD AC BLKS=425,3	;FORCE LOADING AC BLOCKS
; 2130		LD PCS+CWSX=426,3	;FORCE LOADING PREV CONTXT SEC, CWSX
; 2131		CONI PI(R)=500,3	;PI HOLD & ACTIVE TO LH (PI)
; 2132		CONI PI(L)=501,3	;PI GEN TO LH (PI)
; 2133		CONI APR(R)=510,3	;APR INTERRUPT & PIA TO LH (APR6)
; 2134		RD TIME=510,3		;TIME BASE TO RH (MTR5)
; 2135		DATAI PAG(L)=511,3	;AC BLOCKS, PREV CONTXT TO LH (APR6)
; 2136		RD PERF CNT=511,3	;PERFORMANCE COUNT TO RH (MTR5)
; 2137		CONI APR(L)=512,3	;APR INTERRUPT ENABLES TO LH (APR6)
; 2138		RD EBOX CNT=512,3	;EBOX COUNT TO RH (MTR5)
; 2139		DATAI APR=513,3		;ADDR BREAK CONDITIONS TO LH (APR6)
; 2140		RD CACHE CNT=513,3	;CACHE COUNT TO RH (MTR5)
; 2141		RD INTRVL=514,3		;INTERVAL TIMER TO RH (MTR5)
; 2142		RD PERIOD=515,3		;PERIOD REGISTER TO RH (MTR5)
; 2143		CONI MTR=516,3		;CONTROLS & PIA TO RH (MTR5)
; 2144		RD MTR REQ=517,3	;ENCODED UPDATE REQUEST TO 20-22 (MTR5)
; 2145		CONI PI(PAR)=530,3	;WRITE EVEN PARITY ENABLES TO RH (CON1)
; 2146		CONI PAG=531,3		;CACHE & TRAP CTL TO RH (CON1)
; 2147		RD EBUS REG=567,3	;EBUS REGISTER IN MBOX (MBZ1 & MBC1)
; 2148	
; 2149	PARITY/=0,0,0,P		;USE ANY AVAILABLE FIELD FOR PARITY
; 2150	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 19
; DEFINE.MIC[10,5351]	23:19 23-Nov-83			DISPATCH RAM DEFINITIONS				

; 2151	.TOC	"DISPATCH RAM DEFINITIONS"
; 2152	;FIELDS ARE ARRANGED FOR EASY READING, NOT COMPACTNESS
; 2153	
; 2154		.DCODE
; 2155	A/=<0:2>		;OPERAND FETCH MODE
; 2156		IMMED=0		;IMMEDIATE
; 2157		IMMED-PF=1	;IMMEDIATE, START PREFETCH
; 2158	.IF/MODEL.B
; 2159		ADDR=2		;FULL EFFECTIVE ADDRESS
; 2160	.ENDIF/MODEL.B
; 2161		WR-TST=3	;TEST WRITABILITY
; 2162		READ=4		;READ ONLY
; 2163		READ-PF=5	;READ, THEN PREFETCH
; 2164		RD-WR=6		;READ WRITE (SEPARATE CYCLES)
; 2165		RD-P-WR=7	;READ PAUSE WRITE
; 2166	
; 2167	B/=<3:5>		;STORE RESULTS AT--
; 2168		DBL AC=1	;DOUBLE RESULT TO AC & AC+1
; 2169		DBL BOTH=2	;MULB, DIVB, ETC
; 2170		SELF=3		;SELF MODE INSTRUCTIONS
; 2171		AC=5		;SINGLE RESULT TO AC, PREFETCH IN PROG
; 2172		MEM=6		;RESULT TO MEMORY
; 2173		BOTH=7		;SINGLE RESULT TO MEMORY AND AC
; 2174	
; 2175		SJC-=3		;SKIP JUMP COMPARE CONTROLS
; 2176		SJCL=2
; 2177		SJCE=1
; 2178		SJCLE=0
; 2179		SJCA=7
; 2180		SJCGE=6
; 2181		SJCN=5
; 2182		SJCG=4
; 2183	B0/=<3:3>		;INVERTS VARIOUS TEST, SKIP, AND JUMP CONTROLS
; 2184		CRY0(0)=0	;TEST TST CAUSES PC SKIP IF CRY0=0
; 2185		CRY0(1)=1	; SAME IF CRY0=1
; 2186	B1-2/=<4:5>		;FLOATING RESULT STORE MODE
; 2187		AC=1	;RESULT TO AC
; 2188		MEM=2	;RESULT JUST TO MEM
; 2189		BOTH=3	;RESULT TO BOTH
; 2190	
; 2191	PARITY/=<11:11>P
; 2192	
; 2193	J/=<14:23>		;EXECUTOR (40&20-BITS ALWAYS 0)
; 2194		.UCODE
; 2195	
						; 2196	.BIN
						; 2197	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--Miscellaneous and A			

						; 2198	.TOC	"CRAM Macros--Miscellaneous and A"
; 2199	.NOBIN
; 2200	;
; 2201	;	All the CRAM macros have been alphabetized for easy reference.  We have
; 2202	;	defined "_" to be alphabetically lower than the alphabet (although its
; 2203	;	ASCII representation makes it higher) so that macros such as AR_AR+1
; 2204	;	will precede ARX_AR+1, for example (this seems more intuitive).
; 2205	;
; 2206	[]_[]*[]	"@1/AD, ADA/@2, ADB/@3"
; 2207	[]_[]*FM[]	"@3, ADA/@2, ADB/FM, @1/AD"
; 2208	[]_[]-FM[]	"@3, ADA/@2, ADB/FM, @1/AD, AD/A-B"
; 2209	[]_#[]		"@1_#,#/@2"
; 2210	[]_ADA[]	"@1/AD, ADA/@2, AD/A"
; 2211	[]_ADB[]	"@1/AD, ADA EN/0S, ADB/@2, AD/B"
; 2212	[]_FM[]		"@1/AD, ADA EN/0S, ADB/FM, @2, AD/B"
; 2213	
; 2214	(AR+ARX+MQ)*.25	"ADA/AR,AD/A,AR/AD*.25,ARX/ADX*.25,(MQ)*.25"
; 2215	(AR+ARX+MQ)*2	"ADA/AR,AD/A,AR/AD*2,ARX/ADX*2,(MQ)*2"
; 2216	(MQ)*.25	"COND/REG CTL,MQ/MQM SEL,MQ CTL/MQ*.25"
; 2217	(MQ)*2		"COND/REG CTL,MQ/MQ SEL,MQ CTL/MQ*2"
; 2218	
; 2219	.IF/MODEL.B
; 2220	A INDRCT	"MEM/EA CALC,EA CALC/A IND,VMA/LOAD"
; 2221	A READ		"VMA/PC+1,DISP/DRAM A RD,MEM/A RD,#/300,J/0"
;;2222	.IFNOT/MODEL.B
;;2223	A INDRCT	"MEM/A IND,VMA/LOAD"
;;2224	A READ		"VMA/PC+1,DISP/DRAM A RD,MEM/A RD,#/0,J/0"
; 2225	.ENDIF/MODEL.B
; 2226	ABORT INSTR	"COND/SPEC INSTR,SPEC INSTR/INSTR ABORT"
; 2227	AC0		"FMADR/AC0"
; 2228	AC0_AR		"FMADR/AC0,COND/FM WRITE"
; 2229	AC1_AR		"FMADR/AC1,COND/FM WRITE"
; 2230	AC2_AR		"FMADR/AC2,COND/FM WRITE"
; 2231	AC3_AR		"FMADR/AC3,COND/FM WRITE"
; 2232	.IF/MODEL.B
; 2233	AC4		"FMADR/AC+#,AC-OP/AC+#,AC#/4"
;;2234	.IFNOT/MODEL.B
;;2235	AC4		"FMADR/AC4"
; 2236	.ENDIF/MODEL.B
; 2237	AC4_AR		"AC4,COND/FM WRITE"
; 2238	.IF/MODEL.B
; 2239	AC5		"FMADR/AC+#,AC-OP/AC+#,AC#/5"
;;2240	.IFNOT/MODEL.B
;;2241	AC5		"FMADR/AC5"
; 2242	.ENDIF/MODEL.B
; 2243	AC5_AR		"AC5,COND/FM WRITE"
; 2244	AD FLAGS	"COND/AD FLAGS"
; 2245	AD LONG		"SPEC/AD LONG"
; 2246	ADMSK		"R15"		;23 ONES
; 2247	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--AR						

; 2248	.TOC	"CRAM Macros--AR"
; 2249	
; 2250	AR_[] AND FM[]	"ADA/@1,ADB/FM,@2,AD/AND,AR/AD"
; 2251	
; 2252	AR_(AR+2BR)*.25	"ADA/AR,ADB/BR*2,AD/A+B,AR/AD*.25"
; 2253	AR_(AR+BR)*.25	"ADA/AR,ADB/BR,AD/A+B,AR/AD*.25"
; 2254	AR_(AR-2BR)*.25	"ADA/AR,ADB/BR*2,AD/A-B,AR/AD*.25"
; 2255	AR_(AR-BR)*.25	"ADA/AR,ADB/BR,AD/A-B,AR/AD*.25"
; 2256	AR_(ARX OR AR*4)*.25	"ADA/ARX,ADB/AR*4,AD/OR,AR/AD*.25"
; 2257	AR_-AC0		"FMADR/AC0,ADB/FM,ADA EN/0S,AD/A-B,AR/AD"
; 2258	AR_-AR		"ADA EN/0S,ADB/AR*4,AD/A-B,AR/AD*.25"
; 2259	AR_-AR LONG	"GEN -AR LONG,AR_AD*.25 LONG"
; 2260	AR_-BR		"ADB/BR,ADA EN/0S,AD/A-B,AR/AD"
; 2261	AR_-BR LONG	"ADA EN/0S,ADB/BR,AD/A-B,AR/AD,ARX/ADX,SPEC/AD LONG"
; 2262	AR_-BR*2 LONG	"ADA EN/0S,ADB/BR*2,AD/A-B,AR/AD,ARX/ADX,SPEC/AD LONG"
; 2263	AR_-BRX		"ADB/BR,ADA EN/0S,AD/A-B,AR/ADX"
; 2264	AR_-DLEN	"DLEN,ADB/FM,ADA EN/0S,AD/A-B,AR/AD"
; 2265	AR_-SLEN	"SLEN,ADB/FM,ADA EN/0S,AD/A-B,AR/AD"
; 2266	AR_0.C		"COND/ARL IND,CLR/AR"
; 2267	AR_0.M		"MEM/ARL IND,CLR/AR"
; 2268	AR_0.S		"SPEC/ARL IND,CLR/AR"
; 2269	AR_0S		"AD/0S,AR/AD"
; 2270	AR_1		"ADA EN/0S,AD/A+1,AR/AD"
; 2271	AR_1 LONG	"ADA EN/0S,AD/A+1,AR/AD*.25,ARX/ADX"
; 2272	AR_1S		"AD/1S,AR/AD"
; 2273	AR_2		"ADA EN/0S,AD/A+1,AR/AD*2"
; 2274	AR_2(AR*BR)	"ADA/AR,ADB/BR,AR/AD*2"
; 2275	AR_2(AR+1)	"ADA/AR,AD/A+1,AR/AD*2"
; 2276	AR_2(AR+BR)	"AR_2(AR*BR),AD/A+B"
; 2277	AR_2(AR+BR) LONG "AR_2(AR*BR),AD/A+B,ARX/ADX*2,SPEC/AD LONG"
; 2278	AR_2(AR-BR)	"AR_2(AR*BR),AD/A-B"
; 2279	
; 2280	AR_AC0		"FMADR/AC0,ADB/FM,AD/B,AR/AD"
; 2281	AR_AC0 COMP	"FMADR/AC0,ADB/FM,AD/SETCB,AR/AD"
; 2282	AR_AC0+1	"ADA EN/0S,ADB/FM,FMADR/AC0,AD/A+B+1,AR/AD"
; 2283	AR_AC1		"FMADR/AC1,ADB/FM,AD/B,AR/AD"
; 2284	AR_AC1 COMP	"FMADR/AC1,ADB/FM,AD/SETCB,AR/AD"
; 2285	AR_AC1*2	"FMADR/AC1,ADB/FM,AD/B,AR/AD*2"
; 2286	AR_AC2		"FMADR/AC2,ADB/FM,AD/B,AR/AD"
; 2287	AR_AC3		"FMADR/AC3,ADB/FM,AD/B,AR/AD"
; 2288	AR_AC3*2	"FMADR/AC3,ADB/FM,AD/B,AR/AD*2"
; 2289	AR_AC4		"AC4,ADB/FM,AD/B,AR/AD"
; 2290	AR_AD*.25 LONG	"AR/AD*.25,ARX/ADX*.25,SPEC/AD LONG"
; 2291	AR_ADMSK AND VMA HELD	"COND/SEL VMA,ADA/PC,ADB/FM,ADMSK,AD/AND,AR/AD"
; 2292	
; 2293	AR_AR AND ADMSK	 "ADMSK,ADB/FM,ADA/AR,AD/AND,AR/AD"
; 2294	.IF/KLPAGE
; 2295	AR_AR AND CSMSK	"CSMSK,ADB/FM,ADA/AR,AD/AND,AR/AD"
; 2296	AR_AR OR PUR	"PUR,ADB/FM,ADA/AR,AD/OR,AR/AD"
; 2297	.ENDIF/KLPAGE
; 2298	AR_AR SWAP	"SH/AR SWAP,AR/SH"
; 2299	
; 2300	AR_AR*.25	"ADA/AR,AD/A,AR/AD*.25"
; 2301	AR_AR*.25 LONG	"ADA/AR,AD/A,AR/AD*.25,ARX/ADX*.25"
; 2302	AR_AR*.5	"ADA/AR,AD/A*2,AR/AD*.25"
; 2303	AR_AR*.5 LONG	"ADA/AR,AD/A*2,SPEC/AD LONG,AR/AD*.25,ARX/ADX*.25"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2-1
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--AR						

; 2304	AR_AR*1.25 LONG	"ADA/AR,ADB/AR*4,AD/A+B,AR_AD*.25 LONG"
; 2305	AR_AR*10	"ADA/AR,ADB/AR*4,AD/A+B,AR/AD*2"
; 2306	AR_AR*10 LONG	"ADA/AR,ADB/AR*4,AD/A+B,AR/AD*2,ARX/ADX*2,SPEC/AD LONG"
; 2307	AR_AR*2		"ADA/AR,AD/A,AR/AD*2"
; 2308	AR_AR*2 LONG	"ADA/AR,AD/A,AR/AD*2,ARX/ADX*2"
; 2309	AR_AR*4		"ADB/AR*4,AD/B,AR/AD"
; 2310	AR_AR*4 LONG	"ADB/AR*4,AD/B,AR/AD,ARX/ADX"
; 2311	AR_AR*5 LONG	"ADA/AR,ADB/AR*4,AD/A+B,AR/AD,ARX/ADX,SPEC/AD LONG"
; 2312	AR_AR*8		"ADB/AR*4,AD/B,AR/AD*2"
; 2313	AR_AR*8 LONG	"ADB/AR*4,AD/B,AR/AD*2,ARX/ADX*2"
; 2314	AR_AR*AC0	"FMADR/AC0,ADB/FM,ADA/AR,AR/AD"	;GENERAL BINARY OPERATION
; 2315	AR_AR*AC1	"FMADR/AC1,ADB/FM,ADA/AR,AR/AD"
; 2316	AR_AR*BR	"ADA/AR,ADB/BR,AR/AD"
; 2317	AR_AR*EXPMSK	"EXPMSK,ADB/FM,ADA/AR,AR/AD"	;[224]
; 2318	AR_AR*MSK	"MSK,ADB/FM,ADA/AR,AR/AD"
; 2319	AR_AR*SFLGS	"SFLGS,ADB/FM,ADA/AR,AR/AD"
; 2320	AR_AR*SLEN	"SLEN,ADB/FM,ADA/AR,AR/AD"
; 2321	AR_AR*T0	"T0,ADB/FM,ADA/AR,AR/AD"
; 2322	
; 2323	AR_AR+1		"ADA/AR,AD/A+1,AR/AD"
; 2324	AR_AR+1 LONG	"AR_AR+1,ARX/ADX,SPEC/AD LONG"
; 2325	AR_AR+1-AR0	"ADA/AR,AD/A+1,AR/AD,SPEC/XCRY AR0"
; 2326	AR_AR+BR	"ADA/AR,ADB/BR,AD/A+B,AR/AD"
; 2327	AR_AR+BR LONG	"AR_AR+BR,ARX/ADX,SPEC/AD LONG"
; 2328	AR_AR+E1	"E1,ADB/FM,ADA/AR,AD/A+B,AR/AD"
; 2329	.IF/KLPAGE
; 2330	AR_AR+SBR	"SBR,ADB/FM,ADA/AR,AD/A+B,AR/AD"
; 2331	.ENDIF/KLPAGE
; 2332	AR_AR+T0	"T0,ADB/FM,ADA/AR,AD/A+B,AR/AD"
; 2333	AR_AR+T1	"T1,ADB/FM,ADA/AR,AD/A+B,AR/AD"
;;2334	.IF/TRXDEF
;;2335	AR_AR+TRB	"TRB,ADB/FM,ADA/AR,AD/A+B,AR/AD"
;;2336	AR_AR+TRX	"TRX,ADB/FM,ADA/AR,AD/A+B,AR/AD"
; 2337	.ENDIF/TRXDEF
; 2338	AR_AR+XR	"GEN AR+XR,AR/AD"
; 2339	
; 2340	AR_AR-1		"ADA/AR,AD/A-1,AR/AD"
; 2341	AR_AR-BR	"ADA/AR,ADB/BR,AD/A-B,AR/AD"
; 2342	AR_AR-BR LONG	"AR_AR-BR,ARX/ADX,SPEC/AD LONG"
; 2343	AR_AR-BR-1	"GEN AR*BR,AD/A-B-1,AR/AD"
; 2344	AR_AR-T0	"T0,ADB/FM,ADA/AR,AD/A-B,AR/AD"
; 2345	
; 2346	AR_ARX		"SH/ARX,AR/SH"
; 2347	AR_ARX (AD)	"ADA/ARX,AD/A,AR/AD"
; 2348	AR_ARX (ADX)	"ADA EN/EN,AD/A,AR/ADX"
; 2349	AR_ARX AND ADMSK "ADMSK,ADB/FM,ADA/ARX,AD/AND,AR/AD"
; 2350	AR_ARX ANDC ADMSK "ADMSK,ADB/FM,ADA/ARX,AD/ANDCB,AR/AD"
; 2351	AR_ARX COMP	"ADA EN/EN,AD/SETCA,AR/ADX"
; 2352	.IF/KLPAGE
; 2353	AR_ARX OR PUR	"PUR,ADB/FM,ADA/ARX,AD/OR,AR/AD"
; 2354	.ENDIF/KLPAGE
; 2355	AR_ARX*.25	"ADA/ARX,AD/A,AR/AD*.25"
; 2356	AR_ARX*.25-AR-1	"ADB/AR*4,ADA/ARX,AD/A-B-1,AR/AD*.25"
; 2357	AR_ARX*2	"ADA/ARX,AD/A,AR/AD*2"
; 2358	AR_ARX*4	"ADB/AR*4,AD/B,AR/ADX"
; 2359	AR_ARX*4 COMP	"ADB/AR*4,AD/SETCB,AR/ADX"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2-2
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--AR						

; 2360	AR_ARX*AC1	"FMADR/AC1,ADB/FM,ADA/ARX,AR/AD"
; 2361	AR_ARX*BR	"ADA/ARX,ADB/BR,AR/AD"
; 2362	AR_ARX*BRX	"ADA/AR,ADB/BR,AR/ADX"
; 2363	AR_ARX*E1	"E1,ADB/FM,ADA/ARX,AR/AD"
; 2364	AR_ARX+1 (AD)	"ADA/ARX,AD/A+1,AR/AD"
; 2365	AR_ARX+AR*4	"ADA/ARX,ADB/AR*4,AD/A+B,AR/AD"
; 2366	AR_ARX+BR	"ADA/ARX,ADB/BR,AD/A+B,AR/AD"
; 2367	AR_ARX+XR	"GEN ARX+XR,AR/AD"
; 2368	AR_ARX-1	"ADA EN/EN,AD/A-1,AR/ADX"
; 2369	AR_ARX-BR	"ADA/ARX,ADB/BR,AD/A-B,AR/AD"
; 2370	
; 2371	AR_BR		"ADB/BR,AD/B,AR/AD"
; 2372	AR_BR COMP	"ADB/BR,AD/SETCB,AR/AD"
; 2373	AR_BR COMP LONG	"ADB/BR,AD/SETCB,AR/AD,ARX/ADX"
; 2374	AR_BR LONG	"ADB/BR,AD/B,AR/AD,ARX/ADX"
; 2375	AR_BR OR ARX	"ADA/ARX,ADB/BR,AD/OR,AR/AD"
; 2376	AR_BR*.5	"ADB/BR*2,AD/B,AR/AD*.25"
; 2377	AR_BR*.5 LONG	"ADB/BR*2,AD/B,AR/AD*.25,ARX/ADX*.25"
; 2378	AR_BR*2		"ADB/BR*2,AD/B,AR/AD"
; 2379	AR_BR*2 LONG	"ADB/BR*2,AD/B,AR/AD,ARX/ADX"
; 2380	AR_BR*4		"ADB/BR*2,AD/B,AR/AD*2"			;[230]
; 2381	AR_BR*4 LONG	"ADB/BR*2,AD/B,AR/AD*2,ARX/ADX*2"
; 2382	AR_BR+1		"ADB/BR,ADA EN/0S,AD/A+B+1,AR/AD"
; 2383	AR_BR+1 LONG	"ADA EN/0S,ADB/BR,AD/A+B+1,AR/AD,ARX/ADX,SPEC/AD LONG"
; 2384	AR_BRX		"ADB/BR,AD/B,AR/ADX"
; 2385	AR_BRX+1	"ADA EN/0S,ADB/BR,AD/A+B+1,AR/ADX"
; 2386	
; 2387	AR_CACHE CNT	"DIAG IN,DIAG FUNC/RD CACHE CNT"
; 2388	AR_DLEN		"DLEN,AR_FM"
; 2389	AR_DLEN COMP	"DLEN,ADB/FM,AD/SETCB,AR/AD"
; 2390	AR_DLEN+1	"DLEN,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2391	AR_DSTP		"DSTP,AR_FM"
; 2392	AR_DSTP+1	"DSTP,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2393	AR_DSTP2	"DSTP2,AR_FM"
; 2394	AR_DSTP2+1	"DSTP2,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2395	AR_DSTW		"DSTW,AR_FM"
; 2396	AR_E0		"E0,AR_FM"
; 2397	AR_E1		"E1,AR_FM"
; 2398	AR_EBOX CNT	"DIAG IN,DIAG FUNC/RD EBOX CNT"
; 2399	AR_EBUS		"AR/EBUS,TIME/5T"
; 2400	AR_EBUS REG	"DIAG IN,DIAG FUNC/RD EBUS REG"
; 2401	AR_FILL		"FILL,AR_FM"
; 2402	AR_FM		"ADB/FM,AD/B,AR/AD"
; 2403	AR_FM[]		"AR/AD, AD/B, ADB/FM, @1"	;[274]
; 2404	.IF/MODEL.B
; 2405	AR_FM(#)	"FMADR/AC+#,AC-OP/AC+#,ADB/FM,AD/B,AR/AD"
; 2406	.ENDIF/MODEL.B
; 2407	AR_FM(VMA)	"FMADR/VMA,ADB/FM,AD/B,AR/AD"
; 2408	AR_INTERVAL	"DIAG IN,DIAG FUNC/RD INTRVL"
; 2409	
; 2410	AR_MEM		"MEM/MB WAIT,FMADR/VMA,ADB/FM,AD/B"
; 2411	AR_MQ		"ADA/MQ,AD/A,AR/AD"
; 2412	AR_MQ COMP	"ADA/MQ,AD/SETCA,AR/AD"
; 2413	AR_MQ*.25	"ADA/MQ,AD/A,AR/AD*.25"
; 2414	AR_MQ*2		"ADA/MQ,AD/A,AR/AD*2"
; 2415	AR_MQ*4		"ADA/MQ,AD/A*2,AR/AD*2"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2-3
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--AR						

; 2416	AR_MQ*AC1	"FMADR/AC1,ADB/FM,ADA/MQ,AR/AD"
; 2417	AR_MQ*AC2	"FMADR/AC2,ADB/FM,ADA/MQ,AR/AD"
; 2418	AR_MQ*AC3	"FMADR/AC3,ADB/FM,ADA/MQ,AR/AD"
; 2419	AR_MQ+1		"ADA/MQ,AD/A+1,AR/AD"
; 2420	AR_MQ+AC0	"FMADR/AC0,ADB/FM,ADA/MQ,AD/A+B,AR/AD"
; 2421	AR_MQ-1		"ADA/MQ,AD/A-1,AR/AD"
; 2422	AR_MQ-BR	"ADA/MQ,ADB/BR,AD/A-B,AR/AD"
; 2423	AR_MTR REQ	"DIAG IN,DIAG FUNC/RD MTR REQ"
; 2424	AR_PC		"ADA/PC,AD/A,AR/AD"
; 2425	AR_PC FLAGS	"ADMSK,ADB/FM,ADA/PC,AD/ANDCB,AR/AD"
; 2426	AR_PC+1		"ADA/PC,AD/A+1,AR/AD,SPEC/SAVE FLAGS"
; 2427	AR_PERF CNT	"DIAG IN,DIAG FUNC/RD PERF CNT"
; 2428	AR_PERIOD	"DIAG IN,DIAG FUNC/RD PERIOD"
; 2429	.IF/KLPAGE
; 2430	AR_PUR+AR0	"PUR,ADB/FM,ADA EN/0S,AD/A+B,SPEC/XCRY AR0,AR/AD"
; 2431	.ENDIF/KLPAGE
; 2432	
; 2433	AR_SERIAL	"AR/ARMM,COND/REG CTL,AR CTL/ARR LOAD"
; 2434	AR_SFLGS	"SFLGS,AR_FM"
; 2435	AR_SHIFT	"SH/SHIFT AR!ARX,AR/SH"
; 2436	AR_SIGN		"AD/XCRY-1,SPEC/XCRY AR0,AR/AD"
; 2437	AR_SLEN		"SLEN,AR_FM"
; 2438	AR_SLEN COMP	"SLEN,ADB/FM,AD/SETCB,AR/AD"
; 2439	AR_SLEN+1	"SLEN,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2440	AR_SRCP		"SRCP,AR_FM"
; 2441	AR_SRCP+1	"SRCP,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2442	AR_SRCP2	"SRCP2,AR_FM"
; 2443	AR_SRCP2+1	"SRCP2,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2444	AR_SV.AR	"SV.AR,AR_FM"
; 2445	.IF/KLPAGE
; 2446	AR_SV.ARX	"SV.ARX,AR_FM"
; 2447	AR_SV.BR	"SV.BR,AR_FM"
; 2448	AR_SV.PFW	"SV.PFW,AR_FM"
; 2449	AR_SV.SC	"SV.SC,AR_FM"
; 2450	AR_SV.VMA	"SV.VMA,AR_FM"
; 2451	.ENDIF/KLPAGE
; 2452	AR_SWD		"SWD,AR_FM"
; 2453	
; 2454	AR_T0		"T0,AR_FM"
; 2455	AR_T1		"T1,AR_FM"
; 2456	AR_T2		"T2,AR_FM"
; 2457	AR_TIME BASE	"DIAG IN,DIAG FUNC/RD TIME"
;;2458	.IF/TRXDEF
;;2459	AR_TRB		"TRB,AR_FM"
;;2460	AR_TRX		"TRX,AR_FM"
;;2461	AR_TRX+1	"TRX,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
;;2462	AR_TRX1		"TRX1,AR_FM"
;;2463	AR_TRX2		"TRX2,AR_FM"
;;2464	AR_TRX2+1	"TRX2,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
;;2465	AR_TRX3		"TRX3,AR_FM"
;;2466	AR_TRX3+1	"TRX3,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD"
; 2467	.ENDIF/TRXDEF
; 2468	AR_VMA HELD	"COND/SEL VMA,AR_PC"
; 2469	AR_XR		"FMADR/XR,ADB/FM,AD/B,AR/AD"
; 2470	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--AR Miscellaneous, ARL, and ARR		

; 2471	.TOC	"CRAM Macros--AR Miscellaneous, ARL, and ARR"
; 2472	
; 2473	AR+ARX+MQ_0.M	"MEM/ARL IND,CLR/AR+ARX+MQ"
; 2474	AR+MQ_0.M	"MEM/ARL IND,CLR/AR+MQ"
; 2475	AR+MQ_0.S	"SPEC/ARL IND,CLR/AR+MQ"
; 2476	
; 2477	AR0-3 DISP	"SH/AR,DISP/SH0-3"
; 2478	AR0-8_#		"COND/LD AR0-8,AR/ARMM,ARMM/#"
; 2479	AR0-8_# AND AR0-8 "SCADA/#,SCADB/AR0-8,SCAD/AND,AR0-8_SCAD#"
; 2480	AR0-8_# OR AR0-8 "SCADA/#,SCADB/AR0-8,SCAD/OR,AR0-8_SCAD#"
; 2481	AR0-8_#+SC	"SCADA/#,SCADB/SC,SCAD/A+B,AR0-8_SCAD#"
; 2482	AR0-8_-SC-1	"SCADA EN/0S,SCADB/SC,SCAD/A-B-1,AR0-8_SCAD"
; 2483	AR0-8_FE	"SCADA/FE,SCAD/A,AR0-8_SCAD"
; 2484	AR0-8_FE OR #	"SCADA/FE,SCADB/#,SCAD/OR,AR0-8_SCAD#"
; 2485	AR0-8_FE OR SC	"SCADA/FE,SCADB/SC,SCAD/OR,AR0-8_SCAD.M"
; 2486	AR0-8_FE#	"SCADA/FE,SCAD/A,ARMM/SCAD EXP,AR/ARMM,COND/LD AR0-8"
; 2487	AR0-8_FE+#	"SCADA/FE,SCADB/#,SCAD/A+B,AR0-8_SCAD#"
; 2488	AR0-8_FE+1	"SCADA/FE,SCAD/A+1,AR0-8_SCAD"
; 2489	AR0-8_FE+SC	"SCADA/FE,SCADB/SC,SCAD/A+B,AR0-8_SCAD.M"
; 2490	AR0-8_FE-SC	"SCADA/FE,SCADB/SC,SCAD/A-B,AR0-8_SCAD.M"
; 2491	AR0-8_FE.M	"SCADA/FE,SCAD/A,AR0-8_SCAD.M"
; 2492	AR0-8_FE.R	"GEN FE,AR0-8_SCAD.R"
; 2493	AR0-8_SC	"SCADA EN/0S,SCADB/SC,SCAD/A+B,AR0-8_SCAD"
; 2494	AR0-8_SCAD	"SPEC/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD EXP"
; 2495	AR0-8_SCAD#	"ARMM/SCAD EXP,AR/ARMM,COND/LD AR0-8"
; 2496	AR0-8_SCAD.M	"MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD EXP"
; 2497	AR0-8_SCAD.R	"ARMM/SCAD EXP,AR/ARMM,COND/REG CTL,AR CTL/AR0-8 LOAD"
; 2498	AR12-17_PC SEC	"AR/ARMM,VMAX/PC SEC,COND/LD AR9-17"
; 2499	AR12-17_PREV SEC	"AR/ARMM,VMAX/PREV SEC,COND/LD AR9-17"
; 2500	AR18-21 DISP	"SH/AR SWAP,DISP/SH0-3"
; 2501	
; 2502	ARL_0.C		"COND/ARL IND,CLR/ARL"
; 2503	ARL_0.M		"MEM/ARL IND,CLR/ARL"
; 2504	ARL_0.S		"SPEC/ARL IND,CLR/ARL"
; 2505	ARL_0S		"COND/ARL IND,CLR/ARL"
; 2506	ARL_1.M		"ADA EN/0S,AD/A+1,SPEC/GEN CRY18,MEM/ARL IND,ARL/AD"
; 2507	ARL_1S		"AD/1S,COND/ARL IND,ARL/AD"
; 2508	ARL_1S.M	"AD/1S,MEM/ARL IND,ARL/AD"
; 2509	ARL_AC0		"FMADR/AC0,ADB/FM,AD/B,COND/ARL IND,ARL/AD"
; 2510	ARL_ARL		"COND/ARL IND,ARL/ARL"
; 2511	ARL_ARL.M	"MEM/ARL IND,ARL/ARL"
; 2512	ARL_ARL.S	"SPEC/ARL IND,ARL/ARL"
; 2513	ARL_ARR		"COND/ARL IND,ARL/SH,SH/AR SWAP"
; 2514	ARL_ARR.M	"MEM/ARL IND,ARL/SH,SH/AR SWAP"
; 2515	ARL_ARR.S	"SPEC/ARL IND,ARL/SH,SH/AR SWAP"
; 2516	ARL_ARX (ADX)	"ADA EN/EN,AD/A,MEM/ARL IND,ARL/ADX"
; 2517	ARL_ARXL	"SPEC/ARL IND,SH/ARX,ARL/SH"
; 2518	ARL_ARXL.M	"MEM/ARL IND,SH/ARX,ARL/SH"
; 2519	ARL_BRL		"ADB/BR,AD/B,COND/ARL IND,ARL/AD"
; 2520	ARL_BRL.M	"ADB/BR,AD/B,MEM/ARL IND,ARL/AD"
; 2521	ARL_BRL.S	"ADB/BR,AD/B,SPEC/ARL IND,ARL/AD"
; 2522	ARL_SHIFT	"MEM/ARL IND,SH/SHIFT AR!ARX,ARL/SH"
; 2523	ARL_SIGN	"AD/XCRY-1,SPEC/XCRY AR0,COND/ARL IND,ARL/AD"
; 2524	ARL+ARX+MQ_0.M	"MEM/ARL IND,CLR/ARL+ARX+MQ"
; 2525	ARL+ARX_0.M	"MEM/ARL IND,CLR/ARL+ARX"
; 2526	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3-1
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--AR Miscellaneous, ARL, and ARR		

; 2527	ARR_0.C		"COND/ARL IND,CLR/ARR"
; 2528	ARR_0.M		"MEM/ARL IND,CLR/ARR"
; 2529	ARR_0.S		"SPEC/ARL IND,CLR/ARR"
; 2530	ARR_0S		"AR_0S"
; 2531	ARR_1S		"AR_1S"
; 2532	ARR_AC0		"AR_AC0"
; 2533	ARR_AC0.S	"SPEC/ARL IND,FMADR/AC0,ADB/FM,AD/B,AR/AD"
; 2534	ARR_ARL		"SH/AR SWAP,AR/SH"
; 2535	ARR_ARR		"AR/AR"
; 2536	ARR_BR		"ADB/BR,AD/B,COND/ARL IND,AR/AD"	;[252]
; 2537	ARR_PC+1	"ADA/PC,AD/A+1,AR/AD"
; 2538	ARR+MQ_0.S	"SPEC/ARL IND,CLR/ARR+MQ"
; 2539	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--ARX					

; 2540	.TOC	"CRAM Macros--ARX"
; 2541	
; 2542	ARX_-AC0	"ADA EN/0S,ADB/FM,FMADR/AC0,AD/A-B,ARX/AD"
; 2543	ARX_-BRX	"ADB/BR,ADA EN/0S,AD/A-B,ARX/ADX"
; 2544	ARX_-SLEN	"SLEN,ADB/FM,ADA EN/0S,AD/A-B,ARX/AD"
; 2545	ARX_0.C		"COND/ARL IND,CLR/ARX"
; 2546	ARX_0.M		"MEM/ARL IND,CLR/ARX"
; 2547	ARX_0.S		"SPEC/ARL IND,CLR/ARX"
; 2548	ARX_0S		"AD/0S,ARX/AD"
; 2549	ARX_1		"ADA EN/0S,AD/A+1,ARX/AD"
; 2550	ARX_1B1		"ADA EN/0S,AD/A+1,ARX/ADX*.25"
; 2551	ARX_1B17-1	"ADA EN/0S,AD/A-1,SPEC/GEN CRY18,ARX/AD"
; 2552	ARX_1S		"AD/1S,ARX/AD"
; 2553	ARX_2		"ADA EN/0S,AD/A+1,ARX/ADX*2"
; 2554	
; 2555	ARX_AC0		"FMADR/AC0,ADB/FM,AD/B,ARX/AD"
; 2556	ARX_AC0 COMP	"ADB/FM,FMADR/AC0,AD/SETCB,ARX/AD"
; 2557	ARX_AC0+1	"ADA EN/0S,ADB/FM,FMADR/AC0,AD/A+B+1,ARX/AD"
; 2558	ARX_AC1		"FMADR/AC1,ADB/FM,AD/B,ARX/AD"
; 2559	ARX_AC2		"FMADR/AC2,ADB/FM,AD/B,ARX/AD"
; 2560	ARX_AC3		"FMADR/AC3,ADB/FM,AD/B,ARX/AD"
; 2561	ARX_AC4		"AC4,ADB/FM,AD/B,ARX/AD"
; 2562	
; 2563	ARX_AR		"SH/AR,ARX/SH"
; 2564	ARX_AR (AD)	"ADA/AR,AD/A,ARX/AD"
; 2565	ARX_AR AND ADMSK "ADMSK,ADB/FM,ADA/AR,AD/AND,ARX/AD"
; 2566	ARX_AR ANDCA BR	"ADA/AR,ADB/BR,AD/ANDCA,ARX/AD"
; 2567	ARX_AR SIGN	"AD/XCRY-1,SPEC/XCRY AR0,ARX/AD"
; 2568	ARX_AR SWAP	"SH/AR SWAP,ARX/SH"
; 2569	ARX_AR*4 COMP	"ADB/AR*4,AD/SETCB,ARX/AD"
; 2570	ARX_AR*MSK	"MSK,ADB/FM,ADA/AR,ARX/AD"
; 2571	ARX_AR+1	"ADA/AR,AD/A+1,ARX/AD"
; 2572	.IF/KLPAGE
; 2573	ARX_AR+CBR	"CBR,ADB/FM,ADA/AR,AD/A+B,ARX/AD"
; 2574	.ENDIF/KLPAGE
; 2575	ARX_AR-1	"ADA/AR,AD/A-1,ARX/AD"
; 2576	ARX_AR-BR	"ADA/AR,ADB/BR,AD/A-B,ARX/AD"		;[224]
; 2577	
; 2578	ARX_ARX AND ADMSK "ADMSK,ADB/FM,ADA/ARX,AD/AND,ARX/AD"
; 2579	ARX_ARX ANDC ADMSK "ADMSK,ADB/FM,ADA/ARX,AD/ANDCB,ARX/AD"
; 2580	ARX_ARX*-6	"ADA EN/EN,ADB/AR*4,AD/A-B,ARX/ADX*2"
; 2581	ARX_ARX*.25	"ADA EN/EN,AD/A,ARX/ADX*.25"
; 2582	ARX_ARX*.5	"ADA EN/EN,AD/A*2,ARX/ADX*.25"
; 2583	ARX_ARX*2	"ADA EN/EN,AD/A,ARX/ADX*2"
; 2584	ARX_ARX*2 COMP	"ADA EN/EN,AD/SETCA,ARX/ADX*2"
; 2585	ARX_ARX*4	"ADB/AR*4,AD/B,ARX/ADX"
; 2586	ARX_ARX*4 COMP	"ADB/AR*4,AD/SETCB,ARX/ADX"
; 2587	ARX_ARX*8	"ADB/AR*4,AD/B,ARX/ADX*2"
; 2588	ARX_ARX*BRX	"ADA/AR,ADB/BR,ARX/ADX"
; 2589	ARX_ARX*EXPMSK	"EXPMSK,ADB/FM,ADA/ARX,ARX/AD"		;[224]
; 2590	ARX_ARX+1	"ADA EN/EN,AD/A+1,ARX/ADX"
; 2591	.IF/KLPAGE
; 2592	ARX_ARX+CBR	"CBR,ADB/FM,ADA/ARX,AD/A+B,ARX/AD"
; 2593	.ENDIF/KLPAGE
; 2594	ARX_ARX-1	"ADA EN/EN,AD/A-1,ARX/ADX"
; 2595	ARX_ARX-1 (AD)	"ADA/ARX,AD/A-1,ARX/AD"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4-1
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--ARX					

; 2596	
; 2597	ARX_BR		"ADB/BR,AD/B,ARX/AD"
; 2598	ARX_BR*2	"ADB/BR*2,AD/B,ARX/AD"
; 2599	ARX_BR+1	"ADB/BR,ADA EN/0S,AD/A+B+1,ARX/AD"
; 2600	ARX_BRX		"ADB/BR,AD/B,ARX/ADX"
; 2601	ARX_BRX COMP	"ADB/BR,AD/SETCB,ARX/ADX"
; 2602	ARX_BRX+1	"ADA EN/0S,ADB/BR,AD/A+B+1,ARX/ADX"
; 2603	ARX_DSTP	"DSTP,ARX_FM"
; 2604	ARX_DSTP2	"DSTP2,ARX_FM"
; 2605	ARX_E1		"E1,ARX_FM"
; 2606	ARX_FILL	"FILL,ARX_FM"				;[310]
; 2607	ARX_FM		"ADB/FM,AD/B,ARX/AD"
; 2608	ARX_FM(VMA)	"FMADR/VMA,ADB/FM,AD/B,ARX/AD"
; 2609	ARX_MEM		"MEM/MB WAIT,FMADR/VMA,ADB/FM,AD/B"
; 2610	
; 2611	ARX_PC		"ADA/PC,AD/A,ARX/AD"
; 2612	ARX_PC+1	"ADA/PC,AD/A+1,ARX/AD,SPEC/SAVE FLAGS"
; 2613	ARX_SHIFT	"SH/SHIFT AR!ARX,ARX/SH"
; 2614	ARX_SRCP	"SRCP,ARX_FM"
; 2615	ARX_SRCP2	"SRCP2,ARX_FM"
; 2616	.IF/KLPAGE
; 2617	ARX_SV.AR	"SV.AR,ARX_FM"
; 2618	ARX_SV.ARX	"SV.ARX,ARX_FM"
; 2619	ARX_SV.BR	"SV.BR,ARX_FM"
; 2620	ARX_SV.VMA	"SV.VMA,ARX_FM"
; 2621	.ENDIF/KLPAGE
; 2622	ARX_T0		"T0,ARX_FM"
; 2623	ARX_T2		"T2,ARX_FM"
;;2624	.IF/TRXDEF
;;2625	ARX_TRB		"TRB,ARX_FM"
; 2626	.ENDIF/TRXDEF
; 2627	ARX_VMA HELD	"COND/SEL VMA,ARX_PC"
; 2628	ARX+MQ_0.M	"MEM/ARL IND,CLR/ARX+MQ"
; 2629	ARX+MQ_0.S	"SPEC/ARL IND,CLR/ARX+MQ"
; 2630	ARX0_MQ35	"ADA/MQ,AD/A*2+1,ARX/ADX*.25"
; 2631	ARX0-3 DISP	"SH/ARX,DISP/SH0-3"
; 2632	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--B, C, D					

; 2633	.TOC	"CRAM Macros--B, C, D"
; 2634	
; 2635	B DISP		"DISP/DRAM B"
; 2636	B WRITE		"DISP/DRAM B,MEM/B WRITE"
; 2637	BLKO TIM(L)	"SPEC/MTR CTL,DIAG OUT,DIAG FUNC/LD PA LEFT"
; 2638	BLKO TIM(R)	"SPEC/MTR CTL,DIAG OUT,DIAG FUNC/LD PA RIGHT"
; 2639	BR_AR LONG	"BR/AR,BRX/ARX"
; 2640	BYTE DISP	"DISP/BYTE"
;;2641	.IFNOT/MODEL.B
;;2642	BYTE INDRCT	"MEM/BYTE IND,VMA/LOAD"
; 2643	.IF/MODEL.B
; 2644	BYTE INDRCT	"MEM/EA CALC,EA CALC/BYTE IND,VMA/LOAD"
; 2645	.ENDIF/MODEL.B
; 2646	BYTE PREV & CLR SR3	"COND/SR_#,#/640"
; 2647	BYTE PREV & SET SR2	"COND/SR_#,#/622"
; 2648	BYTE PREV & SET SR3	"COND/SR_#,#/641"
; 2649	.IF/MODEL.B
; 2650	BYTE READ	"MEM/EA CALC,EA CALC/BYTE RD,VMA/LOAD"
; 2651	BYTE READ PC	"MEM/EA CALC,EA CALC/BYTE RD PC,VMA/LOAD"
; 2652	BYTE RPW	"MEM/EA CALC,EA CALC/BYTE RPW,VMA/LOAD"
;;2653	.IFNOT/MODEL.B
;;2654	BYTE READ	"MEM/BYTE RD,VMA/LOAD"
;;2655	BYTE RPW	"MEM/RPW,VMA/AD"
; 2656	.ENDIF/MODEL.B
; 2657	
; 2658	.IF/MODEL.B
; 2659	CALL		"CALL/CALL"
;;2660	.IFNOT/MODEL.B
;;2661	CALL		"SPEC/CALL"
; 2662	.ENDIF/MODEL.B
; 2663	CALL []		"CALL, J/@1"
; 2664	CALL[]		"CALL, J/@1"
; 2665	.IF/MODEL.B
; 2666	CALL.C		"CALL/CALL"
; 2667	CALL.M		"CALL/CALL"
; 2668	CALL.S		"CALL/CALL"
;;2669	.IFNOT/MODEL.B
;;2670	CALL.C		"COND/ARL IND,CALL/CALL"
;;2671	CALL.M		"MEM/ARL IND,CALL/CALL"
;;2672	CALL.S		"SPEC/ARL IND,CALL/CALL"
; 2673	.ENDIF/MODEL.B
; 2674	.IF/KLPAGE
; 2675	CBR		"P2"
; 2676	.ENDIF/KLPAGE
; 2677	CLR ACC+SET UCODE	"COND/EBOX STATE,#/245"
; 2678	CLR ACCOUNT EN	"COND/EBOX STATE,#/145"
; 2679	CLR AR		"COND/AR CLR"
; 2680	CLR ARX		"COND/ARX CLR"
; 2681	CLR EBUS DEMAND	"COND/EBUS CTL,EBUS CTL/EBUS NODEMAND"
; 2682	CLR EXP		"SCADA EN/0S,SCAD/A,EXP_SCAD"
; 2683	CLR FE		"SCADA EN/0S,SCAD/A,FE/SCAD"
; 2684	CLR FPD		"SPEC/CLR FPD"
; 2685	CLR MQ		"COND/REG CTL,MQ/MQ SEL,MQ CTL/0S"
; 2686	CLR MTR PA EN	"COND/EBOX STATE,#/025"
; 2687	CLR P		"SCADA EN/0S,SCAD/A,P_SCAD"
; 2688	CLR PT LINE	"COND/MBOX CTL,MBOX CTL/CLR PT LINE"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5-1
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--B, C, D					

; 2689	CLR PT LINE (KEEP) "COND/MBOX CTL,MBOX CTL/CLR PT LINE(NK)"
; 2690	CLR SC		"SCADA EN/0S,SCAD/A,SC/SCAD"
; 2691	CLR SPECIAL CYCLE	"COND/SPEC INSTR,SPEC INSTR/0"
; 2692	CLR SR2		"COND/SR_#,#/20"
; 2693	CLR SR3		"COND/SR_#,#/40"
; 2694	CLR TRACKS EN	"COND/EBOX STATE,#/121"
; 2695	CLR TRK+PA EN	"COND/EBOX STATE,#/021"
; 2696	CMS FETCH	"VMA/PC+1,MEM/FETCH,FETCH/SKIP"
; 2697	COMP FETCH	"AD/XOR,VMA/PC+1,MEM/FETCH,FETCH/COMP"
; 2698	CONI APR(L)	"DIAG IN,DIAG FUNC/CONI APR(L)"
; 2699	CONI APR(R)	"DIAG IN,DIAG FUNC/CONI APR(R)"
; 2700	CONI MTR	"DIAG IN,DIAG FUNC/CONI MTR"
; 2701	CONI PAG	"DIAG IN,DIAG FUNC/CONI PAG"
; 2702	CONI PI(L)	"DIAG IN,DIAG FUNC/CONI PI(L)"
; 2703	CONI PI(PAR)	"DIAG IN,DIAG FUNC/CONI PI(PAR)"
; 2704	CONI PI(R)	"DIAG IN,DIAG FUNC/CONI PI(R)"
; 2705	CONO APR	"DIAG OUT,DIAG FUNC/CONO APR"
; 2706	CONO MTR	"SPEC/MTR CTL,DIAG OUT,DIAG FUNC/CONO MTR"
; 2707	CONO PAG	"DIAG OUT,DIAG FUNC/CONO PAG"
; 2708	CONO PI		"DIAG OUT,DIAG FUNC/CONO PI"
; 2709	CONO TIM	"SPEC/MTR CTL,DIAG OUT,DIAG FUNC/CONO TIM"
; 2710	CONTINUE	"COND/SPEC INSTR,SPEC INSTR/CONT"
; 2711	.IF/KLPAGE
; 2712	CSMSK		"P0"
; 2713	.ENDIF/KLPAGE
; 2714	
; 2715	DATAI APR(L)	"DIAG IN,DIAG FUNC/DATAI APR"
; 2716	DATAI PAG(L)	"DIAG IN,DIAG FUNC/DATAI PAG(L)"
; 2717	DATAO APR	"DIAG OUT,DIAG FUNC/DATAO APR"
; 2718	DATAO PAG(L)	"DIAG OUT,DIAG FUNC/DATAO PAG"
; 2719	DIAG IN		"COND/DIAG FUNC,TIME/5T,AR/EBUS"
; 2720	DIAG OUT	"COND/DIAG FUNC,TIME/5T,ADA/AR,AD/A"
; 2721	DISMISS		"SPEC/FLAG CTL,FLAG CTL/DISMISS"
; 2722	DIVIDE		"FE_FE-1,DISP/DIV,MQ/MQ*2"
; 2723	DLEN		"FMADR/AC3"
; 2724	DLEN_AR		"DLEN,FM_AR"
; 2725	DROP EBUS REQ	"COND/EBUS CTL,EBUS CTL/0"
; 2726	.IF/MODEL.B
; 2727	DSTP		"FMADR/AC+#,AC-OP/AC+#,AC#/4"
;;2728	.IFNOT/MODEL.B
;;2729	DSTP		"FMADR/AC4"
; 2730	.ENDIF/MODEL.B
; 2731	DSTP_AR		"DSTP,FM_AR"
; 2732	.IF/MODEL.B
; 2733	DSTP2		"FMADR/AC+#,AC-OP/AC+#,AC#/5"
; 2734	.ENDIF/MODEL.B
; 2735	DSTP2_AR	"DSTP2,FM_AR"
; 2736	DSTW		"R14"
; 2737	DSTW_AR		"DSTW,FM_AR"
; 2738	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--E, F					

; 2739	.TOC	"CRAM Macros--E, F"
; 2740	
; 2741	E0		"R16"
; 2742	E0_AR		"E0,FM_AR"
; 2743	E1		"R5"
; 2744	E1_AR		"E1,FM_AR"
; 2745	.IF/XADDR
; 2746	EA MOD DISP	"DISP/EA MOD,AD/1S"
;;2747	.IFNOT/XADDR
;;2748	EA MOD DISP	"DISP/EA MOD"
;;2749	EA TYPE DISP	"DISP/EA TYPE"
; 2750	.ENDIF/XADDR
; 2751	EPT FETCH	"MEM/LOAD ARX,SPEC/SP MEM CYCLE,SP MEM/EPT FETCH"
; 2752	EPT REF		"SPEC/SP MEM CYCLE,SP MEM/EPT"
; 2753	EPT REF	CACHE	"SPEC/SP MEM CYCLE,SP MEM/EPT CACHE"
; 2754	EXEC REF	"SPEC/SP MEM CYCLE,SP MEM/EXEC"
; 2755	EXIT		"DISP/DRAM B,MEM/B WRITE,J/ST0"
; 2756	EXIT DBL	"MB WAIT,J/ST2AC"	;"I FETCH,J/DSTAC" WHEN TIMING FIXED
; 2757	EXP TEST	"COND/REG CTL,EXP TST/AR_EXP"
; 2758	EXP TST		"COND/REG CTL,EXP TST/AR_EXP"
; 2759	EXPMSK		"R4"		;[224][233]
; 2760	EXP_-SC-1	"SCADA EN/0S,SCADB/SC,SCAD/A-B-1,EXP_SCAD"
; 2761	EXP_-SC-1 TST	"SCADA EN/0S,SCADB/SC,SCAD/A-B-1,EXP_SCAD.C,EXP TST"
; 2762	EXP_1		"SCADA EN/0S,SCAD/A+1,EXP_SCAD"
; 2763	EXP_FE TST	"SCADA/FE,SCAD/A,EXP_SCAD.C,EXP TST"
; 2764	EXP_SC		"SCADA EN/0S,SCADB/SC,SCAD/A+B,EXP_SCAD"
; 2765	EXP_SC.MS	"MEM/ARL IND,ARL/ARMM,COND/LD AR0-8,ARMM/SCAD EXP,EXP_SCAD.MS";[224]
; 2766	EXP_SCAD	"MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD EXP"
; 2767	EXP_SCAD.C	"COND/REG CTL,AR CTL/AR0-8 LOAD,AR/ARMM,ARMM/SCAD EXP"
; 2768	EXP_SCAD.MS	"SCADA EN/0S,SCADB/SC,SCAD/A+B"
; 2769	EXP_SIGN	"SPEC/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/EXP_SIGN"
; 2770	EXP_SIGN.C	"COND/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/EXP_SIGN"
; 2771	EXP_SIGN.M	"MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/EXP_SIGN"
; 2772	EXP_SIGN.MS	"MEM/ARL IND,ARL/ARMM,COND/LD AR0-8,ARMM/EXP_SIGN";[224]
; 2773	.IF/MODEL.B
; 2774	EXT ADDR	"MEM/A RD,#/400,DISP/DRAM B"
; 2775	EXT BYTE READ	"MEM/EA CALC,EA CALC/BYTE RD,VMA/LOAD,GLOBAL"
; 2776	EXT INDEX	"MEM/A RD,#/400,DISP/DRAM A RD"
; 2777	EXT INDRCT	"MEM/EA CALC,EA CALC/A IND,VMA/LOAD"
; 2778	.ENDIF/MODEL.B
; 2779	
; 2780	FE_#		"SCADA/#,SCAD/A,FE/SCAD"
; 2781	FE_# AND S	"SCADA/#,SCADB/AR6-11,SCAD/AND,FE/SCAD"
; 2782	FE_#+AR0-8	"SCADA/#,SCADB/AR0-8,SCAD/A+B,FE/SCAD"
; 2783	FE_#+SC		"SCADA/#,SCADB/SC,SCAD/A+B,FE/SCAD"
; 2784	FE_#-SC		"SCADA/#,SCADB/SC,SCAD/A-B,FE/SCAD"
; 2785	FE_+#		"SCADA EN/0S,SCADB/#,SCAD/A+B,FE/SCAD"
; 2786	FE_-1		"SCADA EN/0S,SCAD/A-1,FE/SCAD"
; 2787	FE_-SC-1	"SCADA EN/0S,SCADB/SC,SCAD/A-B-1,FE/SCAD"
; 2788	FE_1		"SCADA EN/0S,SCAD/A+1,FE/SCAD"
; 2789	FE_AR0-8	"SCADA EN/0S,SCADB/AR0-8,SCAD/A+B,FE/SCAD"
; 2790	FE_AR0-8 AND #	"SCADA/#,SCADB/AR0-8,SCAD/AND,FE/SCAD"
; 2791	FE_AR0-8 COMP	"SCADA EN/0S,SCADB/AR0-8,SCAD/A-B-1,FE/SCAD"
; 2792	FE_EXP		"SCADA/AR EXP,SCAD/A,FE/SCAD"
; 2793	FE_EXP+1	"SCADA/AR EXP,SCAD/A+1,FE/SCAD"
; 2794	FE_EXP+SC	"SCADA/AR EXP,SCADB/SC,SCAD/A+B,FE/SCAD"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6-1
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--E, F					

; 2795	FE_EXP-#	"SCADA/AR EXP,SCADB/#,SCAD/A-B,FE/SCAD"
; 2796	FE_EXP-1	"SCADA/AR EXP,SCAD/A-1,FE/SCAD"
; 2797	FE_FE AND #	"SCADA/FE,SCADB/#,SCAD/AND,FE/SCAD"
; 2798	FE_FE AND AR0-8	"SCADA/FE,SCADB/AR0-8,SCAD/AND,FE/SCAD"
; 2799	FE_FE OR #	"SCADA/FE,SCADB/#,SCAD/OR,FE/SCAD"
; 2800	FE_FE OR AR0-8	"SCADA/FE,SCADB/AR0-8,SCAD/OR,FE/SCAD"
; 2801	FE_FE SHRT	"COND/FE SHRT,FE/0"
; 2802	FE_FE+#		"SCADA/FE,SCADB/#,SCAD/A+B,FE/SCAD"
; 2803	FE_FE+1		"SCADA/FE,SCAD/A+1,FE/SCAD"
; 2804	FE_FE+S		"SCADA/FE,SCADB/AR6-11,SCAD/A+B,FE/SCAD"
; 2805	FE_FE+SC	"SCADA/FE,SCADB/SC,SCAD/A+B,FE/SCAD"
; 2806	FE_FE-#		"SCADA/FE,SCADB/#,SCAD/A-B,FE/SCAD"
; 2807	FE_FE-1		"SCADA/FE,SCAD/A-1,FE/SCAD"
; 2808	FE_FE-S		"SCADA/FE,SCADB/AR6-11,SCAD/A-B,FE/SCAD"
; 2809	FE_FE-SC	"SCADA/FE,SCADB/SC,SCAD/A-B,FE/SCAD"
; 2810	FE_P		"SCADA/AR0-5,SCAD/A,FE/SCAD"
; 2811	FE_P AND #	"SCADA/AR0-5,SCADB/#,SCAD/AND,FE/SCAD"
; 2812	FE_P AND SC	"SCADA/AR0-5,SCADB/SC,SCAD/AND,FE/SCAD"
; 2813	FE_P OR #	"SCADA/AR0-5,SCADB/#,SCAD/OR,FE/SCAD"
; 2814	FE_P+SC		"SCADA/AR0-5,SCADB/SC,SCAD/A+B,FE/SCAD"
; 2815	FE_S		"SCADA EN/0S,SCADB/AR6-11,SCAD/A+B,FE/SCAD"
; 2816	FE_S+#		"SCADA/#,SCADB/AR6-11,SCAD/A+B,FE/SCAD"
; 2817	FE_SC		"SCADA EN/0S,SCADB/SC,SCAD/A+B,FE/SCAD"
; 2818	
; 2819	.IF/MODEL.B
; 2820	FETCH		"MEM/IFET"
; 2821	FETCH+1		"COND/VMA INC,MEM/IFET"
;;2822	.IFNOT/MODEL.B
;;2823	FETCH		"MEM/FETCH,FETCH/UNCOND"
;;2824	FETCH+1		"COND/VMA INC,MEM/FETCH,FETCH/UNCOND"
; 2825	.ENDIF/MODEL.B
; 2826	FETCH WAIT	"MEM/MB WAIT"		;See edit 111
; 2827	FILL		"R13"
; 2828	FILL_AR		"FILL,FM_AR"
; 2829	FIN STORE	"FMADR/VMA"		;FINISH STOREING
; 2830	FIN XFER	"FMADR/VMA,ADB/FM,AD/B"	;FINISH XFER WHILE STARTING ANOTHER
; 2831	FINISH		"J/FINI"	;USE INSTEAD OF NXT INSTR IF FM WRITE
; 2832	FM_AR		"COND/FM WRITE"
; 2833	FM[]_AR		"@1, FM_AR"
; 2834	.IF/MODEL.B
; 2835	FM(#)_AR	"FMADR/AC+#,AC-OP/AC+#,COND/FM WRITE"
; 2836	.ENDIF/MODEL.B
; 2837	FORCE AR-ARX	"ADB/AR*4,AD/B,AR/AD*.25,ARX/ADX*.25"
; 2838	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--G, H, I, J, L				

; 2839	.TOC	"CRAM Macros--G, H, I, J, L"
; 2840	
; 2841	GEN # AND AR0-8	"SCADA/#,SCADB/AR0-8,SCAD/AND"
; 2842	GEN #+AR0-8	"SCADA/#,SCADB/AR0-8,SCAD/A+B"
; 2843	GEN #+SC	"SCADA/#,SCADB/SC,SCAD/A+B"
; 2844	GEN #-SC	"SCADA/#,SCADB/SC,SCAD/A-B"
; 2845	GEN -AR LONG	"ADB/AR*4,ADA EN/0S,AD/A-B,SPEC/AD LONG"
; 2846	GEN -SC		"SCADB/SC,SCADA EN/0S,SCAD/A-B"
; 2847	GEN -SC-1	"SCADB/SC,SCADA EN/0S,SCAD/A-B-1"
; 2848	GEN 0S		"AD/0S"
; 2849	GEN 2AR		"ADA/AR, AD/A*2"
; 2850	
; 2851	GEN AC0		"FMADR/AC0,ADB/FM,AD/B"
; 2852	GEN AC0+1	"FMADR/AC0,ADB/FM,ADA EN/0S,AD/A+B+1"
; 2853	GEN AR		"ADA/AR,AD/A"
; 2854	GEN AR*AC0	"FMADR/AC0,ADB/FM,ADA/AR"
; 2855	GEN AR*BR	"ADA/AR,ADB/BR"
; 2856	GEN AR*T0	"T0,ADB/FM,ADA/AR"
; 2857	GEN AR+1	"ADA/AR,AD/A+1"
; 2858	GEN AR+2BR	"ADA/AR,ADB/BR*2,AD/A+B"
; 2859	GEN AR+BR	"ADA/AR,ADB/BR,AD/A+B"
; 2860	GEN AR+E1	"E1,ADB/FM,ADA/AR,AD/A+B"
; 2861	GEN AR+XR	"FMADR/XR,ADB/FM,ADA/AR,AD/A+B"
; 2862	GEN AR-2BR	"ADA/AR,ADB/BR*2,AD/A-B"
; 2863	GEN AR-AC3	"FMADR/AC3,ADB/FM,ADA/AR,AD/A-B"
; 2864	GEN AR-BR	"ADA/AR,ADB/BR,AD/A-B"
; 2865	GEN AR-BR-1	"GEN AR*BR,AD/A-B-1"
; 2866	GEN AR0-8	"SCADA EN/0S,SCADB/AR0-8,SCAD/OR"
; 2867	GEN ARX		"ADA/ARX,AD/A"
; 2868	GEN ARX COMP	"ADA/ARX,AD/SETCA"
; 2869	GEN ARX*BR	"ADA/ARX,ADB/BR"		;[224]
; 2870	GEN ARX*BRX	"ADA EN/EN,ADB/BR"
; 2871	GEN ARX+1	"ADA/ARX,AD/A+1"
; 2872	GEN ARX+XR	"FMADR/XR,ADB/FM,ADA/ARX,AD/A+B"
; 2873	GEN ARX-1	"ADA/ARX,AD/A-1"
; 2874	
; 2875	GEN BR		"ADB/BR,AD/B"
; 2876	GEN BR*2	"ADB/BR*2,AD/B"
; 2877	GEN BR+ARX	"ADA/ARX,ADB/BR,AD/A+B"		;[230]
; 2878	GEN BRX+1	"ADA EN/0S,ADB/BR,AD/A+B+1"
; 2879	GEN CRY18	"SPEC/GEN CRY18"
; 2880	GEN E1		"E1, ADB/FM, AD/B"
; 2881	GEN FE		"SCADA/FE,SCAD/A"
; 2882	GEN FE AND #	"SCADA/FE,SCADB/#,SCAD/AND"
; 2883	GEN FE AND AR0-8 "SCADA/FE,SCADB/AR0-8,SCAD/AND"
; 2884	GEN FE AND S	"SCADA/FE,SCADB/AR6-11,SCAD/AND"
; 2885	GEN FE AND SC	"SCADA/FE,SCADB/SC,SCAD/AND"
; 2886	GEN FE+#	"SCADA/FE,SCADB/#,SCAD/A+B"
; 2887	GEN FE-#	"SCADA/FE,SCADB/#,SCAD/A-B"
; 2888	GEN FE-1	"SCADA/FE,SCAD/A-1"
; 2889	GEN FE-S	"SCADA/FE,SCADB/AR6-11,SCAD/A-B"
; 2890	GEN FE-SC	"SCADA/FE,SCADB/SC,SCAD/A-B"
; 2891	GEN FE-SC-1	"SCADA/FE,SCADB/SC,SCAD/A-B-1"	; [303] For DPB to top byte
; 2892	
; 2893	GEN MQ		"ADA/MQ,AD/A"
; 2894	GEN MQ-AR	"ADA/MQ,ADB/AR,AD/A-B"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7-1
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--G, H, I, J, L				

; 2895	GEN P AND #	"SCADA/AR0-5,SCADB/#,SCAD/AND"
; 2896	GEN P AND SC	"SCADA/AR0-5,SCADB/SC,SCAD/AND"
; 2897	GEN P+SC	"SCADA/AR0-5,SCADB/SC,SCAD/A+B"
; 2898	GEN P-S		"SCADA/AR0-5,SCADB/AR6-11,SCAD/A-B"
; 2899	GEN P-SC	"SCADA/AR0-5,SCADB/SC,SCAD/A-B"
; 2900	GEN SC		"SCADB/SC,SCADA EN/0S,SCAD/A+B"
; 2901	GEN SCAD 0S	"SCADA EN/0S,SCAD/A"
; 2902	GEN T1		"T1,ADB/FM,AD/B"
; 2903	GEN T2		"T2,ADB/FM,AD/B"
; 2904	GET ECL EBUS	"COND/EBUS CTL,EBUS CTL/GRAB EEBUS"
; 2905	GLOBAL		"SH/1"
; 2906	
; 2907	HALT		"SPEC/FLAG CTL,FLAG CTL/HALT"
; 2908	
; 2909	.IF/MODEL.B
; 2910	I FETCH		"VMA/PC+1,MEM/IFET"
;;2911	.IFNOT/MODEL.B
;;2912	I FETCH		"VMA/PC+1,MEM/FETCH,FETCH/UNCOND"
; 2913	.ENDIF/MODEL.B
; 2914	INDEXED		"SH/2"
; 2915	INH CRY18	"SPEC/INH CRY18"
; 2916	IO INIT		"COND/EBUS CTL,EBUS CTL/IO INIT"
; 2917	IR DISP		"DISP/DRAM J"
; 2918	
; 2919	JFCL FETCH	"VMA/PC+1,MEM/FETCH,FETCH/JFCL"
; 2920	JFCL S		"SPEC/FLAG CTL,FLAG CTL/JFCL+LD"
; 2921	JFCL T		"SPEC/FLAG CTL,FLAG CTL/JFCL"
; 2922	JUMP FETCH	"VMA/PC+1,MEM/FETCH,FETCH/JUMP"
; 2923	
; 2924	LD PCS		"COND/DIAG FUNC,TIME/5T,DIAG FUNC/LD PCS+CWSX,ADA/ARX,AD/A"
; 2925	LD PREV CTXT	"COND/DIAG FUNC,TIME/5T,DIAG FUNC/LD PCS+CWSX,ADA/PC,AD/A"
; 2926	LOAD AR		"MEM/LOAD AR"
; 2927	.IF/MODEL.B
; 2928	LOAD AR (WR TST)	"MEM/EA CALC,EA CALC/LD AR+WR"
; 2929	.ENDIF/MODEL.B
; 2930	LOAD ARX	"MEM/LOAD ARX"
; 2931	.IF/MODEL.B
; 2932	LOAD ARX (WR TST)	"MEM/EA CALC,EA CALC/LD ARX+WR"
; 2933	.ENDIF/MODEL.B
; 2934	LOAD EBR	"MEM/REG FUNC,MREG FNC/LOAD EBR"
; 2935	.IF/MODEL.B
; 2936	LOAD IR		"COND/LOAD IR,#/0"
;;2937	.IFNOT/MODEL.B
;;2938	LOAD IR		"COND/LOAD IR"
; 2939	.ENDIF/MODEL.B
; 2940	LOAD UBR	"MEM/REG FUNC,MREG FNC/LOAD UBR"
; 2941	.IF/BLT.PXCT
; 2942	LOAD VMA(EA)_ARX+BR "VMA/LOAD,MEM/EA CALC,EA CALC/LD AR(EA),ADA/ARX,ADB/BR,AD/A+B"
;;2943	.IFNOT/BLT.PXCT
;;2944	LOAD VMA(EA)_ARX+BR "ADA/ARX,ADB/BR,AD/A+B,VMA/AD,LOAD AR"
; 2945	.ENDIF/BLT.PXCT
; 2946	.IF/MODEL.B
; 2947	LONG EN		"COND/LONG EN"
; 2948	.ENDIF/MODEL.B
; 2949	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--M, N, O, P					

; 2950	.TOC	"CRAM Macros--M, N, O, P"
; 2951	
; 2952	MAP		"MEM/REG FUNC,MREG FNC/MAP"
; 2953	MB WAIT		"MEM/MB WAIT"
; 2954	MEM_AR		"FMADR/VMA,MEM/MB WAIT"
; 2955	
; 2956	MQ_0.C		"COND/ARL IND,CLR/MQ"
; 2957	MQ_0.M		"MEM/ARL IND,CLR/MQ"
; 2958	MQ_0.S		"SPEC/ARL IND,CLR/MQ"
; 2959	MQ_1		"ADA EN/0S,AD/A+1,MQ_AD"
; 2960	MQ_1S		"COND/REG CTL,MQ/MQM SEL,MQ CTL/1S"
; 2961	MQ_AD		"COND/REG CTL,MQ/MQM SEL,MQ CTL/AD"
; 2962	MQ_AR		"SH/AR,MQ/SH"
; 2963	MQ_AR (AD)	"ADA/AR,AD/A,MQ_AD"
; 2964	MQ_AR COMP	"ADA/AR,AD/SETCA,MQ_AD"
; 2965	MQ_AR SWAP	"SH/AR SWAP,MQ/SH"
; 2966	MQ_ARX		"SH/ARX,MQ/SH"
; 2967	MQ_ARX COMP	"ADA/ARX,AD/SETCA,MQ_AD"
; 2968	MQ_BR		"ADB/BR,AD/B,MQ_AD"
; 2969	MQ_BR COMP	"ADB/BR,AD/SETCB,MQ_AD"
; 2970	MQ_MQ*.25	"SPEC/MQ SHIFT,MQ/MQ*.25"
; 2971	MQ_MQ*2		"SPEC/MQ SHIFT,MQ/MQ*2"
; 2972	MQ_MQ*BR	"ADA/MQ, ADB/BR, MQ_AD"
; 2973	MQ_SHIFT	"SH/SHIFT AR!ARX,MQ/SH"
; 2974	
; 2975	MSK		"R7"
; 2976	MSK_AR		"MSK,FM_AR"
; 2977	MUL		"FE_FE+1,DISP/MUL,MQ/MQ*.25"
; 2978	
; 2979	
; 2980	NO CRY		"AD/SETCA"
; 2981	NORM		"DISP/NORM"
; 2982	NORM -AR	"ADA EN/0S,ADB/AR*4,AD/A-B,AR/AD*.25,ARX/ADX*.25,DISP/NORM"
; 2983	NORM AR		"ADB/AR*4,AD/B,DISP/NORM"
; 2984	NXT INSTR	"MEM/MB WAIT,DISP/NICOND,#/0,CLR SC,CLR FE,J/NEXT"
; 2985	
; 2986	OPTIONS		"ISTAT/OPTIONS,KLPAGE/OPTIONS,LONGPC/OPTIONS,NONSTD/OPTIONS,PV/OPTIONS"
; 2987	
; 2988	P_#		"SCADA/#,SCAD/A,P_SCAD#"
; 2989	P_#-S		"SCADA/#,SCADB/AR6-11,SCAD/A-B,P_SCAD#"
; 2990	P_-SC		"SCADA EN/0S,SCADB/SC,SCAD/A-B,P_SCAD.M"
; 2991	P_1S		"SCADA EN/0S,SCAD/A-1,P_SCAD"
; 2992	P_FE		"SCADA/FE,SCAD/A,P_SCAD"
; 2993	P_FE OR SC	"SCADA/FE,SCADB/SC,SCAD/OR,P_SCAD"
; 2994	P_FE+SC		"SCADA/FE,SCADB/SC,SCAD/A+B,P_SCAD.C"
; 2995	P_FE-S		"SCADA/FE,SCADB/AR6-11,SCAD/A-B,P_SCAD.C"
; 2996	P_FE-S.S	"SCADA/FE,SCADB/AR6-11,SCAD/A-B,P_SCAD"
; 2997	P_FE.C		"SCADA/FE,SCAD/A,P_SCAD#"
; 2998	P_P AND #	"SCADA/AR0-5,SCADB/#,SCAD/AND,P_SCAD#"
; 2999	P_P AND SC	"SCADA/AR0-5,SCADB/SC,SCAD/AND,P_SCAD.M"
; 3000	P_P OR #	"SCADA/AR0-5,SCADB/#,SCAD/OR,P_SCAD#"
; 3001	P_P OR SC	"SCADA/AR0-5,SCADB/SC,SCAD/OR,P_SCAD.M"
; 3002	P_P OR SC#	"SCADA/AR0-5,SCADB/SC,SCAD/OR,P_SCAD#"
; 3003	P_P+#		"SCADA/AR0-5,SCADB/#,SCAD/A+B,P_SCAD#"
; 3004	P_P+1		"SCADA/AR0-5,SCAD/A+1,P_SCAD"
; 3005	P_P+S		"SCADA/AR0-5,SCADB/AR6-11,SCAD/A+B,P_SCAD"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8-1
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--M, N, O, P					

; 3006	P_P+S.C		"SCADA/AR0-5,SCADB/AR6-11,SCAD/A+B,P_SCAD#"
; 3007	P_P-S		"SCADA/AR0-5,SCADB/AR6-11,SCAD/A-B,P_SCAD.M"
; 3008	P_SC		"SCADA EN/0S,SCADB/SC,SCAD/A+B,P_SCAD.M"
; 3009	P_SC#		"SCADA EN/0S,SCADB/SC,SCAD/A+B,P_SCAD#"
; 3010	P_SCAD		"SPEC/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD POS"
; 3011	P_SCAD#		"COND/LD AR0-8,AR/ARMM,ARMM/SCAD POS"
; 3012	P_SCAD.C	"COND/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD POS"
; 3013	P_SCAD.M	"MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD POS"
; 3014	
; 3015	P0		"FMADR/#B#,ACB/PAGB,AC#/0"	Paging AC 0
; 3016	P1		"FMADR/#B#,ACB/PAGB,AC#/1"
; 3017	P10		"FMADR/#B#,ACB/PAGB,AC#/10"
; 3018	P11		"FMADR/#B#,ACB/PAGB,AC#/11"
; 3019	P12		"FMADR/#B#,ACB/PAGB,AC#/12"
; 3020	P13		"FMADR/#B#,ACB/PAGB,AC#/13"
; 3021	P14		"FMADR/#B#,ACB/PAGB,AC#/14"
; 3022	P15		"FMADR/#B#,ACB/PAGB,AC#/15"
; 3023	P16		"FMADR/#B#,ACB/PAGB,AC#/16"
; 3024	P17		"FMADR/#B#,ACB/PAGB,AC#/17"
; 3025	P2		"FMADR/#B#,ACB/PAGB,AC#/2"
; 3026	P3		"FMADR/#B#,ACB/PAGB,AC#/3"
; 3027	P4		"FMADR/#B#,ACB/PAGB,AC#/4"
; 3028	P5		"FMADR/#B#,ACB/PAGB,AC#/5"
; 3029	P6		"FMADR/#B#,ACB/PAGB,AC#/6"
; 3030	P7		"FMADR/#B#,ACB/PAGB,AC#/7"
; 3031	
; 3032	PC_VMA		"SPEC/LOAD PC"
; 3033	PF DISP		"DISP/PG FAIL"
; 3034	.IF/KLPAGE
; 3035	PFA		"P4"
; 3036	PFA_AR		"PFA,COND/FM WRITE"
; 3037	.ENDIF/KLPAGE
; 3038	PHYS REF	"SPEC/SP MEM CYCLE,SP MEM/UNPAGED"
; 3039	PHYS REF CACHE	"SPEC/SP MEM CYCLE,SP MEM/UNPAGED+CACHED"
; 3040	.IF/MODEL.B
; 3041	POP AR		"MEM/EA CALC,EA CALC/POP AR,VMA/LOAD"
; 3042	POP AR-ARX	"MEM/EA CALC,EA CALC/POP AR-ARX,VMA/LOAD"
; 3043	POP ARX		"MEM/EA CALC,EA CALC/POP ARX,VMA/LOAD"
; 3044	.ENDIF/MODEL.B
; 3045	PORTAL		"SPEC/FLAG CTL,FLAG CTL/PORTAL"
; 3046	PT FETCH	"MEM/LOAD ARX,SPEC/SP MEM CYCLE,SP MEM/PT FETCH"
; 3047	PT REF		"SPEC/SP MEM CYCLE,SP MEM/PT"
; 3048	PT SEL_INVAL	"COND/MBOX CTL,MBOX CTL/PT DIR CLR"
; 3049	PT SEL_INVAL (KEEP) "COND/MBOX CTL,MBOX CTL/PT DIR CLR(NK)"
; 3050	PT SEL_NORMAL	"COND/MBOX CTL,MBOX CTL/NORMAL"
; 3051	.IF/KLPAGE
; 3052	PUR		"P1"
; 3053	.ENDIF/KLPAGE
; 3054	.IF/MODEL.B
; 3055	PUSH		"MEM/EA CALC,EA CALC/PUSH,VMA/LOAD,SPEC/STACK UPDATE"
; 3056	.ENDIF/MODEL.B
; 3057	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--R						

; 3058	.TOC	"CRAM Macros--R"
; 3059	
; 3060	R0		"FMADR/#B#,ACB/MICROB,AC#/0"	Scratch register 0
; 3061	R1		"FMADR/#B#,ACB/MICROB,AC#/1"	Scratch register 1
; 3062	R10		"FMADR/#B#,ACB/MICROB,AC#/10"	Scratch register 10
; 3063	R11		"FMADR/#B#,ACB/MICROB,AC#/11"	Scratch register 11
; 3064	R12		"FMADR/#B#,ACB/MICROB,AC#/12"	Scratch register 12
; 3065	R13		"FMADR/#B#,ACB/MICROB,AC#/13"	Scratch register 13
; 3066	R14		"FMADR/#B#,ACB/MICROB,AC#/14"	Scratch register 14
; 3067	R15		"FMADR/#B#,ACB/MICROB,AC#/15"	Scratch register 15
; 3068	R16		"FMADR/#B#,ACB/MICROB,AC#/16"	Scratch register 16
; 3069	R17		"FMADR/#B#,ACB/MICROB,AC#/17"	Scratch register 17
; 3070	R2		"FMADR/#B#,ACB/MICROB,AC#/2"	Scratch register 2
; 3071	R3		"FMADR/#B#,ACB/MICROB,AC#/3"	Scratch register 3
; 3072	R4		"FMADR/#B#,ACB/MICROB,AC#/4"	Scratch register 4
; 3073	R5		"FMADR/#B#,ACB/MICROB,AC#/5"	Scratch register 5
; 3074	R6		"FMADR/#B#,ACB/MICROB,AC#/6"	Scratch register 6
; 3075	R7		"FMADR/#B#,ACB/MICROB,AC#/7"	Scratch register 7
; 3076	
; 3077	RD+CLR C CNT	"SPEC/MTR CTL,AR_CACHE CNT"
; 3078	RD+CLR E CNT	"SPEC/MTR CTL,AR_EBOX CNT"
; 3079	RD+CLR PA	"SPEC/MTR CTL,AR_PERF CNT"
; 3080	RD+CLR TB	"SPEC/MTR CTL,AR_TIME BASE"
; 3081	.IF/MODEL.B
; 3082	READ BP2	"MEM/EA CALC,EA CALC/BYTE IND,VMA/VMA,COND/VMA INC"
; 3083	.ENDIF/MODEL.B
; 3084	READ EBR	"MEM/REG FUNC,MREG FNC/READ EBR"
; 3085	READ ERA	"MEM/REG FUNC,MREG FNC/READ ERA"
; 3086	READ UBR	"MEM/REG FUNC,MREG FNC/READ UBR"
; 3087	REL EBUS	"COND/EBUS CTL,EBUS CTL/REL EBUS"
; 3088	REL ECL EBUS	"COND/EBUS CTL,EBUS CTL/REL EEBUS"
; 3089	REQ EBUS	"COND/EBUS CTL,EBUS CTL/REQ EBUS"
; 3090	.IF/KLPAGE
; 3091	REQ SV.VMA	"SV.VMA,ADB/FM,AD/B,VMA/1,MEM/AD FUNC"
; 3092	REQ VMA HELD	"COND/SEL VMA,ADA/PC,AD/A,VMA/1,MEM/AD FUNC"
; 3093	.ENDIF/KLPAGE
; 3094	
; 3095	RET[]		"DISP/RETURN,J/@1"
; 3096	RETURN0		"DISP/RETURN,J/0"
; 3097	RETURN1		"DISP/RETURN,J/1"
; 3098	RETURN10	"DISP/RETURN,J/10"
; 3099	RETURN12	"DISP/RETURN,J/12"
; 3100	RETURN2		"DISP/RETURN,J/2"
; 3101	RETURN20	"DISP/RETURN,J/20"
; 3102	RETURN3		"DISP/RETURN,J/3"
; 3103	RETURN30	"DISP/RETURN,J/30"
; 3104	RETURN37	"DISP/RETURN,J/37"
; 3105	RETURN4		"DISP/RETURN,J/4"
; 3106	RETURN5		"DISP/RETURN,J/5"
; 3107	RETURN6		"DISP/RETURN,J/6"
; 3108	RETURN7		"DISP/RETURN,J/7"
; 3109	RSTR FLAGS_AR	"SPEC/FLAG CTL,FLAG CTL/RSTR FLAGS"
; 3110	.IF/KLPAGE
; 3111	RSTR VMA_ARX	"ADA/ARX,AD/A,VMA/LOAD,MEM/RESTORE VMA"
; 3112	RSTR VMA_MQ	"ADA/MQ,AD/A,VMA/LOAD,MEM/RESTORE VMA"
; 3113	RSTR VMA_SV.VMA	"SV.VMA,ADB/FM,AD/B,VMA/LOAD,MEM/RESTORE VMA"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9-1
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--R						

; 3114	.ENDIF/KLPAGE
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--S						

; 3115	.TOC	"CRAM Macros--S"
; 3116	
; 3117	.IF/KLPAGE
; 3118	SBR		"P3"
; 3119	.ENDIF/KLPAGE
; 3120	SBUS DIAG	"MEM/REG FUNC,MREG FNC/SBUS DIAG"
; 3121	
; 3122	SC_#		"SCADA/#,SCAD/A,SC/SCAD"
; 3123	SC_# AND AR0-8	"SCADA/#,SCADB/AR0-8,SCAD/AND,SC/SCAD"
; 3124	SC_# AND S	"SCADA/#,SCADB/AR6-11,SCAD/AND,SC/SCAD"
; 3125	SC_# OR SC	"SCADA/#,SCADB/SC,SCAD/OR,SC/SCAD"
; 3126	SC_#+AR0-8	"SCADA/#,SCADB/AR0-8,SCAD/A+B,SC/SCAD"
; 3127	SC_#+SC		"SCADA/#,SCADB/SC,SCAD/A+B,SC/SCAD"
; 3128	SC_#-SC		"SCADA/#,SCADB/SC,SCAD/A-B,SC/SCAD"
; 3129	SC_#-SC-1	"SCADA/#,SCADB/SC,SCAD/A-B-1,SC/SCAD"
; 3130	SC_-SC		"SCADA EN/0S,SCADB/SC,SCAD/A-B,SC/SCAD"
; 3131	SC_-SC-1	"SCADA EN/0S,SCADB/SC,SCAD/A-B-1,SC/SCAD"
; 3132	SC_0		"SCADA EN/0S,SCAD/A,SC/SCAD"
; 3133	SC_1		"SCADA EN/0S,SCAD/A+1,SC/SCAD"
; 3134	SC_1S		"SCADA EN/0S,SCAD/A-1,SC/SCAD"
; 3135	SC_AR0-8	"SCADA EN/0S,SCADB/AR0-8,SCAD/A+B,SC/SCAD" ;[231]
; 3136	SC_EA		"SPEC/SCM ALT,SC/AR SHIFT"
; 3137	SC_EXP		"SCADA/AR EXP,SCAD/A,SC/SCAD"
; 3138	SC_EXP+1	"SCADA/AR EXP,SCAD/A+1,SC/SCAD"
; 3139	SC_EXP+SC	"SCADA/AR EXP,SCADB/SC,SCAD/A+B,SC/SCAD"
; 3140	SC_EXP-#	"SCADA/AR EXP,SCADB/#,SCAD/A-B,SC/SCAD"
; 3141	SC_EXP-1	"SCADA/AR EXP,SCAD/A-1,SC/SCAD"
; 3142	SC_EXP-SC	"SCADA/AR EXP,SCADB/SC,SCAD/A-B,SC/SCAD"
; 3143	SC_FE		"SPEC/SCM ALT,SC/FE"
; 3144	SC_FE AND #	"SCADA/FE,SCADB/#,SCAD/AND,SC/SCAD"
; 3145	SC_FE+#		"SCADA/FE,SCADB/#,SCAD/A+B,SC/SCAD"
; 3146	SC_FE+1		"SCADA/FE,SCAD/A+1,SC/SCAD"
; 3147	SC_FE+SC	"SCADA/FE,SCADB/SC,SCAD/A+B,SC/SCAD"
; 3148	SC_FE-#		"SCADA/FE,SCADB/#,SCAD/A-B,SC/SCAD"
; 3149	SC_FE-1		"SCADA/FE,SCAD/A-1,SC/SCAD"
; 3150	SC_FE-SC	"SCADA/FE,SCADB/SC,SCAD/A-B,SC/SCAD"
; 3151	SC_FE-SC-1	"SCADA/FE,SCADB/SC,SCAD/A-B-1,SC/SCAD"
; 3152	SC_P		"SCADA/AR0-5,SCAD/A,SC/SCAD"
; 3153	SC_P AND #	"SCADA/AR0-5,SCADB/#,SCAD/AND,SC/SCAD"
; 3154	SC_P AND SC	"SCADA/AR0-5,SCADB/SC,SCAD/AND,SC/SCAD"
; 3155	SC_P-#		"SCADA/AR0-5,SCADB/#,SCAD/A-B,SC/SCAD"
; 3156	SC_S		"SCADB/AR6-11,SCADA EN/0S,SCAD/A+B,SC/SCAD"
; 3157	SC_SC AND #	"SCADA/#,SCADB/SC,SCAD/AND,SC/SCAD"
; 3158	
; 3159	.IF/MODEL.B
; 3160	SEL AC4		"AC-OP/AC+#,AC#/4"
; 3161	SEL DSTP	"AC-OP/AC+#,AC#/4"
; 3162	SEL DSTP2	"AC-OP/AC+#,AC#/5"
; 3163	.ENDIF/MODEL.B
; 3164	SET ACC+CLR UCODE	"COND/EBOX STATE,#/005"
; 3165	SET ACCOUNT EN	"COND/EBOX STATE,#/105"
; 3166	SET AROV	"COND/PCF_#,PC FLAGS/AROV"
; 3167	SET CONS XCT	"COND/SPEC INSTR,SPEC INSTR/CONS XCT"
; 3168	SET DATAI	"COND/EBUS CTL,EBUS CTL/DATAI,AD/0S,AR/AD"
; 3169	SET DATAO	"COND/EBUS CTL,EBUS CTL/DATAO"
; 3170	SET EBUS DEMAND	"COND/EBUS CTL,EBUS CTL/EBUS DEMAND"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10-1
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--S						

; 3171	SET FL NO DIV	"COND/PCF_#,PC FLAGS/FDV CHK"
; 3172	SET FLAGS_AR	"SPEC/FLAG CTL,FLAG CTL/SET FLAGS"
; 3173	SET FLOV	"COND/PCF_#,PC FLAGS/FLOV"
; 3174	SET FPD		"COND/PCF_#,PC FLAGS/FPD"
; 3175	SET FXU		"COND/PCF_#,PC FLAGS/FXU"	;[224]
; 3176	SET HALTED	"COND/SPEC INSTR,SPEC INSTR/HALTED"
; 3177	SET IO PF	"COND/MBOX CTL,MBOX CTL/SET IO PF ERR"
; 3178	SET MTR PA EN	"COND/EBOX STATE,#/225"
; 3179	SET NO DIVIDE	"COND/PCF_#,PC FLAGS/DIV CHK"
; 3180	SET PC+1 INH	"COND/SPEC INSTR,SPEC INSTR/INH PC+1"
; 3181	SET PI CYCLE	"COND/SPEC INSTR,SPEC INSTR/SET PI CYCLE"
; 3182	SET PXCT	"COND/SPEC INSTR,SPEC INSTR/PXCT"
; 3183	SET SR1		"COND/SR_#,#/64"
; 3184	SET SR2		"COND/SR_#,#/62"
; 3185	SET SR3		"COND/SR_#,#/61"
; 3186	SET SXCT	"COND/SPEC INSTR,SPEC INSTR/SXCT"
; 3187	SET TRACKS EN	"COND/EBOX STATE,#/131"
; 3188	SET TRK+PA EN	"COND/EBOX STATE,#/231"
; 3189	SFLGS		"FMADR/AC0"
; 3190	SFLGS_AR	"SFLGS,FM_AR"
; 3191	SH DISP		"SH/SHIFT AR!ARX,DISP/SH0-3"
; 3192	SIGNS DISP	"DISP/SIGNS"
; 3193	SKIP FETCH	"ADA/AR,AD/A,VMA/PC+1,MEM/FETCH,FETCH/SKIP"
; 3194	
; 3195	SKP -EBUS GRANT	"SKIP/-EBUS GRANT"
; 3196	SKP -EBUS XFER	"SKIP/-EBUS XFER"
; 3197	.IF/MODEL.B
; 3198	SKP -LOCAL AC ADDR	"SKIP/-LOCAL AC ADDR"
; 3199	.ENDIF/MODEL.B
; 3200	SKP -START	"SKIP/-START"
; 3201	.IF/MODEL.B
; 3202	SKP -VMA SEC0	"SKIP/-VMA SEC0"
; 3203	.ENDIF/MODEL.B
; 3204	SKP AC REF	"SKIP/AC REF"
; 3205	SKP AC#0	"SKIP/AC#0"
; 3206	SKP AC0+	"FMADR/AC0,ADB/FM,AD/SETCB,SKIP/AD0"
; 3207	SKP AC0-	"FMADR/AC0,ADB/FM,AD/B,SKIP/AD0"
; 3208	SKP AD NE	"SKIP/AD#0"
; 3209	SKP AD0		"SKIP/AD0"
; 3210	SKP ADX0	"SKIP/ADX0"
; 3211	SKP AR EQ	"ADA EN/0S,ADB/AR*4,AD/ORCB+1,SKIP/AD CRY0"
; 3212	SKP AR EQ -1	"ADA/AR,AD/CRY A EQ -1,SKIP/AD CRY0"
; 3213	SKP AR GT BR	"ADA/AR,ADB/BR,AD/XOR,SKIP/AD CRY0"
; 3214	SKP AR NE	"ADA/AR,AD/CRY A#0,SKIP/AD CRY0"
; 3215	SKP AR NE BR	"ADA/AR,ADB/BR,AD/XOR,SKIP/AD#0"
; 3216	SKP AR SIG	"ADA/AR,AD/A+XCRY,SPEC/XCRY AR0,SKIP/AD#0"
; 3217	SKP AR0		"SKIP/AR0"
; 3218	SKP AR1		"ADA/AR,AD/A*2,SKIP/AD0"
; 3219	SKP AR18	"SKIP/AR18"
; 3220	SKP AR2		"ADB/AR*4,AD/B,SKIP/AD0"
; 3221	SKP AR6		"SCADB/AR6-11,SCADA/#,#/40,SCAD/AND,SKIP/SCAD#0"
; 3222	SKP ARX LE BRX	"ADA EN/EN,ADB/BR,AD/A-B-1,SKIP/ADX0"
; 3223	SKP ARX LT BRX	"ADA EN/EN,ADB/BR,AD/A-B,SKIP/ADX0"
; 3224	SKP ARX NE	"ADA/ARX,AD/CRY A#0,SKIP/AD CRY0"
; 3225	SKP ARX+MQ NE	"ADA/MQ,AD/CRY A#0,SPEC/AD LONG,SKIP/AD CRY0"
; 3226	SKP ARX0	"SKIP/ARX0"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10-2
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--S						

; 3227	SKP ARX2	"ADB/AR*4,AD/B,SKIP/ADX0"
; 3228	
; 3229	SKP BR EQ	"ADA EN/0S,ADB/BR,AD/CRY A GE B,SKIP/AD CRY0"
; 3230	SKP BR EQ -1	"ADA EN/0S,ADB/BR,AD/A+B+1,SKIP/AD CRY0"
; 3231	SKP BR0		"SKIP/BR0"
; 3232	SKP CRY0	"SKIP/AD CRY0"
; 3233	SKP EVEN PAR	"SKIP/EVEN PAR"
; 3234	SKP EXP NE	"SCADA/AR EXP,SCAD/A,SKIP/SCAD#0"
; 3235	SKP FE0		"SCADA/FE,SCAD/A,SKIP/SCAD0"
; 3236	SKP FETCH	"SKIP/FETCH"
; 3237	SKP INTRPT	"SKIP/INTRPT"
; 3238	SKP IO LEGAL	"SKIP/IO LEGAL"
; 3239	SKP KERNEL	"SKIP/KERNEL"
; 3240	SKP MQ EQ -1	"ADA/MQ,AD/CRY A EQ -1,SKIP/AD CRY0"
; 3241	SKP MQ NE	"ADA/MQ,AD/CRY A#0,SKIP/AD CRY0"
; 3242	SKP P NE	"SCADA/AR0-5,SCAD/A,SKIP/SCAD#0"
; 3243	SKP P!S XCT	"SKIP/P!S XCT"
; 3244	.IF/MODEL.B
; 3245	SKP PC SEC0	"SKIP/PC SEC0"
; 3246	.ENDIF/MODEL.B
; 3247	SKP PI CYCLE	"SKIP/PI CYCLE"
; 3248	SKP RPW		"SKIP/RPW REF"
; 3249	SKP RUN		"SKIP/RUN"
;;3250	.IFNOT/MODEL.B
;;3251	SKP SC LE 36	"SCADB/SC,SCADA/#,#/-36.,SCAD/A+B,SKIP/SCAD0"
; 3252	.ENDIF/MODEL.B
; 3253	SKP SC NE	"SCADB/SC,SCADA EN/0S,SCAD/A+B,SKIP/SCAD#0"
; 3254	SKP SC0		"SKIP/SC0"
; 3255	SKP SCAD NE	"SKIP/SCAD#0"
; 3256	SKP SCAD0	"SKIP/SCAD0"
; 3257	SKP USER	"SKIP/USER"
; 3258	
; 3259	SLEN		"R10"		;MUST BE 170
; 3260	SLEN_AR		"SLEN,FM_AR"
; 3261	SR DISP		"DISP/SR"
; 3262	SR_#		"COND/SR_#"		;USED FOR NON-PAGE-FAIL APPLICATIONS
; 3263	SR_0		"COND/SR_#,#/0"
; 3264	SR_1		"COND/SR_#,#/1"
; 3265	SR_2		"COND/SR_#,#/2"		;[224]
; 3266	.IF/MODEL.B
; 3267	SR_BDD		"COND/SR_#,#/206"	;B2D AFTER UPDATING DST PTR
; 3268	SR_BDF		"COND/SR_#,#/203"	;B2D STORING FILLERS
; 3269	SR_BDT		"COND/SR_#,#/010"	;B2D IN TRANSLATION
; 3270	SR_BLT(DST)	"COND/SR_#,#/507"
; 3271	.IF/BLT.PXCT
; 3272	SR_BLT(PXCT DST)"COND/SR_#,#/107"
; 3273	SR_BLT(PXCT SRC)"COND/SR_#,#/307"	;SPECIAL FOR PXCT
; 3274	.ENDIF/BLT.PXCT
; 3275	SR_BLT(SRC)	"COND/SR_#,#/707"
; 3276	SR_DB		"COND/SR_#,#/102"	;D2B ANYWHERE
; 3277	SR_DST		"COND/SR_#,#/212"
; 3278	SR_DSTF		"COND/SR_#,#/214"
; 3279	SR_ED(+D)	"COND/SR_#,#/224"
; 3280	SR_ED(PAT)	"COND/SR_#,#/0"	;PATTERN REF IS EXTENDED
; 3281	SR_ED(S)	"COND/SR_#,#/101"
;;3282	.IFNOT/MODEL.B
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10-3
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--S						

;;3283	SR_BDD		"COND/SR_#,#/6"		;B2D AFTER UPDATING DST PTR
;;3284	SR_BDF		"COND/SR_#,#/3"		;B2D STORING FILLERS
;;3285	SR_BDT		"COND/SR_#,#/10"	;B2D IN TRANSLATION
;;3286	SR_BLT(DST)	"COND/SR_#,#/107"	;  BY PXCT 10,4
;;3287	SR_BLT(SRC)	"COND/SR_#,#/607"	;CONTEXT CONTROLLED BY PXCT 2,1
;;3288	SR_DB		"COND/SR_#,#/2"		;D2B ANYWHERE
;;3289	SR_DST		"COND/SR_#,#/12"
;;3290	SR_DSTF		"COND/SR_#,#/14"
;;3291	SR_ED(+D)	"COND/SR_#,#/24"
;;3292	SR_ED(PAT)	"COND/SR_#,#/0"
;;3293	SR_ED(S)	"COND/SR_#,#/1"
; 3294	.ENDIF/MODEL.B
; 3295	.IF/KLPAGE
; 3296	SR_MAP		"COND/SR_#,#/15"	;CATCH MAP PAGE FAILURES
; 3297	.ENDIF/KLPAGE
; 3298	.IF/MODEL.B
; 3299	SR_SRC		"COND/SR_#,#/111"
; 3300	SR_SRC+DST	"COND/SR_#,#/213"
;;3301	.IFNOT/MODEL.B
;;3302	SR_SRC		"COND/SR_#,#/11"
;;3303	SR_SRC+DST	"COND/SR_#,#/13"
; 3304	.ENDIF/MODEL.B
; 3305	SR_WORD		"COND/SR_#,#/17"	;WORD MOVES OF STRING INSTRS
; 3306	.IF/MODEL.B
; 3307	.IF/XADDR
; 3308	SR_XBLT(DST)	"COND/SR_#,#/316"
; 3309	SR_XBLT(SRC)	"COND/SR_#,#/216"
; 3310	.ENDIF/XADDR
; 3311	.ENDIF/MODEL.B
; 3312	SRCP		"FMADR/AC1"
; 3313	SRCP_AR		"SRCP,FM_AR"
; 3314	SRCP2		"FMADR/AC2"
; 3315	SRCP2_AR	"SRCP2,FM_AR"
; 3316	
; 3317	.IF/MODEL.B
; 3318	STACK UPDATE	"SPEC/STACK UPDATE"
; 3319	.ENDIF/MODEL.B
; 3320	STORE		"MEM/WRITE"
; 3321	.IF/BLT.PXCT
; 3322	STORE VMA(EA)_ARX	"VMA/LOAD,MEM/EA CALC,EA CALC/WRITE(E),ADA/ARX,AD/A"
;;3323	.IFNOT/BLT.PXCT
;;3324	STORE VMA(EA)_ARX		"ADA/ARX,AD/A,VMA/AD,STORE"
; 3325	.ENDIF/BLT.PXCT
; 3326	.IF/KLPAGE
; 3327	SV.AR		"P16"		;156 REQUIRED FOR PF.PAR HACK
;;3328	.IFNOT/KLPAGE
;;3329	SV.AR		"R0"
; 3330	.ENDIF/KLPAGE
; 3331	SV.AR_AR	"SV.AR,COND/FM WRITE"
; 3332	.IF/KLPAGE
; 3333	SV.ARX		"P17"		;157 REQUIRED FOR PF.PAR HACK
;;3334	.IFNOT/KLPAGE
;;3335	SV.ARX		"R1"
; 3336	.ENDIF/KLPAGE
; 3337	SV.ARX_AR	"SV.ARX,COND/FM WRITE"
; 3338	.IF/KLPAGE
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10-4
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--S						

; 3339	SV.BR		"P10"
; 3340	SV.BR_AR	"SV.BR,COND/FM WRITE"
; 3341	.ENDIF/KLPAGE
; 3342	SV.IOP		"R3"		;[233]
; 3343	SV.IOPF		"R2"
; 3344	SV.IOPF_AR	"SV.IOPF,COND/FM WRITE"	;IO PAGE FAIL WORD
; 3345	.IF/KLPAGE
; 3346	SV.PAR		"R0"		;Note not in PAGB block
; 3347	SV.PAR_AR	"SV.PAR,COND/FM WRITE"
; 3348	SV.PFW		"P12"
; 3349	SV.PFW_AR	"SV.PFW,COND/FM WRITE"
; 3350	SV.SC		"P11"
; 3351	SV.SC_AR	"SV.SC,COND/FM WRITE"
; 3352	SV.VMA		"P5"
; 3353	SV.VMA_AR	"SV.VMA,COND/FM WRITE"
; 3354	.ENDIF/KLPAGE
; 3355	SWD		"R1"		;BUFFER FOR SOURCE BYTE WORD
; 3356	SWD_AR		"SWD,FM_AR"
; 3357	SWEEP CACHE	"MEM/REG FUNC,MREG FNC/LOAD CCA"
; 3358	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 11
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--T, U, V, W, X				

; 3359	.TOC	"CRAM Macros--T, U, V, W, X"
; 3360	
; 3361	T0		"R6"
; 3362	T0_AR		"T0,FM_AR"
; 3363	T1		"R11"
; 3364	T1_AR		"T1,FM_AR"
; 3365	T2		"R12"
; 3366	T2_AR		"T2,FM_AR"
; 3367	TAKE INTRPT	"SKIP/-MTR REQ,J/MTRINT"
; 3368	TEST AR		"ADA/AR,AD/CRY A#0"
; 3369	TEST AR.AC0	"FMADR/AC0,ADB/FM,ADA/AR,AD/CRY A.B#0"
; 3370	TEST AR.BR	"ADB/BR,ADA/AR,AD/CRY A.B#0"
; 3371	TEST AR.MSK	"MSK,ADB/FM,ADA/AR,AD/CRY A.B#0"
; 3372	TEST ARX	"ADA/ARX,AD/CRY A#0"
; 3373	TEST ARX.AR*4	"ADA/ARX,ADB/AR*4,AD/CRY A.B#0"
; 3374	TEST BRL	"ADA EN/0S,ADB/BR,AD/ORCB+1,GEN CRY18"
; 3375	.IF/KLPAGE
; 3376	TEST CBR	"CBR,ADB/FM,AD/B,SKP AD NE"	;[247]
; 3377	.ENDIF/KLPAGE
; 3378	TEST FETCH	"VMA/PC+1,MEM/FETCH,FETCH/TEST"
; 3379	TRAP1		"COND/PCF_#,PC FLAGS/TRAP1"
; 3380	TRAP2		"COND/PCF_#,PC FLAGS/TRAP2"
; 3381	TRAP3		"COND/PCF_#,PC FLAGS/TRAP3"
;;3382	.IF/TRXDEF
;;3383	TRB		"E0"		;same as E0.
;;3384	TRB_AR		"TRB,FM_AR"
;;3385	TRX		"R17"
;;3386	TRX_AR		"TRX,FM_AR"
;;3387	TRX1		"R2"
;;3388	TRX1_AR		"TRX1,FM_AR"
;;3389	TRX2		"R1"
;;3390	TRX2_AR		"TRX2,FM_AR"
;;3391	TRX3		"R14"
;;3392	TRX3_AR		"TRX3,FM_AR"
; 3393	.ENDIF/TRXDEF
; 3394	
; 3395	UNCSH PHYS REF	"SPEC/SP MEM CYCLE,SP MEM/UNCSH+UNPAGE"
; 3396	UPT FETCH	"MEM/LOAD ARX,SPEC/SP MEM CYCLE,SP MEM/UPT FETCH"
; 3397	UPT REF		"SPEC/SP MEM CYCLE,SP MEM/UPT"
; 3398	USER REF	"SPEC/SP MEM CYCLE,SP MEM/USER"
; 3399	
; 3400	VMA_#		"VMA/LOAD,COND/VMA_#"
; 3401	VMA_#+AR32-35	"VMA/LOAD,COND/VMA_#+AR32-35"
; 3402	VMA_40		"VMA/LOAD,COND/VMA_#,#/40"
; 3403	VMA_40+PI*2	"VMA/LOAD,COND/VMA_#+PI*2,#/40"
; 3404	VMA_41		"VMA/LOAD,COND/VMA_#,#/41"
; 3405	VMA_41+PI*2	"VMA/LOAD,COND/VMA_#+PI*2,#/41"
; 3406	VMA_420+TRAP	"VMA/LOAD,COND/VMA_#+TRAP,#/420"
; 3407	VMA_430+MODE	"VMA/LOAD,COND/VMA_#+MODE,#/430"
; 3408	VMA_AC3		"FMADR/AC3,ADB/FM,AD/B,VMA/AD"
; 3409	VMA_AR		"ADA/AR,AD/A,VMA/AD"
; 3410	VMA_AR AND ADMSK "ADMSK,ADB/FM,ADA/AR,AD/AND,VMA/AD"
; 3411	VMA_AR+1	"ADA/AR,AD/A+1,VMA/AD"
; 3412	VMA_AR+BR	"ADA/AR,ADB/BR,AD/A+B,VMA/AD"
; 3413	.IF/KLPAGE
; 3414	VMA_AR+CBR	"CBR,ADB/FM,ADA/AR,AD/A+B,VMA/AD"
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 11-1
; MACRO.MIC[10,5351]	21:14 28-Nov-83			CRAM Macros--T, U, V, W, X				

; 3415	.ENDIF/KLPAGE
; 3416	VMA_AR+E0	"E0,ADB/FM,ADA/AR,AD/A+B,VMA/AD"
; 3417	VMA_AR+E0+1	"E0,ADB/FM,ADA/AR,AD/A+B+1,VMA/AD"
; 3418	VMA_AR+E1	"E1,ADB/FM,ADA/AR,AD/A+B,VMA/AD"
; 3419	.IF/KLPAGE
; 3420	VMA_AR+SBR	"SBR,ADB/FM,ADA/AR,AD/A+B,VMA/AD"
; 3421	.ENDIF/KLPAGE
;;3422	.IF/TRXDEF
;;3423	VMA_AR+TRB	"TRB,ADB/FM,ADA/AR,AD/A+B,VMA/AD"
; 3424	.ENDIF/TRXDEF
; 3425	VMA_AR+XR	"GEN AR+XR,VMA/AD"
; 3426	VMA_AR-1	"ADA/AR,AD/A-1,VMA/AD"
; 3427	VMA_ARX		"ADA/ARX,AD/A,VMA/AD"
; 3428	VMA_ARX AND ADMSK "ADMSK,ADB/FM,ADA/ARX,AD/AND,VMA/AD"
; 3429	VMA_ARX+1	"ADA/ARX,AD/A+1,VMA/AD"
; 3430	VMA_ARX+BR	"ADA/ARX,ADB/BR,AD/A+B,VMA/AD"
; 3431	.IF/KLPAGE
; 3432	VMA_ARX+CBR	"CBR,ADB/FM,ADA/ARX,AD/A+B,VMA/AD"
; 3433	.ENDIF/KLPAGE
; 3434	VMA_ARX+XR	"GEN ARX+XR,VMA/AD"
; 3435	
; 3436	VMA_BR		"ADB/BR,AD/B,VMA/AD"
; 3437	VMA_E0+1	"E0,ADB/FM,ADA EN/0S,AD/A+B+1,VMA/AD"
; 3438	VMA_MQ		"ADA/MQ,AD/A,VMA/AD"
; 3439	VMA_MQ+1	"ADA/MQ,AD/A+1,VMA/AD"		;[310]
; 3440	VMA_PC		"VMA/PC"			;[252]
; 3441	VMA_PC+1	"VMA/PC+1"
; 3442	.IF/KLPAGE
; 3443	VMA_SV.VMA	"SV.VMA,ADB/FM,AD/B,VMA/AD"
; 3444	.ENDIF/KLPAGE
;;3445	.IF/TRXDEF
;;3446	VMA_TRB		"TRB,ADB/FM,AD/B,VMA/AD"
; 3447	.ENDIF/TRXDEF
;;3448	.IFNOT/MODEL.B
;;3449	VMA_VMA HELD	"COND/SEL VMA,ADA/PC,AD/A,VMA/AD"
; 3450	.IF/MODEL.B
;;3451	.IFNOT/KLPAGE
;;3452	VMA_VMA HELD	"COND/SEL VMA,ADA/PC,AD/A,VMA/AD"
; 3453	.IF/KLPAGE
; 3454	VMA_VMA HELD	"COND/SEL VMA,ADA/PC,AD/A,VMA/AD,MEM/RESTORE VMA"
; 3455	.ENDIF/KLPAGE
; 3456	.ENDIF/MODEL.B
; 3457	VMA_VMA+1	"VMA/VMA,COND/VMA INC"
; 3458	VMA_VMA-1	"VMA/VMA,COND/VMA DEC"
; 3459	
; 3460	WR PT ENTRY	"COND/MBOX CTL,MBOX CTL/PT WR"
; 3461	WR REFILL RAM	"MEM/REG FUNC,MREG FNC/WR REFILL RAM"
; 3462	.IF/MODEL.B
; 3463	WRITE (E)	"MEM/EA CALC,EA CALC/WRITE(E),VMA/LOAD"
; 3464	.ENDIF/MODEL.B
; 3465	
; 3466	XR		"FMADR/XR"
; 3467	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 12
; MACRO.MIC[10,5351]	21:14 28-Nov-83			DRAM Macros						

; 3468	.TOC	"DRAM Macros"
; 3469	
; 3470		.DCODE
; 3471	;
; 3472	;	These macros have not been sorted alphabetically, as (1) there are
; 3473	;	too few to bother, and (2) no one ever looks at the DRAM anyway!
; 3474	;
; 3475	;"A FIELD" MACROS
; 3476	; DECODED TO TELL WHAT TO DO WITH EFFECTIVE ADDRESS
; 3477	; AND WHETHER TO PREFETCH FROM PC+1
; 3478	
; 3479	I	"A/IMMED"
; 3480	I-PF	"A/IMMED-PF"
;;3481	.IFNOT/XADDR
;;3482	EA	"A/IMMED"
; 3483	.IF/XADDR
; 3484	EA	"A/ADDR"
; 3485	.ENDIF/XADDR
; 3486	W	"A/WR-TST"
; 3487	R	"A/READ"
; 3488	R-PF	"A/READ-PF"
; 3489	RW	"A/RD-WR"
; 3490	.IF/RPW
; 3491	RPW	"A/RD-P-WR"
;;3492	.IFNOT/RPW
;;3493	RPW	"A/RD-WR"
; 3494	.ENDIF/RPW
;;3495	.IF/WRTST
;;3496	IW	"A/WR-TST"
; 3497	.IFNOT/WRTST
; 3498	IW	"A/IMMED"
; 3499	.ENDIF/WRTST
; 3500	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 13
; MACRO.MIC[10,5351]	21:14 28-Nov-83			DRAM Macros						

; 3501	;"B FIELD" MACROS
; 3502	; DECODED BY MOST INSTRUCTIONS TO TELL WHERE TO STORE RESULTS,
; 3503	; BUT USED BY OTHERS TO HOLD VARIOUS "MODE" INFORMATION
; 3504	
; 3505	AC	"B/AC"
; 3506	M	"B/MEM"
; 3507	S	"B/SELF"
; 3508	B	"B/BOTH"
; 3509	DBL AC	"B/DBL AC"
; 3510	DBL B	"B/DBL BOTH"
; 3511	FL-AC	"B1-2/AC"
; 3512	FL-MEM	"B1-2/MEM"
; 3513	FL-BOTH	"B1-2/BOTH"
; 3514	
; 3515	TN-	"B0/CRY0(1),B1-2/0"
; 3516	TNE	"B0/CRY0(0),B1-2/0"
; 3517	TNA	"B0/CRY0(0),B1-2/0"
; 3518	TNN	"B0/CRY0(1),B1-2/0"
; 3519	TZ-	"B0/CRY0(1),B1-2/1"
; 3520	TZE	"B0/CRY0(0),B1-2/1"
; 3521	TZA	"B0/CRY0(0),B1-2/1"
; 3522	TZN	"B0/CRY0(1),B1-2/1"
; 3523	TC-	"B0/CRY0(1),B1-2/2"
; 3524	TCE	"B0/CRY0(0),B1-2/2"
; 3525	TCA	"B0/CRY0(0),B1-2/2"
; 3526	TCN	"B0/CRY0(1),B1-2/2"
; 3527	TO-	"B0/CRY0(1),B1-2/3"
; 3528	TOE	"B0/CRY0(0),B1-2/3"
; 3529	TOA	"B0/CRY0(0),B1-2/3"
; 3530	TON	"B0/CRY0(1),B1-2/3"
; 3531	
; 3532	SJC-	"B/SJC-"
; 3533	SJCL	"B/SJCL"
; 3534	SJCE	"B/SJCE"
; 3535	SJCLE	"B/SJCLE"
; 3536	SJCA	"B/SJCA"
; 3537	SJCGE	"B/SJCGE"
; 3538	SJCN	"B/SJCN"
; 3539	SJCG	"B/SJCG"
; 3540	
; 3541	BLKI	"B0/CRY0(0),B1-2/2"
; 3542	BLKO	"B0/CRY0(0),B1-2/0"
; 3543	DATAI	"B/6"
; 3544	DATAO	"B/4"
; 3545	CONI	"B/6"
; 3546	CONO	"B/4"
; 3547	CONSO	"B0/CRY0(1),B1-2/1"
; 3548	CONSZ	"B0/CRY0(0),B1-2/1"
; 3549	
						; 3550	.BIN
						; 3551		.UCODE
						; 3552	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; BASIC.MIC[10,5351]	19:05 28-Nov-83			THE INSTRUCTION LOOP					

						; 3553	.TOC	"THE INSTRUCTION LOOP"
						; 3554	
						; 3555	;	Comments updated [302]
						; 3556	;
						; 3557	;INSTRUCTION DECODE, EA COMPUTATION, AND OPERAND FETCH
						; 3558	;
						; 3559	;	IN GENERAL, AN INSTRUCTION IS STARTED AT XCTGO.
						; 3560	; AT THIS TIME THE INSTRUCTION IS IN ARX AND IR, AND PC HAS ITS ADDRESS.
						; 3561	; THE DRAM OUTPUTS AND "AC" BITS WILL SETTLE DURING THIS
						; 3562	; MICROINSTRUCTION, AND WILL BE LATCHED BY THE CLOCK WHICH ENDS
						; 3563	; THE CYCLE.  XCTGO DISPATCHES ON THE STATE OF THE
						; 3564	; INDIRECT AND INDEX BITS OF THE ARX (EA MOD DISP) TO COMPEA OR
						; 3565	; ONE OF THE THREE LOCATIONS FOLLOWING IT.
						; 3566	;	IF INDIRECT IS SPECIFIED, THE INDIRECT POINTER IS FETCHED (AT
						; 3567	; COMPEA+2 OR +3 DEPENDING ON WHETHER INDEXING IS ALSO SPECIFIED).
						; 3568	; WE WAIT FOR IT AT INDRCT, AND THEN LOOP BACK TO COMPEA.  WHEN NO
						; 3569	; INDIRECT IS CALLED FOR, WE COMPUTE THE INSTRUCTION'S EFFECTIVE ADDRESS
						; 3570	; (EA) AT COMPEA OR COMPEA+1 (DEPENDING ON WHETHER INDEXING IS CALLED
						; 3571	; FOR), AND PERFORM THE FUNCTION "A READ", WHOSE OPERATION DEPENDS
						; 3572	; ON THE DRAM A FIELD, AS FOLLOWS:
						; 3573	;
						; 3574	; MACRO	 A-FLD	MEM FUNCTION	VMA	DISPATCH
						; 3575	;  I	  0	NONE		AD(=EA)  DRAM J
						; 3576	; I-PF	  1	FETCH		PC+1	 DRAM J
						; 3577	; EA	  2	30 BIT EA CALC	AD	 DRAM J
						; 3578	;  W	  3	WR TST		AD	   3 (MODEL B)	43 (MODEL A)
						; 3579	;  R	  4	READ		AD	   4		44
						; 3580	; R-PF	  5	READ		AD	   5		45
						; 3581	; RW	  6	READ/WR TST	AD	   6		46
						; 3582	; RPW	  7	RD-PSE/WR TST	AD	   7		47
						; 3583	;
						; 3584	;	A FIELD VALUES 0 AND 1 ARE USED FOR INSTRUCTIONS WHICH NEITHER
						; 3585	; READ NOR WRITE THE CONTENTS OF EA (IMMEDIATE-MODE INSTRUCTIONS,
						; 3586	; JUMPS, ETC).  THESE DISPATCH FROM "A READ" DIRECTLY TO THE MICROCODE
						; 3587	; WHICH HANDLES THE INSTRUCTION.  IF THE A FIELD CONTAINS 1, "A READ"
						; 3588	; CAUSES A PREFETCH (FROM PC+1), SO THAT THE MBOX CAN WORK ON GETTING
						; 3589	; THE NEXT INSTRUCTION INTO ARX WHILE THE EBOX PERFORMS THIS ONE.
						; 3590	;	IF THE A FIELD CONTAINS A 2, THE EA CALCULATION WILL PROVIDE
						; 3591	; A FULL 30 BIT EFFECTIVE ADDRESS AT THE END.  THIS WAS INTRODUCED
						; 3592	; WITH EXTENDED ADDRESSING, TO ALLOW SUCH INSTRUCTIONS AS XMOVEI,
						; 3593	; PUSHJ, AND JSP TO COMPUTE A COMPLETE ADDRESS WITHOUT ACTUALLY
						; 3594	; REFERENCING IT.  OTHERWISE, THIS IS SIMILAR TO AN A FIELD OF 0.
						; 3595	;	IF THE A FIELD CONTAINS 3, THE MBOX PERFORMS A PAGING CHECK ON
						; 3596	; EA, AND CAUSES A PAGE FAIL IF THAT LOCATION IS NOT WRITABLE.
						; 3597	; THE MICROCODE GOES TO 3 TO WAIT FOR COMPLETION OF THE PAGE CHECK,
						; 3598	; AND AT THAT LOCATION LOADS AC INTO AR.  THE WRITABILITY OF EA IS
						; 3599	; VERIFIED AT THIS TIME TO PREVENT INCORRECTLY SETTING FLAGS OR
						; 3600	; THE PROCESSOR STATE IF THE INSTRUCTION WILL BE ABORTED BY PAGE
						; 3601	; FAILURE.  LOCATION 3 THEN DISPATCHES TO THE HANDLER FOR THE
						; 3602	; CURRENT INSTRUCTION.
						; 3603	;	A FIELD VALUES 4 TO 7 PERFORM READS FROM EA.  6 AND 7 ALSO TEST
						; 3604	; THE WRITABILITY OF THE LOCATION, AND 7 PERFORMS THE FIRST HALF OF
						; 3605	; A READ-PAUSE-WRITE CYCLE IF EA IS AN UN-CACHED ADDRESS.  THE DISPATCH
						; 3606	; IS TO A, WHERE WE WAIT FOR MEMORY DATA TO ARRIVE IN AR.  IF THE A
						; 3607	; FIELD WAS 5, WE PREFETCH FROM PC+1 AS SOON AS THE DATA ARRIVES.
						; 3608	; IN ANY CASE, WE DISPATCH ACCORDING TO THE DRAM J FIELD TO THE
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-1
; BASIC.MIC[10,5351]	19:05 28-Nov-83			THE INSTRUCTION LOOP					

						; 3609	; HANDLER FOR THE INSTRUCTION.
						; 3610	;	IF A PAGE FAIL OCCURS AT ANY TIME (EITHER IN THIS CODE OR DURING
						; 3611	; INSTRUCTION EXECUTION) THE MICROPROCESSOR TRAPS TO CRAM LOCATION
						; 3612	; 1777 OR 3777, WHERE IT CAUSES A PAGE FAIL TRAP.
						; 3613	;
						; 3614	;	MOST INSTRUCTIONS (THE MOVE, HALFWORD, AND BOOLEAN GROUPS,
						; 3615	; PLUS ADD AND SUB) ARE PERFORMED BY HANDLERS CONSISTING OF ONE OR
						; 3616	; TWO MICROINSTRUCTIONS WHICH LEAVE THE RESULT IN AR, AND COMPLETE
						; 3617	; BY INVOKING THE "EXIT" MACRO.  EXIT USES THE MEM/B WRITE FUNCTION
						; 3618	; TO BEGIN A STORE TO MEMORY FOR THOSE MODES IN WHICH THE RESULT
						; 3619	; GOES TO MEMORY, AND DISP/DRAM B TO GET TO ONE OF THE MICROINSTRUCTIONS
						; 3620	; FOLLOWING ST0.  THIS CODE DEPENDS ON A CERTAIN AMOUNT OF CORRELATION
						; 3621	; BETWEEN THE DRAM A AND B FIELDS.  IN PARTICULAR, STAC (STORE AC)
						; 3622	; ASSUMES THAT A PREFETCH HAS OCCURRED, WHILE THE OTHERS ASSUME THAT
						; 3623	; NO PREFETCH HAS OCCURED.  THUS NORMAL AND IMMEDIATE MODES, WHOSE
						; 3624	; RESULTS GO ONLY TO AC, MUST PREFETCH IN THE DRAM A FIELD, WHILE
						; 3625	; MEM, BOTH, AND SELF MODES, WHOSE RESULTS GO TO MEMORY, MUST NOT.
						; 3626	; (THIS RESTRICTION IS AVOIDED FOR THOSE INSTRUCTIONS WHICH NEVER
						; 3627	; PREFETCH -- IN MUL, DIV, AND IDIV BY USE OF THE EXIT TO ST2AC,
						; 3628	; AND IN IMUL AND THE SINGLE PRECISION FLOATING POINT
						; 3629	; INSTRUCTIONS BY A RESTRICTED EXIT TO ST6.)
						; 3630	;	ANOTHER LARGE SET OF INSTRUCTIONS (SKIP, AOS, SOS, JUMP, AOJ,
						; 3631	; SOJ, AOBJ, CAI, CAM, AND THE TEST GROUP) KNOWS WHERE TO PUT THE
						; 3632	; RESULTS WITHOUT MODE INFORMATION, AND THEY USE THE DRAM B FIELD TO
						; 3633	; DETERMINE WHETHER TO SKIP OR JUMP, AS A FUNCTION OF THEIR OPERANDS.
						; 3634	; SKIP, AOS, AND SOS ARE CONSIDERED SELF-MODE INSTRUCTIONS,
						; 3635	; AND AFTER MAKING THE FETCH DECISION (AND RE-WRITING MEMORY, IN
						; 3636	; THE CASE OF AOS OR SOS), JUMP TO STSELF TO DECIDE WHETHER OR NOT
						; 3637	; TO PUT THE RESULT ALSO IN AC.  THE OTHER INSTRUCTIONS OF THIS SET
						; 3638	; JUMP TO STORAC OR NOP AFTER MAKING THE FETCH DECISION, DEPENDING
						; 3639	; ON WHETHER OR NOT THE OPCODE DEFINITION REQUIRES MODIFICATION OF AC.
						; 3640	; (NOTE THE DIFFERENCE BETWEEN STAC AND FINI ON THE ONE HAND,
						; 3641	; AND STORAC AND NOP ON THE OTHER -- STORAC AND NOP MUST BE USED WHEN
						; 3642	; THE NEXT INSTRUCTION FETCH OCCURS ON THE PRECEDING EBOX CYCLE, BECAUSE
						; 3643	; NICOND MUST NOT IMMEDIATELY FOLLOW A FETCH (ONE CYCLE REQUIRED FOR
						; 3644	; VMA AC REF TO MAKE IT THROUGH THE NICOND LOGIC), STAC AND FINI ARE
						; 3645	; USED WHEN THERE HAS BEEN AN INTERVENING CYCLE.)
						; 3646	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; BASIC.MIC[10,5351]	19:05 28-Nov-83			NEXT INSTRUCTION DISPATCH				

						; 3647	.TOC	"NEXT INSTRUCTION DISPATCH"
						; 3648	
						; 3649	;START BY PUTTING PC WORD IN AR, JUMP HERE
						; 3650	0:
						;;3651	.IFNOT/MODEL.B
						;;3652	START:	SET FLAGS_AR,VMA_AR,MEM/SEC 0,	;LOAD FLAGS, CLEAR VMAX
						;;3653			BR/AR,J/SETPC		;THEN JUMP TO ADDR IN AR
						; 3654	.IF/MODEL.B
U 0000, 1125,0001,0000,0000,0000,0024,0020	; 3655	START:	SET FLAGS_AR,J/SETPC		;LOAD FLAGS, USE REST AS ADDR
						; 3656	.ENDIF/MODEL.B
						; 3657	1:					;MUST BE AT START+1
U 0001, 0270,0001,0000,0000,0117,0010,0000	; 3658	CONT:	VMA/PC,FETCH,J/XCTW		;HERE TO CONTINUE FROM PC
						; 3659	;
						; 3660	;	Comments updated [321].
						; 3661	;
						; 3662	;	DISP/NICOND (THE "NXT INSTR" MACRO) BRINGS US TO ONE OF THE
						; 3663	; LOCATIONS FOLLOWING "NEXT".  PC HAS BEEN UPDATED TO ADDRESS THE NEXT
						; 3664	; INSTRUCTION IN THE NORMAL FLOW, AND IF IT IS FROM MEMORY
						; 3665	; (AS OPPOSED TO AC'S), THE INSTRUCTION IS IN ARX AND IR.
						; 3666	;	THE NICOND DISPATCH IS PRIORITY ENCODED, AS FOLLOWS:
						; 3667	; [FOR FULL DETAILS, SEE PRINT CON2]
						; 3668	;(1)	IF PI CYCLE IS TRUE, GO TO NEXT FOR SECOND HALF
						; 3669	; OF STANDARD OR VECTOR INTERRUPT.
						; 3670	;(2)	IF THE RUN FLOP (CON RUN) IS OFF, GO TO NEXT+2, FROM WHICH THE
						; 3671	; MICROCODE WILL ENTER THE HALT LOOP TO WAIT FOR THE CONSOLE TO RESTART
						; 3672	; INSTRUCTION PROCESSING.
						; 3673	;(3)	IF THE METER HAS A REQUEST, GO TO NEXT+4 (MTRINT) TO SERVE IT.
						; 3674	;(4)	IF THE PI SYSTEM HAS A REQUEST READY, GO TO NEXT+6 (INTRPT)
						; 3675	; TO START A PI CYCLE.
						; 3676	;(5)	IF CON UCODE STATE 05 (TRACK EN) IS SET, GO TO NEXT+10 OR 11.
						; 3677	; Normally NEXT+10 will be used; if a trap flag was set by the previous
						; 3678	; instruction, however, NEXT+11 will be reached.  This is the only
						; 3679	; way the trap will ever be detected, so be cautious of ignoring it.
						; 3680	; THIS FLOP IS ENTIRELY UNDER CONTROL OF THE MICROCODE, AND IS ONLY
						; 3681	; USED FOR THE SPECIAL STATISTICS-GATHERING MICROCODE.
						; 3682	;(6)	IF THE LAST INSTRUCTION SET A TRAP FLAG, GO TO NEXT+13 OR +17,
						; 3683	; IT DOESN'T MATTER WHICH.  (NEXT+17 will be reached if VMA contains
						; 3684	; an AC address, probably irrelevant when a trap flag was set.)
						; 3685	;(7)	IF VMA CONTAINS AN AC ADDRESS, IMPLYING THAT THE NEXT
						; 3686	; INSTRUCTION IS TO COME OUT OF FAST MEMORY, GO TO NEXT+16 TO GET IT.
						; 3687	;(10)	--NORMAL CASE-- THE INSTRUCTION IS IN ARX, READY TO GO, GO
						; 3688	; TO NEXT+12 (XCTGO).
						; 3689	;
						; 3690	;	The NICOND dispatch yields the following:
						; 3691	;
						; 3692	;	+0	CON PI CYCLE
						; 3693	;	+1	Unused
						; 3694	;	+2	-CON RUN (i.e. halt)
						; 3695	;	+3	Unused
						; 3696	;	+4	CON MTR INT REQ (meter interrupt)
						; 3697	;	+5	Unused
						; 3698	;	+6	CON INT REQ (interrupt)
						; 3699	;	+7	Unused
						; 3700	;	+10	CON UCODE STATE 05 (tracks enable)
						; 3701	;	+11	CON UCODE STATE 05+TRAP REQ (tracks enable+trap)
						; 3702	;	+12	-VM AC REF (normal instruction)
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2-1
; BASIC.MIC[10,5351]	19:05 28-Nov-83			NEXT INSTRUCTION DISPATCH				

						; 3703	;	+13	-VM AC REF+TRAP REQ (normal instruction+trap)
						; 3704	;	+14	Unused
						; 3705	;	+15	Unused
						; 3706	;	+16	-CON PI CYCLE (AC ref)
						; 3707	;	+17	-CON PI CYCLE+TRAP REQ (AC ref+trap)
						; 3708	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; BASIC.MIC[10,5351]	19:05 28-Nov-83			NEXT INSTRUCTION DISPATCH				

						; 3709	;NICOND (NXT INSTR) DISPATCH BLOCK
						; 3710	
						; 3711	=11*0000				;USE LOC'NS INACCESSIBLE TO DRAM
						; 3712	NEXT:	AR_MQ+1,VMA/AD,			;2ND PART OF INTERRUPT
U 0140, 3152,4023,2000,0000,0320,1510,0714	; 3713			SET PI CYCLE,J/PICYC2	;CONTINUE WITH 41+2N
						; 3714	=0010	CLR AR,ARX_1S,SC_#,#/23.,	;HERE IF RUN FLOP OFF
U 0142, 1630,2341,0200,0302,0000,0450,0027	; 3715			CALL,J/ROTS		;BUILD ADDR MASK
						;;3716	.IFNOT/EXTEXP				;[230]
						;;3717		ADMSK,FM_AR,AR_AR+1,J/CHALT	;SAVE MASK, GO HALT
						; 3718	.IF/EXTEXP				;[230]
U 0143, 0032,3703,5007,0000,0000,1010,0175	; 3719		FM[ADMSK]_AR,AR_AR*2,J/EXMSK	;[230] AR HAS 77,,777776
						; 3720	.ENDIF/EXTEXP				;[230]
						; 3721	=0100
U 0144, 3130,0001,0000,0000,0000,2110,0145	; 3722	MTRINT:	CLR ACCOUNT EN,J/MTRREQ		;HERE IF METER REQUEST UP
U 0145, 3147,0001,3000,0302,0060,0010,0002	; 3723		AR_EBUS,SC_#,#/2,J/PICYC1	;HERE IF TAKE INTRPT DOESNT FIND
						; 3724	=0110					; A METER REQUEST
U 0146, 3147,0001,3000,0302,0060,0010,0002	; 3725	INTRPT:	AR_EBUS,SC_#,#/2,J/PICYC1	;HERE IF INTERRUPT PENDING
						; 3726	;
						; 3727	;	[321] Even if statistics are enabled, traps should not be lost,
						; 3728	;	so override TRACKS and friends when TRAP is set.
						; 3729	;
						;;3730	.IF/TRACKS
						;;3731	=1000	AR_TRX+1,GEN CRY18,SKP CRY0,J/TRK1;STORE PC BEFORE EXECUTING INSTR
						;;3732		VMA_420+TRAP,J/TRAPX		;[321] Don't lose traps!
						; 3733	.ENDIF/TRACKS
						;;3734	.IF/OP.CNT
						;;3735	=1000	SC_#,#/9.,SKP USER,J/OPCT1	;COUNT THIS INSTR
						;;3736		VMA_420+TRAP,J/TRAPX		;[321] Don't lose traps!
						; 3737	.ENDIF/OP.CNT
						;;3738	.IF/OP.TIME
						;;3739	=1000	AR_2,CLR TRK+PA EN,J/OPTM0	;TIME THIS INSTR
						;;3740		VMA_420+TRAP,J/TRAPX		;[321] Don't lose traps!
						; 3741	.ENDIF/OP.TIME
						;;3742	.IF/SO.CNT
						;;3743	=1000
						;;3744	TRK0:	ARX_TRB,BRX/ARX,SKP AC REF,J/TRK1;GET PREV INSTR HOLD THIS INSTR
						;;3745		VMA_420+TRAP,J/TRAPX		;[321] Don't lose traps!
						; 3746	.ENDIF/SO.CNT
						;;3747	.IF/SO2.CNT
						;;3748	=1000
						;;3749	TRK0:	ARX_TRB,BRX/ARX,SKP AC REF,J/TRK1;GET PREV INSTR HOLD THIS INSTR
						;;3750		VMA_420+TRAP,J/TRAPX		;[321] Don't lose traps!
						; 3751	.ENDIF/SO2.CNT
						; 3752	=1010
						; 3753	XCTGO:	BRX/ARX,AR_ARX,SET ACCOUNT EN,	;SAVE INSTR, SIGN EXTEND Y,
U 0152, 0174,2341,4022,0000,2000,2136,0105	; 3754			XR,EA MOD DISP,J/COMPEA	; GO CALCULATE EA
U 0153, 0060,4001,0000,0000,0100,3110,0420	; 3755	TRAP:	VMA_420+TRAP,J/TRAPX		;HERE IF TRAP BITS SET
U 0156, 0152,3240,0203,0000,0020,1410,0000	; 3756	=1110	ARX_FM(VMA),TIME/3T,LOAD IR,J/XCTGO	;HERE IF INSTR IS IN FM
U 0157, 0060,4001,0000,0000,0100,3110,0420	; 3757		VMA_420+TRAP,J/TRAPX		;HERE IF TRAP BITS SET
						; 3758	
						; 3759	;HERE ON TRAPS, VMA SETUP WITH 420+TRAP CODE
						; 3760	=11****
U 0060, 0064,4001,0000,0000,0013,0026,0033	; 3761	TRAPX:	LOAD ARX,PT REF			;GET AND XCT TRAP INSTR
U 0064, 0270,4001,0000,0000,0000,1510,0100	; 3762	=11****	SET PC+1 INH			;DON'T INCREMENT PC FOR THIS INSTR
						; 3763	
						; 3764	;HERE AFTER FETCHING INSTR TO BE EXECUTED
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3-1
; BASIC.MIC[10,5351]	19:05 28-Nov-83			NEXT INSTRUCTION DISPATCH				

						; 3765	
						; 3766	=11****
U 0270, 0152,3240,0003,0000,0022,1410,0000	; 3767	XCTW:	ARX_MEM,LOAD IR,J/XCTGO		;GET INSTR TO XCT
						; 3768	.IF/EXTEXP				;[230]
U 0032, 0117,4003,2000,0000,0020,0010,0000	; 3769	EXMSK:	AR_AR+1				;[230] GIVES 77,,777777
U 0117, 0661,0001,0007,0000,0000,1010,0164	; 3770		FM[EXPMSK]_AR,J/CHALT		;[230] MASK FOR FORTRAN EXT EXP
						; 3771	.ENDIF/EXTEXP				;[230]
						; 3772	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4
; BASIC.MIC[10,5351]	19:05 28-Nov-83			EFFECTIVE ADDRESS COMPUTATION AND OPERAND FETCH		

						; 3773	.TOC	"EFFECTIVE ADDRESS COMPUTATION AND OPERAND FETCH"
						; 3774	
						; 3775	.IF/XADDR
						; 3776	=11*0000
						; 3777	EFIW:	AR_ARX (AD),GLOBAL,A INDRCT,	;LONG EXTENDED ADDR
U 0160, 0070,3713,2000,0000,1111,7010,0230	; 3778			SKP INTRPT,J/INDRCT	;WITH INDIRECT SET
						; 3779		AR_ARX+XR,GLOBAL,A INDRCT,
U 0161, 0070,0610,2002,4000,1131,7010,0230	; 3780			SKP INTRPT,J/INDRCT
						; 3781		AR_ARX (AD),GLOBAL,A INDRCT,
U 0162, 0070,3713,2000,0000,1111,7010,0230	; 3782			SKP INTRPT,J/INDRCT
						; 3783		AR_ARX+XR,GLOBAL,A INDRCT,
U 0163, 0070,0610,2002,4000,1131,7010,0230	; 3784			SKP INTRPT,J/INDRCT
						; 3785	
U 0164, 0000,3713,2000,0000,1204,0002,0300	; 3786		AR_ARX (AD),GLOBAL,A READ	;LONG EXTENDED ADDR
U 0165, 0000,0610,2002,4000,1224,0002,0300	; 3787		AR_ARX+XR,GLOBAL,A READ		; WITH INDEXING IN 2-5
U 0166, 0000,3713,2000,0000,1204,0002,0300	; 3788		AR_ARX (AD),GLOBAL,A READ
U 0167, 0000,0610,2002,4000,1224,0002,0300	; 3789		AR_ARX+XR,GLOBAL,A READ
						; 3790	
U 0170, 0121,4001,0000,0000,0000,2210,0400	; 3791	PF24:	GET ECL EBUS,J/ILLIND		;[234]ARX BITS 0,1 = 11
U 0171, 0121,4001,0000,0000,0000,2210,0400	; 3792		GET ECL EBUS,J/ILLIND
U 0172, 0121,4001,0000,0000,0000,2210,0400	; 3793		GET ECL EBUS,J/ILLIND
U 0173, 0121,4001,0000,0000,0000,2210,0400	; 3794		GET ECL EBUS,J/ILLIND
						; 3795	
						; 3796	.ENDIF/XADDR
						; 3797	
						; 3798	=11*1100
U 0174, 0000,3701,0000,0000,0204,0002,0300	; 3799	COMPEA:	GEN AR,A READ			;LOCAL
U 0175, 0000,0600,0002,4000,2224,0002,0300	; 3800		GEN AR+XR,INDEXED,A READ	;LOCAL UNLESS XR>0
						; 3801		GEN AR,A INDRCT,
U 0176, 0070,3701,0000,0000,0111,7010,0230	; 3802			SKP INTRPT,J/INDRCT
						; 3803		GEN AR+XR,INDEXED,A INDRCT,
U 0177, 0070,0600,0002,4000,2131,7010,0230	; 3804			SKP INTRPT,J/INDRCT
						;;3805	.IFNOT/MODEL.B
						;;3806	=11***0
						;;3807	INDRCT:	ARX_MEM,EA TYPE DISP,J/INDR1
						;;3808	TAKINT:	ARX_MEM,TAKE INTRPT
						;;3809	=11**01
						;;3810	INDR1:	AR_ARX,XR,EA MOD DISP,J/COMPEA
						;;3811	.IF/SXCT
						;;3812		AR_ARX (AD),A READ		;HERE IF SXCT 0,
						;;3813	.IFNOT/SXCT
						;;3814	=
						;;3815	.ENDIF/SXCT
						; 3816	.IF/MODEL.B
						;;3817	.IFNOT/XADDR
						;;3818	=11***0
						;;3819	INDRCT:	ARX_MEM,J/INDR1
						;;3820	TAKINT:	ARX_MEM,TAKE INTRPT
						;;3821	
						;;3822	=11****
						;;3823	INDR1:	AR_ARX,EA MOD DISP,J/COMPEA
						; 3824	.IF/XADDR
						; 3825	=11***0
U 0070, 0271,3240,0003,0000,0022,2510,0000	; 3826	INDRCT:	ARX_MEM,LONG EN,J/INDR1
U 0071, 0144,3200,0003,0000,0022,7710,0000	; 3827	TAKINT:	ARX_MEM,TAKE INTRPT
						; 3828	=11****
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4-1
; BASIC.MIC[10,5351]	19:05 28-Nov-83			EFFECTIVE ADDRESS COMPUTATION AND OPERAND FETCH		

						; 3829	INDR1:	AR_ARX,XR,EA MOD DISP,
U 0271, 0160,2341,4002,0301,2020,0036,0024	; 3830			FE_#,#/24,TIME/3T,J/EFIW
						; 3831	
U 0121, 0141,3731,0000,0301,0303,1710,0024	; 3832	ILLIND:	VMA_VMA HELD, FE_#, #/24	;[234]ILLEGAL INDIRECT PF
U 0141, 0147,4001,0000,0302,0000,0010,0140	; 3833		SC_#, #/140			;[234][242]
						; 3834						;[271]MASK TO INSERT PF CODE.
U 0147, 3172,4001,0000,0000,0007,0010,0140	; 3835		MAP, J/PFPAR2			;[234]GET MAP INFO, JOIN PF ROUTINE
						; 3836	.ENDIF/XADDR
						; 3837	.ENDIF/MODEL.B
						; 3838	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5
; BASIC.MIC[10,5351]	19:05 28-Nov-83			WAIT FOR (E)						

						; 3839	.TOC	"WAIT FOR (E)"
						; 3840	
						; 3841	;THE EXECUTE CODE FOR EACH INSTRUCTION IS ENTERED WITH
						; 3842	; THE OPCODE AND AC # IN BRX AND IR, THE LAST INDIRECT WORD
						; 3843	; IN ARX, AND AR AND VMA SETUP AS A FUNCTION OF THE A
						; 3844	; FIELD OF THE DISPATCH RAM. A PREFETCH IS IN PROGRESS IF THE
						; 3845	; DRAM A FIELD WAS 1 OR 5 (OR IF IR CONTAINS "JRST 0,").
						; 3846	
						; 3847	;ON "A READ", THE HARDWARE DISPATCHES TO THE EXECUTE CODE FOR
						; 3848	; THE INSTRUCTION IF THE DRAM A FIELD IS 0 OR 1.  IF THE A FIELD
						; 3849	; CONTAINS 2-7, THE HARDWARE DISPATCHES TO A (MODEL B), OR 40+A
						; 3850	; (MODEL A), BELOW:
						; 3851	
						; 3852	;COME HERE ON "A READ" FUNCTION IF DRAM A FIELD IS 3
						; 3853	; A "WRITE TST" IS IN PROGRESS
						; 3854	
						; 3855	.IF/MODEL.B
						; 3856	3:
						;;3857	.IFNOT/MODEL.B
						;;3858	43:
						; 3859	.ENDIF/MODEL.B
						; 3860		BR/AR,AR_AC0,MB WAIT,		;WAIT FOR PERMISSION TO WRITE
U 0003, 0000,3240,2040,0000,0022,0001,0000	; 3861			TIME/3T,IR DISP,J/0	;AND GO TO EXECUTE CODE
						; 3862	
						; 3863	;HERE ON "A READ" FUNCTION IF DRAM A FIELD IS 4
						; 3864	; A "LOAD AR" IS IN PROGRESS
						; 3865	
						; 3866	.IF/MODEL.B
						; 3867	4:
						;;3868	.IFNOT/MODEL.B
						;;3869	44:
						; 3870	.ENDIF/MODEL.B
						; 3871		BR/AR,AR_MEM,TIME/3T,		;GET OPERAND
U 0004, 0000,3200,0043,0000,0022,0001,0000	; 3872			IR DISP,J/0		; START EXECUTE
						; 3873	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6
; BASIC.MIC[10,5351]	19:05 28-Nov-83			WAIT FOR (E)						

						; 3874	;HERE ON "A READ" IF A FIELD IS 5
						; 3875	; A "LOAD AR" IS IN PROGRESS, AND WE MUST PREFETCH WHEN IT COMPLETES
						; 3876	
						; 3877	.IF/MODEL.B
						; 3878	5:
						;;3879	.IFNOT/MODEL.B
						;;3880	45:
						; 3881	.ENDIF/MODEL.B
						; 3882		BR/AR,FIN XFER,I FETCH,		;GET OPERAND, PREFETCH,
U 0005, 0000,3200,0043,0000,0237,0001,0000	; 3883			TIME/3T,IR DISP,J/0	; & START EXECUTE
						; 3884	
						; 3885	;HERE ON "A READ" IF A FIELD IS 6
						; 3886	; A "LOAD AR" IS IN PROGRESS, BUT PAGING IS TESTING WRITABILITY
						; 3887	
						; 3888	.IF/MODEL.B
						; 3889	6:
						;;3890	.IFNOT/MODEL.B
						;;3891	46:
						; 3892	.ENDIF/MODEL.B
						; 3893		BR/AR,AR_MEM,TIME/3T,		;GET OPERAND
U 0006, 0000,3200,0043,0000,0022,0001,0000	; 3894			IR DISP,J/0		; START EXECUTE
						; 3895	
						; 3896	;HERE ON "A READ" IF A FIELD IS 7
						; 3897	; A "READ-PAUSE-WRITE" IS IN PROGRESS
						; 3898	
						; 3899	.IF/MODEL.B
						; 3900	7:
						;;3901	.IFNOT/MODEL.B
						;;3902	47:
						; 3903	.ENDIF/MODEL.B
						; 3904		BR/AR,AR_MEM,TIME/3T,		;GET OPERAND
U 0007, 0000,3200,0043,0000,0022,0001,0000	; 3905			IR DISP,J/0		; START EXECUTE
						; 3906	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7
; BASIC.MIC[10,5351]	19:05 28-Nov-83			TERMINATION						

						; 3907	.TOC	"TERMINATION"
						; 3908	
						; 3909	;DISPATCH HERE WITH THE "EXIT" MACRO,
						; 3910	; OR JUMP DIRECTLY TO ONE OF THESE LOCATIONS.
						; 3911	
						; 3912	=11*000
						; 3913	ST0:					;BASE FOR B DISP IN EXIT MACRO
						; 3914	=001
U 0061, 0246,5401,2000,0000,0237,1016,0000	; 3915	ST2AC:	AC0_AR,AR_SIGN,I FETCH,J/STD1	;HERE TO STORE AC0 & AC1
U 0062, 0061,4001,0003,0000,0002,0010,0000	; 3916		FIN STORE,EXIT DBL		;MULB, DIVB, ETC ...
						; 3917		FIN STORE,I FETCH,		;SELF MODE
U 0063, 0074,4001,0003,0000,0217,4610,0000	; 3918			SKP AC#0,J/STSELF	; RESULT TO AC TOO?
						; 3919	=101
U 0065, 0140,4001,0000,0403,0002,1006,0000	; 3920	STAC:	AC0_AR,NXT INSTR		;NORMAL AND IMMEDIATE MODES
						; 3921	ST6:
						; 3922	IFNOP:
U 0066, 0075,4001,0003,0000,0217,0010,0000	; 3923	STMEM:	FIN STORE,I FETCH,J/NOP		;MEM MODE
						; 3924	IFSTAC:
U 0067, 0074,0001,0003,0000,0217,0010,0000	; 3925	STBOTH:	FIN STORE,I FETCH,J/STORAC	;BOTH MODE
						; 3926	=
						; 3927	;HERE TO FINISH, AFTER FETCHING NEXT INSTRUCTION.
						; 3928	; WE MUST GUARANTEE AT LEAST ONE EBOX CYCLE BETWEEN FETCH AND NICOND,
						; 3929	; TO ALLOW VMA AC REF TO MAKE IT THROUGH THE NICOND LOGIC.
						; 3930	=11***0
						; 3931	STSELF:					;SKIP, AOS, SOS COME HERE
U 0074, 0065,0001,0000,0000,0000,1610,0000	; 3932	STORAC:	SR_0,J/STAC			;STORE AC, TOO
U 0075, 0222,4001,0000,0000,0000,1610,0000	; 3933	NOP:	SR_0,J/FINI
						; 3934	
						; 3935	=0
U 0020, 0222,4001,0000,0000,0000,0014,0000	; 3936	CLRFPD:	CLR FPD,J/FINI			;CAN'T DO THIS UNTIL STORE COMPLETE
U 0021, 0222,4001,0000,0000,0000,1610,0000	; 3937	NOP2:	SR_0,J/FINI			;THE CODE SEEMS TO WORK WITHOUT THIS
						; 3938						; BUT THE TIMING IS VERY HAIRY AND
						; 3939						; THE HARDWARE PROBABLY ISN'T
						; 3940						; SUPPOSED TO
						; 3941	
U 0222, 0140,0001,0000,0403,0002,0006,0000	; 3942	FINI:	NXT INSTR			;GET NEXT INSTR IN ARX & IR,
						; 3943						; LOAD PC, TEST PI CYCLE, RUN,
						; 3944						; PI READY, TRAPS
						; 3945	
						; 3946	;HERE TO STORE ARITHMETIC DOUBLE RESULTS
						; 3947	
U 0241, 0246,5441,2000,0000,0020,1016,0000	; 3948	DSTAC:	AC0_AR,AR_SIGN			;HERE WITH FETCH STARTED
U 0246, 0251,4001,4000,0000,0000,1610,0000	; 3949	STD1:	AR_SHIFT,SR_0			;BRING IN LOW PART
U 0251, 0222,0001,0001,0000,0000,1010,0000	; 3950	STAC1:	AC1_AR,FINISH			;GO DO NEXT INSTRUCTION
						; 3951	
						; 3952	
						; 3953	;HERE TO GET MICRO-CODE VERSION #.  FIXED LOC'N SO SOFTWARE CAN FIND IT
						; 3954	137:
U 0137, 3157,4001,0040,0000,0000,0110,0336	; 3955	UVERS:	BR/AR,AR0-8_#,#/EDIT,J/GTAR08	;COPY VERSION TO AR
						; 3956	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8
; BASIC.MIC[10,5351]	19:05 28-Nov-83			MOVE GROUP, EXCH, BLT					

						; 3957	.TOC	"MOVE GROUP, EXCH, BLT"
						; 3958	
						; 3959		.DCODE
D 0200, 5500,0100				; 3960	200:	R-PF,	AC,	J/MOVE	;BASIC MOVE
D 0201, 1501,0100				; 3961		I-PF,	AC,	J/MOVE
						;;3962	.IF/WRTST
						;;3963		W,	M,	J/MOVE
						; 3964	.IFNOT/WRTST
D 0202, 0101,0103				; 3965		I,	B/1,	J/MOVEM
						; 3966	.ENDIF/WRTST
D 0203, 7301,0100				; 3967		RPW,	S,	J/MOVE
						; 3968	
D 0204, 5500,0002				; 3969	204:	R-PF,	AC,	J/MOVS
D 0205, 1501,0002				; 3970		I-PF,	AC,	J/MOVS
D 0206, 3600,0002				; 3971		W,	M,	J/MOVS
D 0207, 7301,0002				; 3972		RPW,	S,	J/MOVS
						; 3973	
D 0210, 5500,0205				; 3974	210:	R-PF,	AC,	J/MOVN
D 0211, 1501,0205				; 3975		I-PF,	AC,	J/MOVN
D 0212, 3600,0205				; 3976		W,	M,	J/MOVN
D 0213, 7301,0205				; 3977		RPW,	S,	J/MOVN
						; 3978	
D 0214, 5501,0201				; 3979	214:	R-PF,	AC,	J/MOVM
D 0215, 1500,0201				; 3980		I-PF,	AC,	J/MOVM
D 0216, 3601,0201				; 3981		W,	M,	J/MOVM
D 0217, 7300,0201				; 3982		RPW,	S,	J/MOVM
						; 3983		.UCODE
						; 3984	
						; 3985	; ENTER WITH 0,E, (E), OR (AC) IN AR
						; 3986	=0****00****
U 0002, 0060,4001,4000,0000,3005,0033,0000	; 3987	MOVS:	AR_AR SWAP,EXIT			;ALSO USED BY HALFWORD GROUP
						; 3988	=
						; 3989	=0****00****
U 0201, 0100,0001,0040,0000,0000,4510,0000	; 3990	MOVM:	BR/AR,SKP AR0,J/MOVE		;FORCE POSITIVE
						; 3991	=
						; 3992	=0****00****
U 0205, 0101,0001,0040,0000,0000,0010,0000	; 3993	MOVN:	BR/AR,J/MOVNEG			;GET NEGATIVE
						; 3994	=
						; 3995	100:
U 0100, 0060,0001,0000,0000,0005,0033,0000	; 3996	MOVE:	EXIT				;STORE AS IS FROM AR
						; 3997	101:
U 0101, 0100,5142,2000,0000,0022,1310,0000	; 3998	MOVNEG:	AR_-BR,AD FLAGS,FETCH WAIT,J/MOVE
						; 3999	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9
; BASIC.MIC[10,5351]	19:05 28-Nov-83			XMOVEI, XHLLI, MOVEM, EXCH, BLT				

						; 4000	.TOC	"XMOVEI, XHLLI, MOVEM, EXCH, BLT"
						; 4001	
						; 4002	;HERE FOR XMOVEI (=SETMI), WITH 36-BIT ADDRESS IN VMA AND AR
						; 4003	
						; 4004	.IF/XADDR
						; 4005	102:
U 0102, 0334,0001,0000,0000,0217,5710,0000	; 4006	XMOVEI:	SKP -LOCAL AC ADDR,I FETCH
						; 4007	=0
U 0334, 0065,4061,0000,0000,0021,0017,0002	; 4008	XMOVEI1:ARL_1.M,ARR_ARR,J/STAC		;AC IN NON-ZERO SECTION
U 0335, 0065,0001,0000,0400,3000,0022,0200	; 4009		CLR P,J/STAC			;RETURN 30-BIT ADDRESS
						; 4010	
						; 4011	;HERE FOR XHLLI (=HLLI), WITH 36-BIT ADDRESS IN VMA AND AR
						; 4012	107:
						; 4013	XHLLI:	SKP -LOCAL AC ADDR,I FETCH,
U 0107, 0334,3240,2000,0000,0237,5722,0000	; 4014			ARR_AC0.S,ARL_ARL.S,J/XMOVEI1
						; 4015	.ENDIF/XADDR
						; 4016	
						; 4017	;EXCH, BLT
						; 4018	
						; 4019		.DCODE
D 0250, 7001,0103				; 4020	250:	RPW,	B/0,	J/EXCH
D 0251, 2000,0104				; 4021		EA,		J/BLT
						; 4022		.UCODE
						; 4023	
						; 4024	103:
						; 4025	MOVEM:					;LIKE EXCH, EXCEPT NO STORE AC
U 0103, 1334,3200,2400,0000,1036,0010,0000	; 4026	EXCH:	ARX_AR,AR_AC0,STORE,J/STMAC	;PUT AC AT E, THEN STORE AC
						; 4027	104:
						; 4028	BLT:	MQ_AR,ARX_AR,			;END ADDR TO MQ & ARX
U 0104, 3462,3200,2410,0000,1020,0610,0000	; 4029			ARR_AC0,ARL_ARL,J/BLT1	;FIRST DEST ADDR TO AR
						; 4030	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10
; BASIC.MIC[10,5351]	19:05 28-Nov-83			HALFWORD GROUP						

						; 4031	.TOC	"HALFWORD GROUP"
						; 4032	;	DESTINATION LEFT HALF
						; 4033	
						; 4034		.DCODE
D 0500, 5500,0106				; 4035	500:	R-PF,	AC,	J/HLL
						; 4036	.IF/XADDR
D 0501, 2500,0107				; 4037		EA,	AC,	J/XHLLI		;GET 36 BIT ADDRESS IN AR AND VMA
						;;4038	.IFNOT/XADDR
						;;4039		I-PF,	AC,	J/HLL
						; 4040	.ENDIF/XADDR
D 0502, 7601,0105				; 4041		RPW,	M,	J/HRR		;HLLM = HRR EXCEPT FOR STORE
D 0503, 7301,0100				; 4042		RPW,	S,	J/MOVE		;HLLS = MOVES
						; 4043	
D 0504, 5501,0306				; 4044		R-PF,	AC,	J/HRL
D 0505, 1500,0306				; 4045		I-PF,	AC,	J/HRL
D 0506, 7601,0114				; 4046		RPW,	M,	J/HRLM
D 0507, 7300,0115				; 4047		RPW,	S,	J/HRLS
						; 4048	
D 0510, 5501,0312				; 4049	510:	R-PF,	AC,	J/HLLZ
D 0511, 1500,0312				; 4050		I-PF,	AC,	J/HLLZ
D 0512, 3601,0312				; 4051		W,	M,	J/HLLZ
D 0513, 7300,0312				; 4052		RPW,	S,	J/HLLZ
						; 4053	
D 0514, 5501,0300				; 4054		R-PF,	AC,	J/HRLZ
D 0515, 1500,0300				; 4055		I-PF,	AC,	J/HRLZ
D 0516, 3601,0300				; 4056		W,	M,	J/HRLZ
D 0517, 7300,0300				; 4057		RPW,	S,	J/HRLZ
						; 4058	
D 0520, 5500,0313				; 4059	520:	R-PF,	AC,	J/HLLO
D 0521, 1501,0313				; 4060		I-PF,	AC,	J/HLLO
D 0522, 3600,0313				; 4061		W,	M,	J/HLLO
D 0523, 7301,0313				; 4062		RPW,	S,	J/HLLO
						; 4063	
D 0524, 5500,0301				; 4064		R-PF,	AC,	J/HRLO
D 0525, 1501,0301				; 4065		I-PF,	AC,	J/HRLO
D 0526, 3600,0301				; 4066		W,	M,	J/HRLO
D 0527, 7301,0301				; 4067		RPW,	S,	J/HRLO
						; 4068	
D 0530, 5501,0413				; 4069	530:	R-PF,	AC,	J/HLLE
D 0531, 1500,0413				; 4070		I-PF,	AC,	J/HLLE
D 0532, 3601,0413				; 4071		W,	M,	J/HLLE
D 0533, 7300,0413				; 4072		RPW,	S,	J/HLLE
						; 4073	
D 0534, 5501,0401				; 4074		R-PF,	AC,	J/HRLE
D 0535, 1500,0401				; 4075		I-PF,	AC,	J/HRLE
D 0536, 3601,0401				; 4076		W,	M,	J/HRLE
D 0537, 7300,0401				; 4077		RPW,	S,	J/HRLE
						; 4078	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 11
; BASIC.MIC[10,5351]	19:05 28-Nov-83			HALFWORD GROUP						

						; 4079	;	DESTINATION RIGHT HALF
						; 4080	
D 0540, 5500,0105				; 4081	540:	R-PF,	AC,	J/HRR
D 0541, 1501,0105				; 4082		I-PF,	AC,	J/HRR
D 0542, 7601,0106				; 4083		RPW,	M,	J/HLL		;HRRM = HLL EXCEPT FOR STORE
D 0543, 7301,0100				; 4084		RPW,	S,	J/MOVE		;HRRS = MOVES
						; 4085	
D 0544, 5501,0311				; 4086		R-PF,	AC,	J/HLR
D 0545, 1500,0311				; 4087		I-PF,	AC,	J/HLR
D 0546, 7600,0202				; 4088		RPW,	M,	J/HLRM
D 0547, 7301,0203				; 4089		RPW,	S,	J/HLRS
						; 4090	
D 0550, 5500,0214				; 4091	550:	R-PF,	AC,	J/HRRZ
D 0551, 1501,0214				; 4092		I-PF,	AC,	J/HRRZ
D 0552, 3600,0214				; 4093		W,	M,	J/HRRZ
D 0553, 7301,0214				; 4094		RPW,	S,	J/HRRZ
						; 4095	
D 0554, 5500,0304				; 4096		R-PF,	AC,	J/HLRZ
D 0555, 1501,0304				; 4097		I-PF,	AC,	J/HLRZ
D 0556, 3600,0304				; 4098		W,	M,	J/HLRZ
D 0557, 7301,0304				; 4099		RPW,	S,	J/HLRZ
						; 4100	
D 0560, 5501,0215				; 4101	560:	R-PF,	AC,	J/HRRO
D 0561, 1500,0215				; 4102		I-PF,	AC,	J/HRRO
D 0562, 3601,0215				; 4103		W,	M,	J/HRRO
D 0563, 7300,0215				; 4104		RPW,	S,	J/HRRO
						; 4105	
D 0564, 5501,0305				; 4106		R-PF,	AC,	J/HLRO
D 0565, 1500,0305				; 4107		I-PF,	AC,	J/HLRO
D 0566, 3601,0305				; 4108		W,	M,	J/HLRO
D 0567, 7300,0305				; 4109		RPW,	S,	J/HLRO
						; 4110	
D 0570, 5500,0316				; 4111	570:	R-PF,	AC,	J/HRRE
D 0571, 1501,0316				; 4112		I-PF,	AC,	J/HRRE
D 0572, 3600,0316				; 4113		W,	M,	J/HRRE
D 0573, 7301,0316				; 4114		RPW,	S,	J/HRRE
						; 4115	
D 0574, 5500,0406				; 4116		R-PF,	AC,	J/HLRE
D 0575, 1501,0406				; 4117		I-PF,	AC,	J/HLRE
D 0576, 3600,0406				; 4118		W,	M,	J/HLRE
D 0577, 7301,0406				; 4119		RPW,	S,	J/HLRE
						; 4120	
						; 4121		.UCODE
						; 4122	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 12
; BASIC.MIC[10,5351]	19:05 28-Nov-83			HALFWORD GROUP						

						; 4123	;FIRST, THE 16 OPS WHICH DO NOT AFFECT THE "OTHER" HALF.
						; 4124	;THESE MUST BE TREATED SEPARATELY, BECAUSE THEY COMBINE MEMORY DATA
						; 4125	;IN AR WITH DATA FROM THE FM.  ENTER WITH 0,E OR (E) IN AR.
						; 4126	
						; 4127	105:
U 0105, 0060,3200,0000,0000,0025,0633,0002	; 4128	HRR:	ARL_AC0,ARR_ARR,EXIT		;HRR, HRRI, HLLM
						; 4129	106:
U 0106, 0060,3200,2000,0000,0025,0633,0000	; 4130	HLL:	ARR_AC0,ARL_ARL,EXIT		;HLL, HLLI, HRRM
						; 4131				;HRRS, HLLS ARE BOTH EQUIVALENT TO MOVES
						; 4132	=0****00****
U 0306, 0060,3240,2000,0000,3025,0633,0004	; 4133	HRL:	ARL_ARR,ARR_AC0,EXIT		;HRL, HRLI
						; 4134	=
						; 4135	=0****00****
U 0311, 0060,3240,4000,0000,3025,0633,0002	; 4136	HLR:	ARR_ARL,ARL_AC0,EXIT		;HLR, HLRI
						; 4137	=
						; 4138	=0****00***0
U 0114, 0002,3240,2000,0000,3020,0610,0004	; 4139	HRLM:	ARL_ARR,ARR_AC0,J/MOVS		;HRLM
U 0115, 0060,4001,0000,0000,3005,0633,0004	; 4140	HRLS:	ARL_ARR,ARR_ARR,EXIT		;HRLS
						; 4141	=
						; 4142	=0****00***0
U 0202, 0002,3240,4000,0000,3020,0610,0002	; 4143	HLRM:	ARR_ARL,ARL_AC0,J/MOVS		;HLRM
U 0203, 0060,4001,4000,0000,3005,0633,0000	; 4144	HLRS:	ARR_ARL,ARL_ARL,EXIT		;HLRS
						; 4145	=
						; 4146	;NOW THE HALFWORD OPS WHICH CONTROL THE "OTHER" HALF
						; 4147	; ENTER WITH 0,E, (E), OR (AC) IN AR
						; 4148	
						; 4149	=0****00****
U 0316, 0214,0001,0000,0000,0000,4410,0000	; 4150	HRRE:	SKP AR18			;SELECT HRRZ OR HRRO ON SIGN
						; 4151	=
						; 4152	=0****00***0
U 0214, 0060,4001,0000,0000,0005,0633,0020	; 4153	HRRZ:	ARL_0S,ARR_ARR,EXIT
U 0215, 0060,2301,0000,0000,0005,0633,0002	; 4154	HRRO:	ARL_1S,ARR_ARR,EXIT
						; 4155	=
						; 4156	=0****00****
U 0401, 0300,4001,0000,0000,0000,4410,0000	; 4157	HRLE:	SKP AR18
						; 4158	=
						; 4159	=0****00***0
U 0300, 0060,3441,2000,0000,3005,0633,0004	; 4160	HRLZ:	ARL_ARR,ARR_0S,EXIT
U 0301, 0060,2341,2000,0000,3005,0633,0004	; 4161	HRLO:	ARL_ARR,ARR_1S,EXIT
						; 4162	=
						; 4163	=0****00****
U 0406, 0304,4001,0000,0000,0000,4510,0000	; 4164	HLRE:	SKP AR0
						; 4165	=
						; 4166	=0****00***0
U 0304, 0060,0001,4000,0000,3005,0633,0020	; 4167	HLRZ:	ARR_ARL,ARL_0S,EXIT
U 0305, 0060,2341,4000,0000,3005,0633,0002	; 4168	HLRO:	ARR_ARL,ARL_1S,EXIT
						; 4169	=
						; 4170	=0****00****
U 0413, 0312,0001,0000,0000,0000,4510,0000	; 4171	HLLE:	SKP AR0
						; 4172	=
						; 4173	=0****00***0
U 0312, 0060,3401,2000,0000,0005,0633,0000	; 4174	HLLZ:	ARR_0S,ARL_ARL,EXIT
U 0313, 0060,2301,2000,0000,0005,0633,0000	; 4175	HLLO:	ARR_1S,ARL_ARL,EXIT
						; 4176	=
						; 4177	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 13
; BASIC.MIC[10,5351]	19:05 28-Nov-83			DMOVE, DMOVN, DMOVEM, DMOVNM				

						; 4178	.TOC	"DMOVE, DMOVN, DMOVEM, DMOVNM"
						; 4179	;DOUBLE-WORD MOVES
						; 4180	
						; 4181		.DCODE
D 0120, 4000,0506				; 4182	120:	R,	B/0,	J/DMOVE
D 0121, 4101,0506				; 4183		R,	B/1,	J/DMOVN
						; 4184		.UCODE
						; 4185	
						; 4186	; ENTER WITH (E) IN AR
						; 4187	=0****00****
						; 4188	DMOVN:
U 0506, 0030,4001,0000,0000,0013,3633,0000	; 4189	DMOVE:	VMA_VMA+1,LOAD ARX,B DISP	;PICK UP (E+1)
						; 4190	=
U 0030, 2023,3240,0003,0000,0022,0010,0000	; 4191	=00	ARX_MEM,J/STDAC			;GO STORE DOUBLE AC
U 0031, 0274,3240,0003,0000,0022,0062,0100	; 4192		ARX_MEM,MQ_0.S,CALL.S,J/GTDBR	;LOAD BR WITH DOUBLE OPERAND
						; 4193	=11	AR_-BR LONG,AD FLAGS,		;NEGATE DOUBLE OPERAND
U 0033, 0255,5142,2600,0302,0020,1327,0043	; 4194			SC_#,#/35.		;& STORE RESULT
U 0255, 0246,3441,2000,0000,0217,1010,0000	; 4195	DBLST:	AC0_AR,AR_0S,I FETCH,J/STD1	;STORE HIGH WORD, READY LOW
						; 4196	
						; 4197	
						; 4198	;DOUBLE MOVES TO MEMORY
						; 4199	
						; 4200		.DCODE
D 0124, 3001,0110				; 4201	124:	W,		J/DMOVEM
D 0125, 3000,0111				; 4202		W,		J/DMOVNM
						; 4203		.UCODE
						; 4204	
						; 4205	;ENTER WITH (AC) IN AR
						; 4206	=0****00**00
U 0110, 0256,3240,0201,0302,0036,0010,0044	; 4207	DMOVEM:	ARX_AC1,STORE,SC_#,#/36.,J/DMVM1
U 0111, 0274,3200,0201,0000,0020,0062,0100	; 4208	DMOVNM:	ARX_AC1,MQ_0.S,CALL.S,J/GTDBR	;HIGH WORD IS ALREADY IN AR
						; 4209	=11	AR_-BR LONG,AD FLAGS,		;NEGATE
U 0113, 0256,5162,2600,0302,0036,1327,0043	; 4210			STORE,SC_#,#/35.	; & STORE
						; 4211	=
U 0256, 0273,3401,2003,0000,0002,3610,0000	; 4212	DMVM1:	MEM_AR,VMA_VMA+1,AR_0S
U 0273, 0066,4001,4000,0000,0016,0010,0000	; 4213		AR_SHIFT,STORE,J/STMEM
						; 4214	
U 0274, 0331,3721,0500,0000,0000,0010,0000	; 4215	GTDBR:	ARX_ARX*2			;SHIFT OUT LOW SIGN
U 0331, 0003,0001,0060,0000,0000,0003,0000	; 4216	LDBRL:	BR_AR LONG,RETURN3		;COPY TO BR LONG
						; 4217	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 14
; BASIC.MIC[10,5351]	19:05 28-Nov-83			BOOLEAN GROUP						

						; 4218	.TOC	"BOOLEAN GROUP"
						; 4219		.DCODE
D 0400, 1501,0516				; 4220	400:	I-PF,	AC,	J/SETZ
D 0401, 1501,0516				; 4221		I-PF,	AC,	J/SETZ
D 0402, 0600,0516				; 4222		IW,	M,	J/SETZ
D 0403, 0701,0516				; 4223		IW,	B,	J/SETZ
						; 4224		.UCODE
						; 4225	
						; 4226	=0****00****
U 0516, 0060,3401,2000,0000,0005,0033,0000	; 4227	SETZ:	AR_0S,EXIT
						; 4228	=
						; 4229		.DCODE
D 0404, 5501,0701				; 4230	404:	R-PF,	AC,	J/AND
D 0405, 1500,0701				; 4231		I-PF,	AC,	J/AND
D 0406, 7600,0701				; 4232		RPW,	M,	J/AND
D 0407, 7701,0701				; 4233		RPW,	B,	J/AND
						; 4234		.UCODE
						; 4235	
						; 4236	=0****00****
U 0701, 0060,3600,2000,4000,0025,0033,0000	; 4237	AND:	AR_AR*AC0,AD/AND,EXIT
						; 4238	=
						; 4239		.DCODE
D 0410, 5500,0711				; 4240	410:	R-PF,	AC,	J/ANDCA
D 0411, 1501,0711				; 4241		I-PF,	AC,	J/ANDCA
D 0412, 7601,0711				; 4242		RPW,	M,	J/ANDCA
D 0413, 7700,0711				; 4243		RPW,	B,	J/ANDCA
						; 4244		.UCODE
						; 4245	
						; 4246	=0****00****
U 0711, 0060,3500,2000,4000,0025,0033,0000	; 4247	ANDCA:	AR_AR*AC0,AD/ANDCB,EXIT
						; 4248	=
						; 4249		.DCODE
D 0414, 5500,0100				; 4250	414:	R-PF,	AC,	J/MOVE		;SETM = MOVE
						; 4251	.IF/XADDR
D 0415, 2500,0102				; 4252		EA,	AC,	J/XMOVEI	;XMOVEI <=> SETMI
						;;4253	.IFNOT/XADDR
						;;4254		I-PF,	AC,	J/MOVE
						; 4255	.ENDIF/XADDR
D 0416, 7601,0100				; 4256		RPW,	M,	J/MOVE		;SETMM = NOP THAT WRITES MEMORY
D 0417, 7700,0100				; 4257		RPW,	B,	J/MOVE		;SETMB = MOVE THAT WRITES MEMORY
						; 4258	
D 0420, 5500,0712				; 4259	420:	R-PF,	AC,	J/ANDCM
D 0421, 1501,0712				; 4260		I-PF,	AC,	J/ANDCM
D 0422, 7601,0712				; 4261		RPW,	M,	J/ANDCM
D 0423, 7700,0712				; 4262		RPW,	B,	J/ANDCM
						; 4263		.UCODE
						; 4264	
						; 4265	=0****00****
U 0712, 0060,3000,2000,4000,0025,0033,0000	; 4266	ANDCM:	AR_AR*AC0,AD/ANDCA,EXIT
						; 4267	=
						; 4268		.DCODE
D 0424, 5001,0014				; 4269	424:	R-PF,		J/TDN		;SETA = NOP
D 0425, 1000,0014				; 4270		I-PF,		J/TDN		;SETAI IS, TOO
D 0426, 3600,0100				; 4271		W,	M,	J/MOVE		;SETAM = MOVEM
D 0427, 3600,0100				; 4272		W,	M,	J/MOVE		;SETAB, TOO
						; 4273	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 15
; BASIC.MIC[10,5351]	19:05 28-Nov-83			BOOLEAN GROUP						

						; 4274		.DCODE
D 0430, 5501,0715				; 4275	430:	R-PF,	AC,	J/XOR
D 0431, 1500,0715				; 4276		I-PF,	AC,	J/XOR
D 0432, 7600,0715				; 4277		RPW,	M,	J/XOR
D 0433, 7701,0715				; 4278		RPW,	B,	J/XOR
						; 4279		.UCODE
						; 4280	
						; 4281	=0****00****
U 0715, 0060,3100,2000,0000,0025,0033,0000	; 4282	XOR:	AR_AR*AC0,AD/XOR,EXIT
						; 4283	=
						; 4284		.DCODE
D 0434, 5501,0716				; 4285	434:	R-PF,	AC,	J/IOR
D 0435, 1500,0716				; 4286		I-PF,	AC,	J/IOR
D 0436, 7600,0716				; 4287		RPW,	M,	J/IOR
D 0437, 7701,0716				; 4288		RPW,	B,	J/IOR
						; 4289		.UCODE
						; 4290	
						; 4291	=0****00****
U 0716, 0060,3300,2000,4000,0025,0033,0000	; 4292	IOR:	AR_AR*AC0,AD/OR,EXIT
						; 4293	=
						; 4294		.DCODE
D 0440, 5501,1001				; 4295	440:	R-PF,	AC,	J/ANDCB
D 0441, 1500,1001				; 4296		I-PF,	AC,	J/ANDCB
D 0442, 7600,1001				; 4297		RPW,	M,	J/ANDCB
D 0443, 7701,1001				; 4298		RPW,	B,	J/ANDCB
						; 4299		.UCODE
						; 4300	
						; 4301	=0****00****
U 1001, 0060,2400,2000,4000,0025,0033,0000	; 4302	ANDCB:	AR_AR*AC0,AD/ANDC,EXIT
						; 4303	=
						; 4304		.DCODE
D 0444, 5501,1007				; 4305	444:	R-PF,	AC,	J/EQV
D 0445, 1500,1007				; 4306		I-PF,	AC,	J/EQV
D 0446, 7600,1007				; 4307		RPW,	M,	J/EQV
D 0447, 7701,1007				; 4308		RPW,	B,	J/EQV
						; 4309		.UCODE
						; 4310	
						; 4311	=0****00****
U 1007, 0060,2600,2000,0000,0025,0033,0000	; 4312	EQV:	AR_AR*AC0,AD/EQV,EXIT
						; 4313	=
						; 4314		.DCODE
D 0450, 1500,1015				; 4315	450:	I-PF,	AC,	J/SETCA
D 0451, 1500,1015				; 4316		I-PF,	AC,	J/SETCA
D 0452, 0601,1015				; 4317		IW,	M,	J/SETCA
D 0453, 0700,1015				; 4318		IW,	B,	J/SETCA
						; 4319		.UCODE
						; 4320	
						; 4321	=0****00****
U 1015, 0060,2500,2000,0000,0025,0033,0000	; 4322	SETCA:	AR_AR*AC0,AD/SETCB,EXIT
						; 4323	=
						; 4324	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 16
; BASIC.MIC[10,5351]	19:05 28-Nov-83			BOOLEAN GROUP						

						; 4325		.DCODE
D 0454, 5500,1116				; 4326	454:	R-PF,	AC,	J/ORCA
D 0455, 1501,1116				; 4327		I-PF,	AC,	J/ORCA
D 0456, 7601,1116				; 4328		RPW,	M,	J/ORCA
D 0457, 7700,1116				; 4329		RPW,	B,	J/ORCA
						; 4330		.UCODE
						; 4331	
						; 4332	=0****00****
U 1116, 0060,2700,2000,4000,0025,0033,0000	; 4333	ORCA:	AR_AR*AC0,AD/ORCB,EXIT
						; 4334	=
						; 4335		.DCODE
D 0460, 5500,1311				; 4336	460:	R-PF,	AC,	J/SETCM
D 0461, 1501,1311				; 4337		I-PF,	AC,	J/SETCM
D 0462, 7601,1311				; 4338		RPW,	M,	J/SETCM
D 0463, 7700,1311				; 4339		RPW,	B,	J/SETCM
						; 4340		.UCODE
						; 4341	
						; 4342	=0****00****
U 1311, 0060,2001,2000,0000,0005,0033,0000	; 4343	SETCM:	ADA/AR,AD/SETCA,AR/AD,EXIT
						; 4344	=
						; 4345		.DCODE
D 0464, 5501,1504				; 4346	464:	R-PF,	AC,	J/ORCM
D 0465, 1500,1504				; 4347		I-PF,	AC,	J/ORCM
D 0466, 7600,1504				; 4348		RPW,	M,	J/ORCM
D 0467, 7701,1504				; 4349		RPW,	B,	J/ORCM
						; 4350		.UCODE
						; 4351	
						; 4352	=0****00****
U 1504, 0060,2200,2000,4000,0025,0033,0000	; 4353	ORCM:	AR_AR*AC0,AD/ORCA,EXIT
						; 4354	=
						; 4355		.DCODE
D 0470, 5500,1505				; 4356	470:	R-PF,	AC,	J/ORCB
D 0471, 1501,1505				; 4357		I-PF,	AC,	J/ORCB
D 0472, 7601,1505				; 4358		RPW,	M,	J/ORCB
D 0473, 7700,1505				; 4359		RPW,	B,	J/ORCB
						; 4360		.UCODE
						; 4361	
						; 4362	=0****00****
U 1505, 0060,2100,2000,4000,0025,0033,0000	; 4363	ORCB:	AR_AR*AC0,AD/ORC,EXIT
						; 4364	=
						; 4365		.DCODE
D 0474, 1501,1506				; 4366	474:	I-PF,	AC,	J/SETO
D 0475, 1501,1506				; 4367		I-PF,	AC,	J/SETO
D 0476, 0600,1506				; 4368		IW,	M,	J/SETO
D 0477, 0701,1506				; 4369		IW,	B,	J/SETO
						; 4370		.UCODE
						; 4371	
						; 4372	=0****00****
U 1506, 0060,2301,2000,0000,0005,0033,0000	; 4373	SETO:	AR_1S,EXIT
						; 4374	=
						; 4375	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			TEST GROUP						

						; 4376	.TOC	"TEST GROUP"
						; 4377		.DCODE
D 0600, 1000,0014				; 4378	600:	I-PF,		J/TDN		;TRN- IS NOP
D 0601, 1000,0014				; 4379		I-PF,		J/TDN		;SO IS TLN-
D 0602, 0000,0013				; 4380		I,	TNE,	J/TDXX
D 0603, 0001,0012				; 4381		I,	TNE,	J/TSXX
D 0604, 0000,0010				; 4382		I,	TNA,	J/TDX
D 0605, 0001,0011				; 4383		I,	TNA,	J/TSX
D 0606, 0401,0013				; 4384		I,	TNN,	J/TDXX
D 0607, 0400,0012				; 4385		I,	TNN,	J/TSXX
						; 4386	
D 0610, 1000,0014				; 4387	610:	I-PF,		J/TDN		;TDN- IS A NOP
D 0611, 1000,0014				; 4388		I-PF,		J/TDN		;TSN- ALSO
D 0612, 4001,0013				; 4389		R,	TNE,	J/TDXX
D 0613, 4000,0012				; 4390		R,	TNE,	J/TSXX
D 0614, 4001,0010				; 4391		R,	TNA,	J/TDX
D 0615, 4000,0011				; 4392		R,	TNA,	J/TSX
D 0616, 4400,0013				; 4393		R,	TNN,	J/TDXX
D 0617, 4401,0012				; 4394		R,	TNN,	J/TSXX
						; 4395	
D 0620, 0500,0010				; 4396	620:	I,	TZ-,	J/TDX
D 0621, 0501,0011				; 4397		I,	TZ-,	J/TSX
D 0622, 0101,0013				; 4398		I,	TZE,	J/TDXX
D 0623, 0100,0012				; 4399		I,	TZE,	J/TSXX
D 0624, 0101,0010				; 4400		I,	TZA,	J/TDX
D 0625, 0100,0011				; 4401		I,	TZA,	J/TSX
D 0626, 0500,0013				; 4402		I,	TZN,	J/TDXX
D 0627, 0501,0012				; 4403		I,	TZN,	J/TSXX
						; 4404	
D 0630, 4501,0010				; 4405	630:	R,	TZ-,	J/TDX
D 0631, 4500,0011				; 4406		R,	TZ-,	J/TSX
D 0632, 4100,0013				; 4407		R,	TZE,	J/TDXX
D 0633, 4101,0012				; 4408		R,	TZE,	J/TSXX
D 0634, 4100,0010				; 4409		R,	TZA,	J/TDX
D 0635, 4101,0011				; 4410		R,	TZA,	J/TSX
D 0636, 4501,0013				; 4411		R,	TZN,	J/TDXX
D 0637, 4500,0012				; 4412		R,	TZN,	J/TSXX
						; 4413	
D 0640, 0600,0010				; 4414	640:	I,	TC-,	J/TDX
D 0641, 0601,0011				; 4415		I,	TC-,	J/TSX
D 0642, 0201,0013				; 4416		I,	TCE,	J/TDXX
D 0643, 0200,0012				; 4417		I,	TCE,	J/TSXX
D 0644, 0201,0010				; 4418		I,	TCA,	J/TDX
D 0645, 0200,0011				; 4419		I,	TCA,	J/TSX
D 0646, 0600,0013				; 4420		I,	TCN,	J/TDXX
D 0647, 0601,0012				; 4421		I,	TCN,	J/TSXX
						; 4422	
D 0650, 4601,0010				; 4423	650:	R,	TC-,	J/TDX
D 0651, 4600,0011				; 4424		R,	TC-,	J/TSX
D 0652, 4200,0013				; 4425		R,	TCE,	J/TDXX
D 0653, 4201,0012				; 4426		R,	TCE,	J/TSXX
D 0654, 4200,0010				; 4427		R,	TCA,	J/TDX
D 0655, 4201,0011				; 4428		R,	TCA,	J/TSX
D 0656, 4601,0013				; 4429		R,	TCN,	J/TDXX
D 0657, 4600,0012				; 4430		R,	TCN,	J/TSXX
						; 4431	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			TEST GROUP						

D 0660, 0701,0010				; 4432	660:	I,	TO-,	J/TDX
D 0661, 0700,0011				; 4433		I,	TO-,	J/TSX
D 0662, 0300,0013				; 4434		I,	TOE,	J/TDXX
D 0663, 0301,0012				; 4435		I,	TOE,	J/TSXX
D 0664, 0300,0010				; 4436		I,	TOA,	J/TDX
D 0665, 0301,0011				; 4437		I,	TOA,	J/TSX
D 0666, 0701,0013				; 4438		I,	TON,	J/TDXX
D 0667, 0700,0012				; 4439		I,	TON,	J/TSXX
						; 4440	
D 0670, 4700,0010				; 4441	670:	R,	TO-,	J/TDX
D 0671, 4701,0011				; 4442		R,	TO-,	J/TSX
D 0672, 4301,0013				; 4443		R,	TOE,	J/TDXX
D 0673, 4300,0012				; 4444		R,	TOE,	J/TSXX
D 0674, 4301,0010				; 4445		R,	TOA,	J/TDX
D 0675, 4300,0011				; 4446		R,	TOA,	J/TSX
D 0676, 4700,0013				; 4447		R,	TON,	J/TDXX
D 0677, 4701,0012				; 4448		R,	TON,	J/TSXX
						; 4449		.UCODE
						; 4450	
						; 4451	;THESE 64 INSTRUCTIONS ARE DECODED BY MASK MODE (IMMEDIATE OR MEMORY)
						; 4452	; IN THE A FIELD, DISPATCH TO HERE ON THE J FIELD, AND RE-DISPATCH
						; 4453	; FOR THE MODIFICATION ON THE B FIELD.
						; 4454	
						; 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.
						; 4462	
						; 4463	;THE HIGH ORDER BIT OF THE B FIELD (B0) IS XOR'D WITH AD CRY0 TO
						; 4464	;   DETERMINE THE SENSE OF THE SKIP:
						; 4465	; 0	SKIP IF CRY0=1 (TXX- AND TXXN)
						; 4466	; 1	SKIP IF CRY0=0 (TXXA AND TXXE)
						; 4467	
						; 4468	=0****00*000
						; 4469	TDX:	TEST FETCH,NO CRY,		;TDXA AND TRXA
U 0010, 0014,2001,0000,0000,0226,0033,0203	; 4470			B DISP,J/TDN
						; 4471	
						; 4472	TSX:	AR_AR SWAP,TEST FETCH,NO CRY,	;TSX, TSXA, TLX, AND TLXA
U 0011, 0014,2041,4000,0000,3226,0033,0203	; 4473			B DISP,J/TDN
						; 4474	
U 0012, 0013,4001,4000,0000,3000,0010,0000	; 4475	TSXX:	AR_AR SWAP			;TSXE, TSXN, TLXE, AND TLXN
						; 4476	
U 0013, 0014,3600,0000,0000,0246,0033,0203	; 4477	TDXX:	TEST AR.AC0,TEST FETCH,B DISP	;TDXE, TDXN, TRXE, AND TRXN
						; 4478	
U 0014, 0222,0001,0000,0000,0000,0010,0000	; 4479	TDN:	J/FINI				;NO MODIFICATION
U 0015, 0065,3000,2000,4000,0000,0010,0000	; 4480	TDZ:	AR_AR*AC0,AD/ANDCA,TIME/2T,J/STAC	;ZEROS
U 0016, 0065,3100,2000,0000,0000,0010,0000	; 4481	TDC:	AR_AR*AC0,AD/XOR,TIME/2T,J/STAC		;COMP
U 0017, 0065,3300,2000,4000,0000,0010,0000	; 4482	TDO:	AR_AR*AC0,AD/OR,TIME/2T,J/STAC		;ONES
						; 4483	=
						; 4484	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			COMPARE -- CAI, CAM					

						; 4485	.TOC	"COMPARE -- CAI, CAM"
						; 4486	
						; 4487		.DCODE
D 0300, 0301,1507				; 4488	300:	I,	SJC-,	J/CAIM	;CAI
D 0301, 0200,1507				; 4489		I,	SJCL,	J/CAIM
D 0302, 0100,1507				; 4490		I,	SJCE,	J/CAIM
D 0303, 0001,1507				; 4491		I,	SJCLE,	J/CAIM
D 0304, 0700,1507				; 4492		I,	SJCA,	J/CAIM
D 0305, 0601,1507				; 4493		I,	SJCGE,	J/CAIM
D 0306, 0501,1507				; 4494		I,	SJCN,	J/CAIM
D 0307, 0400,1507				; 4495		I,	SJCG,	J/CAIM
						; 4496	
D 0310, 4300,1507				; 4497	310:	R,	SJC-,	J/CAIM	;CAM
D 0311, 4201,1507				; 4498		R,	SJCL,	J/CAIM
D 0312, 4101,1507				; 4499		R,	SJCE,	J/CAIM
D 0313, 4000,1507				; 4500		R,	SJCLE,	J/CAIM
D 0314, 4701,1507				; 4501		R,	SJCA,	J/CAIM
D 0315, 4600,1507				; 4502		R,	SJCGE,	J/CAIM
D 0316, 4500,1507				; 4503		R,	SJCN,	J/CAIM
D 0317, 4401,1507				; 4504		R,	SJCG,	J/CAIM
						; 4505		.UCODE
						; 4506	
						; 4507	=0****00****
U 1507, 0075,3100,0000,0000,0246,0010,0201	; 4508	CAIM:	GEN AR*AC0,COMP FETCH,J/NOP
						; 4509	=
						; 4510	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			ARITHMETIC SKIPS -- AOS, SOS, SKIP			

						; 4511	.TOC	"ARITHMETIC SKIPS -- AOS, SOS, SKIP"
						; 4512	;ENTER WITH (E) IN AR
						; 4513	
						; 4514		.DCODE
D 0330, 4300,1510				; 4515	330:	R,	SJC-,	J/SKIP	;NOT A NOP IF AC .NE. 0
D 0331, 4201,1510				; 4516		R,	SJCL,	J/SKIP
D 0332, 4101,1510				; 4517		R,	SJCE,	J/SKIP
D 0333, 4000,1510				; 4518		R,	SJCLE,	J/SKIP
D 0334, 4701,1510				; 4519		R,	SJCA,	J/SKIP
D 0335, 4600,1510				; 4520		R,	SJCGE,	J/SKIP
D 0336, 4500,1510				; 4521		R,	SJCN,	J/SKIP
D 0337, 4401,1510				; 4522		R,	SJCG,	J/SKIP
						; 4523		.UCODE
						; 4524	
						; 4525	=0****00****
						; 4526	SKIP:	FIN STORE,SKIP FETCH,
U 1510, 0074,3703,0003,0000,0246,4610,0202	; 4527			SKP AC#0,J/STSELF	;STORE IN SELF MODE
						; 4528	=
						; 4529	
						; 4530		.DCODE
D 0350, 7301,1511				; 4531	350:	RPW,	SJC-,	J/AOS
D 0351, 7200,1511				; 4532		RPW,	SJCL,	J/AOS
D 0352, 7100,1511				; 4533		RPW,	SJCE,	J/AOS
D 0353, 7001,1511				; 4534		RPW,	SJCLE,	J/AOS
D 0354, 7700,1511				; 4535		RPW,	SJCA,	J/AOS
D 0355, 7601,1511				; 4536		RPW,	SJCGE,	J/AOS
D 0356, 7501,1511				; 4537		RPW,	SJCN,	J/AOS
D 0357, 7400,1511				; 4538		RPW,	SJCG,	J/AOS
						; 4539		.UCODE
						; 4540	
						; 4541	=0****00****
U 1511, 1510,4001,2000,0000,0036,1310,0000	; 4542	AOS:	AR_AR+1,AD FLAGS,STORE,J/SKIP
						; 4543	=
						; 4544	
						; 4545		.DCODE
D 0370, 7301,1512				; 4546	370:	RPW,	SJC-,	J/SOS
D 0371, 7200,1512				; 4547		RPW,	SJCL,	J/SOS
D 0372, 7100,1512				; 4548		RPW,	SJCE,	J/SOS
D 0373, 7001,1512				; 4549		RPW,	SJCLE,	J/SOS
D 0374, 7700,1512				; 4550		RPW,	SJCA,	J/SOS
D 0375, 7601,1512				; 4551		RPW,	SJCGE,	J/SOS
D 0376, 7501,1512				; 4552		RPW,	SJCN,	J/SOS
D 0377, 7400,1512				; 4553		RPW,	SJCG,	J/SOS
						; 4554		.UCODE
						; 4555	
						; 4556	=0****00****
U 1512, 1510,1703,2000,0000,0036,1310,0000	; 4557	SOS:	AR_AR-1,AD FLAGS,STORE,J/SKIP
						; 4558	=
						; 4559	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			CONDITIONAL JUMPS -- JUMP, AOJ, SOJ, AOBJ		

						; 4560	.TOC	"CONDITIONAL JUMPS -- JUMP, AOJ, SOJ, AOBJ"
						; 4561	
						; 4562		.DCODE
D 0320, 0301,1513				; 4563	320:	I,	SJC-,	J/JUMP
D 0321, 0200,1513				; 4564		I,	SJCL,	J/JUMP
D 0322, 0100,1513				; 4565		I,	SJCE,	J/JUMP
D 0323, 0001,1513				; 4566		I,	SJCLE,	J/JUMP
D 0324, 0700,1513				; 4567		I,	SJCA,	J/JUMP
D 0325, 0601,1513				; 4568		I,	SJCGE,	J/JUMP
D 0326, 0501,1513				; 4569		I,	SJCN,	J/JUMP
D 0327, 0400,1513				; 4570		I,	SJCG,	J/JUMP
						; 4571		.UCODE
						; 4572	
						; 4573	=0****00****
U 1513, 0075,3200,2000,0000,0246,0010,0502	; 4574	JUMP:	AR_AC0,JUMP FETCH,J/NOP		; E IS IN VMA (HERE AND BELOW)
						; 4575	=
						; 4576	
						; 4577		.DCODE
D 0340, 0300,1514				; 4578	340:	I,	SJC-,	J/AOJ
D 0341, 0201,1514				; 4579		I,	SJCL,	J/AOJ
D 0342, 0101,1514				; 4580		I,	SJCE,	J/AOJ
D 0343, 0000,1514				; 4581		I,	SJCLE,	J/AOJ
D 0344, 0701,1514				; 4582		I,	SJCA,	J/AOJ
D 0345, 0600,1514				; 4583		I,	SJCGE,	J/AOJ
D 0346, 0500,1514				; 4584		I,	SJCN,	J/AOJ
D 0347, 0401,1514				; 4585		I,	SJCG,	J/AOJ
						; 4586		.UCODE
						; 4587	
						; 4588	=0****00****
U 1514, 0074,4640,2000,0000,0266,1310,0502	; 4589	AOJ:	AR_AC0+1,AD FLAGS,JUMP FETCH,J/STORAC
						; 4590	=
						; 4591	
						; 4592		.DCODE
D 0360, 0301,1515				; 4593	360:	I,	SJC-,	J/SOJ
D 0361, 0200,1515				; 4594		I,	SJCL,	J/SOJ
D 0362, 0100,1515				; 4595		I,	SJCE,	J/SOJ
D 0363, 0001,1515				; 4596		I,	SJCLE,	J/SOJ
D 0364, 0700,1515				; 4597		I,	SJCA,	J/SOJ
D 0365, 0601,1515				; 4598		I,	SJCGE,	J/SOJ
D 0366, 0501,1515				; 4599		I,	SJCN,	J/SOJ
D 0367, 0400,1515				; 4600		I,	SJCG,	J/SOJ
						; 4601		.UCODE
						; 4602	
						; 4603	=0****00****
U 1515, 0353,3240,2000,0000,0020,0010,0000	; 4604	SOJ:	AR_AC0
U 0353, 0074,1703,2000,0000,0266,1310,0502	; 4605	=	AR_AR-1,AD FLAGS,JUMP FETCH,J/STORAC
						; 4606	
						; 4607		.DCODE
D 0252, 0601,1516				; 4608	252:	I,	SJCGE,	J/AOBJ
D 0253, 0200,1516				; 4609		I,	SJCL,	J/AOBJ
						; 4610		.UCODE
						; 4611	
						; 4612	=0****00****
U 1516, 0074,4640,2000,0000,0266,0017,0502	; 4613	AOBJ:	AR_AC0+1,GEN CRY18,JUMP FETCH,J/STORAC
						; 4614	=
						; 4615	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			AC DECODE JUMPS -- JRST, JFCL				

						; 4616	.TOC	"AC DECODE JUMPS -- JRST, JFCL"
						; 4617	
						; 4618		.DCODE
D 0254, 2000,0600				; 4619	254:	EA,	J/JRST		;DISPATCHES TO 1 OF 16 ON AC BITS
D 0255, 0401,0700				; 4620		I,TNN,	J/JFCL
						; 4621		.UCODE
						; 4622	
						; 4623	;A READ DETECTS JRST, AND DISPATCHES TO ONE OF 16 LOC'NS ON AC BITS
						; 4624	
						; 4625	600:				;DRAM REQUIRES JRST AT MULTIPLE OF 200
U 0600, 0222,0001,0000,0000,0000,0010,0000	; 4626	JRST:	J/FINI				;(0) A READ PREFETCHES ON JRST 0,
U 0601, 0630,0001,0040,0000,0000,0024,0412	; 4627	601:	PORTAL,BR/AR,J/BRJMP		;(1) PORTAL
						; 4628	602:
U 0602, 0036,2301,0040,0000,0000,0036,0000	; 4629	JRST2:	EA MOD DISP,BR/AR,J/JRSTF	;(2) JRSTF
U 0603, 1002,4001,0000,0000,0000,0010,0000	; 4630	603:	J/UUO				;(3)
U 0604, 1016,0001,0000,0000,0000,6110,0000	; 4631	604:	SKP KERNEL,J/IHALT		;(4) HALT
						; 4632	.IF/LONG.PC
U 0605, 0465,0001,0000,0000,0012,0010,0000	; 4633	605:	LOAD AR,J/XJRSTF1		;(5) XJRSTF -- VALID ANYWHERE
U 0606, 0604,4001,0000,0000,0000,7310,0000	; 4634	606:	SKP IO LEGAL,J/604		;(6) XJEN -- TRAP IF USER
U 0607, 0730,4031,0200,0000,0020,7325,0000	; 4635	607:	SKP IO LEGAL,ARX_PC+1,J/XPCW1	;(7) XPCW -- TRAP IF USER
						;;4636	.IFNOT/LONG.PC
						;;4637	605:	J/UUO				;(5)
						;;4638	606:	J/UUO				;(6)
						;;4639	607:	J/UUO				;(7)
						; 4640	.ENDIF/LONG.PC
U 0610, 0364,4001,0000,0000,0000,7310,0000	; 4641	610:	SKP IO LEGAL,J/DISM		;(10) JRST 10, DISMISS ONLY
U 0611, 1002,4001,0000,0000,0000,0010,0000	; 4642	611:	J/UUO				;(11)
U 0612, 0364,4001,0000,0000,0000,7310,0000	; 4643	612:	SKP IO LEGAL,J/DISM		;(12) JEN
U 0613, 1002,4001,0000,0000,0000,0010,0000	; 4644	613:	J/UUO				;(13)
						; 4645	.IF/LONG.PC
U 0614, 0372,4031,0200,0000,0020,0625,0030	; 4646	614:	AR_0.C,ARX_PC+1,J/XSFM1		;(14) XSFM [331]
U 0615, 0534,0001,0000,0000,0012,0010,0000	; 4647	615:	LOAD AR,J/PCA			;(15) XJRST [301]
						;;4648	.IFNOT/LONG.PC
						;;4649	614:	J/UUO				;(14)
						;;4650	615:	J/UUO				;(15)
						; 4651	.ENDIF/LONG.PC
U 0616, 1002,4001,0000,0000,0000,0010,0000	; 4652	616:	J/UUO				;(16)
U 0617, 1002,4001,0000,0000,0000,0010,0000	; 4653	617:	J/UUO				;(17)
						; 4654	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			AC DECODE JUMPS -- JRST, JFCL				

						; 4655	;HERE TO FINISH THE MORE COMPLEX FORMS OF JRST
						; 4656	
						;;4657	.IFNOT/XADDR
						;;4658	=1110
						;;4659	JRSTF:	AR_ARX,J/RSTF			;NO XR, RESTORE FROM INDIRECT WORD
						;;4660		AR_XR,J/RSTF			;INDEXED, RESTORE FROM REGISTER
						; 4661	.IF/XADDR
						; 4662	=1110
U 0036, 0354,0001,4000,0000,2000,5010,0000	; 4663	JRSTF:	AR_ARX,SKP PC SEC0,J/RSTF0	;NO XR, RESTORE FROM INDIRECT WORD
U 0037, 0354,3240,2002,0000,0020,5010,0000	; 4664		AR_XR,SKP PC SEC0		;INDEXED, RESTORE FROM REGISTER
						; 4665	=0
U 0354, 1002,4001,0000,0000,0000,0010,0000	; 4666	RSTF0:	J/UUO
						; 4667	.ENDIF/XADDR
U 0355, 0630,0001,0000,0000,0000,0024,0420	; 4668	RSTF:	RSTR FLAGS_AR,J/BRJMP
						; 4669	
						; 4670	=0
U 0364, 1002,4001,0000,0000,0000,0010,0000	; 4671	DISM:	J/UUO				;ATTEMPT TO DISMISS FROM USER
U 0365, 0361,4001,0040,0000,0000,0024,0502	; 4672		DISMISS,BR/AR
U 0361, 0020,0001,0000,0000,0000,0001,0000	; 4673		IR DISP,J/20			;SPLIT OUT AGAIN
						; 4674	630:					;JRST 10,
U 0630, 0075,3242,0000,0000,0317,0010,0000	; 4675	BRJMP:	VMA_BR,FETCH,J/NOP		;RELOAD VMA WITH NEW FLAGS
U 0632, 0036,2341,0000,0000,0000,0036,0000	; 4676	632:	EA MOD DISP,J/JRSTF		;JEN, MUST RESTORE FLAGS
						; 4677	
						; 4678	.IF/LONG.PC
U 0372, 0644,3510,0207,4000,0020,6210,0175	; 4679	XSFM1:	ARX_ARX ANDC ADMSK,SKP USER    	;[331] XSFM now legal everywhere
U 0644, 0635,0001,0000,0000,2000,0250,0000	; 4680	=0	AR12-17_PREV SEC,CALL [ARSWAP]	;[334] SAVE PCS IN AR
						; 4681		ARL_ARXL,ARR_ARR,        	;STORE FLAG WORD
U 0645, 0634,0001,0000,0000,2016,0022,0004	; 4682			STORE,J/XSFM2
						; 4683	;					;[334]
						; 4684	
						;;4685	.IFNOT/XADDR
						;;4686	=0
						;;4687	XPCW1:	J/UUO				;BAD USE OF XPCW 
						;;4688		AR_ARX ANDC ADMSK,STORE,	;STORE FLAGS WORD
						;;4689			BRX/ARX,ARX/AD,
						;;4690			IR DISP,J/20		;IS THIS XSFM OR XPCW
						; 4691	.IF/XADDR
						; 4692	=0
U 0730, 1002,4001,0000,0000,0000,0010,0000	; 4693	XPCW1:	J/UUO				;BAD USE OF XPCW
						; 4694		AR_ARX ANDC ADMSK,BRX/ARX,	;SAVE FLAGS,PC IN BRX AND
U 0731, 0461,3510,2227,0000,0020,0010,0175	; 4695			ARX/AD			;FLAGS IN ARX
U 0461, 0734,0001,0040,0000,0000,6222,0030	; 4696		AR_0.S,BR/AR,SKP USER
U 0734, 0635,0001,0000,0000,2000,0250,0000	; 4697	=0	AR12-17_PREV SEC,CALL [ARSWAP]	;[334] SAVE PCS IN AR
						; 4698		ARL_BRL,ARR_ARR,STORE,		;STORE FLAGS WORD
U 0735, 0020,3242,0000,0000,0016,0601,0002	; 4699			IR DISP,J/20		;IS THIS XSFM, OR XPCW?
						; 4700	.ENDIF/XADDR
						; 4701	627:	FIN STORE,AR_ARX*BRX,AD/ANDCA,	;XPCW.  GET ADDRESS TO AR
U 0627, 0471,3002,6003,4000,0016,3610,0000	; 4702			VMA_VMA+1,STORE,J/XPCW2
						; 4703	634:
U 0634, 0075,4001,0003,0000,0217,0010,0000	; 4704	XSFM2:	FIN STORE,I FETCH,J/NOP		;XSFM.  DONE.
						; 4705	
						; 4706	XJRSTF1:FIN XFER,VMA_VMA+1,LOAD AR,	;GETS TO 625 OR 626 FOR XJRSTF
U 0465, 0020,3240,0003,0000,0032,3601,0000	; 4707			IR DISP,J/20		; OR XJEN
						; 4708	
						;;4709	.IFNOT/XADDR
						;;4710	XPCW2:	FIN STORE,VMA_VMA+1,LOAD AR	;STORE PC ADDR, GET NEW FLAGS
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7-1
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			AC DECODE JUMPS -- JRST, JFCL				

						;;4711		FIN XFER,VMA_VMA+1,LOAD AR	;GOT FLAGS GET PC ADDRESS
						;;4712	625:	RSTR FLAGS_AR,AR_MEM,J/ARJMP	;XJRSTF WINDS UP HERE
						;;4713	626:	RSTR FLAGS_AR,AR_MEM		;XJEN WINDS UP HERE
						;;4714		DISMISS,J/ARJMP
						; 4715	.IF/XADDR
U 0471, 0472,0001,0003,0000,0012,3610,0000	; 4716	XPCW2:	FIN STORE,VMA_VMA+1,LOAD AR	;STORE PC ADDR, GET NEW FLAGS
U 0472, 0475,3200,0003,0000,0032,3610,0000	; 4717		FIN XFER,VMA_VMA+1,LOAD AR	;GOT FLAGS, GET PC ADDRESS
U 0475, 1045,3200,0003,0000,0022,0024,0420	; 4718		RSTR FLAGS_AR,AR_MEM,J/ARJMP
						; 4719	625:	RSTR FLAGS_AR,AR_MEM,       	;XJRSTF WINDS UP HERE
						; 4720			ARX_AR SWAP,		;SAVE PCS,FLAGS IN ARX
U 0625, 1020,3200,0403,0000,3022,6224,0420	; 4721			SKP USER,J/XJRSTF2
						; 4722	626:	RSTR FLAGS_AR,AR_MEM,SKP USER,	;XJEN WINDS UP HERE
U 0626, 0754,3200,0403,0000,3022,6224,0420	; 4723			ARX_AR SWAP		;SAVE PCS,FLAGS IN ARX
U 0754, 1020,4001,0000,0000,0000,0024,0502	; 4724	=0	DISMISS,J/XJRSTF2
U 0755, 1045,4001,0000,0000,0000,0024,0502	; 4725		DISMISS,J/ARJMP
						; 4726	=0
U 1020, 1044,4001,0000,0000,0000,6210,0000	; 4727	XJRSTF2:SKP USER,J/XJRSTF3
U 1021, 0075,3703,0000,0000,0317,0010,0000	; 4728		VMA_AR,FETCH,J/NOP
						; 4729	=0
U 1044, 0552,4001,0000,0000,0000,0050,0000	; 4730	XJRSTF3:CALL,J/LDPCS			;RESTORE PCS FROM FLAGS WORD
						; 4731	.ENDIF/XADDR
U 1045, 0075,3703,0000,0000,0317,0010,0000	; 4732	ARJMP:	VMA_AR,FETCH,J/NOP		;DONE
						; 4733	.IF/XADDR
U 0534, 1045,3200,0003,0000,0022,1610,0000	; 4734	PCA:	AR_MEM,SR_0,J/ARJMP		;[301] End of LUUO and XJRST
						; 4735	;
U 0552, 0562,4001,0000,0000,0000,2210,0400	; 4736	LDPCS:	GET ECL EBUS
U 0562, 0624,3711,0000,0000,0060,2010,0426	; 4737		LD PCS
						; 4738		COND/EBUS CTL,EBUS CTL/2,	;RELEASE ECL BUS
U 0624, 0001,0001,0000,0000,0000,2203,0002	; 4739			RETURN1
						; 4740	.ENDIF/XADDR
						; 4741	.ENDIF/LONG.PC
						; 4742	;
						; 4743	;	[334] Subroutine to swap AR halves.  Used in a couple of places.
						; 4744	;
U 0635, 0001,0001,4000,0000,3000,0003,0000	; 4745	ARSWAP:	AR_AR SWAP,RETURN1		;[334] Rearrange things
						; 4746	;
						; 4747	700:					;JFCL MUST BE AT JRST+100
U 0700, 0124,3242,0600,0302,0000,0010,0015	; 4748	JFCL:	ARX_BRX,SC_#,#/13.		;GET BACK AC FIELD
						; 4749	=0*	AR_SHIFT,ARX_0S,		;MOVE AC TO AR32-35
U 0124, 2264,3401,4200,0302,0000,0050,0040	; 4750			SC_#,#/32.,CALL,J/SHIFT	;SHIFTER WILL MOVE TO 0-3
U 0126, 0641,3731,2040,0000,0000,0024,0602	; 4751		BR/AR,AR_PC,JFCL T		;GET PC FLAGS INTO AR
U 0641, 0652,3602,0000,0000,0246,0010,0503	; 4752		TEST AR.BR,JFCL FETCH		;JUMP IF TEST SATISFIED
U 0652, 0656,3502,2000,0000,0000,0010,0000	; 4753		AR_AR*BR,AD/ANDCB		;CLEAR TESTED FLAGS IN AR
U 0656, 0222,4001,0000,0000,0000,0024,0622	; 4754		JFCL S,J/FINI			;SET PC FROM THEM
						; 4755	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			HALT LOOP						

						; 4756	.TOC	"HALT LOOP"
						; 4757	;HERE WHILE PROCESSOR IS "HALTED"
						; 4758	
						; 4759	1016:
						; 4760	UUO107:					;OP 107 COMES HERE
U 1016, 1002,4001,0000,0000,0000,0010,0000	; 4761	IHALT:	J/UUO				;HERE IF HALT NOT IN KERNEL
U 1017, 0661,0001,0000,0000,0000,0024,0442	; 4762	1017:	HALT
						; 4763	
						; 4764	CHALT:	AR_0S,CLR SC,CLR FE,SET HALTED,	;KERNEL OR CONSOLE HALT
U 0661, 1054,3441,2000,0403,0100,1515,0302	; 4765			VMA/PC,PC_VMA		; IF JRST 4, COPY EA TO PC
						;;4766	.IF/PAGCNT				;[327] PFH, DATAO PAG bit 2 counts
						;;4767		TRX2_AR				;[327] Zero count registers
						;;4768		TRX3_AR
						; 4769	.ENDIF/PAGCNT				;[327]
						; 4770	=0
						; 4771	HALT1:	SKP -START,TIME/3T,		;CHECK FOR CONTINUE BUTTON
U 1054, 1164,4001,0400,2421,1020,7110,0000	; 4772			FE_AR0-8,ARX_AR,J/HALT2	;PICK UP OPCODE IN CASE XCT
U 1055, 0144,0001,0000,0000,0000,7710,0000	; 4773		TAKE INTRPT			;HERE IF EXAMINE/DEPOSIT UP
						; 4774	=0
U 1164, 0226,4001,0000,3000,0020,1534,0000	; 4775	HALT2:	GEN FE-1,BYTE DISP,CONTINUE,J/UNHALT	;INSTR FROM SWITCHES?
U 1165, 1054,0001,0000,0000,0000,7010,0000	; 4776		SKP INTRPT,TIME/2T,J/HALT1	;HALT LOOP MUST BE AN ODD
						; 4777						; NUMBER OF TICKS TO ALLOW
						; 4778						; DIAGNOSTICS TO SYNCRONIZE
						; 4779						; EBOX WITH E & SBUS CLK PHASES.
						; 4780	=110
U 0226, 1775,0001,0000,0401,0000,1510,0310	; 4781	UNHALT:	SET CONS XCT,CLR FE,J/UXCT	;XCT ONE FROM "SWITCHES"
U 0227, 0000,5063,0000,0000,0040,5410,0000	; 4782		SKP AR EQ,J/START		;NOT AN INSTR.  START, OR CONT?
						; 4783	
						; 4784	
						; 4785	.TOC	"MAP, XCT"
						; 4786	
						; 4787		.DCODE
D 0256, 4000,0402				; 4788	256:	R,		J/XCT	;OPERAND FETCHED AS DATA
D 0257, 0500,0403				; 4789		I,	AC,	J/MAP
						; 4790		.UCODE
						; 4791	
						; 4792	=0****00***0
U 0402, 1762,4001,0000,0000,0000,7010,0000	; 4793	XCT:	SKP INTRPT,J/XCT1		;CHECK FOR XCT . LOOP
						; 4794	
U 0403, 0671,4001,0040,0000,0007,0010,0140	; 4795	MAP:	MAP,BR/AR			;MAP E, GO READ BACK EBRG
						; 4796	=
						; 4797	.IF/KLPAGE				;IN KL PAGING MODE,
U 0671, 1254,0001,0000,0000,0000,1610,0015	; 4798		SR_MAP				;MAP CAN PAGE FAIL
						; 4799	.ENDIF/KLPAGE
						; 4800	=0
						; 4801	RDEBRG:	AR_0S,SKP IO LEGAL,MB WAIT,	;FINISH READ REG FUNC
U 1254, 2406,3401,2000,0000,0002,7350,0000	; 4802			CALL,J/GETEEB		;AND GET EBUS
U 1255, 0726,4001,3000,0000,0060,2010,0567	; 4803		AR_EBUS REG			;READ DATA
U 0726, 0066,0001,0000,0000,0005,2233,0000	; 4804		REL ECL EBUS,B WRITE,J/ST6	;GIVE IT TO USER
						; 4805	.IF/KLPAGE
						; 4806	=0
U 1274, 1002,0001,0000,0000,0000,1610,0000	; 4807	MAP2:	SR_0,J/UUO			;NO MAPS IN USER MODE
U 1275, 1320,0001,0000,0000,0000,7010,0000	; 4808		SKP INTRPT			;DO NOT BUM THIS CODE OUT
						; 4809	=0					;IT IS NECESSARY TO DO NOTHING
U 1320, 0074,0001,0000,0000,0217,0010,0000	; 4810		I FETCH,J/STORAC		;INTERESTING AFTER A MAP IF
U 1321, 0071,0001,0000,0000,0000,2110,0105	; 4811		SET ACCOUNT EN,J/TAKINT		;AN INTERRUPT IS PENDING
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8-1
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			MAP, XCT						

						; 4812	.ENDIF/KLPAGE
						; 4813	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			STACK INSTRUCTIONS -- PUSHJ, PUSH, POP, POPJ		

						; 4814	.TOC	"STACK INSTRUCTIONS -- PUSHJ, PUSH, POP, POPJ"
						; 4815	
						; 4816		.DCODE
D 0260, 2000,0415				; 4817	260:	EA,		J/PUSHJ
D 0261, 4001,0414				; 4818		R,	B/0,	J/PUSH
D 0262, 2001,0504				; 4819		EA,	B/0,	J/POP
D 0263, 0001,0505				; 4820		I,		J/POPJ
						; 4821		.UCODE
						; 4822	
						; 4823	;PUSHJ
						; 4824	; ENTER WITH E IN AR
						; 4825	;PUSH
						; 4826	; ENTER WITH (E) IN AR
						; 4827	
						; 4828	=0****00***0
						;;4829	.IFNOT/MODEL.B
						;;4830	PUSH:	ARX_AC0+1,GEN CRY18,SKP CRY0,	;BUMP BOTH HALVES OF AC,
						;;4831			VMA/AD,STORE,J/STMAC	;PUT AR ONTO LIST
						;;4832	
						;;4833	PUSHJ:	BR/AR,AR_PC+1			;SAVE JUMP ADDR, GET PC
						;;4834	=	ARX_AC0+1,GEN CRY18,SKP CRY0,	;COMPUTE STACK ADDRESS
						;;4835			VMA/AD,STORE,J/JSTAC	;AND PREPARE TO STORE PC
						; 4836	.IF/MODEL.B		;COULD SIMPLIFY IFNOT XADDR
U 0414, 1334,4640,0200,0000,0151,5420,0041	; 4837	PUSH:	ARX_AC0+1,PUSH,SKP CRY0,J/STMAC	;BUMP AC ACCORDING TO FORMAT
						; 4838						; AND SECTION NUMBER
U 0415, 1330,4031,2040,0000,0020,5025,0000	; 4839	PUSHJ:	BR/AR,AR_PC+1,SKP PC SEC0	;GET PC WITH FLAGS
						; 4840	=
U 1330, 1331,3600,2007,4000,0020,0010,0175	; 4841	=0	AR_AR AND ADMSK			;STRIP OFF FLAGS IF NOT SEC0
U 1331, 0122,4660,0200,0000,0151,5420,0041	; 4842		ARX_AC0+1,PUSH,SKP CRY0,J/JSTAC	;UPDATE STACK POINTER, STORE
						; 4843	.ENDIF/MODEL.B
						; 4844	=00
U 0120, 0736,3703,0000,0000,0313,0050,0000	; 4845	JRA1:	VMA_AR,LOAD ARX,CALL,J/XFERW	;GET SAVED AC
						; 4846	=10
						; 4847	JSTAC:	FIN STORE,VMA_BR,FETCH,		;STORE PC, JUMP ADDR TO VMA
U 0122, 0074,3202,4003,0000,2317,0010,0000	; 4848			AR_ARX,J/STORAC		;PREPARE TO STORE AC VALUE
U 0123, 0122,0001,0003,0000,0002,1110,0040	; 4849		TRAP2,MEM_AR,J/JSTAC		;CAUSE PDL OVRFLO
						; 4850	
						; 4851	=0
						; 4852	STMAC:	FIN STORE,I FETCH,		;STORE RESULT, GET NEXT INSTR
U 1334, 0074,4001,4003,0000,2217,0033,0000	; 4853			AR_ARX,B DISP,J/STSELF	;STORE AC IF B=0
						; 4854		MEM_AR,TRAP2,			;PDL OVFLO, CAUSE TRAP
U 1335, 0067,0001,4003,0000,2002,1110,0040	; 4855			AR_ARX,J/IFSTAC		;UPDATE AC BEFORE TRAPPING
						; 4856	;
						; 4857	;	A one line subroutine to wait for a memory fetch (either AR
						; 4858	;	or ARX) and return.  Used by all sorts of things.
						; 4859	;
U 0736, 0002,3240,0003,0000,0022,0003,0000	; 4860	XFERW:	AR_MEM,ARX_MEM,TIME/3T,RETURN2	; Cross reference both macros [313]
						; 4861	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			STACK INSTRUCTIONS -- PUSHJ, PUSH, POP, POPJ		

						; 4862	;POP, POPJ
						; 4863	;ENTER WITH E IN AR
						; 4864	
						;;4865	.IFNOT/MODEL.B
						;;4866	=0****00***0
						;;4867	POP:	BR/AR,AR_AC0,VMA/AD,		;GET PUSHDOWN POINTER
						;;4868			LOAD AR,J/POP1		;BEGIN DATA FETCH FROM STACK
						;;4869	
						;;4870	POPJ:	AR_AC0,VMA/AD,LOAD ARX		;START FETCH FROM STACK
						;;4871	=	AR_AR-1,INH CRY18,SKP CRY0	;DECR STACK POINTER, CHECK UNDERFLOW
						;;4872	=0	ARX_MEM,TRAP2,J/POPJ1		;UNDERFLOW OCCURRED
						;;4873		ARX_MEM				;GET STACK WORD
						;;4874	POPJ1:	AC0_AR,VMA_ARX,FETCH,J/NOP	;SET NEW AC VALUE, JUMP
						;;4875	
						;;4876	
						;;4877	POP1:	ARX_AR-1,INH CRY18,SKP CRY0	;ADJUST POINTER, CHECK TRAP
						;;4878	=0	AR_MEM,TRAP2			;PDL OVFLO, CAUSE TRAP
						;;4879		AR_MEM,SR_#,#/100		;SET DEST CONTEXT FLAG
						;;4880		VMA_BR,STORE,SR_0,J/STMAC	;PUT RESULT AWAY, THEN AC
						; 4881	.IF/MODEL.B		;COULD SIMPLIFY IFNOT XADDR
						; 4882	=0****00***0
U 0504, 1003,3240,2040,0000,0131,0010,0421	; 4883	POP:	BR/AR,AR_AC0,POP AR,J/POP2	;GET FROM STACK
						; 4884	
U 0505, 0752,3200,2000,0000,0131,0010,0621	; 4885	POPJ:	AR_AC0,POP AR-ARX		;GET STACK TO AR AND ARX
						; 4886	=	AR_AR-1,TIME/3T,		;BACK OFF POINTER
U 0752, 1374,1703,2000,0000,0020,5420,0000	; 4887			AC0,STACK UPDATE,SKP CRY0	; UNDERFLOW?
						; 4888	=0	BR/AR,AR_MEM,ARL_0.S,		;AC TO BR, HALFWORD PC TO AR
						; 4889			ARX_MEM,TIME/3T,	;FULL PC TO ARX.
U 1374, 1454,3240,0043,0000,0022,5022,0020	; 4890			SKP PC SEC0,J/POPJT	; GO SET TRAP
						; 4891		BR/AR,AR_MEM,ARL_0.S,		;AC TO BR, HALFWORD PC TO AR
						; 4892			ARX_MEM,TIME/3T,	;FULL PC TO ARX.
U 1375, 1440,3240,0043,0000,0022,5022,0020	; 4893			SKP PC SEC0		;EXTENDED FORM?
						; 4894	=0
U 1440, 0756,3711,0000,0000,0317,0010,0000	; 4895	POPJ2:	VMA_ARX,FETCH,J/POPJ4		;YES.  LOAD ENTIRE ADDR
U 1441, 0756,3703,0000,0000,0317,0010,0000	; 4896	POPJ3:	VMA_AR,FETCH			;NO, LOAD HALFWORD ADDRESS
U 0756, 0065,3242,2000,0000,0000,0010,0000	; 4897	POPJ4:	AR_BR,J/STAC			;GET AC BACK, GO STUFF IT
						; 4898	
						; 4899	;HERE IF POPJ GETS STACK UNDERFLOW
						; 4900	; SKIP IF PC SECTION 0
						; 4901	=0
U 1454, 1440,4001,0000,0000,0000,1110,0040	; 4902	POPJT:	TRAP2,J/POPJ2
U 1455, 1441,0001,0000,0000,0000,1110,0040	; 4903		TRAP2,J/POPJ3
						; 4904	
						; 4905	POP2:	ARX_AR-1,AC0,STACK UPDATE,	;BACK UP POINTER
U 1003, 1570,1701,0200,0000,0040,5420,0000	; 4906			SKP CRY0
U 1570, 1023,3200,0003,0000,0022,1110,0040	; 4907	=0	AR_MEM,TRAP2,J/POP3
U 1571, 1023,3240,0003,0000,0022,0010,0000	; 4908		AR_MEM
U 1023, 1334,3242,0000,0000,0111,0010,0042	; 4909	POP3:	GEN BR,WRITE (E),J/STMAC	;STORE RESULT & AC
						; 4910	.ENDIF/MODEL.B
						; 4911	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 11
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			SUBROUTINE CALL/RETURN -- JSR, JSP, JSA, JRA		

						; 4912	.TOC	"SUBROUTINE CALL/RETURN -- JSR, JSP, JSA, JRA"
						; 4913	
						; 4914		.DCODE
D 0264, 2001,0703				; 4915	264:	EA,		J/JSR		; [301] Make sure these can cross
D 0265, 2000,0702				; 4916		EA,		J/JSP		; section boundaries
D 0266, 0001,1114				; 4917		I,		J/JSA
D 0267, 0000,1115				; 4918		I,		J/JRA
						; 4919		.UCODE
						; 4920	
						; 4921	=0****00***0
						;;4922	.IFNOT/XADDR
						;;4923	JSP:	AR_PC+1,FETCH,J/STORAC
						;;4924	
						;;4925	JSR:	AR_PC+1,STORE
						;;4926	=	FIN STORE,VMA_VMA+1,FETCH,J/NOP
						; 4927	.IF/XADDR
U 0702, 1602,4031,2000,0000,0037,5025,0000	; 4928	JSP:	AR_PC+1,FETCH,SKP PC SEC0,J/JSP1
						; 4929	
U 0703, 1574,4033,2000,0000,0020,5025,0000	; 4930	JSR:	AR_PC+1,SKP PC SEC0
						; 4931	=
U 1574, 1025,3600,2007,0000,0036,0010,0175	; 4932	=0	AR_AR AND ADMSK,STORE,J/JSR1
U 1575, 1025,0001,0000,0000,0016,0010,0000	; 4933		STORE				;IN SECT 0, SAVE FLAGS, TOO
U 1025, 0075,0001,0003,0000,0017,3610,0000	; 4934	JSR1:	FIN STORE,VMA_VMA+1,FETCH,J/NOP
						; 4935	
						; 4936	=0
U 1602, 0065,3600,2007,4000,0020,0010,0175	; 4937	JSP1:	AR_AR AND ADMSK,J/STAC		;NON-ZERO SEC, NO FLAGS
U 1603, 0222,4001,0000,0000,0000,1010,0000	; 4938		AC0_AR,J/FINI
						; 4939	.ENDIF/XADDR
						; 4940	
						; 4941	
						; 4942	=0****00***0
U 1114, 1041,3200,2400,0000,3036,0010,0000	; 4943	JSA:	ARX_AR SWAP,AR_AC0,STORE,J/JSA1	;SAVE E IN ARX LEFT, GET AC
						; 4944	
						; 4945	JRA:
						;;4946	.IFNOT/XADDR				;[235]
						;;4947		BR/AR, AR_AC0			;get AC, save jump address.
						;;4948	=
						;;4949		ARR_ARL, ARL_0.M, J/JRA1	;E to ARR.
						; 4950	.IF/XADDR				;[235]
U 1115, 1032,4001,0000,0000,1000,0210,0000	; 4951		AR12-17_PC SEC			;[235] put section in jump address.
						; 4952	=
U 1032, 1610,3200,2040,0000,0020,5010,0000	; 4953		BR/AR, AR_AC0, SKP PC SEC0	;[235] save jump address, get AC.
U 1610, 1034,0001,4000,0000,3001,0010,0020	; 4954	=0	ARR_ARL, ARL_0.M, J/JRAB	;[235] in section part to ARR.
U 1611, 0120,0001,4000,0000,3001,0010,0020	; 4955		ARR_ARL, ARL_0.M, J/JRA1	;[235] E to ARR.
U 1034, 0120,4001,0000,0000,1000,0210,0000	; 4956	JRAB:	AR12-17_PC SEC, J/JRA1		;[235] section to ARL.
						; 4957	.ENDIF/XADDR				;[235]
						; 4958	
U 1041, 1046,4001,0003,0000,0017,3610,0000	; 4959	JSA1:	FIN STORE,VMA_VMA+1,FETCH	;JUMP TO E+1
U 1046, 0065,4033,2000,0000,2020,0022,0004	; 4960		ARR_PC+1,ARL_ARXL,J/STAC	;PC+1,,E GOES TO AC
						; 4961	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 12
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			UUO'S							

						; 4962	.TOC	"UUO'S"
						; 4963	;LUUO'S TRAP TO CURRENT CONTEXT
						; 4964	; EXTENDED INSTRUCTION SET IS "HIDDEN" BENEATH LUUO OPCODES
						; 4965	;
						; 4966	;	WARNING:  use extreme caution if E1 for MOVSRJ or CMPSE should
						; 4967	;	ever be used for anything, as they are sign smeared if they are
						; 4968	;	> 377777 (they fall in with MOVSO and friends at EXT2). [301]
						; 4969	;	Use similar caution if new EXTEND codes are created which
						; 4970	;	must have the DCODE B field be 1 or 3.
						; 4971	;
						; 4972		.DCODE
D 0000, 2000,1002				; 4973	000:	EA,		J/UUO
D 0001, 2200,1005				; 4974		EA,	SJCL,	J/L-CMS		;CMSX HIDDEN BENEATH LUUO
D 0002, 2100,1005				; 4975		EA,	SJCE,	J/L-CMS
D 0003, 2001,1005				; 4976		EA,	SJCLE,	J/L-CMS
						; 4977	
D 0004, 2200,1006				; 4978	004:	EA,	B/2,	J/L-EDIT	;EDIT
D 0005, 2601,1005				; 4979		EA,	SJCGE,	J/L-CMS
D 0006, 2501,1005				; 4980		EA,	SJCN,	J/L-CMS
D 0007, 2400,1005				; 4981		EA,	SJCG,	J/L-CMS
						; 4982	
D 0010, 2101,1010				; 4983	010:	EA,	B/1,	J/L-DBIN	;CVTDBO
D 0011, 2401,1010				; 4984		EA,	B/4,	J/L-DBIN	;CVTDBT
D 0012, 2100,1011				; 4985		EA,	B/1,	J/L-BDEC	;CVTBDO
D 0013, 2001,1011				; 4986		EA,	B/0,	J/L-BDEC	;CVTBDT
						; 4987	
D 0014, 2100,1012				; 4988	014:	EA,	B/1,	J/L-MVS		;MOVSO
D 0015, 2001,1012				; 4989		EA,	B/0,	J/L-MVS		;MOVST
D 0016, 2200,1012				; 4990		EA,	B/2,	J/L-MVS		;MOVSLJ
D 0017, 2301,1012				; 4991		EA,	B/3,	J/L-MVS		;MOVSRJ
						; 4992	
						; 4993	020:	
						;;4994	.IFNOT/EXTEXP
						;;4995		EA,	J/LUUO
						; 4996	.IF/EXTEXP
D 0020, 2000,1013				; 4997		EA,		J/L-XBLT	;XBLT
D 0021, 2501,1014				; 4998		EA,	AC,	J/L-GTPI	;GSNGL
D 0022, 2001,1104				; 4999		EA,		J/L-SFTE	;GDBLE
D 0023, 2000,1105				; 5000		EA,	B/0,	J/L-GTDI	;DGFIX
D 0024, 2201,1106				; 5001	024:	EA,	B/2,	J/L-GTSI	;GFIX
D 0025, 2400,1107				; 5002		EA,	B/4,	J/L-GTDR	;DGFIXR
D 0026, 2601,1110				; 5003		EA,	B/6,	J/L-GTSR	;GFIXR
D 0027, 2000,1111				; 5004		EA,		J/L-DITE	;DGFLTR
D 0030, 2000,1112				; 5005	030:	EA,		J/L-SITE	;GFLTR
D 0031, 2001,1113				; 5006		EA,		J/L-EFSC	;GFSC
						;;5007	.IFNOT/EXTEXP
						;;5008		EA,	J/LUUO
						;;5009		EA,	J/LUUO
						;;5010		EA,	J/LUUO
						;;5011	024:	EA,	J/LUUO
						;;5012		EA,	J/LUUO
						;;5013		EA,	J/LUUO
						;;5014		EA,	J/LUUO
						;;5015	030:	EA,	J/LUUO
						;;5016		EA,	J/LUUO
						; 5017	.ENDIF/EXTEXP
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 12-1
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			UUO'S							

D 0032, 2001,1006				; 5018		EA,	J/LUUO			;These are reserved to Cobol.
D 0033, 2001,1006				; 5019		EA,	J/LUUO
D 0034, 2001,1006				; 5020		EA,	J/LUUO
D 0035, 2001,1006				; 5021		EA,	J/LUUO
D 0036, 2001,1006				; 5022		EA,	J/LUUO
D 0037, 2001,1006				; 5023		EA,	J/LUUO
						; 5024	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 13
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			UUO'S							

						; 5025	;MONITOR UUO'S -- TRAP TO EXEC
						; 5026	
D 0040, 2000,1002				; 5027	040:	EA,	J/MUUO		;CALL
D 0041, 2000,1002				; 5028		EA,	J/MUUO		;INIT
D 0042, 2000,1002				; 5029		EA,	J/MUUO
D 0043, 2000,1002				; 5030		EA,	J/MUUO
D 0044, 2000,1002				; 5031		EA,	J/MUUO
D 0045, 2000,1002				; 5032		EA,	J/MUUO
D 0046, 2000,1002				; 5033		EA,	J/MUUO
D 0047, 2000,1002				; 5034		EA,	J/MUUO		;CALLI
D 0050, 2000,1002				; 5035		EA,	J/MUUO		;OPEN
D 0051, 2000,1002				; 5036		EA,	J/MUUO		;TTCALL
D 0052, 2000,1002				; 5037		EA,	J/MUUO
D 0053, 2000,1002				; 5038		EA,	J/MUUO
D 0054, 2000,1002				; 5039		EA,	J/MUUO
D 0055, 2000,1002				; 5040		EA,	J/MUUO		;RENAME
D 0056, 2000,1002				; 5041		EA,	J/MUUO		;IN
D 0057, 2000,1002				; 5042		EA,	J/MUUO		;OUT
D 0060, 2000,1002				; 5043		EA,	J/MUUO		;SETSTS
D 0061, 2000,1002				; 5044		EA,	J/MUUO		;STATO
D 0062, 2000,1002				; 5045		EA,	J/MUUO		;GETSTS
D 0063, 2000,1002				; 5046		EA,	J/MUUO		;STATZ
D 0064, 2000,1002				; 5047		EA,	J/MUUO		;INBUF
D 0065, 2000,1002				; 5048		EA,	J/MUUO		;OUTBUF
D 0066, 2000,1002				; 5049		EA,	J/MUUO		;INPUT
D 0067, 2000,1002				; 5050		EA,	J/MUUO		;OUTPUT
D 0070, 2000,1002				; 5051		EA,	J/MUUO		;CLOSE
D 0071, 2000,1002				; 5052		EA,	J/MUUO		;RELEAS
D 0072, 2000,1002				; 5053		EA,	J/MUUO		;MTAPE
D 0073, 2000,1002				; 5054		EA,	J/MUUO		;UGETF
D 0074, 2000,1002				; 5055		EA,	J/MUUO		;USETI
D 0075, 2000,1002				; 5056		EA,	J/MUUO		;USETO
D 0076, 2000,1002				; 5057		EA,	J/MUUO		;LOOKUP
D 0077, 2000,1002				; 5058		EA,	J/MUUO		;ENTER
						; 5059	
						; 5060	;EXPANSION OPCODES
						; 5061	
D 0100, 2000,1002				; 5062	100:	EA,	J/UUO		;UJEN
D 0101, 2000,1002				; 5063		EA,	J/UUO
						;;5064	.IFNOT/EXTEXP
						;;5065	102:	EA,	J/UUO
						;;5066		EA,	J/UUO
						; 5067	.ENDIF/EXTEXP
						; 5068		.UCODE
						; 5069	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 14
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			UUO'S							

						; 5070	;HERE FOR UNDEFINED OPS (UUO'S) AND ILLEGAL INSTRUCTIONS
						; 5071	;E IS IN AR, OPCODE AND AC IN BRX
						; 5072	
						; 5073	;HERE ON LUUO'S
						; 5074	; E IN AR, INSTR IN BRX
						; 5075	1005:
U 1005, 1006,0001,0000,0000,0000,0010,0000	; 5076	L-CMS:	J/LUUO				;LOC FOR HIDING STRING COMPARE
						; 5077	1006:
						; 5078	L-EDIT:					;HIDE EDIT HERE
						;;5079	.IFNOT/XADDR
						;;5080	LUUO:	ARX_BRX,SC_#,#/13.,
						;;5081			SKP INTRPT,CALL,J/ROTS	;COMBINE E WITH UUO
						;;5082	1007:	AR_SHIFT,VMA_40,STORE		;STORE OPCODE ETC AT 40
						;;5083		FIN STORE,VMA_41,
						;;5084			LOAD ARX,J/XCTW		;GO PERFORM 41
						; 5085	.IF/XADDR
U 1006, 0340,3242,0600,0000,0000,5010,0000	; 5086	LUUO:	ARX_BRX,SKP PC SEC0,J/LUUO1	;WHICH KIND OF UUO?
						; 5087	=0***0
U 0340, 1662,4001,0000,0000,0000,5750,0000	; 5088	LUUO1:	SKP -LOCAL AC ADDR,CALL,J/UUOCOM	;EXTENDED.  DO IT
						; 5089		BR/AR,AR_ARX ANDC ADMSK,	;COMPATABLE.  ADDR TO BR
U 0341, 1614,3510,2047,4000,0020,7010,0175	; 5090			SKP INTRPT,J/LUUO2	; DO IT THE OLD WAY
U 0360, 0130,4001,0000,0000,0100,3010,0420	; 5091		VMA_#,#/420			;PT LOC FOR LUUO BLOCK POINTER
						; 5092	=
U 0130, 0736,0001,0000,0000,0013,0066,0033	; 5093	=00	LOAD ARX,PT REF,CALL,J/XFERW	;GET LUUO BLOCK ADDRESS
U 0132, 1161,3711,0000,0000,0316,0050,0000	; 5094	=10	VMA_ARX,STORE,CALL,J/UUOC2	;STORE UUO OPCODE AND FLAGS
						; 5095		FIN STORE,VMA_VMA+1,LOAD AR,	;NOW GET A NEW PC
U 0133, 0534,0001,0003,0000,0012,3610,0000	; 5096			J/PCA			; [301]
						; 5097	
						; 5098	;HERE FOR COMPATIBLE UUO
						; 5099	=0
						; 5100	LUUO2:	AR_AR*BR,AD/OR,VMA_#,#/40,	;SAVE OPCODE AND EA
U 1614, 1051,3302,2004,0000,0116,3010,0040	; 5101			STORE,J/LUUO3		;THEN GET INSTR FROM 41
U 1615, 0144,0001,0000,0000,0000,7710,0000	; 5102		TAKE INTRPT			;ONE MOMENT, PLEASE
U 1051, 0270,0001,0003,0000,0013,3610,0000	; 5103	LUUO3:	FIN STORE,VMA_VMA+1,LOAD ARX,J/XCTW
						; 5104	.ENDIF/XADDR
						; 5105	
						; 5106	1010:
U 1010, 1006,0001,0000,0000,0000,0010,0000	; 5107	L-DBIN:	J/LUUO				;DBIN AT 2010
						; 5108	1011:
U 1011, 1006,0001,0000,0000,0000,0010,0000	; 5109	L-BDEC:	J/LUUO				;BDEC AT 2011
						; 5110	1012:
U 1012, 1006,0001,0000,0000,0000,0010,0000	; 5111	L-MVS:	J/LUUO				;MOVE STRING AT 2012
						; 5112	
						; 5113	;ROTATE SUBROUTINE
						; 5114	
						; 5115	=0
U 1630, 0003,4001,4400,5302,0000,0003,0044	; 5116	ROTS:	AR_SHIFT,ARX_SHIFT,SC_#-SC,#/36.,RETURN3
U 1631, 0144,0001,0000,0000,0000,7710,0000	; 5117		TAKE INTRPT
						; 5118	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 15
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			UUO'S							

						; 5119	;HERE ON MUUO'S
						; 5120	; E IN AR, OP AND AC IN BRX
						;;5121	.IFNOT/XADDR
						;;5122	1002:					;FIXED ADDRESS TO COOPERATE
						;;5123						;WITH EXTEND AND OTHER OPS
						;;5124	UUO:					;UNDEFINED OP'S .GE. 100
						;;5125	MUUO:	ARX_BRX,SC_#,#/13.,
						;;5126			SKP INTRPT,CALL,J/ROTS
						;;5127	.IFNOT/SHIFT.MUUO
						;;5128	1003:	AR_SHIFT,VMA_#,#/424
						;;5129	.IF/SHIFT.MUUO
						;;5130	1003:	AR_SHIFT,VMA_#,#/425
						;;5131	.ENDIF/SHIFT.MUUO
						;;5132		STORE,UPT REF			;FIRST, STORE INSTRUCTION
						;;5133		FIN STORE,AR_PC+1,VMA_VMA+1,STORE	;NEXT, PC
						;;5134	=100	MEM_AR,VMA_VMA+1,SC_#,#/60,
						;;5135			CALL,J/GTEEB1
						;;5136		DATAI PAG(L),CALL,J/PCTXT	;GET PROCESS CONTEXT VARIABLES
						;;5137	=11	LD PREV CTXT			;PCS FROM PC, CWSX FROM SXCT
						;;5138		AR_SHIFT,ARL_BRL.S,		;COMBINE UBR WITH AC BLKS, CWSX
						;;5139			STORE,			; STORE THAT AT 426 (XADDR =427)
						;;5140			COND/EBUS CTL,EBUS CTL/2; & RELEASE ECL EBUS
						;;5141		MEM_AR,VMA_430+MODE		;NOW READY TO GET NEW PC
						;;5142		LOAD AR,UPT REF			;FETCH NEW PC
						;;5143	NEWPC:	AR_MEM,SR_0,J/START		;USE IT
						;;5144	.IF/MODEL.B
						;;5145	SETPC:	VMA_AR AND ADMSK,FETCH,J/NOP	;USE LOW AR AS ADDRESS
						;;5146	.IFNOT/MODEL.B
						;;5147	SETPC:	PC_VMA,J/BRJMP			;LOAD PC, INCLUDING SECTION
						;;5148	.ENDIF/MODEL.B
						; 5149	.IF/XADDR
						; 5150	1002:
						; 5151	UUO:					;A PEDANTIC DISTINCTION...
						; 5152	MUUO:	ARX_BRX,SKP -LOCAL AC ADDR,	;PULL TOGETHER PIECES OF UUO
U 1002, 1662,3202,0600,0000,0000,5750,0000	; 5153			CALL,J/UUOCOM
U 1022, 1056,4001,0000,0000,0100,3210,0430	; 5154	1022:	VMA_430+MODE			;GET NEW PC
U 1056, 1071,4001,0000,0000,0013,0026,0223	; 5155		LOAD ARX,UPT REF
U 1071, 1634,3240,0003,0000,0122,3010,0424	; 5156		ARX_MEM,VMA_#,#/424		;LOC'N OF MUUO DATA BLOCK
						; 5157	=0	BRX/ARX,STORE,UPT REF,		;STORE OPCODE, FLAGS
U 1634, 1161,4001,0020,0000,0016,0066,0223	; 5158			CALL,J/UUOC2		;NOW RETURN TO COMMON CODE
U 1635, 0220,3731,2003,0302,0002,0010,0004	; 5159		MEM_AR,AR_PC,SC_#,#/4		;READY TO SETUP NEW FLAGS
						; 5160	=00	VMA_VMA+1,SC_#,#/60,		;SET UP FOR CONTEXT WORD
						; 5161			SH DISP,AR_0S,		;TEST USER AND PUBLIC FLAGS
U 0220, 0072,3401,2000,0302,0040,3647,0060	; 5162			CALL,J/MUUOF		;SET NEW PREV FLAGS, GET EBUS
						; 5163		DATAI PAG(L),ARX_1B17-1,	;GO COLLECT DATAI PAG INFO
U 0221, 3101,1741,3200,0000,0060,2057,0511	; 5164			CALL,J/PCTXT
U 0223, 1117,3733,0000,0000,0060,2010,0426	; 5165	=11	LD PREV CTXT			;PCS FROM PC, CWSX FROM SXCT
						; 5166		AR_SHIFT,ARL_BRL.S,		;COMBINE UBR WITH AC BLKS, CWSX
						; 5167			STORE,			; STORE THAT AT 426 (XADDR =427)
U 1117, 1121,3202,4000,0000,0016,2222,0002	; 5168			COND/EBUS CTL,EBUS CTL/2; & RELEASE ECL EBUS
U 1121, 1125,3242,6003,0000,0002,1610,0000	; 5169		MEM_AR,AR_BRX,SR_0		;NOW GET NEW PC
U 1125, 0075,3600,0007,4000,0337,0010,0175	; 5170	SETPC:	VMA_AR AND ADMSK,FETCH,J/NOP
						; 5171	
						; 5172	=0
U 1662, 1132,4041,0000,0000,0021,0017,0002	; 5173	UUOCOM:	ARL_1.M,J/UUOC1			;FORCE AC ADDRESS
U 1663, 1132,4001,0000,0400,3000,0022,0200	; 5174		CLR P				;NOT AC, GET CLEAN SECT #
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 15-1
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			UUO'S							

U 1132, 1142,3510,2017,0000,1020,0010,0175	; 5175	UUOC1:	MQ_AR,AR_ARX ANDC ADMSK		;SAVE ADDR IN MQ.  GET OPCODE
U 1142, 1672,4001,0040,0000,0000,6222,0030	; 5176		BR/AR,AR_0.S,SKP USER		;SAVE OPCODE IN BR
U 1672, 1673,4001,0000,0000,2000,0210,0000	; 5177	=0	AR12-17_PREV SEC		;GET PCS
U 1673, 1144,3302,2000,0000,0000,0010,0000	; 5178		AR_AR*BR,AD/OR			;OPCODE/PCS COMBINED
U 1144, 1152,3530,2407,4000,3020,0010,0175	; 5179		ARX_AR SWAP,AR_PC FLAGS		;GET FLAGS FROM PC
U 1152, 0020,4001,4000,0000,2000,0603,0000	; 5180		ARL_ARL,AR_ARX,RETURN20		;FLAGS AND OPCODE COMBINED
						; 5181						;GO BACK TO CALLER TO STORE
U 1161, 1172,4033,0203,0000,0022,0025,0000	; 5182	UUOC2:	MEM_AR,ARX_PC+1			;FINISH STORE
						; 5183		AR_ARX AND ADMSK,		;PC+1 ADDRESS TO AR
U 1172, 1252,3610,2307,0000,0036,3610,0175	; 5184			VMA_VMA+1,STORE,ARX/MQ	;PUT PC AWAY, GET EFFECTIVE ADDR
						; 5185		FIN STORE,AR_ARX,
U 1252, 0001,0001,4003,0000,2016,3603,0000	; 5186			VMA_VMA+1,STORE,RETURN1	;PUT EA AWAY.
						; 5187	
						; 5188	=1010					;HERE TO SETUP NEW FLAGS
U 0072, 2407,0001,0000,0000,0000,0024,0020	; 5189	MUUOF:	SET FLAGS_AR,J/GTEEB1		;GO GET ECL EBUS
U 0073, 0072,4001,0000,0000,0000,0110,0400	; 5190		AR0-8_#,#/400,J/MUUOF		;PREV CTXT SUPERVISOR
U 0076, 0072,4001,0000,0000,0000,0110,0004	; 5191		AR0-8_#,#/004,J/MUUOF		;  USER/CONCEALED
U 0077, 0072,0001,0000,0000,0000,0110,0404	; 5192		AR0-8_#,#/404,J/MUUOF		;  USER/PUBLIC
						; 5193	.ENDIF/XADDR
						; 5194	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 16
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			JSYS, ADJSP						

						; 5195	.TOC	"JSYS, ADJSP"
						;;5196	.IF/DIAG.INST
						;;5197		.DCODE
						;;5198	104:	EA,		J/DIADISP		;DIAG
						;;5199		I,	B/0,	J/ADJSP
						;;5200		.UCODE
						;;5201	
						;;5202	;HERE FOR DIAG INSTRUCTION
						;;5203	
						;;5204	1001:
						;;5205	DIADISP:	J/DIAGINSTR
						;;5206	
						; 5207	.IFNOT/DIAG.INST
						; 5208		.DCODE
D 0104, 2000,1002				; 5209	104:	EA,		J/UUO		;JSYS
D 0105, 0000,1000				; 5210		I,	B/0,	J/ADJSP
						; 5211		.UCODE
						; 5212	.ENDIF/DIAG.INST
						; 5213	
						; 5214	;HERE FOR ADJSP INSTRUCTION
						; 5215	; ENTER WITH E IN AR, PREFETCH IN PROGRESS
						; 5216	
						; 5217	1000:					;PUT ADJSP NEXT TO UUO
						;;5218	.IFNOT/XADDR
						;;5219	ADJSP:	ARL_ARR,ARR_ARR			;PUT E IN BOTH HALVES
						;;5220		AR_AR*AC0,AD/A+B,INH CRY18,	;ADJUST POINTER,
						;;5221			ARX/AD,SKP AR0		;SKIP IF NEGATIVE
						; 5222	.IF/XADDR
U 1000, 1262,4061,0200,0000,3020,0610,0004	; 5223	ADJSP:	ARX_1,ARL_ARR,ARR_ARR		;MUST TEST FOR SHORT STACK
						; 5224		AC0,STACK UPDATE,		;MCL SHORT STACK ENABLES CRY18
U 1262, 1724,1711,0000,0000,0040,5420,0000	; 5225			GEN ARX-1,SKP CRY0	; THUS CRY IFF LONG POINTER
						; 5226	=0	AR_AR*AC0,AD/A+B,INH CRY18,	;ADJUST POINTER,
U 1724, 1734,0600,2200,0000,0020,4511,0000	; 5227			ARX/AD,SKP AR0,J/ADJSP1	;SKIP IF NEGATIVE
U 1725, 1272,5441,0000,0000,0237,0616,0002	; 5228		ARL_SIGN,ARR_ARR,I FETCH	;LONG:  SIGN EXTEND E
U 1272, 0065,0600,2000,0000,0020,0010,0000	; 5229		AR_AR*AC0,AD/A+B,J/STAC		;DONE
						; 5230	.ENDIF/XADDR
						; 5231	=0
						; 5232	ADJSP1:	GEN AR*AC0,AD/ANDCA,		;TEST FOR - TO + CHANGE
U 1734, 1334,3000,0000,4000,0020,5510,0000	; 5233			SKP AD0,J/STMAC
						; 5234		GEN AR*AC0,AD/ANDCB,		;TEST FOR + TO - CHANGE
U 1735, 1334,3500,0000,4000,0020,5510,0000	; 5235			SKP AD0,J/STMAC
						; 5236	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 17
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			XCT, PXCT, SXCT						

						; 5237	.TOC	"XCT, PXCT, SXCT"
						; 5238	;HERE FOR EXTENDED ADDRESSING INSTRUCTIONS
						; 5239	
						; 5240	=0
U 1762, 1774,0001,0000,0000,0000,6210,0000	; 5241	XCT1:	SKP USER,J/PXCT			;HERE ON XCT, NO INTERRUPT
U 1763, 0144,0001,0000,0000,0000,7710,0000	; 5242		TAKE INTRPT			;GET OUT OF LONG XCT CHAIN
						; 5243	=0
U 1774, 1775,0001,0000,0000,0000,1510,0020	; 5244	PXCT:	SET PXCT			;SETUP PXCT CONTROLS FROM 9-12
U 1775, 0152,3703,0200,0000,0000,1410,0000	; 5245	UXCT:	ARX_AR (AD),LOAD IR,#/0,J/XCTGO	;COPY INSTR TO ARX, IR
						; 5246	
						; 5247		.DCODE
						; 5248	.IFNOT/SXCT
						;;5249	  .IF/DIAG.INST
						;;5250	106:	R,	J/DIAGXCT			;DIAG MODEL B SXCT = XCT
						;;5251		EA,	J/XCTUUO
						;;5252	.UCODE
						;;5253				;UNSUPPORTED FEATURE
						;;5254				;SEPERATE FROM XCT BECAUSE OF DRAM CONSTRAINTS
						;;5255	=0****00***0
						;;5256	DIAGXCT:	SKP INTRPT,J/XCT1		;CHECK FOR XCT . LOOP
						;;5257	XCTUUO:	J/UUO				;INST PAIR FOR XCT
						;;5258	=
						; 5259	  .IFNOT/DIAG.INST
						;;5260	   .IFNOT/EXTEXP
						;;5261	    .IFNOT/PUSHM
						;;5262	106:	EA,	J/UUO
						;;5263		EA,	J/UUO
						;;5264		.UCODE
						;;5265	    .IF/PUSHM
						;;5266	106:	R,	J/PUSHM			;PUSH MULTIPLE
						;;5267	107:	EA,	J/POPM			;POP MULTIPLE
						;;5268	.UCODE
						;;5269	    .ENDIF/PUSHM
						; 5270	   .ENDIF/EXTEXP
						; 5271	  .ENDIF/DIAG.INST
						; 5272	
						;;5273	.IF/SXCT	;NOTE: THE SXCT INSTRUCTION IS A TEMPORARY MECHANISM
						;;5274	106:	R,	J/SXCT		;INTENDED FOR DIAGNOSTICS ONLY
						;;5275		EA,	J/UUO107
						;;5276		.UCODE
						;;5277	
						;;5278	1014:					;PUT NEXT TO UUO107
						;;5279	SXCT:	SKP KERNEL,CALL,J/IOCHK		;LEGAL IN KERNEL MODE ONLY
						;;5280	1015:	BR/AR,ARX_AR,AR_AC0,		;SHUFFLE INSTR TO GET BASE REG
						;;5281			SET SXCT		;SETUP HARDWARE FLAGS
						;;5282		SKP AC#0			;CHOOSE LOOP FOR EA CALC
						;;5283	=0	BR/AR,AR_BR,LOAD IR,		;AC0 IS BASE INDEX
						;;5284			BRX/ARX,ARL_0.M,
						;;5285			EA MOD DISP,J/SXCTB
						;;5286		AR_BR,LOAD IR,ARL_0.M,		;GET EXT ADDR FROM XR OR INDRCT
						;;5287			BRX/ARX,J/XIND2
						;;5288	=00
						;;5289	PXLOOP:	GEN AR,A READ			;GO DO INSTR
						;;5290		AR_AR+XR,A READ
						;;5291		GEN AR,A INDRCT,SKP INTRPT,J/XIND1
						;;5292		GEN AR+XR,A INDRCT,SKP INTRPT
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 17-1
; SKPJMP.MIC[10,5351]	21:45 19-Sep-83			XCT, PXCT, SXCT						

						;;5293	
						;;5294	=0
						;;5295	XIND1:	AR_MEM,ARX_MEM,EA TYPE DISP,J/XIND2
						;;5296		MB WAIT,TAKE INTRPT
						;;5297	=00
						;;5298	XIND2:	EA MOD DISP,J/PXLOOP		;CURRENT OR PREV WITHOUT CWSX
						;;5299		AR_ARX (AD),A READ		;PREV AND CWSX
						;;5300		AR_ARX (AD),A READ		;SXCT 0,
						;;5301		EA MOD DISP,J/SXCTB		;SXCT B,
						;;5302	
						;;5303	=00
						;;5304	SXCTB:	AR_AR+BR,A READ			;GO
						;;5305		AR_AR+XR,ARL_0.C,J/SXCTB	;NO MORE INDIRECTS
						;;5306		GEN AR,A INDRCT,		;FOLLOW INDRCT POINTER
						;;5307			SKP INTRPT,J/XIND1
						;;5308		GEN AR+XR,A INDRCT,
						;;5309			SKP INTRPT,J/XIND1
						; 5310	.ENDIF/SXCT
						; 5311	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; SHIFT.MIC[10,5351]	16:00 16-Mar-78			ROTATES AND LOGICAL SHIFTS -- ROT, LSH, JFFO		

						; 5312	.TOC	"ROTATES AND LOGICAL SHIFTS -- ROT, LSH, JFFO"
						; 5313	
						; 5314		.DCODE
D 0240, 0001,1316				; 5315	240:	I,	B/0,	J/ASH
D 0241, 0000,1317				; 5316		I,	B/0,	J/ROT
D 0242, 0201,1314				; 5317		I,	B/2,	J/LSH
D 0243, 0001,1315				; 5318		I,		J/JFFO
D 0244, 0100,1400				; 5319		I,	B/1,	J/ASHC
D 0245, 0000,1401				; 5320		I,		J/ROTC
D 0246, 0001,1004				; 5321		I,		J/LSHC
D 0247, 2000,1002				; 5322		EA,		J/UUO
						; 5323		.UCODE
						; 5324	
						; 5325	;ENTER WITH 0,E IN AR
						; 5326	; NOTE THAT VALUES OF SC GREATER THAN 36
						; 5327	; CAUSE THE SHIFTER TO SELECT ARX.
						; 5328	
						; 5329	=0****00***0
						; 5330	LSH:	AR_AC0,ARL/AD,ARX_0.M,SC_EA,
U 1314, 0230,3200,2000,0002,0021,4413,0042	; 5331			SKP AR18,J/SHR1
						; 5332	
U 1315, 2000,3240,2000,0302,0020,5610,0006	; 5333	JFFO:	AR_AC0,SKP AD NE,SC_#,#/6
						; 5334	=
U 2000, 0075,4001,0001,0000,0217,1010,0000	; 5335	=0	AC1_AR,I FETCH,J/NOP		;AC WAS ZERO, NO JUMP
						; 5336		ARX+MQ_0.M,FE_P,SKP SCAD NE,	;TEST FIRST 6 BITS
U 2001, 2004,0001,4000,0101,0021,5210,0144	; 5337			AR_SHIFT,ARL/SH		;DISCARD THEM
						; 5338	=0
						; 5339	JFFO1:	AR_SHIFT,FE_P,SKP SCAD NE,	;TEST NEXT 6 BITS
U 2004, 2004,1701,4600,0101,0020,5210,0000	; 5340			ARX_ARX-1,J/JFFO1	;LOOP, COUNTING, TILL NE
						; 5341		P_FE,ARR_0.S,			;RESTORE 6 NON-ZERO BITS
U 2005, 2010,5123,0500,0000,3020,0022,0210	; 5342			ARX_ARX*-6		;GET POS GROUP COUNT*6
						; 5343	=0
						; 5344	JFFO2:	SKP AR0,AR_2(AR+1),		;LOOP TO FIND A 1
U 2010, 2010,4001,5600,0000,0040,4510,0000	; 5345			ARX_ARX+1,J/JFFO2	;COUNTING AS WE GO
U 2011, 1656,1721,6000,0000,0037,0010,0000	; 5346		AR_ARX-1,FETCH,J/STRAC1
						; 5347	
						; 5348	=0****00***0
						; 5349	ASH:	SC_EA,SKP AR18,			;GET SHIFT AMOUNT
U 1316, 2044,3441,2000,0002,0000,4413,0000	; 5350			AR_0S,J/ASHL		;SET LOW PART = 0
U 1317, 0230,3200,2200,0002,0040,4413,0000	; 5351	ROT:	AR_AC0,ARX_AC0,SC_EA,SKP AR18
						; 5352	=
						; 5353	;SINGLE-WORD LSH/ROT
						; 5354	; FOR ROT, B=0, AR AND ARX BOTH CONTAIN AC
						; 5355	; FOR LSH, B=2, AR HAS AC, ARX IS ZERO
						; 5356	
						; 5357	=00
						; 5358	SHR1:	AR_SHIFT,SC_#+SC,#/-36.,	;DO POS (LEFT) SHIFT, CHK RANGE
U 0230, 0232,0001,4000,2302,0020,5110,0734	; 5359			SKP SCAD0,J/SHR2
						; 5360		ARX_AR (AD),AR_ARX (ADX),
						; 5361			SC_#+SC,#/36.,
U 0231, 0230,3703,6200,2302,0020,5133,0044	; 5362			B DISP,SKP SCAD0,J/SHR1	;MAKE NEG SHIFT TO EQUIV POS
						; 5363	SHR2:	AR_SHIFT,SC_#+SC,#/-36.,
U 0232, 0232,0001,4000,2302,0020,5110,0734	; 5364			SKP SCAD0,J/SHR2	;BRING SC INTO RANGE
U 0233, 0075,0001,0000,0000,0217,1010,0000	; 5365		AC0_AR,I FETCH,J/NOP		;DONE
						; 5366	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; SHIFT.MIC[10,5351]	16:00 16-Mar-78			ROTATE AND LOGICAL SHIFT COMBINED -- ROTC, LSHC		

						; 5367	.TOC	"ROTATE AND LOGICAL SHIFT COMBINED -- ROTC, LSHC"
						; 5368	
						; 5369	=0****00***0
						; 5370	ASHC:	SC_EA,SKP AR18,			;SETUP SHIFT COUNT
U 1400, 2044,3240,5001,0002,0020,4413,0000	; 5371			AR_AC1*2,J/ASHL		;GET LOW WORD
U 1401, 1324,3240,0201,0000,0020,0010,0000	; 5372	ROTC:	ARX_AC1
U 1324, 2012,3240,2000,0002,0020,4413,0000	; 5373	=	AR_AC0,SC_EA,SKP AR18		;SETUP BOTH AC'S
						; 5374	=0
						; 5375	ROT3:	MQ_SHIFT,ARX_AR (AD),
U 2012, 1332,3701,6210,0000,0000,0010,0000	; 5376			AR_ARX (ADX),J/ROT4
						; 5377		ARX_AR (AD),AR_ARX (ADX),
U 2013, 2012,3701,6200,2302,0020,5110,0044	; 5378			SC_#+SC,#/36.,SKP SCAD0,J/ROT3
						; 5379	
						; 5380	ROT4:	AR_MQ,ARX_SHIFT,
U 1332, 2022,3721,2400,2302,0020,5110,0734	; 5381			SC_#+SC,#/-36.,SKP SCAD0
						; 5382	=0	MQ_SHIFT,ARX_AR (AD),
U 2022, 1332,3701,6210,0000,0000,0010,0000	; 5383			AR_ARX (ADX),J/ROT4
U 2023, 1656,0001,4000,0000,2217,1010,0000	; 5384	STDAC:	AC0_AR,AR_ARX,I FETCH,J/STRAC1
						; 5385	
						; 5386	
						; 5387	1004:					;NEXT TO UUO
U 1004, 1336,3240,0201,0000,0021,0010,0100	; 5388	LSHC:	ARX_AC1,MQ_0.M
U 1336, 2040,3240,2000,0303,0020,4413,0044	; 5389	LSH1:	AR_AC0,SC_EA,FE_#,#/36.,SKP AR18
						; 5390	=0
						; 5391	LSH2:	MQ_SHIFT,AR_ARX (ADX),
U 2040, 1342,3721,6310,0301,0000,0010,0734	; 5392			ARX/MQ,FE_#,#/-36.,J/LSH3
						; 5393		ARX_AR (AD),AR_0.M,MQ_ARX,
U 2041, 2040,3701,0210,2002,2021,5110,0030	; 5394			SC_FE+SC,SKP SCAD0,J/LSH2
						; 5395	
						; 5396	LSH3:	AR_MQ,ARL/AD,ARX_SHIFT,MQ_0.M,
U 1342, 2042,3723,2400,2002,0021,5110,0102	; 5397			SC_FE+SC,SKP SCAD0
U 2042, 1342,3701,6310,0000,0000,0010,0000	; 5398	=0	MQ_SHIFT,AR_ARX (ADX),ARX/MQ,J/LSH3
U 2043, 1656,0001,4000,0000,2217,1010,0000	; 5399		AC0_AR,AR_ARX,I FETCH,J/STRAC1
						; 5400	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; SHIFT.MIC[10,5351]	16:00 16-Mar-78			ARITHMETIC SHIFTS -- ASH, ASHC				

						; 5401	.TOC	"ARITHMETIC SHIFTS -- ASH, ASHC"
						; 5402	
						; 5403	;COMMON CODE FOR ARITHMETIC SHIFTS
						; 5404	
						; 5405	=0
						; 5406	ASHL:	ARX_AR,AR_AC0,			;INPUT NOW IN AR LONG
U 2044, 2052,3200,2400,2400,1040,5210,0000	; 5407			SKP SC NE,J/ASHL1	;CHECK FOR NULL SHIFT
						; 5408		ARX_AR,AR_AC0,			;HERE IF RIGHT SHIFT
U 2045, 2050,3240,2400,2302,1040,5110,0044	; 5409			SC_#+SC,#/36.,SKP SCAD0	;CHECK FOR LONG ONE
						; 5410	=0
U 2050, 1353,5441,2440,0000,0020,0016,0000	; 5411	ASHR1:	BR/AR,ARX_SHIFT,AR_SIGN,J/ASHR2	;LOW OUTPUT TO ARX
						; 5412		ARX_AR,AR_SIGN,			;HERE IF SHIFT COUNT .GT. 36
						; 5413			SC_#+SC,#/36.,		;BRING COUNT UP BY 36
U 2051, 2050,5401,2400,2302,1020,5116,0044	; 5414			SKP SCAD0,J/ASHR1	;LOOP TILL COUNT REASONABLE
						; 5415	
						; 5416	ASHR2:	BRX/ARX,ARX_BR,			;HIGH INPUT TO ARX
U 1353, 2070,3242,0220,0000,0000,0033,0000	; 5417			B DISP,J/ASHX
						; 5418	
						; 5419	;HERE FOR LEFT ARITHMETIC SHIFT
						; 5420	
						; 5421	=0
U 2052, 0075,4001,0000,0000,0217,0010,0000	; 5422	ASHL1:	I FETCH,J/NOP			;SHIFT 0 IS A NOP
U 2053, 1354,5401,2060,0000,0020,0016,0000	; 5423		BR_AR LONG,AR_SIGN		;SAVE INPUT, GEN SIGN WORD
U 1354, 0134,3201,2640,0000,0000,0010,0000	; 5424		BR/AR,AR_BR*2 LONG		;SAVE SIGN, GET MAGNITUDE BITS
						; 5425	=0*
						; 5426	ASHL2:	BRX/ARX,ARX_AR,AR_BR,		;HI IN TO ARX, LOW TO BRX
U 0134, 2264,3202,2420,0000,1000,0050,0000	; 5427			CALL,J/SHIFT		;CALL SHIFTER TO GET BITS LOST
U 0136, 2054,3102,0004,0000,0020,5610,0000	; 5428		SKP AR NE BR			;ANY BITS DIFFERENT FROM SIGN?
						; 5429	=0
						; 5430	ASHL3:	AR_ARX,ARX_BRX,			;RESTORE HI TO AR, LOW TO ARX
U 2054, 2060,3202,4600,2300,2020,5110,0734	; 5431			GEN #+SC,#/-36.,SKP SCAD0,J/ASHL4
U 2055, 2054,4001,0000,0000,0000,1110,0420	; 5432		SET AROV,J/ASHL3		;BITS SHIFTED OUT NE SIGN
						; 5433	=0
						; 5434	ASHL4:	AR_ARX,ARX_0S,			;HERE IF E .GT. 36
U 2060, 0134,3441,4200,2302,2000,0010,0734	; 5435			SC_#+SC,#/-36.,J/ASHL2	;SHIFT 36 PLACES, TRY AGAIN
						; 5436		MQ_SHIFT,AR_BRX,CLR ARX,	;HIGH OUTPUT TO MQ,
U 2061, 2064,3242,6010,2302,0000,0533,0777	; 5437			SC_#+SC,#/-1,B DISP	;COMPENSATE FOR EXTRA SHIFT
						; 5438	=0
						; 5439	ASHL5:	AR_BR,BRX/ARX,ARX/MQ,		;SIGN TO AR, HIGH OUT TO ARX
						; 5440			SC_#,#/35.,		;READY TO COMBINE THEM
U 2064, 2070,3242,2320,0302,0000,0033,0043	; 5441			B DISP,J/ASHX		;STORE AS APPROPRIATE
U 2065, 2064,0001,0400,0000,0000,0010,0000	; 5442		ARX_SHIFT,J/ASHL5		;LOW OUTPUT TO ARX
						; 5443	
						; 5444	;HERE TO GET FINAL RESULTS.
						; 5445	
						; 5446	=0
U 2070, 0074,4001,4000,0000,0217,0010,0000	; 5447	ASHX:	AR_SHIFT,I FETCH,J/STORAC	;HERE AFTER ASH
						; 5448		AR_SHIFT,ARX_BRX,		;HERE AFTER ASHC
U 2071, 0061,3202,4600,0302,0000,0010,0043	; 5449			SC_#,#/35.,J/ST2AC
						; 5450	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; ARITH.MIC[10,5351]	19:59 21-Jun-83			ADD, SUB						

						; 5451	.TOC	"ADD, SUB"
						; 5452	
						; 5453		.DCODE
D 0270, 5500,1517				; 5454	270:	R-PF,	AC,	J/ADD
D 0271, 1501,1517				; 5455		I-PF,	AC,	J/ADD
D 0272, 7601,1517				; 5456		RPW,	M,	J/ADD
D 0273, 7700,1517				; 5457		RPW,	B,	J/ADD
						; 5458		.UCODE
						; 5459	
						; 5460	=0****00****
U 1517, 0060,0600,2000,0000,0025,1333,0000	; 5461	ADD:	AR_AR*AC0,AD/A+B,AD FLAGS,EXIT
						; 5462	=
						; 5463	
						; 5464	
						; 5465		.DCODE
D 0274, 5500,1600				; 5466	274:	R-PF,	AC,	J/SUB
D 0275, 1501,1600				; 5467		I-PF,	AC,	J/SUB
D 0276, 7601,1600				; 5468		RPW,	M,	J/SUB
D 0277, 7700,1600				; 5469		RPW,	B,	J/SUB
						; 5470		.UCODE
						; 5471	
						; 5472	=0****00****
U 1600, 1372,3240,2040,0000,0020,0010,0000	; 5473	SUB:	AR_AC0,BR/AR
U 1372, 0060,5102,2000,0000,0025,1333,0000	; 5474	=	AR_AR-BR,AD FLAGS,EXIT
						; 5475	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; ARITH.MIC[10,5351]	19:59 21-Jun-83			MUL, IMUL						

						; 5476	.TOC	"MUL, IMUL"
						; 5477	
						; 5478		.DCODE
D 0220, 4501,0112				; 5479	220:	R,	AC,	J/IMUL
D 0221, 0500,0112				; 5480		I,	AC,	J/IMULI
D 0222, 6600,0112				; 5481		RW,	M,	J/IMUL
D 0223, 6701,0112				; 5482		RW,	B,	J/IMUL
						; 5483		.UCODE
						; 5484	
						; 5485	.IFNOT/IMULI.OPT
						; 5486	=0****00*01*
						; 5487	IMULI:
						;;5488	.IF/IMULI.OPT
						;;5489	=0****00*000
						;;5490	IMULI:	SKP AR18,GEN AC0,SIGNS DISP,	;OPTIMIZE SPECIAL CASE
						;;5491			TIME/3T,SC_#,#/17.
						;;5492	=010	MQ_AR,AR_AC0,			;HERE FOR IMULI OF + BY +
						;;5493			CLR ARX,FE_#,#/-9.,	; 9 STEPS WILL DO
						;;5494			CALL,J/MULSUB
						; 5495	.ENDIF/IMULI.OPT
						; 5496	IMUL:	MQ_AR,AR_AC0,			;M'IER TO MQ, M'CAND TO AR
						; 5497			CLR ARX,FE_#,#/-18.,
U 0112, 1431,3240,2010,0301,1020,0550,0756	; 5498			CALL,J/MULSUB		;CALL MULTIPLY SUBROUTINE
						;;5499	.IF/IMULI.OPT
						;;5500	=110	AR_SHIFT,SKP AR NE,INH CRY18,	;HERE FROM IMULI
						;;5501			I FETCH,J/MUL1		; AFTER SHORT MULTIPLY
						; 5502	.ENDIF/IMULI.OPT
U 0116, 2072,0003,0000,0302,0040,5616,0043	; 5503		SC_#,#/35.,SKP AR SIG		;CHECK OVERFLOW AND STORE
						; 5504	=
						; 5505	=0
U 2072, 0066,4001,4000,0000,0005,0033,0000	; 5506	IMUL2:	AR_SHIFT,B WRITE,J/ST6		;STORE LOW WORD OF PRODUCT
U 2073, 2072,5441,2000,0000,0020,1116,0420	; 5507		SET AROV,AR_SIGN,J/IMUL2	;NOTE OVERFLOW...
						; 5508	
						; 5509	
						; 5510		.DCODE
D 0224, 4100,0200				; 5511	224:	R,	DBL AC,	J/MUL
D 0225, 0101,0200				; 5512		I,	DBL AC,	J/MUL
D 0226, 6600,0200				; 5513		RW,	M,	J/MUL
D 0227, 6201,0200				; 5514		RW,	DBL B,	J/MUL
						; 5515		.UCODE
						; 5516	
						; 5517	=0****00*000
						; 5518	MUL:	MQ_AR,CLR ARX,			;MULTIPLIER TO MQ
						; 5519			AR_AC0,FE_#,#/-18.,	;SETUP MULTIPLICAND AND STEP CNT
U 0200, 1431,3240,2010,0301,1020,0550,0756	; 5520			CALL,J/MULSUB		;AND GO TO SUBROUTINE
U 0204, 0206,3602,0004,0000,0020,5510,0000	; 5521	=100	GEN AR*BR,AD/AND,SKP AD0	;M'IER NEG, CHECK M'CAND & PROD TOO
						; 5522	=110
U 0206, 0060,0001,0000,0302,0005,0033,0043	; 5523	MUL1:	SC_#,#/35.,EXIT			;STORE DOUBLE RESULT
U 0207, 0206,0001,0000,0000,0000,1110,0420	; 5524		SET AROV,J/MUL1			;MUST HAVE SQUARED 400000,,0
						; 5525	=
						; 5526	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; ARITH.MIC[10,5351]	19:59 21-Jun-83			MULTIPLY SUBROUTINE					

						; 5527	.TOC	"MULTIPLY SUBROUTINE"
						; 5528	; ENTER WITH MULTIPLIER IN MQ,
						; 5529	; MULTIPLICAND IN AR!ARX, MINUS STEP COUNT IN FE
						; 5530	; RETURNS PRODUCT IN AR!ARX!MQ.
						; 5531	; RETURN 4, 6 TELLS SIGN OF MULTIPLIER
						; 5532	; 4 AND 6 ARE USED SO CALLER CAN IGNORE
						; 5533	; DIFFERENCE BY ALIGNMENT OF CALL LOC'N
						; 5534	;[TIME=4+2(-FE)+(# OF ARITH STEPS)] ... IF FE=-18, 40-58.
						; 5535	;
						; 5536	;Recall:
						; 5537	; MUL		"FE_FE+1,DISP/MUL,MQ/MQ*.25"
						; 5538	;
						; 5539	
						; 5540	MULSUB:	BR_AR LONG,AR_0S,ARX_0S,	;M'CAND TO BR LONG, CLEAR PROD
U 1431, 0260,3441,2270,4001,0000,0030,0000	; 5541			MUL,J/MULP		;START THE MULTIPLICATION
						; 5542	=000					;GRAB AN 8-WORD BLOCK
						; 5543	MULP:
						; 5544	.IF/MODEL.B
U 0260, 0006,3701,5500,2401,0000,0703,0001	; 5545		(AR+ARX+MQ)*2,FE_SC,RETURN6	;XADDR MACHINE HAS
U 0261, 0006,3701,5500,2401,0000,0703,0001	; 5546		(AR+ARX+MQ)*2,FE_SC,RETURN6	; NO "CRA MUL DONE"
U 0262, 0006,3701,5500,2401,0000,0703,0001	; 5547		(AR+ARX+MQ)*2,FE_SC,RETURN6
						; 5548	.ENDIF/MODEL.B
U 0263, 0006,3701,5500,2401,0000,0703,0001	; 5549	=011	(AR+ARX+MQ)*2,FE_SC,RETURN6	;DISCARD REDUNDANT SIGN BIT
						; 5550	
U 0264, 0260,3703,7710,4001,0000,0030,0000	; 5551	=100	AR_AR*.25 LONG,MUL,J/MULP	;M'IER BITS 00 AFTER POS STEP
						; 5552		AR_(AR+BR)*.25,ARX/ADX*.25,	;01 AFTER +
U 0265, 0260,0602,7714,4001,0020,0030,0000	; 5553			MUL,J/MULP
						; 5554		AR_(AR-2BR)*.25,ARX/ADX*.25,	;10 AFTER +
U 0266, 0320,5101,7710,4001,0020,0030,0000	; 5555			MUL,J/MULM
						; 5556		AR_(AR-BR)*.25,ARX/ADX*.25,
U 0267, 0320,5102,7710,4001,0020,0030,0000	; 5557			MUL,J/MULM		;11 AFTER +
						; 5558	
						; 5559	=000					;ANOTHER 8-WORD BLOCK FOR
						; 5560	MULM:					; AFTER SUBTRACTION STEPS
						; 5561	.IF/MODEL.B
U 0320, 0004,3703,5500,2401,0000,0703,0001	; 5562		(AR+ARX+MQ)*2,FE_SC,RETURN4
U 0321, 0004,3703,5500,2401,0000,0703,0001	; 5563		(AR+ARX+MQ)*2,FE_SC,RETURN4
U 0322, 0004,3703,5500,2401,0000,0703,0001	; 5564		(AR+ARX+MQ)*2,FE_SC,RETURN4
						; 5565	.ENDIF/MODEL.B
U 0323, 0004,3703,5500,2401,0000,0703,0001	; 5566	=011	(AR+ARX+MQ)*2,FE_SC,RETURN4	;M'IER WAS NEGATIVE
						; 5567	
						; 5568	=100	AR_(AR+BR)*.25,ARX/ADX*.25,	;M'IER BITS 00 AFTER NEG STEP
U 0324, 0260,0602,7714,4001,0020,0030,0000	; 5569			MUL,J/MULP
						; 5570		AR_(AR+2BR)*.25,ARX/ADX*.25,	;01 AFTER -
U 0325, 0260,0601,7714,4001,0020,0030,0000	; 5571			MUL,J/MULP
						; 5572		AR_(AR-BR)*.25,ARX/ADX*.25,	;10 AFTER -
U 0326, 0320,5102,7710,4001,0020,0030,0000	; 5573			MUL,J/MULM
U 0327, 0320,3703,7710,4001,0000,0030,0000	; 5574		AR_AR*.25 LONG,MUL,J/MULM	;11 AFTER -
						; 5575	
						; 5576	;HERE TO CONTINUE A LONG MULTIPLICATION
						; 5577	; WITH PARTIAL PRODUCT IN AR LONG
						; 5578	
U 1442, 0260,3441,0010,4001,0000,0030,0000	; 5579	MULREE:	AD/0S,MUL,J/MULP		;DIVE IN WITHOUT CLOBBERING AR
						; 5580	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4
; ARITH.MIC[10,5351]	19:59 21-Jun-83			DIV, IDIV						

						; 5581	.TOC	"DIV, IDIV"
						; 5582	
						; 5583		.DCODE
D 0230, 4100,0211				; 5584	230:	R,	DBL AC,	J/IDIV
D 0231, 0101,0211				; 5585		I,	DBL AC,	J/IDIV
D 0232, 6600,0211				; 5586		RW,	M,	J/IDIV
D 0233, 6201,0211				; 5587		RW,	DBL B,	J/IDIV
						; 5588	
D 0234, 4101,0210				; 5589	234:	R,	DBL AC,	J/DIV
D 0235, 0100,0210				; 5590		I,	DBL AC,	J/DIV
D 0236, 6601,0210				; 5591		RW,	M,	J/DIV
D 0237, 6200,0210				; 5592		RW,	DBL B,	J/DIV
						; 5593		.UCODE
						; 5594	
						; 5595	=0****00*000
						; 5596	DIV:	BR/AR,ARX+MQ_0.M,		;DIVISOR TO BR
						; 5597			AR_AC1*2,ARL/AD*2,	;LOW DIVIDEND TO AR
U 0210, 1461,3240,5041,0000,0021,0050,0145	; 5598			CALL.M,J/DIV1		;GET HIGH DIVIDEND
						; 5599	.IF/MODEL.B
U 0211, 1452,4061,2040,0000,0020,0010,0000	; 5600	IDIV:	BR/AR, AR_1, J/IDIV2		;[236]
						; 5601	IDIV1:	BR/AR,ARX+MQ_0.M,SC_1,		;DIVISOR TO BR
						; 5602			AR_AC0,ARL/AD,CALL.M,	;DIVIDEND TO AR
U 0212, 2106,3240,2040,4402,0021,4550,0142	; 5603			SKP AR0,J/DIV2		;TEST DIVISOR SIGN
						;;5604	.IFNOT/MODEL.B
						;;5605	=10
						;;5606	IDIV:	BR/AR,ARX+MQ_0.M,SC_1,		;DIVISOR TO BR
						;;5607			AR_AC0,ARL/AD,CALL.M,	;DIVIDEND TO AR
						;;5608			SKP AR0,J/DIV2		;TEST DIVISOR SIGN
						; 5609	.ENDIF/MODEL.B
						; 5610	=011
U 0213, 0075,4001,0000,0000,0000,1110,0424	; 5611	NODIVD:	SET NO DIVIDE,J/NOP		;HERE IF DIVIDE IMPOSSIBLE
						; 5612	
						; 5613	=110	ARX_AR,AR_-BRX,			;REMAIN TO ARX, GET CORRECT QUOTIENT
U 0216, 0060,5142,6400,0302,1025,0033,0044	; 5614			SC_#,#/36.,EXIT
						; 5615		ARX_AR,AR_BRX,			;HERE FOR POS QUOTIENT
U 0217, 0060,3202,6400,0302,1005,0033,0044	; 5616			SC_#,#/36.,EXIT
						; 5617	=
						; 5618	.IF/MODEL.B
U 1452, 2074,5102,0000,0000,0040,5610,0000	; 5619	IDIV2:	GEN AR-BR, SKP AD NE		;[236] IS DIVISOR = 1?
						; 5620	=0	AR_AC0, CLR ARX, SC_#, #/36.,	;[236] YES, ANSWER IS AC0.
U 2074, 0060,3240,2000,0302,0025,0533,0044	; 5621			EXIT			;[236]
U 2075, 0212,3202,2000,0000,0000,0010,0000	; 5622		AR_BR, J/IDIV1			;
						; 5623	.ENDIF/MODEL.B
						; 5624	;HERE ON DIVIDE TO SET UP DIVIDEND
						; 5625	
						; 5626	DIV1:	BRX/ARX,ARX_AR,AR_AC0,		;CLR BRX, DIVIDEND IN AR LONG
						; 5627			FE_#,#/33.,TIME/3T,	;SETUP ITERATION COUNT
U 1461, 0234,3240,2420,0301,1020,0032,0041	; 5628			SIGNS DISP,J/DIVS1	;ENTER SUBR
						; 5629	
						; 5630	;HERE ON IDIV TO SET UP DIVIDEND.  SKIP IF DIVISOR NEG
						; 5631	; ALSO CALLED BY ADJBP
						; 5632	=0
						; 5633	DIV2:	BRX/ARX,ARX_SHIFT,AR_SIGN,	;CLR BRX, DIVIDEND TO AR LONG
						; 5634			FE_#,#/33.,		;SETUP LOOP COUNT
U 2106, 0234,5401,2420,0301,0020,4516,0041	; 5635			SKP AR0,J/DIVS1		;ENTER SUBR ACCORDING TO SIGNS
						; 5636		BRX/ARX,ARX_SHIFT,AR_SIGN,	;CLR BRX, DIVIDEND TO AR LONG
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4-1
; ARITH.MIC[10,5351]	19:59 21-Jun-83			DIV, IDIV						

						; 5637			FE_#,#/33.,		;SETUP LOOP COUNT
U 2107, 0236,5441,2420,0301,0020,4516,0041	; 5638			SKP AR0,J/DIVS2		;ENTER SUBR ACCORDING TO SIGNS
						; 5639	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5
; ARITH.MIC[10,5351]	19:59 21-Jun-83			INTEGER DIVIDE SUBROUTINE				

						; 5640	.TOC	"INTEGER DIVIDE SUBROUTINE"
						; 5641	; ENTER WITH SIGNS DISPATCH OF DIVISOR AND DIVIDEND,
						; 5642	; DIVISOR IN BR, BRX CLR; DIVIDEND IN AR!ARX
						; 5643	; STEP COUNT IN FE (# OF QUOTIENT BITS -2)
						; 5644	; IF NO DIVIDE, RETURN 3 WITH IFETCH STARTED
						; 5645	; OTHERWISE, RETURN WITH SIGNED REMAINDER IN AR,
						; 5646	; POSITIVE QUOTIENT IN BRX AND MQ.
						; 5647	; RETURN 6 IF QUOTIENT SHOULD BE NEGATIVE,
						; 5648	; RETURN 7 IF QUOTIENT SHOULD BE POSITIVE.
						; 5649	;[TIME=14+3(FE)+3(D'END NEG)+3(RESTORE REQ'D)+1(REMAINDER NEG)]
						; 5650	; ... IF FE=33, 113-120
						; 5651	;
						; 5652	;Recall:
						; 5653	; DIVIDE	"FE_FE-1,DISP/DIV,MQ/MQ*2"
						; 5654	;
						; 5655	=1100
						; 5656	DIVS1:	DIVIDE,AR_2(AR-BR),
U 0234, 0342,5102,5500,3001,0020,0031,0000	; 5657			ARX/ADX*2,J/DIVS3	;BOTH D'END AND D'SOR POS
U 0235, 0234,5143,7700,0000,0020,0027,0000	; 5658		AR_-AR LONG,J/DIVS1		;MAKE POS DIVIDEND, THEN CHK
						; 5659	DIVS2:	DIVIDE,AR_2(AR+BR),
U 0236, 0362,0602,5500,3001,0020,0031,0000	; 5660			ARX/ADX*2,J/DIVS4	;D'END POS, D'SOR NEG
U 0237, 0236,5163,7700,0000,0020,0027,0000	; 5661		AR_-AR LONG,J/DIVS2
						; 5662	
						; 5663	=010
						; 5664	DIVS3:	DIVIDE,AR_2(AR+BR),ARX/ADX*2,
U 0342, 0520,0602,5504,3001,0020,0071,0005	; 5665			ARL/AD*2,CALL.M,J/DIVLP	;START DIVIDING
U 0343, 0003,4001,0000,0000,0217,0003,0000	; 5666		I FETCH,RETURN3			;RETURN TO CALLER WITH NO DIVIDE
						; 5667	
U 0346, 0006,5162,2020,0000,0020,0003,0000	; 5668		AR_-BR,BRX/ARX,RETURN6		;D'END NEG, SO NEGATE QUO & REM
U 0347, 0007,0001,0020,0000,0000,0003,0000	; 5669		BRX/ARX,RETURN7			;EVERYTHING POSITIVE
						; 5670	
						; 5671	
						; 5672	=010
						; 5673	DIVS4:	DIVIDE,AR_2(AR-BR),ARX/ADX*2,
U 0362, 0520,5102,5500,3001,0020,0071,0005	; 5674			ARL/AD*2,CALL.M,J/DIVLP	;BEGIN DIVISION FOR REAL BITS
U 0363, 0003,4001,0000,0000,0217,0003,0000	; 5675		I FETCH,RETURN3			;ABORT FOR IMPOSSIBLE DIVISION
						; 5676	
U 0366, 0006,4001,0020,0000,0000,0003,0000	; 5677		BRX/ARX,RETURN6			;NEGATE QUO
U 0367, 0007,5142,2020,0000,0020,0003,0000	; 5678		AR_-BR,BRX/ARX,RETURN7		;NEGATE REM
						; 5679	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6
; ARITH.MIC[10,5351]	19:59 21-Jun-83			BASIC DIVIDE LOOP					

						; 5680	.TOC	"BASIC DIVIDE LOOP"
						; 5681	; THE LOOP ITSELF IS AN INNER SUBROUTINE, TO MAKE IT SUITABLE
						; 5682	; FOR USE IN DOUBLE-LENGTH DIVISION.
						; 5683	; THE DOUBLE LENGTH REMAINDER IS RETURNED IN BR!BRX (RESTORED)
						; 5684	; THE SINGLE LENGTH QUOTIENT (LOW PART IF DBL-LEN DIVISION) IN ARX
						; 5685	; RETURN 6 IF QUOTIENT (REALLY AC0.XOR.BR) NEGATIVE, OR 7 IF POSITIVE
						; 5686	;[TIME=12+3(FE)+3(RESTORE REQ'D)] ... IF FE=33, 111-114.
						; 5687	
						; 5688	=000
U 0520, 0520,0602,5500,3001,0020,0031,0000	; 5689	DIVLP:	DIVIDE,AR_2(AR+BR),ARX/ADX*2,J/DIVLP
U 0521, 0520,5102,5504,3001,0020,0031,0000	; 5690		DIVIDE,AR_2(AR-BR),ARX/ADX*2,J/DIVLP
U 0522, 0520,5102,5504,3001,0020,0031,0000	; 5691	DIV-:	DIVIDE,AR_2(AR-BR),ARX/ADX*2,J/DIVLP
U 0523, 0520,0602,5500,3001,0020,0031,0000	; 5692	DIV+:	DIVIDE,AR_2(AR+BR),ARX/ADX*2,J/DIVLP
U 0524, 0564,0602,2604,3001,0020,0031,0000	; 5693		DIVIDE,AR_AR+BR,ARX/ADX,J/DIVX
U 0525, 0564,5102,2600,3001,0020,0031,0000	; 5694		DIVIDE,AR_AR-BR,ARX/ADX,J/DIVX
U 0526, 0564,5102,2600,3001,0020,0031,0000	; 5695		DIVIDE,AR_AR-BR,ARX/ADX,J/DIVX		;NO SHIFT ON FINAL STEP
U 0527, 0564,0602,2604,3001,0020,0031,0000	; 5696		DIVIDE,AR_AR+BR,ARX/ADX,J/DIVX
						; 5697	
						; 5698	;HERE AFTER FINAL DIVIDE STEP
						; 5699	; MQ HAS POSITIVE FORM QUOTIENT
						; 5700	; AR!ARX HAS REMAINDER, EXCEPT THAT IT MUST BE RESTORED IF IT IS
						; 5701	; NEGATIVE (IT'S NEGATIVE IF THERE WAS NO CARRY ON FINAL STEP)
						; 5702	; THE ORIGINAL DIVIDEND IS STILL IN AC0, SO WE CHECK ITS SIGN
						; 5703	; TO DETERMINE WHETHER TO NEGATE THE (RESTORED) REMAINDER.
						; 5704	
						; 5705	=100
U 0564, 0565,0602,2600,0000,0020,0027,0000	; 5706	DIVX:	AR_AR+BR LONG			;RESTORE REMAIN WITH POS D'SOR
						; 5707		BR_AR LONG,ARX/MQ,FE_SC,	;LONG REMAIN TO BR, QUO TO ARX
U 0565, 0006,2500,0360,2401,0020,5503,0000	; 5708			SKP AC0+,RETURN6	;RETURN TESTING D'END SIGN
U 0566, 0567,5102,2600,0000,0020,0027,0000	; 5709		AR_AR-BR LONG			;RESTORE REMAIN WITH NEG D'SOR
						; 5710		BR_AR LONG,ARX/MQ,FE_SC,
U 0567, 0006,3200,0360,2401,0020,5503,0000	; 5711			SKP AC0-,RETURN6
						; 5712	
						; 5713	
						; 5714	;SUBROUTINE FOR FIRST PART OF LONG DIVISIONS
						; 5715	; ENTER AT DDVSUB WITH SKP BR0
						; 5716	; RETURN3 IF SHOULD RESUME WITH ADD STEP
						; 5717	; RETURN5 IF SHOULD RESUME WITH SUBTRACT
						; 5718	
						; 5719	=000
U 1060, 1060,0602,5500,3001,0020,0031,0000	; 5720	DDVLP:	AR_2(AR+BR),ARX/ADX*2,DIVIDE,J/DDVLP
U 1061, 1060,5102,5504,3001,0020,0031,0000	; 5721		AR_2(AR-BR),ARX/ADX*2,DIVIDE,J/DDVLP
U 1062, 1060,5102,5504,3001,0020,0031,0000	; 5722	DDVSUB:	AR_2(AR-BR),ARX/ADX*2,DIVIDE,J/DDVLP
U 1063, 1060,0602,5500,3001,0020,0031,0000	; 5723		AR_2(AR+BR),ARX/ADX*2,DIVIDE,J/DDVLP
U 1064, 0003,3723,2010,0301,1000,0003,0040	; 5724		AR_MQ,MQ_AR,FE_#,#/32.,RETURN3
U 1065, 0005,3723,2010,0301,1000,0003,0040	; 5725		AR_MQ,MQ_AR,FE_#,#/32.,RETURN5
U 1066, 0005,3723,2010,0301,1000,0003,0040	; 5726		AR_MQ,MQ_AR,FE_#,#/32.,RETURN5
U 1067, 0003,3723,2010,0301,1000,0003,0040	; 5727		AR_MQ,MQ_AR,FE_#,#/32.,RETURN3
						; 5728	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7
; ARITH.MIC[10,5351]	19:59 21-Jun-83			DOUBLE INTEGER ARITHMETIC -- DADD, DSUB, DMUL, DDIV

						; 5729	.TOC	"DOUBLE INTEGER ARITHMETIC -- DADD, DSUB, DMUL, DDIV"
						; 5730	
						; 5731		.DCODE
						;;5732	.IFNOT/DBL.INT
						;;5733	114:	EA,	J/UUO
						;;5734		EA,	J/UUO
						;;5735		EA,	J/UUO
						;;5736		EA,	J/UUO
						; 5737	.IF/DBL.INT
D 0114, 4001,0515				; 5738	114:	R,	B/0,	J/DASMD		;DADD
D 0115, 4200,0515				; 5739		R,	B/2,	J/DASMD		;DSUB
D 0116, 4400,0515				; 5740		R,	B/4,	J/DASMD		;DMUL
D 0117, 4000,0514				; 5741		R,		J/DDIV
						; 5742		.UCODE
						; 5743	
						; 5744	;HERE FOR DOUBLE WORD ADD, SUBTRACT, MULTIPLY, OR DIVIDE
						; 5745	;ENTER WITH (E) IN AR, E IN VMA
						; 5746	
						; 5747	=0****00**00
U 0514, 1546,3200,0205,0000,0020,0710,0003	; 5748	DDIV:	ARX_AC3,CLR MQ,J/DDIV0		;GET LOWEST PART OF D'END
						; 5749	
						; 5750	DASMD:	BR/AR,AR_AC1*2,ARL/AD*2,	;HIGH MEM WORD TO BR
						; 5751			VMA_VMA+1,LOAD ARX,	;ASK FOR LOW WORD
U 0515, 0736,3240,5041,0000,0033,3662,0105	; 5752			MQ_0.S,CALL.S,J/XFERW	;AND WAIT FOR IT
U 0517, 1467,3721,0500,0000,0000,0010,0000	; 5753	=11	ARX_ARX*2			;SHIFT LOW MEM WORD LEFT
						; 5754	=	BRX/ARX,ARX_AR,AR_AC0,		;ALL DATA IN PLACE
U 1467, 0250,3200,2420,0302,1020,0033,0043	; 5755			SC_#,#/35.,B DISP	;DO THE OPERATION
						; 5756	
						; 5757	;HERE WITH (E) IN BR, (E+1)*2 IN BRX
						; 5758	; (AC) IN AR, (AC+1)*2 IN ARX
						; 5759	
U 0250, 0061,0602,2604,0000,0022,1327,0000	; 5760	=00*	AR_AR+BR LONG,AD FLAGS,EXIT DBL	;DADD
						; 5761	
U 0252, 0061,5102,2600,0000,0022,1327,0000	; 5762		AR_AR-BR LONG,AD FLAGS,EXIT DBL	;DSUB
						; 5763	
						; 5764		MQ_SHIFT,AR_0S,ARX_0S,		;DMUL, USE AC1 AS INITIAL M'IER
U 0254, 0370,3401,2210,0301,0000,0010,0756	; 5765			FE_#,#/-18.,J/DMULT	;SETUP STEP COUNT
						; 5766	=
						; 5767	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8
; ARITH.MIC[10,5351]	19:59 21-Jun-83			DOUBLE INTEGER ARITHMETIC -- DADD, DSUB, DMUL, DDIV

						; 5768	;HERE FOR DOUBLE WORD MULTIPLY
						; 5769	
						; 5770	=00*
U 0370, 0260,3401,0010,4001,0000,0070,0000	; 5771	DMULT:	AD/0S,MUL,CALL.M,J/MULP		;BEGIN MULTIPLY
U 0374, 0376,0602,2604,0000,0020,0027,0000	; 5772	=10*	AR_AR+BR LONG			;CANCEL EFFECTS OF LOW BIT 0
U 0376, 1472,3721,2010,0000,1000,0010,0000	; 5773		MQ_AR,AR_MQ			;EXCH HI AND LOW PRODUCT WORDS
						; 5774	
						; 5775	;HERE AFTER 1ST CALL ON MPY SUBR.  SAVE LOW WORD OF PROD, GET HIGH M'IER
						; 5776	
U 1472, 1523,0001,0005,0000,0000,1010,0000	; 5777		AC3_AR				;LOW WORD OF PRODUCT
U 1523, 1120,3200,2000,0000,0020,0010,0000	; 5778		AR_AC0				;GET HIGH M'IER WORD
						; 5779	=000	MQ_AR,AR_MQ,CALL,		;DIVE IN AGAIN
U 1120, 1442,3723,2010,0301,1000,0050,0756	; 5780			FE_#,#/-18.,J/MULREE	;CONTINUE THE MULTIPLY
U 1124, 1126,3602,0004,0000,0020,5510,0000	; 5781	=100	GEN AR*BR,AD/AND,SKP AD0	;SKP IF M'IER, M'CAND, & PROD NEG
						; 5782	=110
						; 5783	DMUL1:	AC0_AR,AR_SIGN,
U 1126, 1524,5401,2000,0302,0020,1016,0043	; 5784			SC_#,#/35.,J/DMUL2	;STORE HIGH WORD OF PRODUCT
U 1127, 1126,0001,0000,0000,0000,1110,0420	; 5785		SET AROV,J/DMUL1
						; 5786	
						; 5787	;MULTIPLY NOW COMPLETE, STORE RESULTS WITH PROPER SIGN IN BIT 0
						; 5788	
U 1524, 1532,4001,4040,0000,0000,0010,0000	; 5789	DMUL2:	BR/AR,AR_SHIFT			;GET 2ND WITH SIGN, SAVE SIGN
U 1532, 1540,4001,4301,0000,2000,1010,0000	; 5790		AC1_AR,AR_ARX,ARX/MQ		;READY TO BUILD 3RD WORD
U 1540, 1542,3202,2400,0000,0000,0012,0000	; 5791		ARX_SHIFT,AR_BR,MQ_MQ*2		;SIGNIFICANT BITS TO ARX, SIGN TO AR
						; 5792		AR_SHIFT,ARX_AC3,		;3RD WORD IN AR, GET LOW
U 1542, 1544,3240,4215,0000,0020,0012,0000	; 5793			MQ_MQ*.25		;EXTRA PROD BIT TO MQ 35
U 1544, 0554,3723,2004,0000,0000,1010,0000	; 5794		AC2_AR,AR_MQ			;,I FETCH WHEN TIMING FIXED
						; 5795	=0*	ARX_SHIFT,AR_BR,I FETCH,	;LOW WORD AND SIGN READY
U 0554, 2264,3242,2400,0000,0217,0050,0000	; 5796			CALL,J/SHIFT		; GET LOW WORD TO AR
U 0556, 0222,4001,0005,0000,0000,1010,0000	; 5797	STRAC3:	AC3_AR,FINISH			;GANZ GETAN
						; 5798	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9
; ARITH.MIC[10,5351]	19:59 21-Jun-83			DOUBLE INTEGER ARITHMETIC -- DADD, DSUB, DMUL, DDIV

						; 5799	;HERE FOR DOUBLE INTEGER DIVISION
						; 5800	;AR HAS (E), ARX HAS (AC3), AND MQ IS CLEAR
						; 5801	
U 1546, 1550,3203,4507,4402,2000,1010,0166	; 5802	DDIV0:	T0_AR,AR_ARX,ARX_ARX*8,SC_1	;SAVE (E) IN T0
						; 5803		BRX/ARX,ARX_SHIFT,		;AC3 3-35 TO BRX, 1-2 TO ARX
U 1550, 1552,3200,2424,0302,0020,0010,0002	; 5804			AR_AC2,SC_#,#/2		;GET AC2 READY
						; 5805		AR_SHIFT,BR/AR,			;AC2 BITS 2-35 WITH AC3 1-2
U 1552, 1554,3200,4241,0000,0020,3610,0000	; 5806			ARX_AC1,VMA_VMA+1	;READY TO GET (E+1)
						; 5807		BR/AR,AR_ARX,ARX_BR*2,		;LOW DOUBLE WORD NOW IN BR LONG
U 1554, 1556,3241,4240,4403,2000,0010,0000	; 5808			SC_1,FE_1
U 1556, 2110,3240,2400,0000,0020,5510,0000	; 5809		ARX_SHIFT,AR_AC0,SKP AD0	;HIGH DOUBLEWORD IN AR LONG
						; 5810	=0
						; 5811	DDIV1:	BR_AR LONG,AR_BRX,ARX_BR,	;HI POS D'END TO BR
U 2110, 0664,3202,6260,0000,0012,0010,0000	; 5812			LOAD AR,J/DDIV2		;GET LOW D'SOR READY
						; 5813		BR_AR LONG,AR_-BR LONG,		;NEGATE LOW D'END
U 2111, 2112,5162,2660,3401,0040,5427,0000	; 5814			FE_-1,SKP CRY0		;TEST FOR CARRY PROPAGATION
U 2112, 2110,2502,2660,0000,0000,0010,0000	; 5815	=0	BR_AR LONG,AR_BR COMP LONG,J/DDIV1
U 2113, 2110,5162,2660,0000,0020,0027,0000	; 5816		BR_AR LONG,AR_-BR LONG,J/DDIV1	;FINISH NEGATION OF D'END
						; 5817	=0*
						; 5818	DDIV2:	T1_AR,MQ_ARX,ARX_0S,		;LOWEST D'END TO T1, NEXT TO MQ
U 0664, 0736,3401,0217,0000,2000,1050,0171	; 5819			CALL,J/XFERW		; WAIT FOR (E+1)
U 0666, 2124,3240,2407,0000,0040,5110,0166	; 5820		ARX_SHIFT,AR_T0,SKP FE0		;DIVISOR NOW IN AR LONG
						; 5821	=0	AR_BR LONG,BR_AR LONG,		;PUT OPERANDS IN PLACE FOR DIV
U 2124, 0253,3242,2660,0000,0020,0032,0000	; 5822			SIGNS DISP,J/DDIV3	;TEST D'SOR SIGN
						; 5823		AR_BR LONG,BR_AR LONG,SET SR2,	;NOTE D'END NEGATIVE
U 2125, 0253,3242,2660,0000,0020,1632,0062	; 5824			SIGNS DISP,J/DDIV3
						; 5825	
						; 5826	;HERE WITH THE DIVISOR IN BR LONG,
						; 5827	; THE HIGH PART OF THE MAGNITUDE OF THE DIVIDEND IN AR LONG,
						; 5828	; AND THE LOW PART OF THE MAGNITUDE OF THE DIVIDEND IN MQ AND T1
						; 5829	; SKIP IF DIVISOR NEGATIVE, & CHECK FOR NO-DIVIDE.
						; 5830	=1011
						; 5831	DDIV3:	AR_2(AR-BR),ARX/ADX*2,MQ_MQ*2,	;SEE IF FIRST DIVIDE STEP
U 0253, 1140,5102,5500,0000,0040,5412,0000	; 5832			SKP CRY0,J/DDIV4	; GENERATES A 1
U 0257, 1140,0602,5504,0000,0040,5412,0000	; 5833		AR_2(AR+BR),ARX/ADX*2,MQ_MQ*2,SKP CRY0
						; 5834	=000
U 1140, 1060,0001,0000,0301,0000,4250,0041	; 5835	DDIV4:	FE_#,#/33.,SKP BR0,CALL,J/DDVLP	;GO DO FIRST HALF OF DIVIDE
U 1141, 0213,0001,0000,0000,0217,0010,0000	; 5836		I FETCH,J/NODIVD		;TOO MANY QUOTIENT BITS
U 1143, 1562,4001,0001,0402,0000,1010,0000	; 5837	=011	AC1_AR,CLR SC,J/DDIV6		;SAVE HI QUOTIENT IN AC1
U 1145, 1562,4001,0001,3402,0000,1010,0000	; 5838	=101	AC1_AR,SC_1S			;SET FLAG FOR RESUMPTION
						; 5839	=
U 1562, 1024,3200,2007,0000,0020,0010,0171	; 5840	DDIV6:	AR_T1				;GET LOWEST DIVIDEND BITS
						; 5841	=100	MQ_AR,AR_MQ,CALL,		;FINISH DIVISION, GENERATING
U 1024, 0520,3721,2010,0000,1000,4750,0000	; 5842			SKP SC0,J/DIVLP		; 35 MORE QUOTIENT BITS
U 1026, 0275,3240,2001,0000,0020,1605,0061	; 5843	=110	AR_AC1,SR DISP,SET SR3,J/DDVX1	;QUOTIENT NEGATIVE.  NOTE
U 1027, 0275,3240,2001,0000,0020,0005,0000	; 5844		AR_AC1,SR DISP			;HERE'S HIGH PART OF QUOTIENT
						; 5845	=1101
U 0275, 1565,3202,2660,0000,0000,0010,0000	; 5846	DDVX1:	BR_AR LONG,AR_BR LONG,J/DDVX2	;POS REMAINDER.  GO STORE
U 0277, 1565,5162,2660,0000,0020,0027,0000	; 5847		BR_AR LONG,AR_-BR LONG,J/DDVX2	;NEGATE REMAINDER
U 1565, 1572,5441,2004,0302,0020,1016,0043	; 5848	DDVX2:	AC2_AR,AR_SIGN,SC_#,#/35.
U 1572, 0336,4001,4000,0000,0000,0005,0000	; 5849		AR_SHIFT,SR DISP		;GET LOW WORD OF REM.  TEST QUO SIGN
U 0336, 0061,3202,2505,0000,0002,1010,0000	; 5850	=1110	AC3_AR,AR_BR,ARX/ADX*2,EXIT DBL	;GET QUOTIENT, SQUEEZE OUT HOLE
						; 5851		AC3_AR,AR_-BR,ARX/ADX*2,AD LONG,;GET NEGATIVE QUOTIENT
U 0337, 0061,5162,2505,0000,0022,1027,0000	; 5852			EXIT DBL
						; 5853	.ENDIF/DBL.INT
						; 5854	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; FP.MIC[10,5351]	19:08 8-Oct-81			SINGLE FLOATING ADD & SUB -- FAD, FADR, FSB, FSBR	

						; 5855	.TOC	"SINGLE FLOATING ADD & SUB -- FAD, FADR, FSB, FSBR"
						; 5856	
						; 5857		.DCODE
						; 5858	.IFNOT/FPLONG
D 0130, 2000,1002				; 5859	130:	EA,	J/UUO		;UFA
D 0131, 2000,1002				; 5860		EA,	J/UUO		;DFN
						; 5861	.ENDIF/FPLONG
						; 5862	
D 0140, 4101,0704				; 5863	140:	R,	FL-AC,	B0/0,	J/FAD
D 0141, 4000,0707				; 5864		R,		B0/0,	J/FPNO
D 0142, 6200,0704				; 5865		RW,	FL-MEM,	B0/0,	J/FAD
D 0143, 6301,0704				; 5866		RW,	FL-BOTH,B0/0,	J/FAD
						; 5867	
D 0144, 4101,0303				; 5868		R,	FL-AC,		J/FADR
D 0145, 0101,0302				; 5869		I,	FL-AC,	B0/0,	J/FADRI
D 0146, 6200,0303				; 5870		RW,	FL-MEM,		J/FADR
D 0147, 6301,0303				; 5871		RW,	FL-BOTH,	J/FADR
						; 5872	
D 0150, 4500,0704				; 5873	150:	R,	FL-AC,	B0/1,	J/FSB
D 0151, 4401,0707				; 5874		R,		B0/1,	J/FPNO
D 0152, 6601,0704				; 5875		RW,	FL-MEM,	B0/1,	J/FSB
D 0153, 6700,0704				; 5876		RW,	FL-BOTH,B0/1,	J/FSB
						; 5877	
D 0154, 4100,0307				; 5878		R,	FL-AC,		J/FSBR
D 0155, 0500,0302				; 5879		I,	FL-AC,	B0/1,	J/FSBRI
D 0156, 6201,0307				; 5880		RW,	FL-MEM,		J/FSBR
D 0157, 6300,0307				; 5881		RW,	FL-BOTH,	J/FSBR
						; 5882		.UCODE
						; 5883	
						; 5884	.IFNOT/FPLONG
						; 5885	=0****00**00
						; 5886	FAD:
U 0704, 0303,0001,0000,0000,0000,1633,0001	; 5887	FSB:	SR_#,#/1,B DISP,J/FADR		;FLAG NO ROUND, GO FAD/FSB
U 0705, 1403,4001,0000,0000,0000,1610,0001	; 5888	FMP:	SR_#,#/1,J/FMPR
U 0706, 1405,4001,0000,0000,0000,1610,0001	; 5889	FDV:	SR_#,#/1,J/FDVR
U 0707, 1002,3242,2000,0000,0000,0010,0000	; 5890	FPNO:	AR_BR,J/UUO
						; 5891	=
						;;5892	.IF/FPLONG
						;;5893	=0****00***0
						;;5894	FAD:
						;;5895	FSB:	SR_#,#/1,B DISP,J/FADR		;FLAG TRUNCATE MODE, GO FAD
						;;5896	FADL:
						;;5897	FSBL:	SR_#,#/2,B DISP,J/FADR		;FLAG LONG MODE
						; 5898	.ENDIF/FPLONG
						; 5899	=
						; 5900	=0****00*010
						; 5901	FADRI:
U 0302, 0303,4001,4000,0000,3000,0033,0000	; 5902	FSBRI:	AR_AR SWAP,B DISP
						; 5903	FADR:	FE_EXP,EXP_SIGN,SC/SCAD,
U 0303, 1601,3441,0200,0203,1000,0022,0200	; 5904			ARX_0S,J/FAS
						; 5905	=111
U 0307, 1576,3441,0200,0203,1000,0022,0200	; 5906	FSBR:	FE_EXP,SC/SCAD,EXP_SIGN,ARX_0S
U 1576, 1601,5143,7000,0000,0020,0010,0000	; 5907	=	AR_-AR,J/FAS			;NEGATE SUBTRAHEND
						; 5908	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; FP.MIC[10,5351]	19:08 8-Oct-81			SINGLE FLOATING ADD & SUB -- FAD, FADR, FSB, FSBR	

						; 5909	;FIND OPERAND WITH LARGER EXP, LEAVING IT IN BR,
						; 5910	; AND ITS EXP-1 IN FE.  THE SMALLER OPERAND IS LEFT IN AR,
						; 5911	; SHIFTED RIGHT BY THE DIFFERENCE BETWEEN THE EXPONENTS -1
						; 5912	
U 1601, 1612,3200,2060,0000,0020,0010,0000	; 5913	FAS:	BR/AR,BRX/ARX,AR_AC0		;SAVE MEM OP IN BR, GET AC
U 1612, 2130,0001,0000,5202,1020,5122,0200	; 5914		SC_EXP-SC,EXP_SIGN,SKP SCAD0	;FIND LARGER OPERAND
U 2130, 1616,3201,2040,2001,0000,0010,0000	; 5915	=0	FE_FE+SC,BR/AR,AR_BR*2,J/FAS1	;AC EXP .GE. MEM
						; 5916		MQ_AR,SC_#+SC,#/37.,		;MEM OP LARGER, SHIFT AC OP
U 2131, 2132,4001,0010,2302,1020,5110,0045	; 5917			SKP SCAD0,J/FAS2	;COMPUTE SHIFT AMOUNT
						; 5918	
U 1616, 2132,4001,0010,5302,1020,5110,0044	; 5919	FAS1:	MQ_AR,SC_#-SC,#/36.,SKP SCAD0	;CHECK SHIFT AMOUNT
						; 5920	=0
U 2132, 1632,5441,2310,0000,0020,0016,0000	; 5921	FAS2:	MQ_SHIFT,ARX/MQ,AR_SIGN,J/FAS3	;LOW TO MQ, READY TO GET HI
						; 5922		AR_SIGN,ARX_AR,			;HERE IF EXP DIFF .GT. 36
U 2133, 2140,5401,2400,2302,1020,5116,0044	; 5923			SC_#+SC,#/36.,SKP SCAD0	; .GT. 72?
U 2140, 1636,4001,0400,4001,0001,0010,0100	; 5924	=0	ARX_SHIFT,MQ_0.M,FE_FE+1,J/FAS5
U 2141, 1636,0001,0400,4001,1001,0010,0100	; 5925		ARX_AR,MQ_0.M,FE_FE+1,J/FAS5	;SHIFTED CLEAR OUT
						; 5926	
						; 5927	FAS3:	AR_SHIFT,ARL/SH,ARX/MQ,
U 1632, 1636,0001,4300,4001,0001,0010,0104	; 5928			MQ_0.M,FE_FE+1		;READY TO ADD
						; 5929	
						; 5930	FAS5:	AR_(AR+2BR)*.25,ARX/ADX*.25,	;HERE FOR ADD OR SUB
U 1636, 1240,0601,7704,0000,0060,0035,0000	; 5931			NORM,J/SNORM
						; 5932	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; FP.MIC[10,5351]	19:08 8-Oct-81			SINGLE FLOATING MULTIPLY -- FMP, FMPR			

						; 5933	.TOC	"SINGLE FLOATING MULTIPLY -- FMP, FMPR"
						; 5934	
						; 5935		.DCODE
D 0160, 4100,0705				; 5936	160:	R,	FL-AC,	J/FMP
D 0161, 4000,0707				; 5937		R,		J/FPNO
D 0162, 6201,0705				; 5938		RW,	FL-MEM,	J/FMP
D 0163, 6300,0705				; 5939		RW,	FL-BOTH,J/FMP
						; 5940	
D 0164, 4101,1403				; 5941		R,	FL-AC,	J/FMPR
D 0165, 0101,1402				; 5942		I,	FL-AC,	J/FMPRI
D 0166, 6200,1403				; 5943		RW,	FL-MEM,	J/FMPR
D 0167, 6301,1403				; 5944		RW,	FL-BOTH,J/FMPR
						; 5945		.UCODE
						;;5946	.IF/FPLONG
						;;5947	=0****00***0
						;;5948	FMP:	SR_#,#/1,J/FMPR			;FLAG TRUNCATE MODE
						;;5949	FMPL:	SR_#,#/2,J/FMPR			;LONG MODE
						;;5950	=
						; 5951	.ENDIF/FPLONG
						; 5952	=0****00***0
U 1402, 1403,0001,4000,0000,3000,0010,0000	; 5953	FMPRI:	AR_AR SWAP
U 1403, 1640,3401,0200,0202,1000,0022,0200	; 5954	FMPR:	SC_EXP,EXP_SIGN,ARX_0S		;PREPARE M'IER FRACTION
						; 5955	
U 1640, 0272,3240,2010,0301,1020,0010,0762	; 5956	=	MQ_AR,AR_AC0,FE_#,#/-14.	;M'IER TO MQ, GET M'CAND
						; 5957	=01*	SC_EXP+SC,EXP_SIGN,		;SEPARATE M'CAND FRACTION FROM EXP
U 0272, 1431,4001,0000,2202,1000,0062,0200	; 5958			CALL.S,J/MULSUB		;AND BEGIN MULTIPLY
U 0276, 1240,3203,0000,2301,0040,0035,0600	; 5959	=11*	FE_#+SC,#/-200,NORM AR,J/SNORM
						; 5960	=
						; 5961	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4
; FP.MIC[10,5351]	19:08 8-Oct-81			SINGLE FLOATING DIVIDE -- FDV, FDVR			

						; 5962	.TOC	"SINGLE FLOATING DIVIDE -- FDV, FDVR"
						; 5963	
						; 5964		.DCODE
D 0170, 4100,0706				; 5965	170:	R,	FL-AC,	J/FDV
D 0171, 4101,0707				; 5966		R,	FL-AC,	J/FPNO
D 0172, 6201,0706				; 5967		RW,	FL-MEM,	J/FDV
D 0173, 6300,0706				; 5968		RW,	FL-BOTH,J/FDV
						; 5969	
D 0174, 4101,1405				; 5970		R,	FL-AC,	J/FDVR
D 0175, 0101,1404				; 5971		I,	FL-AC,	J/FDVRI
D 0176, 6200,1405				; 5972		RW,	FL-MEM,	J/FDVR
D 0177, 6301,1405				; 5973		RW,	FL-BOTH,J/FDVR
						; 5974		.UCODE
						;;5975	.IF/FPLONG
						;;5976	=0****00***0
						;;5977	FDVL:	FE_EXP-1,EXP_SIGN,ARX+MQ_0.S,J/FDVL1
						;;5978	FDV:	SR_#,#/1,J/FDVR			;FLAG TRUNCATE MODE
						;;5979	=
						; 5980	.ENDIF/FPLONG
						; 5981	=0****00***0
U 1404, 1405,0001,4000,0000,3000,0010,0000	; 5982	FDVRI:	AR_AR SWAP
U 1405, 1160,4001,0000,4202,1000,0022,0340	; 5983	FDVR:	SC_EXP+1,EXP_SIGN,ARX+MQ_0.S	;SETUP DIVISOR
						; 5984	=
						; 5985	=000	BR/AR,BRX/ARX,			;DIVISOR TO BR, CLR BRX
						; 5986			AR_AC0,FE_#,#/27.,	;GET DIVIDEND, STEP COUNT
U 1160, 2150,3240,2060,0301,0020,5550,0033	; 5987			SKP AD0,CALL,J/FDVCHK
						; 5988	
U 1162, 0522,0001,0000,0000,0000,4250,0000	; 5989	=10	SKP BR0,CALL,J/DIV-		;OK, BEGIN DIVISION
U 1163, 0066,4001,0000,0000,0000,1110,0624	; 5990		SET FL NO DIV,J/IFNOP		;NO DIVIDE, SORRY
						; 5991	
						; 5992	;RETURN HERE WITH QUOTIENT IN ARX.  WE TOOK 29 DIVIDE STEPS, TO
						; 5993	; GUARANTEE HAVING A ROUNDING BIT EVEN IF THE FIRST STEP GENERATES
						; 5994	; A QUOTIENT BIT OF ZERO.  THEREFORE, THE MSB OF QUOTIENT IS EITHER
						; 5995	; IN BIT 7 OR 8, AND NORM WILL FIND IT IN ONE STEP.
						; 5996	
						; 5997	=110	AR_ARX,FE_FE+#,#/2,		;NEGATIVE QUOTIENT
U 1166, 2142,7162,4000,2031,2040,5410,0002	; 5998			SKP BR EQ,J/FDVNEG	;CHECK FOR MORE QUO TO COME
						; 5999		AR_ARX*.25,ARX_ARX*.25,NORM,	;JUNK IS 36 BITS AWAY FROM MSB
U 1167, 1240,3713,7700,2031,0040,0035,0002	; 6000			FE_FE+#,#/2,J/SNORM	;POS QUOTIENT, NORMALIZE
						; 6001	=
						; 6002	;HERE IF QUOTIENT SHOULD BE NEGATIVE, WITH POSITIVE FORM IN
						; 6003	; AR AND ARX.  SKIP IF REMAINDER (IN BR) IS ZERO.  IN THIS CASE,
						; 6004	; WE CLEAR ARX, BECAUSE AR CONTAINS THE ENTIRE QUOTIENT.
						; 6005	; IF, HOWEVER, THE REMAINDER IS NOT ZERO, WE INFER
						; 6006	; THAT AN INFINITE PRECISION DIVISION WOULD GENERATE MORE ONES
						; 6007	; IN THE QUOTIENT.  IF THAT IS THE CASE, WE LEAVE ARX WITH THE
						; 6008	; QUOTIENT, SO THE NEGATION PROCESS WILL WORK CORRECTLY TO RETURN
						; 6009	; THE HIGH ORDER PART OF THE INFINITE-PRECISION NEGATIVE QUOTIENT.
						; 6010	=0
U 2142, 1240,3703,7700,0000,0040,1635,0064	; 6011	FDVNEG:	SET SR1,AR_AR*.25 LONG,NORM,J/SNORM
U 2143, 2142,3441,0200,0000,0000,0010,0000	; 6012		ARX_0S,J/FDVNEG			;REMAINDER WENT TO ZERO
						; 6013	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5
; FP.MIC[10,5351]	19:08 8-Oct-81			SINGLE FLOATING DIVIDE -- FDV, FDVR			

						; 6014	;HERE FOR FDVL
						; 6015	
						;;6016	.IF/FPLONG
						;;6017	
						;;6018	;FDVL:	FE_EXP-1,EXP_SIGN,CLR ARX+MQ
						;;6019	=000
						;;6020	FDVL1:	AR_AC1,BR_AR LONG,		;SAVE DIVISOR IN BR LONG
						;;6021			SC_#,#/9.,CALL		;READY TO SHIFT LOW DIVIDEND
						;;6022		ARX_SHIFT,AR_AC0,		;DIVIDEND IN PLACE
						;;6023			SC_FE,FE_#,#/24.,	;EXP TO SC, STEP COUNT TO FE
						;;6024			SKP AD0,J/FDVCHK	;GO CHECK FOR NO DIVIDE
						;;6025	=010	CALL,SKP BR0,J/FDVL2		;GO BEGIN DIVIDE
						;;6026		SET FL NO DIV,J/IFNOP		;CAN'T DIVIDE, ABORT
						;;6027	
						;;6028	=110	AR_AC0,SR_#,#/5,		;NEG QUO, FLAG TRUNCATE MODE
						;;6029			SR DISP,J/FDVL4		; WAS IT 26 OR 27 STEPS?
						;;6030		AR_AC0,SR_#,#/1,		;POS QUO
						;;6031			SR DISP,J/FDVL4
						;;6032	=
						;;6033	
						;;6034	
						;;6035	;COME HERE TO START THE DIVISION.  ON THE FIRST STEP, WE CHECK
						;;6036	; TO SEE WHETHER A 1 HAS BEEN GENERATED IN THE QUOTIENT.  IF SO,
						;;6037	; 26 ADDITIONAL STEPS WILL GENERATE THE FULL 27 SIGNIFICANT BITS
						;;6038	; OF THE QUOTIENT.  IF NOT, 27 STEPS ARE REQUIRED.
						;;6039	
						;;6040	=0
						;;6041	FDVL2:	DIVIDE,AR_2(AR-BR),ARX/ADX*2,J/FDVL3	;FIRST DIVIDE STEP
						;;6042		DIVIDE,AR_2(AR+BR),ARX/ADX*2		; DOES IT GENERATE A 1?
						;;6043	=00
						;;6044	FDVL3:	DISP/DIV,MQ/MQ*2,		;NO, TAKE AN EXTRA DIVIDE STEP
						;;6045			AR_2(AR+BR),ARX/ADX*2,J/DIVLP	; WITHOUT COUNTING FE
						;;6046		SR_1,SC_#+SC,#/1,J/DIV-		;YES, 27 STEPS WILL NORMALIZE QUO
						;;6047		DISP/DIV,MQ/MQ*2,AR_2(AR-BR),ARX/ADX*2,J/DIVLP
						;;6048		SR_1,SC_#+SC,#/1,J/DIV+
						;;6049	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6
; FP.MIC[10,5351]	19:08 8-Oct-81			SINGLE FLOATING DIVIDE -- FDV, FDVR			

						;;6050	;WE COME HERE AFTER DOING THE DIVISION, EITHER 26 OR 27 STEPS
						;;6051	; AS REQUIRED TO GENERATE A NORMALIZED QUOTIENT FROM NORMALIZED
						;;6052	; OPERANDS.  NOW FIGURE OUT WHAT EXPONENT THE REMAINDER SHOULD HAVE.
						;;6053	
						;;6054	=0
						;;6055	FDVL4:	SC_EXP-#,#/27.,			;DIVIDEND EXP-27
						;;6056			AR_BR,SKP AR0,J/FDVL6	;GET REMAINDER, TEST D'END SIGN
						;;6057		SC_EXP-#,#/26.,			;D'END EXP-26
						;;6058			AR_BR,SKP AR0
						;;6059	
						;;6060	;HERE WITH REMAINDER IN AR, ITS EXP IN SC
						;;6061	; SKIP IF D'END (AND THEREFORE REM) NEGATIVE.
						;;6062	
						;;6063	=0
						;;6064	FDVL6:	EXP_SC,BYTE DISP,		;TEST FOR UNDERFLOW
						;;6065			SKP AR EQ,J/FDVL7	; OR REM =0
						;;6066		AR_-BR,SKP CRY0,		;NEGATE REM, CHECK =0
						;;6067			GEN SC,BYTE DISP	; AND LOOK FOR EXP UFLO
						;;6068	=110	EXP_-SC-1,J/FDVL7		;ONE'S COMPLEMENT EXP
						;;6069		AR_0S				;REM =0 OR EXP UFLO
						;;6070	=110
						;;6071	FDVL7:	AC1_AR,ARX+MQ_0.M,		;SAVE REMAINDER
						;;6072			AR_MQ,ARL/AD,J/SNR2	;GO NORMALIZE QUOTIENT
						;;6073		AR_0S,J/FDVL7
						; 6074	.ENDIF/FPLONG
						; 6075	
						; 6076	
						; 6077	;SUBR TO CHECK FOR FLOATING NO DIVIDE
						; 6078	; ENTER WITH SKP ON DIVIDEND SIGN, IN AR LONG, WITH
						; 6079	; DIVISOR EXP IN SC, DIVISOR IN BR
						; 6080	
						; 6081	=0
U 2150, 2152,4001,0000,5202,1000,4222,0200	; 6082	FDVCHK:	SC_EXP-SC,EXP_SIGN,SKP BR0,J/FDVCK1
U 2151, 2150,5143,7700,0000,0020,0027,0000	; 6083		AR_-AR LONG,J/FDVCHK		;GET POSITIVE DIVIDEND
						; 6084	=0
						; 6085	FDVCK1:	GEN AR-2BR,SKP CRY0,		;TEST FOR NO DIVIDE
U 2152, 0002,5101,0004,2302,0040,5403,0177	; 6086			SC_#+SC,#/177,RETURN2	;AND CORRECT EXP
						; 6087		GEN AR+2BR,SKP CRY0,		;SAME TEST, NEG DIVISOR
U 2153, 0002,0601,0000,2302,0040,5403,0177	; 6088			SC_#+SC,#/177,RETURN2	;AND SAME EXP CORRECTION
						; 6089	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7
; FP.MIC[10,5351]	19:08 8-Oct-81			UFA, DFN, FSC, IBP					

						; 6090	.TOC	"UFA, DFN, FSC, IBP"
						; 6091	;ENTER WITH (E) IN AR
						;;6092	.IF/FPLONG
						;;6093		.DCODE
						;;6094	130:	R,		J/UFA
						;;6095		RPW,		J/DFN
						;;6096		.UCODE
						;;6097	=0****00***0
						;;6098	DFN:	FE_AR0-8,AR0-8_#,#/0,		;SAVE LOW EXP, CLR SO CAN 
						;;6099			ARX_0S,J/DFN1		; DETECT FRACTION = 0
						;;6100	UFA:	FE_EXP,SC/SCAD,EXP_SIGN,ARX_0S
						;;6101	=
						;;6102	=000	BR_AR LONG,AR_AC0,CALL,J/EXPD
						;;6103	=100	ARX_AR,AR_SIGN,ARL/AD,		;READY TO UNNORMALIZE SMALLER OP
						;;6104			CALL.M,J/SHIFT
						;;6105		AR_SIGN,ARX/AD			;LOST SMALLER OP, USE ITS SIGN
						;;6106		AR_AR+BR,SKP AD NE,		;IS RESULT SIGNIFICANT?
						;;6107			SC_FE,I FETCH
						;;6108	=
						;;6109	=0	AC1_AR,J/FINI			;NO, CLEAR RESULT AC
						;;6110		SKP EXP NE,BR/AR		;IS RIGHT SHIFT REQ'D?
						;;6111	=0	SKP AR0,FETCH WAIT,J/UFA4	;NO, IS RESULT NEG?
						;;6112		AR_BR*.5,GEN FE-#,#/377,SKP SCAD NE,FETCH WAIT
						;;6113	=0	FE_-1,SET FLOV
						;;6114		FE_FE+1,SC/SCAD,SKP AR0
						;;6115	=0
						;;6116	UFA4:	AR0-8_SC,J/STAC1		;POS, PUT IN EXP STRAIGHT
						;;6117		AR0-8_-SC-1,J/STAC1		;NEG, USE COMPLEMENT OF EXP
						;;6118	
						;;6119	
						;;6120	DFN1:	AR_-AR,SKP CRY0			; LOW FRACTION =0?
						;;6121	=0	AR0-8_FE,STORE,			;STORE LOW WORD BACK TO MEM
						;;6122			ARX_AC0 COMP,J/STMAC	; GET COMPLEMENTED HIGH WORD
						;;6123		AR0-8_FE,STORE,			;LOW WORD WAS ZERO, INSTALL EXP
						;;6124			ARX_-AC0,J/STMAC	; GET NEGATED HIGH WORD
						; 6125	.ENDIF/FPLONG
						; 6126	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8
; FP.MIC[10,5351]	19:08 8-Oct-81			UFA, DFN, FSC, IBP					

						; 6127		.DCODE
D 0132, 0101,1407				; 6128	132:	I,	FL-AC,	J/FSC
D 0133, 4600,1406				; 6129		R,	B/6,	J/IBP		;ADJBP IF AC .NE. 0
						; 6130		.UCODE
						; 6131	=0****00***0
						; 6132	.IF/ADJBP
						;;6133	.IF/OWGBP
						;;6134	IBP:	SKP PC SEC0,J/IBP0		;[251] CAN IT BE A OWGBP ?
						; 6135	.IFNOT/OWGBP
U 1406, 1520,0001,0000,0000,0000,4610,0000	; 6136	IBP:	SKP AC#0,J/IBP1			;IS IT IBP, OR ADJBP?
						; 6137	.ENDIF/OWGBP
						;;6138	.IFNOT/ADJBP
						;;6139	IBP:	J/IBP2
						; 6140	.ENDIF/ADJBP
						; 6141	
						; 6142	
						; 6143	;FSC
						; 6144	;ENTER WITH E IN AR
						; 6145	=0****00****
						; 6146	FSC:	SC_EA,ARX+MQ_0.M,
U 1407, 1642,3240,2000,0002,0021,0013,0142	; 6147			AR_AC0,ARL/AD
U 1642, 1242,4001,0000,2201,1000,0022,0200	; 6148	=	FE_EXP+SC,EXP_SIGN,J/SNR2	;NORMALIZE SCALED RESULT
						; 6149	
						;;6150	.IF/OWGBP
						;;6151	=0
						;;6152	IBP0:	SC_P-#,#/45,SKP SCAD0,J/IBP3	;TREAT THIS AS A OWGBP ?
						;;6153		SKP AC#0,J/IBP1			;IS IT IBP, OR ADJBP?
						;;6154	=0
						;;6155	IBP3:	BR/AR,SKP AC#0,J/GIBP		;YES, CHECK FOR ADJBP
						;;6156		SKP AC#0,J/IBP1			;NO, TREAT AS BEFORE, ADJBP?
						; 6157	.ENDIF/OWGBP
						; 6158	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9
; FP.MIC[10,5351]	19:08 8-Oct-81			FIX, FIXR, FLTR, EXTEND					

						; 6159	.TOC	"FIX, FIXR, FLTR, EXTEND"
						; 6160	
						; 6161		.DCODE
D 0122, 4000,1412				; 6162	122:	R,		J/FIX		;UNROUNDED
D 0123, 4001,1413				; 6163		R,		J/EXTEND	;EXTENDED INSTRUCTION SET
						; 6164	
D 0126, 4000,1411				; 6165	126:	R,		J/FIXR		;ROUNDED
D 0127, 4100,1410				; 6166		R,	FL-AC,	J/FLTR
						; 6167		.UCODE
						; 6168	;FLTR
						; 6169	;ENTER WITH (E) IN AR
						; 6170	=0****00***0
						; 6171	FLTR:	FE_#,#/277,ARX_AR,SKP AR0,	;BINARY POINT TO RIGHT OF ARX
U 1410, 1240,5401,2400,0301,1020,4516,0277	; 6172			AR_SIGN,J/SNORM		; SIGN EXTENDED.  GO NORMALIZE
						; 6173	
						; 6174	;FIX AND FIXR
						; 6175	;ENTER WITH (E) IN AR
						; 6176	;	FIX AND FIXR DIFFER ONLY IN THE ROUNDING CRITERION:
						; 6177	;FIXR ADDS 1 TO THE INTEGER PART IF THE FRACTION PART IS ONE-HALF
						; 6178	;OR GREATER.  FIX DROPS THE FRACTION PART OF POSITIVE NUMBERS, BUT ADDS
						; 6179	;1 TO THE INTEGER PART OF NEGATIVE NUMBERS IF THE FRACTION PART IS NOT
						; 6180	;ALL ZERO.
						; 6181	;	THIS IS IMPLEMENTED BY CHOOSING A FRACTION (THE ROUNDING
						; 6182	;CONSTANT) TO ADD TO THE INPUT, SUCH THAT A CARRY WILL OCCUR INTO THE
						; 6183	;INTEGER PART UNDER THE APPROPRIATE CONDITIONS.  FOR FIXR, THE ROUNDING
						; 6184	;CONSTANT IS EXACTLY ONE-HALF.  FOR FIX, IT IS ZERO ON POSITIVE INPUT,
						; 6185	;OR THE LARGEST POSSIBLE FRACTION (ALL 1S) ON NEGATIVE INPUT.
						; 6186	
						; 6187	=0****00****
						; 6188	FIXR:	FE_EXP-#,#/244,SKP SCAD0,	;GET BINARY POINT POSITION
U 1411, 2170,4041,0700,5231,0020,5110,0244	; 6189			ARX_1B1,J/FIX1		;GET ROUNDING CONSTANT
						; 6190	=
						; 6191	=0****00***0
						; 6192	FIX:	FE_EXP-#,#/244,SKP SCAD0,	;GET BINARY POINT POSITION
U 1412, 2170,5441,0200,5231,0020,5116,0244	; 6193			ARX_AR SIGN,J/FIX1	;SET ROUNDING CONSTANT, GO FIX
						; 6194	
						; 6195	.IF/EXTEND
						;;6196	.IFNOT/XADDR
						;;6197	.IF/MODEL.B				;[246]
						;;6198	EXTEND:	FE_#+AR0-8,#/-32,SKP SCAD0,	;VALID EXTENDED OPERATION?
						;;6199			ARX_AR,AR_BRX,J/EXT1	; OPR TO ARX, AC TO AR
						;;6200	.IFNOT/MODEL.B
						;;6201	EXTEND:	FE_#+AR0-8,#/-20,SKP SCAD0,	;[246] VALID EXTENDED OPERATION?
						;;6202			ARX_AR,AR_BRX,J/EXT1	;[246] OPR TO ARX, AC TO AR
						;;6203	.ENDIF/MODEL.B				;[246]
						; 6204	.IF/XADDR
						; 6205	EXTEND:	SC_#+AR0-8,#/-32,SKP SCAD0,	;VALID EXTENDED OPERATION?
U 1413, 2476,3242,2400,2322,1020,5110,0746	; 6206			ARX_AR,AR_BR,J/EXTF1	; OPR TO ARX, AC TO AR
						; 6207	.ENDIF/XADDR
						;;6208	.IFNOT/EXTEND
						;;6209	EXTEND:	AR_BR,J/UUO
						; 6210	.ENDIF/EXTEND
						; 6211	=
						; 6212	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10
; FP.MIC[10,5351]	19:08 8-Oct-81			FIX, FIXR, FLTR, EXTEND					

						; 6213	;HERE FOR FIX.  CONVERT FLOATING TO INTEGER
						; 6214	
						; 6215	=0
U 2170, 0066,4001,0000,0000,0000,1110,0420	; 6216	FIX1:	SET AROV,J/IFNOP		;CAN'T DO IT, GIVE UP
U 2171, 1644,3721,0540,0000,0000,0410,0000	; 6217		BR/AR,CLR AR,ARX_ARX*2		;ROUNDING CONSTANT READY IN ARX
						; 6218		BR_AR LONG,AR_BR,CLR ARX,	;MANTISSA TO AR LONG
U 1644, 1646,3202,2060,0302,0000,0510,0011	; 6219			SC_#,#/9.		;READY TO SHIFT OFF EXPONENT
						; 6220		ARX_SHIFT,AR_SIGN,		;MANTISSA LEFT ALIGNED IN ARX
U 1646, 2172,5401,2400,2032,0020,5116,0044	; 6221			SC_FE+#,#/36.,SKP SCAD0	;ANY INTEGER BITS?
						; 6222	=0	MQ_SHIFT,			;YES, PUT THEM IN MQ
						; 6223			AR_ARX (ADX),CLR ARX,	;SHIFT MANTISSA LEFT 36 PLACES
U 2172, 1650,3721,6010,0000,0217,0510,0000	; 6224			I FETCH,J/FIX2		;AND PREFETCH NEXT
U 2173, 0074,3401,2000,0000,0217,0010,0000	; 6225		AR_0S,I FETCH,J/STORAC		;ALL SIGNIFICANCE LOST
U 1650, 1652,3723,2400,0000,0000,0010,0000	; 6226	FIX2:	ARX_SHIFT,AR_MQ			;INTEGER IN AR, FRACTION IN ARX
U 1652, 0065,0602,2000,0000,0020,0027,0000	; 6227		AR_AR+BR,AD LONG,J/STAC		;ROUND AND STORE
						; 6228	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 11
; FP.MIC[10,5351]	19:08 8-Oct-81			SINGLE PRECISION FLOATING NORMALIZATION			

						; 6229	.TOC	"SINGLE PRECISION FLOATING NORMALIZATION"
						; 6230	
						; 6231	;HERE TO NORMALIZE SINGLE PRECISION RESULTS
						; 6232	;SR2-3 TELL HOW TO STORE RESULTS:
						; 6233	;XX00 ... ROUND, SINGLE PRECISION
						; 6234	;XX01 ... TRUNCATE, SINGLE PRECISION
						; 6235	;XX10 ... LONG MODE (IMPLIES TRUNCATION)
						; 6236	;IN ADDITION, THIS CODE SETS SR 1 IF ANSWER IS NEGATIVE, SO X1YZ
						; 6237	; CORRESPONDS TO X0YZ EXCEPT THAT THE RESULT MUST BE NEGATED.
						; 6238	
						; 6239	;DISPATCH TO SNORM WITH "DISP/NORM,AR/AD*.25"
						; 6240	; THUS THE 8 POSSIBILITIES ARE:
						; 6241	;SNORM		AD=0	AR=0	EITHER ANSWER IS ZERO, OR MSB IS IN ARX
						; 6242	;SNORM+1	AD0	AR NEG	RESULT IS NEG.  MAKE POS, TRY AGAIN
						; 6243	;SNORM+2	AD1-6	AR3-8	MSB TOO FAR LEFT, SHIFT RIGHT & RETRY
						; 6244	;SNORM+3	AD7	AR9	RESULT IS CORRECTLY NORMALIZED
						; 6245	;SNORM+4	AD8	AR10	SHIFT LEFT ONCE FOR NORMALIZATION
						; 6246	;SNORM+5	AD9	AR11	SHIFT LEFT 2 PLACES
						; 6247	;SNORM+6	AD10	AR12	SHIFT LEFT THRICE
						; 6248	;SNORM+7	AD11-35	AR13-35	SHIFT LEFT A LOT, TRY AGAIN
						; 6249	
						; 6250	=000
						; 6251	SNORM:	AR_ARX,ARL/SH,SKP ARX NE,	;AR IS ZERO, GET ARX
U 1240, 2202,3713,4000,0000,2041,5410,0044	; 6252			ARX_0.M,J/SNZERO
U 1241, 1240,5143,7700,0000,0060,1635,0064	; 6253		NORM -AR,SET SR1,J/SNORM	;REMEMBER NEGATIVE, GO POSITIVE
						; 6254	SNR2:	AR_AR*.25 LONG,FE_FE+#,#/2,	;SHIFT RIGHT,
U 1242, 1240,3701,7700,2031,0040,0035,0002	; 6255			NORM,J/SNORM		;TRY AGAIN
U 1243, 0024,0001,0000,0000,0000,0005,0000	; 6256		SR DISP,J/SROUND		;AD7 -> AR9, IS ROUND REQ'D?
						; 6257		AR_AR*2 LONG,FE_FE-1,		;AD8 -> AR10, ONCE LEFT AND DONE
U 1244, 0024,3701,5500,3001,0000,0005,0000	; 6258			SR DISP,J/SROUND
						; 6259		AR_AR*4 LONG,FE_FE-#,#/2,	;AD9 -> AR11
U 1245, 0024,3243,2600,5031,0000,0005,0002	; 6260			SR DISP,J/SROUND
						; 6261		AR_AR*8 LONG,FE_FE-#,#/3,	;AD10 -> AR12
U 1246, 0024,3243,5500,5031,0000,0005,0003	; 6262			SR DISP,J/SROUND
						;;6263	.IFNOT/SNORM.OPT
						;;6264		SKP AR NE,INH CRY18,SC_#,#/7	;LOOK FOR AR13-17
						;;6265	=0	SC_#,#/13.			;LH IS 0.  SHIFT FARTHER
						;;6266		MQ_SHIFT,AR_ARX (ADX),CLR ARX,	;HIGH TO MQ, GET READY FOR LOW
						;;6267			FE_FE-SC		; ADJUST EXPONENT
						;;6268		ARX_SHIFT,AR_MQ,J/SNR2		;FRACTION REPOSITIONED. GO AGAIN
						;;6269	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 12
; FP.MIC[10,5351]	19:08 8-Oct-81			SINGLE PRECISION FLOATING NORMALIZATION			

						;;6270	;HERE IS THE FASTER VERSION OF LONG NORMALIZATION SHIFTS,
						;;6271	; WHICH TAKES FOUR WORDS MORE BUT IS A BIT QUICKER IN THE
						;;6272	; INTERMEDIATE NORMALIZATION CASES.
						;;6273	
						; 6274	.IF/SNORM.OPT
						; 6275		ADA EN/0S,ADB/AR*4,AD/ANDCA,	;GENERATE AR*4
						; 6276			AR/AD*2,ARX/ADX*2,	; AR_AR*8 LONG
						; 6277			SC_#,#/12.,		;READY TO SHIFT FARTHER
U 1247, 2200,3063,5500,0302,0020,5417,0014	; 6278			GEN CRY18,SKP CRY0	; TEST AR0-19 FOR ZERO
						; 6279	
						; 6280	=0	AR_AR*8 LONG,BR_AR LONG,	;IT WAS IN AR13-19
U 2200, 1264,3243,5560,5031,0040,0035,0006	; 6281			FE_FE-#,#/6,NORM,J/SN1	; NOW IN AR10-16, AD8-14
						; 6282		MQ_SHIFT,AR_ARX (ADX),		;13-19=0, SHIFT TO TRY 20-35
U 2201, 1654,3701,6010,0302,0000,0510,0012	; 6283			CLR ARX,SC_#,#/10.
						; 6284		ARX_SHIFT,AR_MQ*.25,		;REPOSITION FRACTION IN AR LONG
						; 6285			FE_FE-#,#/13.,		;COMPENSATE EXPONENT
U 1654, 1240,3721,7400,5031,0040,0035,0015	; 6286			NORM,J/SNORM
						; 6287	=100
						; 6288	SN1:	AR_BR*2 LONG,FE_FE+#,#/2,	;MSB IN AD8, SO IN BR10
U 1264, 0024,3241,2600,2031,0000,0005,0002	; 6289			SR DISP,J/SROUND
						; 6290		AR_BR*4 LONG,FE_FE+1,		;MSB IN AD9, THUS IN BR11
U 1265, 0024,3241,5500,4001,0000,0005,0000	; 6291			SR DISP,J/SROUND
U 1266, 0024,0001,0000,0000,0000,0005,0000	; 6292		SR DISP,J/SROUND		;AD10 -> AR9, A LUCKY GUESS
						; 6293		AR_AR*8 LONG,BR_AR LONG,	;TRY SHIFTING 3 MORE
U 1267, 1264,3243,5560,5031,0040,0035,0003	; 6294			FE_FE-#,#/3,NORM,J/SN1
						; 6295	.ENDIF/SNORM.OPT
						; 6296	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 13
; FP.MIC[10,5351]	19:08 8-Oct-81			SINGLE PRECISION FLOATING NORMALIZATION			

						; 6297	;HERE WHEN AD ENTIRELY ZERO ON NORMALIZE ATTEMPT.  SKIP IF ARX
						; 6298	; IS NOT ZERO, HAVING COPIED IT TO AR (IE, LEFT SHIFT 36 PLACES).
						; 6299	; OTHERWISE, THE ENTIRE RESULT IS ZERO, SO WE STORE THAT.
						; 6300	=0
						; 6301	SNZERO:	CLR FE,AR+ARX+MQ_0.M,		;RESULT = 0
U 2202, 0151,4001,0000,0401,0001,0005,0170	; 6302			SR DISP,J/SRND5
						; 6303		AR_AR*.25 LONG,FE_FE-#,#/34.,	;HAVE MOVED LEFT 36, GO RIGHT 2
U 2203, 1240,3701,7700,5031,0040,0035,0042	; 6304			NORM,J/SNORM		;AND TRY THAT
						; 6305	
						; 6306	
						; 6307	;WE GET HERE WITH A NORMALIZED POSITIVE FRACTION IN AR'ARX,
						; 6308	; THE CORRECTED EXPONENT IN FE, AND SR INDICATES THE PROPER SIGN
						; 6309	; FOR THE RESULT AND WHETHER THE ANSWER SHOULD BE ROUNDED,
						; 6310	; TRUNCATED, OR LONG.
						; 6311	
						;;6312	.IF/FPLONG
						;;6313	=100
						; 6314	.IFNOT/FPLONG
						; 6315	=1*0
						; 6316	.ENDIF/FPLONG
U 0024, 0135,3401,2060,0000,0000,0010,0000	; 6317	SROUND:	BR_AR LONG,AR_0S,J/SRND2	;PREPARE TO ROUND BY ADDING THE
						; 6318						; PART OF THE FRACTION WE WILL
						; 6319						; DISCARD (CARRY IF ARX0)
						; 6320		BR_AR LONG,CLR AR,ARX_1S,	;TRUNCATE MODE
U 0025, 0131,2341,0260,0000,0000,0405,0000	; 6321			SR DISP,J/STRNC		; HANDLING DEPENDS ON SIGN
						;;6322	.IF/FPLONG
						;;6323		BR_AR LONG,CLR AR,ARX_1S,	;LONG MODE
						;;6324			SC_#,#/9.
						;;6325	=	ARX_SHIFT,SR DISP		;MASK = 0,,000777 TO ARX
						;;6326	=01*
						;;6327		BR_AR LONG,AR_BR LONG,J/SRND4	;POS, TRUNCATE BY ANDING
						;;6328		AR_AR+BR,ARX/ADX,BR_AR LONG,	;NEG, MUST DIDDLE
						;;6329			NORM,J/SRND3		; NORM FORCES LONG ARITH
						; 6330	.ENDIF/FPLONG
						; 6331	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 14
; FP.MIC[10,5351]	19:08 8-Oct-81			SINGLE PRECISION FLOATING NORMALIZATION			

						; 6332	;HERE TO PERFORM ROUNDING OR TRUNCATION OF SINGLE-PRECISION RESULTS,
						; 6333	; AND CHECK FOR CARRY INTO EXPONENT FIELD REQUIRING RENORMALIZATION
						; 6334	
						; 6335	=0*1
U 0131, 0035,3242,2000,0000,0000,0510,0000	; 6336	STRNC:	AR_BR,CLR ARX,J/SRND4		;POS TRUNCATE, GO STUFF IN EXP
U 0135, 0034,0602,2000,0000,0060,0535,0000	; 6337	SRND2:	AR_AR+BR,NORM,CLR ARX		;NORM FORCES LONG ARITH
						; 6338						; SO THIS ADDS ARX TO BR'BRX
						; 6339	=1*0
U 0034, 0035,0303,7000,4001,0020,0010,0000	; 6340	SRND3:	AR_AR*.5,FE_FE+1		;RENORMALIZE
						; 6341	SRND4:	EXP_FE TST,SR DISP,		;STUFF EXP, CHECK NEG OR LONG
U 0035, 0151,3502,0600,0000,2000,0705,0410	; 6342			ARX_ARX*BRX,AD/ANDCB	;CLEAR TRUNCATED FRACTION
						; 6343	
						; 6344	;HERE TO STORE RESULT AS A FUNCTION OF SINGLE OR LONG PRECISION
						; 6345	; AND POSITIVE OR NEGATIVE...
						;;6346	.IF/FPLONG
						;;6347	=001
						; 6348	.IFNOT/FPLONG
						; 6349	=0*1
						; 6350	.ENDIF/FPLONG
U 0151, 0066,4001,0000,0000,0005,1633,0000	; 6351	SRND5:	SR_0,B WRITE,J/ST6		;POS & NOT LONG
						;;6352	.IF/FPLONG
						;;6353	SLNG3:	AC0_AR,AR_0S,SC_#,#/27.,J/SLNG4	;STORE HIGH PART OF LONG ANS
						; 6354	.ENDIF/FPLONG
U 0155, 0066,5143,7000,0000,0025,1633,0000	; 6355		AR_-AR,SR_0,B WRITE,J/ST6	;NEG & NOT LONG
						;;6356	.IF/FPLONG
						;;6357		AR_-AR LONG,J/SLNG3		;LONG NEG, MAKE IT SO
						;;6358	
						;;6359	SLNG4:	AR_SHIFT,I FETCH
						;;6360		AR0-8_FE-SC,BYTE DISP,		;TEST FOR EXP UNDERFLOW
						;;6361			SKP AR EQ		; OR LOW WORD ZERO
						;;6362	
						;;6363	=110
						; 6364	.ENDIF/FPLONG
U 1656, 0251,0001,0000,0000,0000,1610,0000	; 6365	STRAC1:	SR_0,J/STAC1			;PUT AWAY LOW WORD OF LONG RESULT
						;;6366	.IF/FPLONG
						;;6367		AR_0S,SR_0,J/STAC1		;CLEAR LOW WORD IN AC1
						; 6368	.ENDIF/FPLONG
						; 6369	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 15
; FP.MIC[10,5351]	19:08 8-Oct-81			DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV

						; 6370	.TOC	"DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV"
						; 6371	
						; 6372		.DCODE
D 0110, 4000,1414				; 6373	110:	R,	B/0,	J/DFLOAT	;DFAD
D 0111, 4201,1414				; 6374		R,	B/2,	J/DFLOAT	;DFSB
D 0112, 4401,1414				; 6375		R,	B/4,	J/DFLOAT	;DFMP
D 0113, 4600,1414				; 6376		R,	B/6,	J/DFLOAT	;DFDV
						; 6377		.UCODE
						; 6378	
						; 6379	=0****00**0*
						; 6380	DFLOAT:	FE_EXP,EXP_SIGN,SC/SCAD,MQ_0.S,
						; 6381			VMA_VMA+1,LOAD ARX,
U 1414, 0736,4001,0000,0203,1013,3662,0300	; 6382			CALL.S,J/XFERW		;GET LOW WORD
U 1416, 0460,3701,0500,0000,0000,0033,0000	; 6383		ARX_ARX*2,B DISP		;LOW BIT 0 IGNORED
						; 6384	=
						; 6385	=00*
U 0460, 0240,3240,5061,0000,0020,0010,0000	; 6386	DFAS:	BR_AR LONG,AR_AC1*2,J/DFAS1	;MEM OP READY, GET AC OP
						; 6387	
U 0462, 0460,5163,7700,0000,0020,0027,0000	; 6388		AR_-AR LONG,J/DFAS		;DFSB, NEGATE AND ADD
						; 6389	
						; 6390	.IF/MODEL.B
						; 6391		BR_AR LONG,GEN ARX,SKP AD NE,	;[241]HERE FOR DOUBLE FLT MUL
U 0464, 2240,3713,0060,0301,0020,5610,0756	; 6392			FE_#,#/-18.,J/DFMP	;[241]BEGIN TEST FOR STICKY BIT
						;;6393	.IFNOT/MODEL.B
						;;6394		AR_AC1,BR_AR LONG,		;HERE FOR DBL FLOATING MUL
						;;6395			FE_#,#/-18.,J/DFMP
						; 6396	.ENDIF/MODEL.B
						; 6397	
						; 6398		GEN AR*AC0,AD/XOR,SKP AD0,	;DFDV.  WILL QUO BE NEG?
						; 6399			BR_AR LONG,		;SAVE D'SOR IN BR, BRX
U 0466, 1340,3100,0060,3022,0020,5510,0000	; 6400			SC_FE-1,J/DFDV
						; 6401	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 16
; FP.MIC[10,5351]	19:08 8-Oct-81			DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV

						; 6402	;HERE FOR DFAD AND DFSB
						; 6403	; MEM OPERAND IS IN BR (NEGATED IF DFSB)
						; 6404	; FE AND SC HAVE ITS EXPONENT
						; 6405	
						; 6406	=0*0
U 0240, 1722,3200,2400,0000,1020,0050,0000	; 6407	DFAS1:	ARX_AR,AR_AC0,CALL,J/EXPD	;AC OPERAND IN PLACE
						; 6408	=1*0
						; 6409	DFAS2:	ARX_AR,AR_SIGN,			;GET SHIFTED HIGH WORD
						; 6410			GEN #+SC,#/-36.,	;IS ANY SHIFT REQUIRED?
U 0244, 2222,5401,2400,2300,1020,5116,0734	; 6411			SKP SCAD0,J/DFAS3
						; 6412		ARX_AR,AR_SIGN,			;DIFF IS > 36
U 0245, 2220,5401,2400,2302,1020,5116,0044	; 6413			SC_#+SC,#/36.,SKP SCAD0	;CHECK FOR >72
						; 6414	.IF/MODEL.B
						; 6415	=0	AC0_AR,MQ_SHIFT,AR_ARX (ADX),
U 2220, 1702,3721,6310,0000,0000,1010,0000	; 6416			ARX/MQ,J/DFAS6		;[241]36 < DIFF < 72
						;;6417	.IFNOT/MODEL.B
						;;6418	=0	AC0_AR,MQ_SHIFT,AR_ARX (ADX),
						;;6419			ARX/MQ,J/DFAS4		;36 < DIFF < 72
						; 6420	.ENDIF/MODEL.B
						; 6421		AR_BR,ARL/AD,ARX_BRX,		;DIFF >72
U 2221, 1326,3202,2600,0000,0001,0010,0102	; 6422			MQ_0.M,J/DNTRY		;NORMALIZE LARGER OP
						; 6423	=0
						; 6424	DFAS3:	AR_ARX,ARL/SH,ARX/MQ,		;NO SHIFT REQUIRED
U 2222, 1677,4001,4300,0000,2001,0010,0104	; 6425			MQ_0.M,J/DFAS5
U 2223, 1661,0001,4000,0000,0000,0010,0000	; 6426		AR_SHIFT			;BEGIN SHIFTING SMALLER OP
U 1661, 1665,4001,4300,0000,2000,1010,0000	; 6427		AC0_AR,AR_ARX,ARX/MQ		;HI PART TO AC
						; 6428		MQ_SHIFT,AR_ARX (ADX),		;MID PART TO MQ
U 1665, 1671,3701,6010,0000,0000,0510,0000	; 6429			CLR ARX			;SHIFT ZEROS IN FROM RIGHT
U 1671, 1677,3240,2310,0000,0020,0010,0000	; 6430	DFAS4:	MQ_SHIFT,ARX/MQ,AR_AC0		;ALL PIECES NOW IN PLACE
						; 6431	DFAS5:	AR_AR+BR,ARX/ADX,SC_#,#/4,	;HERE WHEN OPERANDS ALIGNED
U 1677, 1360,0602,2600,0302,0060,0035,0004	; 6432			NORM,J/DNORM		;ADD, AND NORMALIZE RESULT
						; 6433	.IF/MODEL.B
U 1702, 1704,3721,2010,0000,0000,0010,0000	; 6434	DFAS6:	MQ_SHIFT,AR_MQ			;[241]GET H,L, PUT S,H IN AR
U 1704, 1706,3441,4201,0000,2000,1010,0000	; 6435		AC1_AR,AR_ARX,ARX_0S		;[241]STORE S,H
U 1706, 1720,3200,4201,0000,0020,0010,0000	; 6436		ARX_AC1,AR_SHIFT		;[241]GET L,0, GET S,H BACK
U 1720, 2230,3703,0000,0000,0020,5610,0000	; 6437		GEN AR,SKP AD NE		;[241]TEST FOR 0'S,
U 2230, 1677,3200,2000,0000,0020,1610,0040	; 6438	=0	CLR SR3,AR_AC0,J/DFAS5		;[241]DO 2'S COMP, ALL IN PLACE
U 2231, 1677,3200,2000,0000,0020,1610,0061	; 6439		SET SR3,AR_AC0,J/DFAS5		;[241]DO 1'S COMP, ALL IN PLACE
						; 6440	.ENDIF/MODEL.B
						; 6441	
						; 6442	;SUBROUTINE TO CHOOSE OPERAND WITH SMALLER EXPONENT, AND
						; 6443	; PREPARE FOR SHIFTING IT.
						; 6444	; ENTER WITH ONE OPERAND FRACTION IN BR, ITS EXPONENT IN FE & SC,
						; 6445	; THE OTHER OP IN AR WITH ITS EXPONENT IN AR0-8
						; 6446	; RETURN THE LARGER EXPONENT IN FE, AND 36-(MAGNITUDE OF DIFFERENCE)
						; 6447	; IN SC.  RETURN 4 IF SC POSITIVE, 5 IF NEGATIVE.
						; 6448	
U 1722, 2232,4001,0000,5202,1020,5122,0200	; 6449	EXPD:	SC_EXP-SC,EXP_SIGN,SKP SCAD0	;COMPARE MAGNITUDES
						; 6450	=0	AR_BR,ARX_BRX,BR/AR,BRX/ARX,	;AC OP IS LARGER MAGNITUDE
U 2232, 1726,3202,2660,2001,0000,0010,0000	; 6451			FE_FE+SC,J/EXPD1	;ITS EXP TO FE
						; 6452		MQ_ARX,SC_#+SC,#/36.,		;CHECK FOR EXP DIFF > 36
U 2233, 0004,4001,0010,2302,2020,5103,0044	; 6453			SKP SCAD0,RETURN4
						; 6454	EXPD1:	MQ_ARX,SC_#-SC,#/36.,		;AC EXP .GE. MEM
U 1726, 0004,0001,0010,5302,2020,5103,0044	; 6455			SKP SCAD0,RETURN4	;SHIFT MEM OP
						; 6456	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 17
; FP.MIC[10,5351]	19:08 8-Oct-81			DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV

						; 6457	;DFMP
						; 6458	; DO TESTS FOR STICKY BITS FIRST THEN
						; 6459	; GET HERE WITH MEM OPERAND (M'CAND) IN BR!BRX
						; 6460	; AR HAS (AC1), LOW HALF OF M'IER
						; 6461	
						; 6462	.IF/MODEL.B
						; 6463	=0
U 2240, 0470,3200,2001,0000,0020,0010,0000	; 6464	DFMP:	AR_AC1,J/DFMP1			;NO STICKY BIT
U 2241, 2242,3200,2001,0000,0020,5610,0000	; 6465		AR_AC1,SKP AD NE		;GET AC LOW AND TEST
U 2242, 0470,4001,0000,0000,0000,0010,0000	; 6466	=0	J/DFMP1				;NO STICKY BIT
U 2243, 0470,4001,0000,0000,0000,1610,0061	; 6467		SET SR3				;WORRY ABOUT IT IN NORM
						; 6468	=00*
						; 6469	DFMP1:	MQ_AR,AR_0S,ARX_0S,		;SETUP LOW M'IER
						; 6470			SC_#+SC,#/-200,		;CORRECT EXPONENT
U 0470, 1442,3441,2210,2302,1000,0050,0600	; 6471			CALL,J/MULREE		;MULTIPLY BY THE LOW PART
						;;6472	.IFNOT/MODEL.B
						;;6473	=00*
						;;6474	DFMP:	MQ_AR,AR_0S,ARX_0S,		;SETUP LOW M'IER
						;;6475			SC_#+SC,#/-200,		;CORRECT EXPONENT
						;;6476			CALL,J/MULREE		;MULTIPLY BY THE LOW PART
						; 6477	.ENDIF/MODEL.B
U 0474, 0476,0602,2600,0000,0020,0027,0000	; 6478	=10*	AR_AR+BR LONG			;OOPS, LOW SIGN WAS SET
U 0476, 1745,3240,2010,0301,1020,0010,0762	; 6479		MQ_AR,AR_AC0,FE_#,#/-14.	;READY TO CONTINUE WITH HIGH PART
						; 6480	
						; 6481	;HERE TO USE HIGH MULTIPLIER
						; 6482	
						; 6483		SC_EXP+SC,EXP_SIGN.M,		;EXTRACT EXP FROM HIGH WORD
U 1745, 1322,4001,0000,2202,1001,4510,0200	; 6484			SKP AR0			;CHECK FOR NEG M'IER
						; 6485	=010
U 1322, 1442,3723,2010,0000,1000,0050,0000	; 6486	DFMP2:	MQ_AR,AR_MQ,CALL,J/MULREE	;GO BACK IN FOR HIGH PART
U 1323, 1322,4001,0000,4400,2001,0010,0200	; 6487		EXP_1,J/DFMP2			;OOPS, NEG, MOVE SIGN TO BIT 8
						; 6488	=110
U 1326, 1360,3703,0000,0302,0040,0035,0004	; 6489	DNTRY:	SC_#,#/4,GEN AR,NORM,J/DNORM	;NORMALIZE THE ANSWER
						; 6490	=
						; 6491	
						; 6492	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 18
; FP.MIC[10,5351]	19:08 8-Oct-81			DOUBLE FLOATING ARITHMETIC -- DFAD, DFSB, DFMP, DFDV

						; 6493	
						; 6494	;DFDV
						; 6495	; GET HERE WITH DIVISOR IN BR!BRX, ITS EXP-1 IN SC
						; 6496	; SKIP IF D'SOR AND D'END SIGNS DIFFER
						; 6497	
						; 6498	=000
U 1340, 0330,3200,5001,0000,0020,0050,0000	; 6499	DFDV:	AR_AC1*2,CALL,J/DFDV1		;GET LOW D'END, GO START DIVIDE
						; 6500	.IF/MODEL.B
U 1341, 0330,3200,5001,0000,0020,1650,0062	; 6501		SET SR2,AR_AC1*2,CALL,J/DFDV1	;NOTE NEG QUO
						;;6502	.IFNOT/MODEL.B
						;;6503		SR_1,AR_AC1*2,CALL,J/DFDV1	;NOTE NEG QUO
						; 6504	.ENDIF/MODEL.B
						; 6505	
						; 6506	=011	AC1_AR,AR_MQ,ARL/AD,FE_FE+1,	;HERE FROM DDVSUB. NEW STEP CNT
U 1343, 0523,3723,2001,4001,0001,1050,0102	; 6507			MQ_0.M,CALL.M,J/DIV+	; SAVE HIGH QUO, RESUME
						; 6508	=101	AC1_AR,AR_MQ,ARL/AD,FE_FE+1,
U 1345, 0522,3721,2001,4001,0001,1050,0102	; 6509			MQ_0.M,CALL.M,J/DIV-
						; 6510	
						; 6511	=111	AR_AC1,ARX/MQ,SC_#,#/4,		;POSITIVE QUOTIENT TO AR LONG
U 1347, 1360,3200,2301,0302,0040,0035,0004	; 6512			NORM,J/DNORM		;NORMALIZE AND ROUND
						; 6513	
						; 6514	=00
						; 6515	DFDV1:	ARX_AR,AR_AC0,SKP AD0,		;TEST DIVIDEND SIGN
						; 6516			FE_#,#/26.,		;SETUP COUNT FOR HIGH QUO
U 0330, 2150,3200,2400,0301,1020,5550,0032	; 6517			CALL,J/FDVCHK		;GO CHECK DIVIDABILITY
U 0332, 1062,4001,0000,0000,0000,4210,0000	; 6518	=10	SKP BR0,J/DDVSUB		;BEGIN DIVISION (RETURN ABOVE)
U 0333, 0066,4001,0000,0000,0000,1110,0624	; 6519		SET FL NO DIV,J/IFNOP		;ABORT THE DIVISION
						; 6520	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 19
; FP.MIC[10,5351]	19:08 8-Oct-81			DOUBLE PRECISION NORMALIZATION				

						; 6521	.TOC	"DOUBLE PRECISION NORMALIZATION"
						; 6522	
						; 6523	=000
U 1360, 2246,3723,0000,0302,0040,5427,0043	; 6524	DNORM:	SKP ARX+MQ NE,SC_#,#/35.,J/DNZERO	;AR=0
						; 6525	.IF/MODEL.B
						; 6526		BR/AR,BRX/ARX,AR_MQ COMP,	;RESULT NEG, MAKE POS
U 1361, 1766,2021,2060,0000,0000,1610,0062	; 6527			SET SR2,J/DNNEG		;[241]FLAG NEGATIVE
						;;6528	.IFNOT/MODEL.B
						;;6529		BR/AR,BRX/ARX,AR_MQ COMP,	;RESULT NEG, MAKE POS
						;;6530			SR_1,J/DNNEG		;FLAG NEGATIVE
						; 6531	.ENDIF/MODEL.B
						; 6532		AR_AR*.25 LONG,MQ_MQ*.25,
U 1362, 1770,3701,7710,2031,0000,0012,0004	; 6533			FE_FE+#,#/4,J/DNHI	;MSB IN AR 1-6
						; 6534		AR_AR*.25 LONG,
U 1363, 1365,3701,7700,2031,0000,0010,0002	; 6535			FE_FE+#,#/2,J/DROUND	;MSB IN AR7
U 1364, 1365,0301,7700,4001,0020,0027,0000	; 6536		AR_AR*.5 LONG,FE_FE+1		;MSB IN AR8
						; 6537	DROUND:	AR_AR+1,ARX/ADX,NORM,		;MSB IS AR9, RIGHT ON
U 1365, 1146,4003,2600,0302,0060,0035,0043	; 6538			SC_#,#/35.,J/DRND1
U 1366, 1365,3701,5500,3001,0000,0710,0001	; 6539		(AR+ARX+MQ)*2,FE_FE-1,J/DROUND	;MSB IN AR10
U 1367, 1752,0001,4000,5001,0000,0010,0000	; 6540		AR_SHIFT,FE_FE-SC		;SOMEWHERE IN AR 11-35
						; 6541	
U 1752, 1756,0001,4340,0000,2000,0010,0000	; 6542	DNSHFT:	BR/AR,AR_ARX,ARX/MQ		;SHIFT THE WHOLE THING
U 1756, 1761,3701,6010,0000,0000,0510,0000	; 6543		MQ_SHIFT,AR_ARX (ADX),CLR ARX
						; 6544		MQ_SHIFT,ARX/MQ,AR_BR,SC_#,#/10.,
U 1761, 1360,3202,2310,0302,0040,0035,0012	; 6545			NORM,J/DNORM		;GIVE IT ANOTHER GO
						; 6546	
						; 6547	.IF/MODEL.B
U 1766, 0356,0001,0000,0000,0000,0005,0000	; 6548	DNNEG:	SR DISP				;[241]TEST FOR 1'S COMP
U 0356, 2244,4003,2000,0000,0040,5410,0000	; 6549	=1110	AR_AR+1,SKP CRY0,J/DNNEG1	;[241]COMPLETE NEGATION OF MQ
						; 6550		MQ_AR,AR_BR COMP,ARX_BRX COMP,
U 0357, 1360,2502,2610,0000,1040,0035,0000	; 6551			NORM,J/DNORM		;NORMALIZE THE POS FORM
						; 6552	=0
						; 6553	DNNEG1:	MQ_AR,AR_BR COMP,ARX_BRX COMP,
U 2244, 1360,2502,2610,0000,1040,0035,0000	; 6554			NORM,J/DNORM		;NORMALIZE THE POS FORM
U 2245, 1360,5142,2610,0000,1060,0035,0000	; 6555		MQ_AR,AR_-BR,ARX/ADX,NORM,J/DNORM
						;;6556	.IFNOT/MODEL.B
						;;6557	DNNEG:	AR_AR+1,SKP CRY0		;COMPLETE NEGATION OF MQ
						;;6558	=0	MQ_AR,AR_BR COMP,ARX_BRX COMP,
						;;6559			NORM,J/DNORM		;NORMALIZE THE POS FORM
						;;6560		MQ_AR,AR_-BR,ARX/ADX,NORM,J/DNORM
						; 6561	.ENDIF/MODEL.B
						; 6562	
U 1770, 1326,3703,7710,0000,0000,0710,0001	; 6563	DNHI:	(AR+ARX+MQ)*.25,J/DNTRY		;GO TRY AGAIN
						; 6564	
						; 6565	=0
U 2246, 0255,3401,2200,0000,0000,1610,0000	; 6566	DNZERO:	SR_0,AR_0S,ARX_0S,J/DBLST	;RESULT = 0, STORE THAT
U 2247, 1752,0001,4000,5001,0000,0010,0000	; 6567		AR_SHIFT,FE_FE-SC,J/DNSHFT	;NOT ZERO, SHIFT AND TRY AGAIN
						; 6568	
						; 6569	=110
U 1146, 1147,0303,7700,4001,0020,0027,0000	; 6570	DRND1:	AR_AR*.5 LONG,FE_FE+1		;ROUNDING BLEW THE NORM, GO RIGHT
						; 6571		EXP_FE TST,SR DISP,CLR MQ,	;STUFF EXP IN, CHECK RESULT SIGN
U 1147, 0375,4041,0220,0000,2020,0705,0413	; 6572			BRX/ARX,ARX_1		;READY IF NEGATION NECESSARY
						; 6573	
						; 6574	.IF/MODEL.B
						; 6575	=1101					;[241]
						;;6576	.IFNOT/MODEL.B
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 19-1
; FP.MIC[10,5351]	19:08 8-Oct-81			DOUBLE PRECISION NORMALIZATION				

						;;6577	=0
						; 6578	.ENDIF/MODEL.B
						; 6579		AC0_AR,AR_SHIFT,ARX_BRX,	;STORE HIGH WORD, READY LOW
U 0375, 0246,3242,4600,0000,0217,1010,0000	; 6580			I FETCH,J/STD1
						; 6581	.IF/XADDR
						; 6582		ARX_ARX*BRX,AD/ANDCA,SR_0,	;CLEAR ROUNDING BIT
U 0377, 2761,3002,0604,0000,0000,1610,0000	; 6583			J/CDBLST
						;;6584	.IFNOT/XADDR
						;;6585		ARX_ARX*BRX,AD/ANDCA,SR_0	;CLEAR ROUNDING BIT
						;;6586		AR_-AR LONG,J/DBLST		;NEGATE RESULT AND STORE
						; 6587	.ENDIF/XADDR
						; 6588	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; BYTE.MIC[10,5351]	15:09 9-Aug-83			BYTE GROUP -- IBP, ILDB, LDB, IDPB, DPB			

						; 6589	.TOC	"BYTE GROUP -- IBP, ILDB, LDB, IDPB, DPB"
						; 6590	
						; 6591		.DCODE
						; 6592	;133:	R,		J/IBP		;OR ADJBP
D 0134, 6000,0310				; 6593	134:	RW,		J/ILDB		;CAN'T USE RPW BECAUSE OF FPD
D 0135, 4000,0314				; 6594		R,		J/LDB		;
D 0136, 6000,0400				; 6595		RW,		J/IDPB		;
D 0137, 4000,0404				; 6596		R,		J/DPB		;
						; 6597		.UCODE
						; 6598	
						; 6599	;ALL FIVE INSTRUCTIONS OF THIS GROUP ARE CALLED WITH THE BYTE POINTER
						; 6600	;IN THE AR.  ALL INSTRUCTIONS SHARE COMMON SUBROUTINES, SO THAT
						; 6601	;THE 10/11 INTERFACE AND STRING MAY ALSO USE THESE SUBROUTINES
						; 6602	
						; 6603	=0****00*000
						; 6604	.IFNOT/OWGBP
						; 6605	ILDB:	BR/AR,P_P-S,BYTE DISP,		;START IBP
U 0310, 1420,4001,0040,5110,3021,0074,0200	; 6606			CALL.M,J/IBPS		;AND CALL SUBR
						; 6607	=100
						;;6608	.IFNOT/XADDR
						;;6609	LDB:	ARX_AR,SC_P,CALL,J/BYTEA	;BEGIN EA COMPUTATION
						; 6610	.IF/XADDR
						; 6611	LDB:	ARX_AR,SC_P,BYTE DISP,
U 0314, 1444,4001,0400,0102,1020,0074,0000	; 6612			CALL,J/BYTEA		;BEGIN EA COMPUTATION
						; 6613	.ENDIF/XADDR
U 0315, 2260,0001,0000,2002,0000,0050,0000	; 6614		SC_FE+SC,CALL,J/LDB1		;SC_P+S WHILE LOADING AR
U 0317, 0075,4001,0000,0000,0217,1014,0000	; 6615	=111	AC0_AR,CLR FPD,I FETCH,J/NOP	;DONE
						; 6616	=
						;;6617	.IF/OWGBP				;[265][251]
						;;6618	ILDB:	SKP PC SEC0,CALL,J/GTST		;TEST FOR NOT SEC 0 AND OWGBP [266]
						;;6619		BR/AR,J/ILDB0			; NO, CONTINUE
						;;6620		BYTE PREV & CLR SR3,
						;;6621			CALL [GBYTE]		;[255]YES, ENA PREVIOUS
						;;6622		GEN AR, EXT BYTE READ,		;GET BYTE
						;;6623			SR_#, J/LDB01		;[255]ALLOW PREVIOUS ENABLE.
						;;6624	=100
						;;6625	LDB:	SKP PC SEC0,CALL,J/GTST		;TEST FOR NOT SEC 0 AND OWGBP [266]
						;;6626		ARX_AR,BR/AR,J/LDB0		;NO, CONTINUE
						;;6627		BYTE PREV & SET SR3,
						;;6628			CALL [GBYTE]		;[255]YES, ENA PREVIOUS
						;;6629		GEN AR,EXT BYTE READ,		;GET BYTE
						;;6630			SR_#, J/LDB01		;[255]ALLOW PREVIOUS ENABLE.
						;;6631	=
						;;6632	=000
						;;6633	ILDB0:	P_P-S,BYTE DISP,
						;;6634			CALL.M,J/IBPS		;START IBP
						;;6635	=100
						;;6636	LDB0:	ARX_AR,SC_P,BYTE DISP,
						;;6637			CALL,J/BYTEA		;DO EA COMP
						;;6638	LDB01:	SC_FE+SC,CALL,J/LDB1		;SC_P+S WHILE LOAD AR
						;;6639	=111	AC0_AR,CLR FPD,I FETCH,J/NOP	;DONE
						;;6640	
						;;6641	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; BYTE.MIC[10,5351]	15:09 9-Aug-83			BYTE GROUP -- IBP, ILDB, LDB, IDPB, DPB			

						;;6642	
						;;6643	=0
						;;6644	GBYTE:	BR/AR,CALL,J/CNV2WD		;CONVERT TO A 2WD FORMAT
						;;6645		SC_P,SR DISP			;SAVE P, INC POINTER ?
						;;6646	=1110	AR_BR,BYTE DISP,CALL,J/INC2WD	;YES, (INC ADDR) AND STORE
						;;6647		AR_BR,RETURN1			;[335] NO, GET whole ADDRESS
						;;6648	=0
						;;6649	GTST:	SC_P-#,#/45, SKP SCAD0,J/GTST1	;TEST FOR ONE WORD GLOBAL [265]
						;;6650		RETURN1				;NOT IN SEC 0
						;;6651	=0
						;;6652	GTST1:	BR/AR,RETURN2			;DO OWG CODE
						;;6653		RETURN1				;NOT OWG
						; 6654	.ENDIF/OWGBP				;[265][251]
						; 6655	=
						; 6656	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; BYTE.MIC[10,5351]	15:09 9-Aug-83			BYTE GROUP -- IBP, ILDB, LDB, IDPB, DPB			

						; 6657	
						; 6658	=0****00*000
						; 6659	.IFNOT/OWGBP				;[265]
						; 6660	IDPB:	BR/AR,P_P-S,BYTE DISP,		;START IBP
U 0400, 1420,4001,0040,5110,3021,0074,0200	; 6661			CALL.M,J/IBPS		
						; 6662	=100
						;;6663	.IFNOT/XADDR
						;;6664	.IFNOT/SMP
						;;6665	DPB:	ARX_AR,SC_P,CALL,J/BYTEA	;COMPUTE EFFECTIVE BYTE ADDR
						;;6666	.IF/SMP
						;;6667	DPB:	ARX_AR,SC_P,CALL,J/BYTEAP	;COMPUTE EFFECTIVE BYTE ADDR
						;;6668	.ENDIF/SMP
						; 6669	.IF/XADDR
						;;6670	.IFNOT/SMP				;[324]
						;;6671	DPB:	ARX_AR,SC_P,BYTE DISP,
						;;6672			CALL,J/BYTEA		;COMPUTE EFFECTIVE BYTE ADDR
						; 6673	.IF/SMP					;[324]
						; 6674	DPB:	ARX_AR,SC_P,BYTE DISP,		;[324] SMP. Must interlock
U 0404, 1464,0001,0400,0102,1020,0074,0000	; 6675			CALL,J/BYTEAP		;COMPUTE EFFECTIVE BYTE ADDR
						; 6676	.ENDIF/SMP				;[324]
						; 6677	.ENDIF/XADDR
						; 6678	=101
						; 6679		AR_AC0,TIME/3T,SC_#-SC,#/36.,	;COMPUTE 36-P
U 0405, 2266,3200,2000,5302,0020,5150,0044	; 6680			CALL,SKP SCAD0,J/DPB1	;CALL DEPOSITOR
						; 6681	=111
U 0407, 0020,4001,0003,0000,0217,0010,0000	; 6682	BFIN:	FIN STORE,I FETCH,J/CLRFPD	;DONE
						;;6683	.IF/OWGBP				;[265][251]
						;;6684	IDPB:	SKP PC SEC0,CALL,J/GTST		;TEST FOR NOT SEC 0 AND OWGBP [266]
						;;6685		BR/AR,J/IDPB0			; NO, CONTINUE
						;;6686		BYTE PREV & CLR SR3,
						;;6687			CALL [GBYTE]		;[255]YES, ENA PREVIOUS
						;;6688		GEN AR, EXT BYTE READ,		;GET BYTE
						;;6689			J/DPB01
						;;6690	=100
						;;6691	DPB:	SKP PC SEC0,CALL,J/GTST		;TEST FOR NOT SEC 0 AND OWGBP [266]
						;;6692		ARX_AR,BR/AR,J/DPB0		;NO, CONTINUE
						;;6693		BYTE PREV & SET SR3,
						;;6694			CALL [GBYTE]		;[255]YES, ENA PREVIOUS
						;;6695		GEN AR,EXT BYTE READ,		;GET BYTE
						;;6696			J/DPB01			;[256]
						;;6697	=
						;;6698	=000
						;;6699	IDPB0:	P_P-S,BYTE DISP,		;START IBP
						;;6700			CALL.M,J/IBPS
						;;6701	=100
						;;6702	.IF/SMP
						;;6703	DPB0:	ARX_AR,SC_P,BYTE DISP,
						;;6704			CALL,J/BYTEAP		;DO EA COMP
						;;6705	.IFNOT/SMP
						;;6706	DPB0:	ARX_AR,SC_P,BYTE DISP,
						;;6707			CALL,J/BYTEA		;DO EA COMP
						;;6708	.ENDIF/SMP
						;;6709	DPB01:	AR_AC0,TIME/3T,SC_#-SC,#/36.,	;COMPUTE 36-P
						;;6710			CALL,SKP SCAD0,J/DPB1	;CALL DEPOSITOR
						;;6711	=111
						;;6712	BFIN:	FIN STORE,I FETCH,J/CLRFPD	;DONE
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3-1
; BYTE.MIC[10,5351]	15:09 9-Aug-83			BYTE GROUP -- IBP, ILDB, LDB, IDPB, DPB			

						; 6713	.ENDIF/OWGBP				;[265][251]
						; 6714	=
						; 6715	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4
; BYTE.MIC[10,5351]	15:09 9-Aug-83			INCREMENT BYTE POINTER SUBROUTINE			

						; 6716	.TOC	"INCREMENT BYTE POINTER SUBROUTINE"
						; 6717	
						; 6718	;THIS SUBROUTINE IS CALLED BY THE INSTRUCTIONS ILDB, IDPB AS
						; 6719	;WELL AS THE MICROCODED 10/11 INTERFACE HANDLER.
						; 6720	;CALL WITH BYTE DISP TESTING FPD AND SIGN OF P-S
						; 6721	;[TIME=2+2(BP OVFLO)]
						; 6722	
						;;6723	.IFNOT/XADDR
						;;6724	=010					;BR12 IRELEVANT
						;;6725	IBPS:	STORE,RETURN4			;SIMPLE, NO OVERFLOW
						;;6726		FE_#,#/36.,GEN AR+1,TIME/2T,	;HERE IF OVRFLO OF WORD
						;;6727			ARX_AR,J/NXTWRD
						;;6728		AR_BR,RETURN4			;FPD WAS SET, RESTORE AR
						;;6729		AR_BR,RETURN4			; AND CONVERT TO LDB OR DPB
						;;6730						;TEST BR12 ONLY
						;;6731	NXTWRD:	AR_AR+1,P_FE-S,STORE,
						;;6732			TIME/2T,RETURN4
						;;6733	
						;;6734	
						;;6735	.TOC	"BYTE EFFECTIVE ADDRESS EVALUATOR - NO XADDR"
						;;6736	
						;;6737	;ENTER WITH POINTER IN AR, ARX, AND BR
						;;6738	;RETURN1 WITH (EA) LOADING INTO AR AND ARX,
						;;6739	;FPD SET, P IN SC, AND S IN FE
						;;6740	;[TIME=4+1(INDEXED)+?(INDIRECT)]
						;;6741	
						;;6742	BYTEA:	MEM_AR,FE_S,SET FPD,		;PUT AWAY UPDATED POINTER
						;;6743			EA MOD DISP		;EVAL BP ADDR
						;;6744	=1100
						;;6745	BFETCH:	GEN ARX,BYTE READ,RETURN1	;START DATA FETCH
						;;6746		GEN ARX+XR,BYTE READ,RETURN1	;ADDRESS IS INDEXED
						;;6747		GEN ARX,BYTE INDRCT,J/BYTEI	;DO INDIRECT
						;;6748		GEN ARX+XR,BYTE INDRCT,J/BYTEI	;INDIRECT INDEXED!!!
						;;6749	
						;;6750	BYTEI:	ARX_MEM,SKP INTRPT		;WAIT FOR INDIRECT WORD
						;;6751	=0	EA MOD DISP,J/BFETCH		;PROCEED IN ADDR EVAL
						;;6752		SR DISP,J/CLEAN			;INTERRUPTED, CLEAN UP AS REQ'D
						;;6753	.IF/SMP
						;;6754	BYTEAP:	MEM_AR,FE_S,SET FPD,		;PUT AWAY UPDATED POINTER
						;;6755			EA MOD DISP		;EVAL BP ADR
						;;6756	
						;;6757	=1100
						;;6758	BFETCHP:GEN ARX,BYTE RPW,RETURN1	;START DATA FETCH.  RPW CYCLE
						;;6759		GEN ARX+XR,BYTE RPW,RETURN1	;ADDRESS IS INDEXED
						;;6760		GEN ARX,BYTE INDRCT,J/BYTEIP	;DO INDIRECT
						;;6761		GEN ARX+XR,BYTE INDRCT,J/BYTEIP	;INDIRECT INDEXED!!!
						;;6762	
						;;6763	BYTEIP:	ARX_MEM,SKP INTRPT		;WAIT FOR INDIRECT WORD
						;;6764	=0	EA MOD DISP,J/BFETCHP		;[231] PROCEED IN ADR EVAL
						;;6765		SR DISP,J/CLEAN			;INTERRUPTED.  CLEAN UP AS REQ'D
						;;6766	.ENDIF/SMP
						; 6767	.IF/XADDR
						; 6768	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5
; BYTE.MIC[10,5351]	15:09 9-Aug-83			INCREMENT BYTE POINTER SUBROUTINE			

						; 6769	;IBP SUBROUTINE
						; 6770	; CALL WITH BP IN AR, P_P-S, BYTE DISP
						; 6771	
						; 6772	=000
U 1420, 0004,0001,0000,0000,0016,0003,0000	; 6773	IBPS:	STORE,RETURN4			;SIMPLE CASE
						; 6774		FE_#,#/36.,GEN AR+1,TIME/2T,	;POINTER OVERFLOW, B12=0
U 1421, 2250,4003,0000,0301,0000,0010,0044	; 6775			J/NXTWRD
U 1422, 0004,0001,0000,0000,0016,0003,0000	; 6776		STORE,RETURN4			;B12=1 BUT NO OVERFLOW
						; 6777		FE_#,#/36.,GEN AR+1,TIME/2T,	;OVERFLOW, B12=1
U 1423, 2250,4001,0000,0301,0000,7510,0044	; 6778			SKP -VMA SEC0,J/NXTWRD
U 1424, 0004,3242,2000,0000,0000,0003,0000	; 6779		AR_BR,RETURN4
U 1425, 0004,3242,2000,0000,0000,0003,0000	; 6780		AR_BR,RETURN4
U 1426, 0004,3242,2000,0000,0000,0003,0000	; 6781		AR_BR,RETURN4
U 1427, 0004,3242,2000,0000,0000,0003,0000	; 6782		AR_BR,RETURN4
						; 6783	=0
						; 6784	NXTWRD:	P_FE-S,AR_AR+1,TIME/2T,		;SINGLE WORD BP
U 2250, 0004,4001,2000,5010,3016,0603,0200	; 6785			STORE,RETURN4
U 2251, 1776,4001,0000,5010,3012,3622,0200	; 6786		VMA_VMA+1,LOAD AR,P_FE-S.S	;DOUBLE... GET OTHER HALF
U 1776, 2027,3200,0403,0000,1022,0010,0000	; 6787		ARX_AR,AR_MEM
U 2027, 2252,4003,2040,0102,0020,4510,0000	; 6788		SC_P,SKP AR0,BR/AR,AR_AR+1	;IFIW OR EFIW?
U 2252, 2033,0001,0000,2400,3016,0110,0000	; 6789	=0	P_SC#,STORE,J/NXTW2		;EFIW, CARRY STOPS AT B6
U 2253, 2033,3242,0000,0000,0016,0610,0002	; 6790		ARL_BRL,STORE			;IFIW, CARRY STOPS AT B18
						; 6791	NXTW2:	FIN STORE,AR_ARX,
U 2033, 0004,0001,4003,0000,2016,3503,0000	; 6792			VMA_VMA-1,STORE,RETURN4
						; 6793	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6
; BYTE.MIC[10,5351]	15:09 9-Aug-83			INCREMENT BYTE POINTER SUBROUTINE			

						; 6794	;HERE TO EVALUATE EFFECTIVE ADDRESS OF BYTE POINTER.
						; 6795	; ENTER AT BYTEA WITH BYTE DISP (SCAD0=0), EXCEPT FOR EXTENDED
						; 6796	; INSTRUCTION SET, WHICH MUST GET SECOND PART OF POINTER FROM
						; 6797	; AC AND MUST NOT SET FPD, AND THEREFORE ENTERS AT BFETCH (FOR
						; 6798	; SINGLE-WORD POINTERS) OR BYTEI (FOR LONG POINTERS).
						; 6799	
						; 6800	=100
						; 6801	BYTEA:	MEM_AR,FE_S,SET FPD,
U 1444, 0434,2341,0003,2411,0002,1136,0100	; 6802			EA MOD DISP,J/BFETCH
U 1445, 2034,0001,0000,2411,0011,3610,0610	; 6803		READ BP2,FE_S,J/BPART2		;GET SECOND WORD
U 1446, 1444,4001,0003,0000,0002,7510,0000	; 6804		MEM_AR,SKP -VMA SEC0,J/BYTEA	;B12=1.  OBEY IF NOT SEC0
						; 6805	=
						; 6806	=0000
						; 6807	BXA:	GEN ARX,GLOBAL,BYTE INDRCT,
U 0420, 2254,3711,0000,0000,1111,7010,0610	; 6808			SKP INTRPT,J/BYTEI
						; 6809		GEN ARX+XR,GLOBAL,BYTE INDRCT,
U 0421, 2254,0610,0002,0000,1131,7010,0610	; 6810			SKP INTRPT,J/BYTEI
						; 6811		GEN ARX,GLOBAL,BYTE INDRCT,
U 0422, 2254,3711,0000,0000,1111,7010,0610	; 6812			SKP INTRPT,J/BYTEI
						; 6813		GEN ARX+XR,GLOBAL,BYTE INDRCT,
U 0423, 2254,0610,0002,0000,1131,7010,0610	; 6814			SKP INTRPT,J/BYTEI
						; 6815	
U 0424, 0001,3711,0000,0000,1111,0003,0620	; 6816		GEN ARX,GLOBAL,BYTE READ,RETURN1
U 0425, 0001,0610,0002,0000,1131,0003,0620	; 6817		GEN ARX+XR,GLOBAL,BYTE READ,RETURN1
U 0426, 0001,3711,0000,0000,1111,0003,0620	; 6818		GEN ARX,GLOBAL,BYTE READ,RETURN1
U 0427, 0001,0610,0002,0000,1131,0003,0620	; 6819		GEN ARX+XR,GLOBAL,BYTE READ,RETURN1
						; 6820	
U 0430, 0170,0001,0000,0301,0000,0010,0024	; 6821		FE_#,#/24,J/PF24		;ILLEGAL FORMAT INDIRECT WORD
U 0431, 0170,0001,0000,0301,0000,0010,0024	; 6822		FE_#,#/24,J/PF24
U 0432, 0170,0001,0000,0301,0000,0010,0024	; 6823		FE_#,#/24,J/PF24
U 0433, 0170,0001,0000,0301,0000,0010,0024	; 6824		FE_#,#/24,J/PF24
						; 6825	
						; 6826	BFETCH:
U 0434, 0001,3701,0000,0000,0111,0003,0620	; 6827		GEN AR,BYTE READ,RETURN1
U 0435, 0001,0600,0002,4000,2131,0003,0620	; 6828		GEN AR+XR,INDEXED,BYTE READ,RETURN1
						; 6829		GEN AR,BYTE INDRCT,
U 0436, 2254,3701,0000,0000,0111,7010,0610	; 6830			SKP INTRPT,J/BYTEI
						; 6831		GEN AR+XR,INDEXED,BYTE INDRCT,
U 0437, 2254,0600,0002,4000,2131,7010,0610	; 6832			SKP INTRPT,J/BYTEI
						; 6833	
U 2034, 2254,4001,0000,0000,0000,1110,0100	; 6834	BPART2:	SET FPD				;SET BEFORE FAULTING
						; 6835	=0
U 2254, 2102,3240,0003,0000,0022,2510,0000	; 6836	BYTEI:	ARX_MEM,LONG EN,J/BYTEI2
U 2255, 0144,3200,0003,0000,0022,7710,0000	; 6837		ARX_MEM,TAKE INTRPT
U 2102, 0420,2341,4002,0000,2020,0036,0000	; 6838	BYTEI2:	AR_ARX,XR,EA MOD DISP,TIME/3T,J/BXA
						; 6839	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7
; BYTE.MIC[10,5351]	15:09 9-Aug-83			BYTE EFFECTIVE ADDRESS EVALUATOR FOR XADDR SMP LDB

						; 6840	.TOC	"BYTE EFFECTIVE ADDRESS EVALUATOR FOR XADDR SMP LDB"
						; 6841	
						; 6842	;
						; 6843	;	The following code segment is virtually identical to the preceding
						; 6844	;	hunk.  Unfortunately, in order to make DPB do an RPW interlock and
						; 6845	;	allow extended addressing, it is necessary to completely duplicate
						; 6846	;	the effective address evaluation code (as it exits from a 16 word
						; 6847	;	dispatch block).  Thus we waste gross amounts of microstore.  Ugh.
						; 6848	;
						; 6849	.IF/SMP					; [303]
						; 6850	=100
						; 6851	BYTEAP:	MEM_AR,FE_S,SET FPD,
U 1464, 0454,2341,0003,2411,0002,1136,0100	; 6852			EA MOD DISP,J/BFETCHP
U 1465, 2104,4001,0000,2411,0011,3610,0610	; 6853		READ BP2,FE_S,J/BPART2P		;GET SECOND WORD
U 1466, 1464,0001,0003,0000,0002,7510,0000	; 6854		MEM_AR,SKP -VMA SEC0,J/BYTEAP	;B12=1.  OBEY IF NOT SEC0
						; 6855	=
						; 6856	=0000
						; 6857	BXAP:	GEN ARX,GLOBAL,BYTE INDRCT,
U 0440, 2256,3713,0000,0000,1111,7010,0610	; 6858			SKP INTRPT,J/BYTEIP
						; 6859		GEN ARX+XR,GLOBAL,BYTE INDRCT,
U 0441, 2256,0610,0002,4000,1131,7010,0610	; 6860			SKP INTRPT,J/BYTEIP
						; 6861		GEN ARX,GLOBAL,BYTE INDRCT,
U 0442, 2256,3713,0000,0000,1111,7010,0610	; 6862			SKP INTRPT,J/BYTEIP
						; 6863		GEN ARX+XR,GLOBAL,BYTE INDRCT,
U 0443, 2256,0610,0002,4000,1131,7010,0610	; 6864			SKP INTRPT,J/BYTEIP
						; 6865	
U 0444, 0001,3711,0000,0000,1111,0003,0760	; 6866		GEN ARX,GLOBAL,BYTE RPW,RETURN1	; [303] Interlock for SMP
U 0445, 0001,0610,0002,0000,1131,0003,0760	; 6867		GEN ARX+XR,GLOBAL,BYTE RPW,RETURN1
U 0446, 0001,3711,0000,0000,1111,0003,0760	; 6868		GEN ARX,GLOBAL,BYTE RPW,RETURN1
U 0447, 0001,0610,0002,0000,1131,0003,0760	; 6869		GEN ARX+XR,GLOBAL,BYTE RPW,RETURN1
						; 6870	
U 0450, 0170,0001,0000,0301,0000,0010,0024	; 6871		FE_#,#/24,J/PF24		;ILLEGAL FORMAT INDIRECT WORD
U 0451, 0170,0001,0000,0301,0000,0010,0024	; 6872		FE_#,#/24,J/PF24
U 0452, 0170,0001,0000,0301,0000,0010,0024	; 6873		FE_#,#/24,J/PF24
U 0453, 0170,0001,0000,0301,0000,0010,0024	; 6874		FE_#,#/24,J/PF24
						; 6875	
U 0454, 0001,3701,0000,0000,0111,0003,0760	; 6876	BFETCHP: GEN AR,BYTE RPW,RETURN1
U 0455, 0001,0600,0002,4000,2131,0003,0760	; 6877		GEN AR+XR,INDEXED,BYTE RPW,RETURN1
						; 6878		GEN AR,BYTE INDRCT,
U 0456, 2256,3703,0000,0000,0111,7010,0610	; 6879			SKP INTRPT,J/BYTEIP
						; 6880		GEN AR+XR,INDEXED,BYTE INDRCT,
U 0457, 2256,0600,0002,0000,2131,7010,0610	; 6881			SKP INTRPT,J/BYTEIP
						; 6882	
U 2104, 2256,0001,0000,0000,0000,1110,0100	; 6883	BPART2P: SET FPD				;SET BEFORE FAULTING
						; 6884	=0
U 2256, 2117,3200,0003,0000,0022,2510,0000	; 6885	BYTEIP:	ARX_MEM,LONG EN,J/BYTEI2P
U 2257, 0144,3200,0003,0000,0022,7710,0000	; 6886		ARX_MEM,TAKE INTRPT
U 2117, 0440,2341,4002,0000,2020,0036,0000	; 6887	BYTEI2P: AR_ARX,XR,EA MOD DISP,TIME/3T,J/BXAP
						; 6888	.ENDIF/SMP
						; 6889	.ENDIF/XADDR
						; 6890	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8
; BYTE.MIC[10,5351]	15:09 9-Aug-83			LOAD BYTE SUBROUTINE					

						; 6891	.TOC	"LOAD BYTE SUBROUTINE"
						; 6892	;ENTER WITH S IN FE, P+S IN SC, AND AR LOAD IN PROGRESS
						; 6893	;SKP INTERRUPT AT ENTRY IS OPTIONAL
						; 6894	;RETURN2 WITH BYTE RIGHT JUSTIFIED IN AR
						; 6895	;[TIME=7]
						; 6896	=0
						; 6897	LDB1:	AR_MEM,SC_#-SC,#/36.,SKP SCAD0,	;36-(P+S)
U 2260, 2262,3200,0003,5302,0022,5110,0044	; 6898			TIME/3T,J/LDB2
U 2261, 0040,3240,0003,0000,0022,0005,0000	; 6899		AR_MEM,SR DISP,J/CLEAN		;HERE IF INTERRUPT PENDING
						; 6900	
						; 6901	=0
U 2262, 2264,3441,2400,0000,0000,0013,0000	; 6902	LDB2:	ARX_SHIFT,AR_0S,SC_FE,J/SHIFT	;BYTE IN ARX HI, READY TO SHIFT
						; 6903		ARX_AR,AR_0S,			;P+S > 36, PUT BYTE IN ARX HI
U 2263, 2264,3401,2400,2002,1020,5110,0000	; 6904			SC_FE+SC,SKP SCAD0	;ADJUST S AND SHIFT BYTE
						; 6905	
						; 6906	;PUT BYTE INTO AR RIGHT-JUSTIFIED
						; 6907	; THIS INSTRUCTION ALSO CALLED ALONE AS A SUBROUTINE
						; 6908	
						; 6909	=0
U 2264, 0002,0001,4000,0000,0000,0003,0000	; 6910	SHIFT:	AR_SHIFT,RETURN2		;RETURN WITH BYTE IN AR
U 2265, 0002,4001,0000,0000,0000,0003,0000	; 6911		RETURN2				;BYTE WAS OFF THE END, RETURN AR=0
						; 6912	
						; 6913	
						; 6914	.TOC	"DEPOSIT BYTE SUBROUTINE"
						; 6915	;ENTER WITH BYTE RIGHT JUSTIFIED IN AR, POINTER IN BR,
						; 6916	; S IN FE, 36-P IN SC, AND LOAD AR-ARX STARTED
						; 6917	; SKP IF P>36
						; 6918	;RETURN3 WITH FINAL STORE IN PROGRESS
						; 6919	;[TIME=11]
						; 6920	
						; 6921	=0
						; 6922	DPB1:	MQ_AR,AR_MEM,ARX_MEM,		;GET WORD TO ROTATE 36-P
						; 6923			GEN FE-SC-1,TIME/3T,	; [303] COMPUTE S-(36-P)-1
U 2266, 2270,3200,0013,1000,1022,5110,0000	; 6924			SKP SCAD0,J/DPB2	;CHECK THAT P+S<=36
						;;6925	.IFNOT/SMP				;[335]
						;;6926		AR_MEM,RETURN3			;[226]P>36, STORE NOTHING
						; 6927	.IF/SMP					;[335]
U 2267, 2174,3240,0003,0402,0022,0010,0000	; 6928		AR_MEM,SC_0,J/RELMEM		;[335] Must release memory if RPW
						; 6929	.ENDIF/SMP
						; 6930	
						; 6931	=0
U 2270, 2271,0001,0000,2401,0000,0010,0000	; 6932	DPB2:	FE_SC				;P+S>36, S_36-P
						;;6933	.IFNOT/MODEL.B
						;;6934	.IF/SMP
						;;6935		ARX_AR				;WORD TO ROTATE TO ARX
						;;6936	.ENDIF/SMP
						; 6937	.ENDIF/MODEL.B
						; 6938		ARX_SHIFT,AR_MQ,SC_FE,		;ARX HAS P,X,S
U 2271, 2123,3723,2400,5301,0000,0013,0110	; 6939			FE_#-SC,#/72.		;SC_S, FE_72-(36-P)=36+P
U 2123, 2166,0001,0000,5302,0000,0010,0044	; 6940		SC_#-SC,#/36.			;SC_36-S (KNOWN .LE. P)
						; 6941		AR_SHIFT,ARX_SHIFT,		;S,P,X
U 2166, 2174,0001,4400,5002,0000,0010,0000	; 6942			SC_FE-SC		;SC_(36+P)-(36-S)=P+S
U 2174, 0003,0001,4000,0000,0016,0003,0000	; 6943	RELMEM:	AR_SHIFT,STORE,RETURN3		;[335] DONE, STORE IT BACK
						; 6944	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9
; BYTE.MIC[10,5351]	15:09 9-Aug-83			IBP, ADJBP						

						; 6945	.TOC	"IBP, ADJBP"
						; 6946	
						; 6947	;IBP OR ADJBP
						; 6948	;IBP IF AC#0, ADJBP OTHERWISE
						; 6949	; HERE WITH THE BASE POINTER IN AR
						; 6950	
						; 6951	;IBP:	SKP AC#0			;IS THIS IBP OR ADJBP?
						; 6952	.IF/ADJBP
						; 6953	=000
						;;6954	.IFNOT/XADDR
						;;6955	IBP1:	T0_AR,BR/AR,			;SAVE POINTER FOR ADJBP
						;;6956			SC_S,AR_0S,CALL,J/GETSC	; GET BYTE SIZE
						; 6957	.IF/XADDR
						; 6958	IBP1:	T0_AR,BR/AR,BYTE DISP,		;SAVE POINTER, TEST B12
U 1520, 1325,3441,2047,2412,0020,1074,0166	; 6959			SC_S,AR_0S,CALL,J/GETSC	;GET SIZE, SECOND WORD IF NEEDED
						; 6960	.ENDIF/XADDR
						; 6961	.ENDIF/ADJBP
						; 6962	=001
						; 6963	IBP2:	BR/AR,P_P-S,CALL.M,		;NEW P UNLESS OVERFLOW
U 1521, 1420,4001,0040,5110,3021,0074,0200	; 6964			BYTE DISP,J/IBPS	;[245]		
						; 6965	.IF/ADJBP
U 1522, 2176,3242,2040,0000,0000,0010,0000	; 6966		BR/AR,AR_BR,J/ADJBP		;HOLD S IN BR
						; 6967	.ENDIF/ADJBP
U 1525, 0075,4001,0003,0000,0217,0010,0000	; 6968	=101	FIN STORE,I FETCH,J/NOP		;IBP DONE
						; 6969	=
						; 6970	
						; 6971	;HERE FOR ADJUST BYTE POINTER (IBP WITH NON-ZERO AC)
						; 6972	; BYTE SIZE (S) IS RIGHT ADJUSTED IN BR AND MQ
						; 6973	; FULL POINTER IS IN AR, AND SAVED IN T0
						; 6974	
						; 6975	.IF/ADJBP
						; 6976	
						; 6977	ADJBP:	SC_P,AR+ARX+MQ_0.M,		;GET P
U 2176, 0350,7162,0000,0102,0041,5410,0170	; 6978			SKP BR EQ		;CHECK SIZE IS NON-ZERO
						; 6979	
U 0350, 2652,4001,0020,2400,3001,0050,0200	; 6980	=00	BRX/ARX,P_SC,CALL.M,J/SIXDIV	;DIVIDE P BY S
U 0351, 0067,3200,2007,0000,0020,0010,0166	; 6981		AR_T0,J/IFSTAC			;OOPS, S=0, RETURN UNALTERED POINTER
						; 6982		T1_AR,AR_0S,ARX_0S,		;SAVE P/S
U 0352, 0674,3401,2207,5002,0000,1010,0171	; 6983			SC_FE-SC		;36-P IN SC
						; 6984	=
U 0674, 2652,4001,0000,2400,3001,0050,0300	; 6985	=0*	P_SC,MQ_0.M,CALL.M,J/SIXDIV	;36-P IN AR0-5
U 0676, 2272,0600,2007,0000,0040,5610,0171	; 6986		AR_AR+T1,SKP AD NE		;(P/S)+(36-P/S)=BYTES/WORD
U 2272, 0213,0001,0000,0000,0217,0010,0000	; 6987	=0	I FETCH,J/NODIVD		;ABORT, BYTES/WORD=0
U 2273, 2204,0001,4047,0000,2000,1010,0171	; 6988		T1_AR,BR/AR,AR_ARX		;SAVE BYTES/WORD, READY TO
						; 6989						; DIVIDE BY IT
U 2204, 2206,3723,2007,0000,0000,1010,0172	; 6990		T2_AR,AR_MQ			;SAVE REMAIN(36-P/S), GET (36-P)/S
						; 6991		AR_AR*AC0,AD/A+B,ARL/AD,	;ADJUSTMENT IN AR
U 2206, 1564,0600,2000,0000,0021,0010,0142	; 6992			ARX+MQ_0.M
						; 6993	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10
; BYTE.MIC[10,5351]	15:09 9-Aug-83			IBP, ADJBP						

						; 6994	;COMPUTE QUOTIENT Q AND REMAINDER R OF ADJUSTMENT/(BYTES/WORD)
						; 6995	; SUCH THAT ADJUSTMENT=Q*(BYTES/WORD)+R, 1 .LE. R .LE. (BYTES/WORD)
						; 6996	; SINCE ADJUSTMENT IS CALCULATED RELATIVE TO LEFT-MOST BYTE OF
						; 6997	; A WORD, THIS GIVES Q AS THE NUMBER OF WORDS BY WHICH TO INDEX THE
						; 6998	; BYTE POINTER, AND R AS THE NUMBER OF BYTES FROM THE LEFT OF THE
						; 6999	; WORD.  MULTIPLYING R BY THE BYTE SIZE WILL GIVE THE NUMBER OF BITS
						; 7000	; FROM THE LEFTMOST BYTE, AND ADDING REMAIN(36-P/S) WILL GIVE NUMBER
						; 7001	; OF BITS FROM BIT 0.  FINALLY, WE MUST SUBTRACT THIS FROM 36 TO GET
						; 7002	; THE CORRECT P FIELD, WHICH IS ALWAYS RELATIVE TO THE RIGHT EDGE OF
						; 7003	; THE WORD.
						; 7004	;
						; 7005	;  SR1 = 1	DON'T DO FETCH OF NEXT INST (ADJBP WITH OWGBP)
						; 7006	
U 1564, 2106,0001,0000,4402,0000,1050,0000	; 7007	=100	AC0_AR,SC_1,CALL,J/DIV2		;DO THE BASIC DIVIDE
						; 7008	=110	ARX_-BRX,FE_#,#/-4,		;NEG QUO ==> NEG REMAIN
U 1566, 1604,5162,0600,0301,0020,0005,0774	; 7009			SR DISP,J/ADJD1		;TEST FOR DOUBLE-WORD POINTER
						; 7010		ARX/MQ,SKP AR NE,FE_#,#/-4,	;POS QUO.  IS REMAIN .GT. 0?
U 1567, 1604,3703,0300,0301,0040,5405,0774	; 7011			SR DISP
						;;7012	.IFNOT/XADDR
						;;7013	=10
						; 7014	.IF/XADDR
						; 7015	=100
						; 7016	.ENDIF/XADDR
U 1604, 2645,0600,2007,0000,0020,0010,0171	; 7017	ADJD1:	AR_AR+T1,J/ADJD2		;INCREASE REM TO MEET CONSTRAINT
						; 7018		BR/AR,AR_ARX (ADX),		;REMAIN IN RANGE,
U 1605, 2646,3701,6040,0000,0001,0010,0060	; 7019			ARL+ARX_0.M,J/ADJD3	; QUOTIENT TO ARR
						; 7020	.IF/XADDR
U 1606, 2211,0600,2007,0000,0020,0010,0171	; 7021		AR_AR+T1,J/ADJX2		;INCREASE REMAIN & DECR QUO
						;;7022	.IF/OWGBP
						;;7023	ADJX3:	BR/AR,AR_ARX,SR DISP		;[251] REM TO BR, OWGBP ?
						;;7024	=011	AR_AC1,SKP AD0,J/ADJX4		; NO, WD2 EFIW OR IFIW?
						;;7025		AR_AR+T0,J/ADJX1		; YES, INC ADDRESS
						; 7026	.IFNOT/OWGBP
U 1607, 2274,3240,2041,0000,0020,5510,0000	; 7027	ADJX3:	BR/AR,AR_AC1,SKP AD0,J/ADJX4	;REM TO BR, WD2 EFIW OR IFIW?
						; 7028	.ENDIF/OWGBP
U 2211, 1607,1701,0600,0000,0020,0010,0000	; 7029	ADJX2:	ARX_ARX-1,J/ADJX3
						;;7030	.IF/OWGBP
						;;7031	ADJX1:	T0_AR,ARX_0S			;SAVE NEW ADDRESS
						;;7032		AR_E0,BRX/ARX,J/ADJD4		;GET P,S, CLEAR BRX
						; 7033	.ENDIF/OWGBP
						; 7034	=0
						;;7035	.IF/OWGBP
						;;7036	ADJX4:	SC_P,SR DISP,J/ADJX7		;[251] EFIW, SAVE 0-5, OWGBP ?
						; 7037	.IFNOT/OWGBP
U 2274, 2236,0610,2001,0102,0020,0010,0000	; 7038	ADJX4:	SC_P,AR_ARX*AC1,AD/A+B,J/ADJX5	;EFIW, SAVE 0-5
						; 7039	.ENDIF/OWGBP
U 2275, 2463,0610,2001,0000,0020,0610,0000	; 7040		ARL_ARL,AR_ARX*AC1,AD/A+B,J/ADJX6
U 2236, 2463,4001,0000,2400,3001,0010,0200	; 7041	ADJX5:	P_SC				;ADJUSTMENT MUSTN'T TOUCH @,XR
U 2463, 2644,3401,0201,0000,0000,1010,0000	; 7042	ADJX6:	AC1_AR,ARX_0S
U 2644, 0530,3200,2027,0000,0020,0010,0166	; 7043		AR_T0,BRX/ARX,J/ADJD4
						;;7044	.IF/OWGBP
						;;7045	=011
						;;7046	ADJX7:	AR_ARX*AC1,AD/A+B,J/ADJX5	;[251] NO, EFIW
						;;7047		AR_ARX*E1,AD/A+B,J/ADJX5	;[251] YES, EFIW
						; 7048	.ENDIF/OWGBP
						; 7049	.ENDIF/XADDR
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10-1
; BYTE.MIC[10,5351]	15:09 9-Aug-83			IBP, ADJBP						

						; 7050	
						; 7051	ADJD2:	BR/AR,AR_ARX-1,			;HOLD UPDATED REMAINDER,
U 2645, 2646,1701,6040,0000,0021,0010,0060	; 7052			ARL+ARX_0.M		; GET CORRESPONDING QUOTIENT
						; 7053	ADJD3:	AR_AR+T0,INH CRY18,		;ADD Q TO Y OF POINTER,
U 2646, 0530,0600,2027,0000,0020,0011,0166	; 7054			BRX/ARX,J/ADJD4		;CLR BRX
						; 7055	
						; 7056	;HERE WITH ADDRESS PART OF POINTER UPDATED, P AND S IN AR, AND
						; 7057	; THE REMAINDER IN BR. COMPUTE 36-[ R*S + REMAIN(36-P/S) ].
						; 7058	
						; 7059	=00*
U 0530, 1325,3441,2000,2412,0000,1050,0000	; 7060	ADJD4:	AC0_AR,AR_0S,SC_S,CALL,J/GETSC	;SAVE UPDATED Y, GET SIZE
						; 7061		MQ_AR,AR_T2,CLR ARX,		;M'IER IS S, GET REMAIN(36-P/S)
U 0532, 1442,3200,2017,0000,1020,0550,0172	; 7062			CALL,J/MULREE		;COMPUTE (R*S)+REMAIN(36-P/S)
						; 7063	=11*
						;;7064	.IF/OWGBP
						;;7065		AR_ARX*2,SR DISP		;[251] OWGBP ?
						;;7066	=011	SR_0,I FETCH,J/ADJD5		; [301] NO, FOLLOW FLOW
						;;7067		SC_P-#,#/36.,AR_AC0
						;;7068		P_-SC,J/GADJ1			;[251] YES, THAT'S NEW P, DONE
						;;7069	ADJD5:	SC_P-#,#/36.,AR_AC0
						;;7070		P_-SC,J/STAC			;NO, THAT'S NEW P, DONE
						; 7071	.IFNOT/OWGBP
U 0536, 2647,3711,5000,0000,0217,1610,0000	; 7072		AR_ARX*2,SR_0,I FETCH		; [301] PUT THAT IN AR0-5
U 2647, 2650,3200,2000,5132,0020,0010,0044	; 7073		SC_P-#,#/36.,AR_AC0
U 2650, 0065,0001,0000,5400,3001,0010,0200	; 7074		P_-SC,J/STAC			; [301] THAT'S NEW P, DONE
						; 7075	.ENDIF/OWGBP
						; 7076	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 11
; BYTE.MIC[10,5351]	15:09 9-Aug-83			IBP, ADJBP						

						; 7077	;[251]
						; 7078	;HERE IF WE ARE DOING IBP OR ADJBP ON A ONE WORD GLOBAL BYTE POINTER.
						; 7079	
						;;7080	.IF/OWGBP
						;;7081	=0
						;;7082	GIBP:	J/GADJBP			;GO DO ADJBP
						;;7083		BYTE PREV & CLR SR3		;[256] ENA PREVIOUS
						;;7084	=0	CALL,J/GBYTE			;INC POINTER AND STORE
						;;7085		I FETCH,CLR FPD,J/NOP		;[263]DONE IBP
						;;7086	=0
						;;7087	GADJBP:	BYTE PREV & SET SR2,
						;;7088			CALL [CNV2WD]		;[256] ENA PREVIOUS
						;;7089		[AR]_[AR]*FM[EXPMSK],AD/ANDCB	;SAVE P,S AND CLEAR REST
						;;7090		SET SR1				;USE E1 INSTEAD OF AC1 IN ADJBP
						;;7091		E0_AR,SC_S,AR_BR,BRX/ARX	;SAVE S, ADDRESS TO AR
						;;7092	=01	T0_AR,AR_0S,CALL,J/GETSC	;GET BYTE SIZE IN AR,SAVE ADDR
						;;7093		BR/AR,AR_BR,VMA_#,#/722		;ADDR, P,S IN PLACE, EPT ADDR TO VMA
						;;7094		E1_AR,AR_BRX,J/ADJBP		;SAVE ADDR, GO ADJ
						;;7095	
						;;7096	GADJ1:	FE_S+#,#/-18.,SKP SCAD0		;BYTE SIZE 18 ?
						;;7097	=0
						;;7098	GADJLD:	LOAD AR,EPT REF CACHE,J/GADJ2	;GET DECODE WORD AND CACHE IT [260]
						;;7099		SC_#,#/8.			;SET UP FOR DISP
						;;7100		SH DISP,J/GADJL0		;DISPATCH ON SIZE 6-9	[253]
						;;7101	=0000
						;;7102	GADJL0:					;[253]
						;;7103	=0110	VMA_#,#/716,J/GADJLD		;6
						;;7104	=0111	VMA_#,#/717,J/GADJLD		;7
						;;7105	=1000	VMA_#,#/720,J/GADJLD		;8
						;;7106	=1001	VMA_#,#/721,J/GADJLD		;9
						;;7107	=
						;;7108	GADJ2:	MB WAIT,SC_#,#/30.		;BYTE # TO AR 0-5
						;;7109		BR/AR,AR_BR,ARX_0.M		;DATA TO AR,CLEAR ARX
						;;7110		AR_SHIFT,SC_#,#/6		;SHIFT IT
						;;7111		FE_P,AR_BR			;SAVE COUNT,DECODE TO AR
						;;7112	GADJ3:	FE_FE-1,SKP SCAD NE		;DEC DECODE, SKIP TO SHIFT
						;;7113	=0	ARX_T0,J/GADJ4			;GET ADDRESS, NEW P IN AR0-4
						;;7114		AR_SHIFT,J/GADJ3		;SHIFT AND TRY AGAIN
						;;7115	GADJ4:	AR_ARX,FE_P			;GET ADDRESS, SAVE P
						;;7116		P_FE				;NEW P
						;;7117		AC0_AR,I FETCH,J/NOP		;DONE !
						;;7118	.ENDIF/ADJBP
						; 7119	.ENDIF/OWGBP
						; 7120	;[251]
						; 7121	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 12
; BYTE.MIC[10,5351]	15:09 9-Aug-83			IBP, ADJBP						

						; 7122	;SUBROUTINE TO GET CONTENTS OF SC RIGHT ALIGNED IN AR
						; 7123	; CALLED BY ADJBP WITH BYTE DISP TO GET SECOND PART OF POINTER, TOO.
						; 7124	;[TIME=6]
						; 7125	
						; 7126	=101
U 1325, 0560,0001,0000,2400,2000,0022,0200	; 7127	GETSC:	AR0-8_SC,J/GETEXP		;PUT SC INTO AR
						; 7128	.IF/XADDR
U 1327, 0560,4001,0000,2400,2000,7522,0200	; 7129		AR0-8_SC,SKP -VMA SEC0		;BIT 12=1.  GET 2ND PART OF PTR
						; 7130	=00
						; 7131	.ENDIF/XADDR
U 0560, 2264,4001,0400,0302,1000,0010,0011	; 7132	GETEXP:	ARX_AR,SC_#,#/9.,J/SHIFT	;HERE WITH DATA IN AR0-8
						; 7133	.IF/XADDR
						; 7134		VMA_VMA+1,LOAD ARX,SC_#,#/9.,	;LONG POINTER, GET PART 2
U 0561, 0736,4001,0000,0302,0013,3650,0011	; 7135			CALL,J/XFERW
U 0563, 2651,3703,4200,0000,2000,1610,0002	; 7136	=11	ARX_AR (AD),AR_ARX,SR_#,#/2	;READY TO PUT IT AWAY
U 2651, 2264,3401,2001,0000,0000,1010,0000	; 7137		AC1_AR,AR_0S,J/SHIFT		;PUT AWAY, FINISH GETTING S
						; 7138	.ENDIF/XADDR
						; 7139	
						; 7140	
						; 7141	;SUBROUTINE FOR SHORT DIVISION, BR KNOWN POSITIVE
						; 7142	; CALL WITH MQ CLEAR, DIVISOR RIGHT-ALIGNED IN BR, AND DIVIDEND
						; 7143	;	IN AR0-5 (OR LEFT-ALIGNED IN ARX IF ENTERING AT SDIV)
						; 7144	; RETURN QUOTIENT IN AR AND MQ, REMAIN IN ARX
						; 7145	;[TIME=22+3(RESTORE REQ'D)]
						; 7146	
						; 7147	;TO IMPROVE ADJBP PERFORMANCE, INSERT THE INSTRUCTION SHOWN BELOW
						; 7148	; (SIXDZ), AND CHANGE THE CALLS TO SIXDIV TO "SKP SCAD NE,J/SIXDZ"
						; 7149	;=0
						; 7150	;SIXDZ:	AR_0S,ARX_0S,FE_#,#/36.,RETURN2	;HERE IF DIVIDEND IS ZERO
						; 7151	
U 2652, 0541,3441,2400,0301,1000,0010,0004	; 7152	SIXDIV:	ARX_AR,AR_0S,FE_#,#/4,J/SDIV-
						; 7153	=0*0
U 0540, 0540,0602,5500,3001,0020,0031,0000	; 7154	SDIV:	DIVIDE,AR_2(AR+BR),ARX/ADX*2,J/SDIV
U 0541, 0540,5102,5504,3001,0020,0031,0000	; 7155	SDIV-:	DIVIDE,AR_2(AR-BR),ARX/ADX*2,J/SDIV
U 0544, 0224,0602,2004,3001,0020,0031,0000	; 7156		DIVIDE,AR_AR+BR,J/SDIVR		;NO SHIFT ON FINAL STEP
U 0545, 0224,5102,2000,3001,0020,0031,0000	; 7157		DIVIDE,AR_AR-BR
						; 7158	=1*0
U 0224, 0225,0602,2004,0000,0020,0010,0000	; 7159	SDIVR:	AR_AR+BR			;NO CRY0 MEANS RESTORE REQ'D
						; 7160		ARX_AR,AR_MQ,			;RETURN QUO IN AR, REMAIN IN ARX
U 0225, 0002,3723,2400,0301,1000,0003,0044	; 7161			FE_#,#/36.,RETURN2
						; 7162	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 13
; BYTE.MIC[10,5351]	15:09 9-Aug-83			IBP, ADJBP						

						;;7163	.IF/OWGBP
						;;7164	;CNV2WD -- ROUTINE TO CALCULATE NEW P FIELD OF ONE WORD GLOBAL BYTE
						;;7165	;POINTER AND STORE NEW POINTER. A TABLE IS IN THE EPT STARTING AT 700
						;;7166	;AND THIS IS USED TO CONVERT THE OWGBP TO A TWO WORD GLOBAL POINTER
						;;7167	;AND TO CALCULATE THE NEW P FOR THE STORE.
						;;7168	;
						;;7169	;ENTER WITH P-45 IN SC
						;;7170	;	    BYTE POINTER IN BR
						;;7171	;
						;;7172	
						;;7173	CNV2WD:	AR_VMA HELD			;[326] GET FULL VMA FOR WRITE
						;;7174		MQ_AR				;SAVE FOR WRITE BACK
						;;7175		AR0-8_SC			;P-45 IN AR
						;;7176	=0*	AR_ARX (AD),ARX_AR,SC_#,#/9.,	;SWAP AROUND FOR SHIFT
						;;7177			CALL [SHIFT]		;NOW SHIFT IT TO BIT 35
						;;7178		AR_AR*.5 LONG			;MAKE IT AN OFFSET, LSB IN ARX0
						;;7179		VMA_#+AR32-35,#/700		;POINT TO RIGHT WORD
						;;7180		LOAD AR,EPT REF CACHE		;GET AND CACHE DATA FROM EPT [260]
						;;7181		MB WAIT,GEN ARX,SKP AD0		;TEST FOR EVEN/ODD
						;;7182	=0
						;;7183	CNV01:	FE_S,ARX_AR,J/CNV02		;SKIP SWAP
						;;7184		AR_AR SWAP,J/CNV01		;SWAP HALVES FOR ODD
						;;7185	CNV02:	BRX/ARX,GEN AR,SKP AD NE	;DID WE GET 0 DATA ?
						;;7186	=0	BR/AR,J/UUO			;P=77 OR EPT NOT SET UP
						;;7187		RSTR VMA_MQ,RETURN1		;[307][326]NO, RESTORE VMA AND EXIT
						;;7188	
						;;7189	
						;;7190	=1001					;[254]
						;;7191	INC2WD:	SC_#,#/6,J/INC01		;DON'T INC, SET SHIFT
						;;7192		AR_BR+1,SC_#,#/6,J/INC01	;INC ADDRESS, SET SHIFT
						;;7193		AR_BRX,J/INC02			;FPD SET. DON'T		[254]
						;;7194		AR_BRX,J/INC02			;TOUCH POINTER		[254]
						;;7195	INC01:	ARX_SHIFT,AR_BRX,SR_#,#/500	;[256][270]ADDR TO 0-29 IN ARX
						;;7196						;NEW P TO AR
						;;7197	=0*	AR_AR SWAP,SC_#,#/30.,		;GET NEW P,LOAD SHIFT
						;;7198			CALL [SHIFT]		;NEW POINTER
						;;7199	;
						;;7200	;	[320] Because of the SR_# above, we must restore the VMA again.
						;;7201	;	[326] Make sure we do a full restore (i.e., include local/global
						;;7202	;	information) so that we distinguish the ACs from shadow memory.
						;;7203	;
						;;7204		RSTR VMA_MQ,P_P OR #,#/40	;[326] SET BIT 0
						;;7205		BR/AR,STORE 			;[320] STORE NEW POINTER
						;;7206		MEM_AR, AR_BRX, SR_#, #/200	;GET DECODE ALLOW PREVIOUS
						;;7207		P_P-S,SKP SCAD0			;SET UP FOR EXIT
						;;7208	=0
						;;7209	INC02:	SC_P,SET FPD,AR_BR,RETURN1	;DONT ADD
						;;7210		P_#-S,#/44,J/INC02		;FIX FOR OVERFLOW
						; 7211	.ENDIF/OWGBP
						; 7212	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT DOUBLE PRECISION ARITHMETIC			

						; 7213	.TOC	"GFLT DOUBLE PRECISION ARITHMETIC"
						; 7214	
						; 7215	.IF/MODEL.B
						; 7216	.IF/EXTEXP
						; 7217	
						; 7218		.DCODE
D 0102, 4001,1415				; 7219	102:	R,	B/0,	J/EDFLOT	;EFAD
D 0103, 4200,1415				; 7220	103:	R,	B/2,	J/EDFLOT	;EFSB
D 0106, 4400,1415				; 7221	106:	R,	B/4,	J/EDFLOT	;EFMP
D 0107, 4601,1415				; 7222	107:	R,	B/6,	J/EDFLOT	;EFDV
						; 7223		.UCODE
						; 7224	
						; 7225	=0****00**0*
						; 7226	EDFLOT:	VMA_VMA+1, LOAD ARX,
U 1415, 0736,0001,0000,0000,0013,3662,0100	; 7227			MQ_0.S, CALL [XFERW]
U 1417, 1620,3721,0507,0000,0000,1033,0176	; 7228		FM[E0]_AR, ARX_ARX*2, B DISP	;mem high to E0, do instruction
						; 7229	=
						; 7230	
						; 7231	=000
U 1620, 2346,4001,0000,0000,0000,4550,0000	; 7232	EDFL1:	SKP AR0, CALL [ISOEXP]		;save mem high word in E0.
U 1621, 2276,4001,0007,0000,0000,1010,0172	; 7233		FM[T2]_AR, J/EF1		;save mem exp in T2.
U 1622, 1623,5143,7700,0000,0020,0027,0000	; 7234		AR_-AR LONG			;subtract now same as add.
U 1623, 1620,4001,0007,0000,0000,1010,0176	; 7235		FM[E0]_AR, J/EDFL1		;save "positive" exponent
U 1624, 2346,4001,0000,0000,0000,4550,0000	; 7236	=100	SKP AR0, CALL [ISOEXP]		;isolate mem exp in AR.
						; 7237		BR/AR, GEN ARX, SKP AD NE,	;start test for sticky bits.
U 1625, 2312,3711,0040,0000,0020,5610,0000	; 7238			J/EFMP
						; 7239	=110	BR/AR, GEN AR, SKP AD0, 	;save mem high in br.
U 1626, 2346,3703,0040,0000,0020,5550,0000	; 7240			CALL [ISOEXP]		;get mem exp
U 1627, 2721,3401,2007,0000,0000,1010,0172	; 7241		FM[T2]_AR, AR_0S, J/EFDV0	;save mem exp in T2. No sticky bits.
						; 7242	=0
U 2276, 2346,3200,2000,0000,0020,5550,0000	; 7243	EF1:	AR_AC0, SKP AD0, CALL [ISOEXP]	;get AC op
U 2277, 2653,0001,0047,0000,0000,1010,0165	; 7244		FM[E1]_AR, BR/AR		;save AC exp in E1
						; 7245			
						; 7246	;Now have positive mem exponent in T2, pos AC exp in E1.
						; 7247	;Save larger exp in T2 and exp diff if less than 340 in SC.
						; 7248		[AR]_[AR]*FM[T2], AD/A-B,	;AR gets exp diff.
U 2653, 0620,5100,2007,0000,0040,5510,0172	; 7249			SKP AD0			;AR get exp diff, BRX gets exp.
U 0620, 2667,4001,0000,0302,0000,0050,0003	; 7250	=00	SC_#, #/3, CALL [EXPDIF]	;test for exp diff >72.
U 0621, 0660,0001,0040,0000,0000,0010,0000	; 7251		BR/AR, J/EF3A			;mem op larger.
U 0622, 2661,3242,2000,0000,0000,0010,0000	; 7252		AR_BR, J/EF5			;restore exp to AR.
U 0623, 2730,3240,2007,0401,0020,0010,0165	; 7253		[AR]_FM[E1], CLR FE, J/ACNORM	;exp diff too large, norm AC op.
						; 7254	=00
U 0660, 2667,5162,2000,0302,0020,0050,0003	; 7255	EF3A:	AR_-BR, SC_#, #/3, CALL [EXPDIF];mem larger, get positive diff.
U 0662, 2654,3242,2000,0000,0000,0010,0000	; 7256	=10	AR_BR, J/EF3B			;restore exponent to AR.
U 0663, 2726,3260,2007,0401,0020,0010,0172	; 7257		[AR]_FM[T2], CLR FE, J/MEMNRM	;exp diff > 72. norm mem op.
U 2654, 2655,3203,5000,0000,0000,0010,0000	; 7258	EF3B:	AR_AR*8				;move exp difference into AR0-8.
						; 7259		FE_AR0-8,			;mem larger, op doable.
U 2655, 2300,3200,2000,2421,0020,0010,0000	; 7260			AR_AC0			;save smaller AC op in T0,T1
U 2300, 2666,0001,0007,0000,0000,1050,0166	; 7261	=0	FM[T0]_AR, CALL [EF5B]
U 2301, 2656,4001,0007,0000,0000,1010,0171	; 7262		FM[T1]_AR
U 2656, 2657,3260,2007,0000,0020,0010,0176	; 7263		[AR]_FM[E0]			;save larger mem op in AC0,AC1
U 2657, 2660,4001,4000,0000,2000,1010,0000	; 7264		AC0_AR, AR_ARX
U 2660, 2304,4001,0001,0000,0000,1010,0000	; 7265		AC1_AR, J/EF5A			;all set to shift and add.
						; 7266	
U 2661, 2662,3243,5000,0000,0000,0010,0000	; 7267	EF5:	AR_AR*8				;move exp difference into AR0-8.
U 2662, 2663,3240,2007,2421,0020,0010,0176	; 7268		FE_AR0-8, [AR]_FM[E0]		;smaller mem op to T0,T1
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-1
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT DOUBLE PRECISION ARITHMETIC			

U 2663, 2302,0001,4007,0000,2000,1010,0166	; 7269		FM[T0]_AR, AR_ARX
U 2302, 2666,0001,0007,0000,0000,1050,0171	; 7270	=0	FM[T1]_AR, CALL [EF5B]
U 2303, 2664,4001,0001,0000,0000,1010,0000	; 7271		AC1_AR				;we expect AC1*2 to be saved.
U 2664, 2665,3260,2007,0000,0020,0010,0165	; 7272		[AR]_FM[E1]			;save larger AC exp in T2
U 2665, 2304,0001,0007,0000,0000,1010,0172	; 7273		FM[T2]_AR, J/EF5A
						; 7274	
U 2666, 0001,3240,5001,0000,0020,0003,0000	; 7275	EF5B:	AR_AC1*2, RETURN1
						; 7276	
						; 7277	;EXPDIF determines if the exponent difference is too large-ie >110 oct.
						; 7278	;The largest allowed value for shifting is 72 decimal. This is 110 octal.
						; 7279	;Since the exponent is in AR1-11, 110 octal has the value 11 in AR1-8.
						; 7280	;It expects the exponent difference in AR0-8.
						; 7281	;It uses AR0-8 and the BR.
						; 7282	;Returns 2 if the difference is ok (<=110).
						; 7283	;Returns 3 if the difference is too large (>110).
U 2667, 2670,4001,0040,0000,0000,0410,0000	; 7284	EXPDIF:	BR/AR, CLR AR			;zero all of those bits.
U 2670, 2671,0001,0000,0000,0000,0110,0010	; 7285		AR0-8_#, #/10			;put in 100 in AR0-11.
U 2671, 0002,5102,0004,0000,0040,5503,0000	; 7286		GEN AR-BR, SKP AD0, RETURN2	;<max diff>-<actual diff>
						; 7287	
						; 7288	;We now have:
						; 7289	; AC0	/ larger op high
						; 7290	; AC1	/ larger op low
						; 7291	; T0	/ smaller op high
						; 7292	; T1	/ smaller op low
						; 7293	; T2	/ larger exponent
						; 7294	; FE	/ exp difference
						; 7295	;We must now sign extend both high ops.
						; 7296	=0
U 2304, 2350,3240,2000,0000,0020,5550,0000	; 7297	EF5A:	AR_AC0, SKP AD0, CALL [SGNEXT]	;get larger high op
U 2305, 2306,4001,0000,0000,0000,1010,0000	; 7298		AC0_AR				;save larger extended op in AC0
						; 7299	=0	[AR]_FM[T0], SKP AD0,		;get smaller high op
U 2306, 2350,3240,2007,0000,0020,5550,0166	; 7300			CALL [SGNEXT]		; and sign extend into AR1-11.
U 2307, 2672,4001,0007,0000,0000,1010,0166	; 7301		FM[T0]_AR			;save smaller extended op in T0
						; 7302	;We are now set to shift the smaller op to align it with the larger op.
U 2672, 2673,3240,2007,0000,0020,0010,0171	; 7303		[AR]_FM[T1]
U 2673, 2674,3260,2407,0000,1020,0013,0166	; 7304		[AR]_FM[T0], ARX_AR, SC_FE	;move diff to SC for next line.
U 2674, 2310,0001,0000,5302,0020,5110,0044	; 7305		SC_#-SC, #/36., SKP SCAD0
U 2310, 2701,5441,2400,0000,1020,0016,0000	; 7306	=0	ARX_AR, AR_SIGN, J/EF10		;FE < 37.
U 2311, 2675,4001,0060,0000,0000,0013,0000	; 7307		BR/AR, BRX/ARX, SC_FE
U 2675, 2676,5401,2400,0000,1020,0016,0000	; 7308		AR_SIGN, ARX_AR
U 2676, 2677,4001,0000,5302,0000,0010,0110	; 7309		SC_#-SC, #/72.
U 2677, 0371,0001,0400,0000,0000,0010,0000	; 7310		ARX_SHIFT			;high is sign, low is sign,,high.
						; 7311	=01	AR_BR LONG, BR/AR, BRX/ARX,	;save new stuff in BR long.
U 0371, 2710,3242,2660,0000,0000,0050,0000	; 7312			CALL [EF12]		;MQ gets lowest word.
U 0373, 2700,0001,0007,0000,0000,1010,0165	; 7313		FM[E1]_AR			;save sticky bits.
U 2700, 2706,3200,2001,0000,0020,0010,0000	; 7314		AR_AC1, J/EF11			;now prepare to add.
U 2701, 2702,3240,4207,0000,0020,0010,0171	; 7315	EF10:	AR_SHIFT, [ARX]_FM[T1]		;shift high op, load low word.
U 2702, 2703,3260,2047,0000,0020,0010,0166	; 7316		BR/AR, [AR]_FM[T0]		;shift low op, load high word.
U 2703, 0531,3711,2400,0000,0000,0010,0000	; 7317		AR_ARX (AD), ARX_SHIFT		;get shifted low word into ARX.
U 0531, 2710,0001,0020,0000,0000,0550,0000	; 7318	=01	BRX/ARX, CLR ARX, CALL [EF12]	;save low word, shift end bits.
U 0533, 2704,4001,0007,0000,0000,1010,0165	; 7319		FM[E1]_AR			;save sticky bits. (word 4 of sum).
U 2704, 2706,3200,2001,0000,0020,0010,0000	; 7320		AR_AC1, J/EF11			;prepare to add.
U 2705, 2706,3200,2061,0000,0020,0010,0000	; 7321		BR/AR, BRX/ARX, AR_AC1		;get larger op in AR,ARX
U 2706, 2707,3240,2400,0301,1020,0010,0000	; 7322	EF11:	ARX_AR, AR_AC0, FE_#, #/0	;smaller op in BR,BRX
						; 7323		AR_AR+BR, ARX/ADX, SC_#, #/3,	;operation done, now normalize.
U 2707, 1710,0602,2604,0302,0060,0035,0003	; 7324			NORM, J/ENORM
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1-2
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT DOUBLE PRECISION ARITHMETIC			

						; 7325	
U 2710, 2264,3711,2010,0000,0000,0510,0000	; 7326	EF12:	MQ_SHIFT, AR_ARX (AD), CLR ARX,J/SHIFT
						;;7327	.IF/GFTCNV		;[273]
						;;7328	EF12A:	AR_SHIFT, RETURN10
						; 7329	.ENDIF/GFTCNV		;[273]
						; 7330	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT MULTIPLY						

						; 7331	.TOC	"GFLT MULTIPLY"
						; 7332	=0
U 2312, 2315,0001,0000,0000,0000,0410,0000	; 7333	EFMP:	CLR AR, J/EFMP1			;mem low op is zero, no sticky bits.
U 2313, 2314,3200,5001,0000,0020,5610,0000	; 7334		AR_AC1*2, SKP AD NE		;is AC low op non-zero as well ?
U 2314, 2315,0001,0000,0000,0000,0410,0000	; 7335	=0	CLR AR				;yes, no sticky bits today.
U 2315, 2711,3401,2007,0000,0000,1010,0165	; 7336	EFMP1:	FM[E1]_AR, AR_0S		;set sticky bits.
U 2711, 2712,4001,0000,0000,0000,0110,0200	; 7337		AR0-8_#, #/200			;subtract 200.
U 2712, 2713,3242,2040,0000,0000,0010,0000	; 7338		BR/AR, AR_BR			;swap around exp and 2000.
U 2713, 2316,5102,2000,0402,0020,0010,0000	; 7339		AR_AR-BR, CLR SC		;done, and SC is cleared.
						; 7340	=0	BR/AR, AR_AC0, SKP AD0,		;save exp-2000 in BR.
U 2316, 2346,3240,2040,0000,0020,5550,0000	; 7341			CALL [ISOEXP]		;get AC high and isolate exp.
U 2317, 2714,0602,2004,0000,0020,0010,0000	; 7342		AR_AR+BR			;add exponents together.
U 2714, 2320,0001,0007,0000,0000,1010,0172	; 7343		FM[T2]_AR			;and store the sum in T2.
						; 7344	=0	[AR]_FM[E0], SKP AD0,		;get mem high op sign extended.
U 2320, 2350,3260,2007,0000,0020,5550,0176	; 7345			CALL [SGNEXT]
U 2321, 2715,0001,0000,0301,0000,0010,0756	; 7346		FE_#, #/-18.			;
U 2715, 1660,3240,2061,0000,0020,0010,0000	; 7347		BR/AR, BRX/ARX, AR_AC1		;move mem ops to BR!BRX.
						; 7348	=000	MQ_AR, AR_0S, ARX_0S,		;multiply by low word.
U 1660, 1442,3441,2210,0000,1000,0050,0000	; 7349			CALL [MULREE]
U 1664, 1666,0602,2604,0000,0020,0027,0000	; 7350	=100	AR_AR+BR LONG			;low sign was set, add results.
						; 7351	=110	MQ_AR, AR_AC0, FE_#, #/-13.,	;now continue with high part.
U 1666, 2350,3240,2010,0301,1020,5550,0763	; 7352			SKP AD0, CALL [SGNEXT]	;sign extend the ac high op.
U 1667, 2322,4001,0007,0000,0000,1010,0166	; 7353		FM[T0]_AR			;save sign extended AC op.
						; 7354	;	SKP AR0				;test sign bit to adjust FE.
						; 7355	=0
U 2322, 1670,3721,2010,0000,1000,0010,0000	; 7356	EFMPP1:	MQ_AR, AR_MQ, J/EFMPP2		;swap AR+MQ.
U 2323, 2322,0001,0000,4001,0000,0010,0000	; 7357		FE_FE+1, J/EFMPP1		;inc the FE if number is neg.
						; 7358	=000
						; 7359	EFMPP2:	AD/0S, FE_FE+1, DISP/MUL,	;now multiply by the high word.
U 1670, 0260,3401,0010,4001,0000,0070,0000	; 7360			MQ/MQ*.25, CALL [MULP]
						; 7361	;Since our last multiply step used 2 signs bits instead of a sign bit
						; 7362	;and the MSB, our answer is too low by a power of two for positive numbers
						; 7363	;and too low by a power of 4 for negative numbers.
U 1674, 2716,3703,5500,0000,0000,0710,0001	; 7364	=100	(AR+ARX+MQ)*2, J/EFMPP3		;try this correction factor.
U 1675, 2716,3701,7710,0000,0000,0710,0001	; 7365	=101	(AR+ARX+MQ)*.25, J/EFMPP3	;shouldn't ever get here.
U 1676, 2716,3703,5500,0000,0000,0710,0001	; 7366	=110	(AR+ARX+MQ)*2			;and this for postive numbers.
						; 7367	=
U 2716, 0631,2301,0260,0000,0000,0610,0030	; 7368	EFMPP3:	BR_AR LONG, AR_0.C, ARX_1S	;result to BR!BRX. Build mask.
						; 7369	=01	SC_#, #/10.,			;load SC with shift count.
U 0631, 2264,0001,0000,0302,0000,0050,0012	; 7370			CALL [SHIFT]		;Now have mask of 0,,1777
U 0633, 2717,3242,2660,0000,0000,0010,0000	; 7371		AR_BR LONG, BR_AR LONG		;mask to BR, result TO AR!ARX.
U 2717, 2720,3522,0014,0000,0000,0710,0003	; 7372		MQ_MQ*BR, AD/ANDCB		;clear the last 10 MQ bits.
						; 7373		GEN AR, SC_#, #/3,		;generate NORM bits.
U 2720, 1710,3701,0000,0302,0040,0035,0003	; 7374			NORM, J/ENORM		;conditions set for EE norm.
						; 7375	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT DIVIDE						

						; 7376	.TOC	"GFLT DIVIDE"
U 2721, 2324,4001,0007,0000,0000,1010,0165	; 7377	EFDV0:	FM[E1]_AR			;no sticky bits on divide.
U 2324, 2350,3202,2000,0000,0020,5550,0000	; 7378	=0	AR_BR, SKP AD0, CALL [SGNEXT]	;sign extend mem high.
						; 7379		GEN AR*AC0, AD/XOR, SKP AD0,	;determine sign of result.
U 2325, 1700,3100,0060,0000,0020,5510,0000	; 7380			BR_AR LONG		;mem op to BR!BRX.
U 1700, 0670,3240,5001,0000,0020,0050,0000	; 7381	=000	AR_AC1*2, CALL [EFDV1]		;start division.
U 1701, 0670,3240,5001,0000,0020,1650,0001	; 7382		SR_1, AR_AC1*2, CALL [EFDV1]	;note result if negative.
						; 7383	
						; 7384	=011	AC1_AR, AR_MQ, ARL/AD, FE_FE+1,	;set step count to 35-2.
U 1703, 0523,3723,2001,4001,0001,1050,0102	; 7385			MQ_0.M, CALL [DIV+]	
						; 7386	=101	AC1_AR, AR_MQ, ARL/AD, FE_FE+1,
U 1705, 0522,3721,2001,4001,0001,1050,0102	; 7387			MQ_0.M, CALL [DIV-]
U 1707, 2722,0001,0000,0401,0000,0410,0000	; 7388	=111	CLR AR, CLR FE			;exp must be adjusted-
U 2722, 2723,0001,0000,0000,0000,0110,0200	; 7389		AR0-8_#, #/200			;  it is currently 2000 too low
U 2723, 2724,0600,2007,0000,0020,0010,0172	; 7390		[AR]_[AR]*FM[T2], AD/A+B	;add in the correction.
U 2724, 2725,4001,0007,0000,0000,1010,0172	; 7391		FM[T2]_AR			;store the corrected exp in T2.
						; 7392		AR_AC1, ARX/MQ, SC_#, #/3,	;get answer ready for norm.
U 2725, 1710,3240,2301,0302,0040,0035,0003	; 7393			NORM, J/ENORM
						; 7394	
						; 7395	=00
						; 7396	EFDV1:	ARX_AR, AR_AC0, SKP AD0, FE_#,	;AC low*2 to ARX, AC high to AR.
U 0670, 2326,3240,2400,0301,1020,5550,0027	; 7397			#/23., CALL [EDVCHK]
U 0672, 1062,4001,0000,0000,0000,4210,0000	; 7398	=10	SKP BR0, J/DDVSUB
U 0673, 0066,4001,0000,0000,0000,1110,0624	; 7399		SET FL NO DIV, J/IFNOP		;no division this time.
						; 7400	
						; 7401	=0
U 2326, 2330,0001,0010,0000,1000,0010,0000	; 7402	EDVCHK:	MQ_AR, J/EDVCH1			;go to an even address.
U 2327, 2326,5143,7700,0000,0020,0027,0000	; 7403		AR_-AR LONG, J/EDVCHK		;make ac op positive.
						; 7404	
						; 7405	=0
U 2330, 2346,4001,0000,0000,0000,4550,0000	; 7406	EDVCH1:	SKP AR0, CALL [ISOEXP]		;op saved in MQ, get exp in AR.
						; 7407		[AR]_[AR]*FM[T2], AD/A-B,	;subtract exponents.
U 2331, 2332,5100,2007,4000,0040,5510,0172	; 7408			SKP AD0			;did this cause an underflow ?
						; 7409	=0
U 2332, 2333,0001,0000,0000,0000,1610,0062	; 7410		SET SR2 			;no, let SR2 denote this.
U 2333, 2334,0001,0007,0000,0000,1010,0172	; 7411	EDVCH2:	FM[T2]_AR			;yes, save exponent in T2 for ENORM.
						; 7412	
						; 7413	=0
U 2334, 2350,3723,2000,0000,0020,5550,0000	; 7414	EDVCH3:	AR_MQ, SKP AD0, CALL [SGNEXT]	;now sign extend the op.
U 2335, 2152,0001,0000,0000,0001,4210,0100	; 7415		SKP BR0, MQ_0.M, J/FDVCK1
						; 7416	
						; 7417	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT NORMALIZATION					

						; 7418	.TOC	"GFLT NORMALIZATION"
						; 7419	;Normalization is done here.
						; 7420	;	The are 8 addresses the can be reached when doing a
						; 7421	;	NORM dispatch. The following table describes the
						; 7422	;	dispatching and how to normalize the fraction and
						; 7423	;	exponent.
						; 7424	;
						; 7425	;	=000	AR=0			AR is zero, check ARX,MQ
						; 7426	;	=001	AR00=1			sign bit on, complement
						; 7427	;	=010	MSB in AR 1-6		shf 4 rt.(a guess)
						; 7428	;	=011	MSB in AR07		sht 2 rt.
						; 7429	;	=100	MSB in AR08		sht 3 rt.
						; 7430	;	=101	MSB in AR09		right on!
						; 7431	;	=110	MSB in AR10		sht 1 lf.
						; 7432	;	=111	MSB in AR 11-35		sht 4 lf.(a guess)
						; 7433	;
						; 7434	;The normalization routine for double precision assumes that
						; 7435	;	the exponent can be found in the FE. As it goes through
						; 7436	;	the normalization process, it adjusts the fraction and
						; 7437	;	the FE by the correct amounts to normalize the number.
						; 7438	;	In GFLT numbers, the exponent may not fit
						; 7439	;	into the FE, so it has to be saved in an accumulator.
						; 7440	;	However, if one assumes initially that the exponent is
						; 7441	;	zero and that it is in the FE, then the same normalization
						; 7442	;	algorithm can be used as in double precision numbers
						; 7443	;	with the realization that at the end of the normalization
						; 7444	;	process the FE contains the correction (EC)  that must be
						; 7445	;	added into the saved exponent (ES)  to produce a 'bit-9'
						; 7446	;	normalized number. Once this correction value is obtained,
						; 7447	;	the 'bit-12' normalized exponent (EN)  is given by
						; 7448	;			EN = ES + EC + 3
						; 7449	
U 2726, 2727,0001,0007,0000,0000,1010,0172	; 7450	MEMNRM:	FM[T2]_AR			;save larger exponent.
U 2727, 2336,3240,2007,0000,0020,5510,0176	; 7451		[AR]_FM[E0], SKP AD0, J/ACNRM1	;get high word, sign extend it
						; 7452	
U 2730, 2731,4001,0007,0000,0000,1010,0172	; 7453	ACNORM:	FM[T2]_AR			;save larger exponent.
U 2731, 2732,3200,5001,0401,0020,0010,0000	; 7454		AR_AC1*2, CLR FE		;get low word*2 into AR.
U 2732, 2336,3200,2400,0000,1020,5510,0000	; 7455		ARX_AR, AR_AC0, SKP AD0		;get high word, sign extend it.
						; 7456	=0
						; 7457	ACNRM1:	[AR]_[AR]*FM[EXPMSK], AD/AND,	;sign extend with 0's.
U 2336, 1710,3600,2007,4000,0040,0035,0164	; 7458		NORM, J/ENORM
						; 7459		[AR]_[AR]*FM[EXPMSK], AD/ORCB,	;sign extend with 1's.
U 2337, 1710,2700,2007,4000,0040,0035,0164	; 7460			NORM			;fall into the normalize routine.
						; 7461	
						; 7462	=000
						; 7463	ENORM:	SKP ARX+MQ NE, SC_#, #/35.,	;AR=0,check ARX,+MQ.
U 1710, 2344,3723,0000,0302,0040,5427,0043	; 7464			J/ENZERO
						; 7465		BR/AR, BRX/ARX, AR_MQ COMP,	;result neg, complement.
U 1711, 2736,2021,2060,0000,0000,1610,0061	; 7466			SET SR3, J/ENNEG	;flag negative seen.
						; 7467		AR_AR*.25 LONG, MQ_MQ*.25,	;MSB in AR 1-6.
U 1712, 2737,3701,7710,2031,0000,0012,0004	; 7468			FE_FE+#, #/4, J/ENHI
						; 7469		AR_AR*.25 LONG, FE_FE+#,	;MSB in AR07.
U 1713, 1715,3701,7700,2031,0000,0010,0002	; 7470			#/2, J/EROUND		;
U 1714, 1715,0301,7700,4001,0020,0027,0000	; 7471		AR_AR*.5 LONG, FE_FE+1		;MSB in AR08.
						; 7472	EROUND:	BR_AR LONG, AR+MQ_0.S,	 	;MSB in AR09, where we want it.
U 1715, 2740,0001,0060,0000,0000,0022,0130	; 7473			J/ERND1			;put result in BR!BRX.
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4-1
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT NORMALIZATION					

						; 7474		(AR+ARX+MQ)*2, FE_FE-1,		;MSB in AR10.
U 1716, 1715,3701,5500,3001,0000,0710,0001	; 7475			J/EROUND
U 1717, 2733,4001,4000,5001,0000,0010,0000	; 7476		AR_SHIFT, FE_FE-SC		;MSB somewhere in AR 11-35.
						; 7477	
U 2733, 2734,4001,4340,0000,2000,0010,0000	; 7478	ENSHFT:	BR/AR, AR_ARX, ARX/MQ		;shift everyone.
U 2734, 2735,3721,6010,0000,0000,0510,0000	; 7479		MQ_SHIFT, AR_ARX (ADX), CLR ARX
						; 7480		MQ_SHIFT, ARX/MQ, AR_BR,	;go aroung again.
						; 7481			SC_#, #/10.,
U 2735, 1710,3202,2310,0302,0040,0035,0012	; 7482			NORM, J/ENORM
						; 7483	
U 2736, 2340,3200,0007,0000,0020,5610,0165	; 7484	ENNEG:	GEN E1, SKP AD NE		;any sticky bits left around?
U 2340, 2342,4001,2000,0000,0040,5410,0000	; 7485	=0	AR_AR+1, SKP CRY0, J/ENNEG1	;no, 2's comp MQ.
						; 7486		MQ_AR, AR_BR COMP, ARX_BRX COMP,
U 2341, 1710,2502,2610,0000,1040,0035,0000	; 7487			NORM, J/ENORM		;one's complement to finish.
						; 7488	=0
						; 7489	ENNEG1:	MQ_AR, AR_BR COMP, ARX_BRX COMP,
U 2342, 1710,2502,2610,0000,1040,0035,0000	; 7490			NORM, J/ENORM		;one's complement to finish.
						; 7491		MQ_AR, AR_-BR, ARX/ADX,		;carry happened, do two's comp.
U 2343, 1710,5142,2610,0000,1060,0035,0000	; 7492			NORM, J/ENORM
						; 7493	
U 2737, 2762,3701,7710,0000,0000,0710,0001	; 7494	ENHI:	(AR+ARX+MQ)*.25, J/ENTRY	;go try again after setting SC.
						; 7495	=0
U 2344, 0255,3401,2200,0000,0000,1610,0000	; 7496	ENZERO:	SR_0, AR_0S, ARX_0S, J/DBLST	;result = 0, store in AC,AC+1.
U 2345, 2733,4001,4000,5001,0000,0010,0000	; 7497		AR_SHIFT, FE_FE-SC, J/ENSHFT	;not zero, try next 35 bits.
						; 7498	
U 2740, 2741,4041,0500,0000,0020,0010,0000	; 7499	ERND1:	ARX_2				;build rounding constant.
U 2741, 2742,3243,0600,0000,0000,0010,0000	; 7500		ARX_ARX*4			;gen a 10 in the ARX for rounding.
U 2742, 1526,0602,2604,0000,0060,0035,0000	; 7501		AR_AR+BR, ARX/ADX, NORM		;do the rounding and test norm.
U 1526, 1527,0301,7700,4001,0020,0027,0000	; 7502	=110	AR_AR*.5 LONG, FE_FE+1		;rounding blew norm, correct it.
						; 7503	
						; 7504	; When we get here the number is 'bit-9' normalized
						; 7505	; in the AR,ARX.  Add the FE + 3 to the exponent
						; 7506	; saved in T2.
						; 7507	; At this point the Extended Exponent must be put
						; 7508	; into the AR after everything is shifted right 3 bits.
						; 7509	; The double precision norm routine does this by:
						; 7510	; EXP_FE TST, SR DISP, CLR MQ, BRX/ARX, ARX_1
						; 7511	
						; 7512	
						; 7513	ERND2:	AR_AR*.25 LONG,		;shift everything 2 bits right.
						; 7514			MQ_MQ*.25,	;	"	"	"
U 1527, 2743,3701,7710,0302,0000,0012,0003	; 7515			SC_#, #/3	;add in correction to FE.
						; 7516		AR_AR*.5 LONG,		;now shift the final bit position.
U 2743, 2744,0303,7700,2002,0020,0027,0000	; 7517			SC_FE+SC	;total exponent correction.
U 2744, 2745,4001,0060,0000,0000,0410,0000	; 7518		BR/AR, BRX/ARX, CLR AR	;save answer in BR,BRX.
U 2745, 2746,4001,0000,2400,2001,0110,0000	; 7519		EXP_SC.MS		;get exp corr in AR.
						; 7520		ARX_AR, AR_SIGN,	;get exp into ARX 1-8.
U 2746, 2747,5441,2400,0302,1020,0016,0041	; 7521			SC_#,#/33.	;prepare to shift 3 places.
						; 7522		ARX_SHIFT,		;move exponent into ARX 1-11.
U 2747, 2750,3240,2407,0000,0020,0010,0164	; 7523			[AR]_FM[EXPMSK]	;prepare to build mask in AR.
U 2750, 2751,0001,0000,0000,0000,0110,0400	; 7524		AR0-8_#, #/400		;include AR00 in EXPMSK==>400077,,-1
						; 7525		AR_AR*BR, AD/AND,	;zero AR1-11 to make room for exp.
U 2751, 2752,3602,2004,0302,0000,0010,0043	; 7526			SC_#, #/35.
						; 7527	
						; 7528	; I am sure a few lines of code can be saved around here.
						; 7529	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4-2
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT NORMALIZATION					

U 2752, 2753,3260,2047,0000,0020,0010,0172	; 7530		[AR]_FM[T2], BR/AR	;save high word in BR, load larger exp.
U 2753, 2754,3242,2040,0000,0000,0010,0000	; 7531		AR_BR, BR/AR		;swap around so we can add.
						; 7532		AR_ARX+BR, BR/AR,	;have final exponent, check for problems.
U 2754, 2755,0612,2040,0302,0020,0010,0000	; 7533			SC_#,#/0
U 2755, 0463,4001,0000,0000,0040,0007,0000	; 7534		SH DISP			;any exponent problems ?
						; 7535	=0011	ARX_AR, SC_#, #/35.,	; no problems.
U 0463, 2757,0001,0400,0302,1000,0010,0043	; 7536			J/ENFNL1
						; 7537	ENFNL0:	ARX_AR, SC_#, #/35.,	; no problems.
U 0467, 2757,0001,0400,0302,1000,0010,0043	; 7538			J/ENFNL1
U 0473, 2756,0001,0000,0000,0000,1110,0620	; 7539		SET FLOV,  J/EEOV	; an overflow occurred.
						; 7540			
U 0477, 0535,0001,0000,0000,0000,0005,0000	; 7541		SR DISP			;floating underflow - is it real ?
						; 7542	=1101	;test SR2.
U 0535, 2756,4001,0000,0000,0000,1110,0630	; 7543		SET FXU, J/EEOV		;yes, it is a real underflow.
U 0537, 2756,0001,0000,0000,0000,1110,0620	; 7544		SET FLOV		;no, GFDV saw an overflow before.
						; 7545	
						; 7546	EEOV:	P_P AND #, #/37,	;turn off AR00.
U 2756, 0467,4001,0000,7130,3000,0110,0037	; 7547			J/ENFNL0
						; 7548	
U 2757, 2760,3312,2004,0000,0000,0010,0000	; 7549	ENFNL1:	AR_ARX*BR, AD/OR	;AR now has high word, BRX has low.
U 2760, 0732,4041,0200,0000,0021,0005,0100	; 7550		ARX_1, MQ_0.M, SR DISP	;incase negation of lower word needed.
						; 7551	=10	AC0_AR, AR_SHIFT,	;store high word,
						; 7552			ARX_BRX,	;move low word to ARX.
U 0732, 0246,3242,4600,0000,0217,1010,0000	; 7553			I FETCH, J/STD1	;prepare to store low word and exit.
						; 7554		ARX_ARX*BRX, AD/ANDCA,	; clear rounding bit.
U 0733, 2761,3002,0604,0000,0000,1610,0000	; 7555			SR_0,J/CDBLST	;negate result and store double result.
						; 7556	
U 2761, 0255,5163,7700,0000,0020,0027,0000	; 7557	CDBLST:	AR_-AR LONG, J/DBLST
						; 7558	
U 2762, 1710,3701,0000,0302,0040,0035,0003	; 7559	ENTRY:	SC_#, #/3, GEN AR, NORM, J/ENORM; go normalize again.
						; 7560	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT TO INTEGER CONVERSION				

						; 7561	.TOC	"GFLT TO INTEGER CONVERSION"
						;;7562	.IF/GFTCNV		;[273]
						;;7563	
						;;7564	;ETXIX routine is used when converting extended exponent data to
						;;7565	;single/double precision integers with rounding/truncation.
						;;7566	;This routine assumes that the AR/ARX contain the extended exponent
						;;7567	;data. It also assumes that the maximum exponent value + 1 of either
						;;7568	;36 or 70 (decimal) are already in the FE. This is the positive exponent
						;;7569	;maximum; the code adjusts for the fact that a negative number can have
						;;7570	;an exponent one greater than a positive number. 
						;;7571	;It uses all of the registers in the EBOX and returns 4 if the
						;;7572	;result is positive and returns 5 if the result is negative
						;;7573	;with the AR/ARX containing the double word integer. It is the
						;;7574	;responsibility of the calling routine to determine whether
						;;7575	;rounding or truncation should be performed and how many words
						;;7576	;to store.
						;;7577	
						;;7578	ETXIX:	ARX_ARX*2		;get low word*2 into ARX.
						;;7579	=0	MQ_AR, SKP AR0,		; get a positive exp in AR.
						;;7580			CALL [ISOEXP]
						;;7581		CLR AR, BR/AR		;clear extraneous bits, save exp.
						;;7582		AR0-8_#, #/200		;test for positive exp.
						;;7583		GEN AR+BR, SKP AD0,	;skip on positive exponent(sum has AD0 on).
						;;7584			AR_0.M		;so exponent test has a clean register.
						;;7585	=0	MEM/ARL IND, CLR/AR+ARX,;exponent must be positive.
						;;7586			RETURN4		;return to caller.
						;;7587		AR0-8_#, #/212, J/ET1	;start range check of positive exponent
						;;7588	
						;;7589	;At this point the exponent is in BR 1-11 and it is positive.
						;;7590	;Now we must determine if it is a small enough positive number
						;;7591	;to make the conversion to integer meaningful.
						;;7592	ET1:	GEN AR-BR, SKP AD0	;do the exponent test.
						;;7593	=0	AR_BR*4, J/ET2		;exp fits in AR0-8, now for final test!
						;;7594		SET AROV, I FETCH, J/NOP;exponent out of range.
						;;7595	ET2:	AR_AR*2			;finish moving exponent into AR0-8.
						;;7596		SC_AR0-8, GEN MQ,	;exponent to SC.
						;;7597			SKP AD0		;max neg exponent is 1 gtr than max pos exp.
						;;7598	=0
						;;7599	ET2A:	AR_MQ, GEN FE-SC,	;shift low word into ARX00-34, caller
						;;7600			SKP SCAD0,	;put max exponent+1 in FE. range check.
						;;7601			J/ET2B
						;;7602		FE_FE+1, J/ET2A		;max neg exp is 1 gtr than max pos exp.
						;;7603	=0
						;;7604	ET2B:	FE_SC, J/ET3		;save exp in FE.
						;;7605		SET AROV, I FETCH, J/NOP;exponent is too large.
						;;7606	ET3:	SC_#, #/12.		;prepare to map AR12 into AR00.
						;;7607	
						;;7608	;We now have the high word in the AR and
						;;7609	;the low word*2 in the ARX. The SC has 12 (dec) to let the
						;;7610	;shifter strip off the sign and exponent of the high word.
						;;7611		AR_SIGN, MQ_SHIFT	;put high 36 integer bits into MQ.
						;;7612		AR_ARX, BR/AR, CLR ARX	;generate low 36 integer bits and
						;;7613		AR_BR, ARX/MQ, MQ_SHIFT,;  put in MQ. High bits to ARX.
						;;7614			SC_FE-#, #/36.,	;check the size of the exponent.
						;;7615			SKP SCAD0	;if exp<36. then high result is sign.
						;;7616	=0	GEN SC, SKP SCAD NE,	;is exponent gtr or geq to 36 ?
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5-1
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT TO INTEGER CONVERSION				

						;;7617			J/ET3A
						;;7618		SC_#+SC, #/37., J/ET5	;exponent less than 36.
						;;7619	=0
						;;7620	ET3A:	(AR+ARX+MQ)*2, J/ET3B	;must shift left 1 bit.
						;;7621		BRX/ARX, SC_#+SC, #/1,	;adjust exp, save low word in BRX.
						;;7622			J/ET4
						;;7623	ET3B:	BR_AR LONG, AR_ARX,	;high and low to BR!BRX
						;;7624			SC_#, #/35.,	;get a good exponent for final shifting.
						;;7625			ARX/MQ, J/ET4A	;rest of fraction to ARX.
						;;7626	ET4:	AR_ARX (AD), ARX/MQ,	;exp gtr 36. High result has integer bits.
						;;7627			MQ_SHIFT	;high result to MQ.
						;;7628		AR_MQ, ARX_SHIFT	;put integer bits into ARX.
						;;7629		BR_AR LONG, AR_ARX (AD),;now compute fraction.
						;;7630			CLR ARX		;low integer to AR, pad with zeros in ARX.
						;;7631	ET4A:	AR_BR LONG, MQ_SHIFT,	;restore integer to AR!ARX, fraction to MQ.
						;;7632			SC_#, #/35.,	;low word must have bit 0 same as high.
						;;7633			SKP AD0, RET[4]	;  and return on sign of integer.
						;;7634	=01
						;;7635	ET5:	FM[T0]_AR, AR_ARX (AD),	;sign is high 36 bit result. Save in T0.
						;;7636			ARX/MQ,		;high 36 bits of frac to AR, low 23 to ARX.
						;;7637			MQ_SHIFT,	;low integer result to MQ.
						;;7638			CALL [SHIFT]	;high half of fraction to AR.
						;;7639	
						;;7640	;Now we have the high 36 bits of mantissa in AR, the low 23 bits if mantissa
						;;7641	;in the ARX, the high 36 bit result (the sign bits) in T0 and the low 36 bit
						;;7642	;result in the MQ. Now we compute the fraction to store.
						;;7643		BR/AR, AR_ARX, CLR ARX	;high frac to BR. Now gen low fraction bits.
						;;7644		ARX_SHIFT,		;low fraction bits to ARX.
						;;7645			SC_#, #/35.	;low word must have same sign as high.
						;;7646		GEN ARX*BR, AD/OR,	;gen composite OR of fraction into 1 word.
						;;7647			MQ_AD,		;put this funny fraction in the MQ.
						;;7648			ARX/MQ		;low integer result to ARX.
						;;7649		[AR]_FM[T0], SKP AD0,	;get high result (Sign) back in AR.
						;;7650			RET[4]		;and return to caller.
						; 7651	.ENDIF/GFTCNV		;[273]
						; 7652	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT TO INTEGER CONVERSION				

						; 7653	
						; 7654	;ISOEXP will isolate the exponent in an extended exponent data word.
						; 7655	;It will return the positive representation of the exponent.
						; 7656	;Call with AR containing high order word with "SKP AR0" to do
						; 7657	;correct things with one's complemented exponent in negative numbers.
						; 7658	;It returns 1 with the positive exponent in the AR.
						; 7659	=0
U 2346, 0001,3500,2007,4000,0020,0003,0164	; 7660	ISOEXP:	[AR]_[AR]*FM[EXPMSK],AD/ANDCB,RET[1] ;isolate pos exp in AR1-11.
U 2347, 0001,2400,2007,4000,0020,0003,0164	; 7661		[AR]_[AR]*FM[EXPMSK],AD/NOR,RET[1]   ;isolate neg exp in AR1-11.
						; 7662	
						; 7663	;SGNEXT will extend the sign bit of the AR into AR1-11. Call with
						; 7664	;SKP AR0 so the correct actions are taken for negative numbers.
						; 7665	;It will do a return 1 with either ones or zeroes in AR1-11.
						; 7666	=0
U 2350, 0001,3600,2007,4000,0020,0003,0164	; 7667	SGNEXT:	[AR]_[AR]*FM[EXPMSK], AD/AND, RET[1]  ;extend 0s into AR1-11.
U 2351, 0001,2700,2007,4000,0020,0003,0164	; 7668		[AR]_[AR]*FM[EXPMSK], AD/ORCB, RET[1] ;extend ones into AR1-11.
						; 7669	
						; 7670	;OVTEST will determine if the high order word of a double integer,
						; 7671	;as stored in the AR is all sign bits, ie either it is all zeroes
						; 7672	;or all ones. The call is via "GEN AR, SKP AD NE, J/OVTEST".
						; 7673	;It assumes that the double integer is in the AR/ARX and the SC
						; 7674	;contains 35 decimal.
						; 7675	;OVTEST will store the ARX*.5 and exit if the AR is all sign bits. 
						; 7676	;It will set AROV and jump to NOP if it finds some data bits.
U 2763, 2352,3723,2000,0000,0020,5610,0000	; 7677	OVTST1:	AR_MQ, SKP AD NE		;get the sign bits from the MQ.
						; 7678	=0
U 2352, 2764,0001,4000,0000,0217,0010,0000	; 7679	OVTEST:	AR_SHIFT, I FETCH, J/OVTST2	;the high word is all zeros - ok.
U 2353, 2354,4003,0000,0000,0040,5610,0000	; 7680		GEN AR+1, SKP AD NE		;check to see if it is all ones.
U 2354, 2764,0001,4000,0000,0217,0010,0000	; 7681	=0	AR_SHIFT, I FETCH, J/OVTST2 	;this is simply a negative number.
U 2355, 0075,4001,0000,0000,0217,1110,0420	; 7682		SET AROV, I FETCH, J/NOP	;sorry, we found some data bits.
U 2764, 0075,4001,0000,0000,0000,1010,0000	; 7683	OVTST2:	AC0_AR, J/NOP			;finish the store.
						; 7684	
						; 7685	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT DATA CONVERSION INSTRUCTIONS			

						; 7686	.TOC	"GFLT DATA CONVERSION INSTRUCTIONS"
						; 7687	1013:
U 1013, 1006,0001,0000,0000,0000,0010,0000	; 7688	L-XBLT:	J/LUUO
						; 7689	1014:
U 1014, 1006,0001,0000,0000,0000,0010,0000	; 7690	L-GTPI:	J/LUUO			
						; 7691	1104:
U 1104, 1006,0001,0000,0000,0000,0010,0000	; 7692	L-SFTE:	J/LUUO
						; 7693	1105:
U 1105, 1006,0001,0000,0000,0000,0010,0000	; 7694	L-GTDI:	J/LUUO
						; 7695	1106:
U 1106, 1006,0001,0000,0000,0000,0010,0000	; 7696	L-GTSI:	J/LUUO
						; 7697	1107:
U 1107, 1006,0001,0000,0000,0000,0010,0000	; 7698	L-GTDR:	J/LUUO
						; 7699	1110:
U 1110, 1006,0001,0000,0000,0000,0010,0000	; 7700	L-GTSR:	J/LUUO
						; 7701	1111:
U 1111, 1006,0001,0000,0000,0000,0010,0000	; 7702	L-DITE:	J/LUUO
						; 7703	1112:
U 1112, 1006,0001,0000,0000,0000,0010,0000	; 7704	L-SITE:	J/LUUO
						; 7705	1113:
U 1113, 1006,0001,0000,0000,0000,0010,0000	; 7706	L-EFSC:	J/LUUO
						; 7707	
						; 7708	.IF/XADDR
U 3013, 3451,3200,0204,0000,0020,0010,0000	; 7709	3013:	ARX_AC2, J/XBLT		; -20-  XBLT
						; 7710	.ENDIF/XADDR
U 3014, 2765,3240,2007,0000,0020,0010,0165	; 7711	3014:	[AR]_FM[E1], J/L-GTSP	; -21-	GSNGL
U 3104, 3004,3260,2007,0000,0020,0010,0165	; 7712	3104:	[AR]_FM[E1], J/L-EDBL	; -22-	GDBLE
						; 7713	.IFNOT/GFTCNV		;[273]
U 3105, 1002,4001,0000,0000,0000,0010,0000	; 7714	3105:	J/MUUO			; -23-	DGFIX	;[273]
U 3106, 1002,4001,0000,0000,0000,0010,0000	; 7715	3106:	J/MUUO			; -24-	GFIX	;[273]
U 3107, 1002,4001,0000,0000,0000,0010,0000	; 7716	3107:	J/MUUO			; -25-	DGFIXR	;[273]
U 3110, 1002,4001,0000,0000,0000,0010,0000	; 7717	3110:	J/MUUO			; -26-	GFIXR	;[273]
						;;7718	.IF/GFTCNV		;[273]
						;;7719	3105:	[AR]_FM[E1], J/L-GTIN	; -23-	DGFIX
						;;7720	3106:	[AR]_FM[E1], J/L-GTIN	; -24-	GFIX
						;;7721	3107:	[AR]_FM[E1], J/L-GTIN	; -25-	DGFIXR
						;;7722	3110:	[AR]_FM[E1], J/L-GTIN	; -26-	GFIXR
						; 7723	.ENDIF/GFTCNV		;[273]
U 3111, 3030,3240,2007,0000,0020,0010,0165	; 7724	3111:	[AR]_FM[E1], J/L-FLTR	; -27-	DGFLTR
U 3112, 3037,3260,2007,0000,0020,0010,0165	; 7725	3112:	[AR]_FM[E1], J/L-DFLT	; -30-	GFLTR
U 3113, 2372,3260,2007,0000,0020,0010,0165	; 7726	3113:	[AR]_FM[E1], J/L-DFSC	; -31-	GFSC
						; 7727	
						; 7728	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT DATA CONVERSION INSTRUCTIONS			

U 2765, 2766,3701,0000,0000,0312,0010,0000	; 7729	L-GTSP:	VMA_AR, LOAD AR		;-21- GSNGL EDPFP TO SPFP
U 2766, 2767,3200,0003,0000,0022,0022,0100	; 7730		AR_MEM, MQ_0.S		;load high word into AR.
U 2767, 2356,3701,0000,0000,0020,5610,0000	; 7731		GEN AR, SKP AD NE	;check for zeroes.
U 2356, 0074,0001,0000,0000,0217,0010,0000	; 7732	=0	I FETCH, J/STORAC	;high word zero, store it.
U 2357, 2360,0001,0000,0000,0000,3610,0000	; 7733		VMA_VMA+1		;point to mem low word.
						; 7734	=0	ARX_AR, SKP AR0,	;save high word in ARX.
U 2360, 2346,4001,0400,0000,1000,4550,0000	; 7735			CALL [ISOEXP]	;get the excess-2000 exponent.
U 2361, 2770,0001,0040,0000,0000,0410,0000	; 7736		CLR AR, BR/AR		;exp to BR.
U 2770, 2771,0001,0000,0000,0000,0110,0220	; 7737		AR0-8_#, #/220		;largest exponent allowed is 2200.
U 2771, 2362,1102,0000,0000,0040,5510,0000	; 7738		GEN AR-BR-1, SKP AD0	;range check exponent.
U 2362, 2772,0001,0000,0000,0000,0110,0157	; 7739	=0	AR0-8_#, #/157, J/L-GTS1;do lower range check now.(actually too low)
U 2363, 0075,0001,0000,0000,0217,1110,0620	; 7740		SET FLOV, I FETCH, J/NOP;tough
U 2772, 2773,3242,2040,0000,0000,0010,0000	; 7741	L-GTS1:	BR/AR, AR_BR		;swap values around for next subtract.
U 2773, 2364,5102,0004,0000,0040,5510,0000	; 7742		GEN AR-BR, SKP AD0	;do lower range check.
U 2364, 2774,4001,0040,0000,0000,0410,0000	; 7743	=0	BR/AR, CLR AR, J/L-GTS6	;passed. 10 bit path to do last checks.
U 2365, 0075,4001,0000,0000,0217,1110,0630	; 7744		SET FXU, I FETCH, J/NOP	;too low.
U 2774, 2775,0001,0000,0000,0000,0110,0160	; 7745	L-GTS6:	AR0-8_#, #/160		;subtract 1600 to get excess 200 exp.
U 2775, 2776,3242,2040,0000,0000,0010,0000	; 7746		AR_BR, BR/AR		;swap around to do subtract.
U 2776, 2777,5102,2000,0000,0020,0010,0000	; 7747		AR_AR-BR		;got it.
U 2777, 3000,3243,5000,0000,0000,0010,0000	; 7748		AR_AR*8			;move excess-200 exponent over.
						; 7749		FE_AR0-8, AR_ARX,	;put some exponent in FE. High word to AR.
U 3000, 3001,4001,4000,2421,2013,0010,0000	; 7750			LOAD ARX	;low word to ARX.
						; 7751	;This next test determines the relative size of the exponent. If the expo-
						; 7752	;nent is less than 401 then it is a positive exponent and all will be well.
						; 7753	;If the exponent is greater than 400 (actually 700), then the exponent is
						; 7754	;really negative but bit 0 of the FE is off. To correct the sign of the
						; 7755	;exponent and to prevent undeserved FXU later because of the incorrect sign
						; 7756	;bit, we must examine the value of the exponent so as to always get the
						; 7757	;correct sign during normalization.
						; 7758		ARX_MEM, GEN FE-#,	;undeserved FXU happens when FE00 should be
U 3001, 2366,3240,0003,5030,0042,5110,0500	; 7759			#/500, SKP SCAD0;set from previous subtract of 1600.
						; 7760	=0	FE_FE+#, #/777,		;set FE00. Later add will clear it.
						; 7761			ARX_ARX*2,	;low word * 2.
U 2366, 2370,3721,0500,2031,0000,0010,0777	; 7762			J/L-GTS7	;continue.
U 2367, 2370,3721,0500,3001,0000,0010,0000	; 7763		FE_FE-1, ARX_ARX*2	;adjust FE so later add gets right exp.
						; 7764	=0
U 2370, 2350,0001,0000,0000,0000,4550,0000	; 7765	L-GTS7:	SKP AR0, CALL [SGNEXT]	;sign extend high word.
						; 7766		AR_AR*.25 LONG,		;prepare for normalization
						; 7767			FE_FE+#, #/6,	;adjust exponent.
U 2371, 1240,3703,7700,2031,0040,0035,0006	; 7768			NORM, J/SNORM	;finish up.
						; 7769	
U 3004, 3007,3703,0000,0000,0312,0010,0000	; 7770	L-EDBL:	VMA_AR, LOAD AR		;-22- GDBLE SPFP to EXTENDED EXPONENT
U 3007, 3015,3240,0003,0000,0022,0710,0003	; 7771		AR_MEM, CLR MQ
U 3015, 3016,4001,0400,0202,1000,0410,0000	; 7772		SC_EXP, ARX_AR, CLR AR	;correct the expoent, save a copy in the ARX
U 3016, 3017,0001,0007,0000,0000,1010,0165	; 7773		FM[E1]_AR		;no sticky bits here.
U 3017, 3020,4001,0000,2400,2001,0010,0200	; 7774		EXP_SC			;put the "positive" exponent back IN THE AR.
U 3020, 3021,0303,7000,0000,0020,0010,0000	; 7775		AR_AR*.5		;must move exponent into AR4-11
U 3021, 3022,3703,7000,0000,0000,0010,0000	; 7776		AR_AR*.25		;  done.
U 3022, 3023,0001,0040,0000,0000,0410,0000	; 7777		BR/AR, CLR AR		;exp to BR.
U 3023, 3024,4001,0000,0000,0000,0110,0160	; 7778		AR0-8_#, #/160		;put 1600 in the AR for exp conversion
U 3024, 3025,0602,2004,0301,0020,0010,0775	; 7779		AR_AR+BR, FE_#, #/-3	;convert exp, set initial exp correction
U 3025, 3026,4001,4007,0000,2000,1010,0172	; 7780		FM[T2]_AR, AR_ARX	;save exp for ENORM, frac to AR
U 3026, 3027,4001,0000,0000,1001,0610,0240	; 7781		EXP_SIGN.C, ARX_0.M	;get rid of exp, clear low word
						; 7782		GEN AR, SC_#, #/3, NORM,;normalize an extended exponent number
U 3027, 1710,3701,0000,0302,0040,0035,0003	; 7783			J/ENORM
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT DATA CONVERSION INSTRUCTIONS			

						; 7784	
						;;7785	.IF/GFTCNV		;[273]
						;;7786	L-GTIN:	VMA_AR, LOAD AR		;23-26. fetch high word.
						;;7787		AR_MEM, MQ_0.S,		;word in AR, init MQ.
						;;7788			VMA_VMA+1	;prepare to fetch low word.
						;;7789		GEN AR, SKP AD NE	;is high word all zeroes ?
						;;7790	=0	CLR ARX, EXIT DBL	;high word zero, store zeroes.
						;;7791		LOAD ARX, B DISP	;fetch low word, call appropriate routine.
						;;7792	
						;;7793	=000	ARX_MEM, J/L-G23	;do GDP to DP integer, truncate.
						;;7794	=010	ARX_MEM, J/L-G24	;do GDP to SP integer, truncate.
						;;7795	=100	ARX_MEM, J/L-G25	;do GDP to DP integer, rounded.
						;;7796	=110	ARX_MEM, J/L-G26	;do GDP to SP integer, rounded.
						;;7797	=				;terminate this dispatch block.
						;;7798	
						;;7799	;DGFIX needs the sticky bit fix.
						;;7800	=0010
						;;7801	L-G23:	FE_#, #/70.,		;-23- DGFIX GDP to double integer, truncate.
						;;7802			CALL [ETXIX]	;do the conversion
						;;7803	=0110	EXIT DBL		;store results.
						;;7804	=0111	BR_AR LONG, AR_ARX,	;save high 2 words in BR!BRX, MSB of
						;;7805			ARX/MQ,		;fraction to AR35. Rest of fraction to ARX.
						;;7806			SC_#, #/35.,	;get fraction all together.
						;;7807			CALL [EF12A]
						;;7808	=1111	GEN AR, SKP AD NE,	;any fraction bits on ?
						;;7809			MQ_0.S		;[240]CLEAR MQ00 FOR ARX_2 MACRO.
						;;7810	=0	AR_BR LONG, J/ST2AC	;no, leave answer alone.
						;;7811		CLR AR, ARX_2		;yes, add 1 to integer part.
						;;7812		AR_AR+BR LONG, J/ST2AC	;store result.
						;;7813	
						;;7814	;GFIX needs the sticky bit fix.
						;;7815	=0010
						;;7816	L-G24:	FE_#, #/35.,		;-24- GFIX GDP to single integer, truncate.
						;;7817			CALL [ETXIX]	;do the conversion
						;;7818	=0110
						;;7819	L-GTS2:	SKP AR NE, J/OVTEST	;test for sign bits in AR and store.
						;;7820	=0111	BR_AR LONG, AR_ARX,	;save in BR!BRX.
						;;7821			ARX/MQ,		;add one to integer part of negative number
						;;7822			SC_#, #/35.,	;if fraction is not zero.
						;;7823			CALL [EF12A]
						;;7824	=1111	GEN AR, SKP AD NE,	;is fraction zero ?
						;;7825			MQ_0.S		;[240]CLEAR MQ00 FOR ARX_2 MACRO.
						;;7826	=0	AR_BR LONG, SKP AD NE,	;yes, try to store the result.
						;;7827			J/OVTEST
						;;7828		CLR AR, ARX_2		;no, add one to integer part.
						;;7829		AR_AR+BR LONG, SKP AD NE,; do the add and test that the high
						;;7830			J/OVTEST	;word is all sign bits.
						;;7831	
						;;7832	=011
						;;7833	L-G25:	FE_#, #/70.,		;-25- DGFIXR GDP to double integer, rounded.
						;;7834			CALL [ETXIX]	;do the conversion
						;;7835	=111	BR_AR LONG, CLR AR,	;save in BR!BRX, round by adding one half
						;;7836			ARX_1,		;to result. Remember that the MSB of the
						;;7837			SC_#, #/35.	;store routine expects this.
						;;7838		AR_AR+BR LONG, AD FLAGS	;fraction is on ARX35.  Do the rounding and
						;;7839	;=0	; replace SKP CRY0 with AD FLAGS. Eliminates extra word.
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9-1
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT DATA CONVERSION INSTRUCTIONS			

						;;7840		EXIT DBL		;  store the double result.
						;;7841	;	SET AROV, I FETCH, J/NOP;rounding caused an overflow - too bad!
						;;7842	
						;;7843	=011
						;;7844	L-G26:	FE_#, #/35.,		;-26- GFIXR GDP to single integer, rounded.
						;;7845			CALL [ETXIX]	;do the conversion.
						;;7846	=111	BR_AR LONG, CLR AR,	;save in CR!BRX, round by adding one half
						;;7847			ARX_1,		;to result. MSB of the fraction is in ARX35.
						;;7848			SC_#, #/35.	;store routine expects this.
						;;7849		AR_AR+BR LONG, SKP AD NE,;do the rounding.
						;;7850			J/OVTEST	;figure out what, if any, to store.
						; 7851	.ENDIF/GFTCNV		;[273]
						; 7852	L-FLTR:	VMA_AR, LOAD AR,	;-27- DGFLTR DP INTEGER to EDPFP
U 3030, 3031,3701,0000,0301,0312,0010,0137	; 7853			FE_#, #/137	;inital fugde factor for exp
U 3031, 0744,3200,0003,0000,0022,0022,0100	; 7854		AR_MEM, MQ_0.S		;get high word into the AR.
						; 7855	=0*	VMA_VMA+1, LOAD ARX,	;get the low word into the ARX,
U 0744, 0736,4001,0040,0000,0013,3650,0000	; 7856			BR/AR, CALL [XFERW]; and save the high word in the BR.
U 0746, 3032,3701,0500,0000,0000,0410,0000	; 7857	=1*	ARX_ARX*2, CLR AR	;ignore the sign copy.
U 3032, 3033,0001,0007,0000,0000,1010,0165	; 7858		FM[E1]_AR		;no sticky bits here.
U 3033, 3034,0001,0000,0000,0000,0110,0200	; 7859		AR0-8_#, #/200		;ENORM expects the exponent in T2.
						; 7860		FM[T2]_AR, AR_BR,	;and save it in T2.
U 3034, 3035,3242,2217,0000,2000,1010,0172	; 7861			ARX/AD, MQ_ARX	;sign to AR, high to ARX, low to MQ.
U 3035, 3036,5401,2000,0000,0020,0016,0000	; 7862		AR_SIGN 		;
U 3036, 1710,3703,0000,0000,0040,0035,0000	; 7863		GEN AR, NORM, J/ENORM	;restore high word and normalize.
						; 7864	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10
; EXTEXP.MIC[10,5351]	22:20 31-Aug-82			GFLT DATA CONVERSION INSTRUCTIONS			

						; 7865	
						; 7866	L-DFLT:	VMA_AR, LOAD AR,	;-30- GFLTRSP INTEGER to EDPFP
U 3037, 3040,3703,0000,0301,0312,0010,0004	; 7867			FE_#, #/4	;initial fudge factor for exp.
U 3040, 3041,3200,0003,0000,0022,0710,0003	; 7868		AR_MEM, CLR MQ		;get the single precision op.
U 3041, 3042,5401,2400,0000,1020,0016,0000	; 7869		AR_SIGN, ARX_AR		;build a dummy high word of all sign.
U 3042, 3043,0001,0040,0000,0000,0410,0000	; 7870		BR/AR, CLR AR		;save sign, prepare for exponent.
U 3043, 3044,0001,0007,0000,0000,1010,0165	; 7871		FM[E1]_AR		;no sticky bits here.
U 3044, 3045,4001,0000,0000,0000,0110,0207	; 7872		AR0-8_#, #/207		;build an initial exp of 207 for ENORM
						; 7873		FM[T2]_AR, AR_BR,	;save exp for ENORM, restore sign word.
U 3045, 1710,3242,2007,0000,0040,1035,0172	; 7874			NORM, J/ENORM	;and normalize it.
						; 7875	
						; 7876	=0
						; 7877	L-DFSC:	AR_AC0, BR/AR, SKP AD0,	;-31- GFSC EDPFP SCALE
U 2372, 2346,3240,2040,0000,0020,5550,0000	; 7878			CALL [ISOEXP]	;get the exponent into the AR.
U 2373, 3046,3242,2040,0000,0000,0010,0000	; 7879		BR/AR, AR_BR		;put exp in BR, scale factor to AR.
						; 7880		AR_AR SWAP, GEN AC0,	;put scale in left half of AR.
U 3046, 2374,3200,4000,0000,3020,5610,0000	; 7881			SKP AD NE	;is high word zero ?
U 2374, 0061,4001,0000,0000,0001,0010,0170	; 7882	=0	AR+ARX+MQ_0.M, J/ST2AC	;yes, store zero as double result.
						; 7883		AR_SIGN, ARX_AR, SC_#,	;no, move sign and scale factor together.
U 2375, 3047,5441,2400,0302,1020,0016,0042	; 7884			#/34.
U 3047, 3050,0001,4000,0401,0000,0010,0000	; 7885		AR_SHIFT, CLR FE	;sign now in AR00, scale in AR 9-19.
U 3050, 3051,4001,0000,0000,1000,0022,0200	; 7886		EXP_SIGN		;scale sign is in AR00; extend it.
U 3051, 3052,0001,0000,0302,0000,0010,0010	; 7887		SC_#, #/8.		;move scale factor into AR 1-11 and
U 3052, 3053,3240,4201,0000,0020,0010,0000	; 7888		AR_SHIFT, ARX_AC1	; put the sign to left of scale factor.
U 3053, 3054,0602,2004,0000,0020,0710,0003	; 7889		AR_AR+BR, CLR MQ	;add exponent and scale factor.
U 3054, 0543,0001,0000,0000,1040,0007,0000	; 7890		SH/AR, DISP/SH0-3	;check for over and under flovs.
						; 7891	=0011
						; 7892	L-FSC2:	[AR]_[AR]*FM[EXPMSK],	;clear out non-exponent bits.
						; 7893			AD/ANDCB,	;and AR00 in the over or under flow case.
U 0543, 3055,3500,2007,4000,0020,0010,0164	; 7894			J/L-FSC3	; and continue
						; 7895	=0111	[AR]_[AR]*FM[EXPMSK],	;clear out non-exponent bits.
						; 7896			AD/ANDCB,	;
U 0547, 3055,3500,2007,4000,0020,0010,0164	; 7897			J/L-FSC3	; and continue
U 0553, 0543,4001,0000,0000,0000,1110,0620	; 7898	=1011	SET FLOV, J/L-FSC2	;you lose
U 0557, 0543,0001,0000,0000,0000,1110,0630	; 7899	=1111	SET FXU, J/L-FSC2	;ditto
						; 7900	
U 3055, 2376,3721,0507,0000,0000,1010,0172	; 7901	L-FSC3:	FM[T2]_AR, ARX_ARX*2	;save new exponent fofr ENORM.
						; 7902	=0	AR_AC0, SKP AD0,	;get the high word.
						; 7903			SC_#, #/3,	;for ENORM.
U 2376, 2350,3200,2000,0302,0020,5550,0003	; 7904			CALL [SGNEXT]	;and sign extend it for ENORM as well.
U 2377, 1710,3703,0000,0000,0040,0035,0000	; 7905		GEN AR, NORM, J/ENORM	;put the result back together.
						; 7906	
						; 7907	.ENDIF/EXTEXP
						; 7908	.ENDIF/MODEL.B
						; 7909	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; IO.MIC[10,5351]	14:31 29-Nov-83			I/O INSTRUCTIONS					

						; 7910	.TOC	"I/O INSTRUCTIONS"
						; 7911	
						; 7912	; BITS 10-12 OF INSTRUCTION GET MAPPED TO IR 7-9 FOR I/O INSTRUCTIONS
						; 7913	; THE DEVICE ADDRESS IS BROKEN DOWN AS ONE OF THE FIRST 7, OR ALL OTHERS
						; 7914		.DCODE
						; 7915	
						; 7916	;DEVICE 000 (APR)
						; 7917	
D 0700, 3000,0502				; 7918	700:	W,		J/APRBI		;BLKI APR,	OPTIONS, SERIAL #
D 0701, 3601,0500				; 7919		W,	DATAI,	J/APRDI		;DATAI APR,	ADDRESS COMPARE
D 0702, 0000,1102				; 7920		I,		J/APRBO		;BLKO APR,	REFILL RAM
D 0703, 4401,1100				; 7921		R,	DATAO,	J/APRDO		;DATAO APR,	ADDRESS COMPARE
D 0704, 0400,1200				; 7922		I,	CONO,	J/APRCO		;CONO APR,	APR FLAGS
D 0705, 0600,1202				; 7923		I,	CONI,	J/APRCI		;CONI APR,
D 0706, 0101,1202				; 7924		I,	CONSZ,	J/APRCI		;CONSZ APR,
D 0707, 0500,1202				; 7925		I,	CONSO,	J/APRCI		;CONSO APR,
						; 7926	
						; 7927	;DEVICE 004 (PI)
						; 7928	
D 0710, 3601,0511				; 7929	710:	W,	M,	J/PIBI		;BLKI PI,	READ ERA
D 0711, 3300,0510				; 7930		W,	B/3,	J/PIDI		;DATAI PI,	Stats, or not used
D 0712, 4000,0512				; 7931		R,		J/PIBO		;BLKO PI,	SBUS DIAGNOSTIC
D 0713, 4001,0510				; 7932		R,	B/0,	J/PIDO		;DATAO PI,	More statistics
D 0714, 0400,0710				; 7933		I,	CONO,	J/PICO		;CONO PI,	PI SYSTEM CONTROL
D 0715, 0600,0714				; 7934		I,	CONI,	J/PICI		;CONI PI,	IN PROGRESS, ENABLE
D 0716, 0101,0714				; 7935		I,	CONSZ,	J/PICI
D 0717, 0500,0714				; 7936		I,	CONSO,	J/PICI
						; 7937	
						; 7938	;DEVICE 010 (PAG)
						; 7939	
D 0720, 6200,1212				; 7940	720:	RW,	BLKI,	J/PAGBI		;BLKI PAG,	UNASSIGNED
D 0721, 3600,1210				; 7941		W,	DATAI,	J/PAGDI		;DATAI PAG,	USER CONTEXT
D 0722, 0000,1204				; 7942		I,		J/PAGBO		;BLKO PAG,	INVAL PAGE TABLE
D 0723, 4401,1206				; 7943		R,	DATAO,	J/PAGDO		;DATAO PAG,	USER CONTEXT
D 0724, 0400,1214				; 7944		I,	CONO,	J/PAGCO		;CONO PAG,	EXEC CONTEXT
D 0725, 0600,1216				; 7945		I,	CONI,	J/PAGCI		;CONI PAG,
D 0726, 0101,1216				; 7946		I,	CONSZ,	J/PAGCI
D 0727, 0500,1216				; 7947		I,	CONSO,	J/PAGCI
						; 7948	
						; 7949	;DEVICE 014 (CCA)
						; 7950	
D 0730, 0000,1500				; 7951	730:	I,	J/SWEEP			;8 FUNCTIONS TO SWEEP THE CACHE
D 0731, 0000,1500				; 7952		I,	J/SWEEP	;SWPIA	INVALIDATE ALL CACHE, NO CORE UPDATE
D 0732, 0000,1500				; 7953		I,	J/SWEEP	;SWPVA	VALIDATE ALL CORE, LEAVE CACHE VALID
D 0733, 0000,1500				; 7954		I,	J/SWEEP	;SWPUA	UNLOAD ALL CACHE TO CORE, CLEAR CACHE
D 0734, 0000,1500				; 7955		I,	J/SWEEP
D 0735, 0000,1500				; 7956		I,	J/SWEEP	;SWPIO	INVALIDATE ONE PAGE
D 0736, 0000,1500				; 7957		I,	J/SWEEP	;SWPVO	VALIDATE ONE PAGE
D 0737, 0000,1500				; 7958		I,	J/SWEEP	;SWPUO	UNLOAD ONE PAGE
						; 7959	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; IO.MIC[10,5351]	14:31 29-Nov-83			I/O INSTRUCTIONS					

						; 7960	;I/O CONT'D
						; 7961	
						; 7962	;DEVICE 020 (TIM)
						; 7963	
D 0740, 3100,1502				; 7964	740:	W,	B/1,	J/RDMTR		;BLKI TIM,	PERF CNT
D 0741, 3001,1502				; 7965		W,	B/0,	J/RDMTR		;DATAI TIM,	TIME BASE
D 0742, 4400,1312				; 7966		R,	DATAO,	J/TIMBO		;BLKO TIM,	PA ENABLES
D 0743, 4401,1310				; 7967		R,	DATAO,	J/TIMDO		;DATAO TIM,	UNDEFINED
D 0744, 0401,1300				; 7968		I,	CONO,	J/TIMCO		;CONO TIM,	SETUP INTERVAL TIMER
D 0745, 0601,1302				; 7969		I,	CONI,	J/TIMCI		;CONI TIM,	RD INTERVAL & PERIOD
D 0746, 0100,1302				; 7970		I,	CONSZ,	J/TIMCI
D 0747, 0501,1302				; 7971		I,	CONSO,	J/TIMCI
						; 7972	
						; 7973	;DEVICE 024 (MTR)
						; 7974	
D 0750, 3301,1502				; 7975	750:	W,	B/3,	J/RDMTR		;BLKI MTR,	CACHE CNT
D 0751, 3200,1502				; 7976		W,	B/2,	J/RDMTR		;DATAI MTR,	EBOX CNT
D 0752, 0001,1002				; 7977		I,		J/UUO		;BLKO MTR,	UNDEFINED
D 0753, 0001,1002				; 7978		I,		J/UUO		;DATAO MTR,	UNDEFINED
D 0754, 0400,1304				; 7979		I,	CONO,	J/MTRCO		;CONO MTR,	ACCT & TB CTL
D 0755, 0600,1306				; 7980		I,	CONI,	J/MTRCI		;CONI MTR,	SAME
D 0756, 0101,1306				; 7981		I,	CONSZ,	J/MTRCI
D 0757, 0500,1306				; 7982		I,	CONSO,	J/MTRCI
						; 7983	
						; 7984	;DEVICE 030
						; 7985	
D 0760, 6200,0410				; 7986	760:	RW,	BLKI,	J/BLKIO
D 0761, 3601,0416				; 7987		W,	DATAI,	J/IO
D 0762, 6001,0410				; 7988		RW,	BLKO,	J/BLKIO
D 0763, 4401,0416				; 7989		R,	DATAO,	J/IO
D 0764, 0401,0412				; 7990		I,	CONO,	J/CONO
D 0765, 3601,0416				; 7991		W,	CONI,	J/IO
D 0766, 0101,0412				; 7992		I,	CONSZ,	J/CONS
D 0767, 0500,0412				; 7993		I,	CONSO,	J/CONS
						; 7994	
						; 7995	;DEVICES 034-774 (ALL OTHERS)
						; 7996	
D 0770, 6200,0410				; 7997	770:	RW,	BLKI,	J/BLKIO
D 0771, 3601,0416				; 7998		W,	DATAI,	J/IO
D 0772, 6001,0410				; 7999		RW,	BLKO,	J/BLKIO
D 0773, 4401,0416				; 8000		R,	DATAO,	J/IO
D 0774, 0401,0412				; 8001		I,	CONO,	J/CONO
D 0775, 3601,0416				; 8002		W,	CONI,	J/IO
D 0776, 0101,0412				; 8003		I,	CONSZ,	J/CONS
D 0777, 0500,0412				; 8004		I,	CONSO,	J/CONS
						; 8005	
						; 8006		.UCODE
						; 8007	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; IO.MIC[10,5351]	14:31 29-Nov-83			EXTERNAL DEVICE I/O INSTRUCTIONS			

						; 8008	.TOC	"EXTERNAL DEVICE I/O INSTRUCTIONS"
						; 8009	
						; 8010	=0****00*000
U 0410, 3002,0001,0000,0000,0000,7350,0000	; 8011	BLKIO:	SKP IO LEGAL,CALL,J/IOCHK	;FIRST VERIFY INSTR VALIDITY
U 0411, 0243,0001,0000,0000,0020,0034,0000	; 8012		BYTE DISP,J/BLK1		;TEST FPD
						; 8013	CONS:					;HERE FOR CONSO, CONSZ TO LOAD
						; 8014						; BR IN CASE OF UUO
U 0412, 0416,4001,0040,0000,3000,0610,0004	; 8015	CONO:	BR/AR,ARL_ARR,ARR_ARR		;CONDITIONS TO BOTH HALVES
						; 8016	=10
U 0416, 0750,3200,0003,0000,0022,7350,0000	; 8017	IO:	AR_MEM,SKP IO LEGAL,CALL,J/GTEBUS;WAIT FOR MBOX IF BLKI/O
U 0417, 0022,0001,0000,0000,0005,2233,0000	; 8018	RELEEB:	REL ECL EBUS,B WRITE		;XFER DONE, WHAT TO DO?
						; 8019	=
						; 8020	=1*010
U 0022, 3056,0001,0003,0000,0002,0010,0000	; 8021	IOTEND:	FIN STORE,MB WAIT,J/BLK4	;BLKI/BLKO
U 0023, 0075,3602,0004,0000,0246,0010,0203	; 8022		TEST AR.BR,TEST FETCH,J/NOP	;CONSZ
U 0026, 0344,0001,0003,0000,0002,6510,0000	; 8023		MEM_AR,SKP PI CYCLE,J/IOFET	;DATA/CON I/O
U 0027, 0075,3602,0004,0000,0246,0010,0203	; 8024		TEST AR.BR,TEST FETCH,J/NOP	;CONSO
						; 8025	;BLKI/BLKO SCREWED AROUND WITH TO TRY TO STOP PI LOSSAGE
U 3056, 0020,5062,0000,0000,0246,6517,0203	; 8026	BLK4:	TEST BRL,TEST FETCH,SKP PI CYCLE,J/CLRFPD
						; 8027	
						; 8028	=1****0
U 0344, 0075,4001,0000,0000,0217,0010,0000	; 8029	IOFET:	I FETCH,J/NOP			;HERE IF NOT PI CYCLE
U 0345, 0724,0001,0000,0000,0000,0024,0502	; 8030		DISMISS,J/PIFET			;DISMISS INTRPT AFTER DATA/CON I/O
						; 8031	
						; 8032	=1**010
U 0242, 0125,4001,0043,0000,0002,0633,0020	; 8033	BLK2:	MEM_AR,BR/AR,ARL_0.C,B DISP,J/BLK3
U 0243, 0242,4003,2000,0000,0036,0017,0000	; 8034	BLK1:	AR_AR+1,GEN CRY18,STORE,J/BLK2	;UPDATE POINTER WORD
U 0247, 0242,0001,0000,0000,0000,6510,0000	; 8035	=111	SKP PI CYCLE,J/BLK2		;IF FPD & NOT PI, DON'T INCREMENT
						; 8036	=1*101					;DO DATAI OR DATAO
U 0125, 0416,3703,0000,0000,0312,1110,0100	; 8037	BLK3:	VMA_AR,LOAD AR,SET FPD,J/IO	;GET DATA TO OUTPUT
U 0127, 0416,3703,0000,0000,0300,1110,0100	; 8038		VMA_AR,SET FPD,J/IO		;INPUT DO BEFORE MEM
						; 8039	
						; 8040	;;;NOTE NOTE NOTE SET FPD INHIBITED BY HARDWARE IF PI CYCLE (SCD5)
						; 8041	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4
; IO.MIC[10,5351]	14:31 29-Nov-83			EXTERNAL DEVICE I/O INSTRUCTIONS			

						; 8042	;SUBROUTINES TO HANDLE EBUS
						; 8043	;CALL WITH "SKP IO LEGAL"
						; 8044	;ENTER AFTER LOADING AR IF OUTPUT FUNCTION
						; 8045	
						; 8046	=00
U 0750, 1002,3242,2000,0000,0000,0010,0000	; 8047	GTEBUS:	AR_BR,J/UUO			;HERE IF IO ILLEGAL IN THIS MODE
U 0751, 2402,0001,0000,0000,0000,2250,0200	; 8048		REQ EBUS,CALL,J/WGRANT		;ASK PI SYSTEM FOR BUS
						; 8049	=11					;RETURN TO TRANSFER ROUTINE
						; 8050	
						; 8051	;SUBROUTINE TO PERFORM EBUS TRANSFER
						; 8052	;SETUP CONTROLLER SELECT AND FUNCTION LINES BEFORE CALL
						; 8053	;IF OUTPUT, ALSO PUT AR ONTO EBUS DATA LINES
						; 8054	
						; 8055	EBUSX:	GEN AR,TIME/5T,			;WAIT AFTER ASSERTING FUNCTION
U 0753, 2401,3703,0000,0000,0060,2210,0060	; 8056			SET EBUS DEMAND,J/WXFER	; AFTER 300 NS, ASSERT DEMAND
						; 8057	=0
						; 8058	EBUSW:	AR_EBUS,GEN AR,
U 2400, 3057,3701,3000,0000,0060,2210,0020	; 8059			CLR EBUS DEMAND,J/RELEB	;STROBE DATA AND DROP DEMAND
U 2401, 2400,3703,0000,0000,0000,6710,0000	; 8060	WXFER:	GEN AR,SKP -EBUS XFER,J/EBUSW	;WAIT FOR TRANSFER
						; 8061	
						; 8062	RELEB:	GEN AR,REL EBUS,TIME/5T,	;DROP DATA, CS, AND FCN
U 3057, 0003,3701,0000,0000,0060,2203,0100	; 8063			RETURN3			;AFTER 150 NS, THEN RELEASE BUS
						; 8064	
						; 8065	
						; 8066	;SUBROUTINE TO WAIT FOR PI SYSTEM TO GRANT EBUS
						; 8067	; IT WILL EITHER SEND EBUS GRANT, OR PI READY
						; 8068	
						; 8069	=0
U 2402, 2404,0001,0000,0000,0000,6610,0000	; 8070	WGRANT:	SKP -EBUS GRANT,J/WGRNT1	;GOT IT?
U 2403, 0071,4001,0000,0000,0000,2210,0000	; 8071		DROP EBUS REQ,J/TAKINT
						; 8072	=0
U 2404, 3060,3701,0000,0000,0000,2210,0030	; 8073	WGRNT1:	IO INIT,GEN AR,J/WGRNT2		;GOT IT, SETUP CS, FCN, AND DATA
U 2405, 2402,4001,0000,0000,0000,7010,0000	; 8074		SKP INTRPT,J/WGRANT		;DIDN'T GET IT, TEST FOR INTERUPT
						; 8075	WGRNT2:	GEN AR,TIME/5T,			;JUST WAIT
U 3060, 0003,3703,0000,0000,0060,0003,0030	; 8076			EBUS CTL/IO INIT,RETURN3
						; 8077	
						; 8078	;HERE TO START PI CYCLE TRANSFER.  HOLD EBUS CTL SELECTION
						; 8079	
U 3061, 0753,0001,0000,0000,0060,0010,0027	; 8080	EBUSI:	TIME/5T,EBUS CTL/DATAI,J/EBUSX
U 3062, 0753,3701,0000,0000,0060,0010,0026	; 8081	EBUSO:	GEN AR,TIME/5T,EBUS CTL/DATAO,J/EBUSX
						; 8082	
						; 8083	;SUBROUTINES TO CHECK IO LEGALITY FOR INTERNAL I/O INSTRUCTIONS
						; 8084	
						; 8085	.IF/MODEL.B
						; 8086	3002:
						;;8087	.IFNOT/MODEL.B
						;;8088	2002:					;ACCESSIBLE ON EXTEND [0]
						; 8089	.ENDIF/MODEL.B
U 3002, 1002,3242,2000,0000,0000,0010,0000	; 8090	IOCHK:	AR_BR,J/UUO			;NAUGHTY, MUST'NT DO
						; 8091	.IF/MODEL.B
						; 8092	3003:
						;;8093	.IFNOT/MODEL.B
						;;8094	2003:
						; 8095	.ENDIF/MODEL.B
U 3003, 0001,4001,0000,0000,0000,0003,0000	; 8096	RET1:	RETURN1				;ONE-CYCLE NULL ROUTINE
						; 8097	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4-1
; IO.MIC[10,5351]	14:31 29-Nov-83			EXTERNAL DEVICE I/O INSTRUCTIONS			

						; 8098	=0
U 2406, 1002,3242,2000,0000,0000,0010,0000	; 8099	GETEEB:	AR_BR,J/UUO			;IO ILLEGAL IN THIS MODE
U 2407, 0001,0001,0000,0000,0000,2203,0400	; 8100	GTEEB1:	GET ECL EBUS,RETURN1
						; 8101	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5
; IO.MIC[10,5351]	14:31 29-Nov-83			INTERNAL DEVICE FUNCTIONS -- APR, CCA			

						; 8102	.TOC	"INTERNAL DEVICE FUNCTIONS -- APR, CCA"
						; 8103	
						; 8104	=0****00***0
						; 8105	SWEEP:	BR/AR,SC_#,#/9.,CALL,
U 1500, 3002,0001,0040,0302,0000,7350,0011	; 8106			SKP IO LEGAL,J/IOCHK	;ALLOWED?
U 1501, 3063,0001,4000,0000,0000,0010,0000	; 8107		AR_SHIFT			;MOVE PAGE # TO PLACE
U 3063, 3064,3701,0000,0000,0307,0010,0606	; 8108	=	VMA_AR,SWEEP CACHE		;START A SWEEP
U 3064, 0066,0001,0000,0000,0002,0010,0000	; 8109	MBREL:	MB WAIT,J/IFNOP			;COMPLETE REG FUNC BEFORE FETCH
						; 8110	
						; 8111	
						; 8112	=0****00**00
U 1100, 2406,4001,0000,0000,0000,7350,0000	; 8113	APRDO:	CALL,SKP IO LEGAL,J/GETEEB	;SET ADDR BREAK
U 1101, 0417,3703,0000,0000,0060,2010,0417	; 8114		DATAO APR,J/RELEEB
U 1102, 3002,4001,0040,0000,0000,7350,0000	; 8115	APRBO:	BR/AR,CALL,SKP IO LEGAL,J/IOCHK	;SET CACHE REFILL ALGORITHM
U 1103, 3064,4001,0000,0000,0007,0010,0505	; 8116		WR REFILL RAM,J/MBREL		;INFO ALREADY IN VMA
						; 8117	=
						; 8118	
						; 8119	=0****00*000
U 0500, 2406,4001,0000,0000,0000,7350,0000	; 8120	APRDI:	CALL,SKP IO LEGAL,J/GETEEB	;READ ADDR BREAK
U 0501, 0417,0001,3000,0000,0060,2010,0513	; 8121		DATAI APR(L),J/RELEEB
						; 8122	=010
U 0502, 3002,0001,0000,0000,0000,7350,0000	; 8123	APRBI:	CALL,SKP IO LEGAL,J/IOCHK	;RETURN MICRO VERSION, SERIAL #
						; 8124		AR_SERIAL,TIME/3T,		;READ SERIAL NUMBER
U 0503, 0137,4001,0000,0000,0020,0750,0100	; 8125			CALL,J/UVERS		;GET MICRO-CODE VERSION IN AR
U 0507, 3065,3242,2000,0000,3000,0022,0004	; 8126	=111	ARL_ARR.S,AR_BR			;COMB SERIAL WITH VERSION
						; 8127	=	AR0-8_#,STORE,OPTIONS,		;SET OPTION FLAGS
U 3065, 0066,0001,0000,0000,0016,0110,0640	; 8128			J/STMEM
						; 8129	
						; 8130	=0****00**00
						; 8131	APRCO:	BR/AR,ARL_ARR.M,ARR_ARR,CALL.M,	;SET APR FLAGS
U 1200, 2406,0001,0040,0000,3001,7350,0004	; 8132			SKP IO LEGAL,J/GETEEB
U 1201, 3070,3703,0000,0000,0060,2010,0414	; 8133		CONO APR, J/APRCO7		;[272]
						; 8134	APRCI:	BR/AR,CALL,
U 1202, 2406,0001,0040,0000,0000,7350,0000	; 8135			SKP IO LEGAL,J/GETEEB	;READ APR FLAGS
U 1203, 3066,4001,3000,0000,0060,2010,0510	; 8136		CONI APR(R)			;GET RIGHT HALF OF APR CONDITIONS
U 3066, 3067,0001,3400,0000,3060,2010,0512	; 8137	=	ARX_AR SWAP,CONI APR(L)		;NOW LH COND TO AR LEFT
U 3067, 0417,0001,4000,0000,2000,0610,0000	; 8138		AR_ARX,ARL_ARL,J/RELEEB		;COMBINE HALVES
U 3070, 0417,3703,0000,0000,0060,2010,0414	; 8139	APRCO7:		CONO APR,J/RELEEB	;[272]
						; 8140	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6
; IO.MIC[10,5351]	14:31 29-Nov-83			INTERNAL DEVICE FUNCTIONS -- PI				

						; 8141	.TOC	"INTERNAL DEVICE FUNCTIONS -- PI"
						; 8142	
						; 8143	=0****00*000
						; 8144	.IFNOT/INSTR.STAT
						; 8145	PIDO:
U 0510, 1002,3242,2000,0000,0000,0010,0000	; 8146	PIDI:	AR_BR,J/UUO			;DATAI/O PI, UNASSIGNED
						; 8147	
						;;8148	.IF/INSTR.STAT
						;;8149	;DATAO PI, SETS UP BUFFER POINTERS FOR TRACKS
						;;8150	;DATAI PI, READS CURRENT BUFFER POINTER
						;;8151	
						;;8152	PIDI:
						;;8153	PIDO:	BR/AR,ARL+ARX_0.M,CALL.M,	;CHECK IO LEGALITY
						;;8154			SKP IO LEGAL,J/IOCHK
						;;8155		SC_#,#/9.,B DISP,SKP BR0,J/PIDX	;NOW, WHAT TO DO?
						; 8156	.ENDIF/INSTR.STAT
						; 8157	
U 0511, 1254,0001,0000,0000,0007,0010,0504	; 8158	PIBI:	READ ERA,J/RDEBRG		;GET AND STORE
						; 8159	=0
						; 8160	PIBO:	FE_#,#/7,CALL,			;NUMBER OF TIMES TO TRY
U 0512, 3002,0001,0000,0301,0000,7350,0007	; 8161			SKP IO LEGAL,J/IOCHK	;SBUS DIAGNOSTIC
U 0513, 3071,4001,0040,0000,0007,0010,0407	; 8162	DODIAG:	SBUS DIAG,BR/AR			;SEND THE DIAG FUNCTION FROM AR
						; 8163	=
						; 8164	.DEFAULT/MOS=0
						; 8165	.IFNOT/MOS
U 3071, 0066,4001,1000,0000,0016,3610,0000	; 8166		AR/CACHE,VMA_VMA+1,STORE,J/STMEM ;STORE THE RESPONSE
						;;8167	.IF/MOS
						;;8168		AR/CACHE,MB WAIT		;[225]GET THE DATA.
						;;8169		GEN AR+1,SKP AD NE		;IF MEMORY RETURNED -1 TRY AGAIN
						;;8170	=0
						;;8171		FE_FE-1,SKP SCAD0,J/SDTEST	;IT IS SEE IF TOO MANY TRIES
						;;8172	SDONE:	VMA_VMA+1,STORE,J/STMEM		;STORE THE RESPONSE
						;;8173	=0
						;;8174	SDTEST:	AR_BR,J/DIAG1			;[225]RECOVER THE FUNC AND RETRY.
						;;8175		AR_0S,J/SDONE			;TOO MANY TRIES QUIT RETURNING 0
						; 8176	.ENDIF/MOS
						; 8177	
						; 8178	=0****00*000
						; 8179	PICO:	BR/AR,ARL_ARR.M,ARR_ARR,
U 0710, 2410,4001,0040,0000,3001,7350,0004	; 8180			CALL.M,SKP IO LEGAL,J/PICOM1
U 0713, 3075,3701,0000,0000,0060,2010,0415	; 8181	=11	CONO PI,J/PICOM2		;SEND THE DATA
						; 8182	=0****00*100
U 0714, 2410,4001,0040,0000,0000,7350,0000	; 8183	PICI:	BR/AR,CALL,SKP IO LEGAL,J/PICOM1
U 0717, 3072,0001,3000,0000,0060,2010,0500	; 8184	=11	CONI PI(R)			;READ RH TO AR LEFT
						; 8185	=	ARX_AR SWAP,			;RH COND TO ARX RH
U 3072, 3073,0001,3400,0000,3060,2010,0530	; 8186			CONI PI(PAR)		; AND PARITY ENABLES TO RH
						; 8187		BRX/ARX,ARX_AR,			;READY TO COMB RH PARTS
U 3073, 3074,0001,3420,0000,1060,2010,0501	; 8188			CONI PI(L)		; AND LH TO AR LEFT
U 3074, 3075,3302,6000,0000,0000,0610,0000	; 8189		AR_ARX*BRX,AD/OR,ARL_ARL	;COMBINE THEM
U 3075, 0022,3701,0000,0000,0005,2233,0100	; 8190	PICOM2:	REL EBUS,GEN AR,B WRITE,J/IOTEND
						; 8191	
						; 8192	=0
U 2410, 1002,3242,2000,0000,0000,0010,0000	; 8193	PICOM1:	AR_BR,J/UUO			;LOSE
U 2411, 2402,4001,0000,0000,0000,2210,0200	; 8194		REQ EBUS,J/WGRANT		;OK, WAIT TO GET FULL EBUS
						; 8195	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7
; IO.MIC[10,5351]	14:31 29-Nov-83			TRACKS SUPPORT						

						; 8196	.TOC	"TRACKS SUPPORT"
						; 8197	;
						; 8198	;	According to the University of Essex, when TRACKS is used with
						; 8199	;	address break enabled, the monitor cannot disable address break
						; 8200	;	for the actual execution of the instruction unless we include
						; 8201	;	"ABORT INSTR" as part of the TRACKS loop.  Accordingly, this is
						; 8202	;	now done for all the different flavors of TRACKS.  Thanks, folks.
						; 8203	;
						; 8204	;[317]	During an attempt to implement uncounting of doubly counted op
						; 8205	;	codes for the OP.CNT conditional, we learned:  (1) EA
						; 8206	;	calculation requires that VMA be initialized to the instruction
						; 8207	;	location (usually PC) for the local/global stuff to work properly.
						; 8208	;	Beware!  (This is important if you try to do something after
						; 8209	;	fetching an instruction but before you EA calc it.)  (2) NICOND
						; 8210	;	clears the trap enable flag.  If INSTR.STAT is on, this will force
						; 8211	;	the dispatch to the statistics logic without taking the trap,
						; 8212	;	which will thus be lost and gone forever.  This is a hardware bug,
						; 8213	;	but it's rather impossible to ECO it at this late date.
						; 8214	;
						; 8215	;[321]	The solution to this is to ignore the statistics flag if a trap
						; 8216	;	is ready.  See the block at NEXT for details.  (It's not really
						; 8217	;	a hardware bug after all.)
						; 8218	;
						;;8219	.IF/INSTR.STAT
						;;8220	=00
						;;8221	PIDX:	CLR TRACKS EN,J/IFNOP		;TURN TRACKS OFF
						;;8222	.IF/TRACKS
						;;8223		ARX_SHIFT,ARL_BRL,ARR_0.S,J/PIDO2
						;;8224	.IFNOT/TRACKS
						;;8225		ARX_SHIFT,AR_2,J/PIDX1		;[315] Turn statistics on
						;;8226	.ENDIF/TRACKS
						;;8227	=11	AR_TRX				;READ BACK POINTER
						;;8228		ARL_0.M				;GET INDEX PART
						;;8229		AR_AR+TRB,STORE,J/STMEM		;DONE WITH DATAI
						;;8230	
						;;8231	.IFNOT/TRACKS
						;;8232	PIDX1:	AR_ARX+AR*4			;SAVE PAGE NUMBERS IN TRX REGISTERS
						;;8233		TRB_AR				;INITIAL GARBAGE HERE
						;;8234		VMA_ARX,LOAD AR,PHYS REF	
						;;8235		AR_MEM
						;;8236		VMA_ARX+1,LOAD AR,PHYS REF
						;;8237		TRX_AR,ARX_ARX+1		;[315] Must wait one cycle for
						;;8238		AR_MEM				;parity check before writing AC
						;;8239		VMA_ARX+1,LOAD AR,PHYS REF
						;;8240		TRX1_AR,ARX_ARX+1		;[315] Note that this will always
						;;8241		AR_MEM				;make it before AR is smashed
						;;8242		VMA_ARX+1,LOAD AR,PHYS REF
						;;8243		TRX2_AR
						;;8244		AR_MEM
						;;8245		SET TRACKS EN			;[315] Might as well do this now
						;;8246		TRX3_AR,I FETCH,J/NOP		;SAVE TABLE PAGE #, TURN ON
						;;8247	.ENDIF/TRACKS
						;;8248	
						;;8249	PIDO2:	TRX_AR,AR_ARX			;SET UP INDEX
						;;8250		TRB_AR				;AND BASE
						;;8251		SET TRACKS EN,J/IFNOP		;TURN TRACKS ON
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7-1
; IO.MIC[10,5351]	14:31 29-Nov-83			TRACKS SUPPORT						

						;;8252	
						;;8253	.IF/TRACKS
						;;8254	;HERE WHEN NICOND FINDS TRACKS ENABLED
						;;8255	=0
						;;8256	TRK1:	TRX_AR,J/TRK2			;PUT BACK UPDATED INDEX
						;;8257		AR_AR SWAP			;END OF BUFFER.  RESET
						;;8258		AR_-AR,J/TRK1			; ORIGINAL INDEX
						;;8259	
						;;8260	TRK2:	ARL_0.M
						;;8261		AR_AR+TRB			;ADDRESS TRACKS BUFFER
						;;8262		VMA_AR,PHYS REF			;TO MAKE MODEL A WORK
						;;8263		AR_PC,STORE,PHYS REF		; PUT PC THERE
						;;8264		MEM_AR,VMA/PC,CLR TRACKS EN	;PREVENT NICOND SEEING TRACKS...
						;;8265		ABORT INSTR			;[306] Make address break work by
						;;8266						; copying AD BRK CYC to AD FAIL INH
						;;8267		SET TRACKS EN			;...UNTIL NEXT TIME
						;;8268		DISP/NICOND,J/NEXT		;GO DO NEXT INSTR
						;;8269	.ENDIF/TRACKS
						;;8270	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8
; IO.MIC[10,5351]	14:31 29-Nov-83			TRACKS SUPPORT						

						;;8271	.IF/OP.CNT
						;;8272	;HERE WHEN NICOND FINDS OPCODE COUNTING ENABLED
						;;8273	; SKIP IF USER MODE
						;;8274	;[316] Make this register usage compatible with timing version below by
						;;8275	; making it use TRX2 (for exec mode counts pointer) and TRX3 (for user mode
						;;8276	; counts pointer) instead of TRX and TRX+1.
						;;8277	;[317] A massive attempt to uncount doubly counted instructions when an
						;;8278	; interrupt was detected has been backed off.  See INSTR.STAT dispatch logic
						;;8279	; above for commentary.
						;;8280	;
						;;8281	=0
						;;8282	OPCT1:	AR_TRX2,SKP AC REF,J/OPCT2	;[316] TRX HAS PAGE # FOR EXEC TABLE
						;;8283		AR_TRX3,SKP AC REF		;[316] NEXT PAGE IS FOR USER
						;;8284	=0
						;;8285	OPCT2:	AR_SHIFT,MQ_SHIFT,		;[317] Save VMA of increment
						;;8286			CLR TRACKS EN,J/OPCT3	;OPCODE INDEXES INTO TABLE
						;;8287		ARX_FM(VMA),J/OPCT2		;GET INSTR FROM FM
						;;8288	;
						;;8289	OPCT3:	VMA_AR,LOAD AR,PHYS REF		;GET TABLE ENTRY
						;;8290		AR_MEM				;[306] Make address break work
						;;8291		BR/AR,AR_AR+1,STORE		;ADD THIS OCCURANCE TO IT, keep old
						;;8292		MEM_AR,VMA/PC
						;;8293		SET TRACKS EN			;LET US GET BACK NEXT NICOND
						;;8294		DISP/NICOND			;DO INSTR IN ARX
						;;8295	;
						;;8296	;	In an attempt to prevent an interrupt after counting an instruction,
						;;8297	;	we now fake the second NICOND in line.
						;;8298	;
						;;8299	=0000	AR_BR,CLR TRACKS EN,J/OPFIX	;Some kind of odd condition.
						;;8300	=0010	AR_BR,CLR TRACKS EN,J/OPFIX	; Uncount the instruction
						;;8301		AR_BR,CLR TRACKS EN,J/OPFIX
						;;8302		AR_BR,CLR TRACKS EN,J/OPFIX
						;;8303		AR_BR,CLR TRACKS EN,J/OPFIX
						;;8304		AR_BR,CLR TRACKS EN,J/OPFIX
						;;8305	=1010	BRX/ARX,AR_ARX,SET ACCOUNT EN,	;The usual case
						;;8306			XR,EA MOD DISP,J/COMPEA
						;;8307		AR_BR,CLR TRACKS EN,J/OPFIX
						;;8308	=1110	GEN ARX,LOAD IR,#/0,J/XCTGO	;Instruction in registers
						;;8309		AR_BR,CLR TRACKS EN
						;;8310	;
						;;8311	OPFIX:	VMA_MQ,STORE,PHYS REF		;Restore old count
						;;8312		MEM_AR,VMA/PC
						;;8313		SET TRACKS EN			;Turn TRACKS back on
						;;8314		DISP/NICOND,J/NEXT		; and do it yet again
						;;8315	.ENDIF/OP.CNT
						;;8316	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9
; IO.MIC[10,5351]	14:31 29-Nov-83			TRACKS SUPPORT						

						;;8317	.IF/OP.TIME
						;;8318	;HERE TO ADD UP TIME SPENT IN INSTR'S
						;;8319	
						;;8320	OPTM0:	SC_#,#/9.,SKP USER,J/OPTM1
						;;8321	=0
						;;8322	OPTM1:	BR_AR LONG,AR_TRX2,SKP AC REF,	;INSTR IN ARX PAGE IN AR
						;;8323			J/OPTM2
						;;8324		BR_AR LONG,AR_TRX3,SKP AC REF,	;INSTR IN ARX PAGE IN AR
						;;8325			J/OPTM2
						;;8326	=0
						;;8327	OPTM2:	AR_SHIFT,ABORT INSTR,J/OPTM3	;[306] GENERATE ADDR TO INCREMENT
						;;8328						;NEXT GET ADDR FOR THIS
						;;8329		ARX_FM(VMA),J/OPTM2		;GET NEXT INSTR FROM FM
						;;8330	OPTM3:	VMA_AR,LOAD AR,UNCSH PHYS REF	;BUMP COUNT LOCATION
						;;8331		AR_MEM
						;;8332		AR_AR+1,STORE
						;;8333		MEM_AR,SKP USER
						;;8334	=0	AR_TRX,J/OPTM4
						;;8335		AR_TRX1
						;;8336	OPTM4:	AR_SHIFT,ARX_TRB
						;;8337		TRB_AR				;SAVE NEXT LOC TO BUMP
						;;8338		RD+CLR PA			;TIME TO AR
						;;8339		MTR CTL/CLR PERF
						;;8340		VMA_ARX,LOAD ARX,UNCSH PHYS REF	;GET TABLE ENTRY
						;;8341		AR_AR-BR,ARL_0.S		;COMPENSATE TIME FOR THIS CODE
						;;8342		BR/AR,ARX_MEM,SKP AR18		;IF THIS WAS AN ENABLED STATE,
						;;8343	=0	AR_ARX+BR,STORE			;WRITE IT BACK
						;;8344		MEM_AR,VMA/PC			;NOW SETUP NEXT INSTR AGAIN
						;;8345		ARX_BRX,SET TRK+PA EN		;RESTORE STATISTICS FLAGS
						;;8346		DISP/NICOND,J/NEXT
						;;8347	.ENDIF/OP.TIME
						;;8348	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10
; IO.MIC[10,5351]	14:31 29-Nov-83			TRACKS SUPPORT						

						;;8349	;THIS IS THE SECOND ORDER STATISTICS GATHERING CODE
						;;8350	.IFNOT/SO2.CNT
						;;8351	.IF/SO.CNT
						;;8352	;THIS IS NON DEBUGED CODE THAT IS IN A VERY PRIMATIVE STATE
						;;8353	;IT WAS ABANDONED BETWEEN EDITS AS THE MONITOR NEEDED SOMETHING
						;;8354	;SLIGHTLY DIFFERENT
						;;8355	;THIS IS CODE TO DO A SECOND ORDER STATISTIC IN THE SECOND 128K
						;;8356	;EACH ENTRY IS A HALF WORD
						;;8357	;THE LOW ORDER BIT OF <LAST OPCODE><THIS OPCODE> CONCATENATION
						;;8358	;DETERMINES WHICH HALFWORD IS INCREMENTED. OFF IS HIGH
						;;8359	;IF A HALFWORD OVERFLOWS THE CODE TURNS ITSELF OFF AND WRITES -1
						;;8360	;AT LOCATION 400000
						;;8361	;TRX HIDES THE LOCATION PRESENTED TRB THE LAST OPCODE
						;;8362	
						;;8363	;	THIS IS IN THE NEXT LOOP COMMENTED HERE FOR DOCUMENTATION
						;;8364	;TRK0:	ARX_TRB,BRX/ARX,SKP AC REF,J/TRK1;GET PREV INSTR HIDE THIS ONE
						;;8365	
						;;8366	=0
						;;8367	TRK1:	AR_1,SC_#,#/9.,J/TRK2		;SHIFT IN FIRST OPCODE
						;;8368		ARX_FM(VMA),AR_ARX		;GET THE INSTRUCTION FROM FM
						;;8369		BRX/ARX,AR_1,SC_#,#/9.,ARX_AR	; WHEN IT HIDES THERE
						;;8370	TRK2:	AR_SHIFT,SC_#,#/8.,ARX_BRX	;SETUP TO DO THE NEXT OPCODE
						;;8371		AR_SHIFT,CLR TRACKS EN		;CONVIENT TO SHUT OFF TRACKS
						;;8372		VMA_AR,LOAD ARX,PHYS REF,AR_ARX	;LOW BIT OF INSTR WHERE CAN TEST
						;;8373		ARX_SHIFT,TRB_AR		;LOW BIT OF INSTR TO HIGH BIT
						;;8374		ARL_0.S,ARR_1S,SKP ARX0		;SEE WHICH HALFWORD TO INC
						;;8375						; ALSO SETTING UP FOR TEST IN
						;;8376						; LOW INCREMENT
						;;8377	=0	ARL_1.M,ARR_0.M,J/TRK3		;INC HIGH
						;;8378		ARX_MEM				;INC LOW
						;;8379		BR/AR,ARX_ARX+1,AR/ADX,STORE	;INCREMENT LOW HALF AND STORE IT
						;;8380		TEST AR.BR,SKP CRY0		;USING AND-1 HACK TO TEST OVFLOW
						;;8381	=0	AR_0S,J/TRKLOS			;OVERFLOWED FIXUP TO LOSE
						;;8382		MEM_AR,ARX_BRX,VMA/PC,AR_BRX	;NO OVERFLOW GET OUT ALSO
						;;8383	TRKN1:	SET TRACKS EN			; SAVE AWAY THIS OPCODE
						;;8384	TRKND:	DISP/NICOND,J/NEXT		;AND DO NEXT INSTR
						;;8385	
						;;8386	TRK3:	ARX_MEM,BR/AR			;GET WORD TO INC
						;;8387		AR_ARX+BR,STORE,SKP CRY0	;COMPUTE AND CHECK FOR OVERFLOW
						;;8388	=0	ARX_BRX,VMA/PC,MEM_AR,AR_BRX,	;SAVE AWAY THIS INSTR
						;;8389			J/TRKN1			; AND GET OUT
						;;8390		AR_0.C,ARX_BRX,MEM_AR,J/TRKLOS	;SHUT DOWN TRACKS ON OVERFLOW
						;;8391	
						;;8392	
						;;8393	TRKLOS:	AR_1,SC_#,#/17.			;WHEN LOSS PUT -1 IN 400000
						;;8394		AR_SHIFT
						;;8395		GEN AR,VMA/AD,PHYS REF		;SHUT OFF TRACKS AND QUIT
						;;8396		AR_TRB,STORE
						;;8397		MEM_AR,VMA/AD
						;;8398		J/TRKND
						;;8399	
						;;8400	.ENDIF/SO.CNT
						;;8401	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 11
; IO.MIC[10,5351]	14:31 29-Nov-83			TRACKS SUPPORT						

						;;8402	
						;;8403	.IF/SO2.CNT
						;;8404	;THIS ONE DOES THE COUNTING IN 128K STARTING AT AN ADDRESS PRESENTED IT
						;;8405	;THIS IS CODE TO DO A SECOND ORDER STATISTIC IN THE SECOND 128K
						;;8406	;EACH ENTRY IS A HALF WORD
						;;8407	;THE LOW ORDER BIT OF <LAST OPCODE><THIS OPCODE> CONCATENATION
						;;8408	;DETERMINES WHICH HALFWORD IS INCREMENTED. OFF IS HIGH
						;;8409	;IF A HALFWORD OVERFLOWS THE CODE TURNS ITSELF OFF AND WRITES -1
						;;8410	;AT LOCATION PRESENTED
						;;8411	;TRX HIDES THE LOCATION PRESENTED TRB THE LAST OPCODE
						;;8412	
						;;8413	;	THIS IS IN THE NEXT LOOP COMMENTED HERE FOR DOCUMENTATION
						;;8414	;TRK0:	ARX_TRB,BRX/ARX,SKP AC REF,J/TRK1;GET PREV INSTR HIDE THIS ONE
						;;8415	
						;;8416	=0
						;;8417	TRK1:	AR_0S,SC_#,#/9.,J/TRK2		;SHIFT IN FIRST OPCODE
						;;8418		ARX_FM(VMA),AR_ARX		;GET THE INSTRUCTION FROM FM
						;;8419		BRX/ARX,AR_0S,SC_#,#/9.,ARX_AR	; WHEN IT HIDES THERE
						;;8420	TRK2:	AR_SHIFT,SC_#,#/8.,ARX_BRX	;SETUP TO DO THE NEXT OPCODE
						;;8421		AR_SHIFT,CLR TRACKS EN		;CONVIENT TO SHUT OFF TRACKS
						;;8422		AR_AR+TRX			;BUMPS BY NUMBER FED IT
						;;8423		VMA_AR,LOAD ARX,PHYS REF,AR_ARX	;LOW BIT OF INSTR WHERE CAN TEST
						;;8424		ARX_SHIFT,TRB_AR		;LOW BIT OF INSTR TO HIGH BIT
						;;8425		ARL_0.S,ARR_1S,SKP ARX0		;SEE WHICH HALFWORD TO INC
						;;8426						; ALSO SETTING UP FOR TEST IN
						;;8427						; LOW INCREMENT
						;;8428	=0	ARL_1.M,ARR_0.M,J/TRK3		;INC HIGH
						;;8429		ARX_MEM,ABORT INSTR		;[306] INC LOW
						;;8430		BR/AR,ARX_ARX+1,AR/ADX,STORE	;INCREMENT LOW HALF AND STORE IT
						;;8431		TEST AR.BR,SKP CRY0		;USING AND-1 HACK TO TEST OVFLOW
						;;8432	=0	AR_0S,J/TRKLOS			;OVERFLOWED FIXUP TO LOSE
						;;8433		MEM_AR,ARX_BRX,VMA/PC,AR_BRX	;NO OVERFLOW GET OUT ALSO
						;;8434	TRKN1:	SET TRACKS EN			; SAVE AWAY THIS OPCODE
						;;8435	TRKND:	DISP/NICOND,J/NEXT		;AND DO NEXT INSTR
						;;8436	
						;;8437	TRK3:	ARX_MEM,BR/AR,ABORT INSTR	;[306] GET WORD TO INC
						;;8438		AR_ARX+BR,STORE,SKP CRY0	;COMPUTE AND CHECK FOR OVERFLOW
						;;8439	=0	ARX_BRX,VMA/PC,MEM_AR,AR_BRX,	;SAVE AWAY THIS INSTR
						;;8440			J/TRKN1			; AND GET OUT
						;;8441		AR_0.C,ARX_BRX,MEM_AR,J/TRKLOS	;SHUT DOWN TRACKS ON OVERFLOW
						;;8442	
						;;8443	
						;;8444	TRKLOS:	AR_TRX
						;;8445		GEN AR,VMA/AD,PHYS REF	;WRITE -1 IN PRESENTED LOCATION
						;;8446		AR_TRB,STORE
						;;8447		MEM_AR,VMA/PC		;NEED AN INSTRUCTION TO GIVE
						;;8448		J/TRKND			;TIME TO NICOND AFTER VMA/PC
						;;8449	
						;;8450	.ENDIF/SO2.CNT
						; 8451	.ENDIF/INSTR.STAT
						; 8452	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 12
; IO.MIC[10,5351]	14:31 29-Nov-83			INTERNAL DEVICE FUNCTIONS -- PAG			

						; 8453	.TOC	"INTERNAL DEVICE FUNCTIONS -- PAG"
						; 8454	
						; 8455	=0****00**00
						;;8456	.IFNOT/KLPAGE
						;;8457	PAGBO:	BR/AR,CLR FE,CALL,		;INVALIDATE ONE PAGE TABLE LINE
						;;8458			SKP IO LEGAL,J/IOCHK
						;;8459	PAGBO1:	PT SEL_INVAL,J/PTLOOP		;SETUP INITIAL PT WR SELECT
						; 8460	.IF/KLPAGE
						; 8461	PAGBO:	AR_0S,BR/AR,CALL,		;CLEAR ONE PAGE TABLE ENTRY
U 1204, 3002,3441,2040,0000,0000,7350,0000	; 8462			SKP IO LEGAL,J/IOCHK
U 1205, 0066,0001,0000,0000,0020,2310,0010	; 8463		WR PT ENTRY,J/IFNOP
						; 8464	.ENDIF/KLPAGE
						; 8465	PAGDO:	ARX_AR (AD),ARR_ARL,ARL_ARL.M,	;SETUP USER CONTEXT
U 1206, 2406,3703,4200,0000,3001,7350,0000	; 8466			CALL.M,SKP IO LEGAL,J/GETEEB
U 1207, 3076,3703,4000,0000,2060,2010,0620	; 8467		DATAO PAG(L),AR_ARX		;SETUP AC BLOCKS, PREV CTXT
U 3076, 2412,3243,0000,0302,0020,5510,0011	; 8468	=	SKP AR2,SC_#,#/9.
						; 8469	=0
U 2412, 0417,4001,0000,0000,0000,0010,0007	; 8470	TIMCO1:	MTR CTL/CONO TIM,J/RELEEB	;DO NOT CHANGE UBR
						;;8471	.IF/PAGCNT				;[327] Count DATAO PAG with bit 2
						;;8472		MQ_AR,AR_TRX3+1			;[327] Do the count
						;;8473		TRX3_AR,AR_MQ
						; 8474	.ENDIF/PAGCNT				;[327]
						; 8475		FE_P AND #,#/4,MQ_SHIFT,	;[333] Save bit 3 for keep test
U 2413, 0550,3401,2010,7131,0000,4410,0004	; 8476			SKP AR18,AR_0S		;STORE ACCT?
U 0550, 2414,0001,0000,0000,0000,0150,0100	; 8477	=0*0	AR0-8_#,#/100,CALL,J/PAGD2	;YES, START WITH EBOX CNT
U 0551, 3120,3721,0000,0000,0307,0050,0602	; 8478		VMA_MQ,LOAD UBR,CALL [CLRPT]	;[333] No. Set for page table clear
						;;8479	.IF/BIG.PT				;[333]
						;;8480	=1*1	SKP SC NE,J/KEEPME		;[333] Might keep keep me bits
						; 8481	.IFNOT/BIG.PT
U 0555, 1736,4001,0000,0000,0000,2310,0001	; 8482	=1*1	PT SEL_INVAL,J/PTLOOP		;SETUP INITIAL PT WR SELECT
						; 8483	.ENDIF/BIG.PT				;[333]
						; 8484	;
						; 8485	;	PAGD2 is set up as a subroutine for addressing convenience only.
						; 8486	;
						; 8487	=0
U 2414, 1742,0001,0400,0302,1000,0050,0015	; 8488	PAGD2:	ARX_AR,SC_#,#/13.,CALL,J/EMTR	;UPDATE THE EBOX ACCT
U 2415, 3100,0001,0000,0000,0002,0110,0140	; 8489		MB WAIT,AR0-8_#,#/140		;READY TO GET CACHE ACCT
U 3100, 1743,0001,0400,0302,1000,0010,0015	; 8490		ARX_AR,SC_#,#/13.,J/CMTR	;RETURN ABOVE TO CLR PT
						; 8491	
						; 8492	
						; 8493	=0****00**00
						; 8494	PAGDI:	SC_#,#/70,SKP IO LEGAL,
U 1210, 2406,4001,0000,0302,0000,7350,0070	; 8495			CALL,J/GETEEB
						;;8496	.IFNOT/MODEL.B
						;;8497		DATAI PAG(L),CALL,J/PCTXT	;FIRST GET AC BLOCKS & CWSX
						; 8498	.IF/MODEL.B
						; 8499		DATAI PAG(L),ARX_1B17-1,	;PUT AC BLKS IN AR,
U 1211, 3101,1741,3200,0000,0060,2057,0511	; 8500			CALL,J/PCTXT		; [0,,-1] IN ARX
						; 8501	.ENDIF/MODEL.B
U 1212, 1002,3242,2000,0000,0000,0010,0000	; 8502	PAGBI:	AR_BR,J/UUO			;BLKI PAG, IS UNASSIGNED
U 1213, 0417,3242,4000,0000,0000,0610,0002	; 8503		AR_SHIFT,ARL_BRL,J/RELEEB	;COMBINE UBR WITH AC BLKS, CWSX
						; 8504	=
						;;8505	.IFNOT/MODEL.B
						;;8506	PCTXT:	P_SC				;PLUG IN LOAD-ENABLE BITS
						;;8507	=0*	BR/AR,AR_0S,READ UBR,		;ASK MBOX FOR UBR LOC'N
						;;8508			CALL,J/XFERW		;NOW READ IT
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 12-1
; IO.MIC[10,5351]	14:31 29-Nov-83			INTERNAL DEVICE FUNCTIONS -- PAG			

						;;8509		AR_EBUS REG
						; 8510	.IF/MODEL.B
U 3101, 3102,3243,0500,2400,3001,0010,0200	; 8511	PCTXT:	P_SC,ARX_ARX*8			;STUFF IN LOAD EN, ARX=7,,-10
U 3102, 3103,3243,0540,0000,2000,0210,0000	; 8512		BR/AR,AR12-17_PREV SEC,ARX_ARX*8
U 3103, 0764,3012,2040,0000,0000,0010,0000	; 8513		BR/AR,AR_ARX*BR,AD/ANDCA	;PCS TO BR, LD EN, AC BLKS TO AR
						; 8514	=0*	AR_AR*BR,AD/OR,READ UBR,	;LH READY IN AR.  GET UBR
U 0764, 0736,3302,2000,0000,0007,0050,0502	; 8515			CALL,J/XFERW
U 0766, 3114,4001,3040,0000,0060,2010,0567	; 8516		BR/AR,AR_EBUS REG		;LH TO BR.  READ UBR ADDRESS
						; 8517	.ENDIF/MODEL.B
						; 8518		ARX_AR,AR_0S,SC_#,#/27.,	;READY TO MOVE INTO POSITION
U 3114, 0003,3441,2400,0302,1000,0003,0033	; 8519			RETURN3
						; 8520	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 13
; IO.MIC[10,5351]	14:31 29-Nov-83			INTERNAL DEVICE FUNCTIONS -- PAG			

						; 8521	;CONI/O PAG,
						; 8522	
						; 8523	=0****00**00
						; 8524	PAGCO:	BR/AR,ARL_ARR.M,ARR_ARR,ARX_0S,	;SET EXEC CONTEXT
U 1214, 2406,3401,0240,0000,3001,7350,0004	; 8525			SKP IO LEGAL,CALL.M,J/GETEEB
U 1215, 1721,3703,0000,0000,0060,2010,0416	; 8526		CONO PAG,J/SETEBR		;SET CACHE, SEC, TRAP EN FLAGS
						; 8527	
						; 8528	PAGCI:	BR/AR,AR_0S,CALL,SKP IO LEGAL,	;READ EXEC CONTEXT
U 1216, 2406,3441,2040,0302,0000,7350,0011	; 8529			SC_#,#/9.,J/GETEEB
U 1217, 0774,0001,3000,0000,0060,2010,0531	; 8530		CONI PAG			;READ CACHE, SEC, TRAP EN
						; 8531	=
						; 8532	=0*	ARX_AR SWAP,AR_0S,READ EBR,	;SETUP EPT LOC'N TO READ
U 0774, 0736,3441,2400,0000,3007,0050,0503	; 8533			CALL,J/XFERW
						; 8534		AR_EBUS REG,			;GET EBR IN AR
U 0776, 3115,3401,3220,0000,0060,2010,0567	; 8535			BRX/ARX,ARX_0S		;SAVE FLAGS IN LH OF BRX
U 3115, 3116,0001,0400,0000,0000,2210,0000	; 8536		ARX_SHIFT,REL ECL EBUS		;MOVE EBR LOC LEFT
U 3116, 3117,3302,0000,0000,0001,0010,0016	; 8537		ARR_0.M,ADB/BR,ADA EN/EN,AD/OR,ARL/ADX	;COMBINE, THEN PUT IN RH
U 3117, 0022,4001,4000,0000,3005,0033,0000	; 8538		AR_AR SWAP,B WRITE,J/IOTEND	;STORE THE RESULT
						; 8539	
						; 8540	;HERE TO FINISH CONO PAG,
						; 8541	
						; 8542	=000
						; 8543	=001
U 1721, 2264,0001,0000,0302,0000,0050,0011	; 8544	SETEBR:	SC_#,#/9.,CALL,J/SHIFT		;MOVE EBR LOC'N TO POSITION
U 1723, 3120,3701,0000,0000,0307,0050,0603	; 8545	=011	VMA_AR,LOAD EBR,CALL [CLRPT]	;[333]SETUP EBR
						;;8546	.IF/BIG.PT				;[333] Entry from DATAO
						;;8547	=110					;[333] If bit 3 of AR was set,
						;;8548	KEEPME:	PT SEL_INVAL (KEEP),J/KEEPCL	; hang on to KEEP pages
						; 8549	.ENDIF/BIG.PT				;[333]
U 1727, 1736,4001,0000,0000,0000,2310,0001	; 8550	=111	PT SEL_INVAL			;SETUP INITIAL PT WR SELECT
						; 8551						;FOR NON KLPAGE THIS CAN SEND
						; 8552						; THE USER TO PAGBO1 AND SAVE 1
						; 8553						; UCODE LOCATION
						; 8554	=110
						; 8555	PTLOOP:	AR_AR+BR,VMA/AD,FE_FE-1,	;SELECT A LINE OF PT
						; 8556			CLR PT LINE,TIME/3T,	;DO THE WORK
U 1736, 1736,0602,2004,3001,0320,2334,0021	; 8557			BYTE DISP,J/PTLOOP	;LOOP TO CLEAR ALL
U 1737, 0066,0001,0000,0000,0000,2310,0000	; 8558		PT SEL_NORMAL,J/IFNOP		;RESET PT WR SELECTION
						;;8559	.IF/BIG.PT				;[333]
						;;8560	=110
						;;8561	KEEPCL:	AR_AR+BR,VMA/AD,FE_FE-1,TIME/3T,;SELECT A LINE OF PT
						;;8562			CLR PT LINE (KEEP),	;DO THE WORK
						;;8563			BYTE DISP,J/KEEPCL	;Hang onto lines with KEEP ME set
						;;8564		PT SEL_NORMAL,J/IFNOP		;RESET PT WR SELECTION
						; 8565	.ENDIF/BIG.PT				;[333]
						; 8566	;
						; 8567	;	[333] Set up to clear hardware page table after setting EBR or
						; 8568	;	UBR.  KEEP ME pages may or may not be cleared, depending upon the
						; 8569	;	setting of DATAO PAG bit 3.  (Clear everything for CONO PAG.)
						; 8570	;
U 3120, 2416,3441,2200,0000,0000,2210,0000	; 8571	CLRPT:	AR_0S,ARX_0S,REL ECL EBUS	;[334]DON'T HANG UP BUS FOR THIS
						; 8572	=0	AR0-8_#,#/10,MB WAIT,		;WAIT FOR U/E BR LOAD
U 2416, 0635,4001,0000,0000,0002,0153,0010	; 8573			SC_FE,CALL [ARSWAP]	;[334]GET 1B23
						; 8574		BR/AR,AR_0S,VMA/AD,		;[333][334] START CLEARING AT ZERO
U 2417, 0004,3441,2040,0301,0300,0003,0077	; 8575			FE_#,#/63.,RETURN4	;SETUP LOOP COUNT
						; 8576	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 14
; IO.MIC[10,5351]	14:31 29-Nov-83			INTERNAL DEVICE FUNCTIONS -- TIM & MTR			

						; 8577	.TOC	"INTERNAL DEVICE FUNCTIONS -- TIM & MTR"
						; 8578	
						; 8579	=0****00***0
						; 8580	RDMTR:	AR_BR,CALL,			;GET E TO AR
U 1502, 2406,3242,2000,0000,0000,7350,0000	; 8581			SKP IO LEGAL,J/GETEEB	;GRAB CONTROL OF EBUS
						; 8582		MQ_AR,AR_0S,			;SAVE E IN MQ
U 1503, 0760,3441,2010,0302,1000,0033,0015	; 8583			SC_#,#/13.,B DISP	;WHICH COUNTER?
						; 8584	=
U 0760, 2420,0001,3000,0000,0060,2010,0510	; 8585	=00	AR_TIME BASE,J/RDMTR1		;DATAI TIM,
U 0761, 2420,4001,3000,0000,0060,2010,0511	; 8586		AR_PERF CNT,J/RDMTR1		;BLKI TIM,
U 0762, 2420,4001,3000,0000,0060,2010,0512	; 8587		AR_EBOX CNT,J/RDMTR1		;DATAI MTR,
U 0763, 2420,0001,3000,0000,0060,2010,0513	; 8588		AR_CACHE CNT,J/RDMTR1		;BLKI MTR,
						; 8589	
						; 8590	=0
						; 8591	RDMTR1:	ARL+ARX_0.M,B DISP,		;SHIFT COUNT INTO POSITION
U 2420, 0770,0001,0000,0000,0001,0073,0060	; 8592			CALL.M,J/MTRDBL		;ADD DOUBLE WORD FROM PT
U 2421, 3121,0602,2604,0000,0020,2227,0000	; 8593		AR_AR+BR LONG,REL ECL EBUS
U 3121, 0256,3723,0000,0302,0316,0010,0043	; 8594		VMA_MQ,STORE,SC_#,#/35.,J/DMVM1	;STORE TOTAL AT E & E+1
						; 8595	
						; 8596	=0****00**00
U 1300, 2406,0001,0040,0000,0000,7350,0000	; 8597	TIMCO:	BR/AR,CALL,SKP IO LEGAL,J/GETEEB
U 1301, 2412,3703,0000,0000,0060,2023,0407	; 8598		CONO TIM,J/TIMCO1
						; 8599	TIMCI:	BR/AR,AR_0S,CALL,
U 1302, 2406,3401,2040,0000,0000,7350,0000	; 8600			SKP IO LEGAL,J/GETEEB
U 1303, 3122,4001,3000,0000,0060,2010,0514	; 8601		AR_INTERVAL			;INTERVAL GOES TO LH
U 3122, 3123,3401,2400,0000,3000,0010,0000	; 8602	=	ARX_AR SWAP,AR_0S
U 3123, 3124,0001,3000,0000,0060,2010,0515	; 8603		AR_PERIOD			;PERIOD TO RH
						; 8604	TIMBO1:	MTR CTL/LD PA LH,		;KEEP MTR DECODE FOR TIMBO
U 3124, 0417,4001,0000,0000,2000,0022,0004	; 8605			ARL_ARXL,J/RELEEB	;COMBINE PERIOD WITH INTERVAL
						; 8606	
						; 8607	=0****00**00
						; 8608	MTRCO:	BR/AR,ARL_ARR.M,ARR_ARR,
U 1304, 2406,0001,0040,0000,3001,7350,0004	; 8609			CALL.M,SKP IO LEGAL,J/GETEEB
U 1305, 3125,3701,0000,0000,0060,2023,0406	; 8610		CONO MTR,J/MTRCO1
						; 8611	MTRCI:	BR/AR,AR_0S,CALL,
U 1306, 2406,3401,2040,0000,0000,7350,0000	; 8612			SKP IO LEGAL,J/GETEEB
U 1307, 3125,4001,3000,0000,0060,2010,0516	; 8613		CONI MTR			;READ BACK CONDITIONS
						; 8614	=
U 3125, 0417,0001,0000,0000,0000,0022,0026	; 8615	MTRCO1:	ARL_0.S,MTR CTL/CONO MTR,J/RELEEB
						; 8616	
						; 8617	=0****00**00
U 1310, 1002,3242,2000,0000,0000,0010,0000	; 8618	TIMDO:	AR_BR,J/UUO			;DATAO TIM, UNDEFINED
						; 8619	=10
						; 8620	TIMBO:	ARX_AR,AR_0S,CALL,		;SAVE ENABLES, CLEAR AR
U 1312, 2406,3441,2400,0000,1000,7350,0000	; 8621			SKP IO LEGAL,J/GETEEB	;CHECK LEGALITY, GET BUS
U 1313, 3126,3703,4000,0000,2060,2023,0404	; 8622		BLKO TIM(L),AR_ARX		;TURN OFF BY CLEARING LH ENABLES
U 3126, 3127,3701,4000,0000,3060,2023,0405	; 8623	=	BLKO TIM(R),AR_AR SWAP		;SEND RH
U 3127, 3124,3701,0000,0000,0060,2023,0404	; 8624		BLKO TIM(L),J/TIMBO1		;SEND LH, TURNING ON AGAIN
						; 8625	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 15
; IO.MIC[10,5351]	14:31 29-Nov-83			INTERNAL DEVICE FUNCTIONS -- TIM & MTR			

						; 8626	;HERE WHEN METER INCREMENT REQUEST DETECTED
						; 8627	
U 3130, 3131,0001,0000,0000,0000,2210,0400	; 8628	MTRREQ:	GET ECL EBUS			;TAKE CONTROL OF BUS
U 3131, 2422,0001,3000,0000,0060,2010,0517	; 8629		AR_MTR REQ			;WHAT TYPE REQUEST?
						; 8630	=0	MQ_AR,AR_AR*2,CALL,		;GET READY TO DISP
U 2422, 3133,3703,5010,0000,1100,3050,0514	; 8631			VMA_#,#/514,J/MTRRQ0
U 2423, 3132,4001,0000,0000,0000,2210,0000	; 8632		REL ECL EBUS			;DONE
U 3132, 0724,0001,0000,0000,0002,2110,0105	; 8633		MB WAIT,SET ACCOUNT EN,J/PIFET	;FETCH NEXT INSTR
						; 8634	
						; 8635	MTRRQ0:	ARX_AR SWAP,DISP/SH0-3,AR_0S,	;DISPATCH ON REQUEST TYPE
U 3133, 1740,3401,2400,0302,3040,0007,0015	; 8636			SC_#,#/13.
						; 8637	=000
U 1740, 3136,0001,3000,0000,0060,2023,0510	; 8638		RD+CLR TB,J/TMTR1		;TIME BASE
U 1741, 3137,0001,3000,0000,0060,2023,0511	; 8639		RD+CLR PA,J/PMTR1		;PERF ANALYSIS CNT
U 1742, 3140,0001,3000,0000,0060,2023,0512	; 8640	EMTR:	RD+CLR E CNT,J/EMTR1		;EBOX CNT
U 1743, 3141,0001,3000,0000,0060,2023,0513	; 8641	CMTR:	RD+CLR C CNT,J/CMTR1		;CACHE CNT
U 1744, 3134,4001,0000,0000,0000,2210,0000	; 8642		REL ECL EBUS			;INTERVAL -- VECTOR INTERRUPT
U 3134, 3135,0001,0000,0000,0000,1510,0714	; 8643	=	SET PI CYCLE
U 3135, 0643,4001,0000,0000,0000,2110,0105	; 8644		SET ACCOUNT EN,J/PIINST
						; 8645	
U 3136, 3142,0001,0000,0000,0000,0010,0000	; 8646	TMTR1:	MTR CTL/CLR TIME,J/MTRRQ1	;HOLD SELECTS FOR
U 3137, 3142,4001,0000,0000,0000,0010,0001	; 8647	PMTR1:	MTR CTL/CLR PERF,J/MTRRQ1	;MTR CTL FUNCTION
U 3140, 3142,4001,0000,0000,0000,0010,0002	; 8648	EMTR1:	MTR CTL/CLR E CNT,J/MTRRQ1	; TO PREVENT RACE
U 3141, 3142,0001,0000,0000,0000,0010,0003	; 8649	CMTR1:	MTR CTL/CLR M CNT,J/MTRRQ1	; AND POSSIBLE GLITCHES
						; 8650	
						; 8651	;HERE WITH RELEVANT COUNT IN ARR, GARBAGE IN ARL
						; 8652	
U 3142, 2424,4001,0000,0000,0000,1510,0004	; 8653	MTRRQ1:	ABORT INSTR
						; 8654	=0	ARL+ARX_0.M,ARX0-3 DISP,	;CLEAR GARBAGE & RE-DISPATCH
U 2424, 0770,4001,0000,0000,2041,0047,0060	; 8655			CALL.M,J/MTRDBL		; TO ADD DOUBLE COUNTER FROM PT
						; 8656		AR_AR+BR LONG,SC_#,#/35.,
U 2425, 3143,0602,2604,0302,0036,3527,0043	; 8657			VMA_VMA-1,STORE		;STORE BACK IN PROCESS TABLE
U 3143, 3144,3441,2003,0000,0002,0010,0000	; 8658		MEM_AR,AR_0S			;HI PART TO MEM
U 3144, 0001,4001,4000,0000,0016,3603,0000	; 8659		AR_SHIFT,VMA_VMA+1,STORE,RETURN1
						; 8660	
						; 8661	;HERE TO PICK UP DOUBLEWORD FROM PROCESS TABLE
						; 8662	; AND ADD CURRENT CONTENTS OF APPROPRIATE METER
						; 8663	
						; 8664	=00
						; 8665	MTRDBL:	AR_0S,ARX_SHIFT,
U 0770, 3145,3401,2400,0000,0100,3010,0510	; 8666			VMA_#,#/510,J/RDEMTR	;TIME BASE IN EPT 510-511
						; 8667		AR_0S,ARX_SHIFT,
U 0771, 3145,3441,2400,0000,0100,3010,0512	; 8668			VMA_#,#/512,J/RDEMTR	;PERF CNT IN EPT 512-513
						; 8669		AR_0S,ARX_SHIFT,
U 0772, 3146,3401,2400,0000,0100,3010,0504	; 8670			VMA_#,#/504,J/RDUMTR	;EBOX ACCT IN UPT 504-505
						; 8671		AR_0S,ARX_SHIFT,
U 0773, 3146,3441,2400,0000,0100,3010,0506	; 8672			VMA_#,#/506,J/RDUMTR	;CACHE ACCT IN UPT 506-507
						; 8673	
						; 8674	RDEMTR:	BR_AR LONG,			;SAVE COUNT IN BR!BRX
U 3145, 1074,0001,0060,0000,0012,0026,0113	; 8675			LOAD AR,EPT REF,J/RDMTR2;GET HIGH WORD FROM EPT
U 3146, 1074,0001,0060,0000,0012,0026,0223	; 8676	RDUMTR:	BR_AR LONG,LOAD AR,UPT REF	; OR UPT AS APPROP
						; 8677	=0*
						; 8678	RDMTR2:	FIN XFER,VMA_VMA+1,LOAD ARX,	;NOW GET LOW WORD
U 1074, 0736,3240,0003,0000,0033,3650,0000	; 8679			CALL,J/XFERW		;GO WAIT FOR IT
U 1076, 0001,3701,0500,0000,0000,0003,0000	; 8680		ARX_ARX*2,RETURN1
						; 8681	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 16
; IO.MIC[10,5351]	14:31 29-Nov-83			PRIORITY INTERRUPT PROCESSING				

						; 8682	.TOC	"PRIORITY INTERRUPT PROCESSING"
						; 8683	;HERE WHEN PRIORITY INTERRUPT REQUEST DETECTED
						; 8684	;PI LOGIC HAS DONE HANDSHAKE TO BRING FUNCTION WORD IN ON EBUS
						; 8685	; FUNCTION WORD IS NOW IN AR, SC=2
						; 8686	
						; 8687	;THE FORMAT OF THE FUNCTION WORD IS --
						; 8688	;    0-2	ADDRESS SPACE FOR THE FUNCTION
						; 8689	;	0=EPT
						; 8690	;	1=EXEC VIRTUAL
						; 8691	;	4=PHYSICAL
						; 8692	;	OTHERS UNDEFINED
						; 8693	;    3-5	FUNCTION TO PERFORM (SEE LIST BELOW AT PIDISP)
						; 8694	;      6	FUNCTION QUALIFIER
						; 8695	;   7-10	PHYSICAL DEVICE # ON EBUS
						; 8696	;  11-12	UNDEFINED
						; 8697	;  13-35	ADDRESS FOR FUNCTION
						; 8698	
U 3147, 3150,0001,0010,0000,1000,1510,0714	; 8699	PICYC1:	SET PI CYCLE,MQ_AR		;START PI CYCLE
U 3150, 3151,0001,0007,0000,0000,1010,0163	; 8700		FM[SV.IOP]_AR			;[234] save IOP function word
						; 8701						; in AC3.
U 3151, 0570,3600,0207,4000,0360,0007,0175	; 8702		VMA_AR AND ADMSK,ARX/AD,SH DISP	;EXTRACT ADDR, DISP ON FCN
						; 8703	=1000					;3-5 IS FUNCTION TO PERFORM
U 0570, 0643,4001,0000,0000,0100,3410,0040	; 8704	PIDISP:	VMA_40+PI*2,J/PIINST		;(0) STANDARD INTERRUPT
U 0571, 0643,4001,0000,0000,0100,3410,0040	; 8705		VMA_40+PI*2,J/PIINST		;(1) DITTO
U 0572, 3153,3203,2000,0302,0000,0010,0005	; 8706		AR_AR*4,SC_#,#/5,J/PIVECT	;(2) VECTOR
U 0573, 0677,4001,0000,0000,0012,0010,0000	; 8707		LOAD AR,J/PIINCR		;(3) INCREMENT
U 0574, 0720,0001,0000,7310,0020,5210,0040	; 8708		SKP AR6,J/PIDATO		;(4) DATAO
U 0575, 0742,4001,0020,0000,0060,0010,0000	; 8709		BRX/ARX,TIME/5T,J/PIDATI	;(5) DATAI
U 0576, 1750,3243,2000,7310,0020,5210,0040	; 8710		AR_AR*4,SKP AR6,J/PIBYTE	;(6) BYTE TRANSFER
						; 8711	.IFNOT/IPA20				;[265]
U 0577, 0643,4001,0000,0000,0100,3410,0040	; 8712		VMA_40+PI*2,J/PIINST		;(7) UNDEFINED
						;;8713	.IF/IPA20				;[265]
						;;8714		VMA_AR AND ADMSK, J/PHYS0	;(7) KLIPA   [265]
						; 8715	.ENDIF/IPA20
						; 8716	
U 3152, 0643,0001,0000,0000,0100,3410,0041	; 8717	PICYC2:	VMA_41+PI*2,J/PIINST		;2ND PART OF STD INT
						; 8718	
U 3153, 0643,3401,2000,7311,0040,0007,0030	; 8719	PIVECT:	FE_# AND S,#/30,AR_0S,SH DISP	;WHAT KIND OF DEVICE?
						; 8720	=0011
U 0643, 0270,4001,0000,0000,0013,0026,0513	; 8721	PIINST:	EPT FETCH,J/XCTW		;CHAN 0-3
U 0647, 0270,4001,0000,0000,0013,0026,0513	; 8722		EPT FETCH,J/XCTW		;CHAN 4-7
U 0653, 1134,0001,0000,2030,2000,0110,0142	; 8723		AR0-8_FE+#,#/142,J/DTEVEC	;DTE 0-3
U 0657, 0270,0001,0000,0000,0013,0010,0000	; 8724		LOAD ARX,J/XCTW			;EXTERNAL DEVICE
						; 8725	=0*
U 1134, 2264,3401,2400,0302,1000,0050,0011	; 8726	DTEVEC:	ARX_AR,AR_0S,SC_#,#/9.,CALL,J/SHIFT
U 1136, 0270,3701,0000,0000,0313,0026,0513	; 8727		VMA_AR,EPT FETCH,J/XCTW
						; 8728	
						; 8729	=0101
U 0665, 0736,0001,0000,0000,0012,0026,0113	; 8730	PILD:	LOAD AR,EPT REF,J/XFERW		;GET DATUM FROM EPT
U 0667, 0736,0001,0000,0000,0012,0010,0000	; 8731		LOAD AR,J/XFERW			; OR EXEC VIRTUAL ADDR SPACE
						;;8732	.IFNOT/MODEL.B
						;;8733		VMA_ARX,LOAD AR,
						;;8734			PHYS REF,J/XFERW	; OR PHYSICAL MEMORY, AS REQUESTED
						; 8735	.IF/MODEL.B
U 0675, 1050,3610,0207,4000,0320,0010,0175	; 8736		VMA_ARX AND ADMSK,ARX/AD,J/PHYS2;FORCE AC'S FOR 0-17
						; 8737	.ENDIF/MODEL.B
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 16-1
; IO.MIC[10,5351]	14:31 29-Nov-83			PRIORITY INTERRUPT PROCESSING				

						;;8738	.IFNOT/MODEL.B			;[224] 
						;;8739	IOPFIN:	SET ACCOUNT EN,J/PIDONE		;IN CASE OF EBUS PROBLEMS
						; 8740	.ENDIF/MODEL.B			;[224]
						; 8741	
						; 8742	;HERE TO PERFORM INCREMENT FUNCTION
						; 8743	
U 0677, 2426,3200,0003,7310,0042,5210,0040	; 8744	PIINCR:	AR_MEM,SKP AR6			;GET WORD, INCR OR DECR?
U 2426, 0723,4003,2000,0000,0036,0010,0000	; 8745	=0	AR_AR+1,STORE,J/PIDONE
U 2427, 0723,1701,2000,0000,0036,0010,0000	; 8746		AR_AR-1,STORE,J/PIDONE
						; 8747	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 17
; IO.MIC[10,5351]	14:31 29-Nov-83			PRIORITY INTERRUPT PROCESSING				

						; 8748	;HERE FOR DATAO (EXAMINE) FUNCTION
						; 8749	
						; 8750	=0000
U 0720, 0665,0001,0000,0000,1040,0047,0000	; 8751	PIDATO:	AR0-3 DISP,CALL.M,J/PILD	;GET DATA FROM REQUESTED ADR SPC
U 0721, 3155,3203,2000,0000,0000,0050,0000	; 8752		AR_AR*4,CALL,J/RDEX		;RESTRICTED EXAMINE
U 0722, 3062,3200,0003,0000,0022,2250,0026	; 8753	PIOUT:	AR_MEM,SET DATAO,CALL,J/EBUSO	;SEND DATA
U 0723, 0724,4001,0003,0000,0002,0024,0502	; 8754	PIDONE:	MEM_AR,DISMISS			;DONE, DISMISS & RESUME NORMAL
U 0724, 0075,4001,0000,0000,0117,0010,0000	; 8755	PIFET:	VMA/PC,FETCH,J/NOP		;RESUME AS BEFORE
U 0725, 1154,1701,0000,0000,0320,0050,0000	; 8756	=0101	VMA_AR-1,CALL,J/DEXCHK		;GO PROT/RELOC THIS EXAM
						;;8757	.IFNOT/MODEL.B
						;;8758	=0111	VMA_ARX,LOAD AR,PHYS REF,J/PIOUT;PROTECTED PHYSICAL
						; 8759	.IF/MODEL.B
U 0727, 1040,3610,0207,0000,0320,0010,0175	; 8760	=0111	VMA_ARX AND ADMSK,ARX/AD,J/PHYS1;FORCE AC'S FOR 0-17
						; 8761	.ENDIF/MODEL.B
U 0737, 0722,0001,0000,0000,0000,0010,0000	; 8762	=1111	J/PIOUT				;PROT VIOLATION.  SEND 0
						; 8763	
						; 8764	;HERE FOR DATAI (DEPOSIT) FUNCTION
						; 8765	
						; 8766	=10
U 0742, 3061,3441,2000,0000,0060,2250,0027	; 8767	PIDATI:	SET DATAI,TIME/5T,CALL,J/EBUSI	;READ THE DATA
U 0743, 3154,3721,2400,0000,1000,0010,0000	; 8768		ARX_AR,AR_MQ			;DATUM TO ARX, GET FCN WORD
U 3154, 0740,3202,0620,7310,0020,5210,0040	; 8769		BRX/ARX,ARX_BRX,SKP AR6		;RESTRICTED?
U 0740, 0765,3242,6000,0000,1040,0007,0000	; 8770	=0000	AR0-3 DISP,AR_BRX,J/PIST	;NO, STORE AS REQUESTED
U 0741, 3155,3203,2000,0000,0000,0050,0000	; 8771		AR_AR*4,CALL,J/RDEX		;YES, GET PROT/RELOC ADDR
U 0745, 1154,4003,0000,0000,0320,0050,0000	; 8772	=0101	VMA_AR+1,CALL,J/DEXCHK		;VERIFY LEGALITY
U 0747, 0775,3202,6000,0000,0000,0010,0000	; 8773	=0111	AR_BRX,J/PSTOR			;DATA IN AR, ADDR IN ARX. STORE PHYS
U 0757, 0723,4001,0000,0000,0000,0010,0000	; 8774	=1111	J/PIDONE			;PROT VIOLATION, STORE NOTHING
						; 8775	
						; 8776	=0101
U 0765, 0723,0001,0000,0000,0016,0026,0113	; 8777	PIST:	STORE,EPT REF,J/PIDONE
U 0767, 0723,0001,0000,0000,0016,0010,0000	; 8778		STORE,J/PIDONE
						;;8779	.IFNOT/MODEL.B
						;;8780	PSTOR:	VMA_ARX,STORE,PHYS REF,J/PIDONE
						; 8781	.IF/MODEL.B
U 0775, 1070,3610,0207,0000,0320,0010,0175	; 8782	PSTOR:	VMA_ARX AND ADMSK,ARX/AD,J/PHYS3;FORCE AC'S FOR 0-17
						; 8783	.ENDIF/MODEL.B
U 0777, 0723,4001,0000,0000,0000,0010,0000	; 8784		J/PIDONE
						; 8785	
U 3155, 3156,4001,4000,7311,2000,0010,0030	; 8786	RDEX:	FE_# AND S,#/30,AR_ARX		;DTE# *8 TO FE, ADDR TO AR
U 3156, 3157,4001,0040,2030,2000,0110,0145	; 8787		BR/AR,AR0-8_FE+#,#/145		;SAVE ADDR TO BR, GET EPT LOC
U 3157, 3160,3441,2400,0302,1000,0010,0011	; 8788	GTAR08:	ARX_AR,AR_0S,SC_#,#/9.
U 3160, 0004,0001,4000,0000,0000,0003,0000	; 8789		AR_SHIFT,RETURN4
						; 8790	
						; 8791	=0*
U 1154, 0665,0001,0000,0000,0000,0050,0000	; 8792	DEXCHK:	CALL,J/PILD			;PROTECTION WORD FROM EPT
U 1156, 1030,3102,0004,0000,0020,5410,0000	; 8793		SKP AR GT BR			;ALLOWED?
U 1030, 0012,3401,2000,0000,0000,0003,0000	; 8794	=00	AR_0S,RETURN12			;NO, SEND 0, STORE NOTHING
U 1031, 0665,0001,0000,0000,0000,3650,0000	; 8795		VMA_VMA+1,CALL,J/PILD		;YES, GET RELOCATION WORD
U 1033, 3161,0602,2004,0000,0020,0010,0000	; 8796	=11	AR_AR+BR			;RELOCATE TO PHYSICAL ADDR
U 3161, 0002,3600,0207,4000,0020,0003,0175	; 8797		ARX_AR AND ADMSK,RETURN2	;STRIP TO 23 BITS
						; 8798	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 18
; IO.MIC[10,5351]	14:31 29-Nov-83			PRIORITY INTERRUPT PROCESSING				

						;;8799	.IF/IPA20
						;;8800						;BEGIN EDIT [265]
						;;8801	PHYS0:	LOAD AR, PHYS REF CACHE		;[311]START READ
						;;8802		AR_MEM				;FINISH READ
						;;8803	=10	AR_AR+1, SET DATAO,		;INCREMENT THE LOCATION
						;;8804			CALL [EBUSO]		;AND SEND DATA OVER THE EBUS
						;;8805		STORE, PHYS REF CACHE,		;[311]UPDATE MEMORY
						;;8806			J/PIDONE		;FINISH MEMORY CYCLE
						; 8807	.ENDIF/IPA20				;END EDIT [265]
						; 8808	;FORCE AC'S FOR 0-17
						; 8809	
						; 8810	.IF/MODEL.B
						; 8811	=00
U 1040, 3162,0001,0000,0302,0000,0050,0040	; 8812	PHYS1:	SC_#,#/32.,CALL,J/CHKAC		;DATAO (EXAMINE)
U 1042, 0722,0001,0000,0000,0012,0010,0000	; 8813	=10	LOAD AR,J/PIOUT			;AC REF DONT USE PHYS REF
U 1043, 0722,4001,0000,0000,0012,0026,0103	; 8814		LOAD AR,PHYS REF,J/PIOUT	;NOT AC'S GET PHYSICAL MEMORY
						; 8815	
						; 8816	=00
U 1050, 3162,0001,0000,0302,0000,0050,0040	; 8817	PHYS2:	SC_#,#/32.,CALL,J/CHKAC		;DATAO (EXAMINE)
U 1052, 0736,0001,0000,0000,0012,0010,0000	; 8818	=10	LOAD AR,J/XFERW
U 1053, 0736,4001,0000,0000,0012,0026,0103	; 8819		LOAD AR,PHYS REF,J/XFERW	;NOT AC'S GET PHYSICAL MEMORY
						; 8820	
						; 8821	=00
U 1070, 3162,0001,0000,0302,0000,0050,0040	; 8822	PHYS3:	SC_#,#/32.,CALL,J/CHKAC
U 1072, 0723,0001,0000,0000,0016,0010,0000	; 8823	=10	STORE,J/PIDONE
U 1073, 0723,4001,0000,0000,0016,0026,0103	; 8824		STORE,PHYS REF,J/PIDONE
						; 8825	
U 3162, 3163,4001,0400,0000,0000,0010,0000	; 8826	CHKAC:	ARX_SHIFT			;GET ADDRESS WITHOUT 32-35
						; 8827		ARX_ARX AND ADMSK,		;FLUSH GARBAGE IN 0-3
U 3163, 0002,3610,0207,0000,0020,5603,0175	; 8828			SKP AD NE,RETURN2	;AND MAKE THE TEST
						; 8829	.ENDIF/MODEL.B
						; 8830	
						; 8831	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 19
; IO.MIC[10,5351]	14:31 29-Nov-83			PRIORITY INTERRUPT PROCESSING				

						; 8832	;HERE FOR BYTE TRANSFERS
						; 8833	
						; 8834	=000
U 1750, 3164,4001,0000,7311,0000,0050,0030	; 8835	PIBYTE:	FE_# AND S,#/30,CALL,J/PIBPA	;OUT... GET BP ADDR
U 1751, 3061,3441,2000,0000,0000,2250,0027	; 8836		SET DATAI,CALL,J/EBUSI		;IN ... FIRST READ THE DATA
U 1753, 1760,0323,5400,0000,1020,0010,0000	; 8837	=011	ARX_AR,AR_MQ*4,J/PIDPB		;GOT IT, GO DEPOSIT IT
						; 8838	
U 1754, 0640,3701,0000,0000,0300,0050,0000	; 8839	=100	VMA_AR,CALL,J/PIIBP		;GO INCREMENT OUTPUT BP
U 1755, 2260,0001,0000,2002,0000,0050,0000	; 8840		SC_FE+SC,CALL,J/LDB1		;GO LOAD BYTE FROM IT
U 1757, 0722,0001,0000,0000,0000,0010,0000	; 8841	=111	J/PIOUT				;THEN SEND BYTE
						; 8842	
						; 8843	=000
						; 8844	PIDPB:	BRX/ARX,FE_# AND S,#/30,	;HERE WITH INPUT DATA
U 1760, 3164,0001,0020,7311,0000,0050,0030	; 8845			CALL,J/PIBPA
U 1764, 0640,4003,0000,0000,0320,0050,0000	; 8846	=100	VMA_AR+1,CALL,J/PIIBP		;GO INCREMENT INPUT BYTE PTR
						; 8847		AR_BRX,SC_#-SC,#/36.,		;STORE BYTE WITH IT
U 1765, 2266,3202,6000,5302,0020,5150,0044	; 8848			SKP SCAD0,CALL,J/DPB1
U 1767, 0723,4001,0000,0000,0000,0010,0000	; 8849	=111	J/PIDONE
						; 8850	
U 3164, 3157,0001,0000,2030,2000,0110,0140	; 8851	PIBPA:	AR0-8_FE+#,#/140,J/GTAR08
						; 8852	
						; 8853	=00*
U 0640, 0665,0001,0000,0000,0000,0050,0000	; 8854	PIIBP:	CALL,J/PILD			;GET POINTER FROM EPT
U 0642, 1420,4001,0000,5110,3021,5150,0200	; 8855		P_P-S,SKP SCAD0,CALL.M,J/IBPS	;INCREMENT IT
U 0646, 1444,4001,0400,0102,1000,0010,0000	; 8856	=11*	ARX_AR,SC_P,J/BYTEA		;NOW EVALUATE ITS ADDR
						; 8857	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 20
; IO.MIC[10,5351]	14:31 29-Nov-83			KL-MODE PAGE REFILL LOGIC				

						; 8858	.TOC	"KL-MODE PAGE REFILL LOGIC"
						; 8859	
						; 8860	.IF/KLPAGE
						; 8861	;HERE ON ANY PAGE FAILURE
						; 8862	;THE POSSIBLE CAUSES ARE --
						; 8863	;  1:	A PARITY ERROR WAS DETECTED IN AR OR ARX FOLLOWING A READ
						; 8864	;	REFERENCE.  IN THIS CASE WE SAVE THE BAD WORD IN A RESERVED
						; 8865	;	LOCATION IN FAST MEMORY BLOCK 7, AND RETURN A PAGE FAIL CODE
						; 8866	;	INDICATING THE ERROR.
						; 8867	;  2:	THE MBOX DETECTED A PROPRIETARY VIOLATION OR PAGE TABLE PARITY
						; 8868	;	ERROR, OR THE EBOX FOUND THE SELECTED ADDRESS BREAK CONDITION.
						; 8869	;	IN THIS CASE, WE RETURN THE PAGE FAIL CODE GENERATED BY THE
						; 8870	;	MBOX (SEE PRINT PAG4).
						; 8871	;  3:	A REFERENCE OCCURRED FOR A VIRTUAL PAGE FOR WHICH THE HARDWARE
						; 8872	;	PAGE TABLE DIRECTORY HAD NO VALID MATCH.  IN THIS CASE, WE
						; 8873	;	WRITE THE PAGE TABLE DIRECTORY FROM THE VMA, AND CLEAR THE
						; 8874	;	ACCESS BITS FOR ALL PAGE ENTRIES CONTROLLED BY THE SELECTED
						; 8875	;	DIRECTORY ENTRY.  WE THEN JOIN THE REFILL CODE, BELOW.
						; 8876	;  4:	A REFERENCE OCCURRED FOR A VIRTUAL PAGE FOR WHICH THE ACCESS BIT
						; 8877	;	IN THE HARDWARE PAGE TABLE WAS OFF, OR A WRITE OCCURRED TO A
						; 8878	;	PAGE WHOSE WRITABLE BIT WAS OFF.  IN THIS CASE, WE EVALUATE THE
						; 8879	;	PAGING POINTERS IN CORE TO DETERMINE WHETHER THE ACCESS SHOULD
						; 8880	;	BE ALLOWED, AND IF SO, THE PHYSICAL PAGE TO WHICH IT SHOULD BE
						; 8881	;	TRANSLATED.  WE THEN EITHER PAGE FAIL, OR WRITE A PAGE ENTRY
						; 8882	;	INTO THE HARDWARE PAGE TABLE AND RESTART THE REFERENCE.
						; 8883	;
						; 8884	;	[322] Note that in the latter case, if a page should be accessible
						; 8885	;	but not writable, it is the microcode's responsibility to turn on
						; 8886	;	bit 2 of the page fail word (the Accessible bit) if a write
						; 8887	;	reference is attempted to such a page.  Currently, this is done only
						; 8888	;	if no CST is present (TOPS-10 operating mode), since TOPS-20
						; 8889	;	retraces the page map from scratch and thus generates the correct
						; 8890	;	information.  The bit can be made correct for the CST present case
						; 8891	;	(see code near NOTWR), but since we are now quite tight on control
						; 8892	;	store, we have chosen not to implement this.
						; 8893	;
						; 8894	;	If you are looking at this code for the first time, be aware that
						; 8895	;	only AR, ARX, SC, and FE are saved and restored here; thus BRX and
						; 8896	;	MQ are strictly off limits for this code.
						; 8897	;
						;;8898	.IFNOT/MODEL.B
						;;8899	2377:	CLR ACCOUNT EN,FORCE AR-ARX,J/PF1
						; 8900	.IF/MODEL.B
U 3777, 3165,3203,7700,0000,0000,2110,0145	; 8901	3777:	CLR ACCOUNT EN,FORCE AR-ARX,J/PF1
						; 8902	.ENDIF/MODEL.B
U 1777, 3165,3203,7700,0000,0000,2110,0145	; 8903	1777:	CLR ACCOUNT EN,FORCE AR-ARX
U 3165, 3166,3703,4207,0000,2000,1010,0156	; 8904	PF1:	SV.AR_AR,AR_ARX,ARX_AR (AD)	;SAVE CURRENT AR
U 3166, 3167,3703,4207,0000,2000,1010,0157	; 8905		SV.ARX_AR,AR_ARX,ARX_AR (AD)	; AND ARX
						;;8906	.IF/PAGCNT				;[327] Page fault counting
						;;8907		AR_TRX2+1			;[327] Count this page fault
						;;8908		TRX2_AR
						; 8909	.ENDIF/PAGCNT				;[327]
U 3167, 1034,0001,0000,0000,0000,2204,0400	; 8910		GET ECL EBUS,PF DISP,J/PF2	;PARITY ERROR?
						; 8911	=1100
						; 8912	PF2:
						; 8913	.IFNOT/PAGCNT				;[327]
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 20-1
; IO.MIC[10,5351]	14:31 29-Nov-83			KL-MODE PAGE REFILL LOGIC				

U 1035, 2430,4001,0000,0301,0000,6410,0036	; 8914	=1101	FE_#,#/36,SKP RPW,J/PFPAR	;YES.  AR PARITY ERROR, CODE 36
						; 8915						;CHECK FOR MIDDLE OF RPW CYCLE
						;;8916	.IF/PAGCNT
						;;8917	=1101	AR_SV.AR,J/ARPAR		;[327] AR parity error. Get back
						; 8918	.ENDIF/PAGCNT				;[327] saved AR
U 1036, 2430,0001,4000,0301,2000,6410,0037	; 8919		AR_ARX,FE_#,#/37,SKP RPW,J/PFPAR;[307] YES, ARX PARITY. COULD BE RPW
U 1037, 3170,0001,3000,0000,0062,2010,0567	; 8920		AR_EBUS REG,MB WAIT		;NO. GET PAGE FAIL WORD
U 3170, 1047,0001,0000,0000,0000,2204,0000	; 8921		REL ECL EBUS,PF DISP,J/PF4	;EBOX HANDLING REQUIRED?
						; 8922	;
						;;8923	.IF/PAGCNT				;[327]
						;;8924	ARPAR:	FE_#,#/36,SKP RPW,J/PFPAR	;Set code 36 and check for RPW
						; 8925	.ENDIF/PAGCNT
						; 8926	
						; 8927	;HERE ON ANY PARITY ERROR
						; 8928	;SKIP IF MIDDLE OF READ-PAUSE-WRITE CYCLE, IN WHICH CASE WE
						; 8929	; MUST WRITEBACK THE DATA TO PREVENT INCOMPLETE CYCLE
						; 8930	=0
U 2430, 3171,3733,0000,0000,0303,1710,0000	; 8931	PFPAR:	VMA_VMA HELD,J/PFPAR1		;MAY HAVE CHANGED AT MBWAIT
U 2431, 3171,4001,0000,0000,0016,0010,0000	; 8932		STORE				;WRITEBACK WITH GOOD PARITY
U 3171, 3172,0001,0000,0302,0007,0010,0140	; 8933	PFPAR1:	MAP,SC_#,#/140			;GET MAP INFO ON REF
U 3172, 3173,4001,0007,0000,0002,1010,0160	; 8934	PFPAR2:	SV.PAR_AR,MB WAIT		;[234]SAVE WORD WITH BAD PARITY
U 3173, 3174,0001,3000,0000,0060,2010,0567	; 8935		AR_EBUS REG			;READ MAP INFO
U 3174, 3175,0001,0000,7102,0000,2210,0000	; 8936		REL ECL EBUS,SC_P AND SC	;GET USER BIT FROM MAP WORD
U 3175, 1047,0001,0000,6000,3000,0022,0200	; 8937		P_FE OR SC,J/PF4		;STUFF IN PARITY ERROR CODE
						; 8938	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 21
; IO.MIC[10,5351]	14:31 29-Nov-83			KL-MODE PAGE REFILL LOGIC				

						; 8939	;HERE WITH PAGE FAIL WORD IN AR
						; 8940	; TESTING FOR EBOX HANDLING REQUIRED.
						; 8941	
						; 8942	=0111
U 1047, 0040,4001,0007,0000,0000,1005,0152	; 8943	PF4:	SV.PFW_AR,SR DISP,J/CLEAN	;NO, GO CLEAN UP
U 1057, 3176,3202,2047,0000,0000,1010,0152	; 8944		SV.PFW_AR,AR_BR,BR/AR		;YES, GET BR TOO
U 3176, 3200,3441,2007,0000,0000,1010,0150	; 8945		SV.BR_AR,AR_0S			;SAVE BR
U 3200, 3201,0001,0000,0000,2000,0022,0200	; 8946		AR0-8_FE			;NOW SAVE 10-BIT REGS
U 3201, 3202,3701,0200,2400,2000,0022,0200	; 8947		ARX_AR (AD),AR0-8_SC		;FE TO ARX, SC TO AR
						; 8948		ARR_ARL,ARL_ARX (ADX),		;FE IN ARL, SC IN ARR
U 3202, 3203,3731,4200,0000,3001,1710,0006	; 8949			ARX_VMA HELD		;GET VMA WHICH FAILED
						; 8950		SV.SC_AR,AR_ARX,		;HOLD SC & FE
U 3203, 0636,3241,4007,0000,2020,1032,0151	; 8951			GEN BR*2,SIGNS DISP	;TEST FOR PT DIR MATCH
						; 8952	=1110
						; 8953	PGRF1:	SV.VMA_AR,ARX_AR SWAP,ARR_ARL,	;GET SEC # TO AR32-35
U 0636, 1075,0001,4407,0000,3000,1036,0145	; 8954			DISP/EA MOD,J/PGRF2	; SEC < 20?
						; 8955	
						; 8956	;	HERE TO WRITE PT DIR, & CLR 4 PAGE ENTRIES.  If the expanded
						; 8957	;	page table ECO has been installed, this will only clear two entries
						; 8958	;	(since they go in pairs for that case), but in either case the
						; 8959	;	right thing will happen. [333]
						; 8960	;
						; 8961		AR_0S,COND/MBOX CTL,MBOX CTL/2,	;READY TO CLEAR EVEN PAIR
U 0637, 3204,3441,2000,7133,0000,2310,0002	; 8962			FE_P AND #,#/2,SC/SCAD	;GET WRITE REF BIT TO FE & SC
						; 8963		COND/MBOX CTL,MBOX CTL/33,	;CLR EVEN, WR DIR, SEL ODD
U 3204, 3205,4001,0000,2003,0020,2310,0033	; 8964			TIME/3T,FE_FE+SC,SC/SCAD; WR REF = 4 NOW
						; 8965		COND/MBOX CTL,MBOX CTL/10,	;CLR ODD, RESET NORMAL SELECT
U 3205, 3206,3242,2000,2001,0020,2310,0010	; 8966			TIME/3T,FE_FE+SC,AR_BR	;GET PFW BACK, WR REF = 10
U 3206, 3207,0001,0000,7322,0000,0010,0401	; 8967		SC_# AND AR0-8,#/401		;GET USER & PAGED REF BITS
U 3207, 3210,0001,0000,6000,2001,0010,0200	; 8968		AR0-8_FE OR SC			;COMBINE WITH WR REF BIT
U 3210, 0636,0001,4047,0000,2000,1010,0152	; 8969		SV.PFW_AR,BR/AR,AR_ARX,J/PGRF1	;REJOIN MAIN PATH
						; 8970	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 22
; IO.MIC[10,5351]	14:31 29-Nov-83			KL-MODE PAGE REFILL LOGIC				

						; 8971	;	HERE TO TRACE PAGE POINTERS FOR THIS ADDRESS
						; 8972	;	VMA WHICH FAILED IS IN ARX AND AR WITH THE HALVES SWAPPED
						; 8973	;	PAGE FAIL WORD IS IN BR
						; 8974	;	[333] Bit 5 of all access pointers is implemented as "Keep" for
						; 8975	;	pages which should not be swept from the page map on DATAO PAG
						; 8976	;	UBR reload unless bit 3 is also set.
						; 8977	;
						; 8978	
						;;8979	.IFNOT/EPT540
						;;8980	=1101
						;;8981	PGRF2:	VMA_#+AR32-35,#/440,		;YES.
						;;8982			SIGNS DISP,J/PGRF3	; USER REF?
						;;8983		VMA_#+AR32-35,#/460,		;NO
						;;8984			SIGNS DISP,J/PGRF3
						; 8985	.IF/EPT540
						; 8986	=1101
						; 8987	PGRF2:	VMA_#+AR32-35,#/540,		;YES.
U 1075, 1135,0001,0000,0000,0120,3332,0540	; 8988			SIGNS DISP,J/PGRF3	; USER REF?
						; 8989		VMA_#+AR32-35,#/560,		;NO
U 1077, 1135,4001,0000,0000,0120,3332,0560	; 8990			SIGNS DISP,J/PGRF3
						; 8991	.ENDIF/EPT540
						; 8992	=1101
U 1135, 3211,0001,0000,3401,0012,0026,0113	; 8993	PGRF3:	LOAD AR,EPT REF,FE_-1,J/SECPTR	;Initialize APWKC bits, get section
U 1137, 3211,0001,0000,3401,0012,0026,0223	; 8994		LOAD AR,UPT REF,FE_-1		; pointer from EPT or UPT
						; 8995	
						; 8996	;HERE TO FIND PAGE MAP WITH SECTION POINTER
						; 8997	
U 3211, 1150,3240,0003,0302,0022,7010,0011	; 8998	SECPTR:	AR_MEM,SC_#,#/9,SKP INTRPT	;GET SECTION POINTER
						; 8999	=1000	FE_FE AND AR0-8,BR/AR,		;COMBINE ACCESS BITS
U 1150, 1151,0001,0040,7021,1040,0007,0000	; 9000			AR0-3 DISP		;SPT INDEX IN ARR, DISP ON TYPE
U 1151, 3250,3200,2007,0000,0020,0010,0150	; 9001	=1001	AR_SV.BR,J/PFT			;NO ACCESS TO SECTION (OR INTRPT)
						; 9002	=1011
U 1153, 3221,4001,0400,0000,0001,0010,0020	; 9003	SECIMM:	ARX_SHIFT,ARL_0.M,J/PGRF5	;IMMEDIATE
U 1155, 2434,0001,0000,0000,0001,0010,0020	; 9004	=1101	ARL_0.M,J/LDIND			;SHARED
U 1157, 3212,0001,0000,0000,0001,0010,0020	; 9005	=1111	ARL_0.M				;INDIRECT SECTION POINTER
						; 9006	;
						; 9007	;	WARNING:  do not use the technique at LDIND to allow
						; 9008	;	interrupts out of section pointer loops, as that will have
						; 9009	;	adverse effects on byte transfers and console executes.
						; 9010	;
U 3212, 3213,0600,4007,0000,2320,0010,0143	; 9011		VMA_AR+SBR,AR_ARX		;LOOK IN SPT
U 3213, 3214,3202,2040,0000,0012,0026,0103	; 9012		BR/AR,AR_BR,LOAD AR,PHYS REF	;CALL FOR SPT ENTRY
U 3214, 3215,3200,0403,0000,0022,0010,0000	; 9013		ARX_SHIFT,AR_MEM		;SEC PTR INDEX TO ARX0-8
U 3215, 3216,3202,4200,0000,0000,0010,0000	; 9014		AR_SHIFT,ARX_BR			;NEW SEC PTR ADDR TO AR
						; 9015		GEN # AND AR0-8,#/77,SKP SCAD NE,
U 3216, 2432,3703,0000,7320,0320,5210,0077	; 9016			VMA_AR
U 2432, 3211,4001,0000,0000,0012,0026,0103	; 9017	=0	LOAD AR,PHYS REF,J/SECPTR
U 2433, 3250,3200,2007,0000,0020,0010,0150	; 9018		AR_SV.BR,J/PFT			;TRAP, SEC MAP NOT IN CORE
						; 9019	;
						; 9020	;	We must turn off special cycle for indirect pointers so that
						; 9021	;	we can take an interrupt.  However, we can't do it if PXCT or
						; 9022	;	SXCT might be active.  Thus, a kernel mode program can get into
						; 9023	;	a page fail loop that the microcode cannot exit.
						; 9024	;
						; 9025	=0
U 2434, 3217,0600,0007,4000,0320,0010,0143	; 9026	LDIND:	VMA_AR+SBR,J/LDIND1		;FOR INDIRECT PAGE POINTERS
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 22-1
; IO.MIC[10,5351]	14:31 29-Nov-83			KL-MODE PAGE REFILL LOGIC				

U 2435, 2434,4001,0000,0000,0000,1510,0000	; 9027		CLR SPECIAL CYCLE,J/LDIND
						; 9028	;
						; 9029	;	This fixes the glitch that INSTR FETCH (NICOND) doesn't
						; 9030	;	clear 'CON4 INT DISABLE L' before fetching user's instruction.
						; 9031	;					;SHARED SEC = INDRCT PAG
U 3217, 3220,0001,0000,0000,0012,0026,0103	; 9032	LDIND1:	LOAD AR,PHYS REF		;GET PAGE MAP ADDR
U 3220, 1153,3240,0003,0000,0022,0010,0000	; 9033		AR_MEM,J/SECIMM
						; 9034	
						; 9035	
						; 9036	;HERE WITH PAGE NO OF PAGE MAP IN AR,
						; 9037	; VIRTUAL PAGE NO WITHIN SECTION IN ARX0-8
						; 9038	
						; 9039	.IF/NOCST
U 3221, 2436,3200,0007,0000,0020,5610,0142	; 9040	PGRF5:	TEST CBR			;[247] CBR = 0 MEANS NO CST UPDATE
						; 9041	=0	AR_ARX, FE_FE AND #, #/174,	;[247][333] NO CST UPDATE
U 2436, 3226,0001,4000,7031,2000,0010,0174	; 9042			J/NO.CST		;[247]
						;;9043	.IFNOT/NOCST				;[247]
						;;9044	PGRF5:
						; 9045	.ENDIF/NOCST				;[247]
U 2437, 3222,0600,4007,0000,2320,0010,0142	; 9046		VMA_AR+CBR,AR_ARX		;GENERATE CST ADDRESS
						; 9047		GEN # AND AR0-8,#/77,		;IS PAGE MAP IN CORE?
U 3222, 2440,0001,0000,7320,0020,5210,0077	; 9048			SKP SCAD NE
						; 9049	=0	LOAD AR,PHYS REF,		;GET CST ENTRY FOR PAGE MAP
U 2440, 3223,4001,0040,0000,0012,0026,0103	; 9050			BR/AR,J/PGRF6		;SAVE PAGE PTR ADDR IN BR
U 2441, 3250,3200,2007,0000,0020,0010,0150	; 9051		AR_SV.BR,J/PFT			;NOT IN CORE, PAGE FAIL TRAP
						; 9052	;
U 3223, 3224,3240,0003,7031,0022,0010,0174	; 9053	PGRF6:	AR_MEM,FE_FE AND #,#/174	;[333]HERE IF CST FOR PAGE MAP
U 3224, 2442,3600,2007,0120,0040,5210,0140	; 9054		AR_AR AND CSMSK,SKP P NE	;BEGIN CST UPDATE
U 2442, 3250,3200,2007,0000,0020,0010,0150	; 9055	=0	AR_SV.BR,J/PFT			;AGE TRAP, MAP BEING SWAPPED
U 2443, 3225,3300,2007,4000,0036,0010,0141	; 9056		AR_AR OR PUR,STORE		;PUT CST WORD BACK
						;;9057	.IFNOT/NOCST				;[247]
						;;9058		MEM_AR,VMA_BR,PHYS REF		;PHYS REF MAKES MODEL.A LOAD
						;;9059						;LONG VMA
						;;9060		LOAD AR,PHYS REF		;GET PAGE MAP ENTRY
						;;9061		AR_MEM,FE_FE OR #,#/100,	;PAGE POINTER
						;;9062			SKP INTRPT		;CHECK FOR LONG INDIRECT
						;;9063						;POINTER
						; 9064	.IF/NOCST				;[247]
U 3225, 2444,3202,0003,0000,0302,0026,0103	; 9065		MEM_AR,VMA_BR,PHYS REF,J/NOCST0	;PHYS REF MAKES MODEL.A LOAD
						; 9066						;LONG VMA
						; 9067	NO.CST:	GEN # AND AR0-8, #/77,		;[247] page map in core ?
U 3226, 2444,3701,0000,7320,0320,5210,0077	; 9068			VMA_AR,SKP SCAD NE	;[247]
						; 9069	=0
U 2444, 3227,4001,0000,0000,0012,0026,0103	; 9070	NOCST0:	LOAD AR,PHYS REF, J/NOCST1	;[247] GET PAGE MAP ENTRY
U 2445, 3250,3200,2007,0000,0020,0010,0150	; 9071		AR_SV.BR, J/PFT			;[247] not in core, pf trap
						; 9072	NOCST1:	AR_MEM,FE_FE OR #,#/100,	;[247] PAGE POINTER
U 3227, 1170,3240,0003,6031,0022,7010,0100	; 9073			SKP INTRPT		;[247] CHECK FOR LONG INDIRECT
						; 9074	.ENDIF/NOCST				;[247] POINTER
						; 9075	;
						; 9076	;	HERE WITH PAGE MAP ENTRY IN AR
						; 9077	;	FE HAS ACCUMULATED ACCESS BITS -- APWKC*4
						; 9078	;	SC CONTAINS 9.
						; 9079	;
						; 9080	=1000	FE_FE AND AR0-8,AR0-3 DISP,	;COMBINE PWKC, DISP ON TYPE
U 1170, 1171,3240,0207,7021,1060,0007,0145	; 9081			ARX_SV.VMA		;GET BACK SAVED VMA
U 1171, 3250,3200,2007,0000,0020,0010,0150	; 9082	=1001	AR_SV.BR,J/PFT			;0=NO ACCESS (OR HERE ON INTRPT)
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 22-2
; IO.MIC[10,5351]	14:31 29-Nov-83			KL-MODE PAGE REFILL LOGIC				

						; 9083	=1011
						; 9084	LDIMM:	ARL_SHIFT,FE_FE SHRT,		;1=IMMEDIATE, LOAD PT
						; 9085			ARX_ARX*2 COMP,		; GET -WR REF TO ARX03
U 1173, 3233,2001,0500,0302,0001,1210,0004	; 9086			SC_#,#/4,J/LDPT		;[333] Set to move K bit
U 1175, 3230,0001,0000,0000,0001,0010,0020	; 9087	=1101	ARL_0.M,J/LDSHR			;2=SHARED, GET SPT ENTRY
						; 9088	=1111	ARL_0.M,ARX_SHIFT,SKP USER,	;3=INDIRECT, LOOP
U 1177, 2434,0001,0400,0000,0001,6210,0020	; 9089			J/LDIND
						; 9090	;
						; 9091	;	HERE TO GET SHARED PAGE POINTER OUT OF SPT
						; 9092	;
U 3230, 3231,0600,0007,0000,0320,0010,0143	; 9093	LDSHR:	VMA_AR+SBR			;ADDRESS OF SPT ENTRY
U 3231, 3232,0001,0000,0000,0012,0026,0103	; 9094		LOAD AR,PHYS REF
U 3232, 1173,3200,0003,6031,0022,0010,0100	; 9095		AR_MEM,FE_FE OR #,#/100,J/LDIMM	;TREAT SPT ENTRY AS IMMED
						; 9096	
						; 9097	;
						; 9098	;	HERE WITH IMMEDIATE PAGE NO IN AR TO LOAD INTO PT
						; 9099	;
						; 9100	
U 3233, 2446,0001,0000,7320,0020,5210,0077	; 9101	LDPT:	GEN # AND AR0-8,#/77,SKP SCAD NE;Test storage medium
						;;9102	.IF/BIG.PT				;[333]
						;;9103	=0	ARL_0.M,GEN FE AND SC,		;[333]In core. Is Keep bit set?
						;;9104			SKP SCAD NE,J/LDPT1
						; 9105	.IFNOT/BIG.PT
U 2446, 3234,0001,0000,0000,0000,0610,0020	; 9106	=0	ARL_0S,J/LDPT1
						; 9107	.ENDIF/BIG.PT				;[333]
U 2447, 3250,3200,2007,0000,0020,0010,0150	; 9108		AR_SV.BR,J/PFT			;PAGE NOT IN CORE
						; 9109	;
						;;9110	.IF/BIG.PT				;[333]
						;;9111	=0
						; 9112	.ENDIF/BIG.PT
U 3234, 3235,3711,7400,4402,1000,0010,0000	; 9113	LDPT1:	ARX_AR,AR_ARX*.25,SC_1,J/KMOVED	;[333]No K. GET -WR REF TO AR05
						;;9114	.IF/BIG.PT
						;;9115		AR0-8_#,#/10,FE_FE-SC,J/LDPT1	;[333]K set. Move to bit 5 for now
						; 9116	.ENDIF/BIG.PT
						; 9117	;
						; 9118	.IF/NOCST				;[247]
U 3235, 2450,3240,0007,7102,0020,5610,0142	; 9119	KMOVED:	TEST CBR, SC_P AND SC		;[247][333]CBR = 0? (-WR REF TO SC)
						; 9120	=0	SC_-SC,AR_ARX,ARX_AR (AD),
U 2450, 3241,3701,4200,5402,2000,0010,0000	; 9121			J/NOUPDT		;[247] YES, SKIP SOME
						;;9122	.IFNOT/NOCST				;[333]
						;;9123	KMOVED:					;[333]
						; 9124	.ENDIF/NOCST				;[247]
U 2451, 3236,0610,4007,7102,2320,0010,0142	; 9125		VMA_ARX+CBR,AR_ARX,SC_P AND SC	;PAGE IN CORE. SC_-WR REF
						; 9126	;
						; 9127	;	NOW GET CST ENTRY FOR THIS PAGE.
						; 9128	;
						; 9129	GTCST:	LOAD AR,PHYS REF,ARX_AR SWAP,	;Shuffle K over to bit 23
U 3236, 3237,4061,2400,5402,3032,0026,0103	; 9130			SC_-SC,AR_1		;SC=0 IF WR REF, ELSE -1
						; 9131		GEN FE AND #,#/10,SKP SCAD NE,	;SKIP IF WRITABLE
U 3237, 2452,0001,0040,7030,0022,5210,0010	; 9132			BR/AR,MB WAIT		;GET CST ENTRY & BIT FOR TESTING
						; 9133	=0	GEN P AND SC,SKP SCAD NE,	;FAIL IF WRITING OR AGE=0
U 2452, 2454,3600,2007,7100,2040,5210,0140	; 9134			AR_AR AND CSMSK,J/NOTWR	;STRIP OLD AGE FROM CST
						; 9135	;
						; 9136	;	[303] Looks like it's writable.  Make one final check by looking
						; 9137	;	at bit 18 of the CST entry, and abort if it's not set.
						; 9138	;
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 22-3
; IO.MIC[10,5351]	14:31 29-Nov-83			KL-MODE PAGE REFILL LOGIC				

						; 9139		TEST AR.BR,SKP CRY0,		;POSSIBLY WRITABLE--SKIP IF CST
U 2453, 1746,3602,0004,5300,0040,5434,0777	; 9140			GEN #-SC,#/-1,BYTE DISP	; WRITTEN OR THIS IS WRITE REF
U 1746, 3240,4001,0000,5031,0000,0010,0004	; 9141	=110	FE_FE-#,#/4,J/STCST		;[305] TEMPORARILY UNWRITABLE, SET S
						;;9142	.IF/CST.WRITE				;[314]
						;;9143		AR_AR*BR,AD/OR,FE_FE OR #,#/4,	;SET CST WRITTEN AND SOFT BITS
						;;9144			SKP AR18		;IS IT REALLY WRITABLE? [303]
						;;9145	=0	AR_SV.BR,J/PFT			;NOT REALLY. BAIL OUT
						; 9146	.IFNOT/CST.WRITE			;[314]
U 1747, 3240,3302,2000,6031,0000,0010,0004	; 9147		AR_AR*BR,AD/OR,FE_FE OR #,#/4	;[314] Set CST written and soft bits
						; 9148	.ENDIF/CST.WRITE			;[314]
U 3240, 2454,3600,2007,0100,0040,5210,0140	; 9149	STCST:	AR_AR AND CSMSK,SKP P NE	;[305] WRITABLE. CLEAR, TEST OLD AGE
						; 9150	;
						; 9151	;	[322] At this point we should check whether we got here as a result
						; 9152	;	of an age trap (in which case we just take the page failure) or not,
						; 9153	;	in which case the failure was due to a write reference and we should
						; 9154	;	set bit 2 (the A bit) in the PFW.  This is not currently done
						; 9155	;	because (1) nobody needs it now, and (2) we are very short on CRAM
						; 9156	;	space.
						; 9157	;
						; 9158	=0
U 2454, 3250,3200,2007,0000,0020,0010,0150	; 9159	NOTWR:	AR_SV.BR,J/PFT			;WRITE OR AGE TRAP
						;;9160	.IFNOT/NOCST				;[247]
						;;9161		AR_AR OR PUR,STORE		;SET USE BITS, STORE BACK CST
						;;9162		MB WAIT,VMA_SV.VMA,		;RELOAD VMA FOR ORIGINAL REF
						;;9163			AR_SV.VMA,SC_1		;READY TO TEST VMA USER
						;;9164		GEN P AND SC,SKP SCAD NE,	;TEST VMA USER, copy page # to ARL,
						;;9165			AR_ARX,			;[333] K to AR bit 23, APMWC0 TO SC
						;;9166			SC_FE,ARX_AR (AD)	; MAP BIT TO ARX
						;;9167	=0	P_P OR SC#,EXEC REF,J/WRHPT	;BUILD PT ENTRY, CLEAR VMA USER
						;;9168		P_P OR SC#,USER REF		; OR SET USER, AS NECESSARY
						;;9169	WRHPT:	WR PT ENTRY,FE_#,#/10,AR_ARX*4	;UPDATE HARDWARE TABLE
						; 9170	.IF/NOCST
U 2455, 2461,3300,2007,0000,0036,0010,0141	; 9171		AR_AR OR PUR,STORE,J/WRHPT	;[247]SET USE BITS,
						; 9172						; STORE BACK CST
						; 9173	;
						; 9174	NOUPDT:	GEN FE AND #, #/10, ARX_AR SWAP,
U 3241, 2456,3713,2400,7030,3020,5210,0010	; 9175			AR_ARX (AD),SKP SCAD NE	;[247] SKIP IF WRITABLE
						; 9176	=0	AR_SV.PFW,GEN P AND SC,		;[322] Get saved PFW and
U 2456, 2460,3240,2007,7100,0040,5210,0152	; 9177			SKP SCAD NE,J/NOT.WR	;[247]FAIL IF WRITING
U 2457, 2461,0001,0000,6031,0000,0010,0004	; 9178		FE_FE OR #, #/4, J/WRHPT	;[247]SET WRITABLE BIT
						; 9179	;
U 3242, 2454,0001,0007,0000,0000,1010,0152	; 9180	WRFAIL:	SV.PFW_AR,J/NOTWR		;[322]Restore PFW and page fail
						; 9181	;
						; 9182	=0					;[323]
U 2460, 3242,0001,0000,6320,2000,0110,0100	; 9183	NOT.WR:	AR0-8_# OR AR0-8,#/100,J/WRFAIL	;[322]Write failure. Set A in PFW
U 2461, 3243,3200,4007,0000,2123,0013,0145	; 9184	WRHPT:	RSTR VMA_SV.VMA,AR_ARX,SC_FE	;RELOAD ORIGINAL VMA
U 3243, 3244,4001,0000,6100,3001,0010,0200	; 9185		P_P OR SC			;[333]COMBINE APMWC WITH PAGE #, K
U 3244, 3245,0001,0000,0000,0020,2310,0010	; 9186		WR PT ENTRY			;UPDATE HARDWARE PAGE TABLE
						; 9187	.ENDIF/NOCST
						; 9188	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 23
; IO.MIC[10,5351]	14:31 29-Nov-83			KL-MODE PAGE REFILL LOGIC				

						; 9189	;HERE WHEN MAP INFO WRITTEN INTO HARDWARE PAGE TABLE
						; 9190	; WE NOW NEED ONLY RESTORE THE REGISTERS WE HAVE USED, AND RESTART THE
						; 9191	; MEMORY REFERENCE WHICH FAILED, RETURNING TO THE MICROINSTRUCTION
						; 9192	; WHICH WAITS FOR ITS COMPLETION.  (EXCEPT FOR MAP)
						; 9193	
						;;9194	.IFNOT/MODEL.B
						;;9195		GEN FE AND S,SKP SCAD NE,	;TEST FOR MAP INSTR
						;;9196			AR_SV.SC
						; 9197	.IF/MODEL.B
U 3245, 2462,3240,2007,0000,0020,0010,0151	; 9198		AR_SV.SC
						; 9199	.ENDIF/MODEL.B
						; 9200	
						; 9201	;HERE TO RESTORE REGISTERS AND RESTART REFERENCE WHICH FAILED
						; 9202	
						; 9203	=0	SC_EXP,FE_EXP,SKP AR0,		;RESTORE FE
U 2462, 2464,3240,4207,0203,3020,4510,0150	; 9204			AR_AR SWAP,ARX_SV.BR,J/PGRST1
						;;9205	.IFNOT/MODEL.B
						;;9206		AR_SV.VMA,ARX_SV.VMA,J/COMPEA	;*MAP* RESTART FROM AREAD
						; 9207	.IF/MODEL.B
						; 9208	=
						; 9209	.ENDIF/MODEL.B
						; 9210	=0
						; 9211	PGRST1:	SC_EXP,SKP AR0,			;RESTORE SC
U 2464, 2466,3200,4207,0202,2020,4510,0156	; 9212			AR_ARX,ARX_SV.AR,J/PGRST2
U 2465, 2464,4001,0000,1401,0000,0010,0000	; 9213		FE_-SC-1,J/PGRST1		;MAKE FE NEG
						; 9214	=0
						; 9215	PGRST2:	BR/AR,AR_ARX,			;RESTORE BR AND AR
U 2466, 3246,3240,4247,0000,2020,0010,0157	; 9216			ARX_SV.ARX,J/PGRST3	; AND ARX
						; 9217		SC_-SC-1,BR/AR,AR_ARX,		;NEGATE SC
U 2467, 3246,3200,4247,1402,2020,0010,0157	; 9218			ARX_SV.ARX
						; 9219	
						; 9220	;HERE RETURN TO POINT OF FAULT.  THERE MUST BE EXACTLY ONE MICRO-
						; 9221	; INSTRUCTION, OF 2 OR 3 TICKS, BETWEEN THE REQUEST AND THE RETURN.
						; 9222	; AT LEAST ONE IS REQUIRED TO GET NICOND LOGIC SET UP CORRECTLY IN
						; 9223	; CASE THIS IS A FETCH, BUT THERE MUST NOT BE TIME FOR A READ TO
						; 9224	; READ REFERENCE TO COMPLETE, BECAUSE THE MB WAIT INSTRUCTION TO WHICH
						; 9225	; WE RETURN MAY EXPECT TO GET SOMETHING OUT OF AR OR ARX BEFORE THE
						; 9226	; MBOX RESPONSE.  SEE DPB1.
						; 9227	
U 3246, 3247,3200,0007,0000,0130,0010,0145	; 9228	PGRST3:	REQ SV.VMA			;RESTART FAULTED REQUEST
U 3247, 0000,4001,0000,0000,0000,2103,0105	; 9229		SET ACCOUNT EN,RETURN0		;RETURN TO POINT OF FAILURE
						; 9230	
						; 9231	
						; 9232	;HERE ON A TRAP CONDITION DETECTED BY REFILL LOGIC
						; 9233	;AR CONTAINS SAVED BR
						; 9234	
						; 9235	PFT:	BR/AR,VMA_SV.VMA,		;RESTORE BR & VMA
U 3250, 0040,3200,0047,0000,0320,0005,0145	; 9236			SR DISP,J/CLEAN		;TAKE TRAP
						; 9237	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 24
; IO.MIC[10,5351]	14:31 29-Nov-83			KI-MODE PAGE FAIL HANDLING				

						; 9238	.TOC	"KI-MODE PAGE FAIL HANDLING"
						; 9239	
						;;9240	.IFNOT/KLPAGE
						;;9241	.IFNOT/MODEL.B
						;;9242	2377:	CLR ACCOUNT EN,FORCE AR-ARX,J/PFSAVE
						;;9243	.IF/MODEL.B
						;;9244	3777:	CLR ACCOUNT EN,FORCE AR-ARX,J/PFSAVE
						;;9245	.ENDIF/MODEL.B
						;;9246	1777:	CLR ACCOUNT EN,FORCE AR-ARX	;DON'T CHARGE PAGE FAIL TO USER
						;;9247	PFSAVE:	SV.AR_AR,AR_ARX			;PRESERVE AR, ARX
						;;9248		SV.ARX_AR,SR DISP,J/CLEAN	;NOW CHECK FOR CLEANUP REQUIRED
						;;9249	
						; 9250	.ENDIF/KLPAGE
						; 9251	;HERE ON PAGE FAIL OR INTERRUPT WHICH REQUIRES CLEANUP IN ORDER
						; 9252	; TO BE CORRECTLY RESTARTABLE AFTER SERVICE...
						; 9253	
						; 9254	=1*0000
U 0040, 2470,4001,0000,0301,0000,7010,0037	; 9255	CLEAN:	FE_#,#/37,SKP INTRPT,J/PGF1	;HERE FOR INTRPT OR PGF?
						; 9256	
						; 9257	;(1) HERE ON EDIT SOURCE FAIL
						; 9258	
U 0041, 3272,3200,2001,0000,0020,1610,0000	; 9259		AR_SRCP,SR_0,J/BACKS		;BACK UP SRC POINTER
						; 9260	
						; 9261	;(2) HERE ON ANY FAILURE IN DECIMAL TO BINARY
						; 9262	
U 0042, 3277,3202,2600,0000,0000,1610,0001	; 9263		AR_BR LONG,SR_1,J/D2BPF		;GET ACCUMULATED BINARY
						; 9264	
						; 9265	;(3) HERE ON DST FAIL IN BINARY TO DECIMAL FILL
						; 9266	
U 0043, 3303,2540,2005,0000,0020,1610,0004	; 9267		AR_DLEN COMP,SR_#,#/4,J/B2DFPF
						; 9268	
						; 9269	;(4) HERE ON EDIT DST FAIL WITH NO SRC POINTER UPDATE
						; 9270	
U 0044, 3274,4001,0000,0000,0000,1610,0000	; 9271		SR_0,J/BACKD			;BACK UP DST POINTER ONLY
						; 9272	
						; 9273	;(5) HERE ON EDIT DST FAIL AFTER UPDATING SRC POINTER
						; 9274	
U 0045, 3274,0001,0000,0000,0000,1610,0001	; 9275		SR_1,J/BACKD			;BACK UP DST, THEN SRC
						; 9276	
						; 9277	;(6) HERE ON DESTINATION FAILURE IN BINARY TO DECIMAL
						; 9278	
U 0046, 3274,0001,0000,0000,0000,1610,0010	; 9279		SR_BDT,J/BACKD			;BACK UP DST, THEN SAVE FRACTION
						; 9280	
						; 9281	;(7) HERE ON BLT FAILURE
						; 9282	.IF/KLPAGE
U 0047, 3265,3240,0207,0000,0020,0010,0157	; 9283		ARX_SV.ARX,J/BLTPF		;GET DEST ADDR AGAIN
						;;9284	.IFNOT/KLPAGE
						;;9285	BLTPF:	AR_ARX+BR,SR_0,J/BLTPF1		;CURRENT SRC ADDR
						; 9286	.ENDIF/KLPAGE
						; 9287	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 25
; IO.MIC[10,5351]	14:31 29-Nov-83			KI-MODE PAGE FAIL HANDLING				

						; 9288	;(10) HERE ON TRANSLATION FAILURE IN BINARY TO DECIMAL
						; 9289	
U 0050, 3304,3242,2600,0000,0000,1610,0000	; 9290		AR_BR LONG,SR_0,J/B2DPF		;GET BINARY FRACTION
						; 9291	
						; 9292	;(11) HERE ON SRC FAILURE IN COMPARE OR MOVE STRING
						; 9293	
U 0051, 3310,3200,2005,0000,0020,1610,0001	; 9294		AR_DLEN,SR_1,J/STRPF		;PUT LENGTHS BACK, THEN BACK SRC
						; 9295	
						; 9296	;(12) HERE ON DST FAILURE IN COMPARE OR MOVE STRING
						; 9297	
U 0052, 3310,3200,2005,0000,0020,1610,0004	; 9298		AR_DLEN,SR_#,#/4,J/STRPF
						; 9299	
						; 9300	;(13) HERE ON DST FAILURE AFTER UPDATING SRC IN COMPARE OR MOVE
						; 9301	
U 0053, 3274,0001,0000,0000,0000,1610,0111	; 9302		SR_SRC,J/BACKD			;BACK DST, THEN HANDLE AS SRC FAIL
						; 9303	
						; 9304	;(14) HERE ON DST FILL FAILURE IN MOVRJ
						; 9305	
U 0054, 3314,3240,2005,0000,0020,1610,0004	; 9306		AR_DLEN,SR_#,#/4,J/STRPF4
						; 9307	.IF/KLPAGE
						; 9308	;(15) HERE ON PAGE FAILURE IN MAP INSTRUCTION.  RETURN PAGE FAIL WORD
						; 9309	
U 0055, 1274,3240,2007,0000,0020,7310,0152	; 9310		AR_SV.PFW,SKP IO LEGAL,J/MAP2	;RETURN PFW IN AC
						; 9311	.ENDIF/KLPAGE
						; 9312	.IF/XADDR
						; 9313	;(16) HERE ON PAGE FAIL IN XBLT
						; 9314	
U 0056, 3270,3202,2600,0000,0000,1610,0000	; 9315		AR_BR LONG,SR_0,J/XBLTPF
						; 9316	.ENDIF/XADDR
						; 9317	.IF/MODEL.B
						; 9318	;(17)	HERE ON FAILURE IN WORD MOVE STRING 
						; 9319	
U 0057, 3314,3200,2005,0000,0020,1610,0000	; 9320		AR_DLEN,SR_0,J/STRPF4
						; 9321	.ENDIF/MODEL.B
						; 9322	=
						; 9323	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 26
; IO.MIC[10,5351]	14:31 29-Nov-83			KI-MODE PAGE FAIL HANDLING				

						; 9324	;HERE ON ANY PAGE FAILURE OR PI REQUEST IN LONG INSTRUCTIONS
						; 9325	; SKIP IF PI REQUEST, WHICH TAKES PRIORITY
						; 9326	
						; 9327	.IF/KLPAGE
						; 9328	=0
						; 9329	.IFNOT/SHIFT.MUUO
U 2470, 3251,4001,0000,0000,0102,3010,0500	; 9330	PGF1:	MB WAIT,VMA_#,#/500,J/PGF2
						;;9331	.IF/SHIFT.MUUO
						;;9332	PGF1:	MB WAIT,VMA_#,#/501,J/PGF2	;SHIFT TO CLOSER MATCH XADDR FORM
						; 9333	.ENDIF/SHIFT.MUUO
U 2471, 0071,0001,0000,0000,0000,2110,0105	; 9334		SET ACCOUNT EN,J/TAKINT		;CLEANUP DONE, SERVE INTRPT
U 3251, 1130,3200,2007,0000,0020,6510,0152	; 9335	PGF2:	AR_SV.PFW,SKP PI CYCLE,J/PGF4	;GET BACK PAGE FAIL WORD
						;;9336	.IFNOT/KLPAGE
						;;9337	=0
						;;9338	PGF1:	GET ECL EBUS,CLR SC,
						;;9339			PF DISP,J/PGF2
						;;9340		SET ACCOUNT EN,J/TAKINT		;HERE TO SERVE INTRPT, DO IT
						;;9341	=1100
						;;9342	PGF2:
						;;9343	=01	AR_SV.AR,FE_FE-1,		;AR PARITY ERROR
						;;9344			SKP RPW,J/PGF6		;DO WE NEED TO RESTART RPW?
						;;9345	=10	VMA_VMA HELD,MAP,SC_FE		;ARX PARITY ERROR, PF CODE 37
						;;9346	PGF3:	MB WAIT,VMA_#,#/500
						;;9347		AR_EBUS REG			;READ PAGE FAIL WORD
						;;9348		REL ECL EBUS
						;;9349		P_P OR SC,SKP PI CYCLE		;STUFF ERROR CODE IF PARITY
						; 9350	.ENDIF/KLPAGE
						; 9351	=00
						; 9352	PGF4:	ARX_AR,AR_VMA HELD,SC_#,#/13.,	;READY TO COMBINE PF WORD
U 1130, 1630,3733,2400,0302,1000,1750,0015	; 9353			CALL,J/ROTS		; WITH ADDRESS
						; 9354		ARX_AR,AR_VMA HELD,SC_#,#/13.,	;READY TO COMBINE PF WORD
U 1131, 3261,3733,2400,0302,1000,1710,0015	; 9355			J/IOPGF			; WITH ADDRESS
U 1133, 3252,0001,4000,0000,0000,1510,0004	; 9356	=11	AR_SHIFT,ABORT INSTR		;RECOVER TRAP FLAGS, IF ANY
						;;9357	.IFNOT/XADDR
						;;9358		STORE,UPT REF			;PUT PAGE FAIL WORD AT 500
						;;9359		FIN STORE,AR_PC,
						;;9360			VMA_VMA+1,STORE		;STORE OLD PC AT 501 OR 502
						;;9361		FIN STORE,AR_0S,
						;;9362			VMA_VMA+1,LOAD AR	;GET NEW PC FROM 502 OR 503
						;;9363		SET ACCOUNT EN,J/NEWPC
						; 9364	.IF/XADDR
U 3252, 3253,3733,0200,0000,0016,0026,0223	; 9365		STORE,UPT REF,ARX_PC		;PAGE FAULT WORD TO 500
						; 9366		AR_ARX ANDC ADMSK,MB WAIT,	;GET PC FLAGS FOR STORING
U 3253, 3254,3510,2227,4000,0022,0010,0175	; 9367			BRX/ARX,ARX/AD		;FULL PC IN BRX, FLAGS IN ARX
U 3254, 2472,4001,0000,0000,0000,6222,0030	; 9368		AR_0.S,SKP USER
U 2472, 0635,0001,0000,0000,2000,0250,0000	; 9369	=0	AR12-17_PREV SEC,CALL [ARSWAP]	;[334] GET PCS IF EXEC MODE
						; 9370		ARL_ARXL,ARR_ARR,		;FLAGS WORD IN AR
U 2473, 3255,0001,0000,0000,2016,3622,0004	; 9371			VMA_VMA+1,STORE		;STORE FLAGS WORD IN 501
						; 9372		AR_ARX*BRX,AD/ANDCA,		;GET PC ADDRESS
U 3255, 3256,3002,6004,0000,0016,3610,0000	; 9373			VMA_VMA+1,STORE		; STORE IT IN 502
U 3256, 3257,3441,2000,0000,0012,3610,0000	; 9374		AR_0S,VMA_VMA+1,LOAD AR		;GET NEW PC ADDRESS FROM 503
U 3257, 3260,0001,0000,0000,0000,0024,0020	; 9375		SET FLAGS_AR			;CLEAR ALL FLAGS
U 3260, 1045,3200,0003,0000,0022,2110,0105	; 9376		AR_MEM,SET ACCOUNT EN,J/ARJMP	;NEW ADDRESS FOR PC
						; 9377	.ENDIF/XADDR
						; 9378	
						;;9379	.IFNOT/KLPAGE
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 26-1
; IO.MIC[10,5351]	14:31 29-Nov-83			KI-MODE PAGE FAIL HANDLING				

						;;9380	
						;;9381	;HERE ON PARITY ERROR IN AR.  SKIP IF READ-PAUSE-WRITE IN PROGRESS
						;;9382	=0
						;;9383	PGF6:	VMA_VMA HELD,MAP,		;AR PARITY ERROR
						;;9384			SC_FE,J/PGF3		;PF CODE 36
						;;9385		STORE,J/PGF6			;COMPLETE CYCLE, WITH GOOD PAR
						; 9386	.ENDIF/KLPAGE
						; 9387	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 27
; IO.MIC[10,5351]	14:31 29-Nov-83			PAGE FAIL/INTERRUPT CLEANUP FOR SPECIAL INSTRUCTIONS

						; 9388	.TOC	"PAGE FAIL/INTERRUPT CLEANUP FOR SPECIAL INSTRUCTIONS"
						; 9389	
						; 9390	;HERE ON PAGE FAIL DURING PI CYCLE
						; 9391	
						;;9392	.IFNOT/MODEL.B			 	;[224][274]
						;;9393	IOPGF:	AR_SHIFT,ARX_SHIFT,SC_#-SC,	;TROUBLE... CREATE PAGE FAIL WORD
						;;9394			#/36.
						;;9395		AR_SHIFT,SET IO PF
						;;9396		SV.IOPF_AR,J/IOPFIN		;FINISH  IOPF ROUTINE
						; 9397	.IF/MODEL.B				;[224] DO FANCY STUFF FOR DTE.
U 3261, 3262,3240,2007,0000,0020,0010,0163	; 9398	IOPGF:	AR_FM[SV.IOP]			;[274] GET THE SAVED API WORD
U 3262, 3263,0001,0007,0000,0000,1010,0162	; 9399		SV.IOPF_AR			;[224] SAVE IT IN AC BLK 7.
U 3263, 3264,3200,2047,0000,0020,0010,0156	; 9400		BR/AR,AR_SV.AR			;[224] KEEP IOPF WORD AROUND,
U 3264, 1122,4001,0000,0000,0000,2310,0100	; 9401		SET IO PF			;[224][274] HANDLE DTE.
						; 9402	
						; 9403	;[223] THIS RESTARTS THE DTE'S CLOCK TO PREVENT A DEX FAILURE.
U 1122, 3062,0001,0000,0000,0000,2250,0026	; 9404	=10	SET DATAO,CALL,J/EBUSO		;[223] SEND THE DATA TO THE DTE.
U 1123, 0723,3202,2000,0000,0000,2110,0105	; 9405		AR_BR,SET ACCOUNT EN,J/PIDONE	;[223] AND FINISH THE INTRPT.
						; 9406	.ENDIF/MODEL.B				;[224]
						; 9407	
						; 9408	
						; 9409		;HERE ON BLT PAGE FAIL
						; 9410	
						; 9411	.IF/KLPAGE
U 3265, 3266,0612,2000,0000,0020,1610,0000	; 9412	BLTPF:	AR_ARX+BR,SR_0			;CURRENT SRC ADDR
						; 9413	.ENDIF/KLPAGE
U 3266, 3267,3713,2000,0000,3000,0610,0004	; 9414	BLTPF1:	AR_ARX (AD),ARL_ARR
U 3267, 0040,0001,0000,0000,0000,1005,0000	; 9415	PGFAC0:	AC0_AR,SR DISP,J/CLEAN		;BEGIN NORMAL PF WORK
						; 9416	
						; 9417	;HERE ON XBLT PAGE FAIL OR INTERRUPT
						; 9418	.IF/XADDR
						; 9419	
U 3270, 3271,0001,4001,0000,2000,1010,0000	; 9420	XBLTPF:	AC1_AR,AR_ARX
U 3271, 0040,0001,0004,0000,0000,1010,0000	; 9421		AC2_AR,J/CLEAN
						; 9422	.ENDIF/XADDR
						; 9423	
						; 9424	;HERE ON VARIOUS CASES OF STRING/EDIT FAILURE
						; 9425	
U 3272, 3273,0001,0000,2110,3000,0022,0200	; 9426	BACKS:	P_P+S
U 3273, 0040,4001,0001,0000,0000,1005,0000	; 9427		SRCP_AR,SR DISP,J/CLEAN		;RE-DISPATCH FOR MORE
						; 9428	
U 3274, 3275,3200,2006,0000,0020,0010,0144	; 9429	BACKD:	AR_DSTP
						; 9430	.IF/MODEL.B
U 3275, 3276,0001,0000,2110,3000,0110,0144	; 9431		P_P+S.C,SEL DSTP		;PRESEL NUM FIELD FOR HARDW GLITCH
						;;9432	.IFNOT/MODEL.B
						;;9433		P_P+S
						; 9434	.ENDIF/MODEL.B
U 3276, 0040,4001,0006,0000,0000,1005,0144	; 9435		DSTP_AR,SR DISP,J/CLEAN
						; 9436	
U 3277, 3300,3401,2005,0302,0000,1010,0043	; 9437	D2BPF:	AC3_AR,AR_0S,SC_#,#/35.		;PUT AWAY HIGH BINARY
U 3300, 3301,5160,4207,0000,0020,0010,0170	; 9438		AR_SHIFT,ARX_-SLEN		;LOW TO AR, REMAINING LEN TO ARX
						; 9439	.IF/MODEL.B
U 3301, 3302,4001,0000,0000,0000,0010,0144	; 9440		SEL DSTP			;PRESEL NUM FIELD FOR HARDW GLITCH
						; 9441	.ENDIF/MODEL.B
U 3302, 3313,0001,4006,0000,2000,1010,0144	; 9442		AC4_AR,AR_ARX,J/STRPF2		;PUT LOW AWAY
						; 9443	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 27-1
; IO.MIC[10,5351]	14:31 29-Nov-83			PAGE FAIL/INTERRUPT CLEANUP FOR SPECIAL INSTRUCTIONS

U 3303, 3307,3300,2007,4000,0020,0010,0166	; 9444	B2DFPF:	AR_AR*T0,AD/OR,J/B2DPF2
						; 9445	
U 3304, 3305,0001,4000,0000,2000,1010,0000	; 9446	B2DPF:	AC0_AR,AR_ARX			;HIGH FRACTION TO AC
U 3305, 3306,4001,0001,0000,0000,1010,0000	; 9447		AC1_AR				;LOW TO AC1
U 3306, 3307,3200,2005,0000,0020,0010,0000	; 9448		AR_AC3				;GET FLAGS
U 3307, 3312,5100,2007,0000,0020,0010,0170	; 9449	B2DPF2:	AR_AR*SLEN,AD/A-B,J/STRPF3	;REBUILD FLAGS+LEN
						; 9450	
U 3310, 2474,5160,2047,0000,0020,4510,0170	; 9451	STRPF:	BR/AR,AR_-SLEN,SKP AR0		;WHICH IS LONGER?
						; 9452	=0
U 2474, 3313,0602,2005,4000,0020,1010,0000	; 9453	STRPF1:	AC3_AR,AR_AR+BR,J/STRPF2	;SRC LONGER
U 2475, 3311,3300,2400,0000,1020,0010,0000	; 9454		ARX_AR,AR_AR*SFLGS,AD/OR	;DST.  BUILD SRC LEN+FLAGS
U 3311, 3312,5112,2000,0000,0020,1010,0000	; 9455		AC0_AR,AR_ARX-BR		;THAT'S AWAY, MAKE DST LEN
U 3312, 0040,0001,0005,0000,0000,1005,0000	; 9456	STRPF3:	AC3_AR,SR DISP,J/CLEAN		;OK, NOW BACK UP SRC IF REQ'D
						; 9457	
U 3313, 3267,3300,2000,0000,0020,0010,0000	; 9458	STRPF2:	AR_AR*SFLGS,AD/OR,J/PGFAC0
						; 9459	
U 3314, 2474,2500,2047,0000,0020,4510,0170	; 9460	STRPF4:	BR/AR,AR_SLEN COMP,SKP AR0,J/STRPF1
						; 9461	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; EIS.MIC[10,5351]	18:59 19-May-83			EXTENDED INSTRUCTION SET DECODING			

						; 9462	.TOC	"EXTENDED INSTRUCTION SET DECODING"
						; 9463	
						; 9464	.IF/EXTEND
						; 9465	;GET HERE WITH E0 IN BR, (E0) IN AR
						; 9466	;	(E0) IS THE OPERATION WORD, AND HAS THE NORMAL -10 INSTRUCTION
						; 9467	;	FORMAT -- BITS 0-8 ARE OPCODE, 9-12 IGNORED, 13 @, 14-17 XR,
						; 9468	;	AND 18-35 Y.  THE AC USED COMES FROM THE EXTEND INSTRUCTION.
						; 9469	; COMPUTE E1 FROM 13-35
						; 9470	
						;;9471	.IFNOT/XADDR
						;;9472	;EXTEND:FE_#+AR0-8,#/-32,SKP SCAD0,	;CHECK LEGAL OPERATION
						;;9473	;		ARX_AR,AR_BRX		;OPR TO ARX, GET AC FROM BRX
						;;9474	=0
						;;9475	EXT1:	AR_BR,J/UUO			;OPCODE > 17 or 31
						;;9476	.IF/MODEL.B				;[246]
						;;9477		AR0-8_FE+#,#/32			;PLUG OPR INTO EXTEND AC
						;;9478		GEN AR,LOAD IR,AR_ARX
						;;9479		ARL_0.M,EA MOD DISP,J/EXT2
						;;9480	=1100
						;;9481	.IFNOT/MODEL.B				;[246]
						;;9482		AR0-8_FE+#,#/20			;PLUG OPR INTO EXTEND AC
						;;9483		GEN AR,LOAD IR,AR_ARX,ARL_0.M,
						;;9484			EA MOD DISP
						;;9485	=00
						;;9486	.ENDIF/MODEL.B
						;;9487	EXT2:	E1_AR,B DISP,J/EXT5		;SAVE E1, READY TO SAVE E0
						;;9488		ARL_0.M,AR_ARX+XR,J/EXT2
						;;9489		GEN ARX,A INDRCT,SKP INTRPT,J/EXT3
						;;9490		GEN ARX+XR,A INDRCT,
						;;9491			SKP INTRPT,J/EXT3
						;;9492	=0
						;;9493	EXT3:	AR_MEM,ARX_MEM,J/EXT4
						;;9494		AR_MEM,TAKE INTRPT
						;;9495	EXT4:	ARL_0.M,EA MOD DISP,J/EXT2
						;;9496	
						;;9497	=110
						;;9498	EXT5:	AR_BR,J/EXT6			;TRANSLATE MODE, DO NOT EXTEND
						;;9499		ARL_1S.M,SKP AR18		;SIGN EXTEND E1 IF NEGATIVE
						;;9500	=0	AR_BR,J/EXT6			;POS, ALREADY OK
						;;9501		E1_AR,AR_BR			;PUT NEG RESULT IN E1
						;;9502	EXT6:	E0_AR,VMA_AR+1,IR DISP,J/2000	;ENTER EXTENDED INSTR HANDLER
						;;9503	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; EIS.MIC[10,5351]	18:59 19-May-83			EXTENDED INSTRUCTION SET DECODING			

						;;9504	;HERE FOR EXTENDED INSTRUCTION SET DECODING UNDER XADDR
						; 9505	.IF/XADDR
						; 9506	;EXTEND: SC_#+AR0-8,#/-32,SKP SCAD0,	;VALID EXTENDED OPERATION?
						; 9507	;		ARX_AR,AR_BR,J/EXTF1	; OPR TO ARX, AC TO AR
						; 9508	=0
U 2476, 1002,3242,2000,0000,0000,0010,0000	; 9509	EXTF1:	AR_BR,J/UUO			;Opcode is too large.
U 2477, 3315,3242,6017,0000,1000,1010,0176	; 9510		E0_AR,MQ_AR,AR_BRX		;SAVE E0.  GET AC FROM EXTEND
U 3315, 3316,4001,0000,2302,2000,0110,0032	; 9511		AR0-8_#+SC,#/32,SC/SCAD		;COMBINE EXT OP <32 WITH AC
U 3316, 2500,0001,0000,2400,0020,5210,0000	; 9512		GEN SC,SKP SCAD NE		;TEST OP CODE
U 2500, 1002,3242,2000,0000,0000,0010,0000	; 9513	=0	AR_BR,J/UUO			;OP CODE = 0 (UUO) [217][251]
U 2501, 3317,3701,0000,0000,0000,1410,0000	; 9514		GEN AR,LOAD IR			;MAP THIS OVER THE LUUO SPACE
U 3317, 1234,2301,4000,0000,2000,0036,0000	; 9515	EXTF2:	AR_ARX,EA MOD DISP,J/EXTLA	;GO EVALUATE E1
						; 9516	=0000
U 1220, 2502,3713,0000,0000,1111,7010,0230	; 9517	EXTXA:	GEN ARX,GLOBAL,EXT INDRCT,SKP INTRPT,J/EXTI
U 1221, 2502,0610,0002,4000,1131,7010,0230	; 9518		GEN ARX+XR,GLOBAL,EXT INDRCT,SKP INTRPT,J/EXTI
U 1222, 2502,3713,0000,0000,1111,7010,0230	; 9519		GEN ARX,GLOBAL,EXT INDRCT,SKP INTRPT,J/EXTI
U 1223, 2502,0610,0002,4000,1131,7010,0230	; 9520		GEN ARX+XR,GLOBAL,EXT INDRCT,SKP INTRPT,J/EXTI
						; 9521	
U 1224, 3077,3711,0300,0000,1004,0002,0400	; 9522		GEN ARX,GLOBAL,EXT INDEX,ARX/MQ,J/3077
U 1225, 3077,0610,0302,0000,1024,0002,0400	; 9523		GEN ARX+XR,GLOBAL,EXT INDEX,ARX/MQ,J/3077
U 1226, 3077,3711,0300,0000,1004,0002,0400	; 9524		GEN ARX,GLOBAL,EXT INDEX,ARX/MQ,J/3077
U 1227, 3077,0610,0302,0000,1024,0002,0400	; 9525		GEN ARX+XR,GLOBAL,EXT INDEX,ARX/MQ,J/3077
						; 9526	
U 1230, 0121,4001,0000,0000,0000,2210,0400	; 9527		GET ECL EBUS,J/ILLIND		;[234] illegal indirect word
U 1231, 0121,4001,0000,0000,0000,2210,0400	; 9528		GET ECL EBUS,J/ILLIND		;[234] illegal indirect word
U 1232, 0121,4001,0000,0000,0000,2210,0400	; 9529		GET ECL EBUS,J/ILLIND		;[234] illegal indirect word
U 1233, 0121,4001,0000,0000,0000,2210,0400	; 9530		GET ECL EBUS,J/ILLIND		;[234] illegal indirect word
						; 9531	;
						; 9532	;	[325]
						; 9533	;	The effective address dispatch logic is quite arcane.  It appears
						; 9534	;	that MEM/A RD,DISP/DRAM A RD, and SH/2 interact to get the section
						; 9535	;	number from either AD (if the AC > 777777) or from VMA section, but
						; 9536	;	in order for that to work, we must do something with the VMA, even
						; 9537	;	though we don't actually use it here if the address computation
						; 9538	;	is complete.  Thus the VMA/LOAD has been added for the index case.
						; 9539	;
U 1234, 2002,3703,0300,0000,0004,0033,0400	; 9540	EXTLA:	GEN AR,EXT ADDR,ARX/MQ,J/EXT2
U 1235, 3077,0600,0302,0000,2124,0002,0400	; 9541		GEN AR+XR,INDEXED,EXT INDEX,ARX/MQ,VMA/LOAD,J/3077 ;[325]
U 1236, 2502,3703,0000,0000,0111,7010,0230	; 9542		GEN AR,EXT INDRCT,SKP INTRPT,J/EXTI
U 1237, 2502,0600,0002,0000,2131,7010,0230	; 9543		GEN AR+XR,INDEXED,EXT INDRCT,SKP INTRPT,J/EXTI
						; 9544	
						; 9545	=0
U 2502, 3320,3240,0003,0000,0022,2510,0000	; 9546	EXTI:	ARX_MEM,LONG EN,J/EXTI2
U 2503, 0144,3200,0003,0000,0022,7710,0000	; 9547		ARX_MEM,TAKE INTRPT
						; 9548	EXTI2:	AR_ARX,XR,EA MOD DISP,
U 3320, 1220,2341,4002,0301,2020,0036,0024	; 9549			FE_#,#/24,TIME/3T,J/EXTXA
						; 9550	
						; 9551	=010
						; 9552	EXT2:	E1_AR,AR_ARX,VMA_ARX+1,		;ESTABLISH E1
U 2002, 2000,4011,4007,0000,2320,1001,0165	; 9553			IR DISP,J/2000		;GO TO SPECIFIC HANDLER
U 2003, 2504,4001,0000,0000,0001,4410,0020	; 9554		ARL_0.M,SKP AR18,J/EXT3		;OFFSET MODE.  EXTEND E1
						; 9555		E1_AR,AR_ARX,VMA_ARX+1,		;[301] Duplicate these to
U 2006, 2000,4011,4007,0000,2320,1001,0165	; 9556			IR DISP,J/2000		; distinguish GSNGL (B=5) from
						; 9557		E1_AR,AR_ARX,VMA_ARX+1,		; offset instructions (B=1)
U 2007, 2000,4011,4007,0000,2320,1001,0165	; 9558			IR DISP,J/2000
						; 9559	=0
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2-1
; EIS.MIC[10,5351]	18:59 19-May-83			EXTENDED INSTRUCTION SET DECODING			

						; 9560	EXT3:	E1_AR,AR_ARX,VMA_ARX+1,		;ESTABLISH E1
U 2504, 2000,4011,4007,0000,2320,1001,0165	; 9561			IR DISP,J/2000		;GO TO SPECIFIC HANDLER
U 2505, 2504,2341,0000,0000,0000,0610,0002	; 9562		ARL_1S,J/EXT3			;NEGATIVE OFFSET
						; 9563	.ENDIF/XADDR
						; 9564	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; EIS.MIC[10,5351]	18:59 19-May-83			EXTENDED INSTRUCTION SET DECODING			

						; 9565	;	By using "IR DISP,J/2000" we can use the same DRAM for LUUOs as
						; 9566	;	for the EXTEND instructions with like opcodes.  The LUUOs dispatch
						; 9567	;	to addresses in the range 1000-1017; by dispatching with J/2000,
						; 9568	;	the EXTEND ops go to 3000-3017 (model B) or 2000-20017 (model A).
						;;9569	.IFNOT/MODEL.B
						;;9570	2005:	AR_AC3,J/CMPS			;HIDDEN BEHIND L-CMS
						;;9571	2006:	CLR AR,ARX_1S,SC_#,#/15.,J/EDIT	;HIDDEN BEHIND L-EDIT
						;;9572	2010:	AR_AC0 COMP,J/DBIN		;HIDDEN BEHIND L-DBIN
						;;9573	2011:	AR_AC1,ARL/AD,SC_1,ARX+MQ_0.M,
						;;9574			BYTE DISP,J/BDEC	;HIDDEN BEHIND L-BDEC
						;;9575	2012:	AR_AC3,LOAD AR,J/MVST		;HIDDEN BEHIND L-MVS
						; 9576	.IF/MODEL.B
						;;9577	.IFNOT/XADDR
						;;9578	3005:	AR_AC3,J/CMPS			;HIDDEN BEHIND L-CMS
						;;9579	3006:	CLR AR,ARX_1S,SC_#,#/15.,J/EDIT	;HIDDEN BEHIND L-EDIT
						;;9580	3010:	AR_AC0 COMP,J/DBIN		;HIDDEN BEHIND L-DBIN
						;;9581	3011:	AR_AC1,ARL/AD,SC_1,ARX+MQ_0.M,
						;;9582			BYTE DISP,J/BDEC	;HIDDEN BEHIND L-BDEC
						;;9583	3012:	AR_AC3,LOAD AR,J/MVST		;HIDDEN BEHIND L-MVS
						; 9584	.IF/XADDR
						; 9585	.IFNOT/OWGBP				;[265]
U 3005, 3337,3200,2005,0000,0020,0010,0000	; 9586	3005:	AR_AC3,J/CMPS			;HIDDEN BEHIND L-CMS
U 3006, 3417,2301,0200,0302,0000,0410,0017	; 9587	3006:	CLR AR,ARX_1S,SC_#,#/15.,J/EDIT	;HIDDEN BEHIND L-EDIT
U 3010, 3343,2500,2000,0000,0020,0010,0000	; 9588	3010:	AR_AC0 COMP,J/DBIN		;HIDDEN BEHIND L-DBIN
						; 9589	3011:	AR_AC1,ARL/AD,SC_1,ARX+MQ_0.M,
U 3011, 1443,3200,2001,4402,0041,0034,0142	; 9590			BYTE DISP,J/BDEC	;HIDDEN BEHIND L-BDEC
U 3012, 3321,3240,2005,0000,0032,0010,0000	; 9591	3012:	AR_AC3,LOAD AR,J/MVST		;HIDDEN BEHIND L-MVS
						;;9592	.IF/OWGBP				;[265]
						;;9593	3005:	AR_ARX+1 (AD),J/CMPS		;[310] HIDDEN BEHIND L-CMS
						;;9594	3006:	J/EDIT				;HIDDEN BEHIND L-EDIT
						;;9595	3010:	J/DBIN				;HIDDEN BEHIND L-DBIN
						;;9596	3011:	J/BDEC				;HIDDEN BEHIND L-BDEC
						;;9597	3012:	LOAD AR,J/MVST			;HIDDEN BEHIND L-MVS
						; 9598	.ENDIF/OWGBP				;[265]
						; 9599	;3042:	AR_BR,J/UUO		;[217] INDEXING ON ILL. EXTEND OP.
						; 9600	;3044:	B DISP, J/EXT2
						; 9601	;3045:	B DISP, J/EXT2		;THESE ARE INDEX CASES BECAUSE INDEX
						; 9602	;3046:	B DISP, J/EXT2		; MUST DO AREAD WITH THE DISP FUNCTION
						; 9603	;3050:	B DISP, J/EXT2		; IN ORDER TO GET THE CORRECT INDEX VALUE 
						; 9604	;3051:	B DISP, J/EXT2		; FOR E1.
						; 9605	;3052:	B DISP, J/EXT2
						; 9606	;3144:	B DISP, J/EXT2		;[234]
						; 9607	;3145:	B DISP, J/EXT2		;[234]
						; 9608	;3146:	B DISP, J/EXT2		;[234]
						; 9609	;3147:	B DISP, J/EXT2		;[234]
						; 9610	;3150:	B DISP, J/EXT2		;[234]
						; 9611	;3151:	B DISP, J/EXT2		;[234]
						; 9612	;3152:	B DISP, J/EXT2		;[234]
						; 9613	;3153:	B DISP, J/EXT2		;[234]
						; 9614	;3154:	B DISP, J/EXT2		;[234]
U 3077, 2002,0001,0000,0000,0000,0033,0000	; 9615	3077:	B DISP, J/EXT2		;[251]
U 3177, 2002,0001,0000,0000,0000,0033,0000	; 9616	3177:	B DISP, J/EXT2		;[251]
						; 9617	.ENDIF/XADDR
						; 9618	.ENDIF/MODEL.B
						; 9619	.ENDIF/EXTEND
						; 9620	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4
; EIS.MIC[10,5351]	18:59 19-May-83			ONE WORD GLOBAL BYTE POINTER SUBROUTINES FOR EXTEND

						; 9621	.TOC	"ONE WORD GLOBAL BYTE POINTER SUBROUTINES FOR EXTEND"
						; 9622	;
						; 9623	; HERE FOR MVST, EDIT AND CMPS INSTRUCTIONS
						; 9624	; MUST CHECK BOTH AC1 AND AC4 FOR OWGBP
						; 9625	; AND CONVERT TO TWO WORD GLOBAL POINTERS.
						; 9626	; There is also a hack in here for the CMPSx instructions.  In
						; 9627	; order to find their fill characters in the right place, we must
						; 9628	; fetch FILL (saved as E0+1) into ARX.  [310]
						; 9629	; BDEC ENTERS AT EXT01 FOR AC4 ONLY
						; 9630	.IF/EXTEND
						;;9631	.IF/OWGBP				;[265]
						;;9632	=000
						;;9633	EXT2WD:	AR_AC1,CALL [TST2WD]		;AC1 OWGBP ?
						;;9634		CALL [STR2WD]			;YES, CONVERT DONE, STORE
						;;9635		J/EXT01				;NO, TRY AC4
						;;9636		AC2_AR,AR_BR OR ARX,J/EXT02	;ADDRESS STORE
						;;9637	EXT01:	AR_AC4,CALL [TST2WD]		;AC4 OWGBP ?
						;;9638		ARX_FILL,CALL [STR2WD]		;[310] YES, CONVERT DONE, STORE
						;;9639		ARX_FILL,RETURN1		;[310] NO, CAN'T DO NO MORE
						;;9640		SEL DSTP2			;[310] DON'T GLITCH ON AC5 STORE
						;;9641		AC5_AR,AR_BR OR ARX		; (See second edit #210)
						;;9642		ARX_BRX,SEL AC4			;[310] RESTORE ARX AND SELECT AC4
						;;9643		AC4_AR,RETURN1			;P,S,BIT 12 = 1 TO AC4
						;;9644	
						;;9645	EXT02:	AC1_AR,J/EXT01			;P,S,BIT 12 = 1 TO AC1
						;;9646	
						;;9647	; HERE FOR DBIN
						;;9648	
						;;9649	=00
						;;9650	DB2WD:	AR_AC1,CALL [TST2WD]		;AC1 OWGBP ?
						;;9651		CALL [STR2WD]			;YES, CONVRT DONE, STORE
						;;9652		RETURN1				;NO, GET OUT
						;;9653		AC1_AR,AR_BR OR ARX		;P,S,BIT 12 = 1 TO AC1
						;;9654		AC2_AR,RETURN1			;ADDRESS TO AC2, DONE
						;;9655	
						;;9656	; HERE TO TEST FOR OWGBP IN THE AR AND
						;;9657	; TO CONVERT IT IF IT'S OK
						;;9658	
						;;9659	=00
						;;9660	TST2WD:	SKP PC SEC0,CALL,J/GTST		;TEST FOR NOT SEC 0 AND OWGBP [266]
						;;9661	RET2:	RETURN2				;[260]NOT TODAY
						;;9662		CALL [CNV2WD]			;YES, CONVERT 
						;;9663		MQ_BR,RETURN1			;GET OUT
						;;9664	
						;;9665	; HERE TO GET P,S,BIT 12 = 1 AND A GOOD ADDRESS
						;;9666	; SOME VERY TRICKY STUFF GOING ON HERE
						;;9667	
						;;9668	STR2WD:	[AR]_FM[EXPMSK], BR/AR,BRX/ARX	;[310] P,S,JUNK TO BR, SAVE ARX
						;;9669		ARX_AR ANDCA BR			;P,S,0 TO ARX
						;;9670		[AR]_[AR]-FM[ADMSK]		;BIT 12 = 1 TO AR
						;;9671		AR_[MQ] AND FM[ADMSK],		;0,ADDRESS TO AR
						;;9672			BR/AR,RETURN2		;BIT 12=1 TO BR
						; 9673	.ENDIF/OWGBP				;[265]
						; 9674	.ENDIF/EXTEND
						; 9675	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 5
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- STRING MOVE					

						; 9676	.TOC	"EIS -- STRING MOVE"
						; 9677	.IF/EXTEND
						; 9678	; HERE FOR MOVE STRING, CHECK FOR OWGBP FIRST
						; 9679	;SLEN IS THE COMPLEMENT OF THE SHORTER STRING LENGTH
						; 9680	;DLEN IS <SRC LEN>-<DST LEN>
						; 9681	
						;;9682	.IF/OWGBP
						;;9683	=00
						;;9684	MVST:	AR_MEM,CALL [RET2]		;[260]GET FILL, WAIT FOR PARITY
						;;9685	=10	FILL_AR,CALL [EXT2WD]		;SAVE FILL, CHECK FOR OWGBP
						;;9686		AR_AC3				;GET DLEN
						;;9687		BR/AR,FE_AR0-8,SKP SCAD NE	;CHECK DLEN FLAGS
						;;9688	=0	AR_AC0,J/MVST1			;GET SRC LEN, FLAGS
						;;9689	NOLENS:	AR_E0,J/UUO			;NO FLAGS ALLOWED IN DST LEN
						;;9690	MVST1:	FE_AR0-8,AR0-8_#,#/0		;SEPERATE FLAGS OFF
						; 9691	.IFNOT/OWGBP
						; 9692	MVST:	BR/AR,AR_MEM,			;HOLD AC3, WAIT FOR FILLER
U 3321, 2506,3200,0043,2421,0042,5210,0000	; 9693			FE_AR0-8,SKP SCAD NE	;CHECK FOR FLAGS IN DEST LEN
U 2506, 3322,3240,0200,0000,0020,0010,0000	; 9694	=0	ARX_AC0,J/MVST1			;GET SRC LEN, FLAGS
U 2507, 1002,3200,2007,0000,0020,0010,0176	; 9695	NOLENS:	AR_E0,J/UUO			;NO FLAGS ALLOWED IN DST LEN
U 3322, 3323,0001,4007,0000,2000,1010,0173	; 9696	MVST1:	FILL_AR,AR_ARX			;SAVE FILL CHAR
U 3323, 3324,0001,0000,2421,0000,0110,0000	; 9697		FE_AR0-8,AR0-8_#,#/0		;SEPARATE FLAGS OFF
						; 9698	.ENDIF/OWGBP
U 3324, 2510,5102,2400,0000,1040,5510,0000	; 9699		ARX_AR,AR_AR-BR,SKP AD0		;COMPUTE SRC-DST LEN
U 2510, 3325,2542,2005,0000,0000,1010,0000	; 9700	=0	DLEN_AR,AR_BR COMP,J/MVST2	;SRC LONGER
U 2511, 3325,2001,6005,0000,0000,1010,0000	; 9701		DLEN_AR,AR_ARX COMP		;DST LONGER
U 3325, 3326,3441,2417,0000,1000,1010,0170	; 9702	MVST2:	SLEN_AR,ARX_AR,MQ_AR,AR_0S	;-SHORT LEN -1 TO MQ
U 3326, 3327,4001,0020,0000,2000,0022,0200	; 9703		AR0-8_FE,BRX/ARX		; AND BRX
U 3327, 2014,0001,0000,0000,0000,1033,0000	; 9704		SFLGS_AR,B DISP
U 2014, 3331,2301,0200,0302,0000,0410,0014	; 9705	=100	CLR AR,ARX_1S,SC_#,#/12.,J/MOVS2;[220]TRANSLATE, BUILD MASK
U 2015, 3330,3200,2006,0000,0020,0010,0144	; 9706		AR_DSTP,J/MVSO3			;OFFSET, MASK DEPENDS ON S
U 2016, 2030,4662,6600,0000,0020,1610,0111	; 9707		ARX_BRX+1,AR/ADX,SR_SRC,J/MOVST1	;LEFT JUSTIFY
U 2017, 1250,3240,2005,0000,0020,5510,0000	; 9708		AR_DLEN,SKP AD0,J/MOVRJ		;RIGHT JUSTIFY
						; 9709	
U 3330, 3331,2301,2000,2412,0000,0510,0000	; 9710	MVSO3:	SC_S,CLR ARX,AR_1S		;PREPARE TO BUILD MASK
U 3331, 3332,4001,4000,0000,0000,1610,0111	; 9711	MOVS2:	AR_SHIFT,SR_SRC
U 3332, 2020,4001,0007,0000,0000,1010,0167	; 9712		MSK_AR
						; 9713	=000
U 2020, 2120,4660,2007,0000,0020,0050,0170	; 9714	MOVELP:	AR_SLEN+1,CALL,J/SRCMOD		;PICK UP SOURCE BYTE
U 2021, 2031,3240,2005,0000,0020,0010,0000	; 9715		AR_DLEN,J/MOVSTX		;(1) LENGTH EXHAUSTED
						; 9716	=100
U 2024, 1450,4001,0000,0000,0000,1650,0213	; 9717	MOVPUT:	SR_SRC+DST,CALL,J/PUTDST	;(4) NORMAL, STORE DST BYTE
U 2025, 3333,3200,2005,0000,0237,0010,0000	; 9718		I FETCH,AR_DLEN,J/MVABT		;(5) ABORT
U 2026, 2020,4001,0000,0000,0000,1610,0111	; 9719	=110	SR_SRC,J/MOVELP			;(6) DPB DONE
						; 9720	=
						; 9721	;HERE TO ABORT A STRING MOVE DUE TO TRANSLATE OR OFFSET FAILURE
						; 9722	
U 3333, 2512,5140,2047,0000,0020,4510,0170	; 9723	MVABT:	BR/AR,AR_-SLEN,SKP AR0		;WHICH STRING LONGER?
						; 9724	=0
U 2512, 3334,0001,0005,0000,0002,1010,0000	; 9725	MVABT1:	AC3_AR,FETCH WAIT,J/MVABT2	;PUT AWAY DEST LEN
U 2513, 2512,5102,2004,0000,0020,0010,0000	; 9726		AR_AR-BR,J/MVABT1		;DEST LEN WAS GREATER
						; 9727	
U 3334, 2514,2540,2007,0000,0020,4210,0170	; 9728	MVABT2:	AR_SLEN COMP,SKP BR0		;GET UNDECREMENTED SLEN
U 2514, 2515,0602,2004,0000,0020,0010,0000	; 9729	=0	AR_AR+BR			;SRC LONGER BY (DLEN)
U 2515, 0065,3300,2000,4000,0020,1610,0000	; 9730	MVEND:	AR_AR*SFLGS,AD/OR,SR_0,J/STAC	;PUT BACK REMAINING LENGTH
						; 9731	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- STRING MOVE					

						; 9732	;HERE TO BEGIN RIGHT-JUSTIFIED MOVE
						; 9733	
						; 9734	=00
U 1250, 2516,3200,2401,0000,1020,1610,0111	; 9735	MOVRJ:	ARX_AR,AR_SRCP,SR_SRC,J/MVSKP	;SRC LONGER, SKIP OVER SOME
U 1251, 0542,0001,0000,0000,0000,1650,0214	; 9736		SR_DSTF,CALL,J/MOVF1		;DST LONGER, FILL IT
U 1253, 2030,4662,6600,0000,0020,1610,0111	; 9737	=11	ARX_BRX+1,AR/ADX,SR_SRC,J/MOVST1	;DONE FILLING
						; 9738	
						; 9739	=0
						; 9740	MVSKP:	ARX_ARX-1 (AD),FE_#,#/36.,
U 2516, 1256,1711,0200,0301,0040,7032,0044	; 9741			SIGNS DISP,SKP INTRPT,J/MVSK1
U 2517, 2516,4001,2000,5010,3020,0610,0200	; 9742		P_FE-S,AR_AR+1,J/MVSKP
						; 9743	=1110
U 1256, 2516,4001,0000,5110,3021,5110,0200	; 9744	MVSK1:	P_P-S,SKP SCAD0,J/MVSKP		;BUMP POINTER
U 1257, 1276,3711,0001,0000,0021,1032,0030	; 9745		SRCP_AR,GEN ARX,SIGNS DISP,AR_0.M
U 1276, 3335,2500,2227,0000,0020,0010,0170	; 9746	=1110	BRX/ARX,AR_SLEN COMP,ARX/AD,J/MVSK3	;INTERRUPTED
U 1277, 2036,4001,0005,0000,0000,1010,0000	; 9747		DLEN_AR,J/MVSK4			;DONE FILLING
						; 9748	
U 3335, 3336,4602,6005,0000,0020,1010,0000	; 9749	MVSK3:	AC3_AR,AR_ARX*BRX,AD/A+B+1	;DEST HAS SHORT LEN
U 3336, 3313,4001,0000,0000,0000,1610,0000	; 9750		SR_0,J/STRPF2			;FIX UP AC0, SERVE INTRPT
						; 9751	
						; 9752	;HERE FOR NO-MODIFICATION STRING MOVES
						; 9753	
						; 9754	;[266]	Remove edit 244
						; 9755	;;[244]	THIS ADDRESS MUST REMAIN SET FOR THE PROBLEM
						; 9756	;;	OF THE S FIELD OF THE SOURCE POINTER BEING > 36.
						; 9757	;;
						; 9758	;.IF/MODEL.B
						; 9759	;1300:					;[244]
						; 9760	;MOVST1:	SLEN_AR,BRX/ARX,		;PUT UPDATED LEN AWAY
						; 9761	;		AR+ARX+MQ_0.M,CALL.M,
						; 9762	;		SIGNS DISP,J/GSRC
						; 9763	;1301:
						; 9764	;MOVSTX:	SKP AR0,ARX_AR,AR_0S,J/MOVST2	;SHORT LEN EXHAUSTED
						; 9765	;1302:	SR_SRC+DST,CALL,J/PUTDST
						; 9766	;1306:
						; 9767	;MVSK4:	ARX_BRX+1,AR/ADX,SR_SRC,J/MOVST1
						; 9768	;.IFNOT/MODEL.B		;[244][266]
						; 9769	=000
						; 9770	MOVST1:	SLEN_AR,BRX/ARX,		;PUT UPDATED LEN AWAY
						; 9771			AR+ARX+MQ_0.M,CALL.M,
U 2030, 1633,0001,0027,0000,0021,1072,0170	; 9772			SIGNS DISP,J/GSRC
U 2031, 1260,3401,2400,0000,1000,4510,0000	; 9773	MOVSTX:	SKP AR0,ARX_AR,AR_0S,J/MOVST2	;SHORT LEN EXHAUSTED
U 2032, 1450,4001,0000,0000,0000,1650,0213	; 9774	=010	SR_SRC+DST,CALL,J/PUTDST
						; 9775	=110
U 2036, 2030,4662,6600,0000,0020,1610,0111	; 9776	MVSK4:	ARX_BRX+1,AR/ADX,SR_SRC,J/MOVST1
						; 9777	=
						; 9778	;.ENDIF/MODEL.B		;[244][266]
						; 9779	=00
						; 9780	MOVST2:	TEST ARX,TEST FETCH,		;SKIP IF BOTH LENGTHS =0
U 1260, 2515,3713,4005,0000,2246,1010,0203	; 9781			AC3_AR,AR_ARX,J/MVEND	;CLEAR DEST LEN, REBUILD SRC
U 1261, 0542,0001,0000,0000,0000,1650,0212	; 9782		SR_DST,CALL,J/MOVF1		;SOURCE GONE, FILL OUT DST
U 1263, 3427,3240,2000,0000,0220,0010,0000	; 9783	=11	AR_SFLGS,VMA_PC+1,J/SFET1	;DONE FILLING
						; 9784	
						; 9785	;NOTE -- IT AIN'T AS EASY AS IT LOOKS TO BUM A CYCLE OUT OF THIS
						; 9786	; ROUTINE, BECAUSE AN INTERRUPT, IF ANY, HAS TO BE TAKEN AFTER THE
						; 9787	; POINTER UPDATE AND BEFORE THE LENGTH UPDATE.  GOOD HUNTING!
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 6-1
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- STRING MOVE					

						; 9788	=01*
U 0542, 1450,3240,2007,0000,0020,0050,0173	; 9789	MOVF1:	AR_FILL,CALL,J/PUTDST
U 0546, 2520,4660,2005,0000,0020,7010,0000	; 9790		AR_DLEN+1,SKP INTRPT,J/MOVF2
						; 9791	=0
U 2520, 1333,0001,0005,0000,0020,1032,0000	; 9792	MOVF2:	DLEN_AR,SIGNS DISP,J/MOVF3	;DONE?
U 2521, 0040,4001,0000,0000,0000,0005,0000	; 9793		SR DISP,J/CLEAN			;BREAK OUT FOR INTERRUPT
						; 9794	=1011
U 1333, 0002,4001,0000,0000,0000,0003,0000	; 9795	MOVF3:	RETURN2				;YES, DONE
U 1337, 0542,4001,0000,0000,0000,0010,0000	; 9796		J/MOVF1				;NO, DO ANOTHER
						; 9797	.ENDIF/EXTEND
						; 9798	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- STRING COMPARE					

						; 9799	.TOC	"EIS -- STRING COMPARE"
						; 9800	.IF/EXTEND
						; 9801	
						; 9802	;HERE FOR CMPS, CHECK FOR OWGBP FIRST
						; 9803	; [310] E0+1 will be saved in FILL during OWG checking.  We restore it
						; 9804	; from ARX to MQ here.  This keeps us from fetching bogus fill characters.
						; 9805	
						;;9806	.IF/OWGBP
						;;9807	=0
						;;9808	CMPS:	FILL_AR,CALL [EXT2WD]		;[310] Save FILL ptr, convert OWGBP
						;;9809		AR_AC3,MQ_ARX			;[310] GET AC3 IN PLACE
						;;9810		BR/AR,ARX_AR,FE_AR0-8,AR_AC0	;DEST LEN TO BR, GET SRC LEN
						; 9811	.IFNOT/OWGBP
U 3337, 3340,3240,2440,2421,1020,0010,0000	; 9812	CMPS:	BR/AR,ARX_AR,FE_AR0-8,AR_AC0	;DEST LEN TO BR, GET SRC LEN
						; 9813	.ENDIF/OWGBP
						; 9814		FE_FE OR AR0-8,			;GATHER HIGH BITS OF LEN'S
U 3340, 2522,3102,0004,6021,0020,5410,0000	; 9815			SKP AR GT BR		;WHICH STRING LONGER?
						; 9816	.IFNOT/OWGBP				;[310]
						; 9817	=0
						; 9818	CMPS1:	LOAD AR,AR_ARX-1,ARX_AR-1,	;SRC SHORTER
U 2522, 2524,1703,6200,0000,0052,5210,0000	; 9819			GEN FE,SKP SCAD NE,J/CMPS2 ;CHECK LEN'S PURE
U 2523, 2522,0001,0000,0000,0000,3610,0000	; 9820		VMA_VMA+1,J/CMPS1		;SRC LONGER, GET DST FILLER
						;;9821	.IF/OWGBP
						;;9822	=0	VMA_MQ,J/CMPS1			;[310] Source shorter
						;;9823		VMA_MQ+1			;[310] SRC LONGER, GET DST FILLER
						;;9824	CMPS1:	LOAD AR,AR_ARX-1,ARX_AR-1,	;SRC SHORTER
						;;9825			GEN FE,SKP SCAD NE	;CHECK LEN'S PURE
						; 9826	.ENDIF/OWGBP
						; 9827	=0
U 2524, 2527,3200,0063,0000,0022,0010,0000	; 9828	CMPS2:	AR_MEM,BR/AR,BRX/ARX,J/CMPS4	;DECREMENTED LEN'S TO BR'S
U 2525, 2507,3240,0003,0000,0022,0010,0000	; 9829		AR_MEM,J/NOLENS			;[275] ILLEGAL BITS IN LEN'S
						; 9830	
						; 9831	;HERE IS THE COMPARE LOOP.
						; 9832	; MQ CONTAINS THE FILL CHARACTER FOR THE SHORTER STRING,
						; 9833	; BR CONTAINS THE REMAINING DESTINATION LENGTH,
						; 9834	; BRX CONTAINS THE REMAINING SOURCE LENGTH
						; 9835	=0
U 2526, 1356,4321,0700,0000,0020,0010,0000	; 9836	CMPS3:	ARX0_MQ35,J/CMPSX		;WE GOT INEQUALITY.  GET SIGN
						; 9837	CMPS4:	MQ_AR,ARX_AR,FE_#,#/36.,	;FILL TO MQ & ARX
U 2527, 1350,3242,2410,0301,1000,4310,0044	; 9838			AR_BR,SKP ARX0		;MORE CHARS IN SRC STRING?
						; 9839	=1000	AR_SRCP,ARX_SRCP,		;READY WITH SRC POINTER
U 1350, 2556,3200,2201,0000,0040,1650,0101	; 9840			SR_ED(S),CALL,J/GSRC1	;GO GET SRC BYTE
U 1351, 1352,3441,4200,0000,2020,1632,0000	; 9841		AR_ARX,ARX_0S,SR_0,SIGNS DISP	;SRC DONE.  TEST DEST LEN
U 1352, 1355,3723,2007,0000,0020,1032,0166	; 9842	=1010	T0_AR,AR_MQ,SIGNS DISP,J/CMPS5	;SRC (OR SRC FILL) TO T0,
						; 9843	=1110					;TEST FOR END OF DEST STRING
U 1356, 0075,3711,0000,0000,0246,0010,0202	; 9844	CMPSX:	GEN ARX,CMS FETCH,J/NOP		;QUIT WITH COMPARE COND IN ARX
						; 9845	=
						; 9846	;HERE TO GET DESTINATION BYTE.  SRC IS IN T0, FILL CHAR IN AR
						; 9847	;HERE WITH SIGNS DISP, TO AVOID CALL ON CMPDST IF DST LEN EXHAUSTED
						; 9848	
						; 9849	=1101
U 1355, 2532,0001,0000,0000,0000,1650,0224	; 9850	CMPS5:	SR_ED(+D),CALL,J/CMPDST		;GO FOR DESTINATION BYTE
						; 9851		AR_AR*T0,AD/XOR,		;AR ZERO IF EQUAL
U 1357, 3341,3100,2307,0000,0020,0012,0166	; 9852			ARX/MQ,MQ_MQ*2		;FILL TO ARX, CRY TO MQ35
						; 9853		BR/AR,BRX/ARX,			;EQUALITY TO BR, FILL TO BRX
U 3341, 2530,3202,2660,0000,0000,4210,0000	; 9854			AR_BR,ARX_BRX,SKP BR0	;LENGTHS TO AR, ARX
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 7-1
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- STRING COMPARE					

						; 9855	=0	AC3_AR,ARX_AR,AR_ARX (AD),	;UPDATE DEST LEN IN AC3
U 2530, 1376,3711,2405,0000,1020,1032,0000	; 9856			SIGNS DISP,J/CMPS6	;TEST SRC LEN
U 2531, 1376,3711,2400,0000,1000,0010,0000	; 9857		ARX_AR,AR_ARX (AD)		;DEST LEN EXHAUSTED
						; 9858	=1110
U 1376, 3342,1701,6200,0000,0040,1010,0000	; 9859	CMPS6:	AC0_AR,AR_ARX-1,ARX_AR-1,J/CMPS7	;UPDATE SRC LEN IN AC0
U 1377, 3342,1703,6200,0000,0040,0010,0000	; 9860		AR_ARX-1,ARX_AR-1		;SRC EXHAUSTED PREVIOUSLY
						; 9861	
						; 9862	CMPS7:	BR/AR,BRX/ARX,			;LENGTHS TO BR'S
U 3342, 2526,7142,6060,0000,0040,5410,0000	; 9863			SKP BR EQ,AR/ADX,J/CMPS3	;CHECK FOR EQUALITY
						; 9864	
						; 9865	=0
						;;9866	.IFNOT/MODEL.B
						;;9867	CMPDST:	AR_DSTP,ARX_DSTP,FE_#,#/36.,	;GET DEST BYTE FOR COMPARE
						;;9868			CALL,J/IDST		;UPDATE DEST POINTER
						; 9869	.IF/MODEL.B
						; 9870	CMPDST:	AR_DSTP,ARX_DSTP,		;GET DEST BYTE FOR COMPARE
U 2532, 3412,3240,2206,0000,0040,0050,0144	; 9871			CALL,J/IDST		;UPDATE DEST POINTER
						; 9872	.ENDIF/MODEL.B
U 2533, 2260,0001,0000,2002,0000,7010,0000	; 9873		SC_FE+SC,SKP INTRPT,J/LDB1	;GET DEST BYTE
						; 9874	.ENDIF/EXTEND
						; 9875	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- DECIMAL TO BINARY CONVERSION			

						; 9876	.TOC	"EIS -- DECIMAL TO BINARY CONVERSION"
						; 9877	.IF/EXTEND
						; 9878	; HERE WITH AC0 (SRC LEN) IN AR COMPLEMENTED
						; 9879	; IN THE LOOP, AC3 CONTAINS 10 (DECIMAL), BR'BRX HAS ACCUMULATED BINARY
						; 9880	
						;;9881	.IF/OWGBP
						;;9882	=0
						;;9883	DBIN:	CALL [DB2WD]			;CHECK FOR OWGBP
						;;9884		AR_AC0 COMP			;FLAGS TO AR
						;;9885		BR/AR,FE_AR0-8 COMP,AR0-8_#,#/-1	;FORCE OUT FLAGS
						; 9886	.IFNOT/OWGBP
U 3343, 3344,0001,0040,1421,0000,0110,0777	; 9887	DBIN:	BR/AR,FE_AR0-8 COMP,AR0-8_#,#/-1	;FORCE OUT FLAGS
						; 9888	.ENDIF/OWGBP
U 3344, 1435,3441,2207,0000,0020,1032,0170	; 9889		SLEN_AR,AR_0S,ARX_0S,SIGNS DISP
U 1435, 3346,3200,0216,0000,2020,0110,0144	; 9890	=1101	AR0-8_FE#,MQ_ARX,ARX_AC4,J/DBS1	;BUILD SFLGS
U 1437, 2046,0001,0000,0000,0000,0033,0000	; 9891		B DISP				;OFFSET OR TRANSLATE?
U 2046, 3345,4001,0000,0000,2000,0022,0200	; 9892	=110	AR0-8_FE,J/DBST			;TRANSLATE, LET S FLAG SET LATER
U 2047, 3345,4001,0000,6030,2000,0110,0400	; 9893		AR0-8_FE OR #,#/400		;OFFSET, SET S FLAG
U 3345, 3350,3441,2200,0000,0000,1010,0000	; 9894	DBST:	SFLGS_AR,AR_0S,ARX_0S,J/DBS2	;CLEAR BINARY
						; 9895	
U 3346, 3347,3721,0500,0000,0000,1010,0000	; 9896	DBS1:	SFLGS_AR,ARX_ARX*2		;HERE WHEN SIG ALREADY ON
U 3347, 3350,3240,2005,0000,0020,0010,0000	; 9897		AR_AC3				;ACCUMULATED BINARY IN AR
U 3350, 3351,4041,2060,0000,0020,0510,0000	; 9898	DBS2:	BR_AR LONG,AR_1,CLR ARX
U 3351, 2056,0603,5004,0302,0020,0033,0004	; 9899		AR_AR*10,B DISP,SC_#,#/4	;GET CONSTANT 10 FOR COMPARE
U 2056, 3352,2341,4205,0000,2000,1010,0000	; 9900	=110	AC3_AR,AR_ARX,ARX_1S,J/DBS3	;PREPARE TO BUILD MASK
U 2057, 3352,2341,2005,0000,0000,1010,0000	; 9901		AC3_AR,AR_1S			;OFFSET
U 3352, 3353,4001,4000,0000,0000,1610,0102	; 9902	DBS3:	AR_SHIFT,SR_DB
U 3353, 0650,3242,2607,0000,0000,1010,0167	; 9903		MSK_AR,AR_BR LONG		;SAVE MASK, GET INITIAL INPUT
						; 9904	
						; 9905	=0*0
						; 9906	DBINLP:	BR_AR LONG,AR_SLEN+1,		;BINARY BACK TO BR, COUNT LENGTH
U 0650, 2120,4660,2067,0000,0020,0050,0170	; 9907			CALL,J/SRCMOD		;PICK UP A DIGIT
U 0651, 2536,3203,0000,0000,0220,5510,0000	; 9908		SKP AR2,VMA_PC+1,J/DBXIT	;(1) DONE, TEST M FLAG
						; 9909		ARX_AR,AR+MQ_0.M,GEN AR-AC3,	;(4) NORMAL, ADD IN DIGIT
U 0654, 2534,5100,0405,4000,1041,5410,0130	; 9910			SKP CRY0,J/DBIN2	;TEST FOR DIGIT >9
U 0655, 3356,2500,2007,0000,0020,0010,0170	; 9911		AR_SLEN COMP,J/DBABT		;(5) ABORT
						; 9912	
						; 9913	;HERE TO ADD IN A DIGIT
						; 9914	
						; 9915	=0
U 2534, 3354,3202,2660,0000,0000,0010,0000	; 9916	DBIN2:	BR_AR LONG,AR_BR LONG,J/DBIN3	;DIGIT TO BR LONG, BINARY TO AR LONG
U 2535, 3356,2500,2007,0000,0020,0010,0170	; 9917		AR_SLEN COMP,J/DBABT		;DIGIT >9, ABORT
						; 9918	
U 3354, 3355,0603,2604,0000,0020,0027,0000	; 9919	DBIN3:	AR_AR*5 LONG			;ALREADY HAVE BINARY *2
U 3355, 0650,0602,5504,0000,0020,0027,0000	; 9920		AR_2(AR+BR) LONG,J/DBINLP	;ADD IN DIGIT, SHIFT LEFT
						; 9921	
						; 9922	;HERE ON ABORT
						; 9923	
U 3356, 3357,3300,2000,4000,0020,0010,0000	; 9924	DBABT:	AR_AR*SFLGS,AD/OR		;[230][221]FLAGS +LEN REMAINING
						; 9925		AC0_AR,AR_BR LONG,SC_#,#/35.,	;PUT BACK UNUSED LENGTH
U 3357, 3360,3242,2600,0302,0200,1010,0043	; 9926			VMA_PC+1,J/STOR34	;END WITH NO SKIP
						; 9927	
						; 9928	;HERE AT END
						; 9929	
						; 9930	=0
						; 9931	DBXIT:	AR_BR LONG,VMA_VMA+1,		; M FLAG=0
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 8-1
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- DECIMAL TO BINARY CONVERSION			

U 2536, 3360,3242,2600,0302,0000,3610,0043	; 9932			SC_#,#/35.,J/STOR34	;GO FOR NEXT INSTR
						; 9933		AR_-BR LONG,VMA_VMA+1,		;NEGATE
U 2537, 3360,5142,2600,0302,0020,3627,0043	; 9934			SC_#,#/35.
U 3360, 3361,5401,2005,0000,0037,1016,0000	; 9935	STOR34:	AC3_AR,AR_SIGN,FETCH		;STORE HIGH PART
U 3361, 3362,0001,4000,0000,0000,1610,0000	; 9936		AR_SHIFT,SR_0			;GET LOW READY
						; 9937	.IF/MODEL.B
U 3362, 3363,0001,0000,0000,0000,0010,0144	; 9938		SEL AC4				;PRESEL NUMBER TO FIX HARDW GLITCH
						; 9939	.ENDIF/MODEL.B
U 3363, 0222,0001,0006,0000,0000,1010,0144	; 9940	STAC4:	AC4_AR,FINISH
						; 9941	.ENDIF/EXTEND
						; 9942	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 9
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- BINARY TO DECIMAL CONVERSION			

						; 9943	.TOC	"EIS -- BINARY TO DECIMAL CONVERSION"
						; 9944	.IF/EXTEND
						; 9945	;	AC0,AC1 = BINARY INTEGER INPUT
						; 9946	;	AC3 = FLAGS, MAX LENGTH OF DECIMAL STRING
						; 9947	;	AC4 = DESTINATION STRING POINTER
						; 9948	; TEMPS ARE USED AS FOLLOWS:
						; 9949	;	SLEN= # OF SIGNIFICANT DIGITS
						; 9950	;	T1,2= 10.**(SLEN) THE LOWEST POWER OF TEN LARGER THAN BINARY
						; 9951	
						; 9952	;FPD IS SET IF THE INSTRUCTION WAS INTERRUPTED AFTER
						; 9953	; CONVERSION OF THE BINARY INTEGER TO FRACTION FORM.
						; 9954	; (AND THUS BY IMPLICATION, AFTER STORING FILLERS)
						; 9955	
						;;9956	.IF/OWGBP
						;;9957	=0
						;;9958	BDEC:	CALL [EXT01]			;CHECK FOR OWGBP
						;;9959		AR_AC1,ARL/AD,SC_1,ARX+MQ_0.M,
						;;9960			BYTE DISP		;GET BIN INTEGER
						;;9961	=011	ARX_SHIFT,AR_AC0,SKP AD0,	;BINARY INTEGER NOW IN AR LONG
						;;9962			SC_#,#/20,J/BD1		;IS IT NEGATIVE?
						; 9963	.IFNOT/OWGBP
						; 9964	=011
						; 9965	BDEC:	ARX_SHIFT,AR_AC0,SKP AD0,	;BINARY INTEGER NOW IN AR LONG
U 1443, 2540,3200,2400,0302,0020,5510,0020	; 9966			SC_#,#/20,J/BD1		;IS IT NEGATIVE?
						; 9967	.ENDIF/OWGBP
U 1447, 3364,3200,2405,0000,1020,1610,0010	; 9968	BDDR1:	ARX_AR,AR_AC3,SR_BDT		;RESUME WITH FRACTION IN AR LONG
						; 9969		BR/AR,CLR EXP,			;SEPARATE FLAGS & LENGTH
U 3364, 3365,3240,0260,0400,2021,0010,0200	; 9970			BRX/ARX,ARX_AC0		;LOW FRAC TO BRX, HI TO ARX
U 3365, 3366,3002,2044,0000,0000,0010,0000	; 9971		AR_AR*BR,AD/ANDCA,BR/AR		;JUST FLAGS TO AR, JUST LEN TO BR
U 3366, 3367,4001,4005,0000,2000,1010,0000	; 9972		AC3_AR,AR_ARX			;GET HI FRAC TO AR
						; 9973		BR/AR,VMA_PC+1,			;FRAC TO BR LONG, GET VMA READY
U 3367, 2544,5162,2040,0000,0240,5410,0000	; 9974			AR_-BR,SKP CRY0,J/BDDR4	;CHECK FOR MORE TO GO
						; 9975	
						; 9976	=0
U 2540, 1270,3701,0000,0000,0040,5427,0000	; 9977	BD1:	SKP AR NE,AD LONG,J/BD2		;TEST FOR ZERO LONG
U 2541, 1271,5163,7700,0302,0020,0027,0030	; 9978		AR_-AR LONG,SC_#,#/30,J/BD3	;MAKE POSITIVE, SET N&M FLAGS
						; 9979	=00
						; 9980	BD2:	BR_AR LONG,AR_1 LONG,		;BINARY RIGHT-ALIGNED IN BR,
U 1270, 2062,4061,7660,0303,0020,0010,0024	; 9981			SC_#,FE_#,#/20.,J/BD4	;LOOK FOR LARGER POWER OF TEN
						; 9982	BD3:	BR_AR LONG,AR_AC3,		;SAVE POS BINARY, GET AC FLAGS
U 1271, 3450,3240,2065,0000,0020,0050,0000	; 9983			CALL,J/SETFLG		; SET FLAGS AS NEEDED
U 1273, 1270,3201,7705,0000,0000,1010,0000	; 9984	=11	AC3_AR,AR_BR*.5 LONG,J/BD2	;SAVE NEW FLAGS, SHIFT BINARY RIGHT
						; 9985	
						; 9986	;HERE TO FIND THE SMALLEST POWER OF TEN LARGER THAN THE BINARY INTEGER.
						; 9987	;BINARY IS IN BR LONG, AND POSITIVE UNLESS IT WAS 1B0.  IN THIS CASE THE
						; 9988	;COMPARISON WILL NEVER FIND A LARGER POWER OF TEN, BUT THE COUNT IN FE
						; 9989	;WILL RUN OUT, AND WE WILL CORRECTLY COMPUTE 22 DIGITS REQUIRED.
						; 9990	
						; 9991	=010					;IGNORE BR SIGN
U 2062, 3370,0603,5500,3001,0020,0027,0000	; 9992	BD4:	AR_AR*10 LONG,FE_FE-1,J/BD6	;THIS POWER IS TOO SMALL
U 2063, 1174,0001,4007,1002,2000,1010,0171	; 9993		SC_FE-SC-1,T1_AR,AR_ARX,J/BD7	;THIS POWER IS BIG ENOUGH
U 2066, 2067,0001,0000,3001,0000,0010,0000	; 9994		FE_FE-1				;10.**21 IS TOO SMALL, USE 22
U 2067, 1174,0001,4007,1002,2000,1010,0171	; 9995		SC_FE-SC-1,T1_AR,AR_ARX,J/BD7	;10.**21 IS BIG ENOUGH
						; 9996	
U 3370, 2062,1102,0000,0000,0020,0031,0000	; 9997	BD6:	GEN AR-BR-1,DISP/DIV,J/BD4	;COMPARE BINARY TO 10**N
						; 9998	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 10
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- BINARY TO DECIMAL CONVERSION			

						; 9999	;HERE HAVING FOUND THE NUMBER OF DIGITS REQUIRED TO REPRESENT THE
						; 10000	; GIVEN INTEGER.  THE ONE'S COMPLEMENT OF THE NUMBER OF DIGITS IS NOW
						; 10001	; IN SC, AND T1/T2 IS GETTING A POWER OF TEN LARGER THAN THE INPUT.
						; 10002	
						; 10003	=0*
U 1174, 1325,2341,2007,0000,0000,1050,0172	; 10004	BD7:	T2_AR,AR_1S,CALL,J/GETSC	;SAVE (10**N), GET -# OF DIGITS
U 1176, 3371,2503,0207,0000,0000,1010,0170	; 10005		SLEN_AR,ARX_AR*4 COMP		;-# OF SIGNIFICANT DIGITS-1
U 3371, 3372,3240,2005,0000,0020,0010,0000	; 10006		AR_AC3				;GET FLAGS, LENGTH
U 3372, 3373,4001,0000,2421,0000,0110,0000	; 10007		FE_AR0-8,AR0-8_#,#/0		;LEN IN AR, FLAGS IN FE
						; 10008		AR_ARX*.25-AR-1,SKP CRY0,	;-# OF FILL CHARS -1
U 3373, 2542,1113,7004,5032,0040,5410,0400	; 10009			SC_FE-#,#/400		;SC0 SET IF S FLAG =0
U 2542, 3374,4003,0200,0000,0021,0010,0030	; 10010	=0	ARX_AR+1,AR_0.M,J/BD8		;ENOUGH SPACE. -FILL CNT TO ARX
U 2543, 0075,4001,0000,0000,0217,0010,0000	; 10011		I FETCH,J/NOP			;OVERFLOW
						; 10012	BD8:	AR0-8_FE.M,SKP SC0,		;FLAGS TO AR.  S FLAG =0?
U 3374, 1456,2013,0000,0000,2021,4732,0200	; 10013			GEN ARX COMP,SIGNS DISP	; OR EXACT LENGTH?
U 1456, 1370,0001,0007,0000,0012,1010,0166	; 10014	=1110	T0_AR,LOAD AR,J/BDF1		;FLAGS TO T0, GET FILLER
U 1457, 3375,4001,0005,0000,0000,1010,0000	; 10015	BD9:	AC3_AR,J/BDDV1			;NO FILL.  FLAGS TO AC3
						; 10016	
						; 10017	=00
U 1370, 3003,3200,0003,0000,0022,1650,0203	; 10018	BDF1:	AR_MEM,SR_BDF,CALL,J/RET1	;GET FILLER, GO WAIT FOR PARITY
U 1371, 2520,0001,4007,0000,2000,1050,0173	; 10019		FILL_AR,AR_ARX,CALL,J/MOVF2	;FILL AS REQUIRED
U 1373, 1457,3200,2007,0000,0020,0010,0166	; 10020	=11	AR_T0,J/BD9			;GET FLAGS BACK
						; 10021	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 11
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- BINARY TO DECIMAL CONVERSION			

						; 10022	;SETUP FOR LONG DIVISION OF BINARY BY 10**N
						; 10023	;BR STILL HAS BINARY RIGHT ALIGNED (IE, LOW SIGN SQUEEZED OUT BY
						; 10024	; SHIFTING HIGH WORD RIGHT).  BR IS POSITIVE UNLESS INPUT INTEGER WAS
						; 10025	; 1B0, IN WHICH CASE BR IS -1B1.  T1,T2 HAS LARGER POWER OF TEN, UNLESS
						; 10026	; BINARY EXCEEDS 10**21, IN WHICH CASE T1,T2 CONTAINS 10**21. SINCE
						; 10027	; BINARY CANNOT BE AS LARGE AS 2 * 10**21, THE FIRST DIVIDE STEP
						; 10028	; IS GUARANTEED TO GENERATE A 1 IN THIS CASE ONLY, AND TO REDUCE THE
						; 10029	; BINARY TO LESS THAN 10**21.
						; 10030	
U 3375, 2076,3200,0207,0000,0020,0410,0172	; 10031	BDDV1:	ARX_T2,CLR AR			;FILL DONE.  GET 10**N
						; 10032	=110	AR_T1,MQ_AR,			;D'SOR SET IN AR, MQ CLR
U 2076, 2100,3200,2017,0000,1020,4250,0171	; 10033			SKP BR0,CALL,J/BDDV2	; CHK D'END SIGN
U 2077, 3376,3240,2400,0000,1020,1110,0100	; 10034		ARX_AR,AR_AC0,SET FPD		;DONE, GET FULL QUO IN AR LONG
U 3376, 3377,4003,2600,0000,0020,1627,0010	; 10035		AR_AR+1 LONG,SR_BDT,J/BDD1	;PREVENT 9'S DISEASE
						; 10036	
						; 10037	=000
						; 10038	BDDV2:	AR_BR LONG,BR_AR LONG,		;BEGIN LONG DIVISION
						; 10039			SC_#,FE_#,#/34.,	;STEP COUNTS FOR BOTH PARTS
U 2100, 1062,3202,2660,0303,0000,0050,0042	; 10040			CALL,J/DDVSUB
						; 10041		AR_-BR,ARX/ADX,BR_AR LONG,	;HERE IF BINARY WAS 1B0
						; 10042			SC_#,FE_#,#/34.,	; IT'S NOW 1B1
U 2101, 1062,5142,2660,0303,0020,0050,0042	; 10043			CALL,J/DDVSUB
						; 10044	=011	AC0_AR,AR_MQ,ARL/AD,MQ_0.M,	;HALF DONE WITH DIVISION
U 2103, 1060,3721,2000,2401,0001,1010,0102	; 10045			FE_SC,J/DDVLP		;RESUME WITH ADD STEP
						; 10046	=101	AC0_AR,AR_MQ,ARL/AD,MQ_0.M,
U 2105, 1062,3723,2000,2401,0001,1010,0102	; 10047			FE_SC,J/DDVSUB		;RESUME WITH SUBTRACT STEP
						; 10048	=
						; 10049	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 12
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- BINARY TO DECIMAL CONVERSION			

						; 10050	;HERE WITH QUOTIENT OF <INPUT INTEGER>/<10**N> IN AR LONG, WITH THE
						; 10051	; BINARY POINT BETWEEN BITS 0 AND 1 OF AR.  THUS, BIT 0 WILL BE SET
						; 10052	; IFF THE INPUT INTEGER WAS GREATER THAN OR EQUAL TO 10**21.
						; 10053	; SINCE THIS IS A TRUNCATED FRACTION, IT IS NOT GREATER THAN THE TRUE
						; 10054	; QUOTIENT, AND THE ERROR IS LESS THAN 2**-71. WE ADD 2**-71, TO
						; 10055	; GUARANTEE THAT OUR FRACTION IS GREATER THAN THE TRUE QUOTIENT,
						; 10056	; WITH AN ERROR NO GREATER THAN 2**-71.  WE WILL THEN MULTIPLY THIS
						; 10057	; FRACTION BY 10 N TIMES, REMOVING THE INTEGER PART AT EACH STEP
						; 10058	; TO EXTRACT THE N DIGITS.  SINCE N IS AT MOST 21, THIS IS A MULTIPLI-
						; 10059	; CATION BY AT MOST 10**21, SO THE ERROR IS AT MOST (2**-71)*(10**21).
						; 10060	; SINCE THIS IS LESS THAN ONE, THE ERROR DOES NOT INTRUDE INTO THE
						; 10061	; OUTPUT DIGIT STRING.
						; 10062	
						; 10063	;HERE IS LOOP TO EXTRACT DIGITS FROM FRACTION IN AC0,AC1
						; 10064	
						; 10065	BDD1:	BR_AR LONG,VMA_PC+1,		;START NEXT LOOP ITERATION
U 3377, 2544,4640,2067,0000,0240,5410,0170	; 10066			AR_SLEN+1,SKP CRY0	;ANY MORE DIGITS?
						; 10067	=0					;HERE TO RESUME AFTER INTERRUPT
						; 10068	BDDR4:	SLEN_AR,MQ_AR,SC_1,		;YES, SAVE LENGTH REMAINING
						; 10069			AR_BR LONG,		; AND GET FRACTION
U 2544, 1475,3202,2617,4402,1020,1032,0170	; 10070			SIGNS DISP,J/BDD2	;CHECK FOR 1ST DIGIT OF 10**21
						; 10071		AR_0S,ARX_0S,CLR FPD,		;NO, DONE.  CLEAR AC0 & AC1
U 2545, 3400,3401,2200,0000,0000,3614,0000	; 10072			VMA_VMA+1
U 3400, 1656,4001,0000,0000,0017,1010,0000	; 10073		AC0_AR,FETCH,J/STRAC1		;MOVE FETCH WHEN TIMING FIXED
						; 10074	=1101					;LOOK AT BR0 ONLY
U 1475, 1477,0603,7700,0302,0020,0027,0004	; 10075	BDD2:	AR_AR*1.25 LONG,SC_#,#/4	;NEXT DIGIT TO AR0-3
U 1477, 2546,3401,2400,0000,1000,7010,0000	; 10076		ARX_AR,AR_0S,SKP INTRPT		;READY TO SHIFT IN DIGIT
U 2546, 2550,0001,4000,0000,0000,0033,0000	; 10077	=0	AR_SHIFT,B DISP,J/BDD3		;STORE IT
U 2547, 3304,3242,2600,0000,0000,1610,0000	; 10078		AR_BR LONG,SR_0,J/B2DPF		;UPDATE REGS & QUIT
						; 10079	
						; 10080	;HERE TO STORE DIGIT IN AR FOR BDEC
						; 10081	=0
U 2550, 3401,0600,0007,4000,0332,0010,0165	; 10082	BDD3:	VMA_AR+E1,LOAD AR,J/BDD4	;TRANSLATE: GET TABLE ENTRY
U 2551, 2114,0600,2007,0000,0020,0010,0165	; 10083		AR_AR+E1,J/BDD7			;OFFSET AR AND STORE IT
						; 10084	
U 3401, 2552,6021,0000,0000,0021,5410,0040	; 10085	BDD4:	SKP MQ EQ -1,TIME/3T,ARX_0.M	;LAST DIGIT?
						; 10086	=0
U 2552, 3402,3240,0003,0000,0022,0010,0000	; 10087	BDD5:	AR_MEM,J/BDD6			;NO, STORE RH (POS DIGIT)
U 2553, 2552,3240,0205,0000,0020,0010,0000	; 10088		ARX_AC3,J/BDD5			;YES, LOOK AT M FLAG
U 3402, 2114,3243,0400,0000,3021,5310,0020	; 10089	BDD6:	SKP ARX2,ARX_AR SWAP,ARL_0.M
						; 10090	=100
U 2114, 1450,0001,0000,0000,0000,1650,0206	; 10091	BDD7:	SR_BDD,CALL,J/PUTDST
U 2115, 2114,4001,4000,0000,2001,0010,0020	; 10092		AR_ARX,ARL_0.M,J/BDD7		;M SET ON LAST DIGIT, USE LH
						; 10093	
						; 10094		AR_BR LONG,SR_BDT,		;GET FRACTION BACK
U 2116, 1535,3242,2600,0000,0020,1632,0010	; 10095			SIGNS DISP		;CHECK BR0 FOR INTEGER PART
						; 10096	=
U 1535, 1537,0603,5500,0000,0020,0027,0000	; 10097	=1101	AR_AR*10 LONG			;DISCARD PREVIOUS DIGIT
U 1537, 3377,4001,0000,7130,3000,0110,0037	; 10098		P_P AND #,#/37,J/BDD1		;CLEAR AR0, GO FOR NEXT
						; 10099	.ENDIF/EXTEND
						; 10100	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 13
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE

						; 10101	.TOC	"EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE"
						; 10102	.IF/EXTEND
						; 10103	
						; 10104	;SLEN = COMPLEMENT OF LENGTH
						; 10105	;MSK = MASK
						; 10106	;E1 = EFFECTIVE ADDRESS OF OPERATION WORD (SIGN EXTENDED IF OFFSET)
						; 10107	
						; 10108	;CALL WITH:	AR_SLEN+1,CALL,J/SRCMOD
						; 10109	;RETURNS:	1 LENGTH EXHAUSTED: FLAGS IN AR
						; 10110	;		2 (EDIT ONLY) NO SIGNIFICANCE: FLAGS IN FE
						; 10111	;		3 (EDIT ONLY) SIGNIFICANCE START: BYTE IN AR, FLAGS IN FE
						; 10112	;		4 NORMAL: BYTE IN AR
						; 10113	;		5 ABORT: OUT OF RANGE OR TRANSLATE FAILURE
						; 10114	;	BR, BRX, PRESERVED.
						; 10115	;	B=0 IF TRANSLATE, =1 IF OFFSET MODE, =2 IF EDIT, =4 IF CVTDBT
						; 10116	
						; 10117	;[266] Remove edit 244
						; 10118	;;[244]	THIS ADDRESS MUST REMAIN FOR THE PROBLEM OF THE
						; 10119	;;	S FIELD OF THE SOURCE POINTER BEING GREATER THAT 36.
						; 10120	;
						; 10121	;.IF/MODEL.B
						; 10122	;1200:					;[244]
						; 10123	;SRCMOD:	SLEN_AR,AR+ARX+MQ_0.M,CALL.M,	;PUT LENGTH AWAY, GET BYTE
						; 10124	;		SIGNS DISP,J/GSRC	;CHECK FOR LENGTH EXHAUSTION
						; 10125	;1201:	AR_SFLGS,SR_0,RETURN1		;LEN =0, DONE
						; 10126	;1202:	E1,TIME/2T,B DISP		;BYTE IN AR
						; 10127	;1206:	AR_AR*.5 LONG,E1,J/XLATE	;LOW BIT TO ARX0, BYTE/2 TO AR LOW
						; 10128	;1207:	AR_AR+E1,TIME/3T		;OFFSET, ADD OFFSET, TEST MASK
						; 10129	;	TEST AR.MSK,SKP CRY0,RETURN4	;RETURN 4 IF OK, 5 OUT OF RANGE
						; 10130	;.IFNOT/MODEL.B				;[244][266]
						; 10131	=000
						; 10132	SRCMOD:	SLEN_AR,AR+ARX+MQ_0.M,CALL.M,	;PUT LENGTH AWAY, GET BYTE
U 2120, 1633,4001,0007,0000,0021,1072,0170	; 10133			SIGNS DISP,J/GSRC	;CHECK FOR LENGTH EXHAUSTION
U 2121, 0001,3200,2000,0000,0020,1603,0000	; 10134		AR_SFLGS,SR_0,RETURN1		;LEN =0, DONE
U 2122, 2126,4001,0007,0000,0000,0033,0165	; 10135		E1,TIME/2T,B DISP		;BYTE IN AR
U 2126, 3404,0303,7707,0000,0020,0027,0165	; 10136	=110	AR_AR*.5 LONG,E1,J/XLATE	;LOW BIT TO ARX0, BYTE/2 TO AR LOW
U 2127, 3403,0600,2007,4000,0020,0010,0165	; 10137		AR_AR+E1,TIME/3T		;OFFSET, ADD OFFSET, TEST MASK
U 3403, 0004,3600,0007,4000,0040,5403,0167	; 10138		TEST AR.MSK,SKP CRY0,RETURN4	;RETURN 4 IF OK, 5 OUT OF RANGE
						; 10139	;.ENDIF/MODEL.B		;[244][266]
						; 10140	
						; 10141	;HERE ON TRANSLATE-MODE OPERATIONS, WITH THE BYTE/2 IN AR, AND
						; 10142	; THE LEAST SIGNIFICANT BIT OF THE BYTE IN ARX0.  PERFORM THE
						; 10143	; TABLE LOOKUP, AND OPERATE AS CONTROLLED BY THE HIGH THREE BITS
						; 10144	; OF THE TABLE ENTRY.
						; 10145	
U 3404, 3405,0600,0007,0000,0332,0010,0165	; 10146	XLATE:	VMA_AR+E1,LOAD AR		;GET FUNCTION FROM TABLE
						; 10147	
U 3405, 2554,3240,0003,0302,0022,4310,0022	; 10148	TRNAR:	AR_MEM,SKP ARX0,SC_#,#/18.	;WHICH HALF?
						; 10149	=0	ARX_AR,AR0-3 DISP,		;LH, MOVE TO ARX LEFT
U 2554, 1541,3240,2400,0000,1060,0007,0000	; 10150			AR_SFLGS,J/TRNFNC
						; 10151		ARX_AR SWAP,AR18-21 DISP,	;RH, MOVE THAT TO ARX LEFT
U 2555, 1541,3200,2400,0000,3060,0007,0000	; 10152			AR_SFLGS,J/TRNFNC
						; 10153	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 14
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE

						; 10154	;HERE ON TRANSLATE OPERATION TO PERFORM FUNCTIONS REQUIRED BY
						; 10155	; THE 3 HIGH ORDER BITS OF THE TRANSLATE FUNCTION HALFWORD.
						; 10156	; WE HAVE DISPATCHED ON THOSE THREE BITS, WITH THE FUNCTION
						; 10157	; HALFWORD IN LH(ARX), AND THE FLAGS FROM AC0 IN AR.
						; 10158	
						; 10159	=0001
						; 10160	TRNFNC:	SFLGS_AR,FE_P,AR_SHIFT,		;SAVE FLAGS, GET FCN IN AR RIGHT
U 1541, 1573,0001,4000,0101,0020,1032,0000	; 10161			SIGNS DISP,J/TRNRET	;WAS S FLAG ALREADY SET?
U 1543, 0005,0001,0000,7131,0000,1003,0003	; 10162	TRNABT:	SFLGS_AR,FE_P AND #,#/3,RETURN5	;ABORT
U 1545, 1541,0001,0000,7130,3000,0110,0067	; 10163		P_P AND #,#/67,J/TRNFNC		;CLEAR M FLAG
U 1547, 1541,4001,0000,6130,3000,0110,0010	; 10164		P_P OR #,#/10,J/TRNFNC		;SET M FLAG
U 1551, 1541,4001,0000,6130,3000,0110,0020	; 10165	TRNSIG:	P_P OR #,#/20,J/TRNFNC		;SET N FLAG
U 1553, 1543,0001,0000,6130,3000,0110,0020	; 10166		P_P OR #,#/20,J/TRNABT		;SET N AND ABORT
U 1555, 1551,4001,0000,7130,3000,0110,0067	; 10167		P_P AND #,#/67,J/TRNSIG		;CLEAR M, THEN SET N
U 1557, 1541,0001,0000,6130,3000,0110,0030	; 10168		P_P OR #,#/30,J/TRNFNC		;SET N AND M
						; 10169	
						; 10170	=1011
						; 10171	TRNRET:	ARX_AR*MSK,AD/AND,		;S FLAG IS 0, GET BYTE IN AR
U 1573, 2134,3600,0207,4000,0020,4433,0167	; 10172			SKP AR18,B DISP,J/TRNSS	;IS THIS EDIT?
U 1577, 0004,3600,2007,4000,0020,0003,0167	; 10173		AR_AR*MSK,AD/AND,RETURN4	;RETURN NORMAL SINCE S FLAG SET
						; 10174	
						; 10175	=100
U 2134, 0150,3240,2005,0000,0020,0033,0000	; 10176	TRNSS:	AR_DLEN,B DISP,J/TRNNS1		;NO SIG ON MOVE OR D2B
U 2135, 3407,3240,2000,0302,0020,0010,0040	; 10177		AR_SFLGS,SC_#,#/40,J/TRNSS1	;SIG START, SET FLAG
U 2136, 0002,4640,0007,0000,0332,0003,0176	; 10178		VMA_E0+1,LOAD AR,RETURN2	;EDIT NO SIG.  GET FILL
						;;10179	.IFNOT/MODEL.B
						;;10180		AR_DSTP,FE_#,#/36.,RETURN3	;EDIT SIG START
						; 10181	.IF/MODEL.B
U 2137, 0003,3200,2006,0301,0020,0003,0144	; 10182		AR_DSTP,FE_#,#/144,RETURN3	;EDIT SIG START
						; 10183	.ENDIF/MODEL.B
						; 10184	
						; 10185	=0**
U 0150, 3406,1701,2000,0000,0020,0010,0000	; 10186	TRNNS1:	AR_AR-1,J/TRNNS2		;COMPENSATE FOR IGNORING SRC
U 0154, 2120,4640,2007,0000,0020,0010,0170	; 10187		AR_SLEN+1,J/SRCMOD		;D2B HAS NO DEST LENGTH
U 3406, 1613,4001,0005,0000,0020,1032,0000	; 10188	TRNNS2:	DLEN_AR,SIGNS DISP
U 1613, 2120,3240,2007,0000,0020,0010,0170	; 10189	=1011	AR_SLEN,J/SRCMOD		;SLEN = DST LEN, DON'T CHANGE IT
U 1617, 2120,4640,2007,0000,0020,0010,0170	; 10190		AR_SLEN+1,J/SRCMOD		;SLEN REFLECTS SRC LENGTH
						; 10191						; COUNT DOWN FOR BYTE SKIPPED
U 3407, 3410,0001,0000,6100,3001,0010,0200	; 10192	TRNSS1:	P_P OR SC
U 3410, 0004,0001,4000,0000,2000,1003,0000	; 10193		SFLGS_AR,AR_ARX,RETURN4		;RETURN WITH SIG SET
						; 10194	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 15
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE

						; 10195	;SUBROUTINE TO GET BYTE FROM SOURCE STRING
						; 10196	; CALL GSRC WITH SIGNS DISP TO CHECK FOR LENGTH EXHAUSTION
						; 10197	; [TIME = 17 + 3(BP OVERFLOW)]
						; 10198	
						; 10199	=1011
U 1633, 0001,3240,2005,0000,0020,0003,0000	; 10200	GSRC:	AR_DLEN,RETURN1			;LEN RAN OUT
U 1637, 2556,3240,2201,0301,0040,0010,0044	; 10201	GETSRC:	AR_SRCP,ARX_SRCP,FE_#,#/36.
						; 10202	;[266] Remove edit 244
						; 10203	;.IF/MODEL.B
						; 10204	;	GEN FE-S,SKP SCAD0		;[244] IS S > 36 ?
						; 10205	;=0	J/GSRC1				;[244] NO, GO BELOW
						; 10206	;	DISP/RETURN,J/501		;[244] YES, TRICKY WAY TO
						; 10207	;					;[244] GET OUT
						; 10208	;;[244]	THIS IS DONE THIS WAY SO THAT WE CAN TAKE THE ERROR
						; 10209	;;	RETURN OF THE EXTEND INSTRUCTION. THE TWO PLACES THAT
						; 10210	;;	CALL GSRC ARE SET SO THAT A RETURN WITH J FIELD OF 500
						; 10211	;;	WILL GO TO HERE.
						; 10212	;1701:	RETURN5				;[244] ERROR RETURN
						; 10213	;.ENDIF/MODEL.B		;[244][266]
						; 10214	=0
						; 10215	GSRC1:	P_P-S,SC/SCAD,CALL.M,		;UPDATE POINTER
U 2556, 2144,0001,0000,5112,3021,0074,0200	; 10216			BYTE DISP,J/GSRC2	;TEST FOR WORD OVERFLOW
U 2557, 2260,0001,0000,2002,0000,7010,0000	; 10217		SC_FE+SC,SKP INTRPT,J/LDB1	;GET BYTE & RETURN TO CALLER
						;;10218	.IFNOT/XADDR
						;;10219	=110
						; 10220	.IF/XADDR
						; 10221	=100
						; 10222	.ENDIF/XADDR
						; 10223	GSRC2:	SRCP_AR,ARX_AR,FE_S,VMA_PC,	;STORE POINTER,
U 2144, 0434,2301,0401,2411,1100,1036,0000	; 10224			EA MOD DISP,J/BFETCH	; GO EVALUATE THE ADDRESS
U 2145, 2144,4003,2000,5012,3020,0610,0200	; 10225	GSRC3:	AR_AR+1,P_FE-S,SC/SCAD,J/GSRC2
						; 10226	.IF/XADDR
U 2146, 1432,3240,0204,0000,0020,5010,0000	; 10227		ARX_SRCP2,SKP PC SEC0,J/GSRC4	;GET ADDR PART OF POINTER
U 2147, 2560,3240,2404,0000,1020,5010,0000	; 10228		ARX_AR,AR_SRCP2,SKP PC SEC0
U 2560, 2562,4003,2000,0101,0020,4516,0000	; 10229	=0	FE_P,AR_AR+1-AR0,SKP AR0,J/GSRC5
U 2561, 2145,0001,4000,0000,2000,0010,0000	; 10230		AR_ARX,J/GSRC3			;OOPS, SEC 0 IS COMPATABLE
						; 10231	=0
U 2562, 1430,4001,0000,0000,3000,0022,0200	; 10232	GSRC5:	P_FE,J/GSRC6			;EFIW, INCR ALL BUT 0-5
U 2563, 1430,4003,2000,0000,0020,0011,0000	; 10233		AR_AR+1,INH CRY18		;IFIW, INCR RIGHT HALF ONLY
						; 10234	=00
						; 10235	GSRC6:	SRCP2_AR,AR_ARX,ARX_AR (AD),	;SAVE ADDR PART
U 1430, 3411,3703,4204,0000,2000,1050,0000	; 10236			CALL,J/RESETP		;GO SET P TO 36-S
						; 10237	=10
U 1432, 2254,4001,0001,2411,0100,1010,0000	; 10238	GSRC4:	SRCP_AR,FE_S,VMA_PC,J/BYTEI	;GO EVALUATE LONG POINTER
U 1433, 0434,2341,0401,2411,1000,1036,0000	; 10239		SRCP_AR,ARX_AR,FE_S,EA MOD DISP,J/BFETCH
						; 10240	
						; 10241	;SUBROUTINE TO LOAD P FROM 36-S
						; 10242	
U 3411, 0002,0001,0000,5312,3000,0103,0044	; 10243	RESETP:	P_#-S,#/36.,SC/SCAD,RETURN2	;START P BACK AT LEFT EDGE
						; 10244	.ENDIF/XADDR
						; 10245	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 16
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE

						; 10246	;SUBR TO STORE AR IN DEST STRING
						; 10247	; [TIME = 24 + 3(BP OVERFLOW)]
						; 10248	
						; 10249	=00
						;;10250	.IFNOT/MODEL.B
						;;10251	PUTDST:	MQ_AR,AR_DSTP,ARX_DSTP,
						;;10252			FE_#,#/36.,CALL,J/IDST
						; 10253	.IF/MODEL.B
U 1450, 3412,3240,2216,0000,1040,0050,0144	; 10254	PUTDST:	MQ_AR,AR_DSTP,ARX_DSTP,CALL,J/IDST
						; 10255	.ENDIF/MODEL.B
						; 10256		AR_MQ,SC_#-SC,#/36.,SKP SCAD0,
U 1451, 2266,3721,2000,5302,0020,5150,0044	; 10257			CALL,J/DPB1
U 1453, 0006,4001,0003,0000,0002,0003,0000	; 10258	=11	MEM_AR,RETURN6
						; 10259	
						; 10260	;SUBROUTINES TO UPDATE STRING POINTERS
						; 10261	
						; 10262	IDST:	P_P-S,SC/SCAD,BYTE DISP,	;TEST FOR WORD OVERFLOW
U 3412, 2154,0001,0000,5112,3021,0034,0200	; 10263			J/IDST2
						;;10264	.IFNOT/XADDR
						;;10265	  .IFNOT/MODEL.B
						;;10266	=110
						;;10267	IDST2:	DSTP_AR,ARX_AR,FE_S,		;STORE POINTER,
						;;10268			EA MOD DISP,J/BFETCH	; GO GET THE WORD ADDRESSED
						;;10269		AR_AR+1,P_FE-S,SC/SCAD,J/IDST2
						;;10270	  .IF/MODEL.B
						;;10271	=110
						;;10272	IDST2:	SEL DSTP,J/IDST2B		;PRESEL # TO FIX HARDW GLITCH
						;;10273	IDST2A:	FE_#,#/36.			;COULDN'T LOAD FE EARLIER
						;;10274		AR_AR+1,P_FE-S,SC/SCAD,J/IDST2
						;;10275	IDST2B:	DSTP_AR,ARX_AR,FE_S,VMA_PC,	;STORE POINTER,
						;;10276			EA MOD DISP,J/BFETCH	; GO GET THE WORD ADDRESSED
						;;10277	  .ENDIF/MODEL.B
						; 10278	.IF/XADDR
						; 10279	=100
U 2154, 3416,0001,0006,0000,0000,0010,0144	; 10280	IDST2:	DSTP,J/IDST2B			;PRESEL # TO FIX HARDW GLITCH
U 2155, 3413,4003,2000,0000,0020,0011,0000	; 10281		AR_AR+1,INH CRY18,J/IDST3
U 2156, 1462,3200,0206,0000,0020,5010,0145	; 10282		ARX_DSTP2,SKP PC SEC0,J/IDST4	;GET ADDR PART OF POINTER
U 2157, 2564,3240,2406,0000,1020,5010,0145	; 10283		ARX_AR,AR_DSTP2,SKP PC SEC0
U 2564, 2566,4001,2000,0101,0020,4516,0000	; 10284	=0	FE_P,AR_AR+1-AR0,SKP AR0,J/IDST5
U 2565, 3413,4011,2000,0000,0020,0011,0000	; 10285		AR_ARX+1 (AD),INH CRY18
U 3413, 2154,4001,0000,5312,3000,0110,0044	; 10286	IDST3:	P_#-S,#/36.,SC/SCAD,J/IDST2	;GO STORE SHORT POINTER AWAY
						; 10287	=0
U 2566, 1460,0001,0000,0000,3000,0110,0145	; 10288	IDST5:	P_FE.C,SEL DSTP2,J/IDST6	;PRESEL # TO FIX HARDW GLITCH
U 2567, 1460,4003,2000,0000,0020,0011,0145	; 10289		AR_AR+1,INH CRY18,SEL DSTP2
						; 10290	=00
						; 10291	IDST6:	DSTP2_AR,AR_ARX,ARX_AR (AD),	;INCR ADDR PART
U 1460, 3411,3701,4206,0000,2000,1050,0145	; 10292			CALL,J/RESETP		;GET P BACK TO 36-S
						; 10293	=10
U 1462, 3414,4001,0000,0000,0000,0010,0144	; 10294	IDST4:	SEL DSTP,J/IDST7		;PRESEL # TO PREVENT HARDW GLITCH
U 1463, 3415,0001,0000,0000,0000,0010,0144	; 10295		SEL DSTP,J/IDST8		;PRESEL # TO PREVENT HARDW GLITCH
						; 10296	
U 3414, 2254,0001,0006,2411,0000,1010,0144	; 10297	IDST7:	DSTP_AR,FE_S,J/BYTEI
						; 10298	IDST8:	DSTP_AR,ARX_AR,FE_S,VMA_PC,	;[300]
U 3415, 0434,2301,0406,2411,1100,1036,0144	; 10299			EA MOD DISP,J/BFETCH
						; 10300	
						; 10301	IDST2B:	DSTP_AR,ARX_AR,FE_S,VMA_PC,	;[300]STORE POINTER,
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 16-1
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- SRCMOD SUBROUTINE TO GET MODIFIED SOURCE BYTE

U 3416, 0434,2301,0406,2411,1100,1036,0144	; 10302			EA MOD DISP,J/BFETCH	; GO GET THE WORD ADDRESSED
						; 10303	.ENDIF/XADDR
						; 10304	.ENDIF/EXTEND
						; 10305	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 17
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- EDIT FUNCTION					

						; 10306	.TOC	"EIS -- EDIT FUNCTION"
						; 10307	.IF/EXTEND
						; 10308	;	HERE WITH E0, E1 SETUP, 0 IN AR, -1 IN ARX, AND 15 IN SC
						; 10309	
						;;10310	.IF/OWGBP
						;;10311	=0
						;;10312	EDIT:	CALL [EXT2WD]			;CHECK FOR OWGBP
						;;10313		CLR AR,ARX_1S,SC_#,#/15.	;SETUP FOR SHIFT
						;;10314		AR_SHIFT,ARX_AC0,SR_ED(PAT)	;MASK TO AR, FLAGS ETC TO ARX
						; 10315	.IFNOT/OWGBP
U 3417, 3420,3240,4200,0000,0020,1610,0000	; 10316	EDIT:	AR_SHIFT,ARX_AC0,SR_ED(PAT)	;MASK TO AR, FLAGS ETC TO ARX
						; 10317	.ENDIF/OWGBP
						;;10318	.IFNOT/MODEL.B
						;;10319	=1*0	MSK_AR,AR_ARX (AD),		;SAVE MASK, GET FLAGS IN AR
						;;10320			VMA_ARX,LOAD AR,	;GET FIRST PATTERN OPERATOR
						;;10321			CALL,J/TRNABT		;GET PBN INTO FE
						; 10322	.IF/MODEL.B
U 3420, 3421,0001,0007,0000,0000,1010,0167	; 10323		MSK_AR				;SAVE MASK FOR TRAN FUNC
U 3421, 2570,4001,4000,0000,2001,5010,0020	; 10324		AR_ARX,ARL_0.M,SKP PC SEC0	;DO WE ALLOW SECTION #?
U 2570, 3422,3711,4000,0000,2312,0010,0000	; 10325	=0	VMA_ARX,LOAD AR,AR_ARX,J/EDIT1	;YES.  PROVIDE IT
U 2571, 3422,3703,4000,0000,2312,0010,0000	; 10326		VMA_AR,LOAD AR,AR_ARX		;NO, GIVE 0
U 3422, 3423,0001,0000,7131,0000,0010,0003	; 10327	EDIT1:	FE_P AND #,#/3			;GET PBN IN FE
						; 10328	.ENDIF/MODEL.B
						; 10329	EDITLP:	SC_# AND AR0-8,#/30,		;PBN*8 IN SC
U 3423, 3424,0001,0400,7322,1000,1010,0030	; 10330			SFLGS_AR,ARX_AR		;UPDATED AC NOW IN AC AND ARX
U 3424, 3425,3240,0003,2002,0022,0010,0000	; 10331		AR_MEM,SC_FE+SC			;PATTERN IN AR, PBN*9 IN SC
U 3425, 1641,4001,4000,0302,0040,0007,0005	; 10332		AR_SHIFT,SH DISP,SC_#,#/5	;PATTERN BYTE TO AR0-8,
						; 10333	=0001					; DISP ON HIGH 3 BITS
						; 10334	EDDISP:	GEN #+AR0-8,#/-5,
U 1641, 2572,0001,0000,2320,0020,5110,0773	; 10335			SKP SCAD0,J/EDOPR	;(0XX) OPERATE GROUP
U 1643, 1530,3243,5000,0000,0000,4310,0000	; 10336		AR_AR*8,SKP ARX0,J/EDMSG	;(1XX) MESSAGE
U 1645, 2576,4001,0000,0000,0000,0010,0000	; 10337		J/EDNOP				;(2XX) UNDEFINED
U 1647, 2576,4001,0000,0000,0000,0010,0000	; 10338		J/EDNOP				;(3XX) UNDEFINED
U 1651, 2576,4001,0000,0000,0000,0010,0000	; 10339		J/EDNOP				;(4XX) UNDEFINED
						; 10340		MQ_ARX,ARX_ARX*4,
U 1653, 3430,3203,0610,4002,2000,0010,0000	; 10341			SC_FE+1,J/EDSKPT	;(5XX) SKIP IF MINUS
						; 10342		MQ_ARX,ARX_ARX*2,
U 1655, 3430,3721,0510,4002,2000,0010,0000	; 10343			SC_FE+1,J/EDSKPT	;(6XX) SKIP IF NON-ZERO
U 1657, 2577,3203,5000,4002,0000,0010,0000	; 10344		AR_AR*8,SC_FE+1,J/EDSKP		;(7XX) SKIP ALWAYS
						; 10345	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 18
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- EDIT FUNCTION					

						; 10346	;HERE TO DECODE OPERATE GROUP
						; 10347	=0
U 2572, 2576,4001,0000,0000,0000,0010,0000	; 10348	EDOPR:	J/EDNOP				;OPR .GE. 005 UNDEFINED
U 2573, 2160,0001,0000,0000,0040,0007,0000	; 10349		SH DISP,J/OPDISP		;(00X), DISP ON LOW 3 BITS
						; 10350	=000
						; 10351	OPDISP:	AR_ARX,SC_#,#/-4,		;(000) STOP
U 2160, 3426,0001,4000,0302,2200,0010,0774	; 10352			VMA_PC+1,J/EDSTOP
U 2161, 1344,4001,0000,0000,0000,1610,0101	; 10353		SR_ED(S),J/EDSEL		;(001) SELECT
U 2162, 1470,3200,2006,0000,0020,4310,0144	; 10354		AR_DSTP,SKP ARX0,J/EDSSIG	;(002) START SIGNIFICANCE
U 2163, 3434,4001,4000,0000,2000,0010,0000	; 10355		AR_ARX,J/EDFLDS			;(003) FIELD SEPARATOR
						;;10356	.IFNOT/MODEL.B
						;;10357		VMA_AC3,LOAD ARX,		;(004) EXCH MARK AND DEST
						;;10358			MQ_ARX,J/EDEXMD
						; 10359	.IF/MODEL.B
						;;10360	.IFNOT/XADDR
						;;10361		AR_DSTP,MQ_ARX,J/EDEXMD		;(004) EXMD
						; 10362	.IF/XADDR
						; 10363		AR_DSTP,ARX/AD,MQ_ARX,		;(004) EXMD
U 2164, 2610,3240,2216,0000,2020,5010,0144	; 10364			SKP PC SEC0,J/EDEX0
						; 10365	.ENDIF/XADDR
						; 10366	.ENDIF/MODEL.B
						; 10367	=
						; 10368	;HERE TO TERMINATE EDIT INSTRUCTION
						; 10369	; SC HAS -4, FE HAS CURRENT PBN, VMA HAS PC IF ABORT, PC+1 IF DONE
						; 10370	
U 3426, 2574,4001,0000,5031,0020,5110,0003	; 10371	EDSTOP:	FE_FE-#,#/3,SKP SCAD0
						; 10372	=0	AR_AR+1,INH CRY18,
U 2574, 3427,4001,2000,7100,3021,0011,0200	; 10373			P_P AND SC,J/SFET1
U 2575, 3427,0001,0000,4100,3000,0022,0200	; 10374		P_P+1
U 3427, 0074,4001,0000,0000,0017,3610,0000	; 10375	SFET1:	FETCH+1,J/STORAC
						; 10376	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 19
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- EDIT FUNCTION					

						; 10377	;HERE FOR SKPM & SKPN, WITH APPROPRIATE BIT IN ARX0
						; 10378	
U 3430, 2576,3203,5300,0000,0000,4310,0000	; 10379	EDSKPT:	AR_AR*8,SKP ARX0,ARX/MQ		;SKIP DISTANCE TO AR0-5
						; 10380	
						; 10381	;HERE AT END OF OPERATION TO UPDATE PBN
						; 10382	=0
						; 10383	EDNOP:	FE_FE-#,#/3,SKP SCAD0,		;END OF PATTERN WORD?
U 2576, 2600,4001,4000,5031,2020,5110,0003	; 10384			AR_ARX,J/EDNXT1
U 2577, 2576,0001,0000,2101,0000,0010,0000	; 10385	EDSKP:	FE_P+SC,J/EDNOP			;ADD SKIP DISTANCE
						; 10386	=0
						;;10387	.IFNOT/XADDR
						;;10388	EDNXT1:	AR_AR+1,INH CRY18,		;BUMP TO NEXT WORD
						;;10389			FE_FE-#,#/4,		;REDUCE PBN
						;;10390			SKP SCAD0,J/EDNXT1
						;;10391		SR_ED(PAT)
						;;10392		FE_FE+#,#/4			;RESTORE PBN POS, INCR IT
						;;10393		SC_P AND #,#/74,VMA_AR,LOAD AR,	;FLAGS & EDIT BIT TO SC, GET PATTERN
						;;10394			SKP INTRPT,J/EDNXT3
						; 10395	.IF/XADDR
U 2600, 2604,4001,0000,0000,0000,5010,0000	; 10396	EDNXT1:	SKP PC SEC0,J/EDNXT2
U 2601, 3431,0001,0000,0000,0000,1610,0000	; 10397		SR_ED(PAT)
U 3431, 2602,0001,0000,2031,0000,5010,0004	; 10398		FE_FE+#,#/4,SKP PC SEC0		;RESTORE PBN POS, INCR IT
						; 10399	=0	SC_P AND #,#/74,VMA_AR,LOAD AR,	;FLAGS & EDIT BIT TO SC,
U 2602, 2606,3703,0000,7132,0312,7010,0074	; 10400			SKP INTRPT,J/EDNXT3	; GET PATTERN
U 2603, 3432,0001,0000,7132,0000,0010,0074	; 10401		SC_P AND #,#/74			;IN SEC0, MUST NOT LOAD FULL SEC
U 3432, 3433,0001,0400,0000,1001,0010,0020	; 10402		ARX_AR,ARL_0.M			;CLEAR SEC #
						; 10403		VMA_AR,LOAD AR,AR_ARX,		;GET PATTERN
U 3433, 2606,3701,4000,0000,2312,7010,0000	; 10404			SKP INTRPT,J/EDNXT3
						; 10405	
						; 10406	=0
						; 10407	EDNXT2:	AR_AR+1,FE_FE-#,#/4,		;REDUCE PBN
U 2604, 2600,4001,2000,5031,0020,5110,0004	; 10408			SKP SCAD0,J/EDNXT1
						; 10409		AR_AR+1,INH CRY18,		;BUMP TO NEXT WORD
						; 10410			FE_FE-#,#/4,		;REDUCE PBN
U 2605, 2600,4003,2000,5031,0020,5111,0004	; 10411			SKP SCAD0,J/EDNXT1
						; 10412	.ENDIF/XADDR
						; 10413	=0
U 2606, 3423,4001,0000,6000,3000,0022,0200	; 10414	EDNXT3:	P_FE OR SC,J/EDITLP		;SET NEW PBN, GO DO NEXT PATTERN
U 2607, 3267,4001,0000,6000,3000,0022,0200	; 10415		P_FE OR SC,J/PGFAC0		;GO RESTORE THINGS AND TAKE
						; 10416						; THE INTERUPT
						; 10417	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 20
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- EDIT FUNCTION					

						; 10418	;HERE FOR FIELD SEPARATOR (CLEAR FLAGS IN AC 0-2)
						; 10419	
U 3434, 1473,0001,0000,7130,3000,0110,0007	; 10420	EDFLDS:	P_P AND #,#/7,J/EDSEND		;EASY ENOUGH
						; 10421	
						; 10422	;HERE FOR SIG START
						; 10423	
						; 10424	=00
						;;10425	.IFNOT/XADDR
						;;10426	EDSSIG:	VMA_AC3,STORE,CALL,J/EDFLT1	;SAVE MARK, GET FLOAT
						; 10427	.IF/XADDR
						; 10428	EDSSIG:	ARX_AR,VMA_AC3,AR/AD,ARL_0.M,
						; 10429			BYTE DISP,SCADA EN/0S,SCAD/A,
U 1470, 2224,3240,2405,0400,1341,5074,0020	; 10430			CALL,SKP PC SEC0,J/EDFLT
						; 10431	.ENDIF/XADDR
						; 10432		FE_FE-#,#/3,SKP SCAD0,		;S FLAG ALREADY SET, NOP
U 1471, 2600,4001,4000,5031,2020,5110,0003	; 10433			AR_ARX,J/EDNXT1
						; 10434	=11
U 1473, 2576,0001,0400,7131,1000,0010,0003	; 10435	EDSEND:	FE_P AND #,#/3,ARX_AR,J/EDNOP	;READY TO DO NEXT OP
						; 10436	
						; 10437	;HERE FOR MESSAGE CHAR
						; 10438	
						; 10439	=00
U 1530, 2212,4640,0007,0000,0332,0010,0176	; 10440	EDMSG:	VMA_E0+1,LOAD AR,J/EDSFIL	;NO SIG, PUT FILLER
U 1531, 1325,3401,2000,0102,0000,0050,0000	; 10441		SC_P,AR_0S,CALL,J/GETSC		;GET MESSAGE SELECT IN AR
U 1533, 2217,4600,0007,4000,0332,0010,0176	; 10442	=11	VMA_AR+E0+1,LOAD AR,J/EDMPUT	;STORE MESSAGE
						; 10443	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 21
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- EDIT FUNCTION					

						; 10444	;HERE TO EXCHANGE MARK AND DESTINATION POINTERS
						; 10445	
						;;10446	.IFNOT/MODEL.B				;EASY CASE
						;;10447	EDEXMD:	AR_DSTP				;READY TO STORE DEST PTR
						;;10448		FIN XFER,STORE			;WAIT FOR MARK, STORE DSTP
						;;10449		MEM_AR,AR_ARX			;READY TO UPDATE DSTP
						;;10450		DSTP_AR,ARX/MQ,J/EDNOP		;DONE, GET NEXT OPR
						; 10451	.IF/MODEL.B
						; 10452	.IF/XADDR
						; 10453	=0
						; 10454	EDEX0:	VMA_AC3,LOAD AR (WR TST),	;GET MARK POINTER
U 2610, 3437,3200,0065,0000,0331,0010,0440	; 10455			BR/AR,BRX/ARX,J/EDEX2	;DSTP IN BR & BRX,
						; 10456	.ENDIF/XADDR
U 2611, 3435,3240,2045,0000,0021,0010,0020	; 10457	EDEXMD:	BR/AR,AR_AC3,ARL_0.M
U 3435, 3436,3703,0000,0000,0311,0010,0440	; 10458		VMA_AR,LOAD AR (WR TST)		;GET MARK FROM SECT 0
U 3436, 2035,3200,0003,0000,0022,0010,0000	; 10459		AR_MEM
						;;10460	.IFNOT/XADDR
						;;10461		BR/AR,AR_BR,STORE		;STORE DEST POINTER
						;;10462		MEM_AR,AR_BR,SEL DSTP		;DONE.  GET MARK AGAIN
						;;10463						;PRESELECT # TO FIX HARDWARE GLITCH
						;;10464		DSTP_AR,ARX/MQ,J/EDNOP		;MARK BECOMES DEST. GET NEXT PAT
						; 10465	.IF/XADDR
						; 10466	=101
U 2035, 3442,3202,2040,0000,0016,0010,0000	; 10467	EDDSNG:	BR/AR,AR_BR,STORE,J/EDEXX	;NEITHER POINTER IS DOUBLE
U 2037, 1002,4001,0000,0000,0000,0010,0000	; 10468		J/UUO				;SHORT DSTP, LONG MARK ILLEGAL
						; 10469	;;;FLUSH WHEN SURE THIS IS RIGHT
						; 10470	;	BR/AR,AR_BR,			;DSTP TO AR, MARK TO BR
						; 10471	;		VMA_VMA+1,LOAD ARX	;GET MARK2
						; 10472	;	FIN XFER,VMA_VMA-1,STORE,J/EDEXX;NOW STORE DSTP AS NEW MARK
						; 10473	
U 3437, 2165,3240,0003,0000,0042,0034,0000	; 10474	EDEX2:	AR_MEM,BYTE DISP		;WAIT FOR MARK, TEST DESTP
U 2165, 2035,4001,0000,0000,0020,0034,0000	; 10475	=101	BYTE DISP,J/EDDSNG		;NO, CHECK MARK
U 2167, 2175,3200,0206,0000,0040,0034,0145	; 10476		ARX_DSTP2,BYTE DISP		;YES, CHECK MARK
U 2175, 1002,4001,0000,0000,0000,0010,0000	; 10477	=101	J/UUO				;LONG DSTP SHORT MARK ABORT
						; 10478	;;;FLUSH WHEN SURE THE UUO IS RIGHT
						; 10479	;	BR/AR,AR_ARX,			;MARK TO BR, DSTP2 TO AR
						; 10480	;		VMA_VMA+1,STORE,J/EDEXM4 ; STORE DSTP2
						; 10481		BR/AR,AR_ARX,
U 2177, 3440,0001,4040,0000,2011,3610,0240	; 10482			VMA_VMA+1,LOAD ARX (WR TST)	;GET MARK2
U 3440, 3441,3200,0003,0000,0036,0010,0000	; 10483		FIN XFER,STORE			;PUT BACK DSTP2
						; 10484	;EDEXM4:
						; 10485		FIN STORE,AR_BRX,		;GET DSTP FROM BRX
U 3441, 3442,3202,6003,0000,0016,3510,0000	; 10486			VMA_VMA-1,STORE		;PUT THAT DOWN
						; 10487	EDEXX:	MEM_AR,AR_BR,SEL DSTP,		;PRESELECT # TO FIX HARDWARE GLITCH
U 3442, 2612,3202,2003,0000,0002,5010,0144	; 10488			SKP PC SEC0		;GET MARK FOR NEW DSTP
U 2612, 2205,0001,4006,0000,2020,1034,0144	; 10489	=0	DSTP_AR,AR_ARX,BYTE DISP,J/EDEX1
U 2613, 2205,4001,0006,0000,0000,1010,0144	; 10490		DSTP_AR
						; 10491	=101
						; 10492	EDEX1:	FE_FE-#,#/3,SKP SCAD0,
U 2205, 2600,3721,2000,5031,0020,5110,0003	; 10493			AR_MQ,J/EDNXT1
U 2207, 3443,4001,0000,0000,0000,0010,0145	; 10494		SEL DSTP2			;PRESELECT # TO FIX HARDWARE GLITCH
U 3443, 2205,0001,0006,0000,0000,1010,0145	; 10495		DSTP2_AR,J/EDEX1		;PUT OLD MARK2 AS DSTP2
						; 10496	.ENDIF/XADDR
						; 10497	.ENDIF/MODEL.B
						; 10498	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 22
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- EDIT FUNCTION					

						; 10499	;HERE FOR SELECT
						; 10500	
						; 10501	=0*
						; 10502	EDSEL:	AR_SRCP,ARX_SRCP,FE_#,#/36.,
U 1344, 2556,3200,2201,0301,0040,0050,0044	; 10503			CALL,J/GSRC1		;GO GET SRC BYTE
U 1346, 2210,0301,7707,0000,0020,0027,0165	; 10504		AR_AR*.5 LONG,E1		;GOT IT, DIVIDE BY 2
U 2210, 3405,0600,0007,4000,0332,0050,0165	; 10505	=000	VMA_AR+E1,LOAD AR,CALL,J/TRNAR	;GO TRANSLATE BY HALFWORDS
						; 10506	=010
U 2212, 3444,3200,0003,0000,0022,0010,0000	; 10507	EDSFIL:	AR_MEM,J/EDSF1			;(2) NO SIGNIFICANCE, STORE FILL
U 2213, 1560,4001,0020,5110,0020,5110,0000	; 10508		GEN P-S,SKP SCAD0,BRX/ARX,J/EDSFLT ;(3) SIG START, DO FLOAT CHAR
U 2214, 1450,0001,0000,0000,0000,1650,0224	; 10509	EDSPUT:	SR_ED(+D),CALL,J/PUTDST		;(4) NORMAL, STORE AT DST
U 2215, 3426,0001,0000,0302,0100,0010,0774	; 10510		VMA/PC,SC_#,#/-4,J/EDSTOP	;(5) ABORT
U 2216, 1473,3200,2000,0000,0020,0010,0000	; 10511	EDFPUT:	AR_SFLGS,J/EDSEND		;(6) BUMP PBN AND GO TO NEXT
U 2217, 2214,3240,0003,0000,0022,0010,0000	; 10512	EDMPUT:	AR_MEM,J/EDSPUT			;FILL OR MSG IN AR, STORE IT
						; 10513	
						; 10514	
						; 10515	;HERE WHEN TIME TO STORE FILL CHAR
						; 10516	
U 3444, 2216,3703,0000,0000,0040,5410,0000	; 10517	EDSF1:	SKP AR NE,J/EDFPUT		;IS THERE ONE?
						; 10518	
						; 10519	;HERE WHEN SELECT STARTS SIGNIFICANCE
						; 10520	
						; 10521	=00
						;;10522	.IFNOT/MODEL.B
						;;10523	EDSFLT:	VMA_AC3,STORE,CALL,J/EDFLT	;STORE DEST AT MARK ADDR
						; 10524	.IF/MODEL.B
						;;10525	.IFNOT/XADDR
						;;10526	EDSFLT:	ARX_AR,AR_AC3,ARL_0.M,CALL,J/EDFLT
						; 10527	.IF/XADDR
						; 10528	EDSFLT:	ARX_AR,VMA_AC3,AR/AD,ARL_0.M,
						; 10529			BYTE DISP,SCADA EN/0S,SCAD/A,
U 1560, 2224,3240,2405,0400,1341,5074,0020	; 10530			CALL,SKP PC SEC0,J/EDFLT
						; 10531	.ENDIF/XADDR
						; 10532	.ENDIF/MODEL.B
U 1561, 1560,4003,2000,0000,3020,0022,0200	; 10533		P_FE,AR_AR+1,J/EDSFLT		;FORCE STANDARD POINTER FORM
U 1563, 2214,3242,6000,0000,0000,1010,0000	; 10534	=11	SFLGS_AR,AR_BRX,J/EDSPUT	;SET S FLAG, GET BYTE, STORE IT
						; 10535	
						; 10536	;HERE IS SUBROUTINE TO STORE FLOAT CHAR
						; 10537	
						; 10538	.IF/MODEL.B
						;;10539	.IFNOT/XADDR
						;;10540	EDFLT:	VMA_AR,AR_ARX,STORE,J/EDFLT1
						; 10541	.IF/XADDR
						; 10542	=100
U 2224, 3447,4001,4000,0000,2016,0010,0000	; 10543	EDFLT:	AR_ARX,STORE,J/EDFLT1		;SHORT POINTER.  STORE IT
U 2225, 3447,3701,4000,0000,2316,0010,0000	; 10544		VMA_AR,AR_ARX,STORE,J/EDFLT1	; LIKEWISE.  FORCE SECTION 0
U 2226, 3445,0001,4000,0000,2016,0010,0000	; 10545		AR_ARX,STORE,J/EDFLTX		;LONG POINTER, DO MORE
U 2227, 3447,3701,4000,0000,2316,0010,0000	; 10546		VMA_AR,AR_ARX,STORE,J/EDFLT1	; IN SECTION 0, KEEP THERE
						; 10547	
U 3445, 3446,0001,0003,0000,0002,0010,0000	; 10548	EDFLTX:	MEM_AR				;FINISH STORE OF 1ST PART
U 3446, 3447,3240,2006,0000,0036,3610,0145	; 10549		AR_DSTP2,VMA_VMA+1,STORE	;NOW DO SECOND PART
						; 10550	.ENDIF/XADDR
						;;10551	.IFNOT/MODEL.B
						;;10552	
						;;10553	EDFLT:
						; 10554	.ENDIF/MODEL.B
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 22-1
; EIS.MIC[10,5351]	18:59 19-May-83			EIS -- EDIT FUNCTION					

						; 10555	
U 3447, 1434,4041,5003,0000,0022,0010,0000	; 10556	EDFLT1:	MEM_AR,AR_2			;MARK STORED, READY FOR FLOAT
U 1434, 0736,0600,0007,0000,0332,0050,0176	; 10557	=0*	VMA_AR+E0,LOAD AR,CALL,J/XFERW
U 1436, 2234,3703,0000,0000,0040,5410,0000	; 10558		SKP AR NE
U 2234, 3450,3200,2000,0302,0020,0010,0040	; 10559	=100	AR_SFLGS,SC_#,#/40,J/SETFLG	;NO FLOAT CHR, SET S FLAG
U 2235, 1450,0001,0000,0000,0000,1650,0224	; 10560		SR_ED(+D),CALL,J/PUTDST		;STORE FLOAT CHR IN DST
U 2237, 3450,3200,2000,0302,0020,0010,0040	; 10561	=111	AR_SFLGS,SC_#,#/40		;SET S FLAG AND RETURN
U 3450, 0003,4001,0000,6100,3001,0003,0200	; 10562	SETFLG:	P_P OR SC,RETURN3		;NO FLOAT CHR, SET S FLAG
						; 10563	
						; 10564	.ENDIF/EXTEND
						; 10565	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 1
; BLT.MIC[10,5351]	17:35 6-Jul-83			XBLT							

						; 10566	.TOC	"XBLT"
						; 10567	
						; 10568	;HERE FROM EXTEND, ARX CONTAINS AC2
						; 10569	.IF/XADDR
						; 10570	
U 3451, 3452,3240,2001,0000,0020,1610,0216	; 10571	XBLT:	AR_AC1,SR_XBLT(SRC)		;[262] IN CASE OF INTERRUPT
						; 10572		BR/AR,BRX/ARX,MQ_AR,		;SRC ADDR TO BR, DST TO BRX
U 3452, 2614,3200,2070,0000,1020,5510,0000	; 10573			AR_AC0,SKP AD0,J/XBLT3	;GET LENGTH, TEST DIRECTION
						; 10574	=0
U 2614, 2622,3703,0010,0000,1040,5410,0000	; 10575	XBLT3:	SKP AR NE,MQ_AR,J/XBLT4
						; 10576		AR_MQ-1,ARX_ARX-1,		;DECR SRC & DST ADDR'S FOR DOWN
U 2615, 3453,1723,2600,0000,0352,0010,0000	; 10577			VMA/AD,LOAD AR		;GET FIRST WORD
						; 10578	
						; 10579	;HERE IS MAIN LOOP FOR XBLT, DOWNWARDS
						; 10580	
U 3453, 3454,3240,0013,0000,1022,1610,0316	; 10581	XBLTDN:	MQ_AR,AR_MEM,SR_XBLT(DST)	;WAIT FOR SOURCE WORD
U 3454, 3455,3711,0000,0000,0316,1610,0216	; 10582		VMA_ARX,STORE,SR_XBLT(SRC)	;STORE IT IN DESTINATION
U 3455, 2616,3721,2003,0000,0002,7010,0000	; 10583		MEM_AR,AR_MQ,SKP INTRPT		;WAIT, CHECK FOR INTRPT
						; 10584	=0	BR/AR,BRX/ARX,			;PUT DECREMENTED ADDR'S IN BR,X
U 2616, 2620,4660,2060,0000,0040,5410,0000	; 10585			AR_AC0+1,SKP CRY0,J/XBLTD1	;COUNT OFF LENGTH
U 2617, 3267,4640,2060,0000,0020,0010,0000	; 10586		BR/AR,BRX/ARX,AR_AC0+1,J/PGFAC0	;CLEANUP AND TAKE INTERRUPT
						; 10587	=0
						; 10588	XBLTD1:	AC0_AR,AR_MQ-1,ARX_ARX-1,	;STORE NEW LENGTH, GET NEXT ADDR
U 2620, 3453,1721,2600,0000,0352,1010,0000	; 10589			VMA/AD,LOAD AR,J/XBLTDN	; AND READ SRC WORD
						; 10590		AC0_AR,AR_ARX,ARX/MQ,		;DONE!  PUT ALL AWAY
U 2621, 3456,0001,4300,0000,2217,1010,0000	; 10591			I FETCH
U 3456, 1656,0001,4004,0000,2000,1010,0000	; 10592	XBLTX:	AC2_AR,AR_ARX,J/STRAC1
						; 10593	
						; 10594	;HERE FOR UPWARD BLT, TESTING FOR NON-ZERO LENGTH
						; 10595	
						; 10596	=0
U 2622, 0075,0001,0000,0000,0217,1610,0000	; 10597	XBLT4:	I FETCH,SR_0,J/NOP		;DO NOTHING IF AC =0
						; 10598		VMA_BR,LOAD AR,			;ELSE START RIGHT IN
U 2623, 3461,3202,0000,0000,0312,1610,0316	; 10599			SR_XBLT(DST),J/XBLTU1
						; 10600	
						; 10601	;HERE IS MAIN LOOP FOR XBLT, UPWARDS
						; 10602	
U 3457, 2624,1721,2003,0000,0042,5610,0000	; 10603	XBLTUP:	MEM_AR,AR_MQ-1,SKP AD NE	;COUNT EXHAUSTED?
						; 10604	=0	AC0_AR,ARX_BR+1,AR_BRX+1,	;YES.  GET FINAL ADDRESSES
U 2624, 3456,4642,6200,0000,0257,1010,0000	; 10605			I FETCH,J/XBLTX		; READY TO STORE
						; 10606		AC0_AR,MQ_AR,AR_BR+1,ARX_BRX+1,
U 2625, 3460,4662,2610,0000,1352,1010,0000	; 10607			VMA/AD,LOAD AR		;GET SOURCE WORD
U 3460, 3461,4001,0060,0000,0000,1610,0316	; 10608		BR/AR,BRX/ARX,SR_XBLT(DST)	;MUST BE SAVED PRIOR TO MBWAIT
U 3461, 2626,3200,0003,0000,0022,7010,0000	; 10609	XBLTU1:	AR_MEM,SKP INTRPT		;WAIT FOR SRC, TEST INTRPT
						; 10610	=0	VMA_ARX,STORE,			;COPY TO DST
U 2626, 3457,3713,0000,0000,0316,1610,0216	; 10611			SR_XBLT(SRC),J/XBLTUP	;LOOP
U 2627, 3270,3202,2600,0000,0000,1610,0000	; 10612		AR_BR LONG,SR_0,J/XBLTPF	;TAKE INTERRUPT
						; 10613	
						; 10614	.ENDIF/XADDR
						; 10615	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 2
; BLT.MIC[10,5351]	17:35 6-Jul-83			BLT							

						; 10616	.TOC	"BLT"
						; 10617	; ENTER WITH 0,E IN AR
						; 10618	
						; 10619	;IN THE LOOP, ARX CONTAINS THE CURRENT DESTINATION ADDRESS,
						; 10620	; BRX CONTAINS THE TERMINAL ADDRESS, AND BR CONTAINS THE DIFFERENCE
						; 10621	; BETWEEN THE SOURCE AND DESTINATION ADDRESSES.
						; 10622	
						; 10623	;UNLIKE EARLIER -10 PROCESSORS, THIS CODE CHECKS FOR THE CASE IN WHICH
						; 10624	; THE DESTINATION ADDRESS IN RH(AC) IS GREATER THAN E, AND RATHER THAN
						; 10625	; STOPPING AFTER ONE WORD, COPIES DOWNWARD (EFFECTIVELY DECREMENTING
						; 10626	; AC BY 1,,1 ON EACH STEP, RATHER THAN INCREMENTING).
						; 10627	
						; 10628	;THIS CODE ALSO PROVIDES A GUARANTEED RESULT IN AC ON COMPLETION OF
						; 10629	; THE TRANSFER (EXCEPT IN THE CASE AC IS PART OF BUT NOT THE LAST WORD
						; 10630	; OF THE DESTINATION BLOCK).  WHEN AC IS NOT PART OF THE DESTINATION
						; 10631	; BLOCK, IT IS LEFT CONTAINING THE ADDRESSES OF THE FIRST WORD FOLLOWING
						; 10632	; THE SOURCE BLOCK (IN THE LH), AND THE FIRST WORD FOLLOWING THE DEST-
						; 10633	; INATION BLOCK (IN THE RH).  IF AC IS THE LAST WORD OF THE DESTINATION
						; 10634	; BLOCK, IT WILL BE A COPY OF THE LAST WORD OF THE SOURCE BLOCK.
						; 10635	
						; 10636	;IN ADDITION, A SPECIAL-CASE CHECK IS MADE FOR THE CASE IN WHICH EACH
						; 10637	; WORD STORED IS USED AS THE SOURCE OF THE NEXT TRANSFER.  IN THIS CASE,
						; 10638	; ONLY ONE READ NEED BE PERFORMED, AND THAT DATA MAY BE STORED FOR EACH
						; 10639	; TRANSFER.  THUS THE COMMON USE OF BLT TO CLEAR CORE IS SPEEDED UP.
						; 10640	
						; 10641	;BLT:	ARX_AR,MQ_AR,ARR_AC0,ARL_ARL	;END TO ARX & MQ, DEST TO AR
						; 10642	BLT1:	BR/AR,ARX_AR,BRX/ARX,		;DST TO BR & ARX, END TO BRX
U 3462, 3463,3200,2460,0000,1020,0010,0000	; 10643			AR_AC0			;SRC TO ARL
						;;10644	.IFNOT/BLT.PXCT
						;;10645		ARR_ARL,ARL_BRL			;SRC TO ARR (SAME SECTION AS E)
						;;10646		AR_AR-BR			;SRC-DST TO ARR
						; 10647	.IF/BLT.PXCT
U 3463, 2630,3202,4000,0000,3001,7410,0002	; 10648		ARR_ARL,ARL_BRL.M,SKP P!S XCT	;SRC TO ARR (SAME SECTION AS E)
U 2630, 1474,5102,2000,0000,0020,0010,0000	; 10649	=0	AR_AR-BR,J/BLT2			;SRC-DST TO ARR
U 2631, 1534,5102,2000,0000,0020,0010,0000	; 10650		AR_AR-BR,J/BLTPXCT		;TREAT PXCT OF BLT SPECIAL
						; 10651	.ENDIF/BLT.PXCT
						;;10652	.IF/BACK.BLT
						;;10653		BR/AR,SKP ARX LE BRX		;SRC-DST TO BR. UP OR DOWN?
						;;10654	=00	AR_MQ-1,CALL,J/BLTAC		;DOWN, READY WITH E-1
						;;10655		AR_MQ+1,CALL,J/BLTAC		;UP, PUT E+1 IN AR FOR AC
						;;10656	DOWN:	LOAD VMA(EA)_ARX+BR,J/DN1	;DOWN, START THE LOOP
						; 10657	.IFNOT/BACK.BLT
						; 10658	=0*
U 1474, 3464,4023,2040,0000,0020,0050,0000	; 10659	BLT2:	BR/AR,AR_MQ+1,CALL,J/BLTAC	;SRC-DST TO BR, E+1 IN AR
						; 10660	.ENDIF/BACK.BLT
U 1476, 2632,4662,0000,0000,0040,5410,0000	; 10661		SKP BR EQ -1,J/UP		;IS THIS CORE CLEARING CASE?
						; 10662	
						; 10663	
						; 10664	;HERE TO SETUP FINAL AC
						; 10665	
U 3464, 3465,0602,2004,0000,3020,0610,0004	; 10666	BLTAC:	ARL_ARR,AR_AR+BR		;FINAL DEST TO LH, SRC TO RH
U 3465, 3466,0001,4000,0000,3000,1610,0707	; 10667		AR_AR SWAP,SR_BLT(SRC)
U 3466, 0002,0001,0000,0000,0000,1003,0000	; 10668	ACSETU:	AC0_AR,RETURN2			;[334] Used below as well
						; 10669	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 3
; BLT.MIC[10,5351]	17:35 6-Jul-83			BLT							

						; 10670	;HERE FOR UPWARD BLT (AC RH .LE. E)
						; 10671	=0
U 2632, 1731,0612,0004,0000,0131,0010,0402	; 10672	UP:	LOAD VMA(EA)_ARX+BR,J/UP1	;NOT CLEAR CORE
U 2633, 1730,0612,0000,0000,0131,7410,0402	; 10673		SKP P!S XCT,LOAD VMA(EA)_ARX+BR	;DO NOT OPTIMIZE UNDER EXT ADDR
						; 10674	
						; 10675	;USE EVEN LOC'NS OF THIS BLOCK OF 4 IN SPECIAL "CLEAR CORE" CASE
						; 10676	
U 1730, 3467,3200,0003,0000,0022,1650,0507	; 10677	=00	AR_MEM,CALL,SR_BLT(DST),J/UP2	;GET THE WORD TO STORE IN ALL
U 1731, 3467,3200,0003,0000,0022,1650,0507	; 10678	UP1:	AR_MEM,CALL,SR_BLT(DST),J/UP2	;GET SOURCE WORD
U 1732, 3467,0001,0000,0000,0000,1650,0507	; 10679		CALL,SR_BLT(DST),J/UP2		;HERE TO STORE SAME SRC AGAIN
U 1733, 1731,0612,0004,0000,0131,0010,0402	; 10680		LOAD VMA(EA)_ARX+BR,J/UP1	;HERE TO GET NEXT SRC
						; 10681	
U 3467, 2634,3713,0000,0000,0111,7010,0042	; 10682	UP2:	STORE VMA(EA)_ARX,SKP INTRPT	;OK, GET DST ADDRESS
						; 10683	=0
U 2634, 2636,5102,0000,0000,0040,5310,0000	; 10684	UP3:	SKP ARX LT BRX,J/UP4		;CHECK FOR LAST TRANSFER
U 2635, 3265,4001,0003,0000,0002,0010,0000	; 10685		MEM_AR,J/BLTPF			;FINISH THIS, GO SERVE INTRPT
						; 10686	=0
U 2636, 0075,4001,0003,0000,0217,0010,0000	; 10687	UP4:	FIN STORE,I FETCH,J/NOP		;THAT'S ALL, FOLKS
						; 10688		MEM_AR,ARX_ARX+1,		;STORE DST,
U 2637, 0002,4021,0603,0000,0022,1603,0707	; 10689			SR_BLT(SRC),RETURN2	; CONTINUE
						; 10690	
						; 10691	;BLT CONTINUED - HERE FOR DOWNWARD BLT (AC RH .GT. E)
						;;10692	.IF/BACK.BLT
						;;10693	
						;;10694	DN1:	AR_MEM,SR_BLT(DST)		;WAIT FOR SOURCE DATA
						;;10695		VMA_ARX,STORE,SKP INTRPT	;OK, START DST REF
						;;10696	=0	SKP ARX LE BRX,J/DN3		;CHECK FOR END CONDITION
						;;10697		MEM_AR,J/BLTPF			;FINISH STORE, TAKE INTRPT
						;;10698	=0
						;;10699	DN3:	MEM_AR,ARX_ARX-1,		;NOT END, LOOP
						;;10700			SR_BLT(SRC),J/DOWN
						;;10701		FIN STORE,I FETCH,J/NOP		;END
						; 10702	.ENDIF/BACK.BLT
						; 10703	
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page 4
; BLT.MIC[10,5351]	17:35 6-Jul-83			EXTENDED ADDRESSING CODE FOR PXCT OF BLT		

						; 10704	.TOC "EXTENDED ADDRESSING CODE FOR PXCT OF BLT"
						; 10705	
						; 10706	;THIS MUST BE SEPERATE CODE TO MAKE PXCT WORK NOTE THAT PXCT ONLY CAN
						; 10707	;BE USED IN SECTION 0 AND IN FACT WILL EVENTUALLY BE REMOVED FROM THERE
						; 10708	;HOPEFULLY THIS CODE CAN GO AWAY THE SPEC IS THAT PXCT OF BLT IS NOT DEFINED
						; 10709	;AND WILL NOT BE USED ON EXTENDED ADDRESSING MACHINES.
						; 10710	
						; 10711	.IF/BLT.PXCT
						; 10712	=0*
U 1534, 3470,4023,2040,0000,0020,0050,0000	; 10713	BLTPXCT:BR/AR,AR_MQ+1,CALL,J/BLTPX1	;SRC-DST TO BR, E+1 IN AR
U 1536, 1771,0612,0004,0000,0332,0010,0000	; 10714	UPPX:	VMA_ARX+BR,LOAD AR,J/UP1PX	;NOT CLEAR CORE
						; 10715						;CORE CLEARING NOT LEGAL
						; 10716	
						; 10717	
						; 10718	;HERE TO SETUP FINAL AC
						; 10719	
U 3470, 3471,0602,2004,0000,3020,0610,0004	; 10720	BLTPX1:	ARL_ARR,AR_AR+BR		;FINAL DEST TO LH, SRC TO RH
						; 10721		AR_AR SWAP,SR_BLT(PXCT SRC),
U 3471, 3466,4001,4000,0000,3000,1610,0307	; 10722			J/ACSETU		;[334] Use common return above
						; 10723	
						; 10724	;USE EVEN LOC'NS OF THIS BLOCK OF 4 IN SPECIAL "CLEAR CORE" CASE
						; 10725	
						; 10726	=00
						; 10727	=01
U 1771, 3472,3200,0003,0000,0022,1650,0107	; 10728	UP1PX:	AR_MEM,CALL,SR_BLT(PXCT DST),J/UP2PX	;GET SOURCE WORD
U 1772, 3472,0001,0000,0000,0000,1650,0107	; 10729		CALL,SR_BLT(PXCT DST),J/UP2PX	;HERE TO STORE SAME SRC AGAIN
U 1773, 1771,0612,0004,0000,0332,0010,0000	; 10730		VMA_ARX+BR,LOAD AR,J/UP1PX	;HERE TO GET NEXT SRC
						; 10731	
U 3472, 2640,3713,0000,0000,0316,7010,0000	; 10732	UP2PX:	VMA_ARX,STORE,SKP INTRPT	;OK, GET DST ADDRESS
						; 10733	=0
U 2640, 2642,5102,0000,0000,0040,5310,0000	; 10734	UP3PX:	SKP ARX LT BRX,J/UP4PX		;CHECK FOR LAST TRANSFER
U 2641, 3265,4001,0003,0000,0002,0010,0000	; 10735		MEM_AR,J/BLTPF			;FINISH THIS, GO SERVE INTRPT
						; 10736	=0
U 2642, 0075,4001,0003,0000,0217,0010,0000	; 10737	UP4PX:	FIN STORE,I FETCH,J/NOP		;THAT'S ALL, FOLKS
						; 10738		MEM_AR,ARX_ARX+1,		;STORE DST,
U 2643, 0002,4001,0603,0000,0022,1603,0307	; 10739			SR_BLT(PXCT SRC),RETURN2	; CONTINUE
						; 10740	.ENDIF/BLT.PXCT
						; 10741	


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

	END
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-1
; 							Cross Reference Listing					

(D) A				2155 #
	ADDR			2159 #	4021	4037	4252	4619	4817	4819	4915	4916	4973	4974	4975
				4976	4978	4979	4980	4981	4983	4984	4985	4986	4988	4989	4990
				4991	4997	4998	4999	5000	5001	5002	5003	5004	5005	5006	5018
				5019	5020	5021	5022	5023	5027	5028	5029	5030	5031	5032	5033
				5034	5035	5036	5037	5038	5039	5040	5041	5042	5043	5044	5045
				5046	5047	5048	5049	5050	5051	5052	5053	5054	5055	5056	5057
				5058	5062	5063	5209	5322	5859	5860
	IMMED			2156 #	3965	4222	4223	4317	4318	4368	4369	4380	4381	4382	4383
				4384	4385	4396	4397	4398	4399	4400	4401	4402	4403	4414	4415
				4416	4417	4418	4419	4420	4421	4432	4433	4434	4435	4436	4437
				4438	4439	4488	4489	4490	4491	4492	4493	4494	4495	4563	4564
				4565	4566	4567	4568	4569	4570	4578	4579	4580	4581	4582	4583
				4584	4585	4593	4594	4595	4596	4597	4598	4599	4600	4608	4609
				4620	4789	4820	4917	4918	5210	5315	5316	5317	5318	5319	5320
				5321	5480	5512	5585	5590	5869	5879	5942	5971	6128	7920	7922
				7923	7924	7925	7933	7934	7935	7936	7942	7944	7945	7946	7947
				7951	7952	7953	7954	7955	7956	7957	7958	7968	7969	7970	7971
				7977	7978	7979	7980	7981	7982	7990	7992	7993	8001	8003	8004
	IMMED-PF		2157 #	3961	3970	3975	3980	4045	4050	4055	4060	4065	4070	4075
				4082	4087	4092	4097	4102	4107	4112	4117	4220	4221	4231	4241
				4260	4270	4276	4286	4296	4306	4315	4316	4327	4337	4347	4357
				4366	4367	4378	4379	4387	4388	5455	5467
	RD-P-WR			2165 #	3967	3972	3977	3982	4020	4041	4042	4046	4047	4052	4057
				4062	4067	4072	4077	4083	4084	4088	4089	4094	4099	4104	4109
				4114	4119	4232	4233	4242	4243	4256	4257	4261	4262	4277	4278
				4287	4288	4297	4298	4307	4308	4328	4329	4338	4339	4348	4349
				4358	4359	4531	4532	4533	4534	4535	4536	4537	4538	4546	4547
				4548	4549	4550	4551	4552	4553	5456	5457	5468	5469
	RD-WR			2164 #	5481	5482	5513	5514	5586	5587	5591	5592	5865	5866	5870
				5871	5875	5876	5880	5881	5938	5939	5943	5944	5967	5968	5972
				5973	6593	6595	7940	7986	7988	7997	7999
	READ			2162 #	4182	4183	4389	4390	4391	4392	4393	4394	4405	4406	4407
				4408	4409	4410	4411	4412	4423	4424	4425	4426	4427	4428	4429
				4430	4441	4442	4443	4444	4445	4446	4447	4448	4497	4498	4499
				4500	4501	4502	4503	4504	4515	4516	4517	4518	4519	4520	4521
				4522	4788	4818	5479	5511	5584	5589	5738	5739	5740	5741	5863
				5864	5868	5873	5874	5878	5936	5937	5941	5965	5966	5970	6129
				6162	6163	6165	6166	6373	6374	6375	6376	6594	6596	7219	7220
				7221	7222	7921	7931	7932	7943	7966	7967	7989	8000
	READ-PF			2163 #	3960	3969	3974	3979	4035	4044	4049	4054	4059	4064	4069
				4074	4081	4086	4091	4096	4101	4106	4111	4116	4230	4240	4250
				4259	4269	4275	4285	4295	4305	4326	4336	4346	4356	5454	5466
	WR-TST			2161 #	3971	3976	3981	4051	4056	4061	4066	4071	4076	4093	4098
				4103	4108	4113	4118	4201	4202	4271	4272	7918	7919	7929	7930
				7941	7964	7965	7975	7976	7987	7991	7998	8002
(U) AC#				1893 #	3719	3770	4679	4694	4841	4932	4937	5089	5170	5175	5179
				5183	5802	5818	5820	5840	6958	6981	6982	6986	6988	6990	7017
				7021	7043	7053	7061	7228	7233	7235	7241	7244	7248	7253	7257
				7261	7262	7263	7268	7269	7270	7272	7273	7299	7301	7303	7304
				7313	7315	7316	7319	7336	7343	7344	7353	7377	7390	7391	7407
				7411	7450	7451	7453	7457	7459	7484	7523	7530	7660	7661	7667
				7668	7711	7712	7724	7725	7726	7773	7780	7858	7860	7871	7873
				7892	7895	7901	8700	8702	8736	8760	8782	8797	8827	8904	8905
				8934	8943	8944	8945	8950	8953	8969	9001	9011	9018	9026	9040
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-2
; 							Cross Reference Listing					

				9046	9051	9054	9055	9056	9071	9081	9082	9093	9108	9119	9125
				9134	9149	9159	9171	9176	9180	9184	9198	9204	9212	9216	9218
				9228	9235	9283	9310	9335	9366	9398	9399	9400	9429	9431	9435
				9438	9440	9442	9444	9449	9451	9460	9510	9552	9555	9557	9560
				9695	9696	9702	9706	9712	9714	9723	9728	9746	9770	9789	9842
				9851	9870	9870	9889	9890	9903	9906	9911	9917	9938	9940	9993
				9995	10004	10005	10014	10019	10020	10031	10032	10066	10068	10082	10083
				10132	10135	10136	10137	10138	10146	10171	10173	10178	10182	10187	10189
				10190	10254	10254	10280	10282	10283	10288	10289	10291	10294	10295	10297
				10298	10301	10323	10354	10363	10440	10442	10476	10487	10489	10490	10494
				10495	10504	10505	10549	10557
(U) AC-OP			1903 #
	AC+#			1904 #	9429	9431	9435	9440	9442	9706	9870	9870	9890	9938	9940
				10182	10254	10254	10280	10282	10283	10288	10289	10291	10294	10295	10297
				10298	10301	10354	10363	10476	10487	10489	10490	10494	10495	10549
	OR			1906 #
	#			1905 #
(U) ACB				1889 #
	MICROB			1891 #	3719	3770	4679	4694	4841	4932	4937	5089	5170	5175	5179
				5183	5802	5818	5820	5840	6958	6981	6982	6986	6988	6990	7017
				7021	7043	7053	7061	7228	7233	7235	7241	7244	7248	7253	7257
				7261	7262	7263	7268	7269	7270	7272	7273	7299	7301	7303	7304
				7313	7315	7316	7319	7336	7343	7344	7353	7377	7390	7391	7407
				7411	7450	7451	7453	7457	7459	7484	7523	7530	7660	7661	7667
				7668	7711	7712	7724	7725	7726	7773	7780	7858	7860	7871	7873
				7892	7895	7901	8700	8702	8736	8760	8782	8797	8827	8934	9366
				9398	9399	9438	9444	9449	9451	9460	9510	9552	9555	9557	9560
				9695	9696	9702	9712	9714	9723	9728	9746	9770	9789	9842	9851
				9889	9903	9906	9911	9917	9993	9995	10004	10005	10014	10019	10020
				10031	10032	10066	10068	10082	10083	10132	10135	10136	10137	10138	10146
				10171	10173	10178	10187	10189	10190	10323	10440	10442	10504	10505	10557
	PAGB			1890 #	8904	8905	8943	8944	8945	8950	8953	8969	9001	9011	9018
				9026	9040	9046	9051	9054	9055	9056	9071	9081	9082	9093	9108
				9119	9125	9134	9149	9159	9171	9176	9180	9184	9198	9204	9212
				9216	9218	9228	9235	9283	9310	9335	9400
(U) AD				1478 #
	A			1516 #	3719	3777	3781	3786	3788	3799	3801	3832	4215	4526	4728
				4732	4737	4751	4845	4895	4896	5094	5159	5165	5245	5360	5360
				5375	5376	5377	5377	5380	5382	5383	5391	5393	5396	5398	5545
				5546	5547	5549	5551	5562	5563	5564	5566	5574	5724	5725	5726
				5727	5753	5773	5779	5794	5841	5999	5999	6011	6217	6223	6226
				6254	6257	6282	6284	6303	6383	6391	6415	6428	6434	6437	6486
				6489	6506	6508	6532	6534	6539	6543	6563	6807	6811	6816	6818
				6827	6829	6857	6861	6866	6868	6876	6878	6938	6990	7018	7072
				7136	7160	7228	7237	7239	7317	7326	7356	7364	7365	7366	7373
				7384	7386	7414	7467	7469	7474	7479	7494	7513	7559	7677	7729
				7731	7761	7763	7766	7770	7776	7782	7852	7857	7863	7866	7901
				7905	8037	8038	8055	8058	8060	8062	8073	8075	8081	8108	8114
				8133	8139	8181	8190	8465	8467	8478	8526	8545	8594	8598	8610
				8622	8623	8624	8630	8680	8727	8768	8839	8904	8905	8931	8947
				8948	8949	9016	9068	9113	9120	9175	9352	9354	9365	9414	9514
				9517	9519	9522	9524	9540	9542	9745	9842	9844	9855	9857	9896
				10044	10046	10235	10256	10291	10325	10326	10342	10399	10403	10458	10493
				10544	10546	10582	10583	10610	10682	10732
	A*2			1483 #	6340	6536	6570	7471	7502	7516	7775	8837	10136	10504
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-3
; 							Cross Reference Listing					

	A*2+1			1484 #	9836
	A+1			1479 #	3712	3769	4008	4542	4635	4646	4839	4928	4930	4960	5173
				5182	5223	5344	5345	5600	6189	6537	6549	6572	6774	6777	6784
				6788	7485	7499	7550	7680	8034	8745	8772	8846	9130	9552	9555
				9557	9560	9742	9898	9980	10010	10035	10225	10229	10233	10281	10284
				10285	10289	10372	10407	10409	10533	10556	10659	10688	10713	10738
	A+B			1487 #	3779	3783	3787	3789	3800	3803	5226	5229	5461	5552	5568
				5570	5659	5664	5689	5692	5693	5696	5706	5720	5723	5760	5772
				5833	5930	6087	6227	6337	6431	6478	6809	6813	6817	6819	6828
				6831	6859	6863	6867	6869	6877	6880	6986	6991	7017	7021	7038
				7040	7053	7154	7156	7159	7323	7342	7350	7390	7501	7532	7779
				7889	8555	8593	8656	8796	9011	9026	9046	9093	9125	9412	9453
				9518	9520	9523	9525	9541	9543	9729	9899	9919	9920	9992	10075
				10082	10083	10097	10137	10146	10505	10557	10666	10672	10673	10680	10714
				10720	10730
	A+B+1			1488 #	4589	4613	4837	4842	9707	9714	9737	9749	9776	9790	9906
				10066	10178	10187	10190	10440	10442	10585	10586	10604	10604	10606	10606
				10661
	A+XCRY			1480 #	5503
	A-1			1498 #	4557	4605	4886	4905	5163	5225	5340	5346	7029	7051	8499
				8746	8756	9740	9818	9818	9859	9859	9860	9860	10186	10576	10576
				10588	10588	10603
	A-B			1492 #	3998	4193	4209	5342	5474	5554	5556	5572	5613	5619	5656
				5658	5661	5668	5673	5678	5690	5691	5694	5695	5709	5721	5722
				5762	5813	5816	5831	5847	5851	5907	6083	6085	6253	6355	6388
				6555	7008	7155	7157	7234	7248	7255	7286	7339	7403	7407	7491
				7557	7742	7747	9438	9449	9451	9455	9699	9723	9726	9909	9933
				9974	9978	10041	10649	10650	10684	10734
	A-B-1			1491 #	7738	9997	10008
	AND			1515 #	4237	4841	4932	4937	5170	5183	5521	5781	7457	7525	7667
				8702	8736	8760	8782	8797	8827	9054	9134	9149	10171	10173
	ANDC			1504 #	4302
	ANDCA			1509 #	4266	4480	4701	5232	6275	6582	7554	8513	9372	9971
	ANDCB			1514 #	4247	4679	4694	4753	5089	5175	5179	5234	6342	7372	7660
				7893	7896	9366
	B			1511 #	3756	3767	3826	3827	3860	3871	3882	3893	3904	4014	4026
				4029	4128	4130	4133	4136	4139	4143	4191	4192	4207	4208	4574
				4604	4664	4675	4698	4706	4717	4718	4719	4722	4734	4748	4847
				4860	4860	4883	4885	4888	4889	4891	4892	4897	4907	4908	4909
				4943	4953	5086	5152	5156	5166	5169	5330	5333	5351	5351	5371
				5372	5373	5388	5389	5406	5408	5416	5424	5426	5430	5436	5439
				5448	5473	5496	5519	5597	5602	5615	5620	5622	5626	5711	5748
				5750	5754	5778	5791	5792	5795	5802	5804	5806	5807	5809	5811
				5811	5820	5821	5823	5840	5843	5844	5846	5850	5890	5913	5915
				5956	5959	5986	6147	6206	6218	6259	6261	6280	6288	6290	6293
				6336	6386	6407	6421	6421	6430	6436	6438	6439	6450	6450	6464
				6465	6479	6499	6501	6511	6515	6544	6579	6679	6779	6780	6781
				6782	6787	6790	6836	6837	6885	6886	6897	6899	6922	6922	6928
				6966	6981	7027	7043	7061	7073	7243	7252	7253	7256	7257	7258
				7260	7263	7267	7268	7272	7275	7297	7299	7303	7304	7311	7314
				7315	7316	7320	7321	7322	7334	7338	7340	7344	7347	7351	7371
				7378	7381	7382	7392	7396	7451	7454	7455	7480	7484	7500	7523
				7530	7531	7552	7709	7711	7712	7724	7725	7726	7730	7741	7746
				7748	7758	7771	7854	7860	7868	7873	7877	7879	7880	7888	7902
				8017	8047	8090	8099	8126	8146	8193	8468	8502	8503	8511	8512
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-4
; 							Cross Reference Listing					

				8580	8618	8678	8706	8710	8744	8752	8753	8769	8770	8771	8773
				8847	8901	8903	8944	8951	8966	8998	9001	9012	9013	9014	9018
				9033	9040	9051	9053	9055	9065	9071	9072	9081	9082	9095	9108
				9119	9159	9176	9184	9198	9204	9212	9216	9218	9228	9235	9259
				9263	9283	9290	9294	9298	9306	9310	9315	9320	9335	9376	9398
				9400	9405	9429	9448	9509	9510	9513	9546	9547	9586	9589	9591
				9692	9694	9695	9706	9708	9715	9718	9735	9783	9789	9812	9828
				9829	9838	9839	9839	9854	9854	9870	9870	9890	9897	9903	9908
				9916	9925	9931	9965	9968	9970	9982	9984	10006	10018	10020	10031
				10032	10034	10038	10069	10078	10087	10088	10089	10094	10134	10148	10150
				10152	10176	10177	10182	10189	10200	10201	10201	10227	10228	10254	10254
				10282	10283	10316	10331	10336	10340	10344	10354	10363	10379	10428	10454
				10457	10459	10467	10474	10476	10483	10485	10487	10502	10502	10507	10511
				10512	10528	10534	10549	10559	10561	10571	10573	10581	10598	10609	10612
				10643	10648	10677	10678	10728
	CRY A EQ -1		1518 #	10085
	CRY A GE B		1521 #	5998	6978	9863
	CRY A#0			1520 #	6251	6524	7010	7463	9780	9977	10517	10558	10575
	CRY A.B#0		1519 #	4477	4752	8022	8024	9139	10138
	EQV			1507 #	4312
	NOR			1505 #	7661
	OR			1512 #	4292	4482	5100	5178	7549	8189	8514	8537	9056	9147	9171
				9444	9454	9458	9730	9924
	ORC			1501 #	4363
	ORCA			1502 #	4353
	ORCB			1508 #	4333	7459	7668
	ORCB+1			1490 #	4782	8026
	SETCA			1500 #	4343	4469	4472	6526	7465	9085	9701	10013
	SETCB			1506 #	4322	5708	5815	6550	6550	6553	6553	7486	7486	7489	7489
				9267	9460	9588	9700	9728	9746	9911	9917	10005
	XCRY-1			1495 #	3915	3948	5228	5411	5412	5423	5507	5633	5636	5783	5848
				5921	5922	6172	6193	6220	6409	6412	7306	7308	7520	7862	7869
				7883	9935
	XOR			1510 #	4282	4481	4508	5428	6398	7379	8793	9815	9851
	0S			1513 #	4160	4174	4195	4212	4227	4749	4764	4801	5161	5350	5434
				5540	5540	5579	5764	5764	5771	5818	5904	5906	5954	6012	6225
				6317	6435	6469	6469	6566	6566	6902	6903	6959	6982	6982	7042
				7060	7137	7152	7241	7336	7348	7348	7359	7496	7496	8461	8476
				8518	8524	8528	8532	8535	8571	8571	8574	8582	8599	8602	8611
				8620	8635	8658	8665	8667	8669	8671	8719	8726	8767	8788	8794
				8836	8945	8961	9374	9437	9702	9773	9841	9889	9889	9894	9894
				10071	10071	10076	10441
	1S			1503 #	3714	3754	3829	4154	4161	4168	4175	4373	4629	4676	6320
				6802	6838	6852	6887	7368	9515	9548	9562	9587	9705	9710	9900
				9901	10004	10224	10239	10299	10302
(U) ADA				1524 #
	AR			1525 #	3719	3769	3799	3800	3801	3803	4237	4247	4266	4282	4292
				4302	4312	4322	4333	4343	4353	4363	4477	4480	4481	4482	4508
				4526	4542	4557	4605	4701	4728	4732	4752	4753	4841	4845	4886
				4896	4905	4932	4937	5100	5170	5178	5226	5229	5232	5234	5245
				5344	5360	5375	5377	5382	5393	5428	5461	5474	5503	5521	5545
				5546	5547	5549	5551	5552	5554	5556	5562	5563	5564	5566	5568
				5570	5572	5574	5619	5656	5659	5664	5673	5689	5690	5691	5692
				5693	5694	5695	5696	5706	5709	5720	5721	5722	5723	5760	5762
				5772	5781	5831	5833	5930	6011	6085	6087	6227	6254	6257	6303
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-5
; 							Cross Reference Listing					

				6337	6340	6342	6398	6431	6437	6478	6489	6532	6534	6536	6537
				6539	6549	6563	6570	6582	6774	6777	6784	6788	6827	6828	6829
				6831	6876	6877	6878	6880	6986	6991	7010	7017	7021	7053	7136
				7154	7155	7156	7157	7159	7239	7248	7286	7323	7339	7342	7350
				7364	7365	7366	7373	7379	7390	7407	7457	7459	7467	7469	7471
				7474	7485	7494	7501	7502	7513	7516	7525	7554	7559	7660	7661
				7667	7668	7680	7729	7731	7738	7742	7747	7766	7770	7775	7776
				7779	7782	7852	7863	7866	7889	7892	7895	7905	8022	8024	8034
				8037	8038	8055	8058	8060	8062	8073	8075	8081	8108	8114	8133
				8139	8181	8189	8190	8465	8467	8514	8526	8545	8555	8593	8598
				8610	8622	8623	8624	8630	8656	8702	8727	8745	8746	8756	8772
				8793	8796	8797	8839	8846	8904	8905	8947	9011	9016	9026	9046
				9054	9056	9068	9093	9120	9134	9139	9147	9149	9171	9372	9444
				9449	9453	9454	9458	9514	9540	9541	9542	9543	9699	9726	9729
				9730	9742	9749	9815	9818	9851	9859	9860	9899	9909	9919	9920
				9924	9971	9977	9992	9997	10010	10035	10075	10082	10083	10097	10136
				10137	10138	10146	10171	10173	10186	10225	10229	10233	10235	10281	10284
				10289	10291	10326	10372	10399	10403	10407	10409	10442	10458	10504	10505
				10517	10533	10544	10546	10557	10558	10575	10649	10650	10666	10720
	ARX			1526 #	3777	3779	3781	3783	3786	3787	3788	3789	4679	4694	4737
				4895	5089	5094	5175	5183	5225	5999	6251	6391	6807	6809	6811
				6813	6816	6817	6818	6819	6857	6859	6861	6863	6866	6867	6868
				6869	7038	7040	7072	7237	7317	7326	7532	7549	8513	8736	8760
				8782	8827	9113	9125	9175	9366	9412	9414	9455	9517	9518	9519
				9520	9522	9523	9524	9525	9552	9555	9557	9560	9740	9745	9780
				9844	9855	9857	10008	10013	10285	10325	10582	10610	10672	10673	10680
				10682	10714	10730	10732
	MQ			1527 #	3712	5380	5396	5724	5725	5726	5727	5773	5779	5794	5841
				6226	6284	6434	6486	6506	6508	6524	6526	6938	6990	7160	7356
				7372	7384	7386	7414	7463	7465	7677	8478	8594	8768	8837	9836
				9842	10044	10046	10085	10256	10493	10576	10583	10588	10603	10659	10713
	PC			1528 #	3832	4635	4646	4751	4839	4928	4930	4960	5159	5165	5179
				5182	8931	8949	9352	9354	9365
(U) ADA EN			1529 #
	EN			1530 #	4215	5340	5342	5345	5346	5360	5376	5377	5383	5391	5398
				5753	5999	6217	6223	6282	6383	6415	6428	6543	7018	7029	7051
				7228	7479	7761	7763	7857	7901	8537	8680	8948	9085	9701	9818
				9859	9860	9896	10342	10576	10588	10684	10688	10734	10738
	0S			1531 #	3998	4008	4193	4209	4589	4613	4782	4837	4842	5163	5173
				5223	5600	5613	5658	5661	5668	5678	5813	5816	5847	5851	5907
				5998	6083	6189	6253	6275	6355	6388	6555	6572	6978	7008	7234
				7253	7255	7257	7263	7268	7272	7299	7303	7304	7315	7316	7344
				7403	7451	7491	7499	7523	7530	7550	7557	7711	7712	7724	7725
				7726	8026	8499	9130	9438	9451	9707	9714	9723	9737	9776	9790
				9863	9898	9906	9933	9974	9978	9980	10041	10066	10178	10187	10190
				10440	10556	10585	10586	10604	10604	10606	10606	10661
(U) ADB				1533 #
	AR*4			1537 #	4782	5342	5658	5661	5802	5907	5959	6083	6253	6259	6261
				6275	6280	6293	6355	6388	7234	7258	7267	7403	7500	7557	7748
				8468	8511	8512	8706	8710	8752	8771	8901	8903	9899	9908	9919
				9978	9992	10005	10008	10075	10089	10097	10336	10340	10344	10379
	BR			1536 #	3998	4193	4209	4675	4698	4701	4748	4752	4753	4847	4897
				4909	5086	5100	5152	5166	5169	5178	5416	5426	5428	5430	5436
				5439	5448	5474	5521	5552	5556	5568	5572	5613	5615	5619	5622
				5656	5659	5664	5668	5673	5678	5689	5690	5691	5692	5693	5694
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-6
; 							Cross Reference Listing					

				5695	5696	5706	5709	5720	5721	5722	5723	5760	5762	5772	5781
				5791	5795	5811	5811	5813	5815	5816	5821	5823	5831	5833	5846
				5847	5850	5851	5890	5998	6206	6218	6227	6336	6337	6342	6421
				6421	6431	6450	6450	6478	6544	6550	6550	6553	6553	6555	6579
				6582	6779	6780	6781	6782	6790	6966	6978	7008	7154	7155	7156
				7157	7159	7252	7255	7256	7286	7311	7323	7338	7339	7342	7350
				7371	7372	7378	7480	7486	7486	7489	7489	7491	7501	7525	7531
				7532	7549	7552	7554	7738	7741	7742	7746	7747	7779	7860	7873
				7879	7889	8022	8024	8026	8047	8090	8099	8126	8146	8189	8193
				8502	8503	8513	8514	8537	8555	8580	8593	8618	8656	8769	8770
				8773	8793	8796	8847	8944	8966	9012	9014	9065	9139	9147	9263
				9290	9315	9372	9405	9412	9453	9455	9509	9510	9513	9699	9700
				9707	9726	9729	9737	9749	9776	9815	9838	9854	9854	9863	9903
				9916	9920	9925	9931	9933	9971	9974	9997	10038	10041	10069	10078
				10094	10467	10485	10487	10534	10598	10604	10604	10606	10606	10612	10648
				10649	10650	10661	10666	10672	10673	10680	10684	10714	10720	10730	10734
	BR*2			1535 #	5424	5554	5570	5807	5915	5930	6085	6087	6288	6290	8951
				9984
	FM			1534 #	3756	3767	3779	3783	3787	3789	3800	3803	3826	3827	3860
				3871	3882	3893	3904	4014	4026	4029	4128	4130	4133	4136	4139
				4143	4191	4192	4207	4208	4237	4247	4266	4282	4292	4302	4312
				4322	4333	4353	4363	4477	4480	4481	4482	4508	4574	4589	4604
				4613	4664	4679	4694	4706	4717	4718	4719	4722	4734	4837	4841
				4842	4860	4860	4883	4885	4888	4889	4891	4892	4907	4908	4932
				4937	4943	4953	5089	5156	5170	5175	5179	5183	5226	5229	5232
				5234	5330	5333	5351	5351	5371	5372	5373	5388	5389	5406	5408
				5461	5473	5496	5519	5597	5602	5620	5626	5708	5711	5748	5750
				5754	5778	5792	5804	5806	5809	5820	5840	5843	5844	5913	5956
				5986	6147	6386	6398	6407	6430	6436	6438	6439	6464	6465	6479
				6499	6501	6511	6515	6679	6787	6809	6813	6817	6819	6828	6831
				6836	6837	6859	6863	6867	6869	6877	6880	6885	6886	6897	6899
				6922	6922	6928	6981	6986	6991	7017	7021	7027	7038	7040	7043
				7053	7061	7073	7243	7248	7253	7257	7260	7263	7268	7272	7275
				7297	7299	7303	7304	7314	7315	7316	7320	7321	7322	7334	7340
				7344	7347	7351	7379	7381	7382	7390	7392	7396	7407	7451	7454
				7455	7457	7459	7484	7523	7530	7660	7661	7667	7668	7709	7711
				7712	7724	7725	7726	7730	7758	7771	7854	7868	7877	7880	7888
				7892	7895	7902	8017	8678	8702	8736	8744	8753	8760	8782	8797
				8827	8998	9001	9011	9013	9018	9026	9033	9040	9046	9051	9053
				9054	9055	9056	9071	9072	9081	9082	9093	9095	9108	9119	9125
				9134	9149	9159	9171	9176	9184	9198	9204	9212	9216	9218	9228
				9235	9259	9267	9283	9294	9298	9306	9310	9320	9335	9366	9376
				9398	9400	9429	9438	9444	9448	9449	9451	9454	9458	9460	9518
				9520	9523	9525	9541	9543	9546	9547	9586	9588	9589	9591	9692
				9694	9695	9706	9708	9714	9715	9718	9723	9728	9730	9735	9746
				9783	9789	9790	9812	9828	9829	9839	9839	9851	9870	9870	9890
				9897	9906	9909	9911	9917	9924	9965	9968	9970	9982	10006	10018
				10020	10031	10032	10034	10066	10082	10083	10087	10088	10134	10137	10138
				10146	10148	10150	10152	10171	10173	10176	10177	10178	10182	10187	10189
				10190	10200	10201	10201	10227	10228	10254	10254	10282	10283	10316	10331
				10354	10363	10428	10440	10442	10454	10457	10459	10474	10476	10483	10502
				10502	10505	10507	10511	10512	10528	10549	10557	10559	10561	10571	10573
				10581	10585	10586	10609	10643	10677	10678	10728
(U) AR				1545 #
	AD			1549 #	3712	3769	3777	3779	3781	3783	3786	3787	3788	3789	3860
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-7
; 							Cross Reference Listing					

				3915	3948	3998	4014	4026	4029	4130	4133	4139	4160	4161	4174
				4175	4193	4195	4209	4212	4227	4237	4247	4266	4282	4292	4302
				4312	4322	4333	4343	4353	4363	4373	4480	4481	4482	4542	4557
				4574	4589	4604	4605	4613	4664	4694	4751	4753	4764	4801	4839
				4841	4883	4885	4886	4897	4928	4930	4932	4937	4943	4953	4960
				5089	5100	5159	5161	5175	5178	5179	5183	5226	5229	5330	5333
				5350	5351	5373	5380	5389	5396	5406	5408	5411	5412	5423	5424
				5426	5439	5461	5473	5474	5496	5507	5519	5540	5600	5602	5620
				5622	5626	5633	5636	5668	5678	5693	5694	5695	5696	5706	5709
				5724	5725	5726	5727	5754	5760	5762	5764	5772	5773	5778	5779
				5783	5791	5794	5795	5804	5809	5813	5815	5816	5820	5821	5823
				5840	5841	5843	5844	5846	5847	5848	5850	5851	5890	5913	5915
				5921	5922	5956	5986	6147	6172	6206	6218	6220	6225	6226	6227
				6259	6288	6317	6336	6337	6407	6409	6412	6421	6430	6431	6434
				6438	6439	6450	6464	6465	6469	6478	6479	6486	6506	6508	6511
				6515	6526	6537	6544	6549	6550	6553	6555	6566	6679	6779	6780
				6781	6782	6784	6788	6902	6903	6938	6959	6966	6981	6982	6986
				6990	6991	7017	7021	7027	7038	7040	7043	7053	7060	7061	7073
				7137	7152	7156	7157	7159	7160	7241	7243	7248	7252	7253	7255
				7256	7257	7260	7263	7268	7272	7297	7299	7303	7304	7306	7308
				7311	7314	7316	7317	7320	7321	7322	7323	7326	7336	7338	7339
				7340	7342	7344	7347	7348	7350	7351	7356	7371	7378	7384	7386
				7390	7392	7396	7407	7414	7451	7455	7457	7459	7465	7480	7485
				7486	7489	7491	7496	7501	7520	7523	7525	7530	7531	7532	7549
				7660	7661	7667	7668	7677	7711	7712	7724	7725	7726	7741	7746
				7747	7779	7860	7862	7869	7873	7877	7879	7883	7889	7892	7895
				7902	8034	8047	8090	8099	8126	8146	8193	8461	8476	8502	8513
				8514	8518	8528	8532	8555	8571	8574	8580	8582	8593	8599	8602
				8611	8618	8620	8635	8656	8658	8665	8667	8669	8671	8706	8710
				8719	8726	8745	8746	8752	8767	8768	8771	8788	8794	8796	8836
				8944	8945	8961	8966	9001	9012	9018	9051	9054	9055	9056	9071
				9082	9108	9130	9134	9147	9149	9159	9171	9175	9176	9198	9259
				9263	9267	9290	9294	9298	9306	9310	9315	9320	9335	9352	9354
				9366	9374	9398	9400	9405	9412	9414	9429	9437	9444	9448	9449
				9451	9453	9454	9455	9458	9460	9509	9513	9586	9588	9589	9591
				9695	9699	9700	9702	9706	9708	9710	9714	9715	9718	9723	9726
				9728	9729	9730	9735	9742	9746	9773	9783	9789	9790	9812	9838
				9839	9842	9851	9854	9855	9857	9870	9889	9894	9897	9898	9901
				9903	9906	9911	9916	9917	9919	9924	9925	9931	9933	9935	9965
				9968	9971	9974	9982	10004	10006	10020	10032	10034	10035	10038	10041
				10044	10046	10066	10069	10071	10076	10078	10083	10094	10134	10137	10150
				10152	10173	10176	10177	10182	10186	10187	10189	10190	10200	10201	10225
				10228	10229	10233	10254	10256	10281	10283	10284	10285	10289	10354	10363
				10372	10407	10409	10428	10441	10457	10467	10487	10493	10502	10511	10528
				10533	10549	10559	10561	10571	10573	10576	10583	10585	10586	10588	10603
				10606	10612	10643	10649	10650	10659	10666	10713	10720
	AD*.25			1554 #	5551	5552	5554	5556	5568	5570	5572	5574	5658	5661	5907
				5930	5999	6011	6083	6253	6254	6284	6303	6340	6355	6388	6532
				6534	6536	6563	6570	7234	7365	7403	7467	7469	7471	7494	7502
				7513	7516	7557	7766	7775	7776	8901	8903	9113	9978	9980	9984
				10008	10075	10136	10504
	AD*2			1552 #	3719	5344	5371	5545	5546	5547	5549	5562	5563	5564	5566
				5597	5656	5659	5664	5673	5689	5690	5691	5692	5720	5721	5722
				5723	5750	5831	5833	6257	6261	6276	6280	6290	6293	6386	6499
				6501	6539	7072	7154	7155	7258	7267	7275	7334	7364	7366	7381
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-8
; 							Cross Reference Listing					

				7382	7454	7474	7748	8630	8837	9899	9920	9992	10097	10336	10344
				10379	10556
	ADX			1553 #	4701	5169	5346	5360	5376	5377	5383	5391	5398	5436	5613
				5615	5811	6223	6282	6415	6428	6543	7018	7051	7479	8189	8770
				8773	8847	9372	9510	9701	9707	9737	9749	9776	9818	9859	9860
				9863	10485	10534	10604
	AR			1546 #	4008	4128	4140	4153	4154	4681	4698	5223	5228	8015	8131
				8179	8524	8608	9370
	ARMM			1547 #	3955	4680	4697	4951	4956	5177	5190	5191	5192	6341	6571
				6789	7285	7337	7389	7524	7546	7737	7739	7745	7778	7859	7872
				8124	8127	8477	8489	8512	8572	8723	8787	8851	9183	9369	9431
				9511	9697	9887	9890	9893	10007	10098	10163	10164	10165	10166	10167
				10168	10243	10286	10288	10420
	CACHE			1548 #	8166
	EBUS			1550 #	3723	3725	4803	5163	8058	8121	8136	8137	8184	8186	8188
				8499	8516	8530	8534	8585	8586	8587	8588	8601	8603	8613	8629
				8638	8639	8640	8641	8920	8935
	SH			1551 #	3753	3829	3949	3987	4136	4143	4144	4167	4168	4213	4472
				4475	4663	4745	4749	4848	4853	4855	4954	4955	5116	5166	5180
				5185	5337	5339	5358	5363	5384	5399	5430	5434	5447	5448	5506
				5789	5790	5792	5802	5805	5807	5849	5902	5927	5953	5982	5997
				6251	6424	6426	6427	6435	6436	6540	6542	6567	6579	6791	6838
				6887	6910	6941	6943	6988	7136	7264	7269	7315	7476	7478	7497
				7551	7679	7681	7749	7780	7880	7885	7888	8107	8138	8465	8467
				8503	8538	8622	8623	8659	8786	8789	8904	8905	8919	8948	8950
				8953	8969	9011	9014	9041	9046	9120	9125	9184	9204	9212	9215
				9217	9356	9420	9438	9442	9446	9515	9548	9552	9555	9557	9560
				9696	9711	9781	9841	9900	9902	9936	9972	9993	9995	10019	10077
				10092	10160	10193	10230	10235	10291	10316	10324	10325	10326	10332	10351
				10355	10384	10403	10433	10481	10489	10543	10544	10545	10546	10590	10592
				10648	10667	10721
(U) AR CTL			1944 #
	AR0-8 LOAD		1945 #	6341	6571
	AR9-17 LOAD		1946 #
	ARL LOAD		1948 #
	ARR LOAD		1947 #	8124
(U) AR0-8			1919 #
	LOAD			1920 #	4009	5174	5341	5903	5906	5914	5954	5957	5983	6082	6148
				6380	6449	6483	6487	6605	6660	6784	6786	6963	6980	6985	7041
				7074	7127	7129	7774	7781	7886	8511	8855	8937	8946	8947	8968
				9185	9426	9703	9742	9744	9892	9969	10012	10192	10215	10225	10232
				10262	10373	10374	10414	10415	10533	10562
(U) ARL				1934 #
	AD			1938 #	4008	4128	4136	4143	4154	4168	4698	5166	5173	5228	5330
				5396	5602	6147	6421	6506	6508	6790	6991	7384	7386	8503	9562
				9589	10044	10046	10648
	AD*.25			1943 #
	AD*2			1941 #	5597	5665	5674	5750
	ADX			1942 #	8537	8948
	ARL			1935 #	4014	4029	4130	4144	4174	4175	5180	7040	8138	8189	8465
	ARMM			1936 #	4009	5174	5341	5903	5906	5914	5954	5957	5983	6082	6148
				6380	6449	6483	6487	6605	6660	6784	6786	6963	6980	6985	7041
				7074	7127	7129	7519	7774	7781	7886	8511	8855	8937	8946	8947
				8968	9185	9426	9703	9742	9744	9892	9969	10012	10192	10215	10225
				10232	10262	10373	10374	10414	10415	10533	10562
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-9
; 							Cross Reference Listing					

	CACHE			1937 #
	EBUS			1939 #
	SH			1940 #	4133	4139	4140	4160	4161	4681	4960	5223	5337	5927	6251
				6424	8015	8126	8131	8179	8524	8605	8608	9084	9370	9414	10666
				10720
(U) ARMM			1633 #
	EXP_SIGN		1635 #	5903	5906	5914	5954	5957	5983	6082	6148	6380	6449	6483
				7781	7886
	SCAD EXP		1636 #	6341	6487	6571	7127	7129	7519	7774	8723	8787	8851	8946
				8947	8968	9183	9511	9703	9890	9892	9893	9969	10012
	SCAD POS		1637 #	4009	5174	5341	6605	6660	6784	6786	6789	6963	6980	6985
				7041	7074	7546	8511	8855	8937	9185	9426	9431	9742	9744	10098
				10163	10164	10165	10166	10167	10168	10192	10215	10225	10232	10243	10262
				10286	10288	10373	10374	10414	10415	10420	10533	10562
	#			1634 #	3955	5190	5191	5192	7285	7337	7389	7524	7737	7739	7745
				7778	7859	7872	8127	8477	8489	8572	9697	9887	10007
(U) ARX				1555 #
	AD			1558 #	3714	3756	4207	4208	4635	4646	4679	4695	4749	4837	4842
				4905	5163	5182	5223	5227	5245	5351	5360	5372	5375	5377	5382
				5388	5393	5416	5434	5540	5748	5764	5792	5806	5807	5811	5818
				5904	5906	5954	6012	6193	6320	6435	6436	6469	6566	6572	6982
				7042	7136	7315	7348	7368	7496	7550	7709	7861	7888	8465	8499
				8524	8535	8571	8702	8736	8760	8782	8797	8827	8904	8905	8947
				8949	9014	9081	9120	9204	9212	9216	9218	9283	9365	9367	9438
				9587	9694	9705	9740	9746	9818	9839	9841	9859	9860	9870	9889
				9890	9894	9900	9970	10005	10010	10031	10071	10088	10171	10201	10227
				10235	10254	10282	10291	10316	10363	10476	10502	10604
	ADX			1562 #	4193	4209	4748	5086	5152	5340	5345	5424	5430	5448	5693
				5694	5695	5696	5706	5709	5760	5762	5772	5813	5815	5816	5821
				5823	5846	5847	6259	6288	6342	6421	6431	6450	6478	6537	6550
				6553	6555	6579	6582	7008	7029	7311	7323	7350	7371	7486	7489
				7491	7500	7501	7552	7554	8593	8656	8769	9263	9290	9315	9707
				9737	9776	9854	9903	9916	9919	9925	9931	9933	9980	10035	10038
				10041	10069	10078	10094	10340	10576	10588	10606	10612	10688	10738
	ADX*.25			1563 #	5551	5552	5554	5556	5568	5570	5572	5574	5658	5661	5930
				5999	6011	6083	6189	6253	6254	6303	6388	6532	6534	6536	6563
				6570	7234	7365	7403	7467	7469	7471	7494	7502	7513	7516	7557
				7766	8901	8903	9836	9978	9984	10075	10136	10504
	ADX*2			1561 #	4215	5342	5545	5546	5547	5549	5562	5563	5564	5566	5657
				5660	5664	5673	5689	5690	5691	5692	5720	5721	5722	5723	5753
				5802	5831	5833	5850	5851	6217	6257	6261	6276	6280	6290	6293
				6383	6539	7154	7155	7228	7364	7366	7474	7499	7761	7763	7857
				7901	8511	8512	8680	9085	9896	9920	9992	10097	10342
	CACHE			1557 #
	MQ			1559 #	5184	5392	5398	5439	5707	5710	5790	5921	5927	6416	6424
				6427	6430	6511	6542	6544	7010	7392	7478	7480	9522	9523	9524
				9525	9540	9541	9852	10379	10590
	SH			1560 #	4026	4028	4720	4723	4772	4943	5116	5179	5380	5396	5406
				5408	5411	5412	5426	5442	5613	5615	5626	5633	5636	5754	5791
				5795	5803	5809	5820	5922	5924	5925	6171	6206	6220	6226	6284
				6407	6409	6412	6515	6611	6674	6787	6902	6903	6938	6941	7132
				7152	7160	7304	7306	7308	7310	7317	7322	7396	7455	7520	7522
				7535	7537	7734	7772	7869	7883	8137	8185	8187	8488	8490	8518
				8532	8536	8602	8620	8635	8665	8667	8669	8671	8726	8768	8788
				8826	8837	8856	8953	9003	9013	9088	9113	9129	9174	9352	9354
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-10
; 							Cross Reference Listing					

				9454	9699	9702	9735	9773	9812	9837	9855	9857	9909	9965	9968
				10034	10076	10089	10149	10151	10223	10228	10239	10283	10298	10301	10330
				10402	10428	10435	10528	10642
(D) B				2167 #	3965	4020	4182	4183	4818	4819	4978	4983	4984	4985	4986
				4988	4989	4990	4991	5000	5001	5002	5003	5210	5315	5316	5317
				5319	5738	5739	5740	6129	6373	6374	6375	6376	7219	7220	7221
				7222	7919	7921	7922	7923	7930	7932	7933	7934	7941	7943	7944
				7945	7964	7965	7966	7967	7968	7969	7975	7976	7979	7980	7987
				7989	7990	7991	7998	8000	8001	8002
	AC			2171 #	3960	3961	3969	3970	3974	3975	3979	3980	4035	4037	4044
				4045	4049	4050	4054	4055	4059	4060	4064	4065	4069	4070	4074
				4075	4081	4082	4086	4087	4091	4092	4096	4097	4101	4102	4106
				4107	4111	4112	4116	4117	4220	4221	4230	4231	4240	4241	4250
				4252	4259	4260	4275	4276	4285	4286	4295	4296	4305	4306	4315
				4316	4326	4327	4336	4337	4346	4347	4356	4357	4366	4367	4789
				4998	5454	5455	5466	5467	5479	5480
	BOTH			2173 #	4223	4233	4243	4257	4262	4278	4288	4298	4308	4318	4329
				4339	4349	4359	4369	5457	5469	5482
	DBL AC			2168 #	5511	5512	5584	5585	5589	5590
	DBL BOTH		2169 #	5514	5587	5592
	MEM			2172 #	3971	3976	3981	4041	4046	4051	4056	4061	4066	4071	4076
				4083	4088	4093	4098	4103	4108	4113	4118	4222	4232	4242	4256
				4261	4271	4272	4277	4287	4297	4307	4317	4328	4338	4348	4358
				4368	5456	5468	5481	5513	5586	5591	7929
	SELF			2170 #	3967	3972	3977	3982	4042	4047	4052	4057	4062	4067	4072
				4077	4084	4089	4094	4099	4104	4109	4114	4119
	SJC-			2175 #	4488	4497	4515	4531	4546	4563	4578	4593
	SJCA			2179 #	4492	4501	4519	4535	4550	4567	4582	4597
	SJCE			2177 #	4490	4499	4517	4533	4548	4565	4580	4595	4975
	SJCG			2182 #	4495	4504	4522	4538	4553	4570	4585	4600	4981
	SJCGE			2180 #	4493	4502	4520	4536	4551	4568	4583	4598	4608	4979
	SJCL			2176 #	4489	4498	4516	4532	4547	4564	4579	4594	4609	4974
	SJCLE			2178 #	4491	4500	4518	4534	4549	4566	4581	4596	4976
	SJCN			2181 #	4494	4503	4521	4537	4552	4569	4584	4599	4980
(D) B0				2183 #	5863	5864	5865	5866	5869	5873	5874	5875	5876	5879
	CRY0(0)			2184 #	4380	4381	4382	4383	4389	4390	4391	4392	4398	4399	4400
				4401	4407	4408	4409	4410	4416	4417	4418	4419	4425	4426	4427
				4428	4434	4435	4436	4437	4443	4444	4445	4446	7924	7935	7940
				7946	7970	7981	7986	7988	7992	7997	7999	8003
	CRY0(1)			2185 #	4384	4385	4393	4394	4396	4397	4402	4403	4405	4406	4411
				4412	4414	4415	4420	4421	4423	4424	4429	4430	4432	4433	4438
				4439	4441	4442	4447	4448	4620	7925	7936	7947	7971	7982	7993
				8004
(D) B1-2			2186 #	4380	4381	4382	4383	4384	4385	4389	4390	4391	4392	4393
				4394	4396	4397	4398	4399	4400	4401	4402	4403	4405	4406	4407
				4408	4409	4410	4411	4412	4414	4415	4416	4417	4418	4419	4420
				4421	4423	4424	4425	4426	4427	4428	4429	4430	4432	4433	4434
				4435	4436	4437	4438	4439	4441	4442	4443	4444	4445	4446	4447
				4448	4620	7924	7925	7935	7936	7940	7946	7947	7970	7971	7981
				7982	7986	7988	7992	7993	7997	7999	8003	8004
	AC			2187 #	5863	5868	5869	5873	5878	5879	5936	5941	5942	5965	5966
				5970	5971	6128	6166
	BOTH			2189 #	5866	5871	5876	5881	5939	5944	5968	5973
	MEM			2188 #	5865	5870	5875	5880	5938	5943	5967	5972
(U) BR				1564 #
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-11
; 							Cross Reference Listing					

	AR			1565 #	3860	3871	3882	3893	3904	3955	3990	3993	4216	4627	4629
				4672	4696	4751	4795	4839	4883	4888	4891	4953	5089	5176	5411
				5423	5424	5473	5540	5596	5600	5601	5707	5710	5750	5789	5805
				5807	5811	5813	5815	5816	5821	5823	5846	5847	5913	5915	5985
				6217	6218	6280	6293	6317	6320	6386	6391	6399	6450	6526	6542
				6605	6660	6788	6958	6963	6966	6988	7018	7027	7051	7237	7239
				7244	7251	7284	7307	7311	7316	7321	7338	7340	7347	7368	7371
				7380	7465	7472	7478	7518	7530	7531	7532	7736	7741	7743	7746
				7777	7856	7870	7877	7879	8015	8033	8105	8115	8131	8134	8162
				8179	8183	8461	8512	8513	8516	8524	8528	8574	8597	8599	8608
				8611	8674	8676	8787	8944	8969	8999	9012	9050	9132	9215	9217
				9235	9400	9451	9460	9692	9723	9812	9828	9853	9862	9887	9898
				9906	9916	9969	9971	9973	9980	9982	10038	10041	10065	10455	10457
				10467	10481	10572	10584	10586	10608	10642	10659	10713
(U) BRX				1566 #
	ARX			1567 #	3753	4216	4694	5157	5416	5423	5426	5439	5540	5626	5633
				5636	5668	5669	5677	5678	5707	5710	5754	5803	5811	5813	5815
				5816	5821	5823	5846	5847	5913	5985	6218	6280	6293	6317	6320
				6386	6391	6399	6450	6526	6572	6980	7043	7054	7307	7311	7318
				7321	7347	7368	7371	7380	7465	7472	7518	8187	8535	8674	8676
				8709	8769	8844	9367	9703	9746	9770	9828	9853	9862	9898	9906
				9916	9970	9980	9982	10038	10041	10065	10455	10508	10572	10584	10586
				10608	10642
(U) CALL			1777 #
	CALL			1778 #	3715	4192	4208	4680	4697	4730	4750	4802	4845	5088	5093
				5094	5153	5158	5162	5164	5427	5498	5520	5598	5602	5665	5674
				5752	5771	5779	5796	5819	5835	5841	5958	5987	5989	6382	6407
				6471	6486	6499	6501	6507	6509	6517	6606	6612	6614	6661	6675
				6680	6959	6963	6980	6985	7007	7060	7062	7135	7227	7232	7236
				7240	7243	7250	7255	7261	7270	7297	7300	7312	7318	7341	7345
				7349	7352	7360	7370	7378	7381	7382	7385	7387	7397	7406	7414
				7735	7765	7856	7878	7904	8011	8017	8048	8105	8113	8115	8120
				8123	8125	8131	8134	8160	8180	8183	8461	8466	8477	8478	8488
				8495	8500	8515	8525	8528	8533	8544	8545	8573	8580	8592	8597
				8599	8609	8611	8620	8630	8655	8679	8726	8751	8752	8753	8756
				8767	8771	8772	8792	8795	8812	8817	8822	8835	8836	8839	8840
				8845	8846	8848	8854	8855	9353	9369	9404	9714	9717	9736	9771
				9774	9782	9789	9840	9850	9871	9907	9983	10004	10018	10019	10033
				10040	10043	10091	10132	10215	10236	10254	10257	10292	10430	10441	10503
				10505	10509	10530	10557	10560	10659	10677	10678	10679	10713	10728	10729
(U) CLR				1921 #
	AR			1926 #	4646	4696	5176	5393	7368	9368	9745	10010
	AR+ARX			1927 #
	AR+ARX+MQ		1930 #	6301	6977	7882	9771	10132
	AR+MQ			1928 #	7472	9909
	ARL			1924 #	4153	4167	4888	4891	4954	4955	8033	8615	9003	9004	9005
				9087	9088	9106	9554	10089	10092	10324	10402	10428	10457	10528
	ARL+ARX			1931 #	7019	7052	8591	8654
	ARL+ARX+MQ		1932 #
	ARR			1925 #	5341	8537
	ARR+MQ			1933 #
	ARX			1923 #	5330	6252	7781	10085
	ARX+MQ			1929 #	5336	5596	5601	5983	6146	6992	9589
	MQ			1922 #	4192	4208	5388	5396	5752	5924	5925	5928	6380	6422	6425
				6507	6509	6985	7227	7385	7387	7415	7550	7730	7854	10044	10046
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-12
; 							Cross Reference Listing					

(U) COND			1737 #
	AD FLAGS		1751 #	3998	4193	4209	4542	4557	4589	4605	5461	5474	5760	5762
	AR CLR			1743 #	3714	6217	6320	7284	7333	7335	7388	7518	7736	7743	7772
				7777	7857	7870	9587	9705	10031
	ARL IND			1745 #	4029	4128	4130	4133	4136	4139	4140	4143	4144	4153	4154
				4160	4161	4167	4168	4174	4175	4646	4698	5180	5223	5228	6784
				6790	7040	7368	7781	8015	8033	8138	8189	8503	9106	9414	9562
				9742	10225	10666	10720
	ARX CLR			1744 #	5436	5497	5518	5620	6218	6223	6283	6336	6337	6429	6543
				7061	7318	7326	7479	9710	9898
	DIAG FUNC		1756 #	4737	4803	5163	5165	8114	8121	8133	8136	8137	8139	8181
				8184	8186	8188	8467	8499	8516	8526	8530	8534	8585	8586	8587
				8588	8598	8601	8603	8610	8613	8622	8623	8624	8629	8638	8639
				8640	8641	8920	8935
	EBOX STATE		1757 #	3722	3753	4811	8633	8644	8901	8903	9229	9334	9376	9405
	EBUS CTL		1758 #	3791	3792	3793	3794	4736	4738	4804	5168	8018	8048	8056
				8059	8062	8071	8073	8100	8190	8194	8536	8571	8593	8628	8632
				8642	8753	8767	8836	8910	8921	8936	9404	9527	9528	9529	9530
	FE SHRT			1750 #	9084
	FM WRITE		1748 #	3719	3770	3915	3920	3948	3950	4195	4938	5335	5365	5384
				5399	5777	5783	5790	5794	5797	5802	5818	5837	5838	5848	5850
				5851	6415	6427	6435	6506	6508	6579	6615	6958	6982	6988	6990
				7007	7042	7060	7137	7228	7233	7235	7241	7244	7261	7262	7264
				7265	7269	7270	7271	7273	7298	7301	7313	7319	7336	7343	7353
				7377	7384	7386	7391	7411	7450	7453	7551	7683	7773	7780	7858
				7860	7871	7873	7901	8700	8904	8905	8934	8943	8944	8945	8950
				8953	8969	9180	9399	9415	9420	9421	9427	9435	9437	9442	9446
				9447	9453	9455	9456	9510	9552	9555	9557	9560	9696	9700	9701
				9702	9704	9712	9725	9745	9747	9749	9770	9781	9792	9842	9855
				9859	9889	9894	9896	9900	9901	9903	9925	9935	9940	9972	9984
				9993	9995	10004	10005	10014	10015	10019	10044	10046	10068	10073	10132
				10160	10162	10188	10193	10223	10235	10238	10239	10291	10297	10298	10301
				10323	10330	10489	10490	10495	10534	10588	10590	10592	10604	10606	10668
	LD AR0-8		1740 #	3955	5190	5191	5192	6789	7285	7337	7389	7519	7524	7546
				7737	7739	7745	7778	7859	7872	8127	8477	8489	8572	8723	8787
				8851	9183	9431	9511	9697	9887	9890	9893	10007	10098	10163	10164
				10165	10166	10167	10168	10243	10286	10288	10420
	LD AR18-35		1742 #
	LD AR9-17		1741 #	4680	4697	4951	4956	5177	8512	9369
	LD VMA HELD		1773 #
	LOAD IR			1752 #	3756	3767	5245	9514
	LONG EN			1762 #	3826	6836	6885	9546
	MBOX CTL		1759 #	8463	8482	8550	8556	8558	8961	8963	8965	9186	9401
	PCF_#			1749 #	4849	4854	4902	4903	4907	5432	5507	5524	5611	5785	5990
				6216	6519	6801	6834	6851	6883	7399	7539	7543	7544	7682	7740
				7744	7898	7899	8037	8038	10034
	REG CTL			1746 #	5545	5546	5547	5549	5562	5563	5564	5566	5748	6341	6341
				6539	6563	6571	6571	6571	7364	7365	7366	7372	7474	7494	7771
				7868	7889	8124
	SEL VMA			1755 #	3832	8931	8949	9352	9354
	SPEC INSTR		1753 #	3713	3762	4764	4775	4781	5244	8643	8653	8699	9027	9356
	SR_#			1754 #	3932	3933	3937	3949	4734	4798	4807	5169	5823	5843	5887
				5888	5889	6011	6253	6351	6355	6365	6438	6439	6467	6501	6527
				6566	6582	7072	7136	7382	7410	7466	7496	7555	9259	9263	9267
				9271	9275	9279	9290	9294	9298	9302	9306	9315	9320	9412	9707
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-13
; 							Cross Reference Listing					

				9711	9717	9719	9730	9735	9736	9737	9750	9774	9776	9782	9840
				9841	9850	9902	9936	9968	10018	10035	10078	10091	10094	10134	10316
				10353	10397	10509	10560	10571	10581	10582	10597	10599	10608	10611	10612
				10667	10677	10678	10679	10689	10721	10728	10729	10739
	VMA DEC			1771 #	6792	8657	10486
	VMA INC			1772 #	4189	4212	4702	4706	4716	4717	4934	4959	5095	5103	5160
				5184	5186	5751	5806	6381	6786	6803	6853	7134	7226	7733	7855
				8166	8659	8678	8795	9371	9373	9374	9820	9931	9933	10072	10375
				10482	10549
	VMA_#			1766 #	5091	5100	5156	8631	8666	8668	8670	8672	9330
	VMA_#+AR32-35		1769 #	8987	8989
	VMA_#+MODE		1768 #	5154
	VMA_#+PI*2		1770 #	8704	8705	8712	8717
	VMA_#+TRAP		1767 #	3755	3757
(U) DIAG FUNC			2118 #
	CONI APR(L)		2137 #	8137
	CONI APR(R)		2133 #	8136
	CONI MTR		2143 #	8613
	CONI PAG		2146 #	8530
	CONI PI(L)		2132 #	8188
	CONI PI(PAR)		2145 #	8186
	CONI PI(R)		2131 #	8184
	CONO APR		2124 #	8133	8139
	CONO MTR		2122 #	8610
	CONO PAG		2126 #	8526
	CONO PI			2125 #	8181
	CONO TIM		2123 #	8598
	DATAI APR		2139 #	8121
	DATAI PAG(L)		2135 #	5163	8499
	DATAO APR		2127 #	8114
	DATAO PAG		2128 #	8467
	LD AC BLKS		2129 #
	LD PA LEFT		2120 #	8622	8624
	LD PA RIGHT		2121 #	8623
	LD PCS+CWSX		2130 #	4737	5165
	RD CACHE CNT		2140 #	8588	8641
	RD EBOX CNT		2138 #	8587	8640
	RD EBUS REG		2147 #	4803	8516	8534	8920	8935
	RD INTRVL		2141 #	8601
	RD MTR REQ		2144 #	8629
	RD PERF CNT		2136 #	8586	8639
	RD PERIOD		2142 #	8603
	RD TIME			2134 #	8585	8638
	.5 USEC			2119 #
(U) DISP			1783 #
	BYTE			1796 #	4775	6605	6611	6660	6674	6958	6964	8012	8557	9140	9590
				10216	10262	10429	10474	10475	10476	10489	10529
	DIAG			1784 #
	DIV			1793 #	5656	5659	5664	5673	5689	5690	5691	5692	5693	5694	5695
				5696	5720	5721	5722	5723	7154	7155	7156	7157	9997
	DRAM A RD		1786 #	3786	3787	3788	3789	3799	3800	9522	9523	9524	9525	9541
	DRAM B			1795 #	3987	3996	4128	4130	4133	4136	4140	4144	4153	4154	4160
				4161	4167	4168	4174	4175	4189	4227	4237	4247	4266	4282	4292
				4302	4312	4322	4333	4343	4353	4363	4373	4470	4473	4477	4804
				4853	5362	5417	5437	5441	5461	5474	5506	5523	5614	5616	5621
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-14
; 							Cross Reference Listing					

				5755	5887	5902	6351	6355	6383	7228	8018	8033	8190	8538	8583
				8591	9540	9615	9616	9704	9891	9899	10077	10135	10172	10176
	DRAM J			1785 #	3861	3872	3883	3894	3905	4673	4699	4707	9553	9556	9558
				9561
	EA MOD			1798 #	3754	3829	4629	4676	6802	6838	6852	6887	8954	9515	9548
				10224	10239	10299	10302
	MUL			1792 #	5541	5551	5553	5555	5557	5569	5571	5573	5574	5579	5771
				7359
	NICOND			1790 #	3920	3942
	NORM			1797 #	5931	5959	5999	6011	6253	6255	6281	6286	6294	6304	6337
				6432	6489	6512	6537	6545	6551	6554	6555	7324	7374	7393	7458
				7460	7482	7487	7490	7492	7501	7559	7768	7782	7863	7874	7905
	PG FAIL			1788 #	8910	8921
	RETURN			1787 #	4216	4739	4745	4860	5116	5180	5186	5545	5546	5547	5549
				5562	5563	5564	5566	5666	5668	5669	5675	5677	5678	5708	5711
				5724	5725	5726	5727	6086	6088	6453	6455	6773	6776	6779	6780
				6781	6782	6785	6792	6816	6817	6818	6819	6827	6828	6866	6867
				6868	6869	6876	6877	6910	6911	6943	7161	7275	7286	7660	7661
				7667	7668	8063	8076	8096	8100	8519	8575	8659	8680	8789	8794
				8797	8828	9229	9795	10134	10138	10162	10173	10178	10182	10193	10200
				10243	10258	10562	10668	10689	10739
	SH0-3			1791 #	5161	7534	7890	8635	8654	8702	8719	8751	8770	9000	9080
				10149	10151	10332	10349
	SIGNS			1794 #	5628	5822	5824	8951	8988	8990	9741	9745	9772	9792	9841
				9842	9856	9889	10013	10070	10095	10133	10161	10188
	SR			1789 #	5843	5844	5849	6256	6258	6260	6262	6289	6291	6292	6302
				6321	6341	6548	6571	6899	7009	7011	7541	7550	8943	9236	9415
				9427	9435	9456	9793
(U) EA CALC			2005 #
	A IND			2015 #	3777	3779	3781	3783	3801	3803	9517	9518	9519	9520	9542
				9543
	BYTE IND		2023 #	6803	6807	6809	6811	6813	6829	6831	6853	6857	6859	6861
				6863	6878	6880
	BYTE LD			2019 #
	BYTE RD			2020 #	6816	6817	6818	6819	6827	6828
	BYTE RD PC		2021 #
	BYTE RPW		2022 #	6866	6867	6868	6869	6876	6877
	LD ARX+WR		2031 #	10482
	LD AR(EA)		2029 #	10672	10673	10680
	LD AR+WR		2030 #	10454	10458
	POP AR			2025 #	4883
	POP AR-ARX		2027 #	4885
	POP ARX			2026 #
	PUSH			2024 #	4837	4842
	WRITE(E)		2028 #	4909	10682
(U) EBUS CTL			2102 #	4738	5168	8071
	DATAI			2116 #	8080	8767	8836
	DATAO			2115 #	8081	8753	9404
	EBUS DEMAND		2106 #	8056
	EBUS NODEMAND		2107 #	8059
	GRAB EEBUS		2103 #	3791	3792	3793	3794	4736	8100	8628	8910	9527	9528	9529
				9530
	IO INIT			2112 #	8073	8076
	REL EBUS		2105 #	8062	8190
	REL EEBUS		2117 #	4804	8018	8536	8571	8593	8632	8642	8921	8936
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-15
; 							Cross Reference Listing					

	REQ EBUS		2104 #	8048	8194
(U) EXP TST			1949 #
	AR_EXP			1950 #	6341	6571
(U) FE				1622 #	9084
	SCAD			1623 #	3830	3832	3920	3942	4764	4772	4781	5336	5339	5389	5392
				5497	5519	5541	5545	5546	5547	5549	5551	5553	5555	5557	5562
				5563	5564	5566	5569	5571	5573	5574	5579	5627	5634	5637	5656
				5659	5664	5673	5689	5690	5691	5692	5693	5694	5695	5696	5707
				5710	5720	5721	5722	5723	5724	5725	5726	5727	5765	5771	5780
				5808	5814	5835	5903	5906	5915	5924	5925	5928	5956	5959	5986
				5997	6000	6148	6171	6188	6192	6254	6257	6259	6261	6281	6285
				6288	6290	6294	6301	6303	6340	6380	6392	6451	6479	6506	6508
				6516	6533	6535	6536	6539	6540	6567	6570	6774	6777	6801	6803
				6821	6822	6823	6824	6851	6853	6871	6872	6873	6874	6932	6939
				7008	7010	7152	7154	7155	7156	7157	7161	7253	7257	7259	7268
				7322	7346	7351	7357	7359	7384	7386	7388	7396	7454	7468	7469
				7471	7474	7476	7497	7502	7749	7760	7763	7767	7779	7853	7867
				7885	8160	8475	8555	8575	8719	8786	8835	8844	8914	8919	8962
				8964	8966	8993	8994	8999	9041	9053	9072	9080	9095	9141	9147
				9178	9203	9213	9255	9549	9693	9697	9740	9812	9814	9837	9887
				9981	9992	9994	10007	10039	10042	10045	10047	10160	10162	10182	10201
				10223	10229	10238	10239	10284	10297	10298	10301	10327	10371	10383	10385
				10398	10407	10410	10432	10435	10492	10502
(U) FETCH			1993 #
	COMP			1996 #	4508
	JFCL			2000 #	4752
	JUMP			1999 #	4574	4589	4605	4613
	SKIP			1997 #	4526	9844
	TEST			1998 #	4469	4472	4477	8022	8024	8026	9780
	UNCOND			1994 #
(U) FLAG CTL			1972 #
	DISMISS			1976 #	4672	4724	4725	8030	8754
	DISMISS+LD		1978 #
	HALT			1979 #	4762
	JFCL			1974 #	4751
	JFCL+LD			1975 #	4754
	PORTAL			1981 #	4627
	RSTR FLAGS		1973 #	4668	4718	4719	4722
	SET FLAGS		1980 #	3655	5189	9375
(U) FMADR			1578 #
	AC+#			1589 #	9429	9435	9442	9706	9870	9870	9890	9940	10182	10254	10254
				10280	10282	10283	10291	10297	10298	10301	10354	10363	10476	10489	10490
				10495	10549
	AC0			1579 #	3860	3915	3920	3948	4014	4026	4029	4128	4130	4133	4136
				4139	4143	4195	4237	4247	4266	4282	4292	4302	4312	4322	4333
				4353	4363	4477	4480	4481	4482	4508	4574	4589	4604	4613	4837
				4842	4883	4885	4887	4905	4938	4943	4953	5224	5226	5229	5232
				5234	5330	5333	5351	5351	5365	5373	5384	5389	5399	5406	5408
				5461	5473	5496	5519	5602	5620	5626	5708	5711	5754	5778	5783
				5809	5913	5956	5986	6147	6398	6407	6415	6427	6430	6438	6439
				6479	6515	6579	6615	6679	6991	7007	7060	7073	7243	7260	7264
				7297	7298	7322	7340	7351	7379	7396	7455	7551	7683	7877	7880
				7902	9415	9446	9454	9455	9458	9588	9694	9704	9730	9783	9812
				9859	9894	9896	9924	9925	9965	9970	10034	10044	10046	10073	10134
				10150	10152	10160	10162	10177	10193	10316	10330	10511	10534	10559	10561
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-16
; 							Cross Reference Listing					

				10573	10585	10586	10588	10590	10604	10606	10643	10668
	AC1			1580 #	3950	4207	4208	5335	5371	5372	5388	5597	5750	5790	5806
				5837	5838	5843	5844	6386	6435	6436	6464	6465	6499	6501	6506
				6508	6511	7027	7038	7040	7042	7137	7265	7271	7275	7314	7320
				7321	7334	7347	7381	7382	7384	7386	7392	7454	7888	9259	9420
				9427	9447	9589	9735	9745	9839	9839	10201	10201	10223	10238	10239
				10502	10502	10571
	AC2			1583 #	5794	5804	5848	7709	9421	10227	10228	10235	10592
	AC3			1584 #	5748	5777	5792	5797	5850	5851	9267	9294	9298	9306	9320
				9437	9448	9453	9456	9586	9591	9700	9701	9708	9715	9718	9725
				9747	9749	9781	9790	9792	9855	9897	9900	9901	9909	9935	9968
				9972	9982	9984	10006	10015	10088	10176	10188	10200	10428	10454	10457
				10528
	VMA			1582 #	3756	3767	3826	3827	3871	3882	3893	3904	3916	3917	3923
				3925	4191	4192	4212	4526	4701	4704	4706	4716	4717	4718	4719
				4722	4734	4847	4849	4852	4854	4860	4860	4888	4889	4891	4892
				4907	4908	4934	4959	5095	5103	5156	5159	5169	5182	5185	6682
				6787	6791	6801	6804	6836	6837	6851	6854	6885	6886	6897	6899
				6922	6922	6928	6968	7730	7758	7771	7854	7868	8017	8021	8023
				8033	8658	8678	8744	8753	8754	8998	9013	9033	9053	9065	9072
				9095	9376	9546	9547	9692	9828	9829	10018	10087	10148	10258	10331
				10459	10474	10483	10485	10487	10507	10512	10548	10556	10581	10583	10603
				10609	10677	10678	10685	10687	10688	10728	10735	10737	10738
	XR			1581 #	3754	3779	3783	3787	3789	3800	3803	3829	4664	6809	6813
				6817	6819	6828	6831	6838	6859	6863	6867	6869	6877	6880	6887
				9518	9520	9523	9525	9541	9543	9548
	#B#			1591 #	3719	3770	4679	4694	4841	4932	4937	5089	5170	5175	5179
				5183	5802	5818	5820	5840	6958	6981	6982	6986	6988	6990	7017
				7021	7043	7053	7061	7228	7233	7235	7241	7244	7248	7253	7257
				7261	7262	7263	7268	7269	7270	7272	7273	7299	7301	7303	7304
				7313	7315	7316	7319	7336	7343	7344	7353	7377	7390	7391	7407
				7411	7450	7451	7453	7457	7459	7484	7523	7530	7660	7661	7667
				7668	7711	7712	7724	7725	7726	7773	7780	7858	7860	7871	7873
				7892	7895	7901	8700	8702	8736	8760	8782	8797	8827	8904	8905
				8934	8943	8944	8945	8950	8953	8969	9001	9011	9018	9026	9040
				9046	9051	9054	9055	9056	9071	9081	9082	9093	9108	9119	9125
				9134	9149	9159	9171	9176	9180	9184	9198	9204	9212	9216	9218
				9228	9235	9283	9310	9335	9366	9398	9399	9400	9438	9444	9449
				9451	9460	9510	9552	9555	9557	9560	9695	9696	9702	9712	9714
				9723	9728	9746	9770	9789	9842	9851	9889	9903	9906	9911	9917
				9993	9995	10004	10005	10014	10019	10020	10031	10032	10066	10068	10082
				10083	10132	10135	10136	10137	10138	10146	10171	10173	10178	10187	10189
				10190	10323	10440	10442	10504	10505	10557
(U) ISTAT			1881 #
	OPTIONS			1886 #	8127
(U) J				1471 #	3786	3787	3788	3789	3799	3800	3861	3872	3883	3894	3905
				4216	4634	4673	4699	4707	4739	4745	4860	5116	5180	5186	5545
				5546	5547	5549	5562	5563	5564	5566	5666	5668	5669	5675	5677
				5678	5708	5711	5724	5725	5726	5727	6086	6088	6453	6455	6773
				6776	6779	6780	6781	6782	6785	6792	6816	6817	6818	6819	6827
				6828	6866	6867	6868	6869	6876	6877	6910	6911	6943	7161	7275
				7286	7660	7661	7667	7668	8063	8076	8096	8100	8519	8575	8659
				8680	8789	8794	8797	8828	9229	9522	9523	9524	9525	9541	9553
				9556	9558	9561	9795	10134	10138	10162	10173	10178	10182	10193	10200
				10243	10258	10562	10668	10689	10739
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-17
; 							Cross Reference Listing					

	ACNORM			7453 #	7253
	ACNRM1			7457 #	7451
	ACSETU			10668 #	10722
	ADD			5461 #	5454	5455	5456	5457
	ADJBP			6977 #	6966
	ADJD1			7017 #	7009
	ADJD2			7051 #	7017
	ADJD3			7053 #	7019
	ADJD4			7060 #	7043	7054
	ADJSP			5223 #	5210
	ADJSP1			5232 #	5227
	ADJX2			7029 #	7021
	ADJX3			7027 #	7029
	ADJX4			7038 #	7027
	ADJX5			7041 #	7038
	ADJX6			7042 #	7040
	AND			4237 #	4230	4231	4232	4233
	ANDCA			4247 #	4240	4241	4242	4243
	ANDCB			4302 #	4295	4296	4297	4298
	ANDCM			4266 #	4259	4260	4261	4262
	AOBJ			4613 #	4608	4609
	AOJ			4589 #	4578	4579	4580	4581	4582	4583	4584	4585
	AOS			4542 #	4531	4532	4533	4534	4535	4536	4537	4538
	APRBI			8123 #	7918
	APRBO			8115 #	7920
	APRCI			8134 #	7923	7924	7925
	APRCO			8131 #	7922
	APRCO7			8139 #	8133
	APRDI			8120 #	7919
	APRDO			8113 #	7921
	ARJMP			4732 #	4718	4725	4734	9376
	ARSWAP			4745 #	4680	4697	8573	9369
	ASH			5349 #	5315
	ASHC			5370 #	5319
	ASHL			5406 #	5350	5371
	ASHL1			5422 #	5407
	ASHL2			5426 #	5435
	ASHL3			5430 #	5432
	ASHL4			5434 #	5431
	ASHL5			5439 #	5442
	ASHR1			5411 #	5414
	ASHR2			5416 #	5411
	ASHX			5447 #	5417	5441
	B2DFPF			9444 #	9267
	B2DPF			9446 #	9290	10078
	B2DPF2			9449 #	9444
	BACKD			9429 #	9271	9275	9279	9302
	BACKS			9426 #	9259
	BD1			9977 #	9966
	BD2			9980 #	9977	9984
	BD3			9982 #	9978
	BD4			9992 #	9981	9997
	BD6			9997 #	9992
	BD7			10004 #	9993	9995
	BD8			10012 #	10010
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-18
; 							Cross Reference Listing					

	BD9			10015 #	10020
	BDD1			10065 #	10035	10098
	BDD2			10075 #	10070
	BDD3			10082 #	10077
	BDD4			10085 #	10082
	BDD5			10087 #	10088
	BDD6			10089 #	10087
	BDD7			10091 #	10083	10092
	BDDR1			9968 #
	BDDR4			10068 #	9974
	BDDV1			10031 #	10015
	BDDV2			10038 #	10033
	BDEC			9965 #	9590
	BDF1			10018 #	10014
	BFETCH			6826 #	6802	10224	10239	10299	10302
	BFETCHP			6876 #	6852
	BFIN			6682 #
	BLK1			8034 #	8012
	BLK2			8033 #	8034	8035
	BLK3			8037 #	8033
	BLK4			8026 #	8021
	BLKIO			8011 #	7986	7988	7997	7999
	BLT			4028 #	4021
	BLT1			10642 #	4029
	BLT2			10659 #	10649
	BLTAC			10666 #	10659
	BLTPF			9412 #	9283	10685	10735
	BLTPF1			9414 #
	BLTPXCT			10713 #	10650
	BLTPX1			10720 #	10713
	BPART2			6834 #	6803
	BPART2P			6883 #	6853
	BRJMP			4675 #	4627	4668
	BXA			6807 #	6838
	BXAP			6857 #	6887
	BYTEAP			6851 #	6675	6854
	BYTEA			6801 #	6612	6804	8856
	BYTEIP			6885 #	6858	6860	6862	6864	6879	6881
	BYTEI			6836 #	6808	6810	6812	6814	6830	6832	10238	10297
	BYTEI2			6838 #	6836
	BYTEI2P			6887 #	6885
	CAIM			4508 #	4488	4489	4490	4491	4492	4493	4494	4495	4497	4498	4499
				4500	4501	4502	4503	4504
	CDBLST			7557 #	6583	7555
	CHALT			4764 #	3770
	CHKAC			8826 #	8812	8817	8822
	CLEAN			9255 #	6899	8943	9236	9415	9421	9427	9435	9456	9793
	CLRFPD			3936 #	6682	8026
	CLRPT			8571 #	8478	8545
	CMPDST			9870 #	9850
	CMPS			9812 #	9586
	CMPS1			9818 #	9820
	CMPS2			9828 #	9819
	CMPS3			9836 #	9863
	CMPS4			9837 #	9828
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-19
; 							Cross Reference Listing					

	CMPS5			9850 #	9842
	CMPS6			9859 #	9856
	CMPS7			9862 #	9859
	CMPSX			9844 #	9836
	CMTR			8641 #	8490
	CMTR1			8649 #	8641
	COMPEA			3799 #	3754
	CONO			8015 #	7990	8001
	CONS			8013 #	7992	7993	8003	8004
	CONT			3658 #
	D2BPF			9437 #	9263
	DASMD			5750 #	5738	5739	5740
	DBABT			9924 #	9911	9917
	DBIN			9887 #	9588
	DBIN2			9916 #	9910
	DBIN3			9919 #	9916
	DBINLP			9906 #	9920
	DBLST			4195 #	6566	7496	7557
	DBS1			9896 #	9890
	DBS2			9898 #	9894
	DBS3			9902 #	9900
	DBST			9894 #	9892
	DBXIT			9931 #	9908
	DDIV			5748 #	5741
	DDIV0			5802 #	5748
	DDIV1			5811 #	5815	5816
	DDIV2			5818 #	5812
	DDIV3			5831 #	5822	5824
	DDIV4			5835 #	5832
	DDIV6			5840 #	5837
	DDVLP			5720 #	5720	5721	5722	5723	5835	10045
	DDVSUB			5722 #	6518	7398	10040	10043	10047
	DDVX1			5846 #	5843
	DDVX2			5848 #	5846	5847
	DEXCHK			8792 #	8756	8772
	DFAS			6386 #	6388
	DFAS1			6407 #	6386
	DFAS2			6409 #
	DFAS3			6424 #	6411
	DFAS4			6430 #
	DFAS5			6431 #	6425	6438	6439
	DFAS6			6434 #	6416
	DFDV			6499 #	6400
	DFDV1			6515 #	6499	6501
	DFLOAT			6380 #	6373	6374	6375	6376
	DFMP			6464 #	6392
	DFMP1			6469 #	6464	6466
	DFMP2			6486 #	6487
	DISM			4671 #	4641	4643
	DIV			5596 #	5589	5590	5591	5592
	DIV+			5692 #	6507	7385
	DIV-			5691 #	5989	6509	7387
	DIV1			5626 #	5598
	DIV2			5633 #	5603	7007
	DIVLP			5689 #	5665	5674	5689	5690	5691	5692	5842
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-20
; 							Cross Reference Listing					

	DIVS1			5656 #	5628	5635	5658
	DIVS2			5659 #	5638	5661
	DIVS3			5664 #	5657
	DIVS4			5673 #	5660
	DIVX			5706 #	5693	5694	5695	5696
	DMOVEM			4207 #	4201
	DMOVE			4189 #	4182
	DMOVNM			4208 #	4202
	DMOVN			4188 #	4183
	DMUL1			5783 #	5785
	DMUL2			5789 #	5784
	DMULT			5771 #	5765
	DMVM1			4212 #	4207	8594
	DNHI			6563 #	6533
	DNNEG			6548 #	6527
	DNNEG1			6553 #	6549
	DNORM			6524 #	6432	6489	6512	6545	6551	6554	6555
	DNSHFT			6542 #	6567
	DNTRY			6489 #	6422	6563
	DNZERO			6566 #	6524
	DODIAG			8162 #
	DPB			6674 #	6596
	DPB1			6922 #	6680	8848	10257
	DPB2			6932 #	6924
	DRND1			6570 #	6538
	DROUND			6537 #	6535	6539
	DSTAC			3948 #
	DTEVEC			8726 #	8723
	EBUSI			8080 #	8767	8836
	EBUSO			8081 #	8753	9404
	EBUSW			8058 #	8060
	EBUSX			8055 #	8080	8081
	EDDISP			10334 #
	EDDSNG			10467 #	10475
	EDEX0			10454 #	10364
	EDEX1			10492 #	10489	10495
	EDEX2			10474 #	10455
	EDEXMD			10457 #
	EDEXX			10487 #	10467
	EDFL1			7232 #	7235
	EDFLDS			10420 #	10355
	EDFLOT			7226 #	7219	7220	7221	7222
	EDFLTX			10548 #	10545
	EDFLT			10543 #	10430	10530
	EDFLT1			10556 #	10543	10544	10546
	EDFPUT			10511 #	10517
	EDIT			10316 #	9587
	EDIT1			10327 #	10325
	EDITLP			10329 #	10414
	EDMPUT			10512 #	10442
	EDMSG			10440 #	10336
	EDNOP			10383 #	10337	10338	10339	10348	10385	10435
	EDNXT1			10396 #	10384	10408	10411	10433	10493
	EDNXT2			10407 #	10396
	EDNXT3			10414 #	10400	10404
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-21
; 							Cross Reference Listing					

	EDOPR			10348 #	10335
	EDSEL			10502 #	10353
	EDSEND			10435 #	10420	10511
	EDSF1			10517 #	10507
	EDSFIL			10507 #	10440
	EDSFLT			10528 #	10508	10533
	EDSKPT			10379 #	10341	10343
	EDSKP			10385 #	10344
	EDSPUT			10509 #	10512	10534
	EDSSIG			10428 #	10354
	EDSTOP			10371 #	10352	10510
	EDVCHK			7402 #	7397	7403
	EDVCH1			7406 #	7402
	EDVCH2			7411 #
	EDVCH3			7414 #
	EEOV			7546 #	7539	7543
	EF1			7243 #	7233
	EF10			7315 #	7306
	EF11			7322 #	7314	7320
	EF12			7326 #	7312	7318
	EF3A			7255 #	7251
	EF3B			7258 #	7256
	EF5			7267 #	7252
	EF5A			7297 #	7265	7273
	EF5B			7275 #	7261	7270
	EFDV0			7377 #	7241
	EFDV1			7396 #	7381	7382
	EFIW			3777 #	3830
	EFMP			7333 #	7238
	EFMP1			7336 #	7333
	EFMPP1			7356 #	7357
	EFMPP2			7359 #	7356
	EFMPP3			7368 #	7364	7365
	EMTR			8640 #	8488
	EMTR1			8648 #	8640
	ENFNL0			7537 #	7547
	ENFNL1			7549 #	7536	7538
	ENHI			7494 #	7468
	ENNEG			7484 #	7466
	ENNEG1			7489 #	7485
	ENORM			7463 #	7324	7374	7393	7458	7482	7487	7490	7492	7559	7783	7863
				7874	7905
	ENSHFT			7478 #	7497
	ENTRY			7559 #	7494
	ENZERO			7496 #	7464
	EQV			4312 #	4305	4306	4307	4308
	ERND1			7499 #	7473
	ERND2			7513 #
	EROUND			7472 #	7470	7475
	EXCH			4026 #	4020
	EXMSK			3769 #	3719
	EXPD			6449 #	6407
	EXPD1			6454 #	6451
	EXPDIF			7284 #	7250	7255
	EXT2			9552 #	9540	9615	9616
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-22
; 							Cross Reference Listing					

	EXT3			9560 #	9554	9562
	EXTEND			6205 #	6163
	EXTF1			9509 #	6206
	EXTF2			9515 #
	EXTI			9546 #	9517	9518	9519	9520	9542	9543
	EXTI2			9548 #	9546
	EXTLA			9540 #	9515
	EXTXA			9517 #	9549
	FAD			5886 #	5863	5865	5866
	FADR			5903 #	5868	5870	5871	5887
	FADRI			5901 #	5869
	FAS			5913 #	5904	5907
	FAS1			5919 #	5915
	FAS2			5921 #	5917
	FAS3			5927 #	5921
	FAS5			5930 #	5924	5925
	FDV			5889 #	5965	5967	5968
	FDVCHK			6082 #	5987	6083	6517
	FDVCK1			6085 #	6082	7415
	FDVNEG			6011 #	5998	6012
	FDVR			5983 #	5889	5970	5972	5973
	FDVRI			5982 #	5971
	FINI			3942 #	3933	3936	3937	3950	4479	4626	4754	4938	5797	9940
	FIX			6192 #	6162
	FIX1			6216 #	6189	6193
	FIX2			6226 #	6224
	FIXR			6188 #	6165
	FLTR			6171 #	6166
	FMP			5888 #	5936	5938	5939
	FMPR			5954 #	5888	5941	5943	5944
	FMPRI			5953 #	5942
	FPNO			5890 #	5864	5874	5937	5966
	FSB			5887 #	5873	5875	5876
	FSBR			5906 #	5878	5880	5881
	FSBRI			5902 #	5879
	FSC			6146 #	6128
	GETEEB			8099 #	4802	8113	8120	8132	8135	8466	8495	8525	8529	8581	8597
				8600	8609	8612	8621
	GETEXP			7132 #	7127
	GETSC			7127 #	6959	7060	10004	10441
	GETSRC			10201 #
	GSRC			10200 #	9772	10133
	GSRC1			10215 #	9840	10503
	GSRC2			10223 #	10216	10225
	GSRC3			10225 #	10230
	GSRC4			10238 #	10227
	GSRC5			10232 #	10229
	GSRC6			10235 #	10232
	GTAR08			8788 #	3955	8851
	GTCST			9129 #
	GTDBR			4215 #	4192	4208
	GTEBUS			8047 #	8017
	GTEEB1			8100 #	5189
	HALT1			4771 #	4776
	HALT2			4775 #	4772
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-23
; 							Cross Reference Listing					

	HLL			4130 #	4035	4083
	HLLE			4171 #	4069	4070	4071	4072
	HLLO			4175 #	4059	4060	4061	4062
	HLLZ			4174 #	4049	4050	4051	4052
	HLR			4136 #	4086	4087
	HLRE			4164 #	4116	4117	4118	4119
	HLRM			4143 #	4088
	HLRO			4168 #	4106	4107	4108	4109
	HLRS			4144 #	4089
	HLRZ			4167 #	4096	4097	4098	4099
	HRL			4133 #	4044	4045
	HRLE			4157 #	4074	4075	4076	4077
	HRLM			4139 #	4046
	HRLO			4161 #	4064	4065	4066	4067
	HRLS			4140 #	4047
	HRLZ			4160 #	4054	4055	4056	4057
	HRR			4128 #	4041	4081	4082
	HRRE			4150 #	4111	4112	4113	4114
	HRRO			4154 #	4101	4102	4103	4104
	HRRZ			4153 #	4091	4092	4093	4094
	IBP			6136 #	6129
	IBP1			6958 #	6136
	IBP2			6963 #
	IBPS			6773 #	6606	6661	6964	8855
	IDIV			5600 #	5584	5585	5586	5587
	IDIV1			5601 #	5622
	IDIV2			5619 #	5600
	IDPB			6660 #	6595
	IDST			10262 #	9871	10254
	IDST2B			10301 #	10280
	IDST2			10280 #	10263	10286
	IDST3			10286 #	10281
	IDST4			10294 #	10282
	IDST5			10288 #	10284
	IDST6			10291 #	10288
	IDST7			10297 #	10294
	IDST8			10298 #	10295
	IFNOP			3922 #	5990	6216	6519	7399	8109	8463	8558
	IFSTAC			3924 #	4855	6981
	IHALT			4761 #	4631
	ILDB			6605 #	6593
	ILLIND			3832 #	3791	3792	3793	3794	9527	9528	9529	9530
	IMUL			5496 #	5479	5481	5482
	IMUL2			5506 #	5507
	IMULI			5487 #	5480
	INDR1			3829 #	3826
	INDRCT			3826 #	3778	3780	3782	3784	3802	3804
	INTRPT			3725 #
	IO			8017 #	7987	7989	7991	7998	8000	8002	8037	8038
	IOCHK			8090 #	8011	8106	8115	8123	8161	8462
	IOFET			8029 #	8023
	IOPGF			9398 #	9355
	IOR			4292 #	4285	4286	4287	4288
	IOTEND			8021 #	8190	8538
	ISOEXP			7660 #	7232	7236	7240	7243	7341	7406	7735	7878
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-24
; 							Cross Reference Listing					

	JFCL			4748 #	4620
	JFFO			5333 #	5318
	JFFO1			5339 #	5340
	JFFO2			5344 #	5345
	JRA			4945 #	4918
	JRA1			4845 #	4955	4956
	JRAB			4956 #	4954
	JRST			4626 #	4619
	JRST2			4629 #
	JRSTF			4663 #	4629	4676
	JSA			4943 #	4917
	JSA1			4959 #	4943
	JSP			4928 #	4916
	JSP1			4937 #	4928
	JSR			4930 #	4915
	JSR1			4934 #	4932
	JSTAC			4847 #	4842	4849
	JUMP			4574 #	4563	4564	4565	4566	4567	4568	4569	4570
	KMOVED			9119 #	9113
	L-BDEC			5109 #	4985	4986
	L-CMS			5076 #	4974	4975	4976	4979	4980	4981
	L-DBIN			5107 #	4983	4984
	L-DFLT			7866 #	7725
	L-DFSC			7877 #	7726
	L-DITE			7702 #	5004
	L-EDBL			7770 #	7712
	L-EDIT			5078 #	4978
	L-EFSC			7706 #	5006
	L-FLTR			7852 #	7724
	L-FSC2			7892 #	7898	7899
	L-FSC3			7901 #	7894	7897
	L-GTDI			7694 #	5000
	L-GTDR			7698 #	5002
	L-GTPI			7690 #	4998
	L-GTSI			7696 #	5001
	L-GTSP			7729 #	7711
	L-GTSR			7700 #	5003
	L-GTS1			7741 #	7739
	L-GTS6			7745 #	7743
	L-GTS7			7765 #	7762
	L-MVS			5111 #	4988	4989	4990	4991
	L-SFTE			7692 #	4999
	L-SITE			7704 #	5005
	L-XBLT			7688 #	4997
	LDB			6611 #	6594
	LDB1			6897 #	6614	8840	9873	10217
	LDB2			6902 #	6898
	LDBRL			4216 #
	LDIMM			9084 #	9095
	LDIND			9026 #	9004	9027	9089
	LDIND1			9032 #	9026
	LDPCS			4736 #	4730
	LDPT			9101 #	9086
	LDPT1			9113 #	9106
	LDSHR			9093 #	9087
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-25
; 							Cross Reference Listing					

	LSH			5330 #	5317
	LSH1			5389 #
	LSH2			5391 #	5394
	LSH3			5396 #	5392	5398
	LSHC			5388 #	5321
	LUUO			5086 #	5018	5019	5020	5021	5022	5023	5076	5107	5109	5111	7688
				7690	7692	7694	7696	7698	7700	7702	7704	7706
	LUUO1			5088 #	5086
	LUUO2			5100 #	5090
	LUUO3			5103 #	5101
	MAP			4795 #	4789
	MAP2			4807 #	9310
	MBREL			8109 #	8116
	MEMNRM			7450 #	7257
	MOVE			3996 #	3960	3961	3967	3990	3998	4042	4084	4250	4256	4257	4271
				4272
	MOVELP			9714 #	9719
	MOVEM			4025 #	3965
	MOVF1			9789 #	9736	9782	9796
	MOVF2			9792 #	9790	10019
	MOVF3			9795 #	9792
	MOVM			3990 #	3979	3980	3981	3982
	MOVN			3993 #	3974	3975	3976	3977
	MOVNEG			3998 #	3993
	MOVPUT			9717 #
	MOVRJ			9735 #	9708
	MOVS			3987 #	3969	3970	3971	3972	4139	4143
	MOVS2			9711 #	9705
	MOVSTX			9773 #	9715
	MOVST1			9770 #	9707	9737	9776
	MOVST2			9780 #	9773
	MTRCI			8611 #	7980	7981	7982
	MTRCO			8608 #	7979
	MTRCO1			8615 #	8610
	MTRDBL			8665 #	8592	8655
	MTRINT			3722 #	3827	4773	5102	5117	5242	6837	6886	9547
	MTRREQ			8628 #	3722
	MTRRQ0			8635 #	8631
	MTRRQ1			8653 #	8646	8647	8648	8649
	MUL			5518 #	5511	5512	5513	5514
	MUL1			5523 #	5524
	MULM			5560 #	5555	5557	5573	5574
	MULP			5543 #	5541	5551	5553	5569	5571	5579	5771	7360
	MULREE			5579 #	5780	6471	6486	7062	7349
	MULSUB			5540 #	5498	5520	5958
	MUUO			5152 #	5027	5028	5029	5030	5031	5032	5033	5034	5035	5036	5037
				5038	5039	5040	5041	5042	5043	5044	5045	5046	5047	5048	5049
				5050	5051	5052	5053	5054	5055	5056	5057	5058	7714	7715	7716
				7717
	MUUOF			5189 #	5162	5190	5191	5192
	MVABT			9723 #	9718
	MVABT1			9725 #	9726
	MVABT2			9728 #	9725
	MVEND			9730 #	9781
	MVSK1			9744 #	9741
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-26
; 							Cross Reference Listing					

	MVSK3			9749 #	9746
	MVSK4			9776 #	9747
	MVSKP			9740 #	9735	9742	9744
	MVSO3			9710 #	9706
	MVST			9692 #	9591
	MVST1			9696 #	9694
	MVST2			9702 #	9700
	NEXT			3712 #	3920	3942
	NO.CST			9067 #	9042
	NOCST0			9070 #	9065
	NOCST1			9072 #	9070
	NODIVD			5611 #	5836	6987
	NOLENS			9695 #	9829
	NOP			3933 #	3923	4508	4574	4675	4704	4728	4732	4934	5170	5335	5365
				5422	5611	6615	6968	7682	7683	7740	7744	8022	8024	8029	8755
				9844	10011	10597	10687	10737
	NOP2			3937 #
	NOT.WR			9183 #	9177
	NOTWR			9159 #	9134	9180
	NOUPDT			9174 #	9121
	NXTW2			6791 #	6789
	NXTWRD			6784 #	6775	6778
	OPDISP			10351 #	10349
	ORCA			4333 #	4326	4327	4328	4329
	ORCB			4363 #	4356	4357	4358	4359
	ORCM			4353 #	4346	4347	4348	4349
	OVTEST			7679 #
	OVTST1			7677 #
	OVTST2			7683 #	7679	7681
	PAGBI			8502 #	7940
	PAGBO			8461 #	7942
	PAGCI			8528 #	7945	7946	7947
	PAGCO			8524 #	7944
	PAGD2			8488 #	8477
	PAGDI			8494 #	7941
	PAGDO			8465 #	7943
	PCA			4734 #	4647	5096
	PCTXT			8511 #	5164	8500
	PF1			8904 #	8901
	PF2			8912 #	8910
	PF24			3791 #	6821	6822	6823	6824	6871	6872	6873	6874
	PF4			8943 #	8921	8937
	PFPAR			8931 #	8914	8919
	PFPAR1			8933 #	8931
	PFPAR2			8934 #	3835
	PFT			9235 #	9001	9018	9051	9055	9071	9082	9108	9159
	PGF1			9330 #	9255
	PGF2			9335 #	9330
	PGF4			9352 #	9335
	PGFAC0			9415 #	9458	10415	10586
	PGRF1			8953 #	8969
	PGRF2			8987 #	8954
	PGRF3			8993 #	8988	8990
	PGRF5			9040 #	9003
	PGRF6			9053 #	9050
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-27
; 							Cross Reference Listing					

	PGRST1			9211 #	9204	9213
	PGRST2			9215 #	9212
	PGRST3			9228 #	9216
	PHYS1			8812 #	8760
	PHYS2			8817 #	8736
	PHYS3			8822 #	8782
	PIBI			8158 #	7929
	PIBO			8160 #	7931
	PIBPA			8851 #	8835	8845
	PIBYTE			8835 #	8710
	PICI			8183 #	7934	7935	7936
	PICO			8179 #	7933
	PICOM1			8193 #	8180	8183
	PICOM2			8190 #	8181
	PICYC1			8699 #	3723	3725
	PICYC2			8717 #	3713
	PIDATI			8767 #	8709
	PIDATO			8751 #	8708
	PIDI			8146 #	7930
	PIDISP			8704 #
	PIDO			8145 #	7932
	PIDONE			8754 #	8745	8746	8774	8777	8778	8784	8823	8824	8849	9405
	PIDPB			8844 #	8837
	PIFET			8755 #	8030	8633
	PIIBP			8854 #	8839	8846
	PIINCR			8744 #	8707
	PIINST			8721 #	8644	8704	8705	8712	8717
	PILD			8730 #	8751	8792	8795	8854
	PIOUT			8753 #	8762	8813	8814	8841
	PIST			8777 #	8770
	PIVECT			8719 #	8706
	PMTR1			8647 #	8639
	POP			4883 #	4819
	POP2			4905 #	4883
	POP3			4909 #	4907
	POPJ			4885 #	4820
	POPJ2			4895 #	4902
	POPJ3			4896 #	4903
	POPJ4			4897 #	4895
	POPJT			4902 #	4890
	PSTOR			8782 #	8773
	PTLOOP			8555 #	8482	8557
	PUSH			4837 #	4818
	PUSHJ			4839 #	4817
	PUTDST			10254 #	9717	9774	9789	10091	10509	10560
	PXCT			5244 #	5241
	RDEBRG			4801 #	8158
	RDEMTR			8674 #	8666	8668
	RDEX			8786 #	8752	8771
	RDMTR			8580 #	7964	7965	7975	7976
	RDMTR1			8591 #	8585	8586	8587	8588
	RDMTR2			8678 #	8675
	RDUMTR			8676 #	8670	8672
	RELEB			8062 #	8059
	RELEEB			8018 #	8114	8121	8138	8139	8470	8503	8605	8615
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-28
; 							Cross Reference Listing					

	RELMEM			6943 #	6928
	RESETP			10243 #	10236	10292
	RET1			8096 #	10018
	ROT			5351 #	5316
	ROT3			5375 #	5378
	ROT4			5380 #	5376	5383
	ROTC			5372 #	5320
	ROTS			5116 #	3715	9353
	RSTF			4668 #
	RSTF0			4666 #	4663
	SDIV			7154 #	7154	7155
	SDIV-			7155 #	7152
	SDIVR			7159 #	7156
	SECIMM			9003 #	9033
	SECPTR			8998 #	8993	9017
	SETCA			4322 #	4315	4316	4317	4318
	SETCM			4343 #	4336	4337	4338	4339
	SETEBR			8544 #	8526
	SETFLG			10562 #	9983	10559
	SETO			4373 #	4366	4367	4368	4369
	SETPC			5170 #	3655
	SETZ			4227 #	4220	4221	4222	4223
	SFET1			10375 #	9783	10373
	SGNEXT			7667 #	7297	7300	7345	7352	7378	7414	7765	7904
	SHIFT			6910 #	4750	5427	5796	6902	7132	7137	7326	7370	8544	8726
	SHR1			5358 #	5331	5362
	SHR2			5363 #	5359	5364
	SIXDIV			7152 #	6980	6985
	SKIP			4526 #	4515	4516	4517	4518	4519	4520	4521	4522	4542	4557
	SN1			6288 #	6281	6294
	SNORM			6251 #	5931	5959	6000	6011	6172	6253	6255	6286	6304	7768
	SNR2			6254 #	6148
	SNZERO			6301 #	6252
	SOJ			4604 #	4593	4594	4595	4596	4597	4598	4599	4600
	SOS			4557 #	4546	4547	4548	4549	4550	4551	4552	4553
	SRCMOD			10132 #	9714	9907	10187	10189	10190
	SRND2			6337 #	6317
	SRND3			6340 #
	SRND4			6341 #	6336
	SRND5			6351 #	6302
	SROUND			6317 #	6256	6258	6260	6262	6289	6291	6292
	ST0			3913 #	3987	3996	4128	4130	4133	4136	4140	4144	4153	4154	4160
				4161	4167	4168	4174	4175	4227	4237	4247	4266	4282	4292	4302
				4312	4322	4333	4343	4353	4363	4373	5461	5474	5523	5614	5616
				5621
	ST2AC			3915 #	3916	5449	5760	5762	5850	5852	7882
	ST6			3921 #	4804	5506	6351	6355
	STAC			3920 #	3932	4008	4009	4480	4481	4482	4897	4937	4960	5229	6227
				7074	9730
	STAC1			3950 #	6365
	STAC4			9940 #
	START			3655 #	4782
	STBOTH			3925 #
	STCST			9149 #	9141
	STD1			3949 #	3915	4195	6580	7553
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-29
; 							Cross Reference Listing					

	STDAC			5384 #	4191
	STMAC			4852 #	4026	4837	4909	5233	5235
	STMEM			3923 #	4213	8128	8166
	STOR34			9935 #	9926	9932
	STORAC			3932 #	3925	4589	4605	4613	4810	4848	5447	6225	7732	10375
	STRAC1			6365 #	5346	5384	5399	10073	10592
	STRAC3			5797 #
	STRNC			6336 #	6321
	STRPF			9451 #	9294	9298
	STRPF1			9453 #	9460
	STRPF2			9458 #	9442	9453	9750
	STRPF3			9456 #	9449
	STRPF4			9460 #	9306	9320
	STSELF			3931 #	3918	4527	4853
	SUB			5473 #	5466	5467	5468	5469
	SWEEP			8105 #	7951	7952	7953	7954	7955	7956	7957	7958
	TAKINT			3827 #	4811	8071	9334
	TDC			4481 #
	TDN			4479 #	4269	4270	4378	4379	4387	4388	4470	4473
	TDO			4482 #
	TDX			4469 #	4382	4391	4396	4400	4405	4409	4414	4418	4423	4427	4432
				4436	4441	4445
	TDXX			4477 #	4380	4384	4389	4393	4398	4402	4407	4411	4416	4420	4425
				4429	4434	4438	4443	4447
	TDZ			4480 #
	TIMBO			8620 #	7966
	TIMBO1			8604 #	8624
	TIMCI			8599 #	7969	7970	7971
	TIMCO			8597 #	7968
	TIMCO1			8470 #	8598
	TIMDO			8618 #	7967
	TMTR1			8646 #	8638
	TRAP			3755 #
	TRAPX			3761 #	3755	3757
	TRNABT			10162 #	10166
	TRNAR			10148 #	10505
	TRNFNC			10160 #	10150	10152	10163	10164	10165	10168
	TRNNS1			10186 #	10176
	TRNNS2			10188 #	10186
	TRNRET			10171 #	10161
	TRNSIG			10165 #	10167
	TRNSS			10176 #	10172
	TRNSS1			10192 #	10177
	TSX			4472 #	4383	4392	4397	4401	4406	4410	4415	4419	4424	4428	4433
				4437	4442	4446
	TSXX			4475 #	4381	4385	4390	4394	4399	4403	4408	4412	4417	4421	4426
				4430	4435	4439	4444	4448
	UNHALT			4781 #	4775
	UP			10672 #	10661
	UP1			10678 #	10672	10680
	UP1PX			10728 #	10714	10730
	UP2			10682 #	10677	10678	10679
	UP2PX			10732 #	10728	10729
	UP3			10684 #
	UP3PX			10734 #
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-30
; 							Cross Reference Listing					

	UP4			10687 #	10684
	UP4PX			10737 #	10734
	UPPX			10714 #
	UUO			5151 #	4630	4642	4644	4652	4653	4666	4671	4693	4761	4807	4973
				5062	5063	5209	5322	5859	5860	5890	7977	7978	8047	8090	8099
				8146	8193	8502	8618	9509	9513	9695	10468	10477
	UUO107			4760 #
	UUOC1			5175 #	5173
	UUOC2			5182 #	5094	5158
	UUOCOM			5173 #	5088	5153
	UVERS			3955 #	8125
	UXCT			5245 #	4781
	WGRANT			8070 #	8048	8074	8194
	WGRNT1			8073 #	8070
	WGRNT2			8075 #	8073
	WRFAIL			9180 #	9183
	WRHPT			9184 #	9171	9178
	WXFER			8060 #	8056
	XBLT			10571 #	7709
	XBLT3			10575 #	10573
	XBLT4			10597 #	10575
	XBLTDN			10581 #	10589
	XBLTD1			10588 #	10585
	XBLTPF			9420 #	9315	10612
	XBLTUP			10603 #	10611
	XBLTU1			10609 #	10599
	XBLTX			10592 #	10605
	XCT			4793 #	4788
	XCT1			5241 #	4793
	XCTGO			3753 #	3756	3767	5245
	XCTW			3767 #	3658	5103	8721	8722	8724	8727
	XFERW			4860 #	4845	5093	5752	5819	6382	7135	7227	7856	8515	8533	8679
				8730	8731	8818	8819	10557
	XHLLI			4013 #	4037
	XJRSTF1			4706 #	4633
	XJRSTF2			4727 #	4721	4724
	XJRSTF3			4730 #	4727
	XLATE			10146 #	10136
	XMOVEI			4006 #	4252
	XMOVEI1			4008 #	4014
	XOR			4282 #	4275	4276	4277	4278
	XPCW1			4693 #	4635
	XPCW2			4716 #	4702
	XSFM1			4679 #	4646
	XSFM2			4704 #	4682
(D) J				2193 #
(U) KLPAGE			1847 #
	OPTIONS			1850 #	8127
(U) LONGPC			1856 #
	OPTIONS			1859 #	8127
(U) MACRO%
	A INDRCT		2220 #	3777	3779	3781	3783	3801	3803
	A READ			2221 #	3786	3787	3788	3789	3799	3800
	ABORT INSTR		2226 #	8653	9356
	AC0			2227 #	4887	4905	5224
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-31
; 							Cross Reference Listing					

	AC0_AR			2228 #	3915	3920	3948	4195	4938	5365	5384	5399	5783	6415	6427
				6579	6615	7007	7060	7264	7298	7551	7683	9415	9446	9455	9859
				9925	10044	10046	10073	10588	10590	10604	10606	10668
	AC1_AR			2229 #	3950	5335	5790	5837	5838	6435	6506	6508	7042	7137	7265
				7271	7384	7386	9420	9447
	AC2_AR			2230 #	5794	5848	9421	10592
	AC3_AR			2231 #	5777	5797	5850	5851	9437	9453	9456	9725	9749	9781	9855
				9900	9901	9935	9972	9984	10015
	AC4			2233 #	9442	9890	9940
	AC4_AR			2237 #	9442	9940
	AC5			2239 #
	AC5_AR			2243 #
	AD FLAGS		2244 #	3998	4193	4209	4542	4557	4589	4605	5461	5474	5760	5762
	AD LONG			2245 #	5851	6227	9977
	ADMSK			2246 #	3719	4679	4694	4841	4932	4937	5089	5170	5175	5179	5183
				8702	8736	8760	8782	8797	8827	9366
	AR+ARX+MQ_0.M		2473 #	6301	6977	7882	9771	10132
	AR+MQ_0.M		2474 #	9909
	AR+MQ_0.S		2475 #	7472
	AR0-3 DISP		2477 #	8751	8770	9000	9080	10149
	AR0-8_#			2478 #	3955	5190	5191	5192	7285	7337	7389	7524	7737	7739	7745
				7778	7859	7872	8127	8477	8489	8572	9697	9887	10007
	AR0-8_# AND AR0-8	2479 #
	AR0-8_# OR AR0-8	2480 #	9183
	AR0-8_#+SC		2481 #	9511
	AR0-8_-SC-1		2482 #
	AR0-8_FE		2483 #	8946	9703	9892
	AR0-8_FE OR #		2484 #	9893
	AR0-8_FE OR SC		2485 #	8968
	AR0-8_FE#		2486 #	9890
	AR0-8_FE+#		2487 #	8723	8787	8851
	AR0-8_FE+1		2488 #
	AR0-8_FE+SC		2489 #
	AR0-8_FE-SC		2490 #
	AR0-8_FE.M		2491 #	10012
	AR0-8_FE.R		2492 #
	AR0-8_SC		2493 #	7127	7129	8947
	AR0-8_SCAD		2494 #	7127	7129	8946	8947	9703	9892
	AR0-8_SCAD#		2495 #	8723	8787	8851	9183	9511	9893
	AR0-8_SCAD.M		2496 #	8968	10012
	AR0-8_SCAD.R		2497 #
	AR12-17_PC SEC		2498 #	4951	4956
	AR12-17_PREV SEC	2499 #	4680	4697	5177	8512	9369
	AR18-21 DISP		2500 #	10151
	ARL+ARX+MQ_0.M		2524 #
	ARL+ARX_0.M		2525 #	7019	7052	8591	8654
	ARL_0S			2505 #	4153	4167	9106
	ARL_0.C			2502 #	8033
	ARL_0.M			2503 #	4954	4955	9003	9004	9005	9087	9088	9554	10089	10092	10324
				10402	10428	10457	10528
	ARL_0.S			2504 #	4888	4891	8615
	ARL_1S			2507 #	4154	4168	9562
	ARL_1S.M		2508 #
	ARL_1.M			2506 #	4008	5173
	ARL_AC0			2509 #	4128	4136	4143
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-32
; 							Cross Reference Listing					

	ARL_ARL			2510 #	4029	4130	4144	4174	4175	5180	7040	8138	8189
	ARL_ARL.M		2511 #	8465
	ARL_ARL.S		2512 #	4014
	ARL_ARR			2513 #	4133	4139	4140	4160	4161	5223	8015	9414	10666	10720
	ARL_ARR.M		2514 #	8131	8179	8524	8608
	ARL_ARR.S		2515 #	8126
	ARL_ARX (ADX)		2516 #	8948
	ARL_ARXL		2517 #	4681	4960	8605	9370
	ARL_ARXL.M		2518 #
	ARL_BRL			2519 #	4698	6790	8503
	ARL_BRL.M		2520 #	10648
	ARL_BRL.S		2521 #	5166
	ARL_SHIFT		2522 #	9084
	ARL_SIGN		2523 #	5228
	ARR+MQ_0.S		2538 #
	ARR_0S			2530 #	4160	4174
	ARR_0.C			2527 #
	ARR_0.M			2528 #	8537
	ARR_0.S			2529 #	5341
	ARR_1S			2531 #	4161	4175
	ARR_AC0			2532 #	4029	4130	4133	4139
	ARR_AC0.S		2533 #	4014
	ARR_ARL			2534 #	4136	4143	4144	4167	4168	4954	4955	8465	8948	8953	10648
	ARR_ARR			2535 #	4008	4128	4140	4153	4154	4681	4698	5223	5228	8015	8131
				8179	8524	8608	9370
	ARR_BR			2536 #
	ARR_PC+1		2537 #	4960
	ARX+MQ_0.M		2628 #	5336	5596	5601	6146	6992	9589
	ARX+MQ_0.S		2629 #	5983
	ARX0-3 DISP		2631 #	8654
	ARX0_MQ35		2630 #	9836
	ARX_-AC0		2542 #
	ARX_-BRX		2543 #	7008
	ARX_-SLEN		2544 #	9438
	ARX_0S			2548 #	4749	5434	5540	5764	5818	5904	5906	5954	6012	6435	6469
				6566	6982	7042	7348	7496	8524	8535	8571	9841	9889	9894	10071
	ARX_0.C			2545 #
	ARX_0.M			2546 #	5330	6252	7781	10085
	ARX_0.S			2547 #
	ARX_1B1			2550 #	6189
	ARX_1B17-1		2551 #	5163	8499
	ARX_1S			2552 #	3714	6320	7368	9587	9705	9900
	ARX_1			2549 #	5223	6572	7550
	ARX_2			2553 #	7499
	ARX_AC0			2555 #	5351	9694	9970	10316
	ARX_AC0 COMP		2556 #
	ARX_AC0+1		2557 #	4837	4842
	ARX_AC1			2558 #	4207	4208	5372	5388	5806	6436	7888
	ARX_AC2			2559 #	7709
	ARX_AC3			2560 #	5748	5792	10088
	ARX_AC4			2561 #	9890
	ARX_AR			2563 #	4026	4028	4772	5406	5408	5412	5426	5613	5615	5626	5754
				5922	5925	6171	6206	6407	6409	6412	6515	6611	6674	6787	6903
				7132	7152	7160	7304	7306	7308	7322	7396	7455	7520	7535	7537
				7734	7772	7869	7883	8187	8488	8490	8518	8620	8726	8768	8788
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-33
; 							Cross Reference Listing					

				8837	8856	9113	9352	9354	9454	9699	9702	9735	9773	9812	9837
				9855	9857	9909	9968	10034	10076	10149	10223	10228	10239	10283	10298
				10301	10330	10402	10428	10435	10528	10642
	ARX_AR (AD)		2564 #	5245	5360	5375	5377	5382	5393	7136	8465	8904	8905	8947
				9120	10235	10291
	ARX_AR ANDCA BR		2566 #
	ARX_AR AND ADMSK	2565 #	8797
	ARX_AR SIGN		2567 #	6193
	ARX_AR SWAP		2568 #	4720	4723	4943	5179	8137	8185	8532	8602	8635	8953	9129
				9174	10089	10151
	ARX_AR*4 COMP		2569 #	10005
	ARX_AR*MSK		2570 #	10171
	ARX_AR+1		2571 #	10010
	ARX_AR+CBR		2573 #
	ARX_AR-1		2575 #	4905	9818	9859	9860
	ARX_AR-BR		2576 #
	ARX_ARX AND ADMSK	2578 #	8827
	ARX_ARX ANDC ADMSK	2579 #	4679
	ARX_ARX*-6		2580 #	5342
	ARX_ARX*.25		2581 #	5999
	ARX_ARX*.5		2582 #
	ARX_ARX*2		2583 #	4215	5753	6217	6383	7228	7761	7763	7857	7901	8680	9896
				10342
	ARX_ARX*2 COMP		2584 #	9085
	ARX_ARX*4		2585 #	7500	10340
	ARX_ARX*4 COMP		2586 #
	ARX_ARX*8		2587 #	5802	8511	8512
	ARX_ARX*BRX		2588 #	6342	6582	7554
	ARX_ARX*EXPMSK		2589 #
	ARX_ARX+1		2590 #	5345	10688	10738
	ARX_ARX+CBR		2592 #
	ARX_ARX-1		2594 #	5340	7029	10576	10588
	ARX_ARX-1 (AD)		2595 #	9740
	ARX_BR			2597 #	5416	5811	9014
	ARX_BR*2		2598 #	5807
	ARX_BR+1		2599 #	10604
	ARX_BRX			2600 #	4748	5086	5152	5430	5448	6421	6450	6579	7552	8769	9854
	ARX_BRX COMP		2601 #	6550	6553	7486	7489
	ARX_BRX+1		2602 #	9707	9737	9776	10606
	ARX_DSTP		2603 #	9870	10254
	ARX_DSTP2		2604 #	10282	10476
	ARX_E1			2605 #
	ARX_FILL		2606 #
	ARX_FM			2607 #	9081	9204	9212	9216	9218	9283	9839	9870	10031	10201	10227
				10254	10282	10476	10502
	ARX_FM(VMA)		2608 #	3756
	ARX_MEM			2609 #	3767	3826	3827	4191	4192	4860	4889	4892	5156	6836	6837
				6885	6886	6922	7758	9546	9547
	ARX_PC			2611 #	8949	9365
	ARX_PC+1		2612 #	4635	4646	5182
	ARX_SHIFT		2613 #	5116	5380	5396	5411	5442	5633	5636	5791	5795	5803	5809
				5820	5924	6220	6226	6284	6902	6938	6941	7310	7317	7522	8536
				8665	8667	8669	8671	8826	9003	9013	9088	9965
	ARX_SRCP		2614 #	9839	10201	10502
	ARX_SRCP2		2615 #	10227
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-34
; 							Cross Reference Listing					

	ARX_SV.AR		2617 #	9212
	ARX_SV.ARX		2618 #	9216	9218	9283
	ARX_SV.BR		2619 #	9204
	ARX_SV.VMA		2620 #	9081
	ARX_T0			2622 #
	ARX_T2			2623 #	10031
	ARX_VMA HELD		2627 #	8949
	AR_(AR+2BR)*.25		2252 #	5570	5930
	AR_(AR+BR)*.25		2253 #	5552	5568
	AR_(AR-2BR)*.25		2254 #	5554
	AR_(AR-BR)*.25		2255 #	5556	5572
	AR_(ARX OR AR*4)*.25	2256 #
	AR_-AC0			2257 #
	AR_-AR			2258 #	5907	6355
	AR_-AR LONG		2259 #	5658	5661	6083	6388	7234	7403	7557	9978
	AR_-BR			2260 #	3998	5668	5678	5851	6555	7255	7491	9974	10041
	AR_-BR LONG		2261 #	4193	4209	5813	5816	5847	9933
	AR_-BR*2 LONG		2262 #
	AR_-BRX			2263 #	5613
	AR_-DLEN		2264 #
	AR_-SLEN		2265 #	9451	9723
	AR_0.C			2266 #	4646	7368
	AR_0.M			2267 #	5393	9745	10010
	AR_0.S			2268 #	4696	5176	9368
	AR_0S			2269 #	4160	4174	4195	4212	4227	4764	4801	5161	5350	5540	5764
				6225	6317	6469	6566	6902	6903	6959	6982	7060	7137	7152	7241
				7336	7348	7496	8461	8476	8518	8528	8532	8571	8574	8582	8599
				8602	8611	8620	8635	8658	8665	8667	8669	8671	8719	8726	8788
				8794	8945	8961	9374	9437	9702	9773	9889	9894	10071	10076	10441
	AR_1			2270 #	5600	9130	9898
	AR_1 LONG		2271 #	9980
	AR_1S			2272 #	4161	4175	4373	9710	9901	10004
	AR_2			2273 #	10556
	AR_2(AR*BR)		2274 #	5656	5659	5664	5673	5689	5690	5691	5692	5720	5721	5722
				5723	5831	5833	7154	7155	9920
	AR_2(AR+1)		2275 #	5344
	AR_2(AR+BR)		2276 #	5659	5664	5689	5692	5720	5723	5833	7154
	AR_2(AR+BR) LONG	2277 #	9920
	AR_2(AR-BR)		2278 #	5656	5673	5690	5691	5721	5722	5831	7155
	AR_AC0			2280 #	3860	4026	4029	4130	4133	4139	4574	4604	4883	4885	4943
				4953	5330	5333	5351	5373	5389	5406	5408	5473	5496	5519	5602
				5620	5626	5754	5778	5809	5913	5956	5986	6147	6407	6430	6438
				6439	6479	6515	6679	7073	7243	7260	7297	7322	7340	7351	7396
				7455	7877	7902	9812	9965	10034	10573	10643
	AR_AC0 COMP		2281 #	9588
	AR_AC0+1		2282 #	4589	4613	10585	10586
	AR_AC1			2283 #	5843	5844	6464	6465	6511	7027	7314	7320	7321	7347	7392
				9589	10571
	AR_AC1 COMP		2284 #
	AR_AC1*2		2285 #	5371	5597	5750	6386	6499	6501	7275	7334	7381	7382	7454
	AR_AC2			2286 #	5804
	AR_AC3			2287 #	9448	9586	9591	9897	9968	9982	10006	10457
	AR_AC3*2		2288 #
	AR_AC4			2289 #
	AR_ADMSK AND VMA HEL	2291 #
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-35
; 							Cross Reference Listing					

	AR_AD*.25 LONG		2290 #	5658	5661	6083	6388	7234	7403	7557	9978	10075
	AR_ARX			2346 #	3753	3829	4663	4848	4853	4855	5180	5185	5384	5399	5430
				5434	5790	5802	5807	5997	6251	6424	6427	6435	6542	6791	6838
				6887	6988	7136	7264	7269	7478	7749	7780	8138	8467	8622	8786
				8904	8905	8919	8950	8969	9011	9041	9046	9120	9125	9184	9212
				9215	9217	9420	9442	9446	9515	9548	9552	9555	9557	9560	9696
				9781	9841	9900	9972	9993	9995	10019	10092	10193	10230	10235	10291
				10324	10325	10326	10351	10355	10384	10403	10433	10481	10489	10543	10544
				10545	10546	10590	10592
	AR_ARX (ADX)		2348 #	5360	5376	5377	5383	5391	5398	6223	6282	6415	6428	6543
				7018	7479
	AR_ARX (AD)		2347 #	3777	3781	3786	3788	7317	7326	9175	9414	9855	9857
	AR_ARX ANDC ADMSK	2350 #	4694	5089	5175	9366
	AR_ARX AND ADMSK	2349 #	5183
	AR_ARX COMP		2351 #	9701
	AR_ARX OR PUR		2353 #
	AR_ARX*.25		2355 #	5999	9113
	AR_ARX*.25-AR-1		2356 #	10008
	AR_ARX*2		2357 #	7072
	AR_ARX*4		2358 #
	AR_ARX*4 COMP		2359 #
	AR_ARX*AC1		2360 #	7038	7040
	AR_ARX*BR		2361 #	7549	8513
	AR_ARX*BRX		2362 #	4701	8189	9372	9749
	AR_ARX*E1		2363 #
	AR_ARX+1 (AD)		2364 #	10285
	AR_ARX+AR*4		2365 #
	AR_ARX+BR		2366 #	7532	9412
	AR_ARX+XR		2367 #	3779	3783	3787	3789
	AR_ARX-1		2368 #	5346	7051	9818	9859	9860
	AR_ARX-BR		2369 #	9455
	AR_AR AND ADMSK		2293 #	4841	4932	4937
	AR_AR AND CSMSK		2295 #	9054	9134	9149
	AR_AR OR PUR		2296 #	9056	9171
	AR_AR SWAP		2298 #	3987	4472	4475	4745	5902	5953	5982	7880	8538	8623	9204
				10667	10721
	AR_AR*.25		2300 #	7776
	AR_AR*.25 LONG		2301 #	5551	5574	6011	6254	6303	6532	6534	7467	7469	7513	7766
	AR_AR*.5		2302 #	6340	7775
	AR_AR*.5 LONG		2303 #	6536	6570	7471	7502	7516	10136	10504
	AR_AR*1.25 LONG		2304 #	10075
	AR_AR*10		2305 #	9899
	AR_AR*10 LONG		2306 #	9992	10097
	AR_AR*2			2307 #	3719	8630
	AR_AR*2 LONG		2308 #	6257
	AR_AR*4			2309 #	8706	8710	8752	8771
	AR_AR*4 LONG		2310 #	6259
	AR_AR*5 LONG		2311 #	9919
	AR_AR*8			2312 #	7258	7267	7748	10336	10344	10379
	AR_AR*8 LONG		2313 #	6261	6280	6293
	AR_AR*AC0		2314 #	4237	4247	4266	4282	4292	4302	4312	4322	4333	4353	4363
				4480	4481	4482	5226	5229	5461	6991
	AR_AR*AC1		2315 #
	AR_AR*BR		2316 #	4753	5100	5178	7525	8514	9147	9971
	AR_AR*EXPMSK		2317 #
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-36
; 							Cross Reference Listing					

	AR_AR*MSK		2318 #	10173
	AR_AR*SFLGS		2319 #	9454	9458	9730	9924
	AR_AR*SLEN		2320 #	9449
	AR_AR*T0		2321 #	9444	9851
	AR_AR+1			2323 #	3769	4542	6537	6549	6784	6788	7485	8034	8745	9742	10035
				10225	10233	10281	10289	10372	10407	10409	10533
	AR_AR+1 LONG		2324 #	10035
	AR_AR+1-AR0		2325 #	10229	10284
	AR_AR+BR		2326 #	5693	5696	5706	5760	5772	6227	6337	6431	6478	7156	7159
				7323	7342	7350	7501	7779	7889	8555	8593	8656	8796	9453	9729
				10666	10720
	AR_AR+BR LONG		2327 #	5706	5760	5772	6478	7350	8593	8656
	AR_AR+E1		2328 #	10083	10137
	AR_AR+SBR		2330 #
	AR_AR+T0		2332 #	7053
	AR_AR+T1		2333 #	6986	7017	7021
	AR_AR+XR		2338 #
	AR_AR-1			2340 #	4557	4605	4886	8746	10186
	AR_AR-BR		2341 #	5474	5694	5695	5709	5762	7157	7339	7747	9699	9726	10649
				10650
	AR_AR-BR LONG		2342 #	5709	5762
	AR_AR-BR-1		2343 #
	AR_AR-T0		2344 #
	AR_BRX			2384 #	5169	5436	5615	5811	8770	8773	8847	9510	10485	10534
	AR_BRX+1		2385 #	10604
	AR_BR			2371 #	4897	5426	5439	5622	5791	5795	5850	5890	6206	6218	6336
				6421	6450	6544	6779	6780	6781	6782	6966	7252	7256	7338	7378
				7480	7531	7741	7746	7860	7873	7879	8047	8090	8099	8126	8146
				8193	8502	8580	8618	8944	8966	9012	9405	9509	9513	9838	9854
				10467	10487
	AR_BR COMP		2372 #	6550	6553	7486	7489	9700
	AR_BR COMP LONG		2373 #	5815
	AR_BR LONG		2374 #	5821	5823	5846	7311	7371	9263	9290	9315	9903	9916	9925
				9931	10038	10069	10078	10094	10612
	AR_BR OR ARX		2375 #
	AR_BR*.5		2376 #
	AR_BR*.5 LONG		2377 #	9984
	AR_BR*2			2378 #	5915
	AR_BR*2 LONG		2379 #	5424	6288
	AR_BR*4			2380 #
	AR_BR*4 LONG		2381 #	6290
	AR_BR+1			2382 #	10606
	AR_BR+1 LONG		2383 #
	AR_CACHE CNT		2387 #	8588	8641
	AR_DLEN			2388 #	9294	9298	9306	9320	9708	9715	9718	10176	10200
	AR_DLEN COMP		2389 #	9267
	AR_DLEN+1		2390 #	9790
	AR_DSTP			2391 #	9429	9706	9870	10182	10254	10354	10363
	AR_DSTP+1		2392 #
	AR_DSTP2		2393 #	10283	10549
	AR_DSTP2+1		2394 #
	AR_DSTW			2395 #
	AR_E0			2396 #	9695
	AR_E1			2397 #
	AR_EBOX CNT		2398 #	8587	8640
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-37
; 							Cross Reference Listing					

	AR_EBUS			2399 #	3723	3725	8058
	AR_EBUS REG		2400 #	4803	8516	8534	8920	8935
	AR_FILL			2401 #	9789
	AR_FM[]			2403 #	9398
	AR_FM			2402 #	5820	5840	6981	7043	7061	9001	9018	9051	9055	9071	9082
				9108	9159	9176	9198	9259	9294	9298	9306	9310	9320	9335	9400
				9429	9695	9706	9708	9715	9718	9735	9783	9789	9839	9870	10020
				10032	10134	10150	10152	10176	10177	10182	10189	10200	10201	10228	10254
				10283	10354	10363	10502	10511	10549	10559	10561
	AR_FM(#)		2405 #
	AR_FM(VMA)		2407 #
	AR_INTERVAL		2408 #	8601
	AR_MEM			2410 #	3871	3893	3904	4718	4719	4722	4734	4860	4888	4891	4907
				4908	6787	6897	6899	6922	6928	7730	7771	7854	7868	8017	8744
				8753	8998	9013	9033	9053	9072	9095	9376	9692	9828	9829	10018
				10087	10148	10331	10459	10474	10507	10512	10581	10609	10677	10678	10728
	AR_MQ			2411 #	5380	5396	5724	5725	5726	5727	5773	5779	5794	5841	6226
				6434	6486	6506	6508	6938	6990	7160	7356	7384	7386	7414	7677
				8768	9842	10044	10046	10256	10493	10583
	AR_MQ COMP		2412 #	6526	7465
	AR_MQ*.25		2413 #	6284
	AR_MQ*2			2414 #
	AR_MQ*4			2415 #	8837
	AR_MQ*AC1		2416 #
	AR_MQ*AC2		2417 #
	AR_MQ*AC3		2418 #
	AR_MQ+1			2419 #	3712	10659	10713
	AR_MQ+AC0		2420 #
	AR_MQ-1			2421 #	10576	10588	10603
	AR_MQ-BR		2422 #
	AR_MTR REQ		2423 #	8629
	AR_PC			2424 #	4751	5159	9352	9354
	AR_PC FLAGS		2425 #	5179
	AR_PC+1			2426 #	4839	4928	4930
	AR_PERF CNT		2427 #	8586	8639
	AR_PERIOD		2428 #	8603
	AR_PUR+AR0		2430 #
	AR_SERIAL		2433 #	8124
	AR_SFLGS		2434 #	9783	10134	10150	10152	10177	10511	10559	10561
	AR_SHIFT		2435 #	3949	4213	4749	5116	5166	5337	5339	5358	5363	5447	5448
				5506	5789	5792	5805	5849	5927	6426	6436	6540	6567	6579	6910
				6941	6943	7315	7476	7497	7551	7679	7681	7885	7888	8107	8503
				8659	8789	9014	9356	9438	9711	9902	9936	10077	10160	10316	10332
	AR_SIGN			2436 #	3915	3948	5411	5412	5423	5507	5633	5636	5783	5848	5921
				5922	6172	6220	6409	6412	7306	7308	7520	7862	7869	7883	9935
	AR_SLEN			2437 #	10189
	AR_SLEN COMP		2438 #	9460	9728	9746	9911	9917
	AR_SLEN+1		2439 #	9714	9906	10066	10187	10190
	AR_SRCP			2440 #	9259	9735	9839	10201	10502
	AR_SRCP+1		2441 #
	AR_SRCP2		2442 #	10228
	AR_SRCP2+1		2443 #
	AR_SV.AR		2444 #	9400
	AR_SV.ARX		2446 #
	AR_SV.BR		2447 #	9001	9018	9051	9055	9071	9082	9108	9159
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-38
; 							Cross Reference Listing					

	AR_SV.PFW		2448 #	9176	9310	9335
	AR_SV.SC		2449 #	9198
	AR_SV.VMA		2450 #
	AR_SWD			2452 #
	AR_T0			2454 #	5820	6981	7043	10020
	AR_T1			2455 #	5840	10032
	AR_T2			2456 #	7061
	AR_TIME BASE		2457 #	8585	8638
	AR_VMA HELD		2468 #	9352	9354
	AR_XR			2469 #	4664
	AR_[] AND FM[]		2250 #
	B DISP			2635 #	4189	4470	4473	4477	4853	5362	5417	5437	5441	5755	5887
				5902	6383	7228	8033	8583	8591	9615	9616	9704	9891	9899	10077
				10135	10172	10176
	B WRITE			2636 #	4804	5506	6351	6355	8018	8190	8538
	BLKO TIM(L)		2637 #	8622	8624
	BLKO TIM(R)		2638 #	8623
	BR_AR LONG		2639 #	4216	5423	5540	5707	5710	5811	5813	5815	5816	5821	5823
				5846	5847	6218	6280	6293	6317	6320	6386	6391	6399	7368	7371
				7380	7472	8674	8676	9898	9906	9916	9980	9982	10038	10041	10065
	BYTE DISP		2640 #	4775	6605	6611	6660	6674	6958	6964	8012	8557	9140	9590
				10216	10262	10429	10474	10475	10476	10489	10529
	BYTE INDRCT		2644 #	6807	6809	6811	6813	6829	6831	6857	6859	6861	6863	6878
				6880
	BYTE PREV & CLR SR3	2646 #
	BYTE PREV & SET SR2	2647 #
	BYTE PREV & SET SR3	2648 #
	BYTE READ		2650 #	6816	6817	6818	6819	6827	6828
	BYTE READ PC		2651 #
	BYTE RPW		2652 #	6866	6867	6868	6869	6876	6877
	CALL			2659 #	3715	4680	4697	4730	4750	4802	4845	5088	5093	5094	5153
				5158	5162	5164	5427	5498	5520	5779	5796	5819	5835	5841	5987
				5989	6407	6471	6486	6499	6501	6517	6612	6614	6675	6680	6959
				7007	7060	7062	7135	7227	7232	7236	7240	7243	7250	7255	7261
				7270	7297	7300	7312	7318	7341	7345	7349	7352	7360	7370	7378
				7381	7382	7385	7387	7397	7406	7414	7735	7765	7856	7878	7904
				8011	8017	8048	8105	8113	8115	8120	8123	8125	8134	8160	8183
				8461	8477	8478	8488	8495	8500	8515	8528	8533	8544	8545	8573
				8580	8597	8599	8611	8620	8630	8679	8726	8752	8753	8756	8767
				8771	8772	8792	8795	8812	8817	8822	8835	8836	8839	8840	8845
				8846	8848	8854	9353	9369	9404	9714	9717	9736	9774	9782	9789
				9840	9850	9871	9907	9983	10004	10018	10019	10033	10040	10043	10091
				10236	10254	10257	10292	10430	10441	10503	10505	10509	10530	10557	10560
				10659	10677	10678	10679	10713	10728	10729
	CALL []			2663 #	4680	4697	7227	7232	7236	7240	7243	7250	7255	7261	7270
				7297	7300	7312	7318	7341	7345	7349	7352	7360	7370	7378	7381
				7382	7385	7387	7397	7406	7414	7735	7765	7856	7878	7904	8478
				8545	8573	9369
	CALL.C			2666 #
	CALL.M			2667 #	5598	5602	5665	5674	5771	6507	6509	6606	6661	6963	6980
				6985	8131	8180	8466	8525	8592	8609	8655	8751	8855	9771	10132
				10215
	CALL.S			2668 #	4192	4208	5752	5958	6382
	CALL[]			2664 #
	CBR			2675 #	9040	9046	9119	9125
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-39
; 							Cross Reference Listing					

	CLR ACC+SET UCODE	2677 #
	CLR ACCOUNT EN		2678 #	3722	8901	8903
	CLR AR			2679 #	3714	6217	6320	7284	7333	7335	7388	7518	7736	7743	7772
				7777	7857	7870	9587	9705	10031
	CLR ARX			2680 #	5436	5497	5518	5620	6218	6223	6283	6336	6337	6429	6543
				7061	7318	7326	7479	9710	9898
	CLR EBUS DEMAND		2681 #	8059
	CLR EXP			2682 #	9969
	CLR FE			2683 #	3920	3942	4764	4781	6301	7253	7257	7388	7454	7885
	CLR FPD			2684 #	3936	6615	10071
	CLR MQ			2685 #	5748	6571	7771	7868	7889
	CLR MTR PA EN		2686 #
	CLR PT LINE		2688 #	8556
	CLR PT LINE (KEEP)	2689 #
	CLR P			2687 #	4009	5174
	CLR SC			2690 #	3920	3942	4764	5837	7339
	CLR SPECIAL CYCLE	2691 #	9027
	CLR SR2			2692 #
	CLR SR3			2693 #	6438
	CLR TRACKS EN		2694 #
	CLR TRK+PA EN		2695 #
	CMS FETCH		2696 #	9844
	COMP FETCH		2697 #	4508
	CONI APR(L)		2698 #	8137
	CONI APR(R)		2699 #	8136
	CONI MTR		2700 #	8613
	CONI PAG		2701 #	8530
	CONI PI(L)		2702 #	8188
	CONI PI(PAR)		2703 #	8186
	CONI PI(R)		2704 #	8184
	CONO APR		2705 #	8133	8139
	CONO MTR		2706 #	8610
	CONO PAG		2707 #	8526
	CONO PI			2708 #	8181
	CONO TIM		2709 #	8598
	CONTINUE		2710 #	4775
	CSMSK			2712 #	9054	9134	9149
	DATAI APR(L)		2715 #	8121
	DATAI PAG(L)		2716 #	5163	8499
	DATAO APR		2717 #	8114
	DATAO PAG(L)		2718 #	8467
	DIAG IN			2719 #	4803	5163	8121	8136	8137	8184	8186	8188	8499	8516	8530
				8534	8585	8586	8587	8588	8601	8603	8613	8629	8638	8639	8640
				8641	8920	8935
	DIAG OUT		2720 #	8114	8133	8139	8181	8467	8526	8598	8610	8622	8623	8624
	DISMISS			2721 #	4672	4724	4725	8030	8754
	DIVIDE			2722 #	5656	5659	5664	5673	5689	5690	5691	5692	5693	5694	5695
				5696	5720	5721	5722	5723	7154	7155	7156	7157
	DLEN			2723 #	9267	9294	9298	9306	9320	9700	9701	9708	9715	9718	9747
				9790	9792	10176	10188	10200
	DLEN_AR			2724 #	9700	9701	9747	9792	10188
	DROP EBUS REQ		2725 #	8071
	DSTP			2727 #	9429	9435	9706	9870	9870	10182	10254	10254	10280	10297	10298
				10301	10354	10363	10489	10490
	DSTP2_AR		2735 #	10291	10495
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-40
; 							Cross Reference Listing					

	DSTP2			2733 #	10282	10283	10291	10476	10495	10549
	DSTP_AR			2731 #	9435	10297	10298	10301	10489	10490
	DSTW			2736 #
	DSTW_AR			2737 #
	E0			2741 #	7228	7235	7263	7268	7344	7451	9510	9695	10178	10440	10442
				10557
	E0_AR			2742 #	9510
	E1			2743 #	7244	7253	7272	7313	7319	7336	7377	7484	7711	7712	7724
				7725	7726	7773	7858	7871	9552	9555	9557	9560	10082	10083	10135
				10136	10137	10146	10504	10505
	E1_AR			2744 #	9552	9555	9557	9560
	EA MOD DISP		2746 #	3754	3829	4629	4676	6802	6838	6852	6887	9515	9548	10224
				10239	10299	10302
	EPT FETCH		2751 #	8721	8722	8727
	EPT REF			2752 #	8675	8730	8777	8993
	EPT REF CACHE		2753 #
	EXEC REF		2754 #
	EXIT			2755 #	3987	3996	4128	4130	4133	4136	4140	4144	4153	4154	4160
				4161	4167	4168	4174	4175	4227	4237	4247	4266	4282	4292	4302
				4312	4322	4333	4343	4353	4363	4373	5461	5474	5523	5614	5616
				5621
	EXIT DBL		2756 #	3916	5760	5762	5850	5852
	EXP TEST		2757 #
	EXP TST			2758 #	6341	6571
	EXPMSK			2759 #	3770	7457	7459	7523	7660	7661	7667	7668	7892	7895
	EXP_-SC-1		2760 #
	EXP_-SC-1 TST		2761 #
	EXP_1			2762 #	6487
	EXP_FE TST		2763 #	6341	6571
	EXP_SC			2764 #	7774
	EXP_SC.MS		2765 #	7519
	EXP_SCAD		2766 #	6487	7774	9969
	EXP_SCAD.C		2767 #	6341	6571
	EXP_SCAD.MS		2768 #	7519
	EXP_SIGN		2769 #	5903	5906	5914	5954	5957	5983	6082	6148	6380	6449	7886
	EXP_SIGN.C		2770 #	7781
	EXP_SIGN.MS		2772 #
	EXP_SIGN.M		2771 #	6483
	EXT ADDR		2774 #	9540
	EXT BYTE READ		2775 #
	EXT INDEX		2776 #	9522	9523	9524	9525	9541
	EXT INDRCT		2777 #	9517	9518	9519	9520	9542	9543
	FETCH			2820 #	3658	4675	4728	4732	4847	4895	4896	4928	4934	4959	5170
				5346	8755	9935	10073
	FETCH WAIT		2826 #	3998	9725
	FETCH+1			2821 #	10375
	FE_#			2780 #	3830	3832	5389	5392	5497	5519	5627	5634	5637	5724	5725
				5726	5727	5765	5780	5835	5956	5986	6171	6392	6479	6516	6774
				6777	6821	6822	6823	6824	6871	6872	6873	6874	7008	7010	7152
				7161	7322	7346	7351	7396	7779	7853	7867	8160	8575	8914	8919
				9255	9549	9740	9837	9981	10039	10042	10182	10201	10502
	FE_# AND S		2781 #	8719	8786	8835	8844
	FE_#+AR0-8		2782 #
	FE_#+SC			2783 #	5959
	FE_#-SC			2784 #	6939
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-41
; 							Cross Reference Listing					

	FE_+#			2785 #
	FE_-1			2786 #	5814	8993	8994
	FE_-SC-1		2787 #	9213
	FE_1			2788 #	5808
	FE_AR0-8		2789 #	4772	7259	7268	7749	9693	9697	9812	10007
	FE_AR0-8 AND #		2790 #
	FE_AR0-8 COMP		2791 #	9887
	FE_EXP			2792 #	5903	5906	6380	9203
	FE_EXP+1		2793 #
	FE_EXP+SC		2794 #	6148
	FE_EXP-#		2795 #	6188	6192
	FE_EXP-1		2796 #
	FE_FE AND AR0-8		2798 #	8999	9080
	FE_FE AND #		2797 #	9041	9053
	FE_FE OR #		2799 #	9072	9095	9147	9178
	FE_FE OR AR0-8		2800 #	9814
	FE_FE SHRT		2801 #	9084
	FE_FE+#			2802 #	5997	6000	6254	6288	6533	6535	7468	7469	7760	7767	10398
	FE_FE+1			2803 #	5541	5551	5553	5555	5557	5569	5571	5573	5574	5579	5771
				5924	5925	5928	6290	6340	6506	6508	6536	6570	7357	7359	7384
				7386	7471	7502
	FE_FE+S			2804 #
	FE_FE+SC		2805 #	5915	6451	8964	8966
	FE_FE-#			2806 #	6259	6261	6281	6285	6294	6303	9141	10371	10383	10407	10410
				10432	10492
	FE_FE-1			2807 #	5656	5659	5664	5673	5689	5690	5691	5692	5693	5694	5695
				5696	5720	5721	5722	5723	6257	6539	7154	7155	7156	7157	7474
				7763	8555	9992	9994
	FE_FE-S			2808 #
	FE_FE-SC		2809 #	6540	6567	7476	7497
	FE_P			2810 #	5336	5339	10160	10229	10284
	FE_P AND #		2811 #	8475	8962	10162	10327	10435
	FE_P AND SC		2812 #
	FE_P OR #		2813 #
	FE_P+SC			2814 #	10385
	FE_S			2815 #	6801	6803	6851	6853	10223	10238	10239	10297	10298	10301
	FE_S+#			2816 #
	FE_SC			2817 #	5545	5546	5547	5549	5562	5563	5564	5566	5707	5710	6932
				10045	10047
	FILL			2827 #	9696	9789	10019
	FILL_AR			2828 #	9696	10019
	FIN STORE		2829 #	3916	3917	3923	3925	4526	4701	4704	4716	4847	4852	4934
				4959	5095	5103	5185	6682	6791	6968	8021	10485	10687	10737
	FIN XFER		2830 #	3882	4706	4717	8678	10483
	FINISH			2831 #	3950	5797	9940
	FM(#)_AR		2835 #
	FM[]_AR			2833 #	3719	3770	7228	7233	7235	7241	7244	7261	7262	7269	7270
				7273	7301	7313	7319	7336	7343	7353	7377	7391	7411	7450	7453
				7773	7780	7858	7860	7871	7873	7901	8700
	FM_AR			2832 #	3719	3770	5802	5818	6958	6982	6988	6990	7228	7233	7235
				7241	7244	7261	7262	7269	7270	7273	7301	7313	7319	7336	7343
				7353	7377	7391	7411	7450	7453	7773	7780	7858	7860	7871	7873
				7901	8700	9427	9435	9510	9552	9555	9557	9560	9696	9700	9701
				9702	9704	9712	9745	9747	9770	9792	9842	9889	9894	9896	9903
				9993	9995	10004	10005	10014	10019	10068	10132	10160	10162	10188	10193
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-42
; 							Cross Reference Listing					

				10223	10235	10238	10239	10291	10297	10298	10301	10323	10330	10489	10490
				10495	10534
	FORCE AR-ARX		2837 #	8901	8903
	GEN # AND AR0-8		2841 #	9015	9047	9067	9101
	GEN #+AR0-8		2842 #	10334
	GEN #+SC		2843 #	5431	6410
	GEN #-SC		2844 #	9140
	GEN -AR LONG		2845 #	5658	5661	6083	6388	7234	7403	7557	9978
	GEN -SC			2846 #
	GEN -SC-1		2847 #
	GEN 0S			2848 #
	GEN 2AR			2849 #
	GEN AC0			2851 #	7880
	GEN AC0+1		2852 #
	GEN AR			2853 #	3799	3801	6437	6489	6827	6829	6876	6878	7239	7373	7559
				7731	7782	7863	7905	8055	8058	8060	8062	8073	8075	8081	8190
				9514	9540	9542
	GEN AR*AC0		2854 #	4508	5232	5234	6398	7379
	GEN AR*BR		2855 #	5521	5781	7738	9997
	GEN AR*T0		2856 #
	GEN AR+1		2857 #	6774	6777	7680
	GEN AR+2BR		2858 #	6087
	GEN AR+BR		2859 #
	GEN AR+E1		2860 #
	GEN AR+XR		2861 #	3800	3803	6828	6831	6877	6880	9541	9543
	GEN AR-2BR		2862 #	6085
	GEN AR-AC3		2863 #	9909
	GEN AR-BR		2864 #	5619	7286	7742
	GEN AR-BR-1		2865 #	7738	9997
	GEN AR0-8		2866 #
	GEN ARX			2867 #	6391	6807	6811	6816	6818	6857	6861	6866	6868	7237	9517
				9519	9522	9524	9745	9844
	GEN ARX COMP		2868 #	10013
	GEN ARX*BRX		2870 #
	GEN ARX*BR		2869 #
	GEN ARX+1		2871 #
	GEN ARX+XR		2872 #	3779	3783	3787	3789	6809	6813	6817	6819	6859	6863	6867
				6869	9518	9520	9523	9525
	GEN ARX-1		2873 #	5225
	GEN BR			2875 #	4909
	GEN BR*2		2876 #	8951
	GEN BR+ARX		2877 #
	GEN BRX+1		2878 #
	GEN CRY18		2879 #	4613	6278	8026	8034
	GEN E1			2880 #	7484
	GEN FE			2881 #	9819
	GEN FE AND #		2882 #	9131	9174
	GEN FE AND AR0-8	2883 #
	GEN FE AND S		2884 #
	GEN FE AND SC		2885 #
	GEN FE+#		2886 #
	GEN FE-#		2887 #	7758
	GEN FE-1		2888 #	4775
	GEN FE-S		2889 #
	GEN FE-SC		2890 #
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-43
; 							Cross Reference Listing					

	GEN FE-SC-1		2891 #	6923
	GEN MQ			2893 #
	GEN MQ-AR		2894 #
	GEN P AND SC		2896 #	9133	9176
	GEN P AND #		2895 #
	GEN P+SC		2897 #
	GEN P-S			2898 #	10508
	GEN P-SC		2899 #
	GEN SC			2900 #	9512
	GEN SCAD 0S		2901 #
	GEN T1			2902 #
	GEN T2			2903 #
	GET ECL EBUS		2904 #	3791	3792	3793	3794	4736	8100	8628	8910	9527	9528	9529
				9530
	GLOBAL			2905 #	3777	3779	3781	3783	3786	3787	3788	3789	6807	6809	6811
				6813	6816	6817	6818	6819	6857	6859	6861	6863	6866	6867	6868
				6869	9517	9518	9519	9520	9522	9523	9524	9525
	HALT			2907 #	4762
	I FETCH			2910 #	3882	3915	3917	3923	3925	4006	4013	4195	4704	4810	4852
				5228	5335	5365	5384	5399	5422	5447	5666	5675	5795	5836	6224
				6225	6580	6615	6682	6968	6987	7072	7553	7679	7681	7682	7732
				7740	7744	8029	9718	10011	10591	10597	10605	10687	10737
	INDEXED			2914 #	3800	3803	6828	6831	6877	6880	9541	9543
	INH CRY18		2915 #	5226	7053	10233	10281	10285	10289	10372	10409
	IO INIT			2916 #	8073
	IR DISP			2917 #	3861	3872	3883	3894	3905	4673	4699	4707	9553	9556	9558
				9561
	JFCL FETCH		2919 #	4752
	JFCL S			2920 #	4754
	JFCL T			2921 #	4751
	JUMP FETCH		2922 #	4574	4589	4605	4613
	LD PCS			2924 #	4737
	LD PREV CTXT		2925 #	5165
	LOAD AR			2926 #	4633	4647	4706	4716	4717	5095	5812	6786	7729	7770	7852
				7866	8037	8675	8676	8707	8730	8731	8813	8814	8818	8819	8993
				8994	9012	9017	9032	9049	9070	9094	9129	9374	9591	9818	10014
				10082	10146	10178	10325	10326	10399	10403	10440	10442	10505	10557	10577
				10589	10598	10607	10714	10730
	LOAD AR (WR TST)	2928 #	10454	10458
	LOAD ARX		2930 #	3761	4189	4845	5093	5103	5155	5751	6381	7134	7226	7750
				7855	8678	8724
	LOAD ARX (WR TST)	2932 #	10482
	LOAD EBR		2934 #	8545
	LOAD IR			2936 #	3756	3767	5245	9514
	LOAD UBR		2940 #	8478
	LOAD VMA(EA)_ARX+BR	2942 #	10672	10673	10680
	LONG EN			2947 #	3826	6836	6885	9546
	MAP			2952 #	3835	4795	8933
	MB WAIT			2953 #	3860	3916	4801	5760	5762	5850	5852	8021	8109	8489	8572
				8633	8920	8934	9132	9330	9366
	MEM_AR			2954 #	4212	4849	4854	5159	5169	5182	6801	6804	6851	6854	8023
				8033	8658	8754	9065	10258	10487	10548	10556	10583	10603	10685	10688
				10735	10738
	MQ_0.C			2956 #
	MQ_0.M			2957 #	5388	5396	5924	5925	5928	6422	6425	6507	6509	6985	7385
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-44
; 							Cross Reference Listing					

				7387	7415	7550	10044	10046
	MQ_0.S			2958 #	4192	4208	5752	6380	7227	7730	7854
	MQ_1			2959 #
	MQ_1S			2960 #
	MQ_AD			2961 #	7372
	MQ_ARX			2966 #	5393	5818	6452	6454	7861	9890	10340	10342	10363
	MQ_ARX COMP		2967 #
	MQ_AR			2962 #	4028	5175	5496	5518	5724	5725	5726	5727	5773	5779	5841
				5916	5919	5956	6469	6479	6486	6550	6553	6555	6922	7061	7348
				7351	7356	7402	7486	7489	7491	8582	8630	8699	9510	9702	9837
				10032	10068	10254	10572	10575	10581	10606
	MQ_AR (AD)		2963 #
	MQ_AR COMP		2964 #
	MQ_AR SWAP		2965 #
	MQ_BR			2968 #
	MQ_BR COMP		2969 #
	MQ_MQ*.25		2970 #	5793	6532	7467	7514
	MQ_MQ*2			2971 #	5791	5831	5833	9852
	MQ_MQ*BR		2972 #	7372
	MQ_SHIFT		2973 #	5375	5382	5391	5398	5436	5764	5921	6222	6282	6415	6428
				6430	6434	6543	6544	7326	7479	7480	8475
	MSK			2975 #	9712	9903	10138	10171	10173	10323
	MSK_AR			2976 #	9712	9903	10323
	MUL			2977 #	5541	5551	5553	5555	5557	5569	5571	5573	5574	5579	5771
	NO CRY			2980 #	4469	4472
	NORM			2981 #	5931	5999	6011	6255	6281	6286	6294	6304	6337	6432	6489
				6512	6537	6545	6551	6554	6555	7324	7374	7393	7458	7460	7482
				7487	7490	7492	7501	7559	7768	7782	7863	7874	7905
	NORM AR			2983 #	5959
	NORM -AR		2982 #	6253
	NXT INSTR		2984 #	3920	3942
	OPTIONS			2986 #	8127
	P0			3015 #	9054	9134	9149
	P1			3016 #	9056	9171
	P10			3017 #	8945	9001	9018	9051	9055	9071	9082	9108	9159	9204
	P11			3018 #	8950	9198
	P12			3019 #	8943	8944	8969	9176	9180	9310	9335
	P13			3020 #
	P14			3021 #
	P15			3022 #
	P16			3023 #	8904	9212	9400
	P17			3024 #	8905	9216	9218	9283
	P2			3025 #	9040	9046	9119	9125
	P3			3026 #	9011	9026	9093
	P4			3027 #
	P5			3028 #	8953	9081	9184	9228	9235
	P6			3029 #
	P7			3030 #
	PC_VMA			3032 #	4765
	PF DISP			3033 #	8910	8921
	PFA			3035 #
	PFA_AR			3036 #
	PHYS REF		3038 #	8814	8819	8824	9012	9017	9032	9049	9065	9070	9094	9129
	PHYS REF CACHE		3039 #
	POP AR			3041 #	4883
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-45
; 							Cross Reference Listing					

	POP AR-ARX		3042 #	4885
	POP ARX			3043 #
	PORTAL			3045 #	4627
	PT FETCH		3046 #
	PT REF			3047 #	3761	5093
	PT SEL_INVAL		3048 #	8482	8550
	PT SEL_INVAL (KEEP)	3049 #
	PT SEL_NORMAL		3050 #	8558
	PUR			3052 #	9056	9171
	PUSH			3055 #	4837	4842
	P_#			2988 #
	P_#-S			2989 #	10243	10286
	P_-SC			2990 #	7074
	P_1S			2991 #
	P_FE			2992 #	5341	10232	10533
	P_FE OR SC		2993 #	8937	10414	10415
	P_FE+SC			2994 #
	P_FE-S			2995 #	6784	9742	10225
	P_FE-S.S		2996 #	6786
	P_FE.C			2997 #	10288
	P_P AND #		2998 #	7546	10098	10163	10167	10420
	P_P AND SC		2999 #	10373
	P_P OR #		3000 #	10164	10165	10166	10168
	P_P OR SC		3001 #	9185	10192	10562
	P_P OR SC#		3002 #
	P_P+#			3003 #
	P_P+1			3004 #	10374
	P_P+S			3005 #	9426
	P_P+S.C			3006 #	9431
	P_P-S			3007 #	6605	6660	6963	8855	9744	10215	10262
	P_SC			3008 #	6980	6985	7041	8511
	P_SC#			3009 #	6789
	P_SCAD			3010 #	4009	5174	5341	6786	8937	9426	10232	10374	10414	10415	10533
	P_SCAD#			3011 #	6789	7546	9431	10098	10163	10164	10165	10166	10167	10168	10243
				10286	10288	10420
	P_SCAD.C		3012 #	6784	9742	10225
	P_SCAD.M		3013 #	6605	6660	6963	6980	6985	7041	7074	8511	8855	9185	9744
				10192	10215	10262	10373	10562
	R0			3060 #	8934
	R1			3061 #
	R10			3062 #	9438	9449	9451	9460	9702	9714	9723	9728	9746	9770	9889
				9906	9911	9917	10005	10066	10068	10132	10187	10189	10190
	R11			3063 #	5818	5840	6982	6986	6988	7017	7021	7262	7270	7303	7315
				9993	9995	10032
	R12			3064 #	6990	7061	7233	7241	7248	7257	7273	7343	7390	7391	7407
				7411	7450	7453	7530	7780	7860	7873	7901	10004	10031
	R13			3065 #	9696	9789	10019
	R14			3066 #
	R15			3067 #	3719	4679	4694	4841	4932	4937	5089	5170	5175	5179	5183
				8702	8736	8760	8782	8797	8827	9366
	R16			3068 #	7228	7235	7263	7268	7344	7451	9510	9695	10178	10440	10442
				10557
	R17			3069 #
	R2			3070 #	9399
	R3			3071 #	8700	9398
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-46
; 							Cross Reference Listing					

	R4			3072 #	3770	7457	7459	7523	7660	7661	7667	7668	7892	7895
	R5			3073 #	7244	7253	7272	7313	7319	7336	7377	7484	7711	7712	7724
				7725	7726	7773	7858	7871	9552	9555	9557	9560	10082	10083	10135
				10136	10137	10146	10504	10505
	R6			3074 #	5802	5820	6958	6981	7043	7053	7261	7269	7299	7301	7304
				7316	7353	9444	9842	9851	10014	10020
	R7			3075 #	9712	9903	10138	10171	10173	10323
	RD+CLR C CNT		3077 #	8641
	RD+CLR E CNT		3078 #	8640
	RD+CLR PA		3079 #	8639
	RD+CLR TB		3080 #	8638
	READ BP2		3082 #	6803	6853
	READ EBR		3084 #	8532
	READ ERA		3085 #	8158
	READ UBR		3086 #	8514
	REL EBUS		3087 #	8062	8190
	REL ECL EBUS		3088 #	4804	8018	8536	8571	8593	8632	8642	8921	8936
	REQ EBUS		3089 #	8048	8194
	REQ SV.VMA		3091 #	9228
	REQ VMA HELD		3092 #
	RETURN0			3096 #	9229
	RETURN1			3097 #	4739	4745	5186	6816	6817	6818	6819	6827	6828	6866	6867
				6868	6869	6876	6877	7275	8096	8100	8659	8680	10134	10200
	RETURN10		3098 #
	RETURN12		3099 #	8794
	RETURN2			3100 #	4860	6086	6088	6910	6911	7161	7286	8797	8828	9795	10178
				10243	10668	10689	10739
	RETURN20		3101 #	5180
	RETURN3			3102 #	4216	5116	5666	5675	5724	5727	6943	8063	8076	8519	10182
				10562
	RETURN30		3103 #
	RETURN37		3104 #
	RETURN4			3105 #	5562	5563	5564	5566	6453	6455	6773	6776	6779	6780	6781
				6782	6785	6792	8575	8789	10138	10173	10193
	RETURN5			3106 #	5725	5726	10162
	RETURN6			3107 #	5545	5546	5547	5549	5668	5677	5708	5711	10258
	RETURN7			3108 #	5669	5678
	RET[]			3095 #	7660	7661	7667	7668
	RSTR FLAGS_AR		3109 #	4668	4718	4719	4722
	RSTR VMA_ARX		3111 #
	RSTR VMA_MQ		3112 #
	RSTR VMA_SV.VMA		3113 #	9184
	SBR			3118 #	9011	9026	9093
	SBUS DIAG		3120 #	8162
	SC_#			3122 #	3714	3723	3725	3833	4194	4207	4210	4748	4750	5159	5160
				5333	5440	5449	5503	5523	5614	5616	5620	5755	5784	5804	5848
				6219	6277	6283	6431	6489	6511	6524	6538	6544	7132	7134	7250
				7255	7323	7369	7373	7392	7463	7481	7515	7521	7526	7533	7535
				7537	7559	7782	7883	7887	7903	8105	8468	8488	8490	8494	8518
				8529	8544	8583	8594	8636	8656	8706	8726	8788	8812	8817	8822
				8933	8998	9086	9352	9354	9437	9587	9705	9899	9925	9932	9934
				9966	9978	9981	10039	10042	10075	10148	10177	10332	10351	10510	10559
				10561
	SC_# AND AR0-8		3123 #	8967	10329
	SC_# AND S		3124 #
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-47
; 							Cross Reference Listing					

	SC_# OR SC		3125 #
	SC_#+AR0-8		3126 #	6205
	SC_#+SC			3127 #	5358	5361	5363	5378	5381	5409	5413	5435	5437	5916	5923
				6086	6088	6413	6452	6470
	SC_#-SC			3128 #	5116	5919	6454	6679	6897	6940	7305	7309	8847	10256
	SC_#-SC-1		3129 #
	SC_-SC			3130 #	9120	9130
	SC_-SC-1		3131 #	9217
	SC_0			3132 #	6928
	SC_1			3133 #	5601	5802	5808	7007	9113	9589	10068
	SC_1S			3134 #	5838
	SC_AR0-8		3135 #
	SC_EA			3136 #	5330	5349	5351	5370	5373	5389	6146
	SC_EXP			3137 #	5954	7772	9203	9211
	SC_EXP+1		3138 #	5983
	SC_EXP+SC		3139 #	5957	6483
	SC_EXP-#		3140 #
	SC_EXP-1		3141 #
	SC_EXP-SC		3142 #	5914	6082	6449
	SC_FE			3143 #	6902	6938	7304	7307	8573	9184
	SC_FE AND #		3144 #
	SC_FE+#			3145 #	6221
	SC_FE+1			3146 #	10341	10343	10344
	SC_FE+SC		3147 #	5394	5397	6614	6904	7517	8840	9873	10217	10331
	SC_FE-#			3148 #	10009
	SC_FE-1			3149 #	6400
	SC_FE-SC		3150 #	6942	6983
	SC_FE-SC-1		3151 #	9993	9995
	SC_P			3152 #	6611	6674	6788	6977	7038	8856	10441
	SC_P AND #		3153 #	10399	10401
	SC_P AND SC		3154 #	8936	9119	9125
	SC_P-#			3155 #	7073
	SC_S			3156 #	6959	7060	9710
	SC_SC AND #		3157 #
	SEL AC4			3160 #	9938
	SEL DSTP		3161 #	9431	9440	10294	10295	10487
	SEL DSTP2		3162 #	10288	10289	10494
	SET ACC+CLR UCODE	3164 #
	SET ACCOUNT EN		3165 #	3753	4811	8633	8644	9229	9334	9376	9405
	SET AROV		3166 #	5432	5507	5524	5785	6216	7682
	SET CONS XCT		3167 #	4781
	SET DATAI		3168 #	8767	8836
	SET DATAO		3169 #	8753	9404
	SET EBUS DEMAND		3170 #	8056
	SET FL NO DIV		3171 #	5990	6519	7399
	SET FLAGS_AR		3172 #	3655	5189	9375
	SET FLOV		3173 #	7539	7544	7740	7898
	SET FPD			3174 #	6801	6834	6851	6883	8037	8038	10034
	SET FXU			3175 #	7543	7744	7899
	SET HALTED		3176 #	4764
	SET IO PF		3177 #	9401
	SET MTR PA EN		3178 #
	SET NO DIVIDE		3179 #	5611
	SET PC+1 INH		3180 #	3762
	SET PI CYCLE		3181 #	3713	8643	8699
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-48
; 							Cross Reference Listing					

	SET PXCT		3182 #	5244
	SET SR1			3183 #	6011	6253
	SET SR2			3184 #	5823	6501	6527	7410
	SET SR3			3185 #	5843	6439	6467	7466
	SET SXCT		3186 #
	SET TRACKS EN		3187 #
	SET TRK+PA EN		3188 #
	SFLGS_AR		3190 #	9704	9894	9896	10160	10162	10193	10330	10534
	SFLGS			3189 #	9454	9458	9704	9730	9783	9894	9896	9924	10134	10150	10152
				10160	10162	10177	10193	10330	10511	10534	10559	10561
	SH DISP			3191 #	5161	7534	8702	8719	10332	10349
	SIGNS DISP		3192 #	5628	5822	5824	8951	8988	8990	9741	9745	9772	9792	9841
				9842	9856	9889	10013	10070	10095	10133	10161	10188
	SKIP FETCH		3193 #	4526
	SKP -EBUS GRANT		3195 #	8070
	SKP -EBUS XFER		3196 #	8060
	SKP -LOCAL AC ADDR	3198 #	4006	4013	5088	5152
	SKP -START		3200 #	4771
	SKP -VMA SEC0		3202 #	6778	6804	6854	7129
	SKP AC REF		3204 #
	SKP AC#0		3205 #	3918	4527	6136
	SKP AC0+		3206 #	5708
	SKP AC0-		3207 #	5711
	SKP AD NE		3208 #	5333	5619	6391	6437	6465	6986	7237	7334	7484	7677	7680
				7731	7881	8828	9040	9119	10603
	SKP AD0			3209 #	5233	5235	5521	5781	5809	5987	6398	6515	7027	7239	7243
				7249	7286	7297	7299	7340	7344	7352	7378	7379	7396	7408	7414
				7451	7455	7738	7742	7877	7902	9699	9708	9965	10573
	SKP ADX0		3210 #
	SKP AR EQ		3211 #	4782
	SKP AR EQ -1		3212 #
	SKP AR GT BR		3213 #	8793	9815
	SKP AR NE		3214 #	7010	9977	10517	10558	10575
	SKP AR NE BR		3215 #	5428
	SKP AR SIG		3216 #	5503
	SKP AR0			3217 #	3990	4164	4171	5227	5344	5603	5635	5638	6171	6484	6788
				7232	7236	7406	7734	7765	9203	9211	9451	9460	9723	9773	10229
				10284
	SKP AR1			3218 #
	SKP AR18		3219 #	4150	4157	5331	5349	5351	5370	5373	5389	8476	9554	10172
	SKP AR2			3220 #	8468	9908
	SKP AR6			3221 #	8708	8710	8744	8769
	SKP ARX LE BRX		3222 #
	SKP ARX LT BRX		3223 #	10684	10734
	SKP ARX NE		3224 #	6251
	SKP ARX+MQ NE		3225 #	6524	7463
	SKP ARX0		3226 #	9838	10148	10336	10354	10379
	SKP ARX2		3227 #	10089
	SKP BR EQ		3229 #	5998	6978	9863
	SKP BR EQ -1		3230 #	10661
	SKP BR0			3231 #	5835	5989	6082	6518	7398	7415	9728	9854	10033
	SKP CRY0		3232 #	4837	4842	4887	4906	5225	5814	5832	5833	6085	6087	6278
				6549	7485	9139	9910	9974	10008	10066	10138	10585
	SKP EVEN PAR		3233 #
	SKP EXP NE		3234 #
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-49
; 							Cross Reference Listing					

	SKP FE0			3235 #	5820
	SKP FETCH		3236 #
	SKP INTRPT		3237 #	3778	3780	3782	3784	3802	3804	4776	4793	4808	5090	6808
				6810	6812	6814	6830	6832	6858	6860	6862	6864	6879	6881	8074
				8998	9073	9255	9517	9518	9519	9520	9542	9543	9741	9790	9873
				10076	10217	10400	10404	10583	10609	10682	10732
	SKP IO LEGAL		3238 #	4634	4635	4641	4643	4801	8011	8017	8106	8113	8115	8120
				8123	8132	8135	8161	8180	8183	8462	8466	8494	8525	8528	8581
				8597	8600	8609	8612	8621	9310
	SKP KERNEL		3239 #	4631
	SKP MQ EQ -1		3240 #	10085
	SKP MQ NE		3241 #
	SKP PC SEC0		3245 #	4663	4664	4839	4890	4893	4928	4930	4953	5086	10227	10228
				10282	10283	10324	10364	10396	10398	10430	10488	10530
	SKP PI CYCLE		3247 #	8023	8026	8035	9335
	SKP P NE		3242 #	9054	9149
	SKP P!S XCT		3243 #	10648	10673
	SKP RPW			3248 #	8914	8919
	SKP RUN			3249 #
	SKP SC NE		3253 #	5407
	SKP SC0			3254 #	5842	10012
	SKP SCAD NE		3255 #	5336	5339	9015	9048	9068	9101	9131	9133	9175	9177	9512
				9693	9819
	SKP SCAD0		3256 #	5359	5362	5364	5378	5381	5394	5397	5409	5414	5431	5914
				5917	5919	5923	6188	6192	6205	6221	6411	6413	6449	6453	6455
				6680	6897	6904	6924	7305	7759	8848	8855	9744	10256	10335	10371
				10383	10408	10411	10432	10492	10508
	SKP USER		3257 #	4679	4696	4721	4722	4727	5176	5241	9088	9368
	SLEN			3259 #	9438	9449	9451	9460	9702	9714	9723	9728	9746	9770	9889
				9906	9911	9917	10005	10066	10068	10132	10187	10189	10190
	SLEN_AR			3260 #	9702	9770	9889	10005	10068	10132
	SR DISP			3261 #	5843	5844	5849	6256	6258	6260	6262	6289	6291	6292	6302
				6321	6341	6548	6571	6899	7009	7011	7541	7550	8943	9236	9415
				9427	9435	9456	9793
	SRCP			3312 #	9259	9427	9735	9745	9839	9839	10201	10201	10223	10238	10239
				10502	10502
	SRCP2_AR		3315 #	10235
	SRCP2			3314 #	10227	10228	10235
	SRCP_AR			3313 #	9427	9745	10223	10238	10239
	SR_#			3262 #	5887	5888	5889	7136	9267	9298	9306
	SR_0			3263 #	3932	3933	3937	3949	4734	4807	5169	6351	6355	6365	6566
				6582	7072	7496	7555	9259	9271	9290	9315	9320	9412	9730	9750
				9841	9936	10078	10134	10597	10612
	SR_1			3264 #	7382	9263	9275	9294
	SR_2			3265 #
	SR_BDD			3267 #	10091
	SR_BDF			3268 #	10018
	SR_BDT			3269 #	9279	9968	10035	10094
	SR_BLT(DST)		3270 #	10677	10678	10679
	SR_BLT(PXCT DST)	3272 #	10728	10729
	SR_BLT(PXCT SRC)	3273 #	10721	10739
	SR_BLT(SRC)		3275 #	10667	10689
	SR_DB			3276 #	9902
	SR_DST			3277 #	9782
	SR_DSTF			3278 #	9736
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-50
; 							Cross Reference Listing					

	SR_ED(+D)		3279 #	9850	10509	10560
	SR_ED(PAT)		3280 #	10316	10397
	SR_ED(S)		3281 #	9840	10353
	SR_MAP			3296 #	4798
	SR_SRC			3299 #	9302	9707	9711	9719	9735	9737	9776
	SR_SRC+DST		3300 #	9717	9774
	SR_WORD			3305 #
	SR_XBLT(DST)		3308 #	10581	10599	10608
	SR_XBLT(SRC)		3309 #	10571	10582	10611
	STACK UPDATE		3318 #	4887	4905	5224
	STORE			3320 #	4026	4207	4210	4213	4542	4557	4682	4698	4702	4932	4933
				4943	5094	5101	5157	5167	5184	5186	6773	6776	6785	6789	6790
				6792	6943	8034	8127	8166	8594	8657	8659	8745	8746	8777	8778
				8823	8824	8932	9056	9171	9365	9371	9373	10467	10483	10486	10543
				10544	10545	10546	10549	10582	10610	10732
	STORE VMA(EA)_ARX	3322 #	10682
	SV.ARX			3333 #	8905	9216	9218	9283
	SV.ARX_AR		3337 #	8905
	SV.AR_AR		3331 #	8904
	SV.AR			3327 #	8904	9212	9400
	SV.BR_AR		3340 #	8945
	SV.BR			3339 #	8945	9001	9018	9051	9055	9071	9082	9108	9159	9204
	SV.IOP			3342 #	8700	9398
	SV.IOPF			3343 #	9399
	SV.IOPF_AR		3344 #	9399
	SV.PAR			3346 #	8934
	SV.PAR_AR		3347 #	8934
	SV.PFW			3348 #	8943	8944	8969	9176	9180	9310	9335
	SV.PFW_AR		3349 #	8943	8944	8969	9180
	SV.SC_AR		3351 #	8950
	SV.SC			3350 #	8950	9198
	SV.VMA			3352 #	8953	9081	9184	9228	9235
	SV.VMA_AR		3353 #	8953
	SWD			3355 #
	SWD_AR			3356 #
	SWEEP CACHE		3357 #	8108
	T0			3361 #	5802	5820	6958	6981	7043	7053	7261	7269	7299	7301	7304
				7316	7353	9444	9842	9851	10014	10020
	T0_AR			3362 #	5802	6958	9842	10014
	T1			3363 #	5818	5840	6982	6986	6988	7017	7021	7262	7270	7303	7315
				9993	9995	10032
	T1_AR			3364 #	5818	6982	6988	9993	9995
	T2			3365 #	6990	7061	7233	7241	7248	7257	7273	7343	7390	7391	7407
				7411	7450	7453	7530	7780	7860	7873	7901	10004	10031
	T2_AR			3366 #	6990	10004
	TAKE INTRPT		3367 #	3827	4773	5102	5117	5242	6837	6886	9547
	TEST AR			3368 #
	TEST AR.AC0		3369 #	4477
	TEST AR.BR		3370 #	4752	8022	8024	9139
	TEST AR.MSK		3371 #	10138
	TEST ARX		3372 #	9780
	TEST ARX.AR*4		3373 #
	TEST BRL		3374 #	8026
	TEST CBR		3376 #	9040	9119
	TEST FETCH		3378 #	4469	4472	4477	8022	8024	8026	9780
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-51
; 							Cross Reference Listing					

	TRAP1			3379 #
	TRAP2			3380 #	4849	4854	4902	4903	4907
	TRAP3			3381 #
	UNCSH PHYS REF		3395 #
	UPT FETCH		3396 #
	UPT REF			3397 #	5155	5157	8676	8994	9365
	USER REF		3398 #
	VMA_#			3400 #	5091	5100	5156	8631	8666	8668	8670	8672	9330
	VMA_#+AR32-35		3401 #	8987	8989
	VMA_40			3402 #
	VMA_40+PI*2		3403 #	8704	8705	8712
	VMA_41			3404 #
	VMA_41+PI*2		3405 #	8717
	VMA_420+TRAP		3406 #	3755	3757
	VMA_430+MODE		3407 #	5154
	VMA_AC3			3408 #	10428	10454	10528
	VMA_AR			3409 #	4728	4732	4845	4896	7729	7770	7852	7866	8037	8038	8108
				8545	8727	8839	9016	9068	10326	10399	10403	10458	10544	10546
	VMA_AR AND ADMSK	3410 #	5170	8702
	VMA_AR+1		3411 #	8772	8846
	VMA_AR+BR		3412 #
	VMA_AR+CBR		3414 #	9046
	VMA_AR+E0		3416 #	10557
	VMA_AR+E0+1		3417 #	10442
	VMA_AR+E1		3418 #	10082	10146	10505
	VMA_AR+SBR		3420 #	9011	9026	9093
	VMA_AR+XR		3425 #
	VMA_AR-1		3426 #	8756
	VMA_ARX			3427 #	4895	5094	10325	10582	10610	10732
	VMA_ARX AND ADMSK	3428 #	8736	8760	8782
	VMA_ARX+1		3429 #	9552	9555	9557	9560
	VMA_ARX+BR		3430 #	10714	10730
	VMA_ARX+CBR		3432 #	9125
	VMA_ARX+XR		3434 #
	VMA_BR			3436 #	4675	4847	9065	10598
	VMA_E0+1		3437 #	10178	10440
	VMA_MQ			3438 #	8478	8594
	VMA_MQ+1		3439 #
	VMA_PC			3440 #	10223	10238	10298	10301
	VMA_PC+1		3441 #	9783	9908	9926	9973	10065	10352
	VMA_SV.VMA		3443 #	9235
	VMA_VMA HELD		3454 #	3832	8931
	VMA_VMA+1		3457 #	4189	4212	4702	4706	4716	4717	4934	4959	5095	5103	5160
				5184	5186	5751	5806	6381	6786	7134	7226	7733	7855	8166	8659
				8678	8795	9371	9373	9374	9820	9931	9933	10072	10482	10549
	VMA_VMA-1		3458 #	6792	8657	10486
	WR PT ENTRY		3460 #	8463	9186
	WR REFILL RAM		3461 #	8116
	WRITE (E)		3463 #	4909
	XR			3466 #	3754	3829	6838	6887	9548
	[]_#[]			2209 #
	[]_ADA[]		2210 #
	[]_ADB[]		2211 #
	[]_FM[]			2212 #	7253	7257	7263	7268	7272	7299	7303	7304	7315	7316	7344
				7451	7523	7530	7711	7712	7724	7725	7726
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-52
; 							Cross Reference Listing					

	[]_[]*FM[]		2207 #	7248	7390	7407	7457	7459	7660	7661	7667	7668	7892	7895
	[]_[]*[]		2206 #
	[]_[]-FM[]		2208 #
	(AR+ARX+MQ)*.25		2214 #	6563	7365	7494
	(AR+ARX+MQ)*2		2215 #	5545	5546	5547	5549	5562	5563	5564	5566	6539	7364	7366
				7474
	(MQ)*.25		2216 #	6563	7365	7494
	(MQ)*2			2217 #	5545	5546	5547	5549	5562	5563	5564	5566	6539	7364	7366
				7474
(D) MACRO%
	AC			3505 #	3960	3961	3969	3970	3974	3975	3979	3980	4035	4037	4044
				4045	4049	4050	4054	4055	4059	4060	4064	4065	4069	4070	4074
				4075	4081	4082	4086	4087	4091	4092	4096	4097	4101	4102	4106
				4107	4111	4112	4116	4117	4220	4221	4230	4231	4240	4241	4250
				4252	4259	4260	4275	4276	4285	4286	4295	4296	4305	4306	4315
				4316	4326	4327	4336	4337	4346	4347	4356	4357	4366	4367	4789
				4998	5454	5455	5466	5467	5479	5480
	B			3508 #	4223	4233	4243	4257	4262	4278	4288	4298	4308	4318	4329
				4339	4349	4359	4369	5457	5469	5482
	BLKI			3541 #	7940	7986	7997
	BLKO			3542 #	7988	7999
	CONI			3545 #	7923	7934	7945	7969	7980	7991	8002
	CONO			3546 #	7922	7933	7944	7968	7979	7990	8001
	CONSO			3547 #	7925	7936	7947	7971	7982	7993	8004
	CONSZ			3548 #	7924	7935	7946	7970	7981	7992	8003
	DATAI			3543 #	7919	7941	7987	7998
	DATAO			3544 #	7921	7943	7966	7967	7989	8000
	DBL AC			3509 #	5511	5512	5584	5585	5589	5590
	DBL B			3510 #	5514	5587	5592
	EA			3484 #	4021	4037	4252	4619	4817	4819	4915	4916	4973	4974	4975
				4976	4978	4979	4980	4981	4983	4984	4985	4986	4988	4989	4990
				4991	4997	4998	4999	5000	5001	5002	5003	5004	5005	5006	5018
				5019	5020	5021	5022	5023	5027	5028	5029	5030	5031	5032	5033
				5034	5035	5036	5037	5038	5039	5040	5041	5042	5043	5044	5045
				5046	5047	5048	5049	5050	5051	5052	5053	5054	5055	5056	5057
				5058	5062	5063	5209	5322	5859	5860
	FL-AC			3511 #	5863	5868	5869	5873	5878	5879	5936	5941	5942	5965	5966
				5970	5971	6128	6166
	FL-BOTH			3513 #	5866	5871	5876	5881	5939	5944	5968	5973
	FL-MEM			3512 #	5865	5870	5875	5880	5938	5943	5967	5972
	I			3479 #	3965	4380	4381	4382	4383	4384	4385	4396	4397	4398	4399
				4400	4401	4402	4403	4414	4415	4416	4417	4418	4419	4420	4421
				4432	4433	4434	4435	4436	4437	4438	4439	4488	4489	4490	4491
				4492	4493	4494	4495	4563	4564	4565	4566	4567	4568	4569	4570
				4578	4579	4580	4581	4582	4583	4584	4585	4593	4594	4595	4596
				4597	4598	4599	4600	4608	4609	4620	4789	4820	4917	4918	5210
				5315	5316	5317	5318	5319	5320	5321	5480	5512	5585	5590	5869
				5879	5942	5971	6128	7920	7922	7923	7924	7925	7933	7934	7935
				7936	7942	7944	7945	7946	7947	7951	7952	7953	7954	7955	7956
				7957	7958	7968	7969	7970	7971	7977	7978	7979	7980	7981	7982
				7990	7992	7993	8001	8003	8004
	I-PF			3480 #	3961	3970	3975	3980	4045	4050	4055	4060	4065	4070	4075
				4082	4087	4092	4097	4102	4107	4112	4117	4220	4221	4231	4241
				4260	4270	4276	4286	4296	4306	4315	4316	4327	4337	4347	4357
				4366	4367	4378	4379	4387	4388	5455	5467
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-53
; 							Cross Reference Listing					

	IW			3498 #	4222	4223	4317	4318	4368	4369
	M			3506 #	3971	3976	3981	4041	4046	4051	4056	4061	4066	4071	4076
				4083	4088	4093	4098	4103	4108	4113	4118	4222	4232	4242	4256
				4261	4271	4272	4277	4287	4297	4307	4317	4328	4338	4348	4358
				4368	5456	5468	5481	5513	5586	5591	7929
	R			3487 #	4182	4183	4389	4390	4391	4392	4393	4394	4405	4406	4407
				4408	4409	4410	4411	4412	4423	4424	4425	4426	4427	4428	4429
				4430	4441	4442	4443	4444	4445	4446	4447	4448	4497	4498	4499
				4500	4501	4502	4503	4504	4515	4516	4517	4518	4519	4520	4521
				4522	4788	4818	5479	5511	5584	5589	5738	5739	5740	5741	5863
				5864	5868	5873	5874	5878	5936	5937	5941	5965	5966	5970	6129
				6162	6163	6165	6166	6373	6374	6375	6376	6594	6596	7219	7220
				7221	7222	7921	7931	7932	7943	7966	7967	7989	8000
	R-PF			3488 #	3960	3969	3974	3979	4035	4044	4049	4054	4059	4064	4069
				4074	4081	4086	4091	4096	4101	4106	4111	4116	4230	4240	4250
				4259	4269	4275	4285	4295	4305	4326	4336	4346	4356	5454	5466
	RPW			3491 #	3967	3972	3977	3982	4020	4041	4042	4046	4047	4052	4057
				4062	4067	4072	4077	4083	4084	4088	4089	4094	4099	4104	4109
				4114	4119	4232	4233	4242	4243	4256	4257	4261	4262	4277	4278
				4287	4288	4297	4298	4307	4308	4328	4329	4338	4339	4348	4349
				4358	4359	4531	4532	4533	4534	4535	4536	4537	4538	4546	4547
				4548	4549	4550	4551	4552	4553	5456	5457	5468	5469
	RW			3489 #	5481	5482	5513	5514	5586	5587	5591	5592	5865	5866	5870
				5871	5875	5876	5880	5881	5938	5939	5943	5944	5967	5968	5972
				5973	6593	6595	7940	7986	7988	7997	7999
	S			3507 #	3967	3972	3977	3982	4042	4047	4052	4057	4062	4067	4072
				4077	4084	4089	4094	4099	4104	4109	4114	4119
	SJC-			3532 #	4488	4497	4515	4531	4546	4563	4578	4593
	SJCA			3536 #	4492	4501	4519	4535	4550	4567	4582	4597
	SJCE			3534 #	4490	4499	4517	4533	4548	4565	4580	4595	4975
	SJCG			3539 #	4495	4504	4522	4538	4553	4570	4585	4600	4981
	SJCGE			3537 #	4493	4502	4520	4536	4551	4568	4583	4598	4608	4979
	SJCL			3533 #	4489	4498	4516	4532	4547	4564	4579	4594	4609	4974
	SJCLE			3535 #	4491	4500	4518	4534	4549	4566	4581	4596	4976
	SJCN			3538 #	4494	4503	4521	4537	4552	4569	4584	4599	4980
	TC-			3523 #	4414	4415	4423	4424
	TCA			3525 #	4418	4419	4427	4428
	TCE			3524 #	4416	4417	4425	4426
	TCN			3526 #	4420	4421	4429	4430
	TN-			3515 #
	TNA			3517 #	4382	4383	4391	4392
	TNE			3516 #	4380	4381	4389	4390
	TNN			3518 #	4384	4385	4393	4394	4620
	TO-			3527 #	4432	4433	4441	4442
	TOA			3529 #	4436	4437	4445	4446
	TOE			3528 #	4434	4435	4443	4444
	TON			3530 #	4438	4439	4447	4448
	TZ-			3519 #	4396	4397	4405	4406
	TZA			3521 #	4400	4401	4409	4410
	TZE			3520 #	4398	4399	4407	4408
	TZN			3522 #	4402	4403	4411	4412
	W			3486 #	3971	3976	3981	4051	4056	4061	4066	4071	4076	4093	4098
				4103	4108	4113	4118	4201	4202	4271	4272	7918	7919	7929	7930
				7941	7964	7965	7975	7976	7987	7991	7998	8002
(U) MARK			1831 #
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-54
; 							Cross Reference Listing					

(U) MBOX CTL			2080 #	8961	8963	8965
	CLR PT LINE		2085 #	8556
	CLR PT LINE(NK)		2083 #
	NORMAL			2089 #	8558
	PT DIR CLR		2088 #	8482	8550
	PT DIR CLR(NK)		2084 #
	PT DIR WR		2086 #
	PT WR			2087 #	8463	9186
	SET IO PF ERR		2082 #	9401
	SET PAGE FAIL		2081 #
(U) MEM				1662 #
	A RD			1666 #	3786	3787	3788	3789	3799	3800	9522	9523	9524	9525	9540
				9541
	AD FUNC			1675 #	9228
	ARL IND			1664 #	4008	4954	4955	5173	5330	5336	5388	5393	5396	5596	5601
				5924	5925	5928	6146	6252	6301	6422	6425	6483	6487	6507	6509
				6605	6660	6963	6977	6980	6985	6985	6992	7019	7041	7052	7074
				7385	7387	7415	7519	7550	7774	7781	7882	8131	8179	8465	8511
				8524	8537	8591	8608	8654	8855	8948	8968	9003	9004	9005	9084
				9087	9088	9185	9554	9589	9744	9745	9771	9909	9969	10010	10012
				10044	10046	10085	10089	10092	10132	10192	10215	10262	10324	10373	10402
				10428	10457	10528	10562	10648
	B WRITE			1667 #	3987	3996	4128	4130	4133	4136	4140	4144	4153	4154	4160
				4161	4167	4168	4174	4175	4227	4237	4247	4266	4282	4292	4302
				4312	4322	4333	4343	4353	4363	4373	4804	5461	5474	5506	5523
				5614	5616	5621	6351	6355	8018	8190	8538
	EA CALC			1676 #	3777	3779	3781	3783	3801	3803	4837	4842	4883	4885	4909
				6803	6807	6809	6811	6813	6816	6817	6818	6819	6827	6828	6829
				6831	6853	6857	6859	6861	6863	6866	6867	6868	6869	6876	6877
				6878	6880	9517	9518	9519	9520	9542	9543	10454	10458	10482	10672
				10673	10680	10682
	FETCH			1668 #	4469	4472	4477	4508	4526	4574	4589	4605	4613	4752	8022
				8024	8026	9780	9844
	IFET			1679 #	3658	3882	3915	3917	3923	3925	4006	4013	4195	4675	4704
				4728	4732	4810	4847	4852	4895	4896	4928	4934	4959	5170	5228
				5335	5346	5365	5384	5399	5422	5447	5666	5675	5795	5836	6224
				6225	6580	6615	6682	6968	6987	7072	7553	7679	7681	7682	7732
				7740	7744	8029	8755	9718	9935	10011	10073	10375	10591	10597	10605
				10687	10737
	LOAD AR			1670 #	4633	4647	4706	4716	4717	5095	5812	6786	7729	7770	7852
				7866	8037	8675	8676	8707	8730	8731	8813	8814	8818	8819	8993
				8994	9012	9017	9032	9049	9070	9094	9129	9374	9591	9818	10014
				10082	10146	10178	10325	10326	10399	10403	10440	10442	10505	10557	10577
				10589	10598	10607	10714	10730
	LOAD ARX		1671 #	3761	4189	4845	5093	5103	5155	5751	6381	7134	7226	7750
				7855	8678	8721	8722	8724	8727
	MB WAIT			1665 #	3767	3826	3827	3860	3871	3893	3904	3916	3920	3942	3998
				4191	4192	4212	4718	4719	4722	4734	4801	4849	4854	4860	4860
				4888	4889	4891	4892	4907	4908	5156	5159	5169	5182	5760	5762
				5850	5852	6787	6801	6804	6836	6837	6851	6854	6885	6886	6897
				6899	6922	6922	6928	7730	7758	7771	7854	7868	8017	8021	8023
				8033	8109	8489	8572	8633	8658	8744	8753	8754	8920	8934	8998
				9013	9033	9053	9065	9072	9095	9132	9330	9366	9376	9546	9547
				9692	9725	9828	9829	10018	10087	10148	10258	10331	10459	10474	10487
				10507	10512	10548	10556	10581	10583	10603	10609	10677	10678	10685	10688
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-55
; 							Cross Reference Listing					

				10728	10735	10738
	REG FUNC		1669 #	3835	4795	8108	8116	8158	8162	8478	8514	8532	8545	8933
	RESTORE VMA		1674 #	3832	8931	9184
	RPW			1678 #
	RW			1677 #
	WRITE			1672 #	4026	4207	4210	4213	4542	4557	4682	4698	4702	4932	4933
				4943	5094	5101	5157	5167	5184	5186	6773	6776	6785	6789	6790
				6792	6943	8034	8127	8166	8594	8657	8659	8745	8746	8777	8778
				8823	8824	8932	9056	9171	9365	9371	9373	10467	10483	10486	10543
				10544	10545	10546	10549	10582	10610	10732
(U) MQ				1568 #
	MQ SEL			1572 #	5545	5546	5547	5549	5562	5563	5564	5566	5748	6539	6571
				7364	7366	7474	7771	7868	7889
	MQ*.25			1571 #	5541	5551	5553	5555	5557	5569	5571	5573	5574	5579	5771
				5793	6532	7360	7467	7514
	MQ*2			1570 #	5656	5659	5664	5673	5689	5690	5691	5692	5693	5694	5695
				5696	5720	5721	5722	5723	5791	5831	5833	7154	7155	7156	7157
				9852
	MQM SEL			1573 #	6563	7365	7372	7494
	SH			1569 #	4028	5175	5375	5382	5391	5393	5398	5436	5496	5518	5724
				5725	5726	5727	5764	5773	5779	5818	5841	5916	5919	5921	5956
				6222	6282	6415	6428	6430	6434	6452	6454	6469	6479	6486	6543
				6544	6550	6553	6555	6922	7061	7326	7348	7351	7356	7402	7479
				7480	7486	7489	7491	7861	8475	8582	8630	8699	9510	9702	9837
				9890	10032	10068	10254	10340	10342	10363	10572	10575	10581	10606
(U) MQ CTL			1951 #
	AD			1959 #	7372
	MQ*.25			1957 #	6563	7365	7494
	MQ*2			1953 #	5545	5546	5547	5549	5562	5563	5564	5566	6539	7364	7366
				7474
	SH			1956 #
	0S			1955 #	5748	6571	7771	7868	7889
	1S			1958 #
(U) MREG FNC			2066 #
	LOAD CCA		2073 #	8108
	LOAD EBR		2078 #	8545
	LOAD UBR		2077 #	8478
	MAP			2079 #	3835	4795	8933
	READ EBR		2069 #	8532
	READ ERA		2070 #	8158
	READ UBR		2068 #	8514
	SBUS DIAG		2067 #	8162
	WR REFILL RAM		2071 #	8116
(U) MTR CTL			2090 #
	CLR E CNT		2093 #	8648
	CLR M CNT		2094 #	8649
	CLR PERF		2092 #	8647
	CLR TIME		2091 #	8646
	CONO MTR		2097 #	8615
	CONO TIM		2098 #	8470
	LD PA LH		2095 #	8604
	LD PA RH		2096 #
(U) NONSTD			1865 #
	OPTIONS			1870 #	8127
(U) PARITY			2149 #
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-56
; 							Cross Reference Listing					

(D) PARITY			2191 #
(U) PC FLAGS			1963 #
	AROV			1964 #	5432	5507	5524	5785	6216	7682
	DIV CHK			1970 #	5611
	FDV CHK			1971 #	5990	6519	7399
	FLOV			1965 #	7539	7544	7740	7898
	FPD			1966 #	6801	6834	6851	6883	8037	8038	10034
	FXU			1969 #	7543	7744	7899
	TRAP1			1968 #
	TRAP2			1967 #	4849	4854	4902	4903	4907
(U) PV				1873 #
	OPTIONS			1876 #	8127
(U) SC				1618 #
	AR SHIFT		1621 #	5330	5349	5351	5370	5373	5389	6146
	FE			1619 #	6902	6938	7304	7307	8573	9184
	SCAD			1620 #	3714	3723	3725	3833	3920	3942	4194	4207	4210	4748	4750
				4764	5116	5159	5160	5333	5358	5361	5363	5378	5381	5394	5397
				5409	5413	5435	5437	5440	5449	5503	5523	5601	5614	5616	5620
				5755	5784	5802	5804	5808	5837	5838	5848	5903	5906	5914	5916
				5919	5923	5954	5957	5983	6082	6086	6088	6205	6219	6221	6277
				6283	6380	6400	6413	6431	6449	6452	6454	6470	6483	6489	6511
				6524	6538	6544	6611	6614	6674	6679	6788	6897	6904	6928	6940
				6942	6959	6977	6983	7007	7038	7060	7073	7132	7134	7250	7255
				7305	7309	7323	7339	7369	7373	7392	7463	7481	7515	7517	7521
				7526	7533	7535	7537	7559	7772	7782	7883	7887	7903	8105	8468
				8488	8490	8494	8518	8529	8544	8583	8594	8636	8656	8706	8726
				8788	8812	8817	8822	8840	8847	8856	8933	8936	8962	8964	8967
				8998	9086	9113	9119	9120	9125	9130	9203	9211	9217	9352	9354
				9437	9511	9587	9589	9705	9710	9873	9899	9925	9932	9934	9966
				9978	9981	9993	9995	10009	10039	10042	10068	10075	10148	10177	10215
				10217	10225	10243	10256	10262	10286	10329	10331	10332	10341	10343	10344
				10351	10399	10401	10441	10510	10559	10561
(U) SCAD			1595 #
	A			1596 #	3714	3723	3725	3830	3832	3833	3920	3920	3942	3942	4009
				4194	4207	4210	4748	4750	4764	4764	4781	5159	5160	5174	5333
				5336	5339	5341	5389	5392	5440	5449	5497	5503	5519	5523	5614
				5616	5620	5627	5634	5637	5724	5725	5726	5727	5755	5765	5780
				5784	5804	5820	5835	5837	5848	5903	5906	5954	5956	5986	6171
				6219	6277	6283	6301	6341	6380	6392	6431	6479	6489	6511	6516
				6524	6538	6544	6571	6611	6674	6774	6777	6788	6821	6822	6823
				6824	6871	6872	6873	6874	6928	6977	7008	7010	7038	7132	7134
				7152	7161	7250	7253	7255	7257	7322	7323	7339	7346	7351	7369
				7373	7388	7392	7396	7454	7463	7481	7515	7521	7526	7533	7535
				7537	7559	7772	7779	7782	7853	7867	7883	7885	7887	7903	8105
				8160	8468	8488	8490	8494	8518	8529	8544	8575	8583	8594	8636
				8656	8706	8726	8788	8812	8817	8822	8856	8914	8919	8933	8946
				8998	9054	9086	9149	9203	9203	9211	9255	9352	9354	9437	9549
				9587	9703	9705	9740	9819	9837	9890	9892	9899	9925	9932	9934
				9966	9969	9978	9981	9981	10012	10039	10039	10042	10042	10075	10148
				10160	10177	10182	10201	10229	10232	10284	10288	10332	10351	10429	10441
				10502	10510	10529	10533	10559	10561
	A+1			1600 #	5541	5551	5553	5555	5557	5569	5571	5573	5574	5579	5601
				5771	5802	5808	5808	5924	5925	5928	5983	6290	6340	6487	6506
				6508	6536	6570	7007	7357	7359	7384	7386	7471	7502	9113	9589
				10068	10341	10343	10344	10374
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-57
; 							Cross Reference Listing					

	A+B			1598 #	4772	5358	5361	5363	5378	5381	5394	5397	5407	5409	5413
				5431	5435	5437	5545	5546	5547	5549	5562	5563	5564	5566	5707
				5710	5915	5916	5923	5957	5959	5997	6000	6086	6088	6148	6205
				6221	6254	6288	6410	6413	6451	6452	6470	6483	6533	6535	6614
				6789	6801	6803	6851	6853	6904	6932	6959	6980	6985	7041	7060
				7127	7129	7259	7268	7468	7469	7517	7519	7749	7760	7767	7774
				8511	8723	8787	8840	8851	8947	8964	8966	9426	9431	9511	9512
				9693	9697	9710	9812	9873	10007	10045	10047	10217	10223	10238	10239
				10297	10298	10301	10331	10334	10385	10398
	A-1			1599 #	4775	5656	5659	5664	5673	5689	5690	5691	5692	5693	5694
				5695	5696	5720	5721	5722	5723	5814	5838	6257	6400	6539	7154
				7155	7156	7157	7474	7763	8555	8993	8994	9992	9994
	A-B			1601 #	5116	5914	5919	6082	6188	6192	6259	6261	6281	6285	6294
				6303	6449	6454	6540	6567	6605	6660	6679	6784	6786	6897	6939
				6940	6942	6963	6983	7073	7074	7305	7309	7476	7497	7758	8847
				8855	9120	9130	9140	9141	9742	9744	10009	10215	10225	10243	10256
				10262	10286	10371	10383	10407	10410	10432	10492	10508
	A-B-1			1597 #	6923	9213	9217	9887	9993	9995
	AND			1603 #	7546	8475	8708	8710	8719	8744	8769	8786	8835	8844	8936
				8962	8967	8999	9015	9041	9047	9053	9067	9080	9101	9119	9125
				9131	9133	9174	9176	10098	10162	10163	10167	10327	10329	10373	10399
				10401	10420	10435
	OR			1602 #	8937	8968	9072	9095	9147	9178	9183	9185	9814	9893	10164
				10165	10166	10168	10192	10414	10415	10562
(U) SCADA			1604 #
	AR EXP			1607 #	5903	5906	5914	5954	5957	5983	6082	6148	6188	6192	6380
				6449	6483	7772	9203	9203	9211
	AR0-5			1606 #	5336	5339	6605	6611	6660	6674	6788	6963	6977	7038	7073
				7546	8475	8855	8856	8936	8962	9054	9119	9125	9133	9149	9176
				9185	9426	9431	9744	10098	10160	10162	10163	10164	10165	10166	10167
				10168	10192	10215	10229	10262	10284	10327	10373	10374	10385	10399	10401
				10420	10435	10441	10508	10562
	FE			1605 #	4775	5341	5394	5397	5541	5551	5553	5555	5557	5569	5571
				5573	5574	5579	5656	5659	5664	5673	5689	5690	5691	5692	5693
				5694	5695	5696	5720	5721	5722	5723	5771	5820	5915	5924	5925
				5928	5997	6000	6221	6254	6257	6259	6261	6281	6285	6288	6290
				6294	6303	6340	6341	6400	6451	6506	6508	6533	6535	6536	6539
				6540	6567	6570	6571	6614	6784	6786	6904	6923	6942	6983	7154
				7155	7156	7157	7357	7359	7384	7386	7468	7469	7471	7474	7476
				7497	7502	7517	7758	7760	7763	7767	8555	8723	8787	8840	8851
				8937	8946	8964	8966	8968	8999	9041	9053	9072	9080	9095	9131
				9141	9147	9174	9178	9703	9742	9814	9819	9873	9890	9892	9893
				9992	9993	9994	9995	10009	10012	10217	10225	10232	10288	10331	10341
				10343	10344	10371	10383	10398	10407	10410	10414	10415	10432	10492	10533
	#			1608 #	3714	3723	3725	3830	3832	3833	4194	4207	4210	4748	4750
				5116	5159	5160	5333	5358	5361	5363	5378	5381	5389	5392	5409
				5413	5431	5435	5437	5440	5449	5497	5503	5519	5523	5614	5616
				5620	5627	5634	5637	5724	5725	5726	5727	5755	5765	5780	5784
				5804	5835	5848	5916	5919	5923	5956	5959	5986	6086	6088	6171
				6205	6219	6277	6283	6392	6410	6413	6431	6452	6454	6470	6479
				6489	6511	6516	6524	6538	6544	6679	6774	6777	6821	6822	6823
				6824	6871	6872	6873	6874	6897	6939	6940	7008	7010	7132	7134
				7152	7161	7250	7255	7305	7309	7322	7323	7346	7351	7369	7373
				7392	7396	7463	7481	7515	7521	7526	7533	7535	7537	7559	7779
				7782	7853	7867	7883	7887	7903	8105	8160	8468	8488	8490	8494
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-58
; 							Cross Reference Listing					

				8518	8529	8544	8575	8583	8594	8636	8656	8706	8708	8710	8719
				8726	8744	8769	8786	8788	8812	8817	8822	8835	8844	8847	8914
				8919	8933	8967	8998	9015	9047	9067	9086	9101	9140	9183	9255
				9352	9354	9437	9511	9549	9587	9705	9740	9837	9899	9925	9932
				9934	9966	9978	9981	9981	10039	10039	10042	10042	10075	10148	10177
				10182	10201	10243	10256	10286	10329	10332	10334	10351	10502	10510	10559
				10561
(U) SCADA EN			1609 #
	0S			1610 #	3920	3920	3942	3942	4009	4764	4764	4772	4781	5174	5407
				5545	5546	5547	5549	5562	5563	5564	5566	5601	5707	5710	5802
				5808	5808	5814	5837	5838	6301	6487	6789	6801	6803	6851	6853
				6928	6932	6959	6980	6985	7007	7041	7060	7074	7127	7129	7253
				7257	7259	7268	7339	7388	7454	7519	7749	7774	7885	8511	8947
				8993	8994	9113	9120	9130	9213	9217	9512	9589	9693	9697	9710
				9812	9887	9969	10007	10045	10047	10068	10223	10238	10239	10297	10298
				10301	10429	10529
(U) SCADB			1612 #
	AR0-8			1615 #	4772	6205	7259	7268	7749	8967	8999	9015	9047	9067	9080
				9101	9183	9693	9697	9812	9814	9887	10007	10329	10334
	AR6-11			1614 #	6605	6660	6784	6786	6801	6803	6851	6853	6959	6963	7060
				8708	8710	8719	8744	8769	8786	8835	8844	8855	9426	9431	9710
				9742	9744	10215	10223	10225	10238	10239	10243	10262	10286	10297	10298
				10301	10508
	SC			1613 #	5116	5358	5361	5363	5378	5381	5394	5397	5407	5409	5413
				5431	5435	5437	5545	5546	5547	5549	5562	5563	5564	5566	5707
				5710	5914	5915	5916	5919	5923	5957	5959	6082	6086	6088	6148
				6410	6413	6449	6451	6452	6454	6470	6483	6540	6567	6614	6679
				6789	6897	6904	6923	6932	6939	6940	6942	6980	6983	6985	7041
				7074	7127	7129	7305	7309	7476	7497	7517	7519	7774	8511	8840
				8847	8936	8937	8947	8964	8966	8968	9119	9120	9125	9130	9133
				9140	9176	9185	9213	9217	9511	9512	9873	9993	9995	10045	10047
				10192	10217	10256	10331	10373	10385	10414	10415	10562
	#			1616 #	5997	6000	6188	6192	6221	6254	6259	6261	6281	6285	6288
				6294	6303	6533	6535	7073	7468	7469	7546	7758	7760	7767	8475
				8723	8787	8851	8962	9041	9053	9072	9095	9131	9141	9147	9174
				9178	9893	10009	10098	10162	10163	10164	10165	10166	10167	10168	10327
				10371	10383	10398	10399	10401	10407	10410	10420	10432	10435	10492
(U) SH				1628 #	3777	3779	3781	3783	3786	3787	3788	3789	3800	3803	6807
				6809	6811	6813	6816	6817	6818	6819	6828	6831	6857	6859	6861
				6863	6866	6867	6868	6869	6877	6880	9517	9518	9519	9520	9522
				9523	9524	9525	9541	9543
	AR			1630 #	4026	4028	4028	4772	5175	5406	5408	5412	5426	5496	5518
				5613	5615	5626	5724	5725	5726	5727	5754	5773	5779	5841	5916
				5919	5922	5925	5956	6171	6206	6407	6409	6412	6469	6479	6486
				6515	6550	6553	6555	6611	6674	6787	6903	6922	7061	7132	7152
				7160	7304	7306	7308	7322	7348	7351	7356	7396	7402	7455	7486
				7489	7491	7520	7535	7537	7734	7772	7869	7883	7890	8187	8488
				8490	8518	8582	8620	8630	8699	8726	8751	8768	8770	8788	8837
				8856	9000	9080	9113	9352	9354	9454	9510	9699	9702	9702	9735
				9773	9812	9837	9837	9855	9857	9909	9968	10032	10034	10068	10076
				10149	10149	10223	10228	10239	10254	10283	10298	10301	10330	10402	10428
				10435	10528	10572	10575	10581	10606	10642
	AR SWAP			1632 #	3987	4133	4136	4139	4140	4143	4144	4160	4161	4167	4168
				4472	4475	4720	4723	4745	4943	4954	4955	5179	5223	5902	5953
				5982	7880	8015	8126	8131	8137	8179	8185	8465	8524	8532	8538
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-59
; 							Cross Reference Listing					

				8602	8608	8623	8635	8948	8953	8953	9129	9174	9204	9414	10089
				10151	10151	10648	10666	10667	10720	10721
	ARX			1631 #	3753	3829	4663	4681	4848	4853	4855	4960	5180	5185	5384
				5393	5399	5430	5434	5790	5802	5807	5818	5997	6251	6424	6427
				6435	6452	6454	6542	6791	6838	6887	6988	7136	7264	7269	7478
				7749	7780	7861	8138	8467	8605	8622	8654	8786	8904	8905	8919
				8950	8969	9011	9041	9046	9120	9125	9184	9212	9215	9217	9370
				9420	9442	9446	9515	9548	9552	9555	9557	9560	9696	9781	9841
				9890	9900	9972	9993	9995	10019	10092	10193	10230	10235	10291	10324
				10325	10326	10340	10342	10351	10355	10363	10384	10403	10433	10481	10489
				10543	10544	10545	10546	10590	10592
	SHIFT AR!ARX		1629 #	3949	4213	4749	5116	5116	5161	5166	5337	5339	5358	5363
				5375	5380	5382	5391	5396	5398	5411	5436	5442	5447	5448	5506
				5633	5636	5764	5789	5791	5792	5795	5803	5805	5809	5820	5849
				5921	5924	5927	6220	6222	6226	6282	6284	6415	6426	6428	6430
				6434	6436	6540	6543	6544	6567	6579	6902	6910	6938	6941	6941
				6943	7310	7315	7317	7326	7476	7479	7480	7497	7522	7534	7551
				7679	7681	7885	7888	8107	8475	8503	8536	8659	8665	8667	8669
				8671	8702	8719	8789	8826	9003	9013	9014	9084	9088	9356	9438
				9711	9902	9936	9965	10077	10160	10316	10332	10332	10349
(U) SKIP			1691 #
	AC REF			1732 #
	AC#0			1699 #	3918	4527	6136
	AD CRY0			1709 #	4782	4837	4842	4887	4906	5225	5814	5832	5833	5998	6085
				6087	6251	6278	6524	6549	6978	7010	7463	7485	8793	9139	9815
				9863	9910	9974	9977	10008	10066	10085	10138	10517	10558	10575	10585
				10661
	AD#0			1711 #	5333	5428	5503	5619	6391	6437	6465	6986	7237	7334	7484
				7677	7680	7731	7881	8828	9040	9119	10603
	AD0			1710 #	5233	5235	5521	5708	5711	5781	5809	5987	6398	6515	7027
				7239	7243	7249	7286	7297	7299	7340	7344	7352	7378	7379	7396
				7408	7414	7451	7455	7738	7742	7877	7902	8468	9699	9708	9908
				9965	10573
	ADX0			1708 #	10089	10684	10734
	AR0			1698 #	3990	4164	4171	5227	5344	5603	5635	5638	6171	6484	6788
				7232	7236	7406	7734	7765	9203	9211	9451	9460	9723	9773	10229
				10284
	AR18			1697 #	4150	4157	5331	5349	5351	5370	5373	5389	8476	9554	10172
	ARX0			1696 #	9838	10148	10336	10354	10379
	BR0			1695 #	5835	5989	6082	6518	7398	7415	9728	9854	10033
	EVEN PAR		1694 #
	FETCH			1716 #
	INTRPT			1724 #	3778	3780	3782	3784	3802	3804	4776	4793	4808	5090	6808
				6810	6812	6814	6830	6832	6858	6860	6862	6864	6879	6881	8074
				8998	9073	9255	9517	9518	9519	9520	9542	9543	9741	9790	9873
				10076	10217	10400	10404	10583	10609	10682	10732
	IO LEGAL		1727 #	4634	4635	4641	4643	4801	8011	8017	8106	8113	8115	8120
				8123	8132	8135	8161	8180	8183	8462	8466	8494	8525	8528	8581
				8597	8600	8609	8612	8621	9310
	KERNEL			1717 #	4631
	P!S XCT			1728 #	10648	10673
	PC SEC0			1704 #	4663	4664	4839	4890	4893	4928	4930	4953	5086	10227	10228
				10282	10283	10324	10364	10396	10398	10430	10488	10530
	PI CYCLE		1721 #	8023	8026	8035	9335
	PUBLIC			1719 #
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-60
; 							Cross Reference Listing					

	RPW REF			1720 #	8914	8919
	RUN			1726 #
	SC0			1700 #	5842	10012
	SCAD#0			1707 #	5336	5339	5407	8708	8710	8744	8769	9015	9048	9054	9068
				9101	9131	9133	9149	9175	9177	9512	9693	9819
	SCAD0			1706 #	5359	5362	5364	5378	5381	5394	5397	5409	5414	5431	5820
				5914	5917	5919	5923	6188	6192	6205	6221	6411	6413	6449	6453
				6455	6680	6897	6904	6924	7305	7759	8848	8855	9744	10256	10335
				10371	10383	10408	10411	10432	10492	10508
	USER			1718 #	4679	4696	4721	4722	4727	5176	5241	9088	9368
	-EBUS GRANT		1722 #	8070
	-EBUS XFER		1723 #	8060
	-LOCAL AC ADDR		1713 #	4006	4013	5088	5152
	-MTR REQ		1733 #	3827	4773	5102	5117	5242	6837	6886	9547
	-START			1725 #	4771
	-VMA SEC0		1730 #	6778	6804	6854	7129
(U) SP MEM			2034 #
	CACHE INH		2041 #
	EPT			2055 #	8675	8730	8777	8993
	EPT CACHE		2056 #
	EPT EN			2040 #
	EPT FETCH		2057 #	8721	8722	8727
	EXEC			2037 #
	FETCH			2035 #
	PT			2060 #	3761	5093
	PT FETCH		2061 #
	SEC 0			2038 #
	UNCSH+UNPAGE		2042 #
	UNPAGED			2054 #	8814	8819	8824	9012	9017	9032	9049	9065	9070	9094	9129
	UNPAGED+CACHED		2043 #
	UPT			2058 #	5155	5157	8676	8994	9365
	UPT EN			2039 #
	UPT FETCH		2059 #
	USER			2036 #
(U) SPEC			1807 #
	AD LONG			1827 #	4193	4209	5658	5658	5661	5661	5706	5709	5760	5762	5772
				5813	5816	5847	5851	6083	6083	6227	6388	6388	6478	6524	6536
				6570	7234	7234	7350	7403	7403	7463	7471	7502	7516	7557	7557
				8593	8656	9919	9920	9933	9977	9978	9978	9992	10035	10075	10097
				10136	10504
	ARL IND			1822 #	4009	4014	4014	4192	4208	4681	4696	4888	4891	4960	5166
				5174	5176	5341	5341	5752	5903	5906	5914	5954	5957	5983	5983
				6082	6148	6380	6380	6449	6786	7127	7129	7227	7472	7730	7854
				7886	8126	8605	8615	8937	8946	8947	9368	9370	9426	9703	9892
				10232	10374	10414	10415	10533
	CLR FPD			1812 #	3936	6615	10071
	FLAG CTL		1824 #	3655	4627	4668	4672	4718	4719	4722	4724	4725	4751	4754
				4762	5189	8030	8754	9375
	GEN CRY18		1815 #	4008	4613	5163	5173	6278	8026	8034	8499
	INH CRY18		1809 #	5226	7053	10233	10281	10285	10289	10372	10409
	LOAD PC			1813 #	4765
	MQ SHIFT		1810 #	5791	5793	5831	5833	6532	7467	7514	9852
	MTR CTL			1823 #	8598	8610	8622	8623	8624	8638	8639	8640	8641
	SAVE FLAGS		1825 #	4635	4646	4839	4928	4930	5182
	SCM ALT			1811 #	5330	5349	5351	5370	5373	5389	6146	6902	6938	7304	7307
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-61
; 							Cross Reference Listing					

				8573	9184
	SP MEM CYCLE		1826 #	3761	5093	5155	5157	8675	8676	8721	8722	8727	8730	8777
				8814	8819	8824	8993	8994	9012	9017	9032	9049	9065	9070	9094
				9129	9365
	STACK UPDATE		1820 #	4837	4842	4887	4905	5224
	XCRY AR0		1814 #	3915	3948	5228	5411	5412	5423	5503	5507	5633	5636	5783
				5848	5921	5922	6172	6193	6220	6409	6412	7306	7308	7520	7862
				7869	7883	9935	10229	10284
(U) SPEC INSTR			1982 #	9027
	CONS XCT		1991 #	4781
	CONT			1992 #	4775
	HALTED			1990 #	4764
	INH PC+1		1985 #	3762
	INSTR ABORT		1989 #	8653	9356
	INTRPT INH		1988 #
	KERNEL CYCLE		1984 #
	PXCT			1987 #	5244
	SET PI CYCLE		1983 #	3713	8643	8699
	SXCT			1986 #
(U) SWITCH%
	ADJBP			1085	6132	6138	6140	6952	6961	6965	6967	6975	7118
	BACK.BLT		1095	10652	10657	10660	10692	10702
	BIG.PT			1153	8479	8481	8483	8546	8549	8559	8565	9102	9105	9107	9110
				9112	9114	9116
	BLT.PXCT		11	1042	2941	2943	2945	3271	3274	3321	3323	3325	10644	10647
				10651	10711	10740
	CST.WRITE		20	1152	9142	9146	9148
	DBL.INT			1082	5732	5737	5853
	DIAG.INST		1138	1140	1142	5196	5207	5212	5249	5259	5271
	EPT540			6	1135	8979	8985	8991
	EXTEND			1079	6195	6208	6210	9464	9619	9630	9674	9677	9797	9800	9874
				9877	9941	9944	10099	10102	10304	10307	10564
	EXTEXP			13	3716	3718	3720	3768	3771	4994	4996	5007	5017	5064	5067
				5260	5270	7216	7907
	FPLONG			10	1024	5858	5861	5884	5892	5898	5946	5951	5975	5980	6016
				6074	6092	6125	6312	6314	6316	6322	6330	6346	6348	6350	6352
				6354	6356	6364	6366	6368
	GFTCNV			18	1154	7327	7329	7562	7651	7713	7718	7723	7785	7851
	IMULI.OPT		1058	5485	5488	5495	5499	5502
	INSTR.STAT		1119	1121	1124	1883	1885	1887	8144	8148	8156	8219	8451
	IPA20			17	1150	8711	8713	8715	8799	8807
	KLPAGE			9	1031	1048	1054	1056	1849	1851	1853	2294	2297	2329	2331
				2352	2354	2429	2431	2445	2451	2572	2574	2591	2593	2616	2621
				2674	2676	2711	2713	3034	3037	3051	3053	3090	3093	3110	3114
				3117	3119	3295	3297	3326	3328	3330	3332	3334	3336	3338	3341
				3345	3354	3375	3377	3413	3415	3419	3421	3431	3433	3442	3444
				3451	3453	3455	4797	4799	4805	4812	8456	8460	8464	8860	9240
				9250	9282	9284	9286	9307	9311	9327	9336	9350	9379	9386	9411
				9413
	LONG.PC			7	1133	1858	1860	1862	4632	4636	4640	4645	4648	4651	4678
				4741
	MODEL.B			8	1038	1049	1052	1061	1064	1073	1075	1585	1588	1590	1638
				1644	1673	1680	1687	1701	1703	1705	1712	1714	1729	1731	1761
				1763	1774	1776	1779	1803	1805	1816	1819	1821	1875	1877	1879
				1895	1908	1915	1918	2004	2032	2072	2074	2076	2158	2160	2219
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-62
; 							Cross Reference Listing					

				2222	2225	2232	2234	2236	2238	2240	2242	2404	2406	2641	2643
				2645	2649	2653	2656	2658	2660	2662	2665	2669	2673	2726	2728
				2730	2732	2734	2773	2778	2819	2822	2825	2834	2836	2909	2911
				2913	2927	2929	2931	2933	2935	2937	2939	2946	2948	3040	3044
				3054	3056	3081	3083	3159	3163	3197	3199	3201	3203	3244	3246
				3250	3252	3266	3282	3294	3298	3301	3304	3306	3311	3317	3319
				3448	3450	3456	3462	3464	3651	3654	3656	3805	3816	3837	3855
				3857	3859	3866	3868	3870	3877	3879	3881	3888	3890	3892	3899
				3901	3903	4829	4836	4843	4865	4881	4910	5144	5146	5148	5544
				5548	5561	5565	5599	5604	5609	5618	5623	6197	6200	6203	6390
				6393	6396	6414	6417	6420	6433	6440	6462	6472	6477	6500	6502
				6504	6525	6528	6531	6547	6556	6561	6574	6576	6578	6933	6937
				7215	7908	8085	8087	8089	8091	8093	8095	8496	8498	8501	8505
				8510	8517	8732	8735	8737	8738	8740	8757	8759	8761	8779	8781
				8783	8810	8829	8898	8900	8902	9194	9197	9199	9205	9207	9209
				9241	9243	9245	9317	9321	9392	9397	9406	9430	9432	9434	9439
				9441	9476	9481	9486	9569	9576	9618	9866	9869	9872	9937	9939
				10179	10181	10183	10250	10253	10255	10265	10270	10277	10318	10322	10328
				10356	10359	10366	10446	10451	10497	10522	10524	10532	10538	10551	10554
	MOS			8164	8165	8167	8176
	MULTI			14	1028	2044	2053	2062
	NOCST			15	1151	9039	9043	9045	9057	9064	9074	9118	9122	9124	9160
				9170	9187
	NONSTD			1144	1867	1869	1871
	OP.CNT			1006	1103	1105	3734	3737	8271	8315
	OP.TIME			1009	1107	1109	3738	3741	8317	8347
	OWGBP			16	1149	6133	6135	6137	6150	6157	6604	6617	6654	6659	6683
				6713	7022	7026	7028	7030	7033	7035	7037	7039	7044	7048	7064
				7071	7075	7080	7119	7163	7211	9585	9592	9598	9631	9673	9682
				9691	9698	9806	9811	9813	9816	9821	9826	9881	9886	9888	9956
				9963	9967	10310	10315	10317
	PAGCNT			1020	1126	1129	4766	4769	8471	8474	8906	8909	8913	8916	8918
				8923	8925
	PUSHM			1077	5261	5265	5269
	RPW			1088	3490	3492	3494
	SHIFT.MUUO		1033	5127	5129	5131	9329	9331	9333
	SMP			12	1145	6664	6666	6668	6670	6673	6676	6702	6705	6708	6753
				6766	6849	6888	6925	6927	6929	6934	6936
	SNORM.OPT		4	1069	6263	6274	6295
	SO.CNT			1012	1111	1113	3742	3746	8351	8400
	SO2.CNT			1015	1115	1117	3747	3751	8350	8403	8450
	SXCT			1062	1065	3811	3813	3815	5248	5273	5310
	TRACKS			1002	1099	1101	3730	3733	8222	8224	8226	8231	8247	8253	8269
	TRXDEF			1131	2334	2337	2458	2467	2624	2626	3382	3393	3422	3424	3445
				3447
	WRTST			1092	3495	3497	3499	3962	3964	3966
	XADDR			5	2014	2016	2018	2745	2747	2750	3307	3310	3481	3483	3485
				3775	3796	3817	3824	3836	4004	4015	4036	4038	4040	4251	4253
				4255	4657	4661	4667	4685	4691	4700	4709	4715	4731	4733	4740
				4922	4927	4939	4946	4950	4957	5079	5085	5104	5121	5149	5193
				5218	5222	5230	6196	6204	6207	6581	6584	6587	6608	6610	6613
				6663	6669	6677	6723	6767	6889	6954	6957	6960	7012	7014	7016
				7020	7049	7128	7131	7133	7138	7708	7710	9312	9316	9357	9364
				9377	9418	9422	9471	9505	9563	9577	9584	9617	10218	10220	10222
				10226	10244	10264	10278	10303	10360	10362	10365	10387	10395	10412	10425
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-63
; 							Cross Reference Listing					

				10427	10431	10452	10456	10460	10465	10496	10525	10527	10531	10539	10541
				10550	10569	10614
(U) TIME			1652 #
	2T			1655 #	4480	4481	4482	4776	6774	6777	6784	10135
	3T			1656 #	3756	3830	3861	3871	3883	3893	3904	4771	4860	4886	4889
				4892	5627	6679	6838	6887	6898	6923	8124	8556	8964	8966	9549
				10085	10137
	4T			1657 #
	5T			1658 #	3723	3725	4737	4803	5163	5165	8055	8058	8062	8075	8080
				8081	8114	8121	8133	8136	8137	8139	8181	8184	8186	8188	8467
				8499	8516	8526	8530	8534	8585	8586	8587	8588	8598	8601	8603
				8610	8613	8622	8623	8624	8629	8638	8639	8640	8641	8709	8767
				8920	8935
(U) U0				1470 #
(U) U21				1532 #
(U) U23				1538 #
(U) U42				1611 #
(U) U45				1617 #
(U) U48				1624 #
(U) U51				1645 #
(U) U73				1829 #
(U) VMA				1646 #	9228
	AD			1651 #	3712	3832	4675	4728	4732	4845	4847	4895	4896	5094	5170
				7729	7770	7852	7866	8037	8038	8108	8478	8545	8555	8574	8594
				8702	8727	8736	8756	8760	8772	8782	8839	8846	8931	9011	9016
				9026	9046	9065	9068	9093	9125	9235	9552	9555	9557	9560	10082
				10146	10178	10325	10326	10399	10403	10428	10440	10442	10454	10458	10505
				10528	10544	10546	10557	10577	10582	10589	10598	10607	10610	10714	10730
				10732
	LOAD			1649 #	3755	3757	3777	3779	3781	3783	3801	3803	4837	4842	4883
				4885	4909	5091	5100	5154	5156	6807	6809	6811	6813	6816	6817
				6818	6819	6827	6828	6829	6831	6857	6859	6861	6863	6866	6867
				6868	6869	6876	6877	6878	6880	8631	8666	8668	8670	8672	8704
				8705	8712	8717	8987	8989	9184	9330	9517	9518	9519	9520	9541
				9542	9543	10672	10673	10680	10682
	PC			1648 #	3658	4765	8755	10223	10238	10298	10301	10510
	PC+1			1650 #	3786	3787	3788	3789	3799	3800	3882	3915	3917	3923	3925
				4006	4013	4195	4469	4472	4477	4508	4526	4574	4589	4605	4613
				4704	4752	4810	4852	5228	5335	5365	5384	5399	5422	5447	5666
				5675	5795	5836	6224	6225	6580	6615	6682	6968	6987	7072	7553
				7679	7681	7682	7732	7740	7744	8022	8024	8026	8029	9718	9780
				9783	9844	9908	9926	9973	10011	10065	10352	10591	10597	10605	10687
				10737
	VMA			1647 #	4189	4212	4702	4706	4716	4717	4934	4959	5095	5103	5160
				5184	5186	5751	5806	6381	6786	6792	6803	6853	7134	7226	7733
				7855	8166	8657	8659	8678	8795	9371	9373	9374	9820	9931	9933
				10072	10482	10486	10549
(U) VMAX			1639 #
	AD12-17			1643 #
	PC SEC			1641 #	4951	4956
	PREV SEC		1642 #	4680	4697	5177	8512	9369
	VMAX			1640 #
(U) #				1835 #	3714	3722	3723	3725	3753	3755	3756	3757	3767	3786	3787
				3788	3789	3799	3800	3830	3832	3833	3920	3932	3933	3937	3942
				3949	4194	4207	4210	4734	4748	4750	4798	4807	4811	5091	5100
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page CRF-64
; 							Cross Reference Listing					

				5116	5154	5156	5159	5160	5169	5190	5191	5192	5245	5245	5333
				5358	5361	5363	5378	5381	5389	5392	5409	5413	5431	5435	5437
				5440	5449	5497	5503	5519	5523	5614	5616	5620	5627	5634	5637
				5724	5725	5726	5727	5755	5765	5780	5784	5804	5823	5835	5843
				5848	5887	5888	5889	5916	5919	5923	5956	5959	5986	5997	6000
				6011	6086	6088	6171	6188	6192	6205	6219	6221	6253	6254	6259
				6261	6277	6281	6283	6285	6288	6294	6303	6351	6355	6365	6392
				6410	6413	6431	6438	6439	6452	6454	6467	6470	6479	6489	6501
				6511	6516	6524	6527	6533	6535	6538	6544	6566	6582	6679	6774
				6777	6821	6822	6823	6824	6871	6872	6873	6874	6897	6939	6940
				7008	7010	7072	7073	7132	7134	7136	7152	7161	7250	7255	7285
				7305	7309	7322	7323	7337	7346	7351	7369	7373	7382	7389	7392
				7397	7410	7463	7466	7468	7470	7481	7496	7515	7521	7524	7526
				7533	7535	7537	7546	7555	7559	7737	7739	7745	7759	7760	7767
				7778	7779	7782	7853	7859	7867	7872	7884	7887	7903	8105	8160
				8468	8475	8477	8488	8489	8490	8494	8518	8529	8544	8572	8575
				8583	8594	8631	8633	8636	8644	8656	8666	8668	8670	8672	8704
				8705	8706	8708	8710	8712	8717	8719	8723	8726	8744	8769	8786
				8787	8788	8812	8817	8822	8835	8844	8847	8851	8901	8903	8914
				8919	8933	8962	8967	8987	8989	8998	9015	9041	9047	9053	9067
				9072	9086	9095	9101	9131	9140	9141	9147	9174	9178	9183	9229
				9255	9259	9263	9267	9271	9275	9279	9290	9294	9298	9302	9306
				9315	9320	9330	9334	9352	9354	9376	9405	9412	9437	9511	9514
				9522	9523	9524	9525	9540	9541	9549	9587	9697	9705	9707	9711
				9717	9719	9730	9735	9736	9737	9740	9750	9774	9776	9782	9837
				9840	9841	9850	9887	9893	9899	9902	9925	9932	9934	9936	9966
				9968	9978	9981	10007	10009	10018	10035	10039	10042	10075	10078	10091
				10094	10098	10134	10148	10162	10163	10164	10165	10166	10167	10168	10177
				10182	10201	10243	10256	10286	10316	10327	10329	10332	10334	10351	10353
				10371	10383	10397	10398	10399	10401	10407	10410	10420	10432	10435	10492
				10502	10509	10510	10559	10560	10561	10571	10581	10582	10597	10599	10608
				10611	10612	10667	10677	10678	10679	10689	10721	10728	10729	10739
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page LLD-1
; 							Location / Line Number Index
; Dcode Loc'n	0	1	2	3	4	5	6	7					

D 0000		4973	4974	4975	4976	4978	4979	4980	4981
D 0010		4983	4984	4985	4986	4988	4989	4990	4991
D 0020		4997	4998	4999	5000	5001	5002	5003	5004
D 0030		5005	5006	5018	5019	5020	5021	5022	5023
D 0040		5027	5028	5029	5030	5031	5032	5033	5034
D 0050		5035	5036	5037	5038	5039	5040	5041	5042
D 0060		5043	5044	5045	5046	5047	5048	5049	5050
D 0070		5051	5052	5053	5054	5055	5056	5057	5058

D 0100		5062	5063	7219	7220	5209	5210	7221	7222
D 0110		6373	6374	6375	6376	5738	5739	5740	5741
D 0120		4182	4183	6162	6163	4201	4202	6165	6166
D 0130		5859	5860	6128	6129	6593	6594	6595	6596
D 0140		5863	5864	5865	5866	5868	5869	5870	5871
D 0150		5873	5874	5875	5876	5878	5879	5880	5881
D 0160		5936	5937	5938	5939	5941	5942	5943	5944
D 0170		5965	5966	5967	5968	5970	5971	5972	5973

D 0200		3960	3961	3965	3967	3969	3970	3971	3972
D 0210		3974	3975	3976	3977	3979	3980	3981	3982
D 0220		5479	5480	5481	5482	5511	5512	5513	5514
D 0230		5584	5585	5586	5587	5589	5590	5591	5592
D 0240		5315	5316	5317	5318	5319	5320	5321	5322
D 0250		4020	4021	4608	4609	4619	4620	4788	4789
D 0260		4817	4818	4819	4820	4915	4916	4917	4918
D 0270		5454	5455	5456	5457	5466	5467	5468	5469

D 0300		4488	4489	4490	4491	4492	4493	4494	4495
D 0310		4497	4498	4499	4500	4501	4502	4503	4504
D 0320		4563	4564	4565	4566	4567	4568	4569	4570
D 0330		4515	4516	4517	4518	4519	4520	4521	4522
D 0340		4578	4579	4580	4581	4582	4583	4584	4585
D 0350		4531	4532	4533	4534	4535	4536	4537	4538
D 0360		4593	4594	4595	4596	4597	4598	4599	4600
D 0370		4546	4547	4548	4549	4550	4551	4552	4553

D 0400		4220	4221	4222	4223	4230	4231	4232	4233
D 0410		4240	4241	4242	4243	4250	4252	4256	4257
D 0420		4259	4260	4261	4262	4269	4270	4271	4272
D 0430		4275	4276	4277	4278	4285	4286	4287	4288
D 0440		4295	4296	4297	4298	4305	4306	4307	4308
D 0450		4315	4316	4317	4318	4326	4327	4328	4329
D 0460		4336	4337	4338	4339	4346	4347	4348	4349
D 0470		4356	4357	4358	4359	4366	4367	4368	4369

D 0500		4035	4037	4041	4042	4044	4045	4046	4047
D 0510		4049	4050	4051	4052	4054	4055	4056	4057
D 0520		4059	4060	4061	4062	4064	4065	4066	4067
D 0530		4069	4070	4071	4072	4074	4075	4076	4077
D 0540		4081	4082	4083	4084	4086	4087	4088	4089
D 0550		4091	4092	4093	4094	4096	4097	4098	4099
D 0560		4101	4102	4103	4104	4106	4107	4108	4109
D 0570		4111	4112	4113	4114	4116	4117	4118	4119

; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page LLD-2
; 							Location / Line Number Index
; Dcode Loc'n	0	1	2	3	4	5	6	7					

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

D 0700		7918	7919	7920	7921	7922	7923	7924	7925
D 0710		7929	7930	7931	7932	7933	7934	7935	7936
D 0720		7940	7941	7942	7943	7944	7945	7946	7947
D 0730		7951	7952	7953	7954	7955	7956	7957	7958
D 0740		7964	7965	7966	7967	7968	7969	7970	7971
D 0750		7975	7976	7977	7978	7979	7980	7981	7982
D 0760		7986	7987	7988	7989	7990	7991	7992	7993
D 0770		7997	7998	7999	8000	8001	8002	8003	8004
; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page LLU-1
; 							Location / Line Number Index
; Ucode Loc'n	0	1	2	3	4	5	6	7					

U 0000		3655:	3658:	3987=	3861:	3872:	3883:	3894:	3905:
U 0010		4470=	4473=	4475=	4477=	4479=	4480=	4481=	4482=
U 0020		3936=	3937=	8021=	8022=	6317=	6321=	8023=	8024=
U 0030		4191=	4192=	3769 	4194=	6340=	6342=	4663=	4664=
U 0040		9255=	9259=	9263=	9267=	9271=	9275=	9279=	9283=
U 0050		9290=	9294=	9298=	9302=	9306=	9310=	9315=	9320=
U 0060		3761=	3915=	3916=	3918=	3762=	3920=	3923=	3925=
U 0070		3826=	3827=	5189=	5190=	3932=	3933=	5191=	5192=

U 0100		3996:	3998:	4006:	4026:	4029:	4128:	4130:	4014:
U 0110		4207=	4208=	5498=	4210=	4139=	4140=	5503=	3770 
U 0120		4845=	3832 	4848=	4849=	4750=	8037=	4751=	8038=
U 0130		5093=	6336=	5094=	5096=	5427=	6337=	5428=	3955:
U 0140		3713=	3833 	3715=	3719=	3722=	3723=	3725=	3835 
U 0150		10186=	6351=	3754=	3755=	10187=	6355=	3756=	3757=
U 0160		3778=	3780=	3782=	3784=	3786=	3787=	3788=	3789=
U 0170		3791=	3792=	3793=	3794=	3799=	3800=	3802=	3804=

U 0200		5520=	3990=	4143=	4144=	5521=	3993=	5523=	5524=
U 0210		5598=	5600=	5603=	5611=	4153=	4154=	5614=	5616=
U 0220		5162=	5164=	3942 	5165=	7159=	7161=	4781=	4782=
U 0230		5359=	5362=	5364=	5365=	5657=	5658=	5660=	5661=
U 0240		6407=	3948 	8033=	8034=	6411=	6413=	3949 	8035=
U 0250		5760=	3950 	5762=	5832=	5765=	4195 	4212 	5833=
U 0260		5545=	5546=	5547=	5549=	5551=	5553=	5555=	5557=
U 0270		3767=	3830=	5958=	4213 	4215 	5846=	5959=	5847=

U 0300		4160=	4161=	5902=	5904=	4167=	4168=	4133=	5906=
U 0310		6606=	4136=	4174=	4175=	6612=	6614=	4150=	6615=
U 0320		5562=	5563=	5564=	5566=	5569=	5571=	5573=	5574=
U 0330		6517=	4216 	6518=	6519=	4008=	4009=	5850=	5852=
U 0340		5088=	5090=	5665=	5666=	8029=	8030=	5668=	5669=
U 0350		6980=	6981=	6983=	4605 	4666=	4668=	6549=	6551=
U 0360		5091=	4673 	5674=	5675=	4671=	4672=	5677=	5678=
U 0370		5771=	7312=	4679 	7313=	5772=	6580=	5773=	6583=

U 0400		6661=	4157=	4793=	4795=	6675=	6680=	4164=	6682=
U 0410		8011=	8012=	8015=	4171=	4837=	4839=	8017=	8018=
U 0420		6808=	6810=	6812=	6814=	6816=	6817=	6818=	6819=
U 0430		6821=	6822=	6823=	6824=	6827=	6828=	6830=	6832=
U 0440		6858=	6860=	6862=	6864=	6866=	6867=	6868=	6869=
U 0450		6871=	6872=	6873=	6874=	6876=	6877=	6879=	6881=
U 0460		6386=	4696 	6388=	7536=	6392=	4707 	6400=	7538=
U 0470		6471=	4716 	4717 	7539=	6478=	4718 	6479=	7541=

U 0500		8120=	8121=	8123=	8125=	4883=	4885=	4189=	8126=
U 0510		8146=	8158=	8161=	8162=	5748=	5752=	4227=	5753=
U 0520		5689=	5690=	5691=	5692=	5693=	5694=	5695=	5696=
U 0530		7060=	7318=	7062=	7319=	4734 	7543=	7072=	7544=
U 0540		7154=	7155=	9789=	7894=	7156=	7157=	9790=	7897=
U 0550		8477=	8478=	4736 	7898=	5796=	8482=	5797=	7899=
U 0560		7132=	7135=	4737 	7136=	5706=	5708=	5709=	5711=
U 0570		8704=	8705=	8706=	8707=	8708=	8709=	8710=	8712=

; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page LLU-2
; 							Location / Line Number Index
; Ucode Loc'n	0	1	2	3	4	5	6	7					

U 0600		4626:	4627:	4629:	4630:	4631:	4633:	4634:	4635:
U 0610		4641:	4642:	4643:	4644:	4646:	4647:	4652:	4653:
U 0620		7250=	7251=	7252=	7253=	4739 	4721:	4723:	4702:
U 0630		4675:	7370=	4676:	7371=	4704:	4745 	8954=	8962=
U 0640		8854=	4752 	8855=	8721=	4680=	4682=	8856=	8722=
U 0650		9907=	9908=	4753 	8723=	9910=	9911=	4754 	8724=
U 0660		7255=	4765 	7256=	7257=	5819=	8730=	5820=	8731=
U 0670		7397=	4798 	7398=	7399=	6985=	8736=	6986=	8744=

U 0700		4748:	4237=	4928=	4930=	5887=	5888=	5889=	5890=
U 0710		8180=	4247=	4266=	8181=	8183=	4282=	4292=	8184=
U 0720		8751=	8752=	8753=	8754=	8755=	8756=	4804 	8760=
U 0730		4693=	4695=	7553=	7555=	4697=	4699=	4860 	8762=
U 0740		8770=	8771=	8767=	8768=	7856=	8772=	7857=	8773=
U 0750		8047=	8048=	4887 	8056=	4724=	4725=	4897 	8774=
U 0760		8585=	8586=	8587=	8588=	8515=	8777=	8516=	8778=
U 0770		8666=	8668=	8670=	8672=	8533=	8782=	8535=	8784=

U 1000		5223:	4302=	5153:	4906 	5388:	5076:	5086:	4312=
U 1010		5107:	5109:	5111:	7688:	7690:	4322=	4761:	4762:
U 1020		4727=	4728=	5154:	4909 	5842=	4934 	5843=	5844=
U 1030		8794=	8795=	4953 	8796=	4956 	8914=	8919=	8920=
U 1040		8812=	4959 	8813=	8814=	4730=	4732=	4960 	8943=
U 1050		8817=	5103 	8818=	8819=	4772=	4773=	5155 	8944=
U 1060		5720=	5721=	5722=	5723=	5724=	5725=	5726=	5727=
U 1070		8822=	5156 	8823=	8824=	8679=	8988=	8680=	8990=

U 1100		8113=	8114=	8115=	8116=	7692:	7694:	7696:	7698:
U 1110		7700:	7702:	7704:	7706:	4943=	4951=	4333=	5168 
U 1120		5780=	5169 	9404=	9405=	5781=	5170 	5784=	5785=
U 1130		9353=	9355=	5175 	9356=	8726=	8993=	8727=	8994=
U 1140		5835=	5836=	5176 	5837=	5179 	5838=	6570=	6572=
U 1150		9000=	9001=	5180 	9003=	8792=	9004=	8793=	9005=
U 1160		5987=	5182 	5989=	5990=	4775=	4776=	5998=	6000=
U 1170		9081=	9082=	5184 	9086=	10004=	9087=	10005=	9089=

U 1200		8132=	8133=	8135=	8136=	8462=	8463=	8466=	8467=
U 1210		8495=	8500=	8502=	8503=	8525=	8526=	8529=	8530=
U 1220		9517=	9518=	9519=	9520=	9522=	9523=	9524=	9525=
U 1230		9527=	9528=	9529=	9530=	9540=	9541=	9542=	9543=
U 1240		6252=	6253=	6255=	6256=	6258=	6260=	6262=	6278=
U 1250		9735=	9736=	5186 	9737=	4802=	4803=	9744=	9745=
U 1260		9781=	9782=	5225 	9783=	6289=	6291=	6292=	6294=
U 1270		9981=	9983=	5229 	9984=	4807=	4808=	9746=	9747=

U 1300		8597=	8598=	8600=	8601=	8609=	8610=	8612=	8613=
U 1310		8618=	4343=	8621=	8622=	5331=	5333=	5350=	5351=
U 1320		4810=	4811=	6486=	6487=	5373 	7127=	6489=	7129=
U 1330		4841=	4842=	5381 	9795=	4853=	4855=	5389 	9796=
U 1340		6499=	6501=	5397 	6507=	10503=	6509=	10504=	6512=
U 1350		9840=	9841=	9842=	5417 	5424 	9850=	9844=	9852=
U 1360		6524=	6527=	6533=	6535=	6536=	6538=	6539=	6540=
U 1370		10018=	10019=	5474 	10020=	4890=	4893=	9859=	9860=

; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page LLU-3
; 							Location / Line Number Index
; Ucode Loc'n	0	1	2	3	4	5	6	7					

U 1400		5371=	5372=	5953=	5954=	5982=	5983=	6136=	6147=
U 1410		6172=	6189=	6193=	6206=	6382=	7227=	6383=	7228=
U 1420		6773=	6775=	6776=	6778=	6779=	6780=	6781=	6782=
U 1430		10236=	5541 	10238=	10239=	10557=	9890=	10558=	9891=
U 1440		4895=	4896=	5579 	9966=	6802=	6803=	6804=	9968=
U 1450		10254=	10257=	5619 	10258=	4902=	4903=	10014=	10015=
U 1460		10292=	5628 	10294=	10295=	6852=	6853=	6854=	5755 
U 1470		10430=	10433=	5777 	10435=	10659=	10075=	10661=	10076=

U 1500		8106=	8107=	8581=	8583=	4353=	4363=	4373=	4508=
U 1510		4527=	4542=	4557=	4574=	4589=	4604=	4613=	5461=
U 1520		6959=	6964=	6966=	5778 	5789 	6968=	7502=	7515=
U 1530		10440=	10441=	5790 	10442=	10713=	10097=	10714=	10098=
U 1540		5791 	10161=	5793 	10162=	5794 	10163=	5802 	10164=
U 1550		5804 	10165=	5806 	10166=	5808 	10167=	5809 	10168=
U 1560		10530=	10533=	5840 	10534=	7007=	5848 	7009=	7011=
U 1570		4907=	4908=	5849 	10172=	4932=	4933=	5907 	10173=

U 1600		5473=	5913 	4937=	4938=	7017=	7019=	7021=	7027=
U 1610		4954=	4955=	5914 	10189=	5101=	5102=	5919 	10190=
U 1620		7232=	7233=	7234=	7235=	7236=	7238=	7240=	7241=
U 1630		5116=	5117=	5928 	10200=	5158=	5159=	5931 	10201=
U 1640		5956 	10335=	6148 	10336=	6219 	10337=	6221 	10338=
U 1650		6226 	10339=	6227 	10341=	6286 	10343=	6365 	10344=
U 1660		7349=	6427 	5173=	5174=	7350=	6429 	7352=	7353=
U 1670		7360=	6430 	5177=	5178=	7364=	7365=	7366=	6432 

U 1700		7381=	7382=	6434 	7385=	6435 	7387=	6436 	7388=
U 1710		7464=	7466=	7468=	7470=	7471=	7473=	7475=	7476=
U 1720		6437 	8544=	6449 	8545=	5227=	5228=	6455 	8550=
U 1730		10677=	10678=	10679=	10680=	5233=	5235=	8557=	8558=
U 1740		8638=	8639=	8640=	8641=	8642=	6484 	9141=	9147=
U 1750		8835=	8836=	6542 	8837=	8839=	8840=	6543 	8841=
U 1760		8845=	6545 	5241=	5242=	8846=	8848=	6548 	8849=
U 1770		6563 	10728=	10729=	10730=	5244=	5245=	6787 	8903:

U 2000		5335=	5337=	9553=	9554=	5340=	5342=	9556=	9558=
U 2010		5345=	5346=	5376=	5378=	9705=	9706=	9707=	9708=
U 2020		9714=	9715=	5383=	5384=	9717=	9718=	9719=	6788 
U 2030		9772=	9773=	9774=	6792 	6834 	10467=	9776=	10468=
U 2040		5392=	5394=	5398=	5399=	5407=	5409=	9892=	9893=
U 2050		5411=	5414=	5422=	5423=	5431=	5432=	9900=	9901=
U 2060		5435=	5437=	9992=	9993=	5441=	5442=	9994=	9995=
U 2070		5447=	5449=	5506=	5507=	5621=	5622=	10033=	10034=

U 2100		10040=	10043=	6838 	10045=	6883 	10047=	5635=	5638=
U 2110		5812=	5814=	5815=	5816=	10091=	10092=	10095=	6887 
U 2120		10133=	10134=	10135=	6940 	5822=	5824=	10136=	10137=
U 2130		5915=	5917=	5921=	5923=	10176=	10177=	10178=	10182=
U 2140		5924=	5925=	6011=	6012=	10224=	10225=	10227=	10228=
U 2150		6082=	6083=	6086=	6088=	10280=	10281=	10282=	10283=
U 2160		10352=	10353=	10354=	10355=	10364=	10475=	6942 	10476=
U 2170		6216=	6217=	6224=	6225=	6943 	10477=	6978 	10482=

; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page LLU-4
; 							Location / Line Number Index
; Ucode Loc'n	0	1	2	3	4	5	6	7					

U 2200		6281=	6283=	6302=	6304=	6990 	10493=	6992 	10494=
U 2210		10505=	7029 	10507=	10508=	10509=	10510=	10511=	10512=
U 2220		6416=	6422=	6425=	6426=	10543=	10544=	10545=	10546=
U 2230		6438=	6439=	6451=	6453=	10559=	10560=	7041 	10561=
U 2240		6464=	6465=	6466=	6467=	6554=	6555=	6566=	6567=
U 2250		6785=	6786=	6789=	6790=	6836=	6837=	6885=	6886=
U 2260		6898=	6899=	6902=	6904=	6910=	6911=	6924=	6928=
U 2270		6932=	6939=	6987=	6988=	7038=	7040=	7243=	7244=

U 2300		7261=	7262=	7270=	7271=	7297=	7298=	7300=	7301=
U 2310		7306=	7307=	7333=	7334=	7335=	7336=	7341=	7342=
U 2320		7345=	7346=	7356=	7357=	7378=	7380=	7402=	7403=
U 2330		7406=	7408=	7410=	7411=	7414=	7415=	7458=	7460=
U 2340		7485=	7487=	7490=	7492=	7496=	7497=	7660=	7661=
U 2350		7667=	7668=	7679=	7680=	7681=	7682=	7732=	7733=
U 2360		7735=	7736=	7739=	7740=	7743=	7744=	7762=	7763=
U 2370		7765=	7768=	7878=	7879=	7882=	7884=	7904=	7905=

U 2400		8059=	8060=	8070=	8071=	8073=	8074=	8099=	8100=
U 2410		8193=	8194=	8470=	8476=	8488=	8489=	8573=	8575=
U 2420		8592=	8593=	8631=	8632=	8655=	8657=	8745=	8746=
U 2430		8931=	8932=	9017=	9018=	9026=	9027=	9042=	9046=
U 2440		9050=	9051=	9055=	9056=	9070=	9071=	9106=	9108=
U 2450		9121=	9125=	9134=	9140=	9159=	9171=	9177=	9178=
U 2460		9183=	9184=	9204=	7042 	9212=	9213=	9216=	9218=
U 2470		9330=	9334=	9369=	9371=	9453=	9454=	9509=	9510=

U 2500		9513=	9514=	9546=	9547=	9561=	9562=	9694=	9695=
U 2510		9700=	9701=	9725=	9726=	9729=	9730=	9741=	9742=
U 2520		9792=	9793=	9819=	9820=	9828=	9829=	9836=	9838=
U 2530		9856=	9857=	9871=	9873=	9916=	9917=	9932=	9934=
U 2540		9977=	9978=	10010=	10011=	10070=	10072=	10077=	10078=
U 2550		10082=	10083=	10087=	10088=	10150=	10152=	10216=	10217=
U 2560		10229=	10230=	10232=	10233=	10284=	10285=	10288=	10289=
U 2570		10325=	10326=	10348=	10349=	10373=	10374=	10384=	10385=

U 2600		10396=	10397=	10400=	10401=	10408=	10411=	10414=	10415=
U 2610		10455=	10457=	10489=	10490=	10575=	10577=	10585=	10586=
U 2620		10589=	10591=	10597=	10599=	10605=	10607=	10611=	10612=
U 2630		10649=	10650=	10672=	10673=	10684=	10685=	10687=	10689=
U 2640		10734=	10735=	10737=	10739=	7043 	7052 	7054 	7073 
U 2650		7074 	7137 	7152 	7249 	7258 	7260 	7263 	7264 
U 2660		7265 	7267 	7268 	7269 	7272 	7273 	7275 	7284 
U 2670		7285 	7286 	7303 	7304 	7305 	7308 	7309 	7310 

U 2700		7314 	7315 	7316 	7317 	7320 	7321 	7322 	7324 
U 2710		7326 	7337 	7338 	7339 	7343 	7347 	7368 	7372 
U 2720		7374 	7377 	7389 	7390 	7391 	7393 	7450 	7451 
U 2730		7453 	7454 	7455 	7478 	7479 	7482 	7484 	7494 
U 2740		7499 	7500 	7501 	7517 	7518 	7519 	7521 	7523 
U 2750		7524 	7526 	7530 	7531 	7533 	7534 	7547 	7549 
U 2760		7550 	7557 	7559 	7677 	7683 	7729 	7730 	7731 
U 2770		7737 	7738 	7741 	7742 	7745 	7746 	7747 	7748 

; KL10 Microcode for TOPS-10 and TOPS-20 -- 18 Nov 1983 COPYRIGHT (C) 1984 DIGITAL EQUIPMENT CORPORATION  V1(336)		MICRO %34(270)		Page LLU-5
; 							Location / Line Number Index
; Ucode Loc'n	0	1	2	3	4	5	6	7					

U 3000		7750 	7759 	8090:	8096:	7770 	9586:	9587:	7771 
U 3010		9588:	9590:	9591:	7709:	7711:	7772 	7773 	7774 
U 3020		7775 	7776 	7777 	7778 	7779 	7780 	7781 	7783 
U 3030		7853 	7854 	7858 	7859 	7861 	7862 	7863 	7867 
U 3040		7868 	7869 	7870 	7871 	7872 	7874 	7881 	7885 
U 3050		7886 	7887 	7888 	7889 	7890 	7901 	8026 	8063 
U 3060		8076 	8080 	8081 	8108 	8109 	8128 	8137 	8138 
U 3070		8139 	8166 	8186 	8188 	8189 	8190 	8468 	9615:

U 3100		8490 	8511 	8512 	8513 	7712:	7714:	7715:	7716:
U 3110		7717:	7724:	7725:	7726:	8519 	8536 	8537 	8538 
U 3120		8571 	8594 	8602 	8603 	8605 	8615 	8623 	8624 
U 3130		8628 	8629 	8633 	8636 	8643 	8644 	8646 	8647 
U 3140		8648 	8649 	8653 	8658 	8659 	8675 	8676 	8699 
U 3150		8700 	8702 	8717 	8719 	8769 	8786 	8787 	8788 
U 3160		8789 	8797 	8826 	8828 	8851 	8904 	8905 	8910 
U 3170		8921 	8933 	8934 	8935 	8936 	8937 	8945 	9616:

U 3200		8946 	8947 	8949 	8951 	8964 	8966 	8967 	8968 
U 3210		8969 	8998 	9011 	9012 	9013 	9014 	9016 	9032 
U 3220		9033 	9040 	9048 	9053 	9054 	9065 	9068 	9073 
U 3230		9093 	9094 	9095 	9101 	9113 	9119 	9130 	9132 
U 3240		9149 	9175 	9180 	9185 	9186 	9198 	9228 	9229 
U 3250		9236 	9335 	9365 	9367 	9368 	9373 	9374 	9375 
U 3260		9376 	9398 	9399 	9400 	9401 	9412 	9414 	9415 
U 3270		9420 	9421 	9426 	9427 	9429 	9431 	9435 	9437 

U 3300		9438 	9440 	9442 	9444 	9446 	9447 	9448 	9449 
U 3310		9451 	9455 	9456 	9458 	9460 	9511 	9512 	9515 
U 3320		9549 	9693 	9696 	9697 	9699 	9702 	9703 	9704 
U 3330		9710 	9711 	9712 	9723 	9728 	9749 	9750 	9812 
U 3340		9815 	9854 	9863 	9887 	9889 	9894 	9896 	9897 
U 3350		9898 	9899 	9902 	9903 	9919 	9920 	9924 	9926 
U 3360		9935 	9936 	9938 	9940 	9970 	9971 	9972 	9974 
U 3370		9997 	10006 	10007 	10009 	10013 	10031 	10035 	10066 

U 3400		10073 	10085 	10089 	10138 	10146 	10148 	10188 	10192 
U 3410		10193 	10243 	10263 	10286 	10297 	10299 	10302 	10316 
U 3420		10323 	10324 	10327 	10330 	10331 	10332 	10371 	10375 
U 3430		10379 	10398 	10402 	10404 	10420 	10458 	10459 	10474 
U 3440		10483 	10486 	10488 	10495 	10517 	10548 	10549 	10556 
U 3450		10562 	10571 	10573 	10581 	10582 	10583 	10592 	10603 
U 3460		10608 	10609 	10643 	10648 	10666 	10667 	10668 	10682 
U 3470		10720 	10722 	10732 					

U 3500 - 3767 Unused
U 3770									8901:
No errors detected
End of microcode assembly
322 pages of listing
Used 48.91 in 02:19.55
  Memory used: 120P
  Symbol table: 40P
  Text strings: 12P
  Loc'n assignment: 17P
  Cross reference: 45P