case FET01: // 0 UPP = 01 | BUT; BUT = BUT0; // P1: RD = R[07]; BAMUX = RD; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case FET03: // 1 UPP = 04 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; IR = DMUX; R[013] = DMUX; break; case SER01: // 2 UPP = 015 | BUT; BUT = BUT26; // P2: // P3: break; case MOV21: // 3 UPP = 0204 | BUT; BUT = BUT27; // P2: BMUX = B_SXT; ALU = ALU_B(BMUX); D = ALU; break; case FET04: // 4 UPP = 05 | BUT; BUT = BUT37; // P2: RD = R[07]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; BUS_C = DATI; break; case FET05: // 5 UPP = 0100 | BUT; BUT = BUT0; // P1: DMUX = D; R[07] = DMUX; break; case SER04: // 6 UPP = 015 | BUT; BUT = BUT26; // P2: // P3: break; case TRP08: // 7 UPP = 0115 | BUT; BUT = BUT0; // P2: RD = R[014]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case TRP06: // 10 UPP = 0216 | BUT; BUT = BUT11; // P2: BMUX = BC_TRAPS; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = D; R[014] = DMUX; break; case CON01: // 11 UPP = 0255 | BUT; BUT = BUT0; // P2: RD = R[07]; BAMUX = RD; BA = BAMUX; // P3: break; case SER06: // 12 UPP = 020 | BUT; BUT = BUT0; // P1: CLKOFF; break; case FET00: // 13 UPP = 01 | BUT; BUT = BUT0; // P1: RD = R[07]; BAMUX = RD; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case SER09: // 14 UPP = 022 | BUT; BUT = BUT0; // P1: CLKOFF; break; case SER05: // 15 UPP = 010 | BUT; BUT = BUT0; // P1: break; case FET02: // 16 UPP = 01 | BUT; BUT = BUT0; // P1: RD = R[07]; CIN = 00; ALU = ALU_A(RD, CIN); BAMUX = ALU; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case SER02: // 17 UPP = 015 | BUT; BUT = BUT26; // P2: // P3: break; case SER07: // 20 UPP = 021 | BUT; BUT = BUT25; // P2: break; case SER08: // 21 UPP = 014 | BUT; BUT = BUT0; // P1: break; case SER10: // 22 UPP = 023 | BUT; BUT = BUT7; // P2: // P3: DMUX = UNIBUS_DATA; B = DMUX; R[014] = DMUX; break; case SER11: // 23 UPP = 06 | BUT; BUT = BUT0; // P1: break; case CON03: // 24 UPP = 026 | BUT; BUT = BUT0; // P2: RD = R[00]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; break; case RST01: // 25 UPP = 040 | BUT; BUT = BUT2; // P2: // P3: CLKOFF; break; case CON04: // 26 UPP = 046 | BUT; BUT = BUT6; // P2: // P3: break; case CON07: // 27 UPP = 044 | BUT; BUT = BUT0; // P2: BMUX = BC_SINCLK; ALU = ALU_B(BMUX); D = ALU; break; case CON05: // 30 UPP = 0315 | BUT; BUT = BUT0; // P2: // P3: break; case EXM06: // 31 UPP = 060 | BUT; BUT = BUT0; // P2: BMUX = 0177570; ALU = ALU_B(BMUX); D = ALU; BUS_C = DATI; CLKOFF; break; case STA00: // 32 UPP = 076 | BUT; BUT = BUT10; // P2: // P3: DMUX = D; R[07] = DMUX; break; case LAD03: // 33 UPP = 030 | BUT; BUT = BUT0; // P2: ALU = ALU_0(FAKE); D = ALU; break; case DEP00: // 34 UPP = 062 | BUT; BUT = BUT0; // P1: RD = R[017]; BAMUX = RD; BA = BAMUX; break; case EXM00: // 35 UPP = 053 | BUT; BUT = BUT0; // P1: RD = R[017]; BAMUX = RD; BA = BAMUX; break; case CNT00: // 36 UPP = 017 | BUT; BUT = BUT0; // P1: break; case LAD00: // 37 UPP = 051 | BUT; BUT = BUT0; // P2: BMUX = 0177570; ALU = ALU_B(BMUX); BAMUX = ALU; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case RST02: // 40 UPP = 042 | BUT; BUT = BUT0; // P1: break; case CON02: // 41 UPP = 024 | BUT; BUT = BUT0; // P2: // P3: CLKOFF; break; case RST04: // 42 UPP = 011 | BUT; BUT = BUT0; // P1: break; case RST03: // 43 UPP = 016 | BUT; BUT = BUT0; // P1: break; case CON08: // 44 UPP = 047 | BUT; BUT = BUT12; // P2: // P3: DMUX = D; R[015] = DMUX; break; case CON10: // 45 UPP = 050 | BUT; BUT = BUT30; // P2: // P3: break; case CON06: // 46 UPP = 026 | BUT; BUT = BUT0; // P1: break; case CON09: // 47 UPP = 044 | BUT; BUT = BUT0; // P2: RD = R[015]; BMUX = 01; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[015] = DMUX; break; case CON11: // 50 UPP = 030 | BUT; BUT = BUT0; // P2: RD = R[017]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; // P3: break; case LAD01: // 51 UPP = 052 | BUT; BUT = BUT5; // P2: // P3: DMUX = UNIBUS_DATA; R[017] = DMUX; break; case LAD02: // 52 UPP = 032 | BUT; BUT = BUT0; // P2: RD = R[017]; BAMUX = RD; CIN = 00; ALU = ALU_A(RD, CIN); BA = BAMUX; D = ALU; break; case EXM01: // 53 UPP = 054 | BUT; BUT = BUT4; // P2: // P3: break; case EXM02: // 54 UPP = 056 | BUT; BUT = BUT0; // P2: RD = R[017]; BMUX = BC_CONSINC; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; // P3: DMUX = D; R[017] = DMUX; break; case EXM05: // 55 UPP = 030 | BUT; BUT = BUT0; // P2: RD = R[BA]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; break; case EXM04: // 56 UPP = 055 | BUT; BUT = BUT4; // P2: // P3: break; case EXM03: // 57 UPP = 056 | BUT; BUT = BUT0; // P2: RD = R[017]; BMUX = BC_CONSINC; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; // P3: DMUX = D; R[017] = DMUX; break; case EXM07: // 60 UPP = 061 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; break; case EXM08: // 61 UPP = 030 | BUT; BUT = BUT0; // P2: BMUX = B; ALU = ALU_B(BMUX); D = ALU; break; case DEP01: // 62 UPP = 063 | BUT; BUT = BUT3; // P2: // P3: break; case DEP02: // 63 UPP = 064 | BUT; BUT = BUT0; // P2: RD = R[017]; BMUX = BC_CONSINC; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; // P3: DMUX = D; R[017] = DMUX; break; case DEP03: // 64 UPP = 065 | BUT; BUT = BUT0; // P2: RD = R[017]; BMUX = BC_CONSINC; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; // P3: DMUX = D; R[017] = DMUX; break; case DEP04: // 65 UPP = 066 | BUT; BUT = BUT0; // P2: BMUX = 0177570; ALU = ALU_B(BMUX); BAMUX = ALU; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case DEP05: // 66 UPP = 067 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; break; case DEP06: // 67 UPP = 070 | BUT; BUT = BUT0; // P1: RD = R[017]; BAMUX = RD; BA = BAMUX; break; case DEP07: // 70 UPP = 071 | BUT; BUT = BUT3; // P2: BMUX = B; ALU = ALU_B(BMUX); D = ALU; // P3: break; case DEP08: // 71 UPP = 072 | BUT; BUT = BUT0; // P1: break; case DEP09: // 72 UPP = 030 | BUT; BUT = BUT0; // P1: BUS_C = DATO; CLKOFF; break; case DEP10: // 73 UPP = 030 | BUT; BUT = BUT0; // P1: DMUX = D; R[BA] = DMUX; break; case DOP21: // 74 UPP = 0366 | BUT; BUT = BUT0; // P1: DMUX = D; B = DMUX; break; case SSL11: // 75 UPP = 0374 | BUT; BUT = BUT0; // P1: DMUX = D; B = DMUX; break; case STA01: // 76 UPP = 016 | BUT; BUT = BUT0; // P1: break; case TRP15: // 77 UPP = 0140 | BUT; BUT = BUT0; // P1: break; case FET07: // 100 UPP = 0126 | BUT; BUT = BUT0; // P1: break; case RTI00: // 101 UPP = 0320 | BUT; BUT = BUT0; // P2: RD = R[06]; BAMUX = RD; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[06] = DMUX; CLKOFF; break; case DOP02: // 102 UPP = 0364 | BUT; BUT = BUT31; // P1: RD = R[DF]; DMUX = RD; B = DMUX; break; case DOP00: // 103 UPP = 0363 | BUT; BUT = BUT0; // P1: RD = R[SF]; DMUX = RD; B = DMUX; break; case SSL02: // 104 UPP = 0373 | BUT; BUT = BUT31; // P2: RD = R[DF]; BMUX = B; ALU = ALU_IR(RD, BMUX); D = ALU; break; case SSL00: // 105 UPP = 0372 | BUT; BUT = BUT31; // P1: RD = R[DF]; DMUX = RD; B = DMUX; break; case RSR00: // 106 UPP = 0271 | BUT; BUT = BUT0; // P2: RD = R[DF]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; // P3: DMUX = SHIFT(COUT, D); B = DMUX; break; case RSR02: // 107 UPP = 0272 | BUT; BUT = BUT0; // P1: RD = R[DF]; DMUX = RD; B = DMUX; break; case NBR00: // 110 UPP = 0347 | BUT; BUT = BUT16; // P1: break; case BRA00: // 111 UPP = 0340 | BUT; BUT = BUT0; // P2: RD = R[07]; BMUX = B_SXT; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; break; case MRK00: // 112 UPP = 0353 | BUT; BUT = BUT0; // P2: RD = R[013]; BMUX = B; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; B = DMUX; break; case TRP12: // 113 UPP = 0330 | BUT; BUT = BUT0; // P1: break; case SER00: // 114 UPP = 015 | BUT; BUT = BUT26; // P2: // P3: break; case TRP09: // 115 UPP = 0326 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; R[010] = DMUX; break; case CCC00: // 116 UPP = 0350 | BUT; BUT = BUT0; // P2: RD = R[013]; BMUX = 017; ALU = ALU_A_AND_B(RD, BMUX); D = ALU; // P3: DMUX = D; B = DMUX; break; case SCC00: // 117 UPP = 0352 | BUT; BUT = BUT16; // P2: RD = R[013]; BMUX = 017; ALU = ALU_A_AND_B(RD, BMUX); D = ALU; // P3: DMUX = D; B = DMUX; break; case DOP15: // 120 UPP = 0371 | BUT; BUT = BUT31; // P1: RD = R[DF]; DMUX = RD; B = DMUX; break; case DOP13: // 121 UPP = 0370 | BUT; BUT = BUT0; // P1: RD = R[011]; DMUX = RD; B = DMUX; break; case CON00: // 122 UPP = 0255 | BUT; BUT = BUT0; // P2: RD = R[07]; BAMUX = RD; BA = BAMUX; // P3: break; case SER03: // 123 UPP = 015 | BUT; BUT = BUT26; // P2: // P3: break; case RTS00: // 124 UPP = 0323 | BUT; BUT = BUT0; // P2: RD = R[DF]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; break; case MOV22: // 125 UPP = 0375 | BUT; BUT = BUT16; // P2: // P3: CLKOFF; break; case TRP06: // 126 UPP = 07 | BUT; BUT = BUT0; // P2: BMUX = BC_TRAPS; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = D; R[014] = DMUX; break; case RST00: // 127 UPP = 025 | BUT; BUT = BUT0; // P2: RD = R[00]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; break; case SOB00: // 130 UPP = 0342 | BUT; BUT = BUT0; // P2: RD = R[SF]; CIN = 00; ALU = ALU_A_MINUS_1(RD, CIN); D = ALU; break; case SXT00: // 132 UPP = 0360 | BUT; BUT = BUT27; // P2: RD = 00; BMUX = B; ALU = ALU_IR(RD, BMUX); D = ALU; break; case SWB00: // 134 UPP = 0135 | BUT; BUT = BUT0; // P1: RD = R[DF]; DMUX = RD; B = DMUX; break; case SWB01: // 135 UPP = 0360 | BUT; BUT = BUT27; // P2: BMUX = B_SWAB; ALU = ALU_B(BMUX); D = ALU; break; case FET06: // 136 UPP = 0217 | BUT; BUT = BUT0; // P2: RD = R[07]; BMUX = 01; CIN = 00; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; // P3: DMUX = D; R[07] = DMUX; break; case SRC16: // 137 UPP = 0251 | BUT; BUT = BUT36; // P2: BMUX = B_HI; ALU = ALU_B(BMUX); D = ALU; break; case TRP16: // 140 UPP = 0332 | BUT; BUT = BUT4; // P1: break; case SRC00: // 141 UPP = 0247 | BUT; BUT = BUT0; // P1: RD = R[SF]; BAMUX = RD; BA = BAMUX; BUS_C = DATI; break; case SRC01: // 142 UPP = 0240 | BUT; BUT = BUT0; // P2: RD = R[SF]; BAMUX = RD; BMUX = BC_12; CIN = C_AUTOINC(SF); ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; BUS_C = DATI; break; case SRC04: // 143 UPP = 0245 | BUT; BUT = BUT0; // P2: RD = R[SF]; BAMUX = RD; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[SF] = DMUX; CLKOFF; break; case SRC02: // 144 UPP = 0240 | BUT; BUT = BUT0; // P2: RD = R[SF]; BMUX = BC_12; CIN = C_AUTODEC(SF); ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; BUS_C = DATI; break; case SRC05: // 145 UPP = 0245 | BUT; BUT = BUT0; // P2: RD = R[SF]; BMUX = 01; CIN = 00; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[SF] = DMUX; CLKOFF; break; case SRC06: // 146 UPP = 0241 | BUT; BUT = BUT0; // P2: RD = R[07]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[07] = DMUX; CLKOFF; break; case SRC09: // 147 UPP = 0243 | BUT; BUT = BUT0; // P2: RD = R[07]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[07] = DMUX; CLKOFF; break; case TRP07: // 150 UPP = 07 | BUT; BUT = BUT0; // P2: BMUX = BC_TRAPS; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = D; R[014] = DMUX; break; case JMP00: // 151 UPP = 0300 | BUT; BUT = BUT15; // P2: RD = R[DF]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; break; case JMP01: // 152 UPP = 0235 | BUT; BUT = BUT0; // P2: RD = R[DF]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[DF] = DMUX; break; case JMP05: // 153 UPP = 0303 | BUT; BUT = BUT15; // P2: RD = R[DF]; BAMUX = RD; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[DF] = DMUX; CLKOFF; break; case JMP03: // 154 UPP = 0300 | BUT; BUT = BUT15; // P2: RD = R[DF]; BMUX = 01; CIN = 00; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[DF] = DMUX; break; case JMP06: // 155 UPP = 0303 | BUT; BUT = BUT15; // P2: RD = R[DF]; BMUX = 01; CIN = 00; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[DF] = DMUX; CLKOFF; break; case JMP08: // 156 UPP = 0304 | BUT; BUT = BUT15; // P2: RD = R[07]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[07] = DMUX; CLKOFF; break; case JMP07: // 157 UPP = 0301 | BUT; BUT = BUT0; // P2: RD = R[07]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[07] = DMUX; CLKOFF; break; case MOV19: // 160 UPP = 0204 | BUT; BUT = BUT20; // P2: RD = R[011]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; break; case DST00: // 161 UPP = 0266 | BUT; BUT = BUT0; // P1: RD = R[DF]; BAMUX = RD; BA = BAMUX; BUS_C = DATIP & DATIP_MASK; break; case DST01: // 162 UPP = 0260 | BUT; BUT = BUT0; // P2: RD = R[DF]; BAMUX = RD; BMUX = BC_12; CIN = C_AUTOINC(DF); ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; BUS_C = DATIP & DATIP_MASK; break; case DST04: // 163 UPP = 0264 | BUT; BUT = BUT0; // P2: RD = R[DF]; BAMUX = RD; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[DF] = DMUX; CLKOFF; break; case DST02: // 164 UPP = 0260 | BUT; BUT = BUT0; // P2: RD = R[DF]; BMUX = BC_12; CIN = C_AUTODEC(DF); ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; BUS_C = DATIP & DATIP_MASK; break; case DST05: // 165 UPP = 0264 | BUT; BUT = BUT0; // P2: RD = R[DF]; BMUX = 01; CIN = 00; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[DF] = DMUX; CLKOFF; break; case DST07: // 166 UPP = 0261 | BUT; BUT = BUT17; // P2: RD = R[07]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[07] = DMUX; CLKOFF; break; case DST06: // 167 UPP = 0261 | BUT; BUT = BUT17; // P2: RD = R[07]; BAMUX = RD; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[07] = DMUX; CLKOFF; break; case MOV18: // 170 UPP = 0204 | BUT; BUT = BUT20; // P2: RD = R[SF]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; break; case MOV00: // 171 UPP = 0257 | BUT; BUT = BUT22; // P2: RD = R[DF]; BAMUX = RD; CIN = 00; ALU = ALU_A(RD, CIN); BA = BAMUX; D = ALU; break; case MOV01: // 172 UPP = 0257 | BUT; BUT = BUT22; // P2: RD = R[DF]; BAMUX = RD; BMUX = BC_12; CIN = C_AUTOINC(DF); ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; break; case MOV03: // 173 UPP = 0207 | BUT; BUT = BUT0; // P2: RD = R[DF]; BAMUX = RD; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[DF] = DMUX; CLKOFF; break; case MOV02: // 174 UPP = 0257 | BUT; BUT = BUT22; // P2: RD = R[DF]; BMUX = BC_12; CIN = C_AUTODEC(DF); ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; break; case MOV04: // 175 UPP = 0207 | BUT; BUT = BUT0; // P2: RD = R[DF]; BMUX = 01; CIN = 00; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[DF] = DMUX; CLKOFF; break; case MOV06: // 176 UPP = 0206 | BUT; BUT = BUT17; // P2: RD = R[07]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[07] = DMUX; CLKOFF; break; case MOV05: // 177 UPP = 0206 | BUT; BUT = BUT17; // P2: RD = R[07]; BAMUX = RD; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[07] = DMUX; CLKOFF; break; case MOV16: // 200 UPP = 0125 | BUT; BUT = BUT0; // P2: RD = R[011]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; BUS_C = DATO; break; case MOV17: // 201 UPP = 0125 | BUT; BUT = BUT0; // P2: RD = R[SF]; BMUX = MM_CONST; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; BUS_C = DATO; break; case MOV14: // 202 UPP = 0205 | BUT; BUT = BUT0; // P1: RD = R[011]; DMUX = RD; B = DMUX; break; case MOV13: // 203 UPP = 0205 | BUT; BUT = BUT0; // P1: RD = R[SF]; DMUX = RD; B = DMUX; break; case MOV20: // 204 UPP = 00 | BUT; BUT = BUT0; // P1: DMUX = D; B = DMUX; R[DF] = DMUX; break; case MOV15: // 205 UPP = 0125 | BUT; BUT = BUT0; // P2: BMUX = B_LO; ALU = ALU_B(BMUX); D = ALU; BUS_C = DATOB; // P3: DMUX = D; R[011] = DMUX; break; case MOV08: // 206 UPP = 0212 | BUT; BUT = BUT21; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[012] = DMUX; break; case MOV11: // 207 UPP = 0210 | BUT; BUT = BUT22; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[012] = DMUX; break; case MOV12: // 210 UPP = 0200 | BUT; BUT = BUT0; // P1: RD = R[012]; BAMUX = RD; BA = BAMUX; break; case SSL10: // 211 UPP = 0367 | BUT; BUT = BUT0; // P1: break; case MOV09: // 212 UPP = 0200 | BUT; BUT = BUT0; // P2: RD = R[DF]; BMUX = B; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; break; case MOV10: // 213 UPP = 0207 | BUT; BUT = BUT0; // P2: RD = R[DF]; BMUX = B; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case TRP05: // 214 UPP = 07 | BUT; BUT = BUT0; // P1: DMUX = D; R[014] = DMUX; break; case TRP02: // 215 UPP = 0115 | BUT; BUT = BUT0; // P2: RD = R[014]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case TRP04: // 216 UPP = 0214 | BUT; BUT = BUT0; // P2: BMUX = 0250; ALU = ALU_B(BMUX); D = ALU; break; case FET08: // 217 UPP = 0252 | BUT; BUT = BUT0; // P2: RD = 00; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; // P3: DMUX = RD; IR = DMUX; break; case SSL06: // 220 UPP = 0211 | BUT; BUT = BUT0; // P2: RD = R[012]; BMUX = B; ALU = ALU_IR(RD, BMUX); D = ALU; BUS_C = DATO | BYTE_INSTR; break; case SSL04: // 221 UPP = 0367 | BUT; BUT = BUT0; // P2: RD = 00; BMUX = B; CIN = 01; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); D = ALU; BUS_C = DATO | BYTE_INSTR; break; case SSL08: // 222 UPP = 0253 | BUT; BUT = BUT0; // P2: RD = R[012]; BMUX = B; ALU = ALU_IR(RD, BMUX); D = ALU; break; case SSL07: // 223 UPP = 0253 | BUT; BUT = BUT0; // P2: RD = 00; BMUX = B; CIN = 01; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); D = ALU; break; case DOP07: // 224 UPP = 0367 | BUT; BUT = BUT0; // P2: RD = R[SF]; BMUX = B; ALU = ALU_IR(RD, BMUX); D = ALU; BUS_C = DATO | BYTE_INSTR; break; case DOP08: // 225 UPP = 0367 | BUT; BUT = BUT0; // P2: RD = R[011]; BMUX = B; ALU = ALU_IR(RD, BMUX); D = ALU; BUS_C = DATO | BYTE_INSTR; break; case DOP04: // 226 UPP = 0365 | BUT; BUT = BUT0; // P1: RD = R[SF]; DMUX = RD; B = DMUX; break; case DOP05: // 227 UPP = 0365 | BUT; BUT = BUT0; // P1: RD = R[011]; DMUX = RD; B = DMUX; break; case DOP09: // 230 UPP = 0254 | BUT; BUT = BUT0; // P2: RD = R[SF]; BMUX = B; ALU = ALU_IR(RD, BMUX); D = ALU; break; case DOP10: // 231 UPP = 0254 | BUT; BUT = BUT0; // P2: RD = R[011]; BMUX = B; ALU = ALU_IR(RD, BMUX); D = ALU; break; case RSR06: // 232 UPP = 0275 | BUT; BUT = BUT0; // P2: BMUX = B; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = SHIFT(COUT, D); B = DMUX; break; case RSR08: // 233 UPP = 0276 | BUT; BUT = BUT0; // P2: BMUX = B_LO; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = SHIFT(COUT, D); B = DMUX; break; case SXT01: // 234 UPP = 0367 | BUT; BUT = BUT0; // P2: RD = 00; BMUX = B; ALU = ALU_IR(RD, BMUX); D = ALU; BUS_C = DATO; break; case JMP02: // 235 UPP = 0300 | BUT; BUT = BUT15; // P2: RD = R[DF]; BMUX = 01; CIN = 00; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); D = ALU; break; case SSL05: // 236 UPP = 0367 | BUT; BUT = BUT0; // P2: BMUX = B_SWAB; ALU = ALU_B(BMUX); D = ALU; BUS_C = DATO; break; case DST16: // 237 UPP = 0270 | BUT; BUT = BUT34; // P2: BMUX = B_HI; ALU = ALU_B(BMUX); D = ALU; break; case SRC03: // 240 UPP = 0250 | BUT; BUT = BUT35; // P1: DMUX = D; R[SF] = DMUX; CLKOFF; break; case SRC07: // 241 UPP = 0242 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[011] = DMUX; break; case SRC08: // 242 UPP = 0247 | BUT; BUT = BUT0; // P2: RD = R[SF]; BMUX = B; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; BUS_C = DATI; break; case SRC10: // 243 UPP = 0244 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[011] = DMUX; break; case SRC11: // 244 UPP = 0245 | BUT; BUT = BUT0; // P2: RD = R[SF]; BMUX = B; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case SRC12: // 245 UPP = 0246 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[011] = DMUX; break; case SRC13: // 246 UPP = 0247 | BUT; BUT = BUT0; // P1: RD = R[011]; BAMUX = RD; BA = BAMUX; BUS_C = DATI; break; case SRC14: // 247 UPP = 0250 | BUT; BUT = BUT35; // P1: break; case SRC15: // 250 UPP = 0120 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[011] = DMUX; break; case SRC17: // 251 UPP = 0120 | BUT; BUT = BUT0; // P1: DMUX = D; B = DMUX; R[011] = DMUX; break; case FET09: // 252 UPP = 04 | BUT; BUT = BUT0; // P1: DMUX = D; B = DMUX; R[013] = DMUX; break; case SSL12: // 253 UPP = 075 | BUT; BUT = BUT0; // P1: break; case DOP22: // 254 UPP = 074 | BUT; BUT = BUT0; // P1: break; case CON12: // 255 UPP = 041 | BUT; BUT = BUT24; // P2: RD = 00; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; // P3: break; case MOV07: // 257 UPP = 0200 | BUT; BUT = BUT0; // P1: DMUX = D; R[DF] = DMUX; break; case DST03: // 260 UPP = 0267 | BUT; BUT = BUT33; // P1: DMUX = D; R[DF] = DMUX; CLKOFF; break; case DST09: // 261 UPP = 0262 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[012] = DMUX; break; case DST10: // 262 UPP = 0266 | BUT; BUT = BUT0; // P2: RD = R[DF]; BMUX = B; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; BUS_C = DATIP & DATIP_MASK; break; case DST11: // 263 UPP = 0264 | BUT; BUT = BUT0; // P2: RD = R[DF]; BMUX = B; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case DST12: // 264 UPP = 0265 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[012] = DMUX; break; case DST13: // 265 UPP = 0266 | BUT; BUT = BUT0; // P1: RD = R[012]; BAMUX = RD; BA = BAMUX; BUS_C = DATIP & DATIP_MASK; break; case DST14: // 266 UPP = 0267 | BUT; BUT = BUT33; // P1: CLKOFF; break; case DST15: // 267 UPP = 0220 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[012] = DMUX; break; case DST17: // 270 UPP = 0220 | BUT; BUT = BUT0; // P1: DMUX = D; B = DMUX; R[012] = DMUX; break; case RSR01: // 271 UPP = 0274 | BUT; BUT = BUT27; // P2: BMUX = B; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = D; R[DF] = DMUX; break; case RSR03: // 272 UPP = 0273 | BUT; BUT = BUT0; // P2: BMUX = B_LO; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = SHIFT(COUT, D); B = DMUX; break; case RSR04: // 273 UPP = 0274 | BUT; BUT = BUT27; // P2: BMUX = B_HI; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = D; SETLOW(R[DF],DMUX); break; case RSR05: // 274 UPP = 00 | BUT; BUT = BUT0; // P1: break; case RSR07: // 275 UPP = 0277 | BUT; BUT = BUT0; // P2: BMUX = B; ALU = ALU_B(BMUX); D = ALU; BUS_C = DATO; break; case RSR09: // 276 UPP = 0277 | BUT; BUT = BUT0; // P2: BMUX = B_HI; ALU = ALU_B(BMUX); D = ALU; BUS_C = DATOB; break; case RSR10: // 277 UPP = 0376 | BUT; BUT = BUT16; // P1: CLKOFF; break; case JMP04: // 300 UPP = 0306 | BUT; BUT = BUT0; // P1: DMUX = D; B = DMUX; R[010] = DMUX; break; case JMP09: // 301 UPP = 0302 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[010] = DMUX; break; case JMP10: // 302 UPP = 0303 | BUT; BUT = BUT15; // P2: RD = R[DF]; BMUX = B; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; BUS_C = DATI; CLKOFF; break; case JMP11: // 303 UPP = 0306 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[010] = DMUX; break; case JMP14: // 304 UPP = 0305 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; B = DMUX; R[010] = DMUX; break; case JMP15: // 305 UPP = 0300 | BUT; BUT = BUT15; // P2: RD = R[DF]; BMUX = B; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; break; case JMP12: // 306 UPP = 0313 | BUT; BUT = BUT16; // P2: RD = R[010]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; break; case JSR00: // 307 UPP = 0310 | BUT; BUT = BUT0; // P2: RD = R[06]; BMUX = 01; CIN = 00; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; // P3: DMUX = D; R[06] = DMUX; break; case JSR01: // 310 UPP = 0311 | BUT; BUT = BUT0; // P2: RD = R[SF]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; BUS_C = DATO; CLKOFF; break; case JSR02: // 311 UPP = 0312 | BUT; BUT = BUT0; // P1: RD = R[07]; DMUX = RD; B = DMUX; break; case JSR03: // 312 UPP = 0306 | BUT; BUT = BUT0; // P2: BMUX = B; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = D; R[SF] = DMUX; break; case JMP13: // 313 UPP = 016 | BUT; BUT = BUT0; // P1: DMUX = D; R[07] = DMUX; break; case CON13: // 315 UPP = 046 | BUT; BUT = BUT6; // P1: break; case TRP01: // 317 UPP = 0215 | BUT; BUT = BUT0; // P2: BMUX = BC_TRAPS; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = D; R[014] = DMUX; break; case RTI01: // 320 UPP = 0321 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; R[07] = DMUX; break; case RTI02: // 321 UPP = 0322 | BUT; BUT = BUT0; // P2: RD = R[06]; BAMUX = RD; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[06] = DMUX; CLKOFF; break; case RTI03: // 322 UPP = 017 | BUT; BUT = BUT0; // P1: break; case RTS01: // 323 UPP = 0324 | BUT; BUT = BUT0; // P1: DMUX = D; R[07] = DMUX; break; case RTS02: // 324 UPP = 0325 | BUT; BUT = BUT16; // P2: RD = R[06]; BAMUX = RD; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[06] = DMUX; CLKOFF; break; case RTS03: // 325 UPP = 016 | BUT; BUT = BUT0; // P1: DMUX = UNIBUS_DATA; R[DF] = DMUX; break; case TRP10: // 326 UPP = 0327 | BUT; BUT = BUT0; // P2: RD = R[06]; BMUX = 01; CIN = 00; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; // P3: DMUX = D; R[06] = DMUX; break; case TRP11: // 327 UPP = 0113 | BUT; BUT = BUT0; // P2: RD = 00; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; BUS_C = DATO; CLKOFF; break; case TRP13: // 330 UPP = 0331 | BUT; BUT = BUT0; // P2: RD = R[06]; BMUX = 01; CIN = 00; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; // P3: DMUX = D; R[06] = DMUX; break; case TRP14: // 331 UPP = 077 | BUT; BUT = BUT0; // P2: RD = R[07]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; BUS_C = DATO; CLKOFF; break; case TRP20: // 332 UPP = 0333 | BUT; BUT = BUT1; // P1: RD = R[014]; BAMUX = RD; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case TRP21: // 333 UPP = 0122 | BUT; BUT = BUT3; // P1: DMUX = UNIBUS_DATA; R[07] = DMUX; break; case TRP18: // 334 UPP = 0335 | BUT; BUT = BUT0; // P2: RD = R[014]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; BUS_C = DATI; CLKOFF; break; case TRP19: // 335 UPP = 0332 | BUT; BUT = BUT0; // P1: break; case TRP00: // 336 UPP = 0317 | BUT; BUT = BUT0; // P2: BMUX = 04; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = D; R[06] = DMUX; break; case TRP17: // 337 UPP = 0334 | BUT; BUT = BUT0; // P2: BMUX = BC_PWR_UP; ALU = ALU_B(BMUX); D = ALU; // P3: DMUX = D; R[014] = DMUX; break; case BRA01: // 340 UPP = 0341 | BUT; BUT = BUT16; // P1: DMUX = D; R[07] = DMUX; break; case BRA02: // 341 UPP = 016 | BUT; BUT = BUT0; // P2: RD = R[07]; BMUX = B_SXT; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[07] = DMUX; break; case SOB01: // 342 UPP = 0343 | BUT; BUT = BUT12; // P1: DMUX = D; R[SF] = DMUX; break; case SOB02: // 343 UPP = 0344 | BUT; BUT = BUT0; // P2: RD = R[013]; BMUX = 077; ALU = ALU_A_AND_B(RD, BMUX); D = ALU; // P3: DMUX = D; B = DMUX; break; case SOB03: // 344 UPP = 0346 | BUT; BUT = BUT16; // P2: RD = R[07]; BMUX = B; CIN = 01; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[07] = DMUX; break; case SOB05: // 345 UPP = 0347 | BUT; BUT = BUT16; // P1: break; case SOB04: // 346 UPP = 016 | BUT; BUT = BUT0; // P2: RD = R[07]; BMUX = B; CIN = 01; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); D = ALU; // P3: DMUX = D; R[07] = DMUX; break; case SOB06: // 347 UPP = 016 | BUT; BUT = BUT0; // P1: break; case CCC01: // 350 UPP = 0351 | BUT; BUT = BUT16; // P2: BMUX = B; ALU = ALU_NOT_B(BMUX); D = ALU; // P3: DMUX = D; B = DMUX; break; case CCC02: // 351 UPP = 016 | BUT; BUT = BUT0; // P2: RD = 00; BMUX = B; ALU = ALU_A_AND_B(RD, BMUX); D = ALU; // P3: break; case SCC01: // 352 UPP = 016 | BUT; BUT = BUT0; // P2: RD = 00; BMUX = B; ALU = ALU_A_OR_B(RD, BMUX); D = ALU; // P3: break; case MRK01: // 356 UPP = 0354 | BUT; BUT = BUT0; // P2: RD = R[07]; BMUX = B_SXT; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); BAMUX = ALU; BA = BAMUX; D = ALU; BUS_C = DATI; // P3: DMUX = D; R[07] = DMUX; break; case MRK02: // 354 UPP = 0355 | BUT; BUT = BUT0; // P2: RD = R[07]; BMUX = 02; CIN = 00; ALU = ALU_A_PLUS_B(RD, BMUX, CIN); D = ALU; break; case MRK03: // 355 UPP = 0356 | BUT; BUT = BUT0; // P1: DMUX = D; R[06] = DMUX; CLKOFF; break; case MRK04: // 356 UPP = 0357 | BUT; BUT = BUT16; // P2: RD = R[05]; CIN = 00; ALU = ALU_A(RD, CIN); D = ALU; // P3: DMUX = UNIBUS_DATA; R[05] = DMUX; break; case MRK05: // 357 UPP = 016 | BUT; BUT = BUT0; // P1: DMUX = D; R[07] = DMUX; break; case DOP19: // 360 UPP = 00 | BUT; BUT = BUT0; // P1: DMUX = D; R[DF] = DMUX; break; case DOP18: // 361 UPP = 00 | BUT; BUT = BUT0; // P1: DMUX = D; SETLOW(R[DF],DMUX); break; case DOP17: // 362 UPP = 00 | BUT; BUT = BUT0; // P1: break; case DOP01: // 363 UPP = 0360 | BUT; BUT = BUT27; // P2: RD = R[DF]; BMUX = B; CIN = 01; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); D = ALU; break; case DOP03: // 364 UPP = 0360 | BUT; BUT = BUT27; // P2: RD = R[SF]; BMUX = B; ALU = ALU_IR(RD, BMUX); D = ALU; break; case DOP06: // 365 UPP = 0367 | BUT; BUT = BUT0; // P2: RD = R[012]; BMUX = B; CIN = 01; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); D = ALU; BUS_C = DATO; break; case DOP11: // 366 UPP = 0375 | BUT; BUT = BUT16; // P2: BMUX = B_LO; ALU = ALU_B(BMUX); D = ALU; BUS_C = DATOB; CLKOFF; break; case DOP12: // 367 UPP = 0375 | BUT; BUT = BUT16; // P1: CLKOFF; break; case DOP14: // 370 UPP = 0360 | BUT; BUT = BUT27; // P2: RD = R[DF]; BMUX = B; CIN = 01; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); D = ALU; break; case DOP16: // 371 UPP = 0360 | BUT; BUT = BUT27; // P2: RD = R[011]; BMUX = B; ALU = ALU_IR(RD, BMUX); D = ALU; break; case SSL01: // 372 UPP = 0360 | BUT; BUT = BUT27; // P2: RD = 00; BMUX = B; CIN = 01; ALU = ALU_A_MINUS_B_MINUS_1(RD, BMUX, CIN); D = ALU; break; case SSL03: // 373 UPP = 0360 | BUT; BUT = BUT27; // P1: break; case SSL09: // 374 UPP = 0375 | BUT; BUT = BUT16; // P2: BMUX = B_LO; ALU = ALU_B(BMUX); D = ALU; BUS_C = DATOB; CLKOFF; break; case DOP20: // 375 UPP = 016 | BUT; BUT = BUT0; // P1: break; case RSR11: // 376 UPP = 016 | BUT; BUT = BUT0; // P1: break;