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