Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/paging.mac
There are no other files named paging.mac in the archive.
	PH1NUM=^D 33
	PH2NUM=^D 33
MCRST:
; NPAG.MIC	10:39 10-FEB-1977		DISPATCH RAM DEFINITIONS

						; 785	;SPECIAL MICRO-CODE FOR IMPLIMENTING DIAGNOSTIC INSTRUCTIONS FOR
						; 786	;USE BY THE PAGING DIAGNOSTIC.. INSTRUCTIONS IMPLIMENTED:
						; 787	;PTWRDT AC,E(OPCODE 00)	;WRITE DATA TO PAGE TABLE
						; 788	;			;AC CONTAINS DATA TO WRITE(BITS0-35)
						; 789	;			;E IS PAGE TABLE ADDRESS(BITS 18-26)
						; 790	;PTREAD AC,E(OPCODE 01)	;READ THE PAGE TABLE DATA VIA EBUS REGISTER
						; 791	;			;AC RECEIVES RESULTS
						; 792	;			;E CONTAINS PAGE TABLE ADDRESS TO READ(BITS18-26)
						; 793	;PTDWRT AC,E(OPCODE 10)	;WRITE DATA TO PAGE TABLE DIRECTORY
						; 794	;			;AC CONTAINS DATA TO WRITE
						; 795	;			;E CONTAINS DIRECTORY ADDRESS TO WRITE
						; 796	;PTDVER AC,E(OPCODE 100);PAGE TABLE DIRECTORY VERIFY
						; 797	;			;AC CONTAINS DATA TO BE VERIFIED
						; 798	;			;E CONTAINS DIRECTORY ADDRESS TO BE VERIFIED
						; 799	;			;IF MATCH VERIFIES,RH OF AC SET TO ZEROES
						; 800	;			;IF NO MATCH, RH OF AC SET TO ONES
						; 801	;DISPATCHER TO DESIRED DIAGNOSE INSTRUCTION
						; 802		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	; 803		    SPEC/SP MEM CYCLE		;AND SET "EBOX MAY BE PAGED"
						; 804	
UMAC 2341, 2352,3401,2000,0000,0000,4410,0000	; 805	BIT17:	J/VMA17,SKIP/AR18,AD/0S,AR/AD ;NOW CLR AR AND TEST FOR "17"
						; 806	COMPT:	AR/SH,SH/AR SWAP,	;SET SPECIALS TO "19","20" OF AR
UMAC 2342, 0001,0001,4000,0000,3000,0003,0000	; 807		    DISP/RETURN,J/1	;AND RETURN 1 LOC BEYOND WHERE CALLED
						; 808	
						; 809	;COMMON SUBROUTINE FOR ALL INSTRUCTIONS WHICH DEAL WITH THE
						; 810	;PAGE TABLE DIRECTORY.. SUBROUTINE SETS AR BITS 19&20
						; 811	;TO CORRESPOND TO THE STATES OF "VMA USER"&"VMA BIT17" SO
						; 812	;THAT THE MAIN INSTRUCTION CAN XOR THE AR REGISTER AGAINST THE
						; 813	;ADDRESS SUPPLIED IN THE INSTR... THIS IS SO THE INSTR
						; 814	;WILL ALWAYS ACCESS THE CORRECT DIRECTORY ADDRESS AND NOT
						; 815	;BE SCREWED BY THE PAGE TABLE XORING THINGS ALL TO HELL..
						; 816	STXOR:	BR/AR,		;SAVE "E" IN BR FOR PENDING XOR
						; 817		    FMADR/AC0,AD/B,ADB/FM,AR/AD, ;DATA INTO AR
UMAC 2343, 2344,3200,2040,0000,0000,0024,0020	; 818		    SPEC/FLAG CTL,FLAG CTL/SET FLAGS ;SET "SCD USER" FOR USERS
						; 819	
UMAC 2344, 2345,4031,0200,0000,0020,0034,0000	; 820		DISP/BYTE,J/USERBT,AD/A+1,ADA/PC,ARX/AD ;PC TO ARX
						; 821	=01
						; 822	USERBT:	AR/AD*.25,AD/B,ADB/BR*2, ;IF NO SKIP..NO USER BIT
						; 823		    SPEC/SP MEM CYCLE,SP MEM/NO USR W NO PG FAIL,
UMAC 2345, 2341,3201,7000,0000,0000,0026,0110	; 824		    J/BIT17
						; 825	=11
						; 826		SC/SCAD,SCAD/A,SCADA/#,#/200, ;IF HERE, YES USER BIT
UMAC 2347, 2350,3201,7000,0302,0000,0010,0200	; 827		    AR/AD*.25,AD/B,ADB/BR*2 ;SO SET AND CONTINUE
						; 828		SPEC/SP MEM CYCLE,SP MEM/USER W NO PG FAIL, ;NOW SET USER
UMAC 2350, 2341,0001,0000,0000,0000,0026,0220	; 829		    J/BIT17	;AND CONTINUE
						; 830	=0
						; 831	VMA17:	AR/ARMM,ARMM/SCAD EXP, ;IF HERE, NO "17",JUST LOAD AR
						; 832		    SCAD/A+B,SCADA EN/0S,SCADB/SC,  ;GET SPECIAL BITS TO SCADDER
UMAC 2352, 2342,0001,0000,2400,2000,0110,0000	; 833		    COND/LD AR0-8,J/COMPT ;AND THEN TO AR BITS 0-8
						; 834	
						; 835		SC/SCAD,SCAD/A+B,SCADB/SC,SCADA/#,#/100, ;SET BIT TO SAY "17"
UMAC 2353, 2352,0001,0000,2302,0000,0010,0100	; 836		    J/VMA17		;AND GO TO LOAD SPECIALS TO AR
						; 837	
						; 838	EXECTR:	J/XCTGO,DISP/SH0-3,SH/SHIFT AR!ARX, ;DISPATCH TO EXECUTE CODE
UMAC 2354, 2360,0001,0000,0402,0040,0007,0000	; 839		    SC/SCAD,SCADA EN/0S,SCAD/A ;CLEAR SC BEFORE EXECUTE
						; 840	=0000
						; 841	XCTGO:
UMAC 2360, 2370,3200,2000,0000,0000,0010,0000	; 842	MPTWRDT: ADB/FM,AD/B,AR/AD,FMADR/AC0,J/OP00 ;OPCODE "00"IS PTWRDT
						; 843	MPTREAD: SPEC/SP MEM CYCLE,
UMAC 2361, 2371,0001,0000,0000,0000,0026,0110	; 844		    SP MEM/PT RD NO PG FAIL,J/OP01 ;OPCODE "01" IS PTREAD
						; 845	
						; 846	
						; 847	=0
						; 848	MPTDWRT: J/STXOR,SPEC/CALL, ;FIRST GO SUBRTN TO XORDATA & ADDR
UMAC 2362, 2343,3300,2000,0000,0000,0021,0000	; 849		    AR/AD,AD/OR,ADB/FM,FMADR/AC0,ADA/AR ;BITS 13-17 ORED WITH 18-35
						; 850	
						; 851	;RETURN FROM SUBROUTINE WILL FALL HERE...THERFORE OPCODE 11 MUST REMAIN
						; 852	;UNUSED..THIS SAVES A JUMP MICRO INSTR..
						; 853		AD/XOR,ADA/AR,ADB/BR, ;ACTUALLY PERFORM THE "XOR"
						; 854		    VMA/AD,MEM/REG FUNC, ;AND LOAD VMA 13-35 WITH DATA&ADR
						; 855		    J/OP10,		 ;SET UP AR WITH PC & GO ON
UMAC 2363, 2374,3102,0000,0000,0307,0010,0304	; 856		MREG FNC/NO MEM ACCESS ;"APR READ REG" & "APR LOAD REG"TO KILL MEM CYC
						; 857	
						; 858	;OPCODE 100 IS PAGE TABLE DIRECTORY VERIFY INSTR..
						; 859	MPTDVER: J/STXOR,SPEC/CALL,	;FIRST GO TO SUBRTN TO XOR DATA & ADDR
UMAC 2364, 2343,3300,2000,0000,0000,0021,0000	; 860		    AR/AD,AD/OR,ADB/FM,FMADR/AC0,ADA/AR ;BITS 13-17 ORED WITH 18-35
						; 861	
						; 862	;RETURN FROM SUBROUTINE WILL FALL HERE... THEREFORE OPCODE 101 MUST
						; 863	;REMAIN UNUSED.. THIS SAVES A JUMP MICRO INSTR
						; 864		MEM/REG FUNC,VMA/AD,MREG FNC/VER PTD, ;START MEMORY ACCESS
						; 865		    AD/XOR,ADA/AR,ADB/BR, ;AND ACTUALLY DO THE XOR
UMAC 2365, 2375,3102,2000,0000,0307,0010,0304	; 866		    J/OP101,AR/AD ;AND FINISH INSTR & SET "APR READ & LOAD ERA"
						; 867	
						; 868	;OPCODES CONTINUED......110,111
						; 869	;PAIRED SKIP LOCATIONS FOR DECIDING IF A PAGE TABLE
						; 870	;DIRECTORY VERIFY HAS COME UP WITH A MATCH, OR NO MATCH
						; 871	=0111
						; 872	MATCH:	AD/B,ADB/FM,FMADR/AC0,	;IF MATCH, GET ORIGINAL DATA
						; 873		    COND/ARL IND,CLR/ARR,ARL/AD, ;AND CLR RIGHT HALF OF AC
UMAC 2367, 2373,3200,0000,0000,0000,0610,0012	; 874		    J/NORMEND		;TAKE NORMAL EXIT
						; 875	
						; 876	2377:
						; 877	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	; 878		    J/NORMEND		;TAKE NORMAL EXIT
						; 879	;PTWRDT INSTRUCTION CONTINUED
						; 880	2370:
						; 881	OP00:	COND/MBOX CTL,MBOX CTL/PT WR, ;WRITE DATA TO PAGE TABLE
						; 882		    ADA/PC,AD/A+1,AR/AD,VMA/AD, ;AND UPDATED PC TO AR
UMAC 2370, 0000,4031,2000,0000,0340,2310,0010	; 883		    J/0000
						; 884	
						; 885	;PTREAD INSTRUCTION CONTINUED
						; 886	2371:
UMAC 2371, 2372,0001,0000,0000,0007,0010,0100	; 887	OP01:	MEM/REG FUNC,MREG FNC/READ PT ;START MEM CYCLE TO FORCE PT INTO EBUS REG
						; 888	2372:
						; 889		MEM/MB WAIT,COND/DIAG FUNC, ;WAIT FOR CYCLE TO COMPLETE
UMAC 2372, 2373,0001,3000,0000,0062,2010,0567	; 890		    DIAG FUNC/RD EBUS REG,AR/EBUS ;& EBUS REG INTO "AR"
						; 891	2373:
						; 892	NORMEND: FMADR/AC0, COND/FM WRITE,AR/AD,AD/A+1,
UMAC 2373, 2346,4031,2000,0000,0320,1010,0000	; 893		    ADA/PC,VMA/AD,J/OFFUSR ;AND ON TO NEXT INSTR
						; 894	2374:
						; 895	OP10:	COND/MBOX CTL,MBOX CTL/PT DIR WR, ;WRITE P.T. DIRECTORY
						; 896		    AR/AD,AD/A+1,ADA/PC,VMA/AD, ;NEXT PC
UMAC 2374, 2346,4031,2000,0000,0340,2310,0020	; 897		    J/OFFUSR	;AND BACK TO INSTR STREAM
						; 898	
						; 899	2375:
						; 900	OP101:	COND/MBOX CTL,MBOX CTL/SET PAGE FAIL, ;NOW FORCE PAGE FAIL
						; 901		    ADB/FM,AD/B,FMADR/AC0, ;GET ORIGINAL DATA TO AR
UMAC 2375, 0000,3200,0000,0000,0000,2310,0200	; 902		    J/0000		;AND WAIT FOR THE  PAGE FAIL TO "1777"
						; 903	2346:
UMAC 2346, 2357,0001,0000,0000,0000,0024,0000	; 904	OFFUSR:	SPEC/FLAG CTL,J/DAMMIT	;CLEAR "SCD USER"
						; 905	2357:
						; 906	DAMMIT:	COND/ARL IND,CLR/ARL,AR/AD,ADA/AR, ;CLR LEFT HALF AC
UMAC 2357, 0000,0001,2000,0000,0000,0610,0020	; 907		    J/0000			;AND BACK TO MAINLINE
						; 908	;INITIALIZE THE VMA TO PREVENT AC REFS
						; 909	;ACTUAL MICRO-CODE USED FOR CACHE TO IR DATA LINE TEST
						; 910	2366:
						; 911	INIC2IR: COND/DIAG FUNC,AD/A,ADA/AR,	;MUST FIRST SET KL MODE
UMAC 2366, 2376,3701,0000,0000,0360,2010,0416	; 912		    DIAG FUNC/CONO PAG,VMA/AD	;AND TRAP EN.& LOAD VMA
						; 913	2376:
						; 914	CSH2IR:	MEM/REG FUNC,MREG FNC/READ ERA, ;START MBOX CYCLING
UMAC 2376, 2351,3401,0000,0000,0007,1410,0504	; 915		    COND/LOAD IR,AD/0S ;AND CLEAR IR
UMAC 2351, 2355,0001,0000,0000,0060,0010,0000	; 916	2351:	TIME/5T			;EBOX WILL WAIT FOR MBOX
						; 917	2355:	COND/LOAD IR,ADA/AR,AD/SETCA, ;AFTER MBOX RESP.LOAD IR
UMAC 2355, 2356,2001,0000,0000,0060,1410,0000	; 918		    TIME/5T
UMAC 2356, 2376,0001,0000,0000,0000,0010,0000	; 919	2356:	TIME/2T,J/CSH2IR	; AND BACK TO BEGINNING
						; 920	
						; 921	;AND NEW PAGE FAIL  INSTR
UMAC 1777, 2367,0001,0000,0000,0060,0004,0000	; 922	1777:	J/MATCH,DISP/PG FAIL,TIME/5T	;DISPATCH ON PAGE FAILS
						; 923	


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

MCRST2:
; NPAG2.MIC	12:45 8-APR-1977		DISPATCH RAM DEFINITIONS

						; 785	;SPECIAL MICRO-CODE FOR IMPLIMENTING DIAGNOSTIC INSTRUCTIONS FOR
						; 786	;USE BY THE PAGING DIAGNOSTIC.. INSTRUCTIONS IMPLIMENTED:
						; 787	;PTWRDT AC,E(OPCODE 00)	;WRITE DATA TO PAGE TABLE
						; 788	;			;AC CONTAINS DATA TO WRITE(BITS0-35)
						; 789	;			;E IS PAGE TABLE ADDRESS(BITS 18-26)
						; 790	;PTREAD AC,E(OPCODE 01)	;READ THE PAGE TABLE DATA VIA EBUS REGISTER
						; 791	;			;AC RECEIVES RESULTS
						; 792	;			;E CONTAINS PAGE TABLE ADDRESS TO READ(BITS18-26)
						; 793	;PTDWRT AC,E(OPCODE 10)	;WRITE DATA TO PAGE TABLE DIRECTORY
						; 794	;			;AC CONTAINS DATA TO WRITE
						; 795	;			;E CONTAINS DIRECTORY ADDRESS TO WRITE
						; 796	;PTDVER AC,E(OPCODE 100);PAGE TABLE DIRECTORY VERIFY
						; 797	;			;AC CONTAINS DATA TO BE VERIFIED
						; 798	;			;E CONTAINS DIRECTORY ADDRESS TO BE VERIFIED
						; 799	;			;IF MATCH VERIFIES,RH OF AC SET TO ZEROES
						; 800	;			;IF NO MATCH, RH OF AC SET TO ONES
						; 801	
						; 802	
						; 803	
						; 804	;DISPATCHER TO DESIRED DIAGNOSE INSTRUCTION
						; 805		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	; 806		    SPEC/SP MEM CYCLE		;AND SET "EBOX MAY BE PAGED"
						; 807	
						; 808	EXECTR:	J/XCTGO,DISP/SH0-3,SH/SHIFT AR!ARX, ;DISPATCH TO EXECUTE CODE
UMAC 2341, 2360,0001,0000,0402,0040,0007,0000	; 809		    SC/SCAD,SCADA EN/0S,SCAD/A ;CLEAR SC BEFORE EXECUTE
						; 810	
						; 811	;PTWRDT INSTRUCTION CONTINUED
						; 812	
						; 813	CLRUSE:	SPEC/SP MEM CYCLE,MEM/REG FUNC,	;CAUSE"MCL LOAD VMA CONTEXT"
UMAC 2342, 0000,0001,0000,0000,0007,0026,0304	; 814		    MREG FNC/NO MEM ACCESS,J/0000 ;AND CAUSE "MCL VMA USER" TO CLR
						; 815	OP00B:	COND/MBOX CTL,MBOX CTL/PT DIR WR, ;ALSO WRITE DIRECTORY
						; 816		    ADA/PC,AD/A+1,AR/AD,VMA/AD, ;AND UPDATED PC TO AR
UMAC 2343, 2342,4031,2000,0000,0340,2310,0020	; 817		    J/CLRUSE
						; 818	
						; 819	;PTREAD INSTRUCTION CONTINUED
						; 820	
UMAC 2344, 2345,0001,0000,0000,0007,0010,0100	; 821	OP01:	MEM/REG FUNC,MREG FNC/READ PT ;START MEM CYCLE TO FORCE PT INTO EBUS REG
						; 822	
						; 823		MEM/MB WAIT,COND/DIAG FUNC, ;WAIT FOR CYCLE TO COMPLETE
UMAC 2345, 2350,0001,3000,0000,0062,2010,0567	; 824		    DIAG FUNC/RD EBUS REG,AR/EBUS,J/NORMEND ;& EBUS REG INTO "AR"
						; 825	
						; 826	
; NPAG2.MIC	12:45 8-APR-1977		DISPATCH RAM DEFINITIONS

						; 827	;THIS IS ONE OF A PAIR OF MICRO-INSTR WHICH MAY BE DISPATCHED
						; 828	;TO ON A PAGE FAIL, DEPENDING ON THE STATE OF "PF EBOX HANDLE"
						; 829	=100111
						; 830	ABORT:	MEM/REG FUNC,MREG FNC/NO MEM ACCESS, ;ABORT MEM CYCLES
UMAC 2347, 0000,4031,0000,0000,0327,0010,0304	; 831		    VMA/AD,AD/A+1,ADA/PC,J/0	;SET VMA FOR RETURN, AND GO
						; 832	
						; 833	
						; 834	NORMEND: FMADR/AC0, COND/FM WRITE,AR/AD,AD/A+1,
UMAC 2350, 0000,4031,2000,0000,0320,1010,0000	; 835		    ADA/PC,VMA/AD,J/0000 ;AND ON TO NEXT INSTR
						; 836	
						; 837	SETSIG:	COND/MBOX CTL,MBOX CTL/SET PAGE FAIL, ;SET PAGE FAIL
UMAC 2351, 0000,0001,0000,0000,0000,2310,0200	; 838		    J/0000	; IN ORDER TO SET UP "PF HANDLE"
						; 839	
						; 840	;THIS IS THE SECOND OF A PAIR OF MICRO-INSTR WHICH MAY BE DISPATCHED
						; 841	;TO ON A PAGE FAIL, DEPENDING ON THE STATE OF "PF EBOX HANDLE"
						; 842	=101111
						; 843		MEM/REG FUNC,MREG FNC/NO MEM ACCESS, 	;ABORT MEM CYCLES
UMAC 2357, 0000,4031,0000,0000,0327,0010,0304	; 844		    VMA/AD,AD/A+1,ADA/PC,J/0000		;SET VMA FOR RETURN & GO
						; 845	
; NPAG2.MIC	12:45 8-APR-1977		DISPATCH RAM DEFINITIONS

						; 846	=0000
						; 847	XCTGO:
						; 848	MPTWRDT: ADB/FM,AD/B,AR/AD,FMADR/AC0,J/OP00, ;OPCODE "00"IS PTWRDT
UMAC 2360, 2373,3200,2000,0000,0000,0024,0000	; 849		    SPEC/FLAG CTL		;GUARANTEE SCAD FLAGS CLR
						; 850	MPTREAD: SPEC/SP MEM CYCLE,
UMAC 2361, 2344,0001,0000,0000,0000,0026,0110	; 851		    SP MEM/PT RD NO PG FAIL,J/OP01 ;OPCODE "01" IS PTREAD
						; 852	
UMAC 2362, 2352,0000,0000,0000,0000,0010,0000	; 853	PAGFLG:	AR/AR,ADB/FM,J/OP10	;OPCODE FOR SPECIAL SCD FLAGS
						; 854	;PAGCTL INSTRUCTION
						; 855	;SPECIAL MICRO-CODED INSTRUCTION FOR SETTING UP THE PAG BOARD
						; 856	;FOR A CONTROL LOGIC TEST. CODE DOES A  "MEM AD FUNC" TO SET
						; 857	;STATUS ON THE MCL BOARD, SETS APPROPRIATE PAGE TABLE BITS,
						; 858	;SUCH AS "ACCESS","WRITABLE","SOFTWARE",& "PUBLIC", AND
						; 859	;FINISHES UP BY FORCING A PAGE FAIL IN A MANNER SUCH THAT
						; 860	;"PAGE REFILL","PF HANDLE","PAGE FAIL", AND THE "PF HOLD" SIGNALS
						; 861	;CAN ALL BE READ...INSTRUCTION IS RUN THRU AT SINGLE STEP SPEED
						; 862	;UNLESS YOU ARE IN A SCOPE LOOP, WHEN THE INSTRUCTION EXECUTES
						; 863	;AT FULL SPEED, ABORTS CLEANLY AFTER THE CONTROL LOGIC
						; 864	;HAS BEEN EXERCISED, AND THEN RETURNS TO THE NORMAL INSTRUCTION STREAM
						; 865	;WHEN YOU ENTER HERE, "AC0" HAS VMA DATA(IE. SELECTED ADDRESS)
						; 866	;AND THE INDEX REGISTER(XR=ARX14-17) HAS AD FUNC DATA
						; 867	PAGCTL:
UMAC 2363, 2365,3202,0600,0000,0000,0010,0000	; 868		AD/B,ARX/ADX,ADB/BR,J/OP11P1	;COPY INSTR TO ARX
						; 869	
						; 870	;DISPATCH CODE FOR OPCODE 4... "CONO PAG" OPCODE
						; 871	CONPAG:
UMAC 2364, 2371,3200,2000,0000,0000,0010,0000	; 872		AR/AD,AD/B,ADB/FM,FMADR/AC0,J/OP4 ;GET BITS TO SET FROM INDEX REG
						; 873	
						; 874	
						; 875	;BEGIN EXECUTE PORTION OF OPCODE "3"
						; 876	OP11P1:	ADB/FM,FMADR/AC0,AR/AD,	;WHLE AR GETS "VMA'S" DATA
UMAC 2365, 2366,3200,2000,0000,0000,0010,0000	; 877		    AD/B
						; 878	
						; 879		SH/AR,ARX/SH,ADB/FM,AD/B,FMADR/XR, ;VMA DATA TO ARX
						; 880		    AR/AD,MQ/MQM SEL,COND/REG CTL, ;MEM FUNC DATA TO AR & MQ
UMAC 2366, 2367,3200,2412,0000,1000,0710,0003	; 881		    MQ CTL/AD,J/OP11		;AND CONTINUE INSTR FLOW
						; 882	
; NPAG2.MIC	12:45 8-APR-1977		DISPATCH RAM DEFINITIONS

						; 883	OP11:	SKIP/AD0,MEM/REG FUNC,VMA/AD,	;LOAD VMA 13-35
UMAC 2367, 2376,3711,0000,0000,0327,5510,0204	; 884		    AD/A,ADA/ARX,MREG FNC/NO MEM ACCESS BTYPE ;SKP ON "UEBR REF" IF NECC.
						; 885	
						; 886	=110
						; 887	;IF HERE NO "MCL UEBR REF# IS REQUIRED
						; 888		MEM/AD FUNC,AD/A,ADA/AR,J/MBOXTM, ;LOAD SPECIAL MCL BOARD FUNCS
UMAC 2376, 2346,3701,0000,0000,0014,0026,0000	; 889		    SPEC/SP MEM CYCLE		;AND CAUSE "MCL LOAD VMA CONTEXT
						; 890	
						; 891	=111
						; 892	;IF HERE, YES NEED "MCL UEBR REF"
						; 893		MEM/AD FUNC,AD/A,ADA/AR,	;LOAD SPECIAL MCL BOARD FUNCS
						; 894		    SPEC/SP MEM CYCLE,		;AND A SPECIAL FUNC TO SET
						; 895		    SP MEM/PT RD NO PG FAIL,	; "MCL UEBR REF"
UMAC 2377, 2346,3701,0000,0000,0014,0026,0110	; 896		    J/MBOXTM
						; 897	2346:
UMAC 2346, 2370,0001,0000,0000,0000,0010,0000	; 898	MBOXTM:	J/MBOXT1		;NOOP TO LET MBOX START AN EBOX "TX" CYC.
						; 899	
						; 900	2370:
UMAC 2370, 2351,0001,0000,0000,0020,0010,0000	; 901	MBOXT1:	J/SETSIG,TIME/3T	;WAIT HERE WHILE MBOX ENTERS "EBOX T3"
						; 902	
						; 903	
						; 904	;EXECUTE CODE FOR THE CONO PAG SPECIAL INSTR....
						; 905	2371:
UMAC 2371, 2372,3701,0000,0000,0060,2010,0416	; 906	OP4:	COND/DIAG FUNC,DIAG FUNC/CONO PAG,ADA/AR,AD/A ;SET "KL PAGING MODE"
						; 907	2372:	AD/A+1,ADA/PC,VMA/AD,J/0000,	;AND FIX VMA BEFORE RETURN
						; 908		    MEM/REG FUNC,MREG FNC/NO MEM ACCESS, ;STOP MEM FROM CYCLING
UMAC 2372, 0000,4031,2000,0000,0327,0010,0304	; 909		    AR/AD		;AND CLEAR AR FOR INSTR STREAM
						; 910	2373:
						; 911	OP00:	AD/B,ADB/FM,SPEC/SP MEM CYCLE, ;SET "MCL VMA USER"
UMAC 2373, 2374,3200,0002,0000,0020,5526,0000	; 912		    J/OP00A,FMADR/XR,SKIP/AD0 ;AND CLR USER IF NECC
						; 913	
						; 914	2374:
UMAC 2374, 2343,0001,0000,0000,0020,2310,0010	; 915	OP00A:	COND/MBOX CTL,MBOX CTL/PT WR,J/OP00B ;WRITE DATA TO PAGE TABLE
						; 916	2375:
UMAC 2375, 2374,0001,0000,0000,0000,0026,0200	; 917		SPEC/SP MEM CYCLE,SP MEM/USER,J/OP00A ;JUST SET USER, HERE IF IT MUST BE CLR
						; 918	
						; 919	
; NPAG2.MIC	12:45 8-APR-1977		PAGE TABLE PUBLIC BITS TO SCD FLAGS

						; 920	.TOC	"PAGE TABLE PUBLIC BITS TO SCD FLAGS"
						; 921	
						; 922	;THIS MICRO-CODE CHECKS THREE GATES ON THE SCD BOARD AS THEY
						; 923	;AFFECT THE TWO SCAD FLAGS "SCD PUBLIC" AND "SCD PRIVATE INSTR".
						; 924	;THE GATES THAT ARE CHECKED ARE GATES WHICH INCLUDE
						; 925	;"SCD PRIVATE INSTR" OR "SCD PUBLIC PAGE" AS INPUTS.
						; 926	;FIRST AN "AD FUNC" IS EXECUTED TO INITIALIZE "PUBLIC"
						; 927	;AND/OR "PRIVATE INSTR" FLAGS AS DESIRED. THIRD, THE VMA IS LOADED
						; 928	;WITH AN ADDRESS WHICH WILL SELECT A PAGE TABLE LOCATION
						; 929	;CONTAINING "PT PUBLIC" TRUE(ODD PAGE TABLE LOCATION) OR
						; 930	;"PT PUBLIC" FALSE(EVEN PAGE TABLE LOCATION). FINALLY, A MICRO-
						; 931	;CODE SKIP IS EXECUTED IN ORDER TO CAUSE EITHER A "SPEC/PORTAL"
						; 932	;(IF AR BIT3=0) OR "CLK MB XFER"(IF AR BIT3=1). THE MICRO-CODE
						; 933	;THEN LOOPS BACK TO THE BIGINNING.  THE PDP11 THEN TAKES OVER
						; 934	;TO CHECK THAT THE CORRECT FLAGS HAVE SET OR CLEARED.
						; 935	2352:
						; 936	OP10:	SPEC/FLAG CTL,FLAG CTL/LD PUB W PRVT, ;SET PRIV INSTR OR PUB
UMAC 2352, 2353,3701,0000,0000,0000,0024,0622	; 937		    AD/A,ADA/AR		; DEPENDING ON AR BITS 8 & 7
						; 938	2353:
UMAC 2353, 2356,3701,0000,0000,0300,0010,0000	; 939		VMA/AD,AD/A,ADA/AR	;LOAD VMA TO SELECT PT ADDRESS
						; 940	2356:
						; 941		MEM/AD FUNC,AD/A,ADA/AR, ;SET INSTR FETCH IF AR BIT9=1(& MEM CYCLE)
UMAC 2356, 2354,3701,0000,0000,1054,0007,0000	; 942		    SH/AR,DISP/SH0-3	;DO EITHER "PORTAL" OR "MB XFER"
						; 943	2354:
						; 944		SPEC/FLAG CTL,FLAG CTL/PORTAL, ;"SPEC/PORTAL"
UMAC 2354, 2362,0001,0000,0000,0000,0024,0410	; 945		    J/PAGFLG
						; 946	
						; 947	2355:
UMAC 2355, 2362,0001,0000,0000,0002,0010,0000	; 948		MEM/MB WAIT,J/PAGFLG	;WITH "RESP SIM" CAUSES "CLK MB XFER"
						; 949	
						; 950	
						; 951	;SPECIAL MICRO WORD TO CAPTURE PAGE FAILS
UMAC 1777, 2347,0001,0000,0000,0060,0004,0000	; 952	1777:	J/ABORT,DISP/PG FAIL,TIME/5T
						; 953	


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