.TOC "MACROS -- AC TRANSFERS" GEN AC0 "FMADR/AC0,ADB/FM,AD/B" AR_AC0 "FMADR/AC0,ADB/FM,AD/B,AR/AD" AR_AC1 "FMADR/AC1,ADB/FM,AD/B,AR/AD" AR_AC2 "FMADR/AC2,ADB/FM,AD/B,AR/AD" AR_AC3 "FMADR/AC3,ADB/FM,AD/B,AR/AD" AR_AC4 "FMADR/AC4,ADB/FM,AD/B,AR/AD" AC0_AR "FMADR/AC0,COND/FM WRITE" AC1_AR "FMADR/AC1,COND/FM WRITE" AC2_AR "FMADR/AC2,COND/FM WRITE" AC3_AR "FMADR/AC3,COND/FM WRITE" AC4_AR "FMADR/AC4,COND/FM WRITE" ARX_AC0 "FMADR/AC0,ADB/FM,AD/B,ARX/AD" ARX_AC1 "FMADR/AC1,ADB/FM,AD/B,ARX/AD" ARX_AC2 "FMADR/AC2,ADB/FM,AD/B,ARX/AD" ARX_AC3 "FMADR/AC3,ADB/FM,AD/B,ARX/AD" ARX_AC4 "FMADR/AC4,ADB/FM,AD/B,ARX/AD" AR_-AC0 "FMADR/AC0,ADB/FM,ADA EN/0S,AD/A-B,AR/AD" AR_AC0 COMP "FMADR/AC0,ADB/FM,AD/SETCB,AR/AD" AR_AC1 COMP "FMADR/AC1,ADB/FM,AD/SETCB,AR/AD" AR_AC1*2 "FMADR/AC1,ADB/FM,AD/B,AR/AD*2" AR_AC3*2 "FMADR/AC3,ADB/FM,AD/B,AR/AD*2" GEN AR*AC0 "FMADR/AC0,ADB/FM,ADA/AR" AR_AR*AC0 "FMADR/AC0,ADB/FM,ADA/AR,AR/AD" ;GENERAL BINARY OPERATION AR_AR*AC1 "FMADR/AC1,ADB/FM,ADA/AR,AR/AD" AR_AC0+1 "ADA EN/0S,ADB/FM,FMADR/AC0,AD/A+B+1,AR/AD" AR_AC1+1 "ADA EN/0S,ADB/FM,FMADR/AC1,AD/A+B+1,AR/AD" ARX_AC0+1 "ADA EN/0S,ADB/FM,FMADR/AC0,AD/A+B+1,ARX/AD" ARX_AC1+1 "ADA EN/0S,ADB/FM,FMADR/AC1,AD/A+B+1,ARX/AD" ARX_-AC0 "ADA EN/0S,ADB/FM,FMADR/AC0,AD/A-B,ARX/AD" ARX_AC0 COMP "ADB/FM,FMADR/AC0,AD/SETCB,ARX/AD" AR_XR "FMADR/XR,ADB/FM,AD/B,AR/AD" AR_FM(VMA) "FMADR/VMA,ADB/FM,AD/B,AR/AD" ARX_FM(VMA) "FMADR/VMA,ADB/FM,AD/B,ARX/AD" .TOC "MACROS -- DATA PATH TRANSFERS AND SHIFTS" MQ_AR "SH/AR,MQ/SH" MQ_ARX "SH/ARX,MQ/SH" AR_MQ "ADA/MQ,AD/A,AR/AD" MQ_SHIFT "SH/SHIFT AR!ARX,MQ/SH" AR_SHIFT "SH/SHIFT AR!ARX,AR/SH" ARX_SHIFT "SH/SHIFT AR!ARX,ARX/SH" MQ_AD "COND/REG CTL,MQ CTL/AD,MQ/MQM SEL" MQ_AR (AD) "ADA/AR,AD/A,MQ_AD" (MQ)*.25 "COND/REG CTL,MQ/MQM SEL,MQ CTL/MQ*.25" (MQ)*2 "COND/REG CTL,MQ/MQ SEL,MQ CTL/MQ*2" AR_ARX "SH/ARX,AR/SH" AR_ARX (ADX) "ADA EN/EN,AD/A,AR/ADX" AR_ARX (AD) "ADA/ARX,AD/A,AR/AD" ARX_AR "SH/AR,ARX/SH" ARX_AR (AD) "ADA/AR,AD/A,ARX/AD" BR_AR LONG "BR/AR,BRX/ARX" AR_AR*2 "ADA/AR,AD/A,AR/AD*2" AR_AR*4 "ADB/AR*4,AD/B,AR/AD" AR_AR*8 "ADB/AR*4,AD/B,AR/AD*2" ARX_ARX*2 "ADA EN/EN,AD/A,ARX/ADX*2" ARX_ARX*4 "ADB/AR*4,AD/B,ARX/ADX" ARX_ARX*8 "ADB/AR*4,AD/B,ARX/ADX*2" AR_AR*2 LONG "ADA/AR,AD/A,AR/AD*2,ARX/ADX*2" AR_AR*4 LONG "ADB/AR*4,AD/B,AR/AD,ARX/ADX" AR_AR*8 LONG "ADB/AR*4,AD/B,AR/AD*2,ARX/ADX*2" AR_ARX*2 "ADA/ARX,AD/A,AR/AD*2" AR_ARX*4 "ADB/AR*4,AD/B,AR/ADX" MQ_MQ*2 "SPEC/MQ SHIFT,MQ/MQ*2" AR_AR*.25 "ADA/AR,AD/A,AR/AD*.25" AR_ARX*.25 "ADA/ARX,AD/A,AR/AD*.25" AR_MQ*.25 "ADA/MQ,AD/A,AR/AD*.25" AR_MQ*4 "ADA/MQ,AD/A*2,AR/AD*2" ARX_ARX*.25 "ADA EN/EN,AD/A,ARX/ADX*.25" MQ_MQ*.25 "SPEC/MQ SHIFT,MQ/MQ*.25" (AR+ARX+MQ)*2 "ADA/AR,AD/A,AR/AD*2,ARX/ADX*2,(MQ)*2" (AR+ARX+MQ)*.25 "ADA/AR,AD/A,AR/AD*.25,ARX/ADX*.25,(MQ)*.25" AR_AR*.5 "ADA/AR,AD/A*2,AR/AD*.25" ARX_ARX*.5 "ADA/EN,AD/A*2,ARX/ADX*.25" AR_AR*.5 LONG "ADA/AR,AD/A*2,SPEC/AD LONG,AR/AD*.25,ARX/ADX*.25" AR_ARX COMP "ADA EN/EN,AD/SETCA,AR/ADX" AR_BR COMP "ADB/BR,AD/SETCB,AR/AD" ARX_BRX COMP "ADB/BR,AD/SETCB,ARX/ADX" AR_BR COMP LONG "ADB/BR,AD/SETCB,AR/AD,ARX/ADX" AR_MQ COMP "ADA/MQ,AD/SETCA,AR/AD" ARX_AR*4 COMP "ADB/AR*4,AD/SETCB,ARX/AD" ARX_ARX*2 COMP "ADA EN/EN,AD/SETCA,ARX/ADX*2" MQ_BR COMP "ADB/BR,AD/SETCB,MQ_AD" MQ_ARX COMP "ADA/ARX,AD/SETCA,MQ_AD" AR_-AR "ADA EN/0S,ADB/AR*4,AD/A-B,AR/AD*.25" AR_BR "ADB/BR,AD/B,AR/AD" AR_BRX "ADB/BR,AD/B,AR/ADX" ARX_BRX "ADB/BR,AD/B,ARX/ADX" AR_BR LONG "ADB/BR,AD/B,AR/AD,ARX/ADX" ARX_BR "ADB/BR,AD/B,ARX/AD" AR_-BR "ADB/BR,ADA EN/0S,AD/A-B,AR/AD" AR_-BRX "ADB/BR,ADA EN/0S,AD/A-B,AR/ADX" ARX_-BRX "ADB/BR,ADA EN/0S,AD/A-B,ARX/ADX" AR_BR*2 "ADB/BR*2,AD/B,AR/AD" ARX_BRX*2 "ADB/BR*2,AD/B,ARX/ADX" ARX_BRX*2+1 "ADA EN/0S,ADB/BR*2,AD/A+B+1,ARX/ADX" AR_BR+1 "ADB/BR,ADA EN/0S,AD/A+B+1,AR/AD" ARX_BR*2 "ADB/BR*2,AD/B,ARX/AD" AR_BR*4 LONG "ADB/BR*2,AD/B,AR/AD*2,ARX/ADX*2" AR_BR*.5 "ADB/BR*2,AD/B,AR/AD*.25" AR_BR*.5 LONG "ADB/BR*2,AD/B,AR/AD*.25,ARX/ADX*.25" AR_MQ*2 "ADA/MQ,AD/A,AR/AD*2" GEN AR "ADA/AR,AD/A" GEN ARX "ADA/ARX,AD/A" GEN ARX COMP "ADA/ARX,AD/SETCA" GEN MQ "ADA/MQ,AD/A" GEN BR*2 "ADB/BR*2,AD/B" FORCE AR-ARX "ADB/AR*4,AD/B,AR/AD*.25,ARX/ADX*.25" .TOC "MACROS -- ARITHMETIC" GEN AR+1 "ADA/AR,AD/A+1" GEN AR-1 "ADA/AR,AD/A-1" AR_AR+1 "ADA/AR,AD/A+1,AR/AD" AR_AR-1 "ADA/AR,AD/A-1,AR/AD" AR_AR+BR "ADA/AR,ADB/BR,AD/A+B,AR/AD" ARX_AR+BR "ADA/AR,ADB/BR,AD/A+B,ARX/AD" GEN AR*BR "ADA/AR,ADB/BR" GEN AR+BR "ADA/AR,ADB/BR,AD/A+B" GEN AR-BR "ADA/AR,ADB/BR,AD/A-B" GEN AR-BR-1 "GEN AR*BR,AD/A-B-1" AR_AR-BR "ADA/AR,ADB/BR,AD/A-B,AR/AD" ARX_-AR-1 "ADA/AR,AD/SETCA,ARX/AD" AR_AR-BR-1 "GEN AR*BR,AD/A-B-1,AR/AD" ARX_AR+1 "ADA/AR,AD/A+1,ARX/AD" ARX_AR-1 "ADA/AR,AD/A-1,ARX/AD" ARX_ARX+1 "ADA EN/EN,AD/A+1,ARX/ADX" ARX_ARX-1 "ADA EN/EN,AD/A-1,ARX/ADX" ARX_ARX-1 (AD) "ADA/ARX,AD/A-1,ARX/AD" AR_ARX-1 "ADA EN/EN,AD/A-1,AR/ADX" ARX_BRX+1 "ADA EN/0S,ADB/BR,AD/A+B+1,ARX/ADX" AR_ARX+BR "ADA/ARX,ADB/BR,AD/A+B,AR/AD" ARX_ARX+BR "ADA/ARX,ADB/BR,AD/A+B,ARX/AD" AR_ARX-BR "ADA/ARX,ADB/BR,AD/A-B,AR/AD" GEN AR-AC3 "FMADR/AC3,ADB/FM,ADA/AR,AD/A-B" AR_MQ+1 "ADA/MQ,AD/A+1,AR/AD" MQ_MQ+1 "ADA/MQ,AD/A+1,MQ_AD" AR_MQ-1 "ADA/MQ,AD/A-1,AR/AD" AR_MQ-BR "ADA/MQ,ADB/BR,AD/A-B,AR/AD" AR_MQ+AC0 "FMADR/AC0,ADB/FM,ADA/MQ,AD/A+B,AR/AD" AR_MQ*AC1 "FMADR/AC1,ADB/FM,ADA/MQ,AR/AD" AR_MQ*AC2 "FMADR/AC2,ADB/FM,ADA/MQ,AR/AD" AR_MQ*AC3 "FMADR/AC3,ADB/FM,ADA/MQ,AR/AD" AR_AR*BR "ADA/AR,ADB/BR,AR/AD" AR_ARX*BR "ADA/ARX,ADB/BR,AR/AD" ARX_AR*BR "ADA/AR,ADB/BR,ARX/AD" AR_2(AR*BR) "ADA/AR,ADB/BR,AR/AD*2" AR_2(AR+BR) "AR_2(AR*BR),AD/A+B" AR_2(AR-BR) "AR_2(AR*BR),AD/A-B" AR_(AR+BR)*.25 "ADA/AR,ADB/BR,AD/A+B,AR/AD*.25" AR_(AR-BR)*.25 "ADA/AR,ADB/BR,AD/A-B,AR/AD*.25" AR_(AR+2BR)*.25 "ADA/AR,ADB/BR*2,AD/A+B,AR/AD*.25" AR_(AR-2BR)*.25 "ADA/AR,ADB/BR*2,AD/A-B,AR/AD*.25" GEN AR+2BR "ADA/AR,ADB/BR*2,AD/A+B" GEN AR-2BR "ADA/AR,ADB/BR*2,AD/A-B" ARX_ARX*BRX "ADA/AR,ADB/BR,ARX/ADX" ARX_ARX+BRX "ARX_ARX*BRX,AD/A+B" AR_ARX*BRX "ADA/AR,ADB/BR,AR/ADX" AR_AR*10 "ADA/AR,ADB/AR*4,AD/A+B,AR/AD*2" ARX_ARX*5 "ADA/AR,ADB/AR*4,AD/A+B,ARX/ADX" AR_BR+1000000 "AR/AD,AD/A+B,ADA EN/0S,ADB/BR,GEN CRY18" AR_2(AR+1) "ADA/AR,AD/A+1,AR/AD*2" AR_ARX*.25-AR-1 "ADB/AR*4,ADA/ARX,AD/A-B-1,AR/AD*.25" AR_(ARX OR AR*4)*.25 "ADA/ARX,ADB/AR*4,AD/OR,AR/AD*.25" ARX_ARX*-6 "ADA EN/EN,ADB/AR*4,AD/A-B,ARX/ADX*2" ARX0_MQ35 "ADA/MQ,AD/A*2+1,ARX/ADX*.25" .TOC "MACROS -- SCRATCH AC'S (BLOCK 7)" ;PARITY ERROR DIAGNOSIS/RECOVERY INFORMATION .IFNOT/KLPAGE SV.AR_AR "FMADR/#B#,FM#/160,COND/FM WRITE" ;AR SAVED SV.ARX_AR "FMADR/#B#,FM#/161,COND/FM WRITE" ;ARX SAVED AR_SV.AR "FMADR/#B#,FM#/160,AR_FM" .ENDIF/KLPAGE SV.IOPF_AR "FMADR/#B#,FM#/162,COND/FM WRITE" ;IO PAGE FAIL WORD T0 "FMADR/#B#,FM#/166" T1 "FMADR/#B#,FM#/171" T2 "FMADR/#B#,FM#/172" E0 "FMADR/#B#,FM#/164" E1 "FMADR/#B#,FM#/165" SLEN "FMADR/#B#,FM#/170" ;MUST BE 170 MSK "FMADR/#B#,FM#/167" FILL "FMADR/#B#,FM#/173" SFLGS "FMADR/AC0" SRCP "FMADR/AC1" DLEN "FMADR/AC3" DSTP "FMADR/AC4" AR_FM "ADB/FM,AD/B,AR/AD" AR_FM+1 "ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD" FM_AR "COND/FM WRITE" ARX_FM "ADB/FM,AD/B,ARX/AD" .IF/INSTR.STAT ;ACCESS TO AC'S WHICH CONTROL TRACKS FEATURE TRB "FMADR/#B#,FM#/176" TRX "FMADR/#B#,FM#/177" AR_TRB "TRB,AR_FM" AR_AR+TRB "TRB,ADB/FM,ADA/AR,AD/A+B,AR/AD" ARX_TRB "TRB,ARX_FM" VMA_TRB "TRB,ADB/FM,AD/B,VMA/AD" VMA_AR+TRB "TRB,ADB/FM,ADA/AR,AD/A+B,VMA/AD" TRB_AR "TRB,FM_AR" AR_TRX "TRX,AR_FM" TRX_AR "TRX,FM_AR" AR_TRX+1 "TRX,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD" .ENDIF/INSTR.STAT T0_AR "T0,FM_AR" T1_AR "T1,FM_AR" T2_AR "T2,FM_AR" E0_AR "E0,FM_AR" E1_AR "E1,FM_AR" SLEN_AR "SLEN,FM_AR" DLEN_AR "DLEN,FM_AR" MSK_AR "MSK,FM_AR" FILL_AR "FILL,FM_AR" SRCP_AR "SRCP,FM_AR" SFLGS_AR "SFLGS,FM_AR" DSTP_AR "DSTP,FM_AR" AR_T0 "T0,AR_FM" AR_AR+T0 "T0,ADB/FM,ADA/AR,AD/A+B,AR/AD" AR_AR-T0 "T0,ADB/FM,ADA/AR,AD/A-B,AR/AD" AR_AR*T0 "T0,ADB/FM,ADA/AR,AR/AD" VMA_T0+1 "T0,ADB/FM,ADA EN/0S,AD/A+B+1,VMA/AD" GEN AR*T0 "T0,ADB/FM,ADA/AR" AR_T1 "T1,AR_FM" AR_T2 "T2,AR_FM" AR_AR+T1 "T1,ADB/FM,ADA/AR,AD/A+B,AR/AD" ARX_T2 "T2,ARX_FM" AR_SLEN "SLEN,AR_FM" AR_SLEN+1 "SLEN,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD" AR_SLEN COMP "SLEN,ADB/FM,AD/SETCB,AR/AD" AR_-SLEN "SLEN,ADB/FM,ADA EN/0S,AD/A-B,AR/AD" ARX_-SLEN "SLEN,ADB/FM,ADA EN/0S,AD/A-B,ARX/AD" AR_AR*SLEN "SLEN,ADB/FM,ADA/AR,AR/AD" AR_DLEN "DLEN,AR_FM" AR_DLEN+1 "DLEN,ADB/FM,ADA EN/0S,AD/A+B+1,AR/AD" AR_DLEN COMP "DLEN,ADB/FM,AD/SETCB,AR/AD" AR_-DLEN "DLEN,ADB/FM,ADA EN/0S,AD/A-B,AR/AD" AR_E0 "E0,AR_FM" VMA_E0+1 "E0,ADB/FM,ADA EN/0S,AD/A+B+1,VMA/AD" VMA_AR+E0 "E0,ADB/FM,ADA/AR,AD/A+B,VMA/AD" VMA_AR+E0+1 "E0,ADB/FM,ADA/AR,AD/A+B+1,VMA/AD" AR_E1 "E1,AR_FM" VMA_AR+E1 "E1,ADB/FM,ADA/AR,AD/A+B,VMA/AD" AR_AR+E1 "E1,ADB/FM,ADA/AR,AD/A+B,AR/AD" GEN AR+E1 "E1,ADB/FM,ADA/AR,AD/A+B" AR_AR*MSK "MSK,ADB/FM,ADA/AR,AR/AD" ARX_AR*MSK "MSK,ADB/FM,ADA/AR,ARX/AD" AR_FILL "FILL,AR_FM" AR_SRCP "SRCP,AR_FM" ARX_SRCP "SRCP,ARX_FM" AR_SFLGS "SFLGS,AR_FM" AR_AR*SFLGS "SFLGS,ADB/FM,ADA/AR,AR/AD" AR_DSTP "DSTP,AR_FM" ARX_DSTP "DSTP,ARX_FM" .TOC "MACROS -- ITS AC BLOCKS USAGE TABLE" ;ITS USES THE EIGHT ACCUMULATOR BLOCKS AS FOLLOWS: ; ;BLOCK 0 EXEC MODE ACCUMULATORS ;BLOCK 1 USER MODE ACCUMULATORS ;BLOCK 2 MUSIC REGISTERS (.IF/MUSIC) ; 0 MUSAOB AOBJN POINTER TO MUSIC DATA ; 1 MUSDEV DATAO INSTR TO MUSIC DEVICE ; 2 MUSMIN MINIMUM LENGTH MUSIC QUANTUM ; 3 MUSTIM TIME FOR NEXT INTERVAL ; 4 MUSBT1 BITS FOR NEXT FROBBING ; 5 MUSBT2 BITS FOR TIME AFTER THAT ; 6 CHDTIM TIME LEFT FOR CURRENT CHORD ; 7 CN7777 MUST CONTAIN 7777 (OCTAL) ; 10 V1BR BASE REG FOR VOICE TABLE 1 ; 11 V2BR BASE REG FOR VOICE TABLE 2 ; 12 V3BR BASE REG FOR VOICE TABLE 3 ; 13 V4BR BASE REG FOR VOICE TABLE 4 ; 14 V5BR BASE REG FOR VOICE TABLE 5 ; 15 V6BR BASE REG FOR VOICE TABLE 6 ; 16 UNUSED ; 17 UNUSED ;BLOCK 3 MUSIC REGISTERS (.IF/MUSIC) ; 0 V1CTR COUNTER FOR FROBBING VOICE 1 ; 1 V2CTR COUNTER FOR FROBBING VOICE 2 ; 2 V3CTR COUNTER FOR FROBBING VOICE 3 ; 3 V4CTR COUNTER FOR FROBBING VOICE 4 ; 4 V5CTR COUNTER FOR FROBBING VOICE 5 ; 5 V6CTR COUNTER FOR FROBBING VOICE 6 ; 6 UNUSED ; 7 UNUSED ; 10 V1TIM TIME BETWEEN VOICE 1 FROBBINGS ; 11 V2TIM TIME BETWEEN VOICE 2 FROBBINGS ; 12 V3TIM TIME BETWEEN VOICE 3 FROBBINGS ; 13 V4TIM TIME BETWEEN VOICE 4 FROBBINGS ; 14 V5TIM TIME BETWEEN VOICE 5 FROBBINGS ; 15 V6TIM TIME BETWEEN VOICE 6 FROBBINGS ; 16 UNUSED ; 17 UNUSED ;BLOCK 4 EXEC MODE JPC RING (.IF/JPC.RING) ;BLOCK 5 USER MODE JPC RING (.IF/JPC.RING) ;BLOCK 6 VARIOUS PAGING BOX AND OTHER REGISTERS ; 0 UPFW PFW AS OF THE LAST REAL PAGE FAILURE ; 1 DBR1 DBR FOR USER LOW HALF ; 2 DBR2 DBR FOR USER HIGH HALF ; 3 DBR3 DBR FOR EXEC HIGH HALF ; 4 DBR4 DBR FOR EXEC LOW HALF ; 5 LH.AGE AGE BITS IN LEFT HALFWORD ; 6 RH.AGE AGE BITS IN RIGHT HALFWORD ; 7 CN1000 MUST CONTAIN 1000 FOR PAGING BOX CODE ; 10 CN100 MUST CONTAIN 100 FOR PAGING BOX CODE ; 11 UNUSED ; 12 SV.VMA SAVED VMA DURING PAGE FAIL ; 13 SV.BR SAVED BR DURING PAGE FAIL ; 14 XJPC EXEC JPC (EXEC JPC RING POINTER IF RING) ; 15 JPC USER JPC (JPC RING POINTER IF JPC RING) ; 16 SV.AR SAVED AR DURING PAGE FAIL ; 17 SV.ARX SAVES ARX DURING PAGE FAIL ;BLOCK 7 VARIOUS RANDOM REGISTERS ; 0 SV.PAR SAVED WORD WITH BAD PARITY DURING PARITY ERROR ; 1 SV.PFW SAVED PAGE FAIL WORD ; 2 SV.IOPF SAVED I/O PAGE FAIL WORD ; 3 SV.SC SAVE FE,,SC DURING PAGE FAIL ; 4 E0 TEMP FOR STRING STUFF ETC. ; 5 E1 ; 6 T0 ; 7 MSK ; 10 SLEN ; 11 T1 ; 12 T2 ; 13 GCSTBR GC SEGMENT TABLE BASE REG (.IF/LISP) ; 14 STBR SEGMENT TABLE BASE REG (.IF/LISP) ; 15 UNUSED ; 16 TRB BASE AOBJN POINTER FOR TRACKS FEATURE ; 17 TRX CURRENT AOBJN POINTER FOR TRACKS .TOC "MACROS -- KL-MODE PAGING REGISTERS" .IF/KLPAGE .IFNOT/ITSPAGE CSMSK "FMADR/#B#,FM#/140" PUR "FMADR/#B#,FM#/141" CBR "FMADR/#B#,FM#/142" SBR "FMADR/#B#,FM#/143" PFA "FMADR/#B#,FM#/144" SV.VMA "FMADR/#B#,FM#/145" SV.BR "FMADR/#B#,FM#/150" SV.SC "FMADR/#B#,FM#/151" SV.PFW "FMADR/#B#,FM#/152" .IF/ITSPAGE UPFW "FMADR/#B#,FM#/140" ;PFW AS OF LAST REAL PAGE FAIL DBR1 "FMADR/#B#,FM#/141" ;USER LOW DBR2 "FMADR/#B#,FM#/142" ;USER HIGH DBR3 "FMADR/#B#,FM#/143" ;EXEC HIGH DBR4 "FMADR/#B#,FM#/144" ;EXEC LOW LH.AGE "FMADR/#B#,FM#/145" RH.AGE "FMADR/#B#,FM#/146" CN1000 "FMADR/#B#,FM#/147" CN100 "FMADR/#B#,FM#/150" SV.VMA "FMADR/#B#,FM#/152" SV.BR "FMADR/#B#,FM#/153" .IF/JPC SUPPORT XJPC "FMADR/#B#,FM#/154" ;EXEC JPC (OR RING PTR) JPC "FMADR/#B#,FM#/155" ;JPC (OR JPC RING PTR) .ENDIF/JPC SUPPORT SV.PFW "FMADR/#B#,FM#/161" SV.SC "FMADR/#B#,FM#/163" .ENDIF/ITSPAGE SV.AR "FMADR/#B#,FM#/156" ;GROSS KLUDGES AT PF2 AND PFPAR SV.ARX "FMADR/#B#,FM#/157" ; DEPEND ON THESE THREE SV.PAR "FMADR/#B#,FM#/160" ; VALUES BEING WHAT THEY ARE PFA_AR "PFA,FM_AR" SV.PFW_AR "SV.PFW,FM_AR" SV.VMA_AR "SV.VMA,FM_AR" SV.AR_AR "SV.AR,FM_AR" SV.ARX_AR "SV.ARX,FM_AR" SV.BR_AR "SV.BR,FM_AR" SV.SC_AR "SV.SC,FM_AR" SV.PAR_AR "SV.PAR,FM_AR" .IF/ITSPAGE DBR1_AR "DBR1,FM_AR" DBR2_AR "DBR2,FM_AR" LH.AGE_AR "LH.AGE,FM_AR" RH.AGE_AR "RH.AGE,FM_AR" UPFW_AR "UPFW,FM_AR" .IF/JPC SUPPORT JPC_AR "JPC,FM_AR" XJPC_AR "XJPC,FM_AR" .ENDIF/JPC SUPPORT .ENDIF/ITSPAGE AR_SV.PFW "SV.PFW,AR_FM" AR_SV.VMA "SV.VMA,AR_FM" ARX_SV.VMA "SV.VMA,ARX_FM" VMA_SV.VMA "SV.VMA,ADB/FM,AD/B,VMA/AD" REQ SV.VMA "SV.VMA,ADB/FM,AD/B,VMA/1,MEM/AD FUNC" AR_SV.AR "SV.AR,AR_FM" ARX_SV.AR "SV.AR,ARX_FM" AR_SV.ARX "SV.ARX,AR_FM" ARX_SV.ARX "SV.ARX,ARX_FM" AR_SV.BR "SV.BR,AR_FM" ARX_SV.BR "SV.BR,ARX_FM" AR_SV.SC "SV.SC,AR_FM" .IF/ITSPAGE AR_DBR1 "DBR1,AR_FM" AR_DBR2 "DBR2,AR_FM" ARX_DBR1 "DBR1,ARX_FM" ARX_DBR2 "DBR2,ARX_FM" ARX_DBR3 "DBR3,ARX_FM" ARX_DBR4 "DBR4,ARX_FM" AR_LH.AGE "LH.AGE,AR_FM" AR_UPFW "UPFW,AR_FM" GEN SV.PFW "AD/B,ADB/FM,SV.PFW" .IF/JPC SUPPORT AR_JPC "JPC,AR_FM" AR_XJPC "XJPC,AR_FM" .IF/JPC.RING AR_JPC+1 "JPC,AR_FM+1" AR_XJPC+1 "XJPC,AR_FM+1" .ENDIF/JPC.RING .ENDIF/JPC SUPPORT .ENDIF/ITSPAGE AR_AR+SBR "SBR,ADB/FM,ADA/AR,AD/A+B,AR/AD" VMA_AR+SBR "SBR,ADB/FM,ADA/AR,AD/A+B,VMA/AD" ARX_AR+CBR "CBR,ADB/FM,ADA/AR,AD/A+B,ARX/AD" VMA_AR+CBR "CBR,ADB/FM,ADA/AR,AD/A+B,VMA/AD" ARX_ARX+CBR "CBR,ADB/FM,ADA/ARX,AD/A+B,ARX/AD" VMA_ARX+CBR "CBR,ADB/FM,ADA/ARX,AD/A+B,VMA/AD" AR_AR AND CSMSK "CSMSK,ADB/FM,ADA/AR,AD/AND,AR/AD" AR_AR OR PUR "PUR,ADB/FM,ADA/AR,AD/OR,AR/AD" AR_ARX OR PUR "PUR,ADB/FM,ADA/ARX,AD/OR,AR/AD" AR_PUR+AR0 "PUR,ADB/FM,ADA EN/0S,AD/A+B,SPEC/XCRY AR0,AR/AD" .IF/ITSPAGE AR_AR*LH.AGE "LH.AGE,ADA/AR,ADB/FM,AR/AD" AR_AR*RH.AGE "RH.AGE,ADA/AR,ADB/FM,AR/AD" GEN ARX*CN1000 "CN1000,ADA/ARX,ADB/FM" GEN ARX*SV.VMA "SV.VMA,ADA/ARX,ADB/FM" ARX_ARX-CN100 "CN100,ADA/ARX,ADB/FM,AD/A-B,ARX/AD" .ENDIF/ITSPAGE ;DEFINE PAGE FAIL CODES GENERATED BY MICROCODE SC_PF.ILW "SC_#,#/24" ;ILLEGAL WRITE SC_PF.PNA "SC_#,#/33" ;PAGE NO ACCESS ; PF.APE 36 ;AR PARITY ERROR ; PF.XPE 37 ;ARX PARITY ERROR .ENDIF/KLPAGE .TOC "MACROS -- ITS JPC RING REGISTERS" XJPC0 "FMADR/#B#,FM#/100" ;EXEC JPC RING - AC BLK 4 XJPC1 "FMADR/#B#,FM#/101" XJPC2 "FMADR/#B#,FM#/102" XJPC3 "FMADR/#B#,FM#/103" XJPC4 "FMADR/#B#,FM#/104" XJPC5 "FMADR/#B#,FM#/105" XJPC6 "FMADR/#B#,FM#/106" XJPC7 "FMADR/#B#,FM#/107" XJPC10 "FMADR/#B#,FM#/110" XJPC11 "FMADR/#B#,FM#/111" XJPC12 "FMADR/#B#,FM#/112" XJPC13 "FMADR/#B#,FM#/113" XJPC14 "FMADR/#B#,FM#/114" XJPC15 "FMADR/#B#,FM#/115" XJPC16 "FMADR/#B#,FM#/116" XJPC17 "FMADR/#B#,FM#/117" JPC0 "FMADR/#B#,FM#/120" ;USER JPC RING - AC BLK 5 JPC1 "FMADR/#B#,FM#/121" JPC2 "FMADR/#B#,FM#/122" JPC3 "FMADR/#B#,FM#/123" JPC4 "FMADR/#B#,FM#/124" JPC5 "FMADR/#B#,FM#/125" JPC6 "FMADR/#B#,FM#/126" JPC7 "FMADR/#B#,FM#/127" JPC10 "FMADR/#B#,FM#/130" JPC11 "FMADR/#B#,FM#/131" JPC12 "FMADR/#B#,FM#/132" JPC13 "FMADR/#B#,FM#/133" JPC14 "FMADR/#B#,FM#/134" JPC15 "FMADR/#B#,FM#/135" JPC16 "FMADR/#B#,FM#/136" JPC17 "FMADR/#B#,FM#/137" XJPC0_AR "XJPC0,FM_AR" XJPC1_AR "XJPC1,FM_AR" XJPC2_AR "XJPC2,FM_AR" XJPC3_AR "XJPC3,FM_AR" XJPC4_AR "XJPC4,FM_AR" XJPC5_AR "XJPC5,FM_AR" XJPC6_AR "XJPC6,FM_AR" XJPC7_AR "XJPC7,FM_AR" XJPC10_AR "XJPC10,FM_AR" XJPC11_AR "XJPC11,FM_AR" XJPC12_AR "XJPC12,FM_AR" XJPC13_AR "XJPC13,FM_AR" XJPC14_AR "XJPC14,FM_AR" XJPC15_AR "XJPC15,FM_AR" XJPC16_AR "XJPC16,FM_AR" XJPC17_AR "XJPC17,FM_AR" JPC0_AR "JPC0,FM_AR" JPC1_AR "JPC1,FM_AR" JPC2_AR "JPC2,FM_AR" JPC3_AR "JPC3,FM_AR" JPC4_AR "JPC4,FM_AR" JPC5_AR "JPC5,FM_AR" JPC6_AR "JPC6,FM_AR" JPC7_AR "JPC7,FM_AR" JPC10_AR "JPC10,FM_AR" JPC11_AR "JPC11,FM_AR" JPC12_AR "JPC12,FM_AR" JPC13_AR "JPC13,FM_AR" JPC14_AR "JPC14,FM_AR" JPC15_AR "JPC15,FM_AR" JPC16_AR "JPC16,FM_AR" JPC17_AR "JPC17,FM_AR" .TOC "MACROS -- REGISTERS FOR MUSIC" MUSAOB "FMADR/#B#,FM#/40" MUSDEV "FMADR/#B#,FM#/41" MUSMIN "FMADR/#B#,FM#/42" MUSTIM "FMADR/#B#,FM#/43" MUSBT1 "FMADR/#B#,FM#/44" MUSBT2 "FMADR/#B#,FM#/45" CHDTIM "FMADR/#B#,FM#/46" CN7777 "FMADR/#B#,FM#/47" V1BR "FMADR/#B#,FM#/50" V2BR "FMADR/#B#,FM#/51" V3BR "FMADR/#B#,FM#/52" V4BR "FMADR/#B#,FM#/53" V5BR "FMADR/#B#,FM#/54" V6BR "FMADR/#B#,FM#/55" V1CTR "FMADR/#B#,FM#/60" V2CTR "FMADR/#B#,FM#/61" V3CTR "FMADR/#B#,FM#/62" V4CTR "FMADR/#B#,FM#/63" V5CTR "FMADR/#B#,FM#/64" V6CTR "FMADR/#B#,FM#/65" V1TIM "FMADR/#B#,FM#/70" V2TIM "FMADR/#B#,FM#/71" V3TIM "FMADR/#B#,FM#/72" V4TIM "FMADR/#B#,FM#/73" V5TIM "FMADR/#B#,FM#/74" V6TIM "FMADR/#B#,FM#/75" GEN MUSDEV "MUSDEV,ADB/FM,AD/B" AR_MUSTIM "MUSTIM,AR_FM" AR_MUSBT1 "MUSBT1,AR_FM" AR_MUSBT2 "MUSBT2,AR_FM" AR_MUSAOB+1 "MUSAOB,AR_FM+1" AR_CN7777 "CN7777,AR_FM" AR_AR*MUSBT1 "MUSBT1,ADA/AR,ADB/FM,AR/AD" AR_ARX+CHDTIM "CHDTIM,ADA/ARX,ADB/FM,AD/A+B,AR/AD" AR_AR+V1TIM "V1TIM,ADA/AR,ADB/FM,AD/A+B,AR/AD" AR_AR+V2TIM "V2TIM,ADA/AR,ADB/FM,AD/A+B,AR/AD" AR_AR+V3TIM "V3TIM,ADA/AR,ADB/FM,AD/A+B,AR/AD" AR_AR+V4TIM "V4TIM,ADA/AR,ADB/FM,AD/A+B,AR/AD" AR_AR+V5TIM "V5TIM,ADA/AR,ADB/FM,AD/A+B,AR/AD" AR_AR+V6TIM "V6TIM,ADA/AR,ADB/FM,AD/A+B,AR/AD" AR_ARX+V1CTR "V1CTR,ADA/ARX,ADB/FM,AD/A+B,AR/AD" AR_ARX+V2CTR "V2CTR,ADA/ARX,ADB/FM,AD/A+B,AR/AD" AR_ARX+V3CTR "V3CTR,ADA/ARX,ADB/FM,AD/A+B,AR/AD" AR_ARX+V4CTR "V4CTR,ADA/ARX,ADB/FM,AD/A+B,AR/AD" AR_ARX+V5CTR "V5CTR,ADA/ARX,ADB/FM,AD/A+B,AR/AD" AR_ARX+V6CTR "V6CTR,ADA/ARX,ADB/FM,AD/A+B,AR/AD" MUSTIM_AR "MUSTIM,FM_AR" MUSBT1_AR "MUSBT1,FM_AR" MUSBT2_AR "MUSBT2,FM_AR" MUSAOB_AR "MUSAOB,FM_AR" CHDTIM_AR "CHDTIM,FM_AR" V1CTR_AR "V1CTR,FM_AR" V2CTR_AR "V2CTR,FM_AR" V3CTR_AR "V3CTR,FM_AR" V4CTR_AR "V4CTR,FM_AR" V5CTR_AR "V5CTR,FM_AR" V6CTR_AR "V6CTR,FM_AR" V1TIM_AR "V1TIM,FM_AR" V2TIM_AR "V2TIM,FM_AR" V3TIM_AR "V3TIM,FM_AR" V4TIM_AR "V4TIM,FM_AR" V5TIM_AR "V5TIM,FM_AR" V6TIM_AR "V6TIM,FM_AR" .TOC "MACROS -- LISP-RELATED REGISTERS" GCSTBR "FMADR/#B#,FM#/173" STBR "FMADR/#B#,FM#/174" GEN STBR "STBR,AD/B,ADB/FM" AR_GCSTBR "GCSTBR,AR_FM" AR_STBR "STBR,AR_FM" .TOC "MACROS -- CONSTANT GENERATION" AR_1S "AD/1S,AR/AD" ARX_1S "AD/1S,ARX/AD" MQ_1S "COND/REG CTL,MQ CTL/1S,MQ/MQM SEL" AR_0S "AD/0S,AR/AD" ARX_0S "AD/0S,ARX/AD" AR_SIGN "AD/XCRY-1,SPEC/XCRY AR0,AR/AD" ARX_AR SIGN "AD/XCRY-1,SPEC/XCRY AR0,ARX/AD" AR_0.C "COND/ARL IND,CLR/AR" ARL_0.C "COND/ARL IND,CLR/ARL" ARR_0.C "COND/ARL IND,CLR/ARR" ARX_0.C "COND/ARL IND,CLR/ARX" MQ_0.C "COND/ARL IND,CLR/MQ" AR_0.S "SPEC/ARL IND,CLR/AR" ARL_0.S "SPEC/ARL IND,CLR/ARL" ARR_0.S "SPEC/ARL IND,CLR/ARR" ARX_0.S "SPEC/ARL IND,CLR/ARX" MQ_0.S "SPEC/ARL IND,CLR/MQ" AR_0.M "MEM/ARL IND,CLR/AR" ARL_0.M "MEM/ARL IND,CLR/ARL" ARR_0.M "MEM/ARL IND,CLR/ARR" ARX_0.M "MEM/ARL IND,CLR/ARX" MQ_0.M "MEM/ARL IND,CLR/MQ" ARX+MQ_0.M "MEM/ARL IND,CLR/ARX+MQ" AR+ARX+MQ_0.M "MEM/ARL IND,CLR/AR+ARX+MQ" ARL+ARX+MQ_0.M "MEM/ARL IND,CLR/ARL+ARX+MQ" ARL+ARX_0.M "MEM/ARL IND,CLR/ARL+ARX" AR+MQ_0.M "MEM/ARL IND,CLR/AR+MQ" AR+MQ_0.S "SPEC/ARL IND,CLR/AR+MQ" ARR+MQ_0.S "SPEC/ARL IND,CLR/ARR+MQ" ARX+MQ_0.S "SPEC/ARL IND,CLR/ARX+MQ" CLR AR "COND/AR CLR" CLR ARX "COND/ARX CLR" CLR MQ "COND/REG CTL,MQ/MQ SEL,MQ CTL/0S" AR_1 "ADA EN/0S,AD/A+1,AR/AD" ARX_1 "ADA EN/0S,AD/A+1,ARX/AD" AR_1 LONG "ADA EN/0S,AD/A+1,AR/AD*.25,ARX/ADX" MQ_1 "ADA EN/0S,AD/A+1,COND/REG CTL,MQ/MQM SEL,MQ CTL/AD" AR_2 "ADA EN/0S,AD/A+1,AR/AD*2" ARX_1B1 "ADA EN/0S,AD/A+1,ARX/ADX*.25" .TOC "MACROS -- ADDRESS MANIPULATION" GEN AR+XR "FMADR/XR,ADB/FM,ADA/AR,AD/A+B" GEN ARX+XR "FMADR/XR,ADB/FM,ADA/ARX,AD/A+B" VMA_AR+XR "GEN AR+XR,VMA/AD" VMA_ARX+XR "GEN ARX+XR,VMA/AD" AR_AR+XR "GEN AR+XR,AR/AD" AR_ARX+XR "GEN ARX+XR,AR/AD" VMA_ARX "ADA/ARX,AD/A,VMA/AD" VMA_AR "ADA/AR,AD/A,VMA/AD" VMA_AR+1 "ADA/AR,AD/A+1,VMA/AD" VMA_AR-1 "ADA/AR,AD/A-1,VMA/AD" VMA_MQ "ADA/MQ,AD/A,VMA/AD" VMA_BR "ADB/BR,AD/B,VMA/AD" VMA_AR+BR "ADA/AR,ADB/BR,AD/A+B,VMA/AD" VMA_ARX+BR "ADA/ARX,ADB/BR,AD/A+B,VMA/AD" VMA_ARX+FM "ADA/ARX,ADB/FM,AD/A+B,VMA/AD" VMA_AC0 "FMADR/AC0,ADB/FM,AD/B,VMA/AD" VMA_AC1 "FMADR/AC1,ADB/FM,AD/B,VMA/AD" VMA_AC3 "FMADR/AC3,ADB/FM,AD/B,VMA/AD" VMA_PC+1 "VMA/PC+1" VMA_VMA-1 "VMA/VMA,COND/VMA DEC" VMA_VMA+1 "VMA/VMA,COND/VMA INC" VMA_# "VMA/1,COND/VMA_#" VMA_40 "VMA/1,COND/VMA_#,#/40" VMA_41 "VMA/1,COND/VMA_#,#/41" VMA_40+PI*2 "VMA/1,COND/VMA_#+PI*2,#/40" VMA_41+PI*2 "VMA/1,COND/VMA_#+PI*2,#/41" VMA_420+TRAP "VMA/1,COND/VMA_#+TRAP,#/420" VMA_430+MODE "VMA/1,COND/VMA_#+MODE,#/430" VMA_#+AR32-35 "VMA/1,COND/VMA_#+AR32-35" PC_VMA "SPEC/LOAD PC" AR_PC "ADA/PC,AD/A,AR/AD" AR_PC+1 "ADA/PC,AD/A+1,AR/AD,SPEC/SAVE FLAGS" ARR_PC+1 "ADA/PC,AD/A+1,AR/AD" ARX_PC "ADA/PC,AD/A,ARX/AD" REQ VMA HELD "COND/SEL VMA,ADA/PC,AD/A,VMA/1,MEM/AD FUNC" VMA_VMA HELD "COND/SEL VMA,ADA/PC,AD/A,VMA/AD" AR_VMA HELD "COND/SEL VMA,AR_PC" ARX_VMA HELD "COND/SEL VMA,ARX_PC" .TOC "MACROS -- LONG (72-BIT) ARITHMETIC" AR_AR+1 LONG "AR_AR+1,ARX/ADX,SPEC/AD LONG" AR_BR+1 LONG "ADA EN/0S,ADB/BR,AD/A+B+1,AR/AD,ARX/ADX,SPEC/AD LONG" GEN -AR LONG "ADB/AR*4,ADA EN/0S,AD/A-B,SPEC/AD LONG" AR_AD*.25 LONG "AR/AD*.25,ARX/ADX*.25,SPEC/AD LONG" AR_-AR LONG "GEN -AR LONG,AR_AD*.25 LONG" AR_-BR LONG "ADA EN/0S,ADB/BR,AD/A-B,AR/AD,ARX/ADX,SPEC/AD LONG" AR_BR*2 LONG "ADB/BR*2,AD/B,AR/AD,ARX/ADX" AR_-BR*2 LONG "ADA EN/0S,ADB/BR*2,AD/A-B,AR/AD,ARX/ADX,SPEC/AD LONG" AR_AR+BR LONG "AR_AR+BR,ARX/ADX,SPEC/AD LONG" AR_AR-BR LONG "AR_AR-BR,ARX/ADX,SPEC/AD LONG" AR_2(AR+BR) LONG "AR_2(AR*BR),AD/A+B,ARX/ADX*2,SPEC/AD LONG" AR_AR*5 LONG "ADA/AR,ADB/AR*4,AD/A+B,AR/AD,ARX/ADX,SPEC/AD LONG" AR_AR*10 LONG "ADA/AR,ADB/AR*4,AD/A+B,AR/AD*2,ARX/ADX*2,SPEC/AD LONG" AR_AR*1.25 LONG "ADA/AR,ADB/AR*4,AD/A+B,AR_AD*.25 LONG" AR_AR*.25 LONG "ADA/AR,AD/A,AR/AD*.25,ARX/ADX*.25" .TOC "MACROS -- HALFWORD MANIPULATION" AR_AR SWAP "SH/AR SWAP,AR/SH" ARX_AR SWAP "SH/AR SWAP,ARX/SH" MQ_AR SWAP "SH/AR SWAP,MQ/SH" ARL_AC0 "FMADR/AC0,ADB/FM,AD/B,COND/ARL IND,ARL/AD" ARL_ARX "COND/ARL IND,ARL/AD,ADA/ARX,AD/A" ARR_AC0 "AR_AC0" ARL_ARR "COND/ARL IND,ARL/SH,SH/AR SWAP" ARL_ARR.S "SPEC/ARL IND,ARL/SH,SH/AR SWAP" ARL_ARR.M "MEM/ARL IND,ARL/SH,SH/AR SWAP" ARR_ARL "SH/AR SWAP,AR/SH" ARR_ARR "AR/AR" ARL_ARL "COND/ARL IND,ARL/ARL" ARL_ARL.M "MEM/ARL IND,ARL/ARL" ARL_ARXL "SPEC/ARL IND,SH/ARX,ARL/SH" ARR_BRXR "SPEC/ARL IND,AD/B,ARL/ADX,ADB/BR" ARR_ARXR "SH/ARX,AR/SH" ARL_ARXL.M "MEM/ARL IND,SH/ARX,ARL/SH" ARL_ARX (ADX) "ADA EN/EN,AD/A,MEM/ARL IND,ARL/ADX" ARR_0S "AR_0S" ARL_0S "COND/ARL IND,CLR/ARL" ARR_1S "AR_1S" ARL_1S "AD/1S,COND/ARL IND,ARL/AD" ARL_1S.M "AD/1S,MEM/ARL IND,ARL/AD" ARL_BRL "ADB/BR,AD/B,COND/ARL IND,ARL/AD" ARL_BRL.S "ADB/BR,AD/B,SPEC/ARL IND,ARL/AD" ARR_ARX "AR_ARX" ARL_SHIFT.C "COND/ARL IND,ARL/SH,SH/SHIFT AR!ARX" ARL_BRL.M "ADB/BR,AD/B,MEM/ARL IND,ARL/AD" ARL_SHIFT "MEM/ARL IND,SH/SHIFT AR!ARX,ARL/SH" .TOC "MACROS -- SC" CLR SC "SCADA EN/0S,SCAD/A,SC/SCAD" GEN # AND SC "SCADA/#,SCADB/SC,SCAD/AND" SC_# "SCADA/#,SCAD/A,SC/SCAD" SC_#-SC "SCADA/#,SCADB/SC,SCAD/A-B,SC/SCAD" SC_#-SC-1 "SCADA/#,SCADB/SC,SCAD/A-B-1,SC/SCAD" SC_#+SC "SCADA/#,SCADB/SC,SCAD/A+B,SC/SCAD" SC_SC AND # "SCADA/#,SCADB/SC,SCAD/AND,SC/SCAD" SC_# OR SC "SCADA/#,SCADB/SC,SCAD/OR,SC/SCAD" SC_P AND SC "SCADA/AR0-5,SCADB/SC,SCAD/AND,SC/SCAD" SC_P AND # "SCADA/AR0-5,SCADB/#,SCAD/AND,SC/SCAD" SC_# AND S "SCADA/#,SCADB/AR6-11,SCAD/AND,SC/SCAD" SC_P-# "SCADA/AR0-5,SCADB/#,SCAD/A-B,SC/SCAD" SC_S "SCADB/AR6-11,SCADA EN/0S,SCAD/A+B,SC/SCAD" SC_P "SCADA/AR0-5,SCAD/A,SC/SCAD" SC_-SC "SCADA EN/0S,SCADB/SC,SCAD/A-B,SC/SCAD" SC_-SC-1 "SCADA EN/0S,SCADB/SC,SCAD/A-B-1,SC/SCAD" SC_1 "SCADA EN/0S,SCAD/A+1,SC/SCAD" SC_1S "SCADA EN/0S,SCAD/A-1,SC/SCAD" SC_FE "SPEC/SCM ALT,SC/FE" SC_FE+1 "SCADA/FE,SCAD/A+1,SC/SCAD" SC_FE-1 "SCADA/FE,SCAD/A-1,SC/SCAD" SC_FE+SC "SCADA/FE,SCADB/SC,SCAD/A+B,SC/SCAD" SC_FE-SC "SCADA/FE,SCADB/SC,SCAD/A-B,SC/SCAD" SC_FE-SC-1 "SCADA/FE,SCADB/SC,SCAD/A-B-1,SC/SCAD" SC_FE+# "SCADA/FE,SCADB/#,SCAD/A+B,SC/SCAD" SC_AR0-8 AND # "SCADA/#,SCADB/AR0-8,SCAD/AND,SC/SCAD" SC_FE-# "SCADA/FE,SCADB/#,SCAD/A-B,SC/SCAD" SC_FE AND # "SCADA/FE,SCADB/#,SCAD/AND,SC/SCAD" SC_EA "SPEC/SCM ALT,SC/AR SHIFT" SC_# AND AR0-8 "SCADA/#,SCADB/AR0-8,SCAD/AND,SC/SCAD" SC_EXP "SCADA/AR EXP,SCAD/A,SC/SCAD" SC_EXP+1 "SCADA/AR EXP,SCAD/A+1,SC/SCAD" SC_EXP-1 "SCADA/AR EXP,SCAD/A-1,SC/SCAD" SC_EXP+SC "SCADA/AR EXP,SCADB/SC,SCAD/A+B,SC/SCAD" SC_EXP-# "SCADA/AR EXP,SCADB/#,SCAD/A-B,SC/SCAD" SC_EXP-SC "SCADA/AR EXP,SCADB/SC,SCAD/A-B,SC/SCAD" SC_AR0-8 "SCADA EN/0S,SCADB/AR0-8,SCAD/A+B,SC/SCAD" .TOC "MACROS -- FE" FE_S "SCADA EN/0S,SCADB/AR6-11,SCAD/A+B,FE/SCAD" FE_# AND S "SCADA/#,SCADB/AR6-11,SCAD/AND,FE/SCAD" FE_P "SCADA/AR0-5,SCAD/A,FE/SCAD" FE_SC "SCADA EN/0S,SCADB/SC,SCAD/A+B,FE/SCAD" FE_-SC-1 "SCADA EN/0S,SCADB/SC,SCAD/A-B-1,FE/SCAD" FE_# "SCADA/#,SCAD/A,FE/SCAD" FE_+# "SCADA EN/0S,SCADB/#,SCAD/A+B,FE/SCAD" FE_#+SC "SCADA/#,SCADB/SC,SCAD/A+B,FE/SCAD" FE_#-SC "SCADA/#,SCADB/SC,SCAD/A-B,FE/SCAD" FE_FE+SC "SCADA/FE,SCADB/SC,SCAD/A+B,FE/SCAD" FE_FE-SC "SCADA/FE,SCADB/SC,SCAD/A-B,FE/SCAD" FE_FE+# "SCADA/FE,SCADB/#,SCAD/A+B,FE/SCAD" FE_FE-# "SCADA/FE,SCADB/#,SCAD/A-B,FE/SCAD" FE_FE OR # "SCADA/FE,SCADB/#,SCAD/OR,FE/SCAD" FE_FE AND # "SCADA/FE,SCADB/#,SCAD/AND,FE/SCAD" FE_EXP "SCADA/AR EXP,SCAD/A,FE/SCAD" FE_EXP+1 "SCADA/AR EXP,SCAD/A+1,FE/SCAD" FE_EXP-1 "SCADA/AR EXP,SCAD/A-1,FE/SCAD" FE_EXP+SC "SCADA/AR EXP,SCADB/SC,SCAD/A+B,FE/SCAD" FE_EXP-# "SCADA/AR EXP,SCADB/#,SCAD/A-B,FE/SCAD" FE_AR0-8 "SCADA EN/0S,SCADB/AR0-8,SCAD/A+B,FE/SCAD" FE_AR0-8 COMP "SCADA EN/0S,SCADB/AR0-8,SCAD/A-B-1,FE/SCAD" FE_#+AR0-8 "SCADA/#,SCADB/AR0-8,SCAD/A+B,FE/SCAD" FE_AR0-8 AND # "SCADA/#,SCADB/AR0-8,SCAD/AND,FE/SCAD" FE_FE OR AR0-8 "SCADA/FE,SCADB/AR0-8,SCAD/OR,FE/SCAD" FE_FE AND AR0-8 "SCADA/FE,SCADB/AR0-8,SCAD/AND,FE/SCAD" GEN P AND # "SCADA/AR0-5,SCADB/#,SCAD/AND" GEN P AND SC "SCADA/AR0-5,SCADB/SC,SCAD/AND" FE_P AND # "SCADA/AR0-5,SCADB/#,SCAD/AND,FE/SCAD" FE_P AND SC "SCADA/AR0-5,SCADB/SC,SCAD/AND,FE/SCAD" FE_P+SC "SCADA/AR0-5,SCADB/SC,SCAD/A+B,FE/SCAD" FE_FE SHRT "COND/FE SHRT,FE/0" CLR FE "SCADA EN/0S,SCAD/A,FE/SCAD" FE_1 "SCADA EN/0S,SCAD/A+1,FE/SCAD" FE_-1 "SCADA EN/0S,SCAD/A-1,FE/SCAD" FE_FE+1 "SCADA/FE,SCAD/A+1,FE/SCAD" FE_FE-1 "SCADA/FE,SCAD/A-1,FE/SCAD" GEN SC "SCADB/SC,SCADA EN/0S,SCAD/A+B" GEN -SC-1 "SCADB/SC,SCADA EN/0S,SCAD/A-B-1" GEN FE "SCADA/FE,SCAD/A" GEN FE-SC "SCADA/FE,SCADB/SC,SCAD/A-B" GEN FE AND SC "SCADA/FE,SCADB/SC,SCAD/AND" GEN FE AND # "SCADA/FE,SCADB/#,SCAD/AND" GEN FE-1 "SCADA/FE,SCAD/A-1" GEN FE-# "SCADA/FE,SCADB/#,SCAD/A-B" GEN FE AND S "SCADA/FE,SCADB/AR6-11,SCAD/AND" GEN #+SC "SCADA/#,SCADB/SC,SCAD/A+B" GEN #-SC "SCADA/#,SCADB/SC,SCAD/A-B" GEN #+AR0-8 "SCADA/#,SCADB/AR0-8,SCAD/A+B" GEN # AND AR0-8 "SCADA/#,SCADB/AR0-8,SCAD/AND" GEN P-S "SCADA/AR0-5,SCADB/AR6-11,SCAD/A-B" .TOC "MACROS -- AR MIXER MIXER (BITS 0-8)" GEN P-# "SCADA/AR0-5,SCADB/#,SCAD/A-B" P_SCAD "SPEC/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD POS" P_SCAD.M "MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD POS" P_SCAD.C "COND/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD POS" P_SCAD# "COND/LD AR0-8,AR/ARMM,ARMM/SCAD POS" P_P-S "SCADA/AR0-5,SCADB/AR6-11,SCAD/A-B,P_SCAD.M" P_P+S "SCADA/AR0-5,SCADB/AR6-11,SCAD/A+B,P_SCAD" P_P+1 "SCADA/AR0-5,SCAD/A+1,P_SCAD" P_SC "SCADA EN/0S,SCADB/SC,SCAD/A+B,P_SCAD.M" P_SC# "SCADA EN/0S,SCADB/SC,SCAD/A+B,P_SCAD#" P_-SC "SCADA EN/0S,SCADB/SC,SCAD/A-B,P_SCAD.M" P_P OR SC "SCADA/AR0-5,SCADB/SC,SCAD/OR,P_SCAD.M" P_P OR SC# "SCADA/AR0-5,SCADB/SC,SCAD/OR,P_SCAD#" P_P AND SC "SCADA/AR0-5,SCADB/SC,SCAD/AND,P_SCAD.M" P_P OR # "SCADA/AR0-5,SCADB/#,SCAD/OR,P_SCAD#" P_P AND # "SCADA/AR0-5,SCADB/#,SCAD/AND,P_SCAD#" P_P+# "SCADA/AR0-5,SCADB/#,SCAD/A+B,P_SCAD#" P_P-# "SCADA/AR0-5,SCADB/#,SCAD/A-B,P_SCAD#" P_FE "SCADA/FE,SCAD/A,P_SCAD" P_# "SCADA/#,SCAD/A,P_SCAD#" GEN S AND # "SCADA/#,SCADB/AR6-11,SCAD/AND" P_FE-S "SCADA/FE,SCADB/AR6-11,SCAD/A-B,P_SCAD.C" P_FE+SC "SCADA/FE,SCADB/SC,SCAD/A+B,P_SCAD.C" P_FE OR SC "SCADA/FE,SCADB/SC,SCAD/OR,P_SCAD" EXP_SCAD "MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD EXP" EXP_SCAD.C "COND/REG CTL,AR CTL/AR0-8 LOAD,AR/ARMM,ARMM/SCAD EXP" EXP TST "COND/REG CTL,EXP TST/AR_EXP" CLR P "SCADA EN/0S,SCAD/A,P_SCAD" P_1S "SCADA EN/0S,SCAD/A-1,P_SCAD" CLR EXP "SCADA EN/0S,SCAD/A,EXP_SCAD" EXP_1 "SCADA EN/0S,SCAD/A+1,EXP_SCAD" EXP_SIGN "SPEC/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/EXP_SIGN" EXP_SIGN.C "COND/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/EXP_SIGN" EXP_SIGN.M "MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/EXP_SIGN" EXP_SC "SCADA EN/0S,SCADB/SC,SCAD/A+B,EXP_SCAD" EXP_-SC-1 "SCADA EN/0S,SCADB/SC,SCAD/A-B-1,EXP_SCAD" EXP_FE TST "SCADA/FE,SCAD/A,EXP_SCAD.C,EXP TST" EXP_-SC-1 TST "SCADA EN/0S,SCADB/SC,SCAD/A-B-1,EXP_SCAD.C,EXP TST" AR0-8_SCAD "SPEC/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD EXP" AR0-8_SCAD# "ARMM/SCAD EXP,AR/ARMM,COND/LD AR0-8" AR0-8_SCAD.M "MEM/ARL IND,ARL/ARMM,AR0-8/LOAD,ARMM/SCAD EXP" AR0-8_SCAD.R "ARMM/SCAD EXP,AR/ARMM,COND/REG CTL,AR CTL/AR0-8 LOAD" AR0-8_SC "SCADA EN/0S,SCADB/SC,SCAD/A+B,AR0-8_SCAD" AR0-8_-SC-1 "SCADA EN/0S,SCADB/SC,SCAD/A-B-1,AR0-8_SCAD" AR0-8_FE "SCADA/FE,SCAD/A,AR0-8_SCAD" AR0-8_FE.M "SCADA/FE,SCAD/A,AR0-8_SCAD.M" AR0-8_FE.R "GEN FE,AR0-8_SCAD.R" AR0-8_FE# "SCADA/FE,SCAD/A,ARMM/SCAD EXP,AR/ARMM,COND/LD AR0-8" AR0-8_FE-SC "SCADA/FE,SCADB/SC,SCAD/A-B,AR0-8_SCAD.M" AR0-8_FE OR SC "SCADA/FE,SCADB/SC,SCAD/OR,AR0-8_SCAD.M" AR0-8_FE+# "SCADA/FE,SCADB/#,SCAD/A+B,AR0-8_SCAD#" AR0-8_FE OR # "SCADA/FE,SCADB/#,SCAD/OR,AR0-8_SCAD#" AR0-8_# AND AR0-8 "SCADA/#,SCADB/AR0-8,SCAD/AND,AR0-8_SCAD#" AR0-8_# "COND/LD AR0-8,AR/ARMM,ARMM/#" .TOC "MACROS -- MICROPROGRAM SKIPS" SKP AR0 "SKIP/AR0" SKP ARX0 "SKIP/ARX0" SKP BR0 "SKIP/BR0" SKP AD0 "SKIP/AD0" SKP ADX0 "SKIP/ADX0" SKP AR18 "SKIP/AR18" SKP SC0 "SKIP/SC0" SKP SCAD0 "SKIP/SCAD0" SKP AD NE "SKIP/AD#0" SKP SCAD NE "SKIP/SCAD#0" SKP CRY0 "SKIP/AD CRY0" SKP INTRPT "SKIP/INTRPT" SKP AC#0 "SKIP/AC#0" SKP -START "SKIP/-START" SKP RUN "SKIP/RUN" SKP KERNEL "SKIP/KERNEL" SKP USER "SKIP/USER" SKP P!S XCT "SKIP/P!S XCT" SKP RPW "SKIP/RPW REF" SKP AC REF "SKIP/AC REF" SKP FETCH "SKIP/FETCH" SKP SC LE 36 "SCADB/SC,SCADA/#,#/-36.,SCAD/A+B,SKIP/SCAD0" SKP SC NE "SCADB/SC,SCADA EN/0S,SCAD/A+B,SKIP/SCAD#0" SKP FE0 "SCADA/FE,SCAD/A,SKIP/SCAD0" SKP EXP NE "SCADA/AR EXP,SCAD/A,SKIP/SCAD#0" SKP P NE "SCADA/AR0-5,SCAD/A,SKIP/SCAD#0" SKP AR GT BR "ADA/AR,ADB/BR,AD/XOR,SKIP/AD CRY0" SKP AR GT FM "ADA/AR,ADB/FM,AD/XOR,SKIP/AD CRY0" SKP ARX LT BRX "ADA EN/EN,ADB/BR,AD/A-B,SKIP/ADX0" SKP ARX LE BRX "ADA EN/EN,ADB/BR,AD/A-B-1,SKIP/ADX0" SKP MQ EQ -1 "ADA/MQ,AD/CRY A EQ -1,SKIP/AD CRY0" SKP AR SIG "ADA/AR,AD/A+XCRY,SPEC/XCRY AR0,SKIP/AD#0" SKP AC0- "FMADR/AC0,ADB/FM,AD/B,SKIP/AD0" SKP AC0+ "FMADR/AC0,ADB/FM,AD/SETCB,SKIP/AD0" SKP AR1 "ADA/AR,AD/A*2,SKIP/AD0" SKP AR2 "ADB/AR*4,AD/B,SKIP/AD0" SKP AR6 "SCADB/AR6-11,SCADA/#,#/40,SCAD/AND,SKIP/SCAD#0" SKP AR NE "ADA/AR,AD/CRY A#0,SKIP/AD CRY0" SKP ARX2 "ADB/AR*4,AD/B,SKIP/ADX0" SKP ARX NE "ADA/ARX,AD/CRY A#0,SKIP/AD CRY0" SKP BR EQ "ADA EN/0S,ADB/BR,AD/CRY A GE B,SKIP/AD CRY0" SKP BR EQ -1 "ADA EN/0S,ADB/BR,AD/A+B+1,SKIP/AD CRY0" SKP ARX+MQ NE "ADA/MQ,AD/CRY A#0,SPEC/AD LONG,SKIP/AD CRY0" SKP AR EQ "ADA EN/0S,ADB/AR*4,AD/ORCB+1,SKIP/AD CRY0" .TOC "MACROS -- CRY0 GENERATORS" NO CRY "AD/SETCA" TEST AR "ADA/AR,AD/CRY A#0" TEST ARX "ADA/ARX,AD/CRY A#0" TEST ARX.AR*4 "ADA/ARX,ADB/AR*4,AD/CRY A.B#0" TEST AR.AC0 "FMADR/AC0,ADB/FM,ADA/AR,AD/CRY A.B#0" TEST AR.BR "ADB/BR,ADA/AR,AD/CRY A.B#0" TEST AR.MSK "MSK,ADB/FM,ADA/AR,AD/CRY A.B#0" TEST BRL "ADA EN/0S,ADB/BR,AD/ORCB+1,GEN CRY18" .TOC "MACROS -- SUBROUTINE CALL AND RETURNS" CALL "SPEC/CALL" CALL.M "MEM/ARL IND,CALL/CALL" CALL.S "SPEC/ARL IND,CALL/CALL" CALL.C "COND/ARL IND,CALL/CALL" RETURN0 "DISP/RETURN,J/0" RETURN1 "DISP/RETURN,J/1" RETURN2 "DISP/RETURN,J/2" RETURN3 "DISP/RETURN,J/3" RETURN4 "DISP/RETURN,J/4" RETURN5 "DISP/RETURN,J/5" RETURN6 "DISP/RETURN,J/6" RETURN7 "DISP/RETURN,J/7" RETURN10 "DISP/RETURN,J/10" RETURN12 "DISP/RETURN,J/12" .TOC "MACROS -- DISPATCHES" IR DISP "DISP/DRAM J" B DISP "DISP/DRAM B" EA MOD DISP "DISP/EA MOD" EA TYPE DISP "DISP/EA TYPE" NXT INSTR "MEM/MB WAIT,DISP/NICOND,#/0,J/NEXT" ;MUSTN'T CLEAR FE! .IF/NXT.INSTR.BITES NXT INSTR AFTER AC1 "J/FINI" FINISH "J/FINI" ;USE INSTEAD OF NXT INSTR IF FM WRITE .IF/JPC SUPPORT NXT INSTR AFTER JPC "J/FINI" .ENDIF/JPC SUPPORT .IFNOT/NXT.INSTR.BITES NXT INSTR AFTER AC1 "NXT INSTR" FINISH "NXT INSTR" ;USE INSTEAD OF NXT INSTR IF FM WRITE .IF/JPC SUPPORT NXT INSTR AFTER JPC "NXT INSTR" .ENDIF/JPC SUPPORT .ENDIF/NXT.INSTR.BITES SH DISP "SH/SHIFT AR!ARX,DISP/SH0-3" AR0-3 DISP "SH/AR,DISP/SH0-3" AR18-21 DISP "SH/AR SWAP,DISP/SH0-3" ARX0-3 DISP "SH/ARX,DISP/SH0-3" BYTE DISP "DISP/BYTE" SIGNS DISP "DISP/SIGNS" SR DISP "DISP/SR" PF DISP "DISP/PG FAIL" NORM "DISP/NORM" NORM AR "ADB/AR*4,AD/B,DISP/NORM" NORM -AR "ADA EN/0S,ADB/AR*4,AD/A-B,AR/AD*.25,ARX/ADX*.25,DISP/NORM" .TOC "MACROS -- I/O OPERATIONS ON EBUS" AR_EBUS "AR/EBUS,TIME/5T" IO INIT "COND/EBUS CTL,EBUS CTL/IO INIT" SET DATAO "COND/EBUS CTL,EBUS CTL/DATAO" SET DATAI "COND/EBUS CTL,EBUS CTL/DATAI,AD/0S,AR/AD" REQ EBUS "COND/EBUS CTL,EBUS CTL/REQ EBUS" REL EBUS "COND/EBUS CTL,EBUS CTL/REL EBUS" DROP EBUS REQ "COND/EBUS CTL,EBUS CTL/0" SKP -EBUS GRANT "SKIP/-EBUS GRANT" SKP -EBUS XFER "SKIP/-EBUS XFER" SET EBUS DEMAND "COND/EBUS CTL,EBUS CTL/EBUS DEMAND" CLR EBUS DEMAND "COND/EBUS CTL,EBUS CTL/EBUS NODEMAND" SKP IO LEGAL "SKIP/IO LEGAL" SKP PI CYCLE "SKIP/PI CYCLE" GET ECL EBUS "COND/EBUS CTL,EBUS CTL/GRAB EEBUS" REL ECL EBUS "COND/EBUS CTL,EBUS CTL/REL EEBUS" DIAG OUT "COND/DIAG FUNC,ADA/AR,AD/A" DIAG IN "COND/DIAG FUNC,AR/EBUS" AR_EBUS REG "DIAG IN,DIAG FUNC/RD EBUS REG" AR05_SCD ADDR BRK CYC "DIAG IN,DIAG FUNC/537" AR03-04_SCD TRAP CYC "DIAG IN,DIAG FUNC/530" DATAO APR "DIAG OUT,DIAG FUNC/DATAO APR" DATAI APR(L) "DIAG IN,DIAG FUNC/DATAI APR" CONO APR "DIAG OUT,DIAG FUNC/CONO APR" CONI APR(L) "DIAG IN,DIAG FUNC/CONI APR(L)" CONI APR(R) "DIAG IN,DIAG FUNC/CONI APR(R)" CONO PI "DIAG OUT,DIAG FUNC/CONO PI" CONI PI(L) "DIAG IN,DIAG FUNC/CONI PI(L)" CONI PI(R) "DIAG IN,DIAG FUNC/CONI PI(R)" CONI PI(PAR) "DIAG IN,DIAG FUNC/CONI PI(PAR)" DATAO PAG(L) "DIAG OUT,DIAG FUNC/DATAO PAG" DATAI PAG(L) "DIAG IN,DIAG FUNC/DATAI PAG(L)" CONO PAG "DIAG OUT,DIAG FUNC/CONO PAG" CONI PAG "DIAG IN,DIAG FUNC/CONI PAG" AR_SERIAL "AR/ARMM,COND/REG CTL,AR CTL/ARR LOAD" LD PREV CTXT "COND/DIAG FUNC,DIAG FUNC/LD PCS+CWSX,ADA/PC,AD/A" AR_TIME BASE "DIAG IN,DIAG FUNC/RD TIME" RD+CLR TB "SPEC/MTR CTL,AR_TIME BASE" AR_PERF CNT "DIAG IN,DIAG FUNC/RD PERF CNT" RD+CLR PA "SPEC/MTR CTL,AR_PERF CNT" AR_EBOX CNT "DIAG IN,DIAG FUNC/RD EBOX CNT" RD+CLR E CNT "SPEC/MTR CTL,AR_EBOX CNT" AR_CACHE CNT "DIAG IN,DIAG FUNC/RD CACHE CNT" RD+CLR C CNT "SPEC/MTR CTL,AR_CACHE CNT" AR_INTERVAL "DIAG IN,DIAG FUNC/RD INTRVL" AR_PERIOD "DIAG IN,DIAG FUNC/RD PERIOD" CONI MTR "DIAG IN,DIAG FUNC/CONI MTR" AR_MTR REQ "DIAG IN,DIAG FUNC/RD MTR REQ" CONO TIM "SPEC/MTR CTL,DIAG OUT,DIAG FUNC/CONO TIM" CONO MTR "SPEC/MTR CTL,DIAG OUT,DIAG FUNC/CONO MTR" BLKO TIM(L) "SPEC/MTR CTL,DIAG OUT,DIAG FUNC/LD PA LEFT" BLKO TIM(R) "SPEC/MTR CTL,DIAG OUT,DIAG FUNC/LD PA RIGHT" .TOC "MACROS -- MEMORY ACCESS" LOAD AR "MEM/LOAD AR" LOAD ARX "MEM/LOAD ARX" LOAD IR "COND/LOAD IR" LOAD AR VIA RPW "MEM/RPW" EXIT "DISP/DRAM B,MEM/B WRITE,J/ST0" EXIT DBL "MB WAIT,J/ST2AC" ;"I FETCH,J/DSTAC" WHEN TIMING FIXED STORE "MEM/WRITE" B WRITE "DISP/DRAM B,MEM/B WRITE" I FETCH "VMA/PC+1,MEM/FETCH,FETCH/UNCOND" REFETCH "VMA/PC,MEM/FETCH,FETCH/UNCOND" FETCH "MEM/FETCH,FETCH/UNCOND" FETCH+1 "COND/VMA INC,MEM/FETCH,FETCH/UNCOND" COMP FETCH "AD/XOR,VMA/PC+1,MEM/FETCH,FETCH/COMP" SKIP FETCH "ADA/AR,AD/A,VMA/PC+1,MEM/FETCH,FETCH/SKIP" JUMP FETCH "VMA/PC+1,MEM/FETCH,FETCH/JUMP" TEST FETCH "VMA/PC+1,MEM/FETCH,FETCH/TEST" JFCL FETCH "VMA/PC+1,MEM/FETCH,FETCH/JFCL" CMS FETCH "VMA/PC+1,MEM/FETCH,FETCH/SKIP" A READ "VMA/PC+1,DISP/DRAM A RD,MEM/A RD,#/0,J/0" A INDRCT "MEM/A IND,VMA/1" BYTE READ "MEM/BYTE RD" BYTE INDRCT "MEM/BYTE IND,VMA/1" MB WAIT "MEM/MB WAIT" FIN STORE "FMADR/VMA" ;FINISH STOREING FIN XFER "FMADR/VMA,ADB/FM,AD/B" ;FINISH XFER WHILE STARTING ANOTHER AR_MEM "MEM/MB WAIT,FMADR/VMA,ADB/FM,AD/B" ARX_MEM "MEM/MB WAIT,FMADR/VMA,ADB/FM,AD/B" MEM_AR "FMADR/VMA,MEM/MB WAIT" EPT REF "SPEC/SP MEM CYCLE,SP MEM/EPT" EPT FETCH "MEM/LOAD ARX,SPEC/SP MEM CYCLE,SP MEM/EPT FETCH" UPT REF "SPEC/SP MEM CYCLE,SP MEM/UPT" UPT FETCH "MEM/LOAD ARX,SPEC/SP MEM CYCLE,SP MEM/UPT FETCH" PT REF "SPEC/SP MEM CYCLE,SP MEM/PT" PT FETCH "MEM/LOAD ARX,SPEC/SP MEM CYCLE,SP MEM/PT FETCH" PHYS REF "SPEC/SP MEM CYCLE,SP MEM/UNPAGED" EXEC REF "SPEC/SP MEM CYCLE,SP MEM/EXEC" USER REF "SPEC/SP MEM CYCLE,SP MEM/USER" MAP "MEM/REG FUNC,MREG FNC/MAP" LOAD EBR "MEM/REG FUNC,MREG FNC/LOAD EBR" LOAD UBR "MEM/REG FUNC,MREG FNC/LOAD UBR" READ EBR "MEM/REG FUNC,MREG FNC/READ EBR" READ UBR "MEM/REG FUNC,MREG FNC/READ UBR" READ ERA "MEM/REG FUNC,MREG FNC/READ ERA" SWEEP CACHE "MEM/REG FUNC,MREG FNC/LOAD CCA" SBUS DIAG "MEM/REG FUNC,MREG FNC/SBUS DIAG" WR REFILL RAM "MEM/REG FUNC,MREG FNC/WR REFILL RAM" CLR PT LINE "COND/MBOX CTL,MBOX CTL/CLR PT LINE" WR PT ENTRY "COND/MBOX CTL,MBOX CTL/PT WR" PT SEL_INVAL "COND/MBOX CTL,MBOX CTL/PT DIR CLR" PT SEL_NORMAL "COND/MBOX CTL,MBOX CTL/NORMAL" .TOC "MACROS -- FLAG CONTROL" TRAP1 "COND/PCF_#,PC FLAGS/TRAP1" TRAP2 "COND/PCF_#,PC FLAGS/TRAP2" TRAP3 "COND/PCF_#,PC FLAGS/TRAP3" SET FPD "COND/PCF_#,PC FLAGS/FPD" CLR FPD "SPEC/CLR FPD" SET AROV "COND/PCF_#,PC FLAGS/AROV" SET NO DIVIDE "COND/PCF_#,PC FLAGS/DIV CHK" SET FLOV "COND/PCF_#,PC FLAGS/FLOV" SET FL NO DIV "COND/PCF_#,PC FLAGS/FDV CHK" EXP TEST "COND/REG CTL,EXP TST/AR_EXP" GEN CRY18 "SPEC/GEN CRY18" INH CRY18 "SPEC/INH CRY18" AD LONG "SPEC/AD LONG" AD FLAGS "COND/AD FLAGS" SET FLAGS_AR "SPEC/FLAG CTL,FLAG CTL/SET FLAGS" RSTR FLAGS_AR "SPEC/FLAG CTL,FLAG CTL/RSTR FLAGS" JFCL T "SPEC/FLAG CTL,FLAG CTL/JFCL" JFCL S "SPEC/FLAG CTL,FLAG CTL/JFCL+LD" DISMISS "SPEC/FLAG CTL,FLAG CTL/DISMISS" PORTAL "SPEC/FLAG CTL,FLAG CTL/PORTAL" HALT "SPEC/FLAG CTL,FLAG CTL/HALT" SET PI CYCLE "COND/SPEC INSTR,SPEC INSTR/SET PI CYCLE" SET PC+1 INH "COND/SPEC INSTR,SPEC INSTR/INH PC+1" CLR INTRPT INH "COND/SPEC INSTR,SPEC INSTR/0" TAKE INTRPT "SKIP/-MTR REQ,J/MTRINT" ABORT INSTR "COND/SPEC INSTR,SPEC INSTR/INSTR ABORT" SET SXCT "COND/SPEC INSTR,SPEC INSTR/SXCT" SET PXCT "COND/SPEC INSTR,SPEC INSTR/PXCT" SET HALTED "COND/SPEC INSTR,SPEC INSTR/HALTED" CONTINUE "COND/SPEC INSTR,SPEC INSTR/CONT" SET CONS XCT "COND/SPEC INSTR,SPEC INSTR/CONS XCT" SET IO PF "COND/MBOX CTL,MBOX CTL/SET IO PF ERR" #OPTIONS "Q400/Q,Q200/Q,Q100/Q,Q40/Q,Q20/Q,Q10/Q,Q4/Q,Q2/Q,Q1/Q" BAG-BITING NO-OP "FORCE AR-ARX" ;TO FIX GODDAMN TIMING SCREWS SET MTR PA EN "COND/EBOX STATE,#/225" CLR MTR PA EN "COND/EBOX STATE,#/025" CLR ACCOUNT EN "COND/EBOX STATE,#/145" SET ACCOUNT EN "COND/EBOX STATE,#/105" SET TRACKS EN "COND/EBOX STATE,#/131" CLR TRACKS EN "COND/EBOX STATE,#/121" SET TRK+PA EN "COND/EBOX STATE,#/231" CLR TRK+PA EN "COND/EBOX STATE,#/021" .TOC "MACROS -- STATE REGISTER CONTROL" SR_# "COND/SR_#" ;USED FOR NON-PAGE-FAIL APPLICATIONS SR_0 "COND/SR_#,#/0" SR_1 "COND/SR_#,#/1" SR_BLT(SRC) "COND/SR_#,#/607" ;CONTEXT CONTROLLED BY PXCT 2,1 SR_BLT(DST) "COND/SR_#,#/107" ; BY PXCT 10,4 .IF/EIS SR_ED(S) "COND/SR_#,#/1" SR_ED(+D) "COND/SR_#,#/24" .IF/DECIMAL SR_DB "COND/SR_#,#/2" ;D2B ANYWHERE SR_BDF "COND/SR_#,#/3" ;B2D STORING FILLERS SR_BDD "COND/SR_#,#/6" ;B2D AFTER UPDATING DST PTR SR_BDT "COND/SR_#,#/10" ;B2D IN TRANSLATION .ENDIF/DECIMAL SR_SRC "COND/SR_#,#/11" SR_DST "COND/SR_#,#/12" SR_SRC+DST "COND/SR_#,#/13" SR_DSTF "COND/SR_#,#/14" .ENDIF/EIS .IF/MAP SR_MAP "COND/SR_#,#/15" ;CATCH MAP PAGE FAILURES .ENDIF/MAP .IF/LISP SR_LIST "COND/SR_#,#/16" ;LISP LIST HACKERY .ENDIF/LISP SR_JRSTF "COND/SR_#,#/17" ;FOR JRSTF ABORT INSTR BUG SET SR1 "COND/SR_#,#/64" SET SR2 "COND/SR_#,#/62" SET SR3 "COND/SR_#,#/61" CLR SR2 "COND/SR_#,#/20" .TOC "DISPATCH RAM MACROS" .DCODE ;"A FIELD" MACROS ; DECODED TO TELL WHAT TO DO WITH EFFECTIVE ADDRESS ; AND WHETHER TO PREFETCH FROM PC+1 I "A/IMMED" I-PF "A/IMMED-PF" W "A/WR-TST" R "A/READ" R-PF "A/READ-PF" RW "A/RD-WR" .IF/RPW RPW "A/RD-P-WR" .IFNOT/RPW RPW "A/RD-WR" .ENDIF/RPW .IF/WRTST IW "A/WR-TST" .IFNOT/WRTST IW "A/IMMED" .ENDIF/WRTST ;"B FIELD" MACROS ; DECODED BY MOST INSTRUCTIONS TO TELL WHERE TO STORE RESULTS, ; BUT USED BY OTHERS TO HOLD VARIOUS "MODE" INFORMATION AC "B/AC" M "B/MEM" S "B/SELF" B "B/BOTH" DBL AC "B/DBL AC" DBL B "B/DBL BOTH" FL-AC "B1-2/AC" FL-MEM "B1-2/MEM" FL-BOTH "B1-2/BOTH" TN- "B0/CRY0(1),B1-2/0" TNE "B0/CRY0(0),B1-2/0" TNA "B0/CRY0(0),B1-2/0" TNN "B0/CRY0(1),B1-2/0" TZ- "B0/CRY0(1),B1-2/1" TZE "B0/CRY0(0),B1-2/1" TZA "B0/CRY0(0),B1-2/1" TZN "B0/CRY0(1),B1-2/1" TC- "B0/CRY0(1),B1-2/2" TCE "B0/CRY0(0),B1-2/2" TCA "B0/CRY0(0),B1-2/2" TCN "B0/CRY0(1),B1-2/2" TO- "B0/CRY0(1),B1-2/3" TOE "B0/CRY0(0),B1-2/3" TOA "B0/CRY0(0),B1-2/3" TON "B0/CRY0(1),B1-2/3" SJC- "B/SJC-" SJCL "B/SJCL" SJCE "B/SJCE" SJCLE "B/SJCLE" SJCA "B/SJCA" SJCGE "B/SJCGE" SJCN "B/SJCN" SJCG "B/SJCG" BLKI "B0/CRY0(0),B1-2/2" BLKO "B0/CRY0(0),B1-2/0" DATAI "B/6" DATAO "B/4" CONI "B/6" CONO "B/4" CONSO "B0/CRY0(1),B1-2/1" CONSZ "B0/CRY0(0),B1-2/1" .UCODE