<html>
  <!-- -*- coding:utf-8 -*- -->
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <head>
    <title>Microprocessor Microcode Simple Example</title>
  </head>
  <body>
    <h1>Microprocessor Microcode Simple Example</h1>


    <p>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.

    <p>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:

      <ul>

        <li> store addr takes the value stored in the accumulator register and
          copies it into the memory at the given address.

        <li> load addr takes the value stored in the memory at the given
          address, and copies it into the accumulator register.

        <li> add addr takes the value stored in the memory at the given
          address, and adds it to value copied from the accumulator register,
          and stores the result into the accumulator register.  sub addr is
          similar but performs a subtraction.

        <li> jmp addr stores the given address into the program counter
          registers, which makes in effect the processor execute next the
          instruction that is at this address

        <li> jeq addr test the accumulator register: if it's zero, then it
          stores the given address into the program counter registers, which
          makes in effect the processor execute next the instruction that is at
          this address.  If the accumulator register doesn't contain zero, then
          nothing is done (execution continues in sequence).

      </ul>


    <p>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:

      <ul>
        <li> 000 = store
        <li> 001 = load
        <li> 010 = add
        <li> 011 = sub
        <li> 100 = jmp
        <li> 101 = jeq
        <li> 110 = jlt
        <li> 111 = halt
      </ul>

    <p>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).


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


    <p>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.

    <img src="processor.png" width="90%">


    <p>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 &amp; Logic Unit).

    <p>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.

    <p>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.

    <pre>

    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
    </pre>

    <p>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.

    <p>So if we use this encoding:

      <pre>
        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
      </pre>

    <p>we can store the cycle microprogram as:

      <pre>
        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.
      </pre>

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

      <ul>
        <li>store-addr: 10,
        <li>load-addr: 18,
        <li>add-addr: 26,
        <li>sub-addr: 44,
        <li>jmp-addr: 62.
      </ul>

    <p>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).

    <p>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:

      <pre>
  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
</pre>

<p>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.

<p>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.

<p>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.

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

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

<p>Since hardware cannot be transmitted thru the Internet yet, I've
  instead written an implementation as a virtual machine in Common Lisp.
  <a href="microcode.lisp">microcode.lisp</a>

  Here is an example of running it to compute the gcd of 70 and 77:

  <pre>
    microprocessor&gt; (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&lt;b
                                ;; a&gt;b a:=a-b
                                (store a)
                                (jmp start)
                                suba
                                ;; a&lt;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&gt; (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&lt;b
                                   ;; a&gt;b a:=a-b
                                   (store a)
                                   (jmp start)
                                   suba
                                   ;; a&lt;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]&lt;-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]&lt;-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]&lt;-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]&lt;-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]&lt;-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]&lt;-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]&lt;-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]&lt;-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]&lt;-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]&lt;-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&gt;
  </pre>
</body>
</html>
ViewGit