Microprocessor Microcode Simple Example

Let's consider a very simple processor, which has an addressable memory, an accumulator register, a program counter register, and the following instructions: store addr, load addr, add addr, sub addr, jmp addr, jeq addr.

The program counter register contains the address of the next instruction in memory to be executed. At each cycle, the processor copies the instruction from the memory at the address indicated by the program counter register, increment the program counter register, and interprets the instruction:

To represent these instructions in a binary memory we may structure them in a memory word as follow: each word has 3 bits for the operation code, and 5 bits for the address, for a total of 8 bits. We define the following operation codes:

Since we have 5-bit addresses, we can address a memory of 32 words (it's a small memory, but it'll be enough for this simple example).

The processor uses buses to copy data from one register to another (memory is an array of registers).

Here is a diagram of the processor components. The thick lines are buses (set of lines transmitting data or addresses), while the thin lines are control lines that allows commanding the various components.

The microcode memory contains a microprogram, which implements the instructions of the processors, by commanding the various components. The processor is therefore not implemented in a monolithic way with electronics, but as a microprogram interpreting those instructions, using the simplier operations. Instead of adding an accumulator with data from the memory, we have signals to command gates copying data from registers to buses or to buses to registers, or to activate the various components of the ALU (Arithmetic & Logic Unit).

The microprogram instructions need to contain only an number to select the a signal, a state indicating whether to set or reset that signal, and the address of the following micro-instruction.

An alternative representation is to have one bit per signal in the micro-instruction. This takes more memory for the micro-code, but it has the advantage of being able to drive components in parallel, for a faster processor. In this simple example, this would mean using 17 bit instead of 5+1 for the microcode, beside the next address.


    cycle:
        cycle←0     -- start of cycle
        p.reada←1   -- puts the PC onto the address bus
        m.read←1    -- read the memory 
        i.write←1   -- store it in the instruction register
        i.write←0   -- release the bus
        p.incr←1    -- increment pc
        m.read←0    -- release the bus
        p.reada←0
        p.incr←0
        decode←1

    store addr
        decode←0
        i.reada←1    -- puts the address on the address bus.
        r.read←1    -- puts the value from the accumulator on the data bus.
        m.write←1   -- stores the value on the data bus into the memory at the address on the address bus.
        m.write←0   -- release the buses.
        r.read←0
        i.reada←0
        cycle←1

    load addr
        decode←0
        i.reada←1    -- puts the address on the address bus.
        m.read←1    -- puts the value from the memory at the address on the address bus, onto the data bus.
        r.write←1   -- stores the value on the data bus into the accumulator.
        r.write←0   -- release the buses.
        m.read←0
        i.reada←0
        cycle←1

    add addr:
        decode←0
        i.reada←1    -- puts the address on the address bus.
        m.read←1    -- puts the value from the memory at the address on the address bus, onto the data bus.
        a.write2←1  -- stores the value on the data bus into the second argument of the ALU
        a.write2←0  -- release the buses.
        m.read←0    
        i.reada←0
        r.read←1    -- puts the value from the accumulator on the data bus
        a.write1←1  -- stores the value on the data bus into the first argument of the ALU
        a.write2←0  -- release the buses.
        r.read←0 
        a.add←1     -- adds
        a.read←1    -- puts the result on the data bus
        r.write←1   -- store the value on the data bus into the accumulator
        r.write←0   -- release the buses
        a.add←0
        a.read←0
        cycle←1

    sub addr: is similar to add addr, with a.sub instead of a.add.
        decode←0
        i.reada←1    -- puts the address on the address bus.
        m.read←1    -- puts the value from the memory at the address on the address bus, onto the data bus.
        a.write2←1  -- stores the value on the data bus into the second argument of the ALU
        a.write2←0  -- release the buses.
        m.read←0    
        i.reada←0
        r.read←1    -- puts the value from the accumulator on the data bus
        a.write1←1  -- stores the value on the data bus into the first argument of the ALU
        a.write2←0  -- release the buses.
        r.read←0 
        a.sub←1     -- subtracts
        a.read←1    -- puts the result on the data bus
        r.write←1   -- store the value on the data bus into the accumulator
        r.write←0   -- release the buses
        a.sub←0
        a.read←0
        cycle←1

    jmp addr:
        decode←0
        i.read←1    -- puts the address in the instruction onto the data bus
        p.write←1   -- store the address in the pc register
        p.write←0   -- release the buses
        i.read←0
        cycle←1
    

We see from the above that we have 68 microcode steps, so we'll use a 128-microcode step memory. Each microcode step must designate one amongst the seventeen following signals: a.add, a.read, a.sub, a.write1, a.write2, i.read, i.reada, i.write, m.read, m.write, p.incr, p.reada, p.write, r.read and r.write, plus the decode and the cycle signals, and one state (0 or 1) to set that signal. We will also store the microcode address of the next microcode instruction in each instruction, to avoid the need for a microcode program counter. So we need 5 bits for the signals, and one bit for the state, and 7 bits for the next microcode instruction address, 13 bits in total.

So if we use this encoding:

        00000 a.add
        00001 a.read
        00010 a.sub
        00011 a.write1
        00100 a.write2
        00101 i.read
        00110 i.reada
        00111 i.write
        01000 m.read
        01001 m.write
        01010 p.incr
        01011 p.reada
        01100 p.write
        01101 r.read
        01110 r.write
        01111 decode
        10000 cycle
        11111 s.halt
      

we can store the cycle microprogram as:

        cycle:
        0: 10000 0 0000001
        1: 01011 1 0000010
        2: 01000 1 0000011
        3: 00111 1 0000100
        4: 00111 0 0000101
        5: 01010 1 0000110
        6: 01000 0 0000111
        7: 01011 0 0001000
        8: 01010 0 0001001
        9: 01111 1 0001010
        store-addr:
        10: 01111 0 0001011
        11: 00110 1 0001100
        12: 01101 1 0001101
        13: 01001 1 0001110
        14: 01001 0 0001111
        15: 01101 0 0010000
        16: 00110 0 0010001
        17: 10000 1 0010010
        ---  ----- - -------
        ^     ^   ^    ^
        |     |   |    |
        |     |   |    +--- next microcode instruction address (mcaddr)
        |     |   +-------- state
        |     +------------ signal
        +------------------ address
        etc.
      

Now, each instruction microcode starts at a different address in the microcode program:

Also, notice that we don't have a microprogram for jeq-addr, since it is actually the same as jmp-addr, but on the condition that the accumulator be zero (this is detected directly by a and gate on all the bits of the accumulator).

The instruction decoder/sequencer circuitry will therefore map the opcode bits, the zero flag, the cycle and decode signals, and the mcaddr from the microcode to the next address in the microcode memory:

  cycle                                                  --> 0000000 =  0
  ¬cycle ∧ decode ∧ ¬op2 ∧ ¬op1 ∧ ¬op0                   --> 0001010 = 10
  ¬cycle ∧ decode ∧ ¬op2 ∧ ¬op1 ∧  op0                   --> 0010010 = 18
  ¬cycle ∧ decode ∧ ¬op2 ∧  op1 ∧ ¬op0                   --> 0011010 = 26
  ¬cycle ∧ decode ∧ ¬op2 ∧  op1 ∧  op0                   --> 0101100 = 44
  ¬cycle ∧ decode ∧  op2 ∧ ¬op1 ∧ (¬op0 ∨ (op0 ∧ zero))  --> 0111110 = 62
  ¬cycle ∧ ¬decode                                        --> mcaddr

When the processor is powered on, all the signals and registers are set to 0, and the cycle signal is set to 1 to start the processor.

Since cycle=1, the decoder/sequencer will output the address 0000000 to the microcode memory, which will send to the state to the given signal thru the signal demultiplexer, and the address of the next microcode instruction to the decoder/sequencer.

Since this first instruction is to set cycle to 0, now we have both cycle and decode reset to 0, so the decoder/sequencer sends back the mcaddr (which is now 1) to the microcode memory, which then outputs the second instruction.

This second instruction p.reada←1 makes the PC register copy the PC (0) to the address bus to fetch the first instruction. Etc.

This microcoded microprocessor can be implemented in electronic hardware easily enough (it could be build by hand with discrete components).

Since hardware cannot be transmitted thru the Internet yet, I've instead written an implementation as a virtual machine in Common Lisp. microcode.lisp Here is an example of running it to compute the gcd of 70 and 77:

    microprocessor> (lap '(gcd ;; compute the gcd of a and b; result in a and in b
                                (jmp start)
                                a (data 70)
                                b (data 77)
                                start
                                (load a)
                                (sub b)
                                (jeq end)
                                (jlt suba) ;; a<b
                                ;; a>b a:=a-b
                                (store a)
                                (jmp start)
                                suba
                                ;; a<b b:=b-a
                                (load b)
                                (sub a)
                                (store b)
                                (jmp start)
                                end
                                (halt 0)))
    (131 70 77 33 98 173 201 1 131 34 97 2 131 224)
    ((gcd . 0) (a . 1) (b . 2) (start . 3) (suba . 9) (end . 13))
    14
    microprocessor> (run (lap '(gcd ;; compute the gcd of a and b; result in a and in b
                                   (jmp start)
                                   a (data 70)
                                   b (data 77)
                                   start
                                   (load a)
                                   (sub b)
                                   (jeq end)
                                   (jlt suba) ;; a<b
                                   ;; a>b a:=a-b
                                   (store a)
                                   (jmp start)
                                   suba
                                   ;; a<b b:=b-a
                                   (load b)
                                   (sub a)
                                   (store b)
                                   (jmp start)
                                   end
                                   (halt 0)))
                                   :print-microprogram t
                                   :trace t)
    cycle:
    0: 10000 0 0000001
    1: 01011 1 0000010
    2: 01000 1 0000011
    3: 00111 1 0000100
    4: 00111 0 0000101
    5: 01010 1 0000110
    6: 01000 0 0000111
    7: 01011 0 0001000
    8: 01010 0 0001001
    9: 01111 1 0001010
    store:
    10: 01111 0 0001011
    11: 00110 1 0001100
    12: 01101 1 0001101
    13: 01001 1 0001110
    14: 01001 0 0001111
    15: 01101 0 0010000
    16: 00110 0 0010001
    17: 10000 1 0010010
    load:
    18: 01111 0 0010011
    19: 00110 1 0010100
    20: 01000 1 0010101
    21: 01110 1 0010110
    22: 01110 0 0010111
    23: 01000 0 0011000
    24: 00110 0 0011001
    25: 10000 1 0011010
    add:
    26: 01111 0 0011011
    27: 00110 1 0011100
    28: 01000 1 0011101
    29: 00100 1 0011110
    30: 00100 0 0011111
    31: 01000 0 0100000
    32: 00110 0 0100001
    33: 01101 1 0100010
    34: 00011 1 0100011
    35: 00100 0 0100100
    36: 01101 0 0100101
    37: 00000 1 0100110
    38: 00001 1 0100111
    39: 01110 1 0101000
    40: 01110 0 0101001
    41: 00000 0 0101010
    42: 00001 0 0101011
    43: 10000 1 0101100
    sub:
    44: 01111 0 0101101
    45: 00110 1 0101110
    46: 01000 1 0101111
    47: 00100 1 0110000
    48: 00100 0 0110001
    49: 01000 0 0110010
    50: 00110 0 0110011
    51: 01101 1 0110100
    52: 00011 1 0110101
    53: 00100 0 0110110
    54: 01101 0 0110111
    55: 00010 1 0111000
    56: 00001 1 0111001
    57: 01110 1 0111010
    58: 01110 0 0111011
    59: 00010 0 0111100
    60: 00001 0 0111101
    61: 10000 1 0111110
    jmp:
    62: 01111 0 0111111
    63: 00101 1 1000000
    64: 01100 1 1000001
    65: 01100 0 1000010
    66: 00101 0 1000011
    67: 10000 1 1000100
    halt:
    68: 01111 0 1000101
    69: 11111 1 1000110
    70: 10000 1 1000111
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=1
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=4
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=70
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=5
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=249
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=6
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=7
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=10
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=77
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=11
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=7
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=12
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  10: decode   ← 0, next: 11
    µ-code  11: i.reada  ← 1, next: 12
    µ-code  12: r.read   ← 1, next: 13
    µ-code  13: m.write  ← 1, next: 14
    [2]<-7
    µ-code  14: m.write  ← 0, next: 15
    µ-code  15: r.read   ← 0, next: 16
    µ-code  16: i.reada  ← 0, next: 17
    µ-code  17: cycle    ← 1, next: 18
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=13
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=4
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=70
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=5
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=63
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=6
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=7
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=8
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  10: decode   ← 0, next: 11
    µ-code  11: i.reada  ← 1, next: 12
    µ-code  12: r.read   ← 1, next: 13
    µ-code  13: m.write  ← 1, next: 14
    [1]<-63
    µ-code  14: m.write  ← 0, next: 15
    µ-code  15: r.read   ← 0, next: 16
    µ-code  16: i.reada  ← 0, next: 17
    µ-code  17: cycle    ← 1, next: 18
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=9
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=4
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=63
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=5
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=56
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=6
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=7
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=8
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  10: decode   ← 0, next: 11
    µ-code  11: i.reada  ← 1, next: 12
    µ-code  12: r.read   ← 1, next: 13
    µ-code  13: m.write  ← 1, next: 14
    [1]<-56
    µ-code  14: m.write  ← 0, next: 15
    µ-code  15: r.read   ← 0, next: 16
    µ-code  16: i.reada  ← 0, next: 17
    µ-code  17: cycle    ← 1, next: 18
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=9
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=4
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=56
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=5
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=49
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=6
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=7
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=8
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  10: decode   ← 0, next: 11
    µ-code  11: i.reada  ← 1, next: 12
    µ-code  12: r.read   ← 1, next: 13
    µ-code  13: m.write  ← 1, next: 14
    [1]<-49
    µ-code  14: m.write  ← 0, next: 15
    µ-code  15: r.read   ← 0, next: 16
    µ-code  16: i.reada  ← 0, next: 17
    µ-code  17: cycle    ← 1, next: 18
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=9
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=4
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=49
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=5
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=42
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=6
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=7
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=8
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  10: decode   ← 0, next: 11
    µ-code  11: i.reada  ← 1, next: 12
    µ-code  12: r.read   ← 1, next: 13
    µ-code  13: m.write  ← 1, next: 14
    [1]<-42
    µ-code  14: m.write  ← 0, next: 15
    µ-code  15: r.read   ← 0, next: 16
    µ-code  16: i.reada  ← 0, next: 17
    µ-code  17: cycle    ← 1, next: 18
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=9
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=4
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=42
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=5
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=35
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=6
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=7
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=8
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  10: decode   ← 0, next: 11
    µ-code  11: i.reada  ← 1, next: 12
    µ-code  12: r.read   ← 1, next: 13
    µ-code  13: m.write  ← 1, next: 14
    [1]<-35
    µ-code  14: m.write  ← 0, next: 15
    µ-code  15: r.read   ← 0, next: 16
    µ-code  16: i.reada  ← 0, next: 17
    µ-code  17: cycle    ← 1, next: 18
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=9
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=4
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=35
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=5
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=28
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=6
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=7
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=8
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  10: decode   ← 0, next: 11
    µ-code  11: i.reada  ← 1, next: 12
    µ-code  12: r.read   ← 1, next: 13
    µ-code  13: m.write  ← 1, next: 14
    [1]<-28
    µ-code  14: m.write  ← 0, next: 15
    µ-code  15: r.read   ← 0, next: 16
    µ-code  16: i.reada  ← 0, next: 17
    µ-code  17: cycle    ← 1, next: 18
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=9
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=4
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=28
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=5
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=21
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=6
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=7
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=8
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  10: decode   ← 0, next: 11
    µ-code  11: i.reada  ← 1, next: 12
    µ-code  12: r.read   ← 1, next: 13
    µ-code  13: m.write  ← 1, next: 14
    [1]<-21
    µ-code  14: m.write  ← 0, next: 15
    µ-code  15: r.read   ← 0, next: 16
    µ-code  16: i.reada  ← 0, next: 17
    µ-code  17: cycle    ← 1, next: 18
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=9
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=4
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=21
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=5
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=14
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=6
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=7
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=8
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  10: decode   ← 0, next: 11
    µ-code  11: i.reada  ← 1, next: 12
    µ-code  12: r.read   ← 1, next: 13
    µ-code  13: m.write  ← 1, next: 14
    [1]<-14
    µ-code  14: m.write  ← 0, next: 15
    µ-code  15: r.read   ← 0, next: 16
    µ-code  16: i.reada  ← 0, next: 17
    µ-code  17: cycle    ← 1, next: 18
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=9
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=4
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=14
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=5
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=7
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=6
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=7
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=8
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  10: decode   ← 0, next: 11
    µ-code  11: i.reada  ← 1, next: 12
    µ-code  12: r.read   ← 1, next: 13
    µ-code  13: m.write  ← 1, next: 14
    [1]<-7
    µ-code  14: m.write  ← 0, next: 15
    µ-code  15: r.read   ← 0, next: 16
    µ-code  16: i.reada  ← 0, next: 17
    µ-code  17: cycle    ← 1, next: 18
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=9
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=4
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  18: decode   ← 0, next: 19
    µ-code  19: i.reada  ← 1, next: 20
    µ-code  20: m.read   ← 1, next: 21
    µ-code  21: r.write  ← 1, next: 22
    AC=7
    µ-code  22: r.write  ← 0, next: 23
    µ-code  23: m.read   ← 0, next: 24
    µ-code  24: i.reada  ← 0, next: 25
    µ-code  25: cycle    ← 1, next: 26
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=5
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  44: decode   ← 0, next: 45
    µ-code  45: i.reada  ← 1, next: 46
    µ-code  46: m.read   ← 1, next: 47
    µ-code  47: a.write2 ← 1, next: 48
    µ-code  48: a.write2 ← 0, next: 49
    µ-code  49: m.read   ← 0, next: 50
    µ-code  50: i.reada  ← 0, next: 51
    µ-code  51: r.read   ← 1, next: 52
    µ-code  52: a.write1 ← 1, next: 53
    µ-code  53: a.write2 ← 0, next: 54
    µ-code  54: r.read   ← 0, next: 55
    µ-code  55: a.sub    ← 1, next: 56
    µ-code  56: a.read   ← 1, next: 57
    µ-code  57: r.write  ← 1, next: 58
    AC=0
    µ-code  58: r.write  ← 0, next: 59
    µ-code  59: a.sub    ← 0, next: 60
    µ-code  60: a.read   ← 0, next: 61
    µ-code  61: cycle    ← 1, next: 62
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=6
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  62: decode   ← 0, next: 63
    µ-code  63: i.read   ← 1, next: 64
    µ-code  64: p.write  ← 1, next: 65
    µ-code  65: p.write  ← 0, next: 66
    µ-code  66: i.read   ← 0, next: 67
    µ-code  67: cycle    ← 1, next: 68
    µ-code   0: cycle    ← 0, next: 1
    µ-code   1: p.reada  ← 1, next: 2
    µ-code   2: m.read   ← 1, next: 3
    µ-code   3: i.write  ← 1, next: 4
    µ-code   4: i.write  ← 0, next: 5
    µ-code   5: p.incr   ← 1, next: 6
    PC=14
    µ-code   6: m.read   ← 0, next: 7
    µ-code   7: p.reada  ← 0, next: 8
    µ-code   8: p.incr   ← 0, next: 9
    µ-code   9: decode   ← 1, next: 10
    µ-code  68: decode   ← 0, next: 69
    µ-code  69: s.halt   ← 1, next: 70
    #(131 7 7 33 98 173 201 1 131 34 97 2 131 224 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
    microprocessor>