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