Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/ptbing.mac
There are no other files named ptbing.mac in the archive.
MCRST:
; KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 1/84		MICRO %33(265)		Page 1
; OVRLA1.MIC[4,240]	14:44 14-Mar-84			DISPATCH RAM DEFINITIONS				

						; 1117	;SPECIAL MICRO-CODE FOR 
						; 1118	;IMPLIMENTING DIAGNOSTIC
						; 1119	;INSTRUCTIONS FOR USE BY
						; 1120	;THE PAGING DIAGNOSTIC.
						; 1121	;INSTRUCTIONS IMPLIMENTED:
						; 1122	;
						; 1123	;PTWRDT AC,E(OPCODE 00)	
						; 1124	;WRITE DATA TO PAGE TABLE
						; 1125	;AC HAS DATA TO WRITE(BITS0-35)
						; 1126	;E HAS P.T. ADDR BITS 18-26)
						; 1127	;
						; 1128	;PTREAD AC,E(OPCODE 01)	
						; 1129	;READ THE PAGE TABLE DATA 
						; 1130	;VIA EBUS REGISTER
						; 1131	;AC RECEIVES RESULTS
						; 1132	;E HAS P.T. ADDR(BITS18-26)
						; 1133	;
						; 1134	;PTDWRT AC,E(OPCODE 10)	
						; 1135	;WRITE DATA TO PAGE TABLE DIRECTORY
						; 1136	;AC CONTAINS DATA TO WRITE
						; 1137	;E HAS DIRECTORY ADDR TO WRITE
						; 1138	;
						; 1139	;PTDVER AC,E(OPCODE 100)
						; 1140	;PAGE TABLE DIRECTORY VERIFY
						; 1141	;AC HAS DATA TO BE VERIFIED
						; 1142	;E HAS DIRECTORY ADDR TO BE VERIFIED
						; 1143	;IF MATCH, RH OF AC SET TO 0'S
						; 1144	;IF NO MATCH, RH OF AC SET TO 1'S
						; 1145	;
						; 1146	;PT0SEL    (OPCODE 1000) 
						; 1147	;FORCE THE PAGING BOARD 
						; 1148	;TO ONLY USE PAGE TABLE 0
						; 1149	;
						; 1150	;PT1SEL    (OPCODE 1010) 
						; 1151	;FORCE THE PAGING BOARD 
						; 1152	;TO ONLY USE PAGE TABLE 1
						; 1153	;
						; 1154	;PTLRU     (OPCODE 1100) 
						; 1155	;ALLOW THE PAGING BOARD 
						; 1156	;TO USE THE LRU PAGE TABLE
						; 1157	;
						; 1158	;CONPAG	   (OPCODE 110) 
						; 1159	;SPECIAL CONO PAG WHICH 
						; 1160	;DOES NOT CLEAR THE PAGE TABLE
						; 1161	;
						; 1162	;DISPATCHER TO DESIRED DIAGNOSE INSTRUCTION
						; 1163	
						; 1164	2340:	SCAD/A,SCADA/#,#/32.,
						; 1165		SC/SCAD,J/EXECTR,
UMAC 2340, 2411,4001,0000,0302,0000,0026,0040	; 1166		SPEC/SP MEM CYCLE
						; 1167	
						; 1168	;SHIFT GETS BITS 32-35 TO 0-3
						; 1169	;AND SET "EBOX MAY BE PAGED"
						; 1170	
						; 1171	2342:
						;
						;1172	BIT17:	J/VMA17,SKIP/AR18,AD/0S,
; KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 1/84		MICRO %33(265)		Page 1-1
; OVRLA1.MIC[4,240]	14:44 14-Mar-84			DISPATCH RAM DEFINITIONS				

UMAC 2342, 2344,3401,2000,0000,0000,4410,0000	; 1173		AR/AD 
						; 1174	
						; 1175	;NOW CLR AR AND TEST FOR "17"
						; 1176	
						; 1177	2414:
						; 1178	COMPT:	AR/SH,SH/AR SWAP,
UMAC 2414, 0001,0001,4000,0000,3000,0003,0000	; 1179		    DISP/RETURN,J/1	
						; 1180	
						; 1181	;SET SPECIALS TO "19","20" OF AR
						; 1182	;AND RETURN 1 LOC BEYOND WHERE CALLED
						; 1183	
						; 1184	
						; 1185	;COMMON SUBROUTINE FOR ALL INSTRUCTIONS WHICH DEAL WITH THE
						; 1186	;PAGE TABLE DIRECTORY.. SUBROUTINE SETS AR BITS 19&20
						; 1187	;TO CORRESPOND TO THE STATES OF "VMA USER"&"VMA BIT17" SO
						; 1188	;THAT THE MAIN INSTRUCTION CAN XOR THE AR REGISTER AGAINST THE
						; 1189	;ADDRESS SUPPLIED IN THE INSTR... THIS IS SO THE INSTR
						; 1190	;WILL ALWAYS ACCESS THE CORRECT DIRECTORY ADDRESS AND NOT
						; 1191	;BE SCREWED BY THE PAGE TABLE XORING THINGS ALL TO HELL..
						; 1192	
						; 1193	2403:
						; 1194	STXOR:	BR/AR,		;SAVE "E" IN BR FOR PENDING XOR
						; 1195		    FMADR/AC0,AD/B,ADB/FM,AR/AD, ;DATA INTO AR
UMAC 2403, 2407,3240,2040,0000,0020,0024,0020	; 1196		    SPEC/FLAG CTL,FLAG CTL/SET FLAGS ;SET "SCD USER" FOR USERS
						; 1197	
UMAC 2407, 2341,4033,0200,0000,0020,0034,0000	; 1198	2407:	DISP/BYTE,J/USERBT,AD/A+1,ADA/PC,ARX/AD ;PC TO ARX
						; 1199	
						; 1200	2341:
						; 1201	USERBT:	AR/AD*.25,AD/B,ADB/BR*2, ;IF NO SKIP..NO USER BIT
						; 1202		    SPEC/SP MEM CYCLE,SP MEM/NO USR W NO PG FAIL,
UMAC 2341, 2342,3201,7000,0000,0000,0026,0110	; 1203		    J/BIT17
						; 1204	
						; 1205	2343:	SC/SCAD,SCAD/A,SCADA/#,#/200, ;IF HERE, YES USER BIT
UMAC 2343, 2416,3201,7000,0302,0000,0010,0200	; 1206		    AR/AD*.25,AD/B,ADB/BR*2 ;SO SET AND CONTINUE
						; 1207	
						; 1208	2416:	SPEC/SP MEM CYCLE,SP MEM/USER W NO PG FAIL, ;NOW SET USER
UMAC 2416, 2342,0001,0000,0000,0000,0026,0220	; 1209		    J/BIT17	;AND CONTINUE
						; 1210	
						; 1211	2344:
						; 1212	VMA17:	AR/ARMM,ARMM/SCAD EXP, ;IF HERE, NO "17",JUST LOAD AR
						; 1213		    SCAD/A+B,SCADA EN/0S,SCADB/SC,  ;GET SPECIAL BITS TO SCADDER
UMAC 2344, 2414,4001,0000,2400,2000,0110,0000	; 1214		    COND/LD AR0-8,J/COMPT ;AND THEN TO AR BITS 0-8
						; 1215	
						; 1216	2345:	SC/SCAD,SCAD/A+B,SCADB/SC,SCADA/#,#/100, ;SET BIT TO SAY "17"
UMAC 2345, 2344,4001,0000,2302,0000,0010,0100	; 1217		    J/VMA17		;AND GO TO LOAD SPECIALS TO AR
						; 1218	
						; 1219	2411:
						; 1220	EXECTR:	J/XCTGO,DISP/SH0-3,SH/SHIFT AR!ARX, ;DISPATCH TO EXECUTE CODE
UMAC 2411, 2360,4001,0000,0402,0040,0007,0000	; 1221		    SC/SCAD,SCADA EN/0S,SCAD/A ;CLEAR SC BEFORE EXECUTE
						; 1222	
						; 1223	2360:
						; 1224	XCTGO:
UMAC 2360, 2347,3200,2000,0000,0020,0010,0000	; 1225	MPTWRDT: ADB/FM,AD/B,AR/AD,FMADR/AC0,J/OP00 ;OPCODE "00"IS PTWRDT
						; 1226	
						; 1227	2361:
						; 1228	MPTREAD: SPEC/SP
						;MEM CYCLE,
; KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 1/84		MICRO %33(265)		Page 1-2
; OVRLA1.MIC[4,240]	14:44 14-Mar-84			DISPATCH RAM DEFINITIONS				

UMAC 2361, 2350,0001,0000,0000,0000,0026,0110	; 1229		    SP MEM/PT RD NO PG FAIL,J/OP01 ;OPCODE "01" IS PTREAD
						; 1230	
						; 1231	2362:
						; 1232	MPTDWRT: J/STXOR,CALL/CALL, ;FIRST GO SUBRTN TO XORDATA & ADDR
UMAC 2362, 2403,3300,2000,4000,0020,0050,0000	; 1233		    AR/AD,AD/OR,ADB/FM,FMADR/AC0,ADA/AR ;BITS 13-17 ORED WITH 18-35
						; 1234	
						; 1235	;RETURN FROM SUBROUTINE WILL FALL HERE...THERFORE OPCODE 11 MUST REMAIN
						; 1236	;UNUSED..THIS SAVES A JUMP MICRO INSTR..
						; 1237	
						; 1238	2363:	AD/XOR,ADA/AR,ADB/BR, ;ACTUALLY PERFORM THE "XOR"
						; 1239		    VMA/AD,		 ;AND LOAD VMA 13-35 WITH DATA&ADR
						; 1240		    COND/MBOX CTL,MBOX CTL/WRITE BOTH HALVES, ;ENABLE WRITE BOTH HALVES
UMAC 2363, 2353,3102,0004,0000,0300,2310,0002	; 1241		    J/OP10		 ;SET UP AR WITH PC & GO ON
						; 1242	
						; 1243	;OPCODE 100 IS PAGE TABLE DIRECTORY VERIFY INSTR..
						; 1244	
						; 1245	2364:
						; 1246	MPTDVER: J/STXOR,CALL/CALL,	;FIRST GO TO SUBRTN TO XOR DATA & ADDR
UMAC 2364, 2403,3300,2000,4000,0020,0050,0000	; 1247		    AR/AD,AD/OR,ADB/FM,FMADR/AC0,ADA/AR ;BITS 13-17 ORED WITH 18-35
						; 1248	
						; 1249	;RETURN FROM SUBROUTINE WILL FALL HERE... THEREFORE OPCODE 101 MUST
						; 1250	;REMAIN UNUSED.. THIS SAVES A JUMP MICRO INSTR
						; 1251	
						; 1252	2365:	    VMA/AD,AD/XOR,ADA/AR,ADB/BR, ;AND ACTUALLY DO THE XOR
UMAC 2365, 2354,3102,2004,0000,0300,0010,0000	; 1253		    J/OP101,AR/AD ;AND FINISH INSTR & SET "APR READ & LOAD ERA"
						; 1254	
						; 1255	
						; 1256	;DISPATCH CODE FOR OPCODE 110... "CONPAG" OPCODE
						; 1257	
						; 1258	2366:
UMAC 2366, 2404,3200,2000,0000,0020,0010,0000	; 1259	CONPG:	AR/AD,AD/B,ADB/FM,FMADR/AC0,J/OP1010 ;GET BITS TO SET FROM INDEX REG
						; 1260	
						; 1261	2370:
UMAC 2370, 2371,4001,0000,0000,0000,2310,0041	; 1262	MPT0SEL:  COND/MBOX CTL,MBOX CTL/ENA FORCE 0	;ENABLE SETTING OF FORCE 0
						; 1263	
						; 1264	2371:  COND/MBOX CTL,MBOX CTL/SEL PT0, ;SET FORCE 0
UMAC 2371, 2412,0001,0000,0000,0000,2310,0071	; 1265			J/SELDON
						; 1266	
						; 1267	2372:
UMAC 2372, 2373,4001,0000,0000,0000,2310,0043	; 1268	MPT1SEL: COND/MBOX CTL,MBOX CTL/ENA FORCE 1	;ENABLE SETTING OF FORCE 1
						; 1269	
						; 1270	2373:  COND/MBOX CTL,MBOX CTL/SEL PT1, ;SET FORCE 1
UMAC 2373, 2412,4001,0000,0000,0000,2310,0073	; 1271			J/SELDON
						; 1272	
						; 1273	2374:
UMAC 2374, 2375,4001,0000,0000,0000,2310,0040	; 1274	MPTLRU:   COND/MBOX CTL,MBOX CTL/ENA FORCE LRU	;ENABLE CLEARING OF FORCE 0&1
						; 1275	
						; 1276	2375:     COND/MBOX CTL,MBOX CTL/SEL LRU PT, ;CLEAR FORCE 0&1
UMAC 2375, 2412,4001,0000,0000,0000,2310,0070	; 1277			J/SELDON
						; 1278	
						; 1279	2376:
UMAC 2376, 2417,3240,2000,0000,0020,0010,0000	; 1280	KPTOVL:	FMADR/AC0,ADB/FM,AD/B,AR/AD,J/OP16  ;GET AR BIT 23 SETUP
						; 1281	
						; 1282	2412:
UMAC 2412, 2413,0001,0000,0000,0000,2310,0002	; 1283	SELDON:	COND/MBOX CTL,MBOX CTL/WRITE BOTH HALVES ;CLOCK SEL TB0 FLOP
						; 1284	
; KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 1/84		MICRO %33(265)		Page 1-3
; OVRLA1.MIC[4,240]	14:44 14-Mar-84			DISPATCH RAM DEFINITIONS				

						; 1285	2413:	COND/MBOX CTL,MBOX CTL/NORMAL,J/0000,	;CLEAR WRITE BOTH HALVES
UMAC 2413, 0000,4033,2000,0000,0320,2310,0000	; 1286		ADA/PC,AD/A+1,AR/AD,VMA/AD	 ;SETUP NEXT PC
						; 1287	
						; 1288	;OPCODES CONTINUED......110,111
						; 1289	;PAIRED SKIP LOCATIONS FOR DECIDING IF A PAGE TABLE
						; 1290	;DIRECTORY VERIFY HAS COME UP WITH A MATCH, OR NO MATCH
						; 1291	
						; 1292	2367:
						; 1293	MATCH:	AD/B,ADB/FM,FMADR/AC0,	;IF MATCH, GET ORIGINAL DATA
						; 1294		    COND/ARL IND,CLR/ARR,ARL/AD, ;AND CLR RIGHT HALF OF AC
UMAC 2367, 2352,3200,0000,0000,0020,0610,0012	; 1295		    J/NORMEND		;TAKE NORMAL EXIT
						; 1296	
						; 1297	2377:
						; 1298	NOMTCH:	AR/AD,AD/1S,COND/ARL IND,ARL/ARL, ;IF NO MATCH SET 1S TO RIGHT HALF
UMAC 2377, 2352,2341,2000,0000,0000,0610,0000	; 1299		    J/NORMEND		;TAKE NORMAL EXIT
						; 1300	
						; 1301	;PTWRDT INSTRUCTION CONTINUED
						; 1302	
						; 1303	2347:
						; 1304	OP00:	COND/MBOX CTL,MBOX CTL/WRITE BOTH HALVES, ;ENABLE WRITING BOTH VALIDS
UMAC 2347, 2410,3200,2000,0000,0020,2310,0002	; 1305		ADB/FM,AD/B,AR/AD,FMADR/AC0
						; 1306	
						; 1307	2410:	COND/MBOX CTL,MBOX CTL/PT DIR WR, ;WRITE DIRECTORY TO FORCE MATCH
UMAC 2410, 2406,3240,2000,0000,0020,2310,0020	; 1308		ADB/FM,AD/B,AR/AD,FMADR/AC0
						; 1309	
						; 1310	2406:	COND/MBOX CTL,MBOX CTL/PT WR, ;WRITE DATA TO PAGE TABLE
						; 1311		    ADA/PC,AD/A+1,AR/AD,VMA/AD, ;AND UPDATED PC TO AR
UMAC 2406, 0000,4031,2000,0000,0340,2310,0010	; 1312		    J/0000
						; 1313	
						; 1314	;PTREAD INSTRUCTION CONTINUED
						; 1315	
						; 1316	2350:
UMAC 2350, 2351,4001,0000,0000,0007,0010,0100	; 1317	OP01:	MEM/REG FUNC,MREG FNC/READ PT ;START MEM CYCLE TO FORCE PT INTO EBUS REG
						; 1318	
						; 1319	2351:
						; 1320		MEM/MB WAIT,COND/DIAG FUNC, ;WAIT FOR CYCLE TO COMPLETE
UMAC 2351, 2352,0001,3000,0000,0062,2010,0567	; 1321		    DIAG FUNC/RD EBUS REG,AR/EBUS ;& EBUS REG INTO "AR"
						; 1322	2352:
						; 1323	NORMEND: FMADR/AC0, COND/FM WRITE,
UMAC 2352, 2355,4001,0000,0000,0000,1010,0000	; 1324		    J/OFFUSR ;AND ON TO NEXT INSTR
						; 1325	2353:
						; 1326	OP10:	COND/MBOX CTL,MBOX CTL/PT DIR WR, ;WRITE DIRECTORY
UMAC 2353, 2355,4001,0000,0000,0020,2310,0020	; 1327		    J/OFFUSR	   
						; 1328	
						; 1329	2354:
UMAC 2354, 2415,0001,0000,0000,0000,2310,0002	; 1330	OP101: COND/MBOX CTL,MBOX CTL/WRITE BOTH HALVES	;READ ONLY ONE DIRECTORY
						; 1331	
						; 1332	2415:
						; 1333	OP101A:	COND/MBOX CTL,MBOX CTL/SET PAGE FAIL, ;NOW FORCE PAGE FAIL
						; 1334		    ADB/FM,AD/B,FMADR/AC0, ;GET ORIGINAL DATA TO AR
UMAC 2415, 0000,3200,0000,0000,0020,2310,0200	; 1335		    J/0000		;AND WAIT FOR THE  PAGE FAIL TO "1777"
						; 1336	
						; 1337	2404:
UMAC 2404, 2405,3703,0000,0000,0060,2010,0416	; 1338	OP1010:	COND/DIAG FUNC,DIAG FUNC/CONO PAG,ADA/AR,AD/A ;SET "KL PAGING MODE"
						; 1339	
						;
						;1340	2405:	AD/A+1,ADA/PC,VMA/AD,J/0000,	;AND FIX VMA BEFORE RETURN
; KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 1/84		MICRO %33(265)		Page 1-4
; OVRLA1.MIC[4,240]	14:44 14-Mar-84			DISPATCH RAM DEFINITIONS				

						; 1341		    MEM/REG FUNC,MREG FNC/NO MEM ACCESS, ;STOP MEM FROM CYCLING
UMAC 2405, 0000,4031,2000,0000,0327,0010,0304	; 1342		    AR/AD		;AND CLEAR AR FOR INSTR STREAM
						; 1343	
						; 1344	2355:
						; 1345	OFFUSR:	COND/MBOX CTL,MBOX CTL/NORMAL,	;CLEAR WRITE BOTH HALVES
UMAC 2355, 2356,0001,0000,0000,0000,2324,0000	; 1346		SPEC/FLAG CTL,J/DAMMIT	;CLEAR "SCD USER"
						; 1347	
						; 1348	
						; 1349	2356:
						; 1350	DAMMIT:	COND/ARL IND,CLR/ARL,AR/AD,ADA/PC, ;CLR LEFT HALF AC
UMAC 2356, 0000,4033,2000,0000,0320,0610,0020	; 1351		    AD/A+1,VMA/AD,J/0000 ;ADJUST VMA AND BACK TO MAINLINE
						; 1352	
						; 1353	2417:
UMAC 2417, 2420,0001,0000,0000,0000,2310,0040	; 1354	OP16:	COND/MBOX CTL, MBOX CTL/ENA KEEP TO VALID ;ENABLE KEEP BIT TO VALID RAM
						; 1355	
UMAC 2420, 2421,0001,0000,0000,0000,2310,0060	; 1356	2420:	COND/MBOX CTL, MBOX CTL/KEEP TO VALID ;COPY KEEP BIT TO VALID RAMS
						; 1357	
						; 1358	2421:	COND/MBOX CTL, MBOX CTL/NORMAL,	;RESET PAGER CONTROL LOGIC
UMAC 2421, 0000,4033,2000,0000,0320,2310,0000	; 1359		ADA/PC,AD/A+1,AR/AD,VMA/AD,J/0000  ;UP THE PC AND FINISH
						; 1360	
						; 1361	;INITIALIZE THE VMA TO PREVENT AC REFS
						; 1362	;ACTUAL MICRO-CODE USED FOR CACHE TO IR DATA LINE TEST
						; 1363	
						; 1364	2357:
						; 1365	INIC2IR: COND/DIAG FUNC,AD/A,ADA/AR,	;MUST FIRST SET KL MODE
UMAC 2357, 2400,3703,0000,0000,0360,2010,0416	; 1366		    DIAG FUNC/CONO PAG,VMA/AD	;AND TRAP EN.& LOAD VMA
						; 1367	2400:
						; 1368	CSH2IR:	MEM/REG FUNC,MREG FNC/READ ERA, ;START MBOX CYCLING
UMAC 2400, 2401,3441,0000,0000,0007,1410,0504	; 1369		    COND/LOAD IR,AD/0S ;AND CLEAR IR
						; 1370	
UMAC 2401, 2402,0001,0000,0000,0060,0010,0000	; 1371	2401:	TIME/5T			;EBOX WILL WAIT FOR MBOX
						; 1372	
						; 1373	2402:	COND/LOAD IR,ADA/AR,AD/SETCA, ;AFTER MBOX RESP.LOAD IR
UMAC 2402, 2346,2001,0000,0000,0060,1410,0000	; 1374		    TIME/5T
						; 1375	
UMAC 2346, 2400,4001,0000,0000,0000,0010,0000	; 1376	2346:	TIME/2T,J/CSH2IR	; AND BACK TO BEGINNING
						; 1377	
						; 1378	;AND NEW PAGE FAIL  INSTR
UMAC 1777, 2367,4001,0000,0000,0060,0004,0000	; 1379	1777:	J/MATCH,DISP/PG FAIL,TIME/5T	;DISPATCH ON PAGE FAILS
						; 1380	
						; 1381	


; Number of microwords used: 
;	D words= 0
;	U words= 51, Highest= 1297

MCRST2:
; KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 1/84		MICRO %33(265)		Page 1
; OVRLA2.MIC[4,240]	08:24 16-Mar-84			DISPATCH RAM DEFINITIONS				

						; 1117	;SPECIAL MICRO-CODE FOR IMPLIMENTING DIAGNOSTIC INSTRUCTIONS FOR
						; 1118	;USE BY THE PAGING DIAGNOSTIC.. INSTRUCTIONS IMPLIMENTED:
						; 1119	;PTWRDT AC,E(OPCODE 00)	;WRITE DATA TO PAGE TABLE
						; 1120	;			;AC CONTAINS DATA TO WRITE(BITS0-35)
						; 1121	;			;E IS PAGE TABLE ADDRESS(BITS 18-26)
						; 1122	;PT0SEL    (OPCODE 1000) ;FORCE THE PAGING BOARD TO ONLY USE PAGE TABLE 0
						; 1123	;PT1SEL   (OPCODE 1010) ;FORCE THE PAGING BOARD TO ONLY USE PAGE TABLE 1
						; 1124	;PTLRU    (OPCODE 1100) ;ALLOW THE PAGING BOARD TO USE THE LRU PAGE TABLE
						; 1125	;CONPAG	   (OPCODE 110) ;SPECIAL CONO PAG WHICH DOES NOT CLEAR THE PAGE TABLE
						; 1126	;
						; 1127	;DISPATCHER TO DESIRED DIAGNOSE INSTRUCTION
						; 1128	
						; 1129	2340:	SCAD/A,SCADA/#,#/32.,SC/SCAD,J/EXECT, ;SHIFT GETS BITS 32-35 TO 0-3
UMAC 2340, 2341,0001,0000,0302,0000,0026,0040	; 1130		    SPEC/SP MEM CYCLE		;AND SET "EBOX MAY BE PAGED"
						; 1131	
						; 1132	2341:
						; 1133	EXECT:	J/XCTGOE,DISP/SH0-3,SH/SHIFT AR!ARX, ;DISPATCH TO EXECUTE CODE
UMAC 2341, 2360,4001,0000,0402,0040,0007,0000	; 1134		    SC/SCAD,SCADA EN/0S,SCAD/A ;CLEAR SC BEFORE EXECUTE
						; 1135	
						; 1136	;PTWRDT INSTRUCTION CONTINUED
						; 1137	
						; 1138	2401:
						; 1139	CLRUSE:	SPEC/SP MEM CYCLE,MEM/REG FUNC,	;CAUSE"MCL LOAD VMA CONTEXT"
UMAC 2401, 0000,4001,0000,0000,0007,0026,0304	; 1140		    MREG FNC/NO MEM ACCESS,J/0000 ;AND CAUSE "MCL VMA USER" TO CLR
						; 1141	2356:
UMAC 2356, 2406,0001,0000,0000,0000,2310,0000	; 1142	OP00B:	COND/MBOX CTL,MBOX CTL/NORMAL	;CLEAR WRITE BOTH HALVES
						; 1143	
						; 1144	2406:	COND/MBOX CTL,MBOX CTL/PT WR, ;NOW WRITE PAGE TABLE
						; 1145		    ADA/PC,AD/A+1,AR/AD,VMA/AD, ;AND UPDATED PC TO AR
UMAC 2406, 2401,4033,2000,0000,0340,2310,0010	; 1146		    J/CLRUSE
						; 1147	
						; 1148	
; KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 1/84		MICRO %33(265)		Page 2
; OVRLA2.MIC[4,240]	08:24 16-Mar-84			DISPATCH RAM DEFINITIONS				

						; 1149	;THIS IS ONE OF A PAIR OF MICRO-INSTR WHICH MAY BE DISPATCHED
						; 1150	;TO ON A PAGE FAIL, DEPENDING ON THE STATE OF "PF EBOX HANDLE"
						; 1151	
						; 1152	2347:
						; 1153	ABORT:	MEM/REG FUNC,MREG FNC/NO MEM ACCESS, ;ABORT MEM CYCLES
UMAC 2347, 0000,4033,0000,0000,0327,0010,0304	; 1154		    VMA/AD,AD/A+1,ADA/PC,J/0	;SET VMA FOR RETURN, AND GO
						; 1155	
						; 1156	
						; 1157	2344:
						; 1158	NRMEND: FMADR/AC0, COND/FM WRITE,AR/AD,AD/A+1,
UMAC 2344, 0000,4033,2000,0000,0320,1010,0000	; 1159		    ADA/PC,VMA/AD,J/0000 ;AND ON TO NEXT INSTR
						; 1160	
						; 1161	2345:
						; 1162	SETSIG:	COND/MBOX CTL,MBOX CTL/SET PAGE FAIL, ;SET PAGE FAIL
UMAC 2345, 0000,4001,0000,0000,0000,2310,0200	; 1163		    J/0000	; IN ORDER TO SET UP "PF HANDLE"
						; 1164	
						; 1165	;THIS IS THE SECOND OF A PAIR OF MICRO-INSTR WHICH MAY BE DISPATCHED
						; 1166	;TO ON A PAGE FAIL, DEPENDING ON THE STATE OF "PF EBOX HANDLE"
						; 1167	
						; 1168	2357:	MEM/REG FUNC,MREG FNC/NO MEM ACCESS, 	;ABORT MEM CYCLES
UMAC 2357, 0000,4033,0000,0000,0327,0010,0304	; 1169		    VMA/AD,AD/A+1,ADA/PC,J/0000		;SET VMA FOR RETURN & GO
						; 1170	
; KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 1/84		MICRO %33(265)		Page 3
; OVRLA2.MIC[4,240]	08:24 16-Mar-84			DISPATCH RAM DEFINITIONS				

						; 1171	
						; 1172	2360:
						; 1173	XCTGOE:
						; 1174	UPTWRDT: ADB/FM,AD/B,AR/AD,FMADR/AC0,J/OP0000, ;OPCODE "00"IS PTWRDT
UMAC 2360, 2361,3200,2000,0000,0020,0024,0000	; 1175		    SPEC/FLAG CTL		;GUARANTEE SCAD FLAGS CLR
						; 1176	
						; 1177	2362:
UMAC 2362, 2400,4000,0000,0000,0020,0010,0000	; 1178	PAGFLG:	AR/AR,ADB/FM,J/OP0010	;OPCODE FOR SPECIAL SCD FLAGS
						; 1179	
						; 1180	;PAGCTL INSTRUCTION
						; 1181	;SPECIAL MICRO-CODED INSTRUCTION FOR SETTING UP THE PAG BOARD
						; 1182	;FOR A CONTROL LOGIC TEST. CODE DOES A  "MEM AD FUNC" TO SET
						; 1183	;STATUS ON THE MCL BOARD, SETS APPROPRIATE PAGE TABLE BITS,
						; 1184	;SUCH AS "ACCESS","WRITABLE","SOFTWARE",& "PUBLIC", AND
						; 1185	;FINISHES UP BY FORCING A PAGE FAIL IN A MANNER SUCH THAT
						; 1186	;"PAGE REFILL","PF HANDLE","PAGE FAIL", AND THE "PF HOLD" SIGNALS
						; 1187	;CAN ALL BE READ...INSTRUCTION IS RUN THRU AT SINGLE STEP SPEED
						; 1188	;UNLESS YOU ARE IN A SCOPE LOOP, WHEN THE INSTRUCTION EXECUTES
						; 1189	;AT FULL SPEED, ABORTS CLEANLY AFTER THE CONTROL LOGIC
						; 1190	;HAS BEEN EXERCISED, AND THEN RETURNS TO THE NORMAL INSTRUCTION STREAM
						; 1191	;WHEN YOU ENTER HERE, "AC0" HAS VMA DATA(IE. SELECTED ADDRESS)
						; 1192	;AND THE INDEX REGISTER(XR=ARX14-17) HAS AD FUNC DATA
						; 1193	
						; 1194	2363:
UMAC 2363, 2346,3202,0600,0000,0000,0010,0000	; 1195	PAGCTL:    AD/B,ARX/ADX,ADB/BR,J/OP11P1	;COPY INSTR TO ARX
						; 1196	
						; 1197	2370:
UMAC 2370, 2371,4001,0000,0000,0000,2310,0041	; 1198	UPT0SEL:  COND/MBOX CTL,MBOX CTL/ENA FORCE 0	;ENABLE SETTING OF FORCE 0
						; 1199	
						; 1200	2371:  COND/MBOX CTL,MBOX CTL/SEL PT0, ;SET FORCE 0
UMAC 2371, 2402,4001,0000,0000,0000,2310,0071	; 1201			J/DONSEL
						; 1202	
						; 1203	2372:
UMAC 2372, 2373,4001,0000,0000,0000,2310,0043	; 1204	UPT1SEL: COND/MBOX CTL,MBOX CTL/ENA FORCE 1	;ENABLE SETTING OF FORCE 1
						; 1205	
						; 1206	2373:  COND/MBOX CTL,MBOX CTL/SEL PT1, ;SET FORCE 1
UMAC 2373, 2402,0001,0000,0000,0000,2310,0073	; 1207			J/DONSEL
						; 1208	
						; 1209	2374:
UMAC 2374, 2375,4001,0000,0000,0000,2310,0040	; 1210	UPTLRU:  COND/MBOX CTL,MBOX CTL/ENA FORCE LRU	;ENABLE CLEARING OF FORCE 0&1
						; 1211	
						; 1212	2375:  COND/MBOX CTL,MBOX CTL/SEL LRU PT, ;CLEAR FORCE 0&1
UMAC 2375, 2402,0001,0000,0000,0000,2310,0070	; 1213			J/DONSEL
						; 1214	
						; 1215	2402:
UMAC 2402, 2403,4001,0000,0000,0000,2310,0002	; 1216	DONSEL:	COND/MBOX CTL,MBOX CTL/WRITE BOTH HALVES	;CLOCK SEL TB0 FLOP
						; 1217	
						; 1218	2403:	COND/MBOX CTL,MBOX CTL/NORMAL,J/0000,	;CLEAR WRITE BOTH HALVES
UMAC 2403, 0000,4033,2000,0000,0320,2310,0000	; 1219			ADA/PC,AD/A+1,AR/AD,VMA/AD	;SETUP NEXT PC
						; 1220	 
						; 1221	;DISPATCH CODE FOR OPCODE 110... "CONPAG" OPCODE
						; 1222	
						; 1223	2366:
						; 1224	UCONPG:
UMAC 2366, 2353,3200,2000,0000,0020,0010,0000	; 1225		AR/AD,AD/B,ADB/FM,FMADR/AC0,J/OP12 ;GET BITS TO SET FROM INDEX REG
						; 1226	
; KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 1/84		MICRO %33(265)		Page 3-1
; OVRLA2.MIC[4,240]	08:24 16-Mar-84			DISPATCH RAM DEFINITIONS				

						; 1227	;BEGIN EXECUTE PORTION OF OPCODE "3"
						; 1228	
						; 1229	2346:
						; 1230	OP11P1:	ADB/FM,FMADR/AC0,AR/AD,	;WHLE AR GETS "VMA'S" DATA
UMAC 2346, 2404,3200,2000,0000,0020,0010,0000	; 1231		    AD/B
						; 1232	
						; 1233	2404:	SH/AR,ARX/SH,ADB/FM,AD/B,FMADR/XR, ;VMA DATA TO ARX
						; 1234		    AR/AD,MQ/MQM SEL,COND/REG CTL, ;MEM FUNC DATA TO AR & MQ
UMAC 2404, 2350,3240,2412,0000,1020,0710,0003	; 1235		    MQ CTL/AD,J/OP11		;AND CONTINUE INSTR FLOW
						; 1236	
; KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 1/84		MICRO %33(265)		Page 4
; OVRLA2.MIC[4,240]	08:24 16-Mar-84			DISPATCH RAM DEFINITIONS				

						; 1237	
						; 1238	2350:
						; 1239	OP11:	SKIP/AD0,MEM/REG FUNC,VMA/AD,	;LOAD VMA 13-35
UMAC 2350, 2376,3713,0000,0000,0327,5510,0204	; 1240		    AD/A,ADA/ARX,MREG FNC/NO MEM ACCESS BTYPE ;SKP ON "UEBR REF" IF NECC.
						; 1241	
						; 1242	;IF HERE NO "MCL UEBR REF# IS REQUIRED
						; 1243	
						; 1244	2376:	MEM/AD FUNC,AD/A,ADA/AR,J/MBOXTM, ;LOAD SPECIAL MCL BOARD FUNCS
UMAC 2376, 2351,3703,0000,0000,0010,0026,0000	; 1245		    SPEC/SP MEM CYCLE		;AND CAUSE "MCL LOAD VMA CONTEXT
						; 1246	
						; 1247	
						; 1248	;IF HERE, YES NEED "MCL UEBR REF"
						; 1249	
						; 1250	2377:	MEM/AD FUNC,AD/A,ADA/AR,	;LOAD SPECIAL MCL BOARD FUNCS
						; 1251		    SPEC/SP MEM CYCLE,		;AND A SPECIAL FUNC TO SET
						; 1252		    SP MEM/PT RD NO PG FAIL,	; "MCL UEBR REF"
UMAC 2377, 2351,3703,0000,0000,0010,0026,0110	; 1253		    J/MBOXTM
						; 1254	2351:
UMAC 2351, 2352,4001,0000,0000,0000,0010,0000	; 1255	MBOXTM:	J/MBOXT1		;NOOP TO LET MBOX START AN EBOX "TX" CYC.
						; 1256	
						; 1257	2352:
UMAC 2352, 2345,0001,0000,0000,0020,0010,0000	; 1258	MBOXT1:	J/SETSIG,TIME/3T	;WAIT HERE WHILE MBOX ENTERS "EBOX T3"
						; 1259	
						; 1260	
						; 1261	;EXECUTE CODE FOR THE CONO PAG SPECIAL INSTR....
						; 1262	
						; 1263	2353:
UMAC 2353, 2405,3703,0000,0000,0060,2010,0416	; 1264	OP12:	COND/DIAG FUNC,DIAG FUNC/CONO PAG,ADA/AR,AD/A ;SET "KL PAGING MODE"
						; 1265	
						; 1266	2405:	AD/A+1,ADA/PC,VMA/AD,J/0000,	;AND FIX VMA BEFORE RETURN
						; 1267		    MEM/REG FUNC,MREG FNC/NO MEM ACCESS, ;STOP MEM FROM CYCLING
UMAC 2405, 0000,4031,2000,0000,0327,0010,0304	; 1268		    AR/AD		;AND CLEAR AR FOR INSTR STREAM
						; 1269	2361:
						; 1270	OP0000:	AD/B,ADB/FM,SPEC/SP MEM CYCLE, ;SET "MCL VMA USER"
UMAC 2361, 2342,3200,0002,0000,0020,5526,0000	; 1271		    J/OP00A,FMADR/XR,SKIP/AD0 ;AND CLR USER IF NECC
						; 1272	
						; 1273	2342:
						; 1274	OP00A:	COND/MBOX CTL,MBOX CTL/WRITE BOTH HALVES, ;ENABLE WRITING BOTH VALIDS
UMAC 2342, 2365,0001,0000,0000,0000,2310,0002	; 1275		    J/PTWDIR
						; 1276	2343:
UMAC 2343, 2342,4001,0000,0000,0000,0026,0200	; 1277		SPEC/SP MEM CYCLE,SP MEM/USER,J/OP00A ;JUST SET USER, HERE IF IT MUST BE CLR
						; 1278	
						; 1279	2365:
UMAC 2365, 2356,4001,0000,0000,0020,2310,0020	; 1280	PTWDIR: COND/MBOX CTL,MBOX CTL/PT DIR WR,J/OP00B ;WRITE DIRECTORY
						; 1281	
						; 1282	
; KL10 MICROCODE V234, MODIFIED FOR PAGING DIAGNOSTICS 1/84		MICRO %33(265)		Page 5
; OVRLA2.MIC[4,240]	08:24 16-Mar-84			PAGE TABLE PUBLIC BITS TO SCD FLAGS			

						; 1283	.TOC	"PAGE TABLE PUBLIC BITS TO SCD FLAGS"
						; 1284	
						; 1285	;THIS MICRO-CODE CHECKS THREE GATES ON THE SCD BOARD AS THEY
						; 1286	;AFFECT THE TWO SCAD FLAGS "SCD PUBLIC" AND "SCD PRIVATE INSTR".
						; 1287	;THE GATES THAT ARE CHECKED ARE GATES WHICH INCLUDE
						; 1288	;"SCD PRIVATE INSTR" OR "SCD PUBLIC PAGE" AS INPUTS.
						; 1289	;FIRST AN "AD FUNC" IS EXECUTED TO INITIALIZE "PUBLIC"
						; 1290	;AND/OR "PRIVATE INSTR" FLAGS AS DESIRED. THIRD, THE VMA IS LOADED
						; 1291	;WITH AN ADDRESS WHICH WILL SELECT A PAGE TABLE LOCATION
						; 1292	;CONTAINING "PT PUBLIC" TRUE(PAGE TABLE LOCATION) OR
						; 1293	;"PT PUBLIC" FALSE(EVEN PAGE TABLE LOCATION). FINALLY, A MICRO-
						; 1294	;CODE SKIP IS EXECUTED IN ORDER TO CAUSE EITHER A "SPEC/PORTAL"
						; 1295	;(IF AR BIT3=0) OR "CLK MB XFER"(IF AR BIT3=1). THE MICRO-CODE
						; 1296	;THEN LOOPS BACK TO THE BIGINNING.  THE PDP11 THEN TAKES OVER
						; 1297	;TO CHECK THAT THE CORRECT FLAGS HAVE SET OR CLEARED.
						; 1298	
						; 1299	2400:
						; 1300	OP0010:	SPEC/FLAG CTL,FLAG CTL/LD PUB W PRVT, ;SET PRIV INSTR OR PUB
UMAC 2400, 2367,3703,0000,0000,0000,0024,0622	; 1301		    AD/A,ADA/AR		; DEPENDING ON AR BITS 8 & 7
						; 1302	2367:
UMAC 2367, 2364,3701,0000,0000,0300,0010,0000	; 1303		VMA/AD,AD/A,ADA/AR	;LOAD VMA TO SELECT PT ADDRESS
						; 1304	2364:
						; 1305		MEM/AD FUNC,AD/A,ADA/AR, ;SET INSTR FETCH IF AR BIT9=1(& MEM CYCLE)
UMAC 2364, 2354,3703,0000,0000,1050,0007,0000	; 1306		    SH/AR,DISP/SH0-3	;DO EITHER "PORTAL" OR "MB XFER"
						; 1307	2354:
						; 1308		SPEC/FLAG CTL,FLAG CTL/PORTAL, ;"SPEC/PORTAL"
UMAC 2354, 2362,4001,0000,0000,0000,0024,0412	; 1309		    J/PAGFLG
						; 1310	
						; 1311	2355:
UMAC 2355, 2362,0001,0000,0000,0002,0010,0000	; 1312		MEM/MB WAIT,J/PAGFLG	;WITH "RESP SIM" CAUSES "CLK MB XFER"
						; 1313	
						; 1314	
						; 1315	;SPECIAL MICRO WORD TO CAPTURE PAGE FAILS
UMAC 1777, 2347,0001,0000,0000,0060,0004,0000	; 1316	1777:	J/ABORT,DISP/PG FAIL,TIME/5T
						; 1317	


; Number of microwords used: 
;	D words= 0
;	U words= 40, Highest= 1286