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