Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/pbing.mac
There are no other files named pbing.mac in the archive.
	PH1NUM=^D 33
	PH2NUM=^D 33
MCRST:
; PAGPB1.MCR[4,55]		MICRO 21(164)	KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 12/76	page 26
; NPB.MIC	09:08 9-FEB-1977		DISPATCH RAM DEFINITIONS

						; 1106	;SPECIAL MICRO-CODE FOR IMPLIMENTING DIAGNOSTIC INSTRUCTIONS FOR
						; 1107	;USE BY THE PAGING DIAGNOSTIC.. INSTRUCTIONS IMPLIMENTED:
						; 1108	;PTWRDT AC,E(OPCODE 00)	;WRITE DATA TO PAGE TABLE
						; 1109	;			;AC CONTAINS DATA TO WRITE(BITS0-35)
						; 1110	;			;E IS PAGE TABLE ADDRESS(BITS 18-26)
						; 1111	;PTREAD AC,E(OPCODE 01)	;READ THE PAGE TABLE DATA VIA EBUS REGISTER
						; 1112	;			;AC RECEIVES RESULTS
						; 1113	;			;E CONTAINS PAGE TABLE ADDRESS TO READ(BITS18-26)
						; 1114	;PTDWRT AC,E(OPCODE 10)	;WRITE DATA TO PAGE TABLE DIRECTORY
						; 1115	;			;AC CONTAINS DATA TO WRITE
						; 1116	;			;E CONTAINS DIRECTORY ADDRESS TO WRITE
						; 1117	;PTDVER AC,E(OPCODE 100);PAGE TABLE DIRECTORY VERIFY
						; 1118	;			;AC CONTAINS DATA TO BE VERIFIED
						; 1119	;			;E CONTAINS DIRECTORY ADDRESS TO BE VERIFIED
						; 1120	;			;IF MATCH VERIFIES,RH OF AC SET TO ZEROES
						; 1121	;			;IF NO MATCH, RH OF AC SET TO ONES
						; 1122	;DISPATCHER TO DESIRED DIAGNOSE INSTRUCTION
						; 1123		SCAD/A,SCADA/#,#/32.,SC/SCAD,J/EXECTR, ;SHIFT GETS BITS 32-35 TO 0-3
UMAC 2340, 2354,0001,0000,0302,0000,0026,0040	; 1124		    SPEC/SP MEM CYCLE		;AND SET "EBOX MAY BE PAGED"
						; 1125	
UMAC 2341, 2352,3401,2000,0000,0000,4410,0000	; 1126	BIT17:	J/VMA17,SKIP/AR18,AD/0S,AR/AD ;NOW CLR AR AND TEST FOR "17"
						; 1127	COMPT:	AR/SH,SH/AR SWAP,	;SET SPECIALS TO "19","20" OF AR
UMAC 2342, 0001,0001,4000,0000,3000,0003,0000	; 1128		    DISP/RETURN,J/1	;AND RETURN 1 LOC BEYOND WHERE CALLED
						; 1129	
						; 1130	;COMMON SUBROUTINE FOR ALL INSTRUCTIONS WHICH DEAL WITH THE
						; 1131	;PAGE TABLE DIRECTORY.. SUBROUTINE SETS AR BITS 19&20
						; 1132	;TO CORRESPOND TO THE STATES OF "VMA USER"&"VMA BIT17" SO
						; 1133	;THAT THE MAIN INSTRUCTION CAN XOR THE AR REGISTER AGAINST THE
						; 1134	;ADDRESS SUPPLIED IN THE INSTR... THIS IS SO THE INSTR
						; 1135	;WILL ALWAYS ACCESS THE CORRECT DIRECTORY ADDRESS AND NOT
						; 1136	;BE SCREWED BY THE PAGE TABLE XORING THINGS ALL TO HELL..
						; 1137	STXOR:	BR/AR,		;SAVE "E" IN BR FOR PENDING XOR
						; 1138		    FMADR/AC0,AD/B,ADB/FM,AR/AD, ;DATA INTO AR
UMAC 2343, 2344,3200,2040,0000,0020,0024,0020	; 1139		    SPEC/FLAG CTL,FLAG CTL/SET FLAGS ;SET "SCD USER" FOR USERS
						; 1140	
UMAC 2344, 2345,4031,0200,0000,0020,0034,0000	; 1141		DISP/BYTE,J/USERBT,AD/A+1,ADA/PC,ARX/AD ;PC TO ARX
						; 1142	=01
						; 1143	USERBT:	AR/AD*.25,AD/B,ADB/BR*2, ;IF NO SKIP..NO USER BIT
						; 1144		    SPEC/SP MEM CYCLE,SP MEM/NO USR W NO PG FAIL,
UMAC 2345, 2341,3201,7000,0000,0000,0026,0110	; 1145		    J/BIT17
						; 1146	=11
						; 1147		SC/SCAD,SCAD/A,SCADA/#,#/200, ;IF HERE, YES USER BIT
UMAC 2347, 2350,3201,7000,0302,0000,0010,0200	; 1148		    AR/AD*.25,AD/B,ADB/BR*2 ;SO SET AND CONTINUE
						; 1149		SPEC/SP MEM CYCLE,SP MEM/USER W NO PG FAIL, ;NOW SET USER
UMAC 2350, 2341,0001,0000,0000,0000,0026,0220	; 1150		    J/BIT17	;AND CONTINUE
						; 1151	=0
						; 1152	VMA17:	AR/ARMM,ARMM/SCAD EXP, ;IF HERE, NO "17",JUST LOAD AR
						; 1153		    SCAD/A+B,SCADA EN/0S,SCADB/SC,  ;GET SPECIAL BITS TO SCADDER
UMAC 2352, 2342,0001,0000,2400,2000,0110,0000	; 1154		    COND/LD AR0-8,J/COMPT ;AND THEN TO AR BITS 0-8
						; 1155	
						; 1156		SC/SCAD,SCAD/A+B,SCADB/SC,SCADA/#,#/100, ;SET BIT TO SAY "17"
UMAC 2353, 2352,0001,0000,2302,0000,0010,0100	; 1157		    J/VMA17		;AND GO TO LOAD SPECIALS TO AR
						; 1158	
						; 1159	EXECTR:	J/XCTGO,DISP/SH0-3,SH/SHIFT AR!ARX, ;DISPATCH TO EXECUTE CODE
UMAC 2354, 2360,0001,0000,0402,0040,0007,0000	; 1160		    SC/SCAD,SCADA EN/0S,SCAD/A ;CLEAR SC BEFORE EXECUTE
						; 1161	=0000
						; 1162	XCTGO:
UMAC 2360, 2370,3200,2000,0000,0020,0010,0000	; 1163	MPTWRDT: ADB/FM,AD/B,AR/AD,FMADR/AC0,J/OP00 ;OPCODE "00"IS PTWRDT
						; 1164	MPTREAD: SPEC/SP MEM CYCLE,
UMAC 2361, 2371,0001,0000,0000,0000,0026,0110	; 1165		    SP MEM/PT RD NO PG FAIL,J/OP01 ;OPCODE "01" IS PTREAD
						; 1166	
						; 1167	
						; 1168	=0
						; 1169	MPTDWRT: J/STXOR,CALL/CALL, ;FIRST GO SUBRTN TO XORDATA & ADDR
UMAC 2362, 2343,3300,2000,0000,0020,0050,0000	; 1170		    AR/AD,AD/OR,ADB/FM,FMADR/AC0,ADA/AR ;BITS 13-17 ORED WITH 18-35
						; 1171	
						; 1172	;RETURN FROM SUBROUTINE WILL FALL HERE...THERFORE OPCODE 11 MUST REMAIN
						; 1173	;UNUSED..THIS SAVES A JUMP MICRO INSTR..
						; 1174		AD/XOR,ADA/AR,ADB/BR, ;ACTUALLY PERFORM THE "XOR"
						; 1175		    VMA/AD,MEM/REG FUNC, ;AND LOAD VMA 13-35 WITH DATA&ADR
						; 1176		    J/OP10,		 ;SET UP AR WITH PC & GO ON
UMAC 2363, 2374,3102,0000,0000,0307,0010,0304	; 1177		MREG FNC/NO MEM ACCESS ;"APR READ REG" & "APR LOAD REG"TO KILL MEM CYC
						; 1178	
						; 1179	;OPCODE 100 IS PAGE TABLE DIRECTORY VERIFY INSTR..
						; 1180	MPTDVER: J/STXOR,CALL/CALL,	;FIRST GO TO SUBRTN TO XOR DATA & ADDR
UMAC 2364, 2343,3300,2000,0000,0020,0050,0000	; 1181		    AR/AD,AD/OR,ADB/FM,FMADR/AC0,ADA/AR ;BITS 13-17 ORED WITH 18-35
						; 1182	
						; 1183	;RETURN FROM SUBROUTINE WILL FALL HERE... THEREFORE OPCODE 101 MUST
						; 1184	;REMAIN UNUSED.. THIS SAVES A JUMP MICRO INSTR
						; 1185		MEM/REG FUNC,VMA/AD,MREG FNC/VER PTD, ;START MEMORY ACCESS
						; 1186		    AD/XOR,ADA/AR,ADB/BR, ;AND ACTUALLY DO THE XOR
UMAC 2365, 2375,3102,2000,0000,0307,0010,0304	; 1187		    J/OP101,AR/AD ;AND FINISH INSTR & SET "APR READ & LOAD ERA"
						; 1188	
						; 1189	;OPCODES CONTINUED......110,111
						; 1190	;PAIRED SKIP LOCATIONS FOR DECIDING IF A PAGE TABLE
						; 1191	;DIRECTORY VERIFY HAS COME UP WITH A MATCH, OR NO MATCH
						; 1192	=0111
						; 1193	MATCH:	AD/B,ADB/FM,FMADR/AC0,	;IF MATCH, GET ORIGINAL DATA
						; 1194		    COND/ARL IND,CLR/ARR,ARL/AD, ;AND CLR RIGHT HALF OF AC
UMAC 2367, 2373,3200,0000,0000,0020,0610,0012	; 1195		    J/NORMEND		;TAKE NORMAL EXIT
						; 1196	
						; 1197	2377:
						; 1198	NOMTCH:	AR/AD,AD/1S,COND/ARL IND,ARL/ARL, ;IF NO MATCH SET 1S TO RIGHT HALF
UMAC 2377, 2373,2301,2000,0000,0000,0610,0000	; 1199		    J/NORMEND		;TAKE NORMAL EXIT
						; 1200	;PTWRDT INSTRUCTION CONTINUED
						; 1201	2370:
						; 1202	OP00:	COND/MBOX CTL,MBOX CTL/PT WR, ;WRITE DATA TO PAGE TABLE
						; 1203		    ADA/PC,AD/A+1,AR/AD,VMA/AD, ;AND UPDATED PC TO AR
UMAC 2370, 0000,4031,2000,0000,0340,2310,0010	; 1204		    J/0000
						; 1205	
						; 1206	;PTREAD INSTRUCTION CONTINUED
						; 1207	2371:
UMAC 2371, 2372,0001,0000,0000,0007,0010,0100	; 1208	OP01:	MEM/REG FUNC,MREG FNC/READ PT ;START MEM CYCLE TO FORCE PT INTO EBUS REG
						; 1209	2372:
						; 1210		MEM/MB WAIT,COND/DIAG FUNC, ;WAIT FOR CYCLE TO COMPLETE
UMAC 2372, 2373,0001,3000,0000,0062,2010,0567	; 1211		    DIAG FUNC/RD EBUS REG,AR/EBUS ;& EBUS REG INTO "AR"
						; 1212	2373:
						; 1213	NORMEND: FMADR/AC0, COND/FM WRITE,AR/AD,AD/A+1,
UMAC 2373, 2346,4031,2000,0000,0320,1010,0000	; 1214		    ADA/PC,VMA/AD,J/OFFUSR ;AND ON TO NEXT INSTR
						; 1215	2374:
						; 1216	OP10:	COND/MBOX CTL,MBOX CTL/PT DIR WR, ;WRITE P.T. DIRECTORY
						; 1217		    AR/AD,AD/A+1,ADA/PC,VMA/AD, ;NEXT PC
UMAC 2374, 2346,4031,2000,0000,0340,2310,0020	; 1218		    J/OFFUSR	;AND BACK TO INSTR STREAM
						; 1219	
						; 1220	2375:
						; 1221	OP101:	COND/MBOX CTL,MBOX CTL/SET PAGE FAIL, ;NOW FORCE PAGE FAIL
						; 1222		    ADB/FM,AD/B,FMADR/AC0, ;GET ORIGINAL DATA TO AR
UMAC 2375, 0000,3200,0000,0000,0020,2310,0200	; 1223		    J/0000		;AND WAIT FOR THE  PAGE FAIL TO "1777"
						; 1224	2346:
UMAC 2346, 2357,0001,0000,0000,0000,0024,0000	; 1225	OFFUSR:	SPEC/FLAG CTL,J/DAMMIT	;CLEAR "SCD USER"
						; 1226	2357:
						; 1227	DAMMIT:	COND/ARL IND,CLR/ARL,AR/AD,ADA/AR, ;CLR LEFT HALF AC
UMAC 2357, 0000,0001,2000,0000,0000,0610,0020	; 1228		    J/0000			;AND BACK TO MAINLINE
						; 1229	;INITIALIZE THE VMA TO PREVENT AC REFS
						; 1230	;ACTUAL MICRO-CODE USED FOR CACHE TO IR DATA LINE TEST
						; 1231	2366:
						; 1232	INIC2IR: COND/DIAG FUNC,AD/A,ADA/AR,	;MUST FIRST SET KL MODE
UMAC 2366, 2376,3701,0000,0000,0360,2010,0416	; 1233		    DIAG FUNC/CONO PAG,VMA/AD	;AND TRAP EN.& LOAD VMA
						; 1234	2376:
						; 1235	CSH2IR:	MEM/REG FUNC,MREG FNC/READ ERA, ;START MBOX CYCLING
UMAC 2376, 2351,3401,0000,0000,0007,1410,0504	; 1236		    COND/LOAD IR,AD/0S ;AND CLEAR IR
UMAC 2351, 2355,0001,0000,0000,0060,0010,0000	; 1237	2351:	TIME/5T			;EBOX WILL WAIT FOR MBOX
						; 1238	2355:	COND/LOAD IR,ADA/AR,AD/SETCA, ;AFTER MBOX RESP.LOAD IR
UMAC 2355, 2356,2001,0000,0000,0060,1410,0000	; 1239		    TIME/5T
UMAC 2356, 2376,0001,0000,0000,0000,0010,0000	; 1240	2356:	TIME/2T,J/CSH2IR	; AND BACK TO BEGINNING
						; 1241	
						; 1242	;AND NEW PAGE FAIL  INSTR
UMAC 1777, 2367,0001,0000,0000,0060,0004,0000	; 1243	1777:	J/MATCH,DISP/PG FAIL,TIME/5T	;DISPATCH ON PAGE FAILS
						; 1244	


; Number of Micro Words Used:
;	D Words= 0
;	U Words= 33

MCRST2:
; PAGPB2.MCR[4,55]		MICRO 21(164)	KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 12/76	page 26
; NPB2.MIC	12:45 8-APR-1977		DISPATCH RAM DEFINITIONS

						; 1106	;SPECIAL MICRO-CODE FOR IMPLIMENTING DIAGNOSTIC INSTRUCTIONS FOR
						; 1107	;USE BY THE PAGING DIAGNOSTIC.. INSTRUCTIONS IMPLIMENTED:
						; 1108	;PTWRDT AC,E(OPCODE 00)	;WRITE DATA TO PAGE TABLE
						; 1109	;			;AC CONTAINS DATA TO WRITE(BITS0-35)
						; 1110	;			;E IS PAGE TABLE ADDRESS(BITS 18-26)
						; 1111	;PTREAD AC,E(OPCODE 01)	;READ THE PAGE TABLE DATA VIA EBUS REGISTER
						; 1112	;			;AC RECEIVES RESULTS
						; 1113	;			;E CONTAINS PAGE TABLE ADDRESS TO READ(BITS18-26)
						; 1114	;PTDWRT AC,E(OPCODE 10)	;WRITE DATA TO PAGE TABLE DIRECTORY
						; 1115	;			;AC CONTAINS DATA TO WRITE
						; 1116	;			;E CONTAINS DIRECTORY ADDRESS TO WRITE
						; 1117	;PTDVER AC,E(OPCODE 100);PAGE TABLE DIRECTORY VERIFY
						; 1118	;			;AC CONTAINS DATA TO BE VERIFIED
						; 1119	;			;E CONTAINS DIRECTORY ADDRESS TO BE VERIFIED
						; 1120	;			;IF MATCH VERIFIES,RH OF AC SET TO ZEROES
						; 1121	;			;IF NO MATCH, RH OF AC SET TO ONES
						; 1122	
						; 1123	
						; 1124	
						; 1125	;DISPATCHER TO DESIRED DIAGNOSE INSTRUCTION
						; 1126		SCAD/A,SCADA/#,#/32.,SC/SCAD,J/EXECTR, ;SHIFT GETS BITS 32-35 TO 0-3
UMAC 2340, 2341,0001,0000,0302,0000,0026,0040	; 1127		    SPEC/SP MEM CYCLE		;AND SET "EBOX MAY BE PAGED"
						; 1128	
						; 1129	EXECTR:	J/XCTGO,DISP/SH0-3,SH/SHIFT AR!ARX, ;DISPATCH TO EXECUTE CODE
UMAC 2341, 2360,0001,0000,0402,0040,0007,0000	; 1130		    SC/SCAD,SCADA EN/0S,SCAD/A ;CLEAR SC BEFORE EXECUTE
						; 1131	
						; 1132	;PTWRDT INSTRUCTION CONTINUED
						; 1133	
						; 1134	CLRUSE:	SPEC/SP MEM CYCLE,MEM/REG FUNC,	;CAUSE"MCL LOAD VMA CONTEXT"
UMAC 2342, 0000,0001,0000,0000,0007,0026,0304	; 1135		    MREG FNC/NO MEM ACCESS,J/0000 ;AND CAUSE "MCL VMA USER" TO CLR
						; 1136	OP00B:	COND/MBOX CTL,MBOX CTL/PT DIR WR, ;ALSO WRITE DIRECTORY
						; 1137		    ADA/PC,AD/A+1,AR/AD,VMA/AD, ;AND UPDATED PC TO AR
UMAC 2343, 2342,4031,2000,0000,0340,2310,0020	; 1138		    J/CLRUSE
						; 1139	
						; 1140	;PTREAD INSTRUCTION CONTINUED
						; 1141	
UMAC 2344, 2345,0001,0000,0000,0007,0010,0100	; 1142	OP01:	MEM/REG FUNC,MREG FNC/READ PT ;START MEM CYCLE TO FORCE PT INTO EBUS REG
						; 1143	
						; 1144		MEM/MB WAIT,COND/DIAG FUNC, ;WAIT FOR CYCLE TO COMPLETE
UMAC 2345, 2350,0001,3000,0000,0062,2010,0567	; 1145		    DIAG FUNC/RD EBUS REG,AR/EBUS,J/NORMEND ;& EBUS REG INTO "AR"
						; 1146	
						; 1147	
; PAGPB2.MCR[4,55]		MICRO 21(164)	KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 12/76	page 27
; NPB2.MIC	12:45 8-APR-1977		DISPATCH RAM DEFINITIONS

						; 1148	;THIS IS ONE OF A PAIR OF MICRO-INSTR WHICH MAY BE DISPATCHED
						; 1149	;TO ON A PAGE FAIL, DEPENDING ON THE STATE OF "PF EBOX HANDLE"
						; 1150	=100111
						; 1151	ABORT:	MEM/REG FUNC,MREG FNC/NO MEM ACCESS, ;ABORT MEM CYCLES
UMAC 2347, 0000,4031,0000,0000,0327,0010,0304	; 1152		    VMA/AD,AD/A+1,ADA/PC,J/0	;SET VMA FOR RETURN, AND GO
						; 1153	
						; 1154	
						; 1155	NORMEND: FMADR/AC0, COND/FM WRITE,AR/AD,AD/A+1,
UMAC 2350, 0000,4031,2000,0000,0320,1010,0000	; 1156		    ADA/PC,VMA/AD,J/0000 ;AND ON TO NEXT INSTR
						; 1157	
						; 1158	SETSIG:	COND/MBOX CTL,MBOX CTL/SET PAGE FAIL, ;SET PAGE FAIL
UMAC 2351, 0000,0001,0000,0000,0000,2310,0200	; 1159		    J/0000	; IN ORDER TO SET UP "PF HANDLE"
						; 1160	
						; 1161	;THIS IS THE SECOND OF A PAIR OF MICRO-INSTR WHICH MAY BE DISPATCHED
						; 1162	;TO ON A PAGE FAIL, DEPENDING ON THE STATE OF "PF EBOX HANDLE"
						; 1163	=101111
						; 1164		MEM/REG FUNC,MREG FNC/NO MEM ACCESS, 	;ABORT MEM CYCLES
UMAC 2357, 0000,4031,0000,0000,0327,0010,0304	; 1165		    VMA/AD,AD/A+1,ADA/PC,J/0000		;SET VMA FOR RETURN & GO
						; 1166	
; PAGPB2.MCR[4,55]		MICRO 21(164)	KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 12/76	page 28
; NPB2.MIC	12:45 8-APR-1977		DISPATCH RAM DEFINITIONS

						; 1167	=0000
						; 1168	XCTGO:
						; 1169	MPTWRDT: ADB/FM,AD/B,AR/AD,FMADR/AC0,J/OP00, ;OPCODE "00"IS PTWRDT
UMAC 2360, 2373,3200,2000,0000,0020,0024,0000	; 1170		    SPEC/FLAG CTL		;GUARANTEE SCAD FLAGS CLR
						; 1171	MPTREAD: SPEC/SP MEM CYCLE,
UMAC 2361, 2344,0001,0000,0000,0000,0026,0110	; 1172		    SP MEM/PT RD NO PG FAIL,J/OP01 ;OPCODE "01" IS PTREAD
						; 1173	
UMAC 2362, 2352,0000,0000,0000,0020,0010,0000	; 1174	PAGFLG:	AR/AR,ADB/FM,J/OP10	;OPCODE FOR SPECIAL SCD FLAGS
						; 1175	;PAGCTL INSTRUCTION
						; 1176	;SPECIAL MICRO-CODED INSTRUCTION FOR SETTING UP THE PAG BOARD
						; 1177	;FOR A CONTROL LOGIC TEST. CODE DOES A  "MEM AD FUNC" TO SET
						; 1178	;STATUS ON THE MCL BOARD, SETS APPROPRIATE PAGE TABLE BITS,
						; 1179	;SUCH AS "ACCESS","WRITABLE","SOFTWARE",& "PUBLIC", AND
						; 1180	;FINISHES UP BY FORCING A PAGE FAIL IN A MANNER SUCH THAT
						; 1181	;"PAGE REFILL","PF HANDLE","PAGE FAIL", AND THE "PF HOLD" SIGNALS
						; 1182	;CAN ALL BE READ...INSTRUCTION IS RUN THRU AT SINGLE STEP SPEED
						; 1183	;UNLESS YOU ARE IN A SCOPE LOOP, WHEN THE INSTRUCTION EXECUTES
						; 1184	;AT FULL SPEED, ABORTS CLEANLY AFTER THE CONTROL LOGIC
						; 1185	;HAS BEEN EXERCISED, AND THEN RETURNS TO THE NORMAL INSTRUCTION STREAM
						; 1186	;WHEN YOU ENTER HERE, "AC0" HAS VMA DATA(IE. SELECTED ADDRESS)
						; 1187	;AND THE INDEX REGISTER(XR=ARX14-17) HAS AD FUNC DATA
						; 1188	PAGCTL:
UMAC 2363, 2365,3202,0600,0000,0000,0010,0000	; 1189		AD/B,ARX/ADX,ADB/BR,J/OP11P1	;COPY INSTR TO ARX
						; 1190	
						; 1191	;DISPATCH CODE FOR OPCODE 4... "CONO PAG" OPCODE
						; 1192	CONPAG:
UMAC 2364, 2371,3200,2000,0000,0020,0010,0000	; 1193		AR/AD,AD/B,ADB/FM,FMADR/AC0,J/OP4 ;GET BITS TO SET FROM INDEX REG
						; 1194	
						; 1195	
						; 1196	;BEGIN EXECUTE PORTION OF OPCODE "3"
						; 1197	OP11P1:	ADB/FM,FMADR/AC0,AR/AD,	;WHLE AR GETS "VMA'S" DATA
UMAC 2365, 2366,3200,2000,0000,0020,0010,0000	; 1198		    AD/B
						; 1199	
						; 1200		SH/AR,ARX/SH,ADB/FM,AD/B,FMADR/XR, ;VMA DATA TO ARX
						; 1201		    AR/AD,MQ/MQM SEL,COND/REG CTL, ;MEM FUNC DATA TO AR & MQ
UMAC 2366, 2367,3200,2412,0000,1020,0710,0003	; 1202		    MQ CTL/AD,J/OP11		;AND CONTINUE INSTR FLOW
						; 1203	
; PAGPB2.MCR[4,55]		MICRO 21(164)	KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 12/76	page 29
; NPB2.MIC	12:45 8-APR-1977		DISPATCH RAM DEFINITIONS

						; 1204	OP11:	SKIP/AD0,MEM/REG FUNC,VMA/AD,	;LOAD VMA 13-35
UMAC 2367, 2376,3711,0000,0000,0327,5510,0204	; 1205		    AD/A,ADA/ARX,MREG FNC/NO MEM ACCESS BTYPE ;SKP ON "UEBR REF" IF NECC.
						; 1206	
						; 1207	=110
						; 1208	;IF HERE NO "MCL UEBR REF# IS REQUIRED
						; 1209		MEM/AD FUNC,AD/A,ADA/AR,J/MBOXTM, ;LOAD SPECIAL MCL BOARD FUNCS
UMAC 2376, 2346,3701,0000,0000,0010,0026,0000	; 1210		    SPEC/SP MEM CYCLE		;AND CAUSE "MCL LOAD VMA CONTEXT
						; 1211	
						; 1212	=111
						; 1213	;IF HERE, YES NEED "MCL UEBR REF"
						; 1214		MEM/AD FUNC,AD/A,ADA/AR,	;LOAD SPECIAL MCL BOARD FUNCS
						; 1215		    SPEC/SP MEM CYCLE,		;AND A SPECIAL FUNC TO SET
						; 1216		    SP MEM/PT RD NO PG FAIL,	; "MCL UEBR REF"
UMAC 2377, 2346,3701,0000,0000,0010,0026,0110	; 1217		    J/MBOXTM
						; 1218	2346:
UMAC 2346, 2370,0001,0000,0000,0000,0010,0000	; 1219	MBOXTM:	J/MBOXT1		;NOOP TO LET MBOX START AN EBOX "TX" CYC.
						; 1220	
						; 1221	2370:
UMAC 2370, 2351,0001,0000,0000,0020,0010,0000	; 1222	MBOXT1:	J/SETSIG,TIME/3T	;WAIT HERE WHILE MBOX ENTERS "EBOX T3"
						; 1223	
						; 1224	
						; 1225	;EXECUTE CODE FOR THE CONO PAG SPECIAL INSTR....
						; 1226	2371:
UMAC 2371, 2372,3701,0000,0000,0060,2010,0416	; 1227	OP4:	COND/DIAG FUNC,DIAG FUNC/CONO PAG,ADA/AR,AD/A ;SET "KL PAGING MODE"
						; 1228	2372:	AD/A+1,ADA/PC,VMA/AD,J/0000,	;AND FIX VMA BEFORE RETURN
						; 1229		    MEM/REG FUNC,MREG FNC/NO MEM ACCESS, ;STOP MEM FROM CYCLING
UMAC 2372, 0000,4031,2000,0000,0327,0010,0304	; 1230		    AR/AD		;AND CLEAR AR FOR INSTR STREAM
						; 1231	2373:
						; 1232	OP00:	AD/B,ADB/FM,SPEC/SP MEM CYCLE, ;SET "MCL VMA USER"
UMAC 2373, 2374,3200,0002,0000,0020,5526,0000	; 1233		    J/OP00A,FMADR/XR,SKIP/AD0 ;AND CLR USER IF NECC
						; 1234	
						; 1235	2374:
UMAC 2374, 2343,0001,0000,0000,0020,2310,0010	; 1236	OP00A:	COND/MBOX CTL,MBOX CTL/PT WR,J/OP00B ;WRITE DATA TO PAGE TABLE
						; 1237	2375:
UMAC 2375, 2374,0001,0000,0000,0000,0026,0200	; 1238		SPEC/SP MEM CYCLE,SP MEM/USER,J/OP00A ;JUST SET USER, HERE IF IT MUST BE CLR
						; 1239	
						; 1240	
; PAGPB2.MCR[4,55]		MICRO 21(164)	KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 12/76	page 30
; NPB2.MIC	12:45 8-APR-1977		PAGE TABLE PUBLIC BITS TO SCD FLAGS

						; 1241	.TOC	"PAGE TABLE PUBLIC BITS TO SCD FLAGS"
						; 1242	
						; 1243	;THIS MICRO-CODE CHECKS THREE GATES ON THE SCD BOARD AS THEY
						; 1244	;AFFECT THE TWO SCAD FLAGS "SCD PUBLIC" AND "SCD PRIVATE INSTR".
						; 1245	;THE GATES THAT ARE CHECKED ARE GATES WHICH INCLUDE
						; 1246	;"SCD PRIVATE INSTR" OR "SCD PUBLIC PAGE" AS INPUTS.
						; 1247	;FIRST AN "AD FUNC" IS EXECUTED TO INITIALIZE "PUBLIC"
						; 1248	;AND/OR "PRIVATE INSTR" FLAGS AS DESIRED. THIRD, THE VMA IS LOADED
						; 1249	;WITH AN ADDRESS WHICH WILL SELECT A PAGE TABLE LOCATION
						; 1250	;CONTAINING "PT PUBLIC" TRUE(ODD PAGE TABLE LOCATION) OR
						; 1251	;"PT PUBLIC" FALSE(EVEN PAGE TABLE LOCATION). FINALLY, A MICRO-
						; 1252	;CODE SKIP IS EXECUTED IN ORDER TO CAUSE EITHER A "SPEC/PORTAL"
						; 1253	;(IF AR BIT3=0) OR "CLK MB XFER"(IF AR BIT3=1). THE MICRO-CODE
						; 1254	;THEN LOOPS BACK TO THE BIGINNING.  THE PDP11 THEN TAKES OVER
						; 1255	;TO CHECK THAT THE CORRECT FLAGS HAVE SET OR CLEARED.
						; 1256	2352:
						; 1257	OP10:	SPEC/FLAG CTL,FLAG CTL/LD PUB W PRVT, ;SET PRIV INSTR OR PUB
UMAC 2352, 2353,3701,0000,0000,0000,0024,0622	; 1258		    AD/A,ADA/AR		; DEPENDING ON AR BITS 8 & 7
						; 1259	2353:
UMAC 2353, 2356,3701,0000,0000,0300,0010,0000	; 1260		VMA/AD,AD/A,ADA/AR	;LOAD VMA TO SELECT PT ADDRESS
						; 1261	2356:
						; 1262		MEM/AD FUNC,AD/A,ADA/AR, ;SET INSTR FETCH IF AR BIT9=1(& MEM CYCLE)
UMAC 2356, 2354,3701,0000,0000,1050,0007,0000	; 1263		    SH/AR,DISP/SH0-3	;DO EITHER "PORTAL" OR "MB XFER"
						; 1264	2354:
						; 1265		SPEC/FLAG CTL,FLAG CTL/PORTAL, ;"SPEC/PORTAL"
UMAC 2354, 2362,0001,0000,0000,0000,0024,0412	; 1266		    J/PAGFLG
						; 1267	
						; 1268	2355:
UMAC 2355, 2362,0001,0000,0000,0002,0010,0000	; 1269		MEM/MB WAIT,J/PAGFLG	;WITH "RESP SIM" CAUSES "CLK MB XFER"
						; 1270	
						; 1271	
						; 1272	;SPECIAL MICRO WORD TO CAPTURE PAGE FAILS
UMAC 1777, 2347,0001,0000,0000,0060,0004,0000	; 1273	1777:	J/ABORT,DISP/PG FAIL,TIME/5T
						; 1274	


; Number of Micro Words Used:
;	D Words= 0
;	U Words= 33