<?xml version="1.0" encoding="utf-8"?>
<circuit>
  <version>1</version>
  <attributes>
    <entry>
      <string>Description</string>
      <string>The program counter.
Here the current program counter is stored.
The various inputs can be used to influence how the 
program counter is modified if a clock signal happens.

{{de Der Programmzähler. 
Hier wird der aktuelle Programmzähler gespeichert. 
Über die verschiedenen Eingänge kann beeinflußt 
werden, auf welche Weise der Programmzähler mit 
dem Takt weiter geschaltet wird.}}</string>
    </entry>
    <entry>
      <string>Width</string>
      <int>5</int>
    </entry>
  </attributes>
  <visualElements>
    <visualElement>
      <elementName>Register</elementName>
      <elementAttributes>
        <entry>
          <string>valueIsProbe</string>
          <boolean>true</boolean>
        </entry>
        <entry>
          <string>Label</string>
          <string>PC</string>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
        <entry>
          <string>isProgramCounter</string>
          <boolean>true</boolean>
        </entry>
        <entry>
          <string>inverterConfig</string>
          <inverterConfig>
            <string>C</string>
          </inverterConfig>
        </entry>
      </elementAttributes>
      <pos x="260" y="140"/>
    </visualElement>
    <visualElement>
      <elementName>In</elementName>
      <elementAttributes>
        <entry>
          <string>Description</string>
          <string>current ALU output
{{de Aktuelle ALU-Ausgabe}}</string>
        </entry>
        <entry>
          <string>Label</string>
          <string>ALU</string>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="180" y="340"/>
    </visualElement>
    <visualElement>
      <elementName>Add</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>Add One</string>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="400" y="160"/>
    </visualElement>
    <visualElement>
      <elementName>Const</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="380" y="180"/>
    </visualElement>
    <visualElement>
      <elementName>Const</elementName>
      <elementAttributes>
        <entry>
          <string>Value</string>
          <long>0</long>
        </entry>
      </elementAttributes>
      <pos x="380" y="200"/>
    </visualElement>
    <visualElement>
      <elementName>Out</elementName>
      <elementAttributes>
        <entry>
          <string>Description</string>
          <string>Address of the next instruction to execute.
{{de Adresse des nächsten auszuführenden Befehls}}</string>
        </entry>
        <entry>
          <string>Label</string>
          <string>Next</string>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="580" y="160"/>
    </visualElement>
    <visualElement>
      <elementName>Out</elementName>
      <elementAttributes>
        <entry>
          <string>Description</string>
          <string>Programm Counter 
{{de Programmzähler}}</string>
        </entry>
        <entry>
          <string>Label</string>
          <string>PC</string>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="580" y="100"/>
    </visualElement>
    <visualElement>
      <elementName>Add</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>Add ALU</string>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="540" y="320"/>
    </visualElement>
    <visualElement>
      <elementName>Const</elementName>
      <elementAttributes>
        <entry>
          <string>Value</string>
          <long>0</long>
        </entry>
      </elementAttributes>
      <pos x="520" y="360"/>
    </visualElement>
    <visualElement>
      <elementName>Multiplexer</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="640" y="280"/>
    </visualElement>
    <visualElement>
      <elementName>Multiplexer</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="720" y="300"/>
    </visualElement>
    <visualElement>
      <elementName>Clock</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>C</string>
        </entry>
      </elementAttributes>
      <pos x="180" y="260"/>
    </visualElement>
    <visualElement>
      <elementName>In</elementName>
      <elementAttributes>
        <entry>
          <string>Description</string>
          <string>triggers a absolute jump
{{de absoluten Sprung auslösen}}</string>
        </entry>
        <entry>
          <string>rotation</string>
          <rotation rotation="1"/>
        </entry>
        <entry>
          <string>Label</string>
          <string>abs</string>
        </entry>
      </elementAttributes>
      <pos x="740" y="540"/>
    </visualElement>
    <visualElement>
      <elementName>Reset</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>Reset</string>
        </entry>
      </elementAttributes>
      <pos x="200" y="180"/>
    </visualElement>
    <visualElement>
      <elementName>Multiplexer</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="900" y="320"/>
    </visualElement>
    <visualElement>
      <elementName>In</elementName>
      <elementAttributes>
        <entry>
          <string>Description</string>
          <string>triggers an interrupt
{{de Interrupt auslösen}}</string>
        </entry>
        <entry>
          <string>rotation</string>
          <rotation rotation="1"/>
        </entry>
        <entry>
          <string>Label</string>
          <string>intr</string>
        </entry>
      </elementAttributes>
      <pos x="860" y="540"/>
    </visualElement>
    <visualElement>
      <elementName>Const</elementName>
      <elementAttributes>
        <entry>
          <string>Value</string>
          <long>2</long>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="880" y="360"/>
    </visualElement>
    <visualElement>
      <elementName>In</elementName>
      <elementAttributes>
        <entry>
          <string>Description</string>
          <string>triggers an interrupt
{{de Interrupt auslösen}}</string>
        </entry>
        <entry>
          <string>rotation</string>
          <rotation rotation="1"/>
        </entry>
        <entry>
          <string>Label</string>
          <string>reti</string>
        </entry>
      </elementAttributes>
      <pos x="1000" y="540"/>
    </visualElement>
    <visualElement>
      <elementName>Register</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
        <entry>
          <string>inverterConfig</string>
          <inverterConfig>
            <string>C</string>
          </inverterConfig>
        </entry>
      </elementAttributes>
      <pos x="820" y="420"/>
    </visualElement>
    <visualElement>
      <elementName>Multiplexer</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="980" y="340"/>
    </visualElement>
    <visualElement>
      <elementName>In</elementName>
      <elementAttributes>
        <entry>
          <string>Description</string>
          <string>triggers a relative jump
{{de relativen Spung auslösen}}</string>
        </entry>
        <entry>
          <string>rotation</string>
          <rotation rotation="1"/>
        </entry>
        <entry>
          <string>Label</string>
          <string>rel</string>
        </entry>
      </elementAttributes>
      <pos x="660" y="540"/>
    </visualElement>
  </visualElements>
  <wires>
    <wire>
      <p1 x="320" y="160"/>
      <p2 x="340" y="160"/>
    </wire>
    <wire>
      <p1 x="460" y="160"/>
      <p2 x="500" y="160"/>
    </wire>
    <wire>
      <p1 x="220" y="160"/>
      <p2 x="240" y="160"/>
    </wire>
    <wire>
      <p1 x="340" y="160"/>
      <p2 x="400" y="160"/>
    </wire>
    <wire>
      <p1 x="500" y="160"/>
      <p2 x="580" y="160"/>
    </wire>
    <wire>
      <p1 x="500" y="320"/>
      <p2 x="540" y="320"/>
    </wire>
    <wire>
      <p1 x="600" y="320"/>
      <p2 x="640" y="320"/>
    </wire>
    <wire>
      <p1 x="760" y="320"/>
      <p2 x="800" y="320"/>
    </wire>
    <wire>
      <p1 x="800" y="320"/>
      <p2 x="900" y="320"/>
    </wire>
    <wire>
      <p1 x="340" y="100"/>
      <p2 x="580" y="100"/>
    </wire>
    <wire>
      <p1 x="800" y="420"/>
      <p2 x="820" y="420"/>
    </wire>
    <wire>
      <p1 x="180" y="260"/>
      <p2 x="220" y="260"/>
    </wire>
    <wire>
      <p1 x="380" y="200"/>
      <p2 x="400" y="200"/>
    </wire>
    <wire>
      <p1 x="520" y="360"/>
      <p2 x="540" y="360"/>
    </wire>
    <wire>
      <p1 x="880" y="360"/>
      <p2 x="900" y="360"/>
    </wire>
    <wire>
      <p1 x="1020" y="360"/>
      <p2 x="1040" y="360"/>
    </wire>
    <wire>
      <p1 x="800" y="520"/>
      <p2 x="860" y="520"/>
    </wire>
    <wire>
      <p1 x="860" y="520"/>
      <p2 x="920" y="520"/>
    </wire>
    <wire>
      <p1 x="800" y="460"/>
      <p2 x="820" y="460"/>
    </wire>
    <wire>
      <p1 x="680" y="300"/>
      <p2 x="720" y="300"/>
    </wire>
    <wire>
      <p1 x="240" y="140"/>
      <p2 x="260" y="140"/>
    </wire>
    <wire>
      <p1 x="480" y="400"/>
      <p2 x="700" y="400"/>
    </wire>
    <wire>
      <p1 x="380" y="180"/>
      <p2 x="400" y="180"/>
    </wire>
    <wire>
      <p1 x="200" y="180"/>
      <p2 x="260" y="180"/>
    </wire>
    <wire>
      <p1 x="180" y="340"/>
      <p2 x="480" y="340"/>
    </wire>
    <wire>
      <p1 x="700" y="340"/>
      <p2 x="720" y="340"/>
    </wire>
    <wire>
      <p1 x="940" y="340"/>
      <p2 x="980" y="340"/>
    </wire>
    <wire>
      <p1 x="480" y="340"/>
      <p2 x="540" y="340"/>
    </wire>
    <wire>
      <p1 x="220" y="440"/>
      <p2 x="800" y="440"/>
    </wire>
    <wire>
      <p1 x="880" y="440"/>
      <p2 x="960" y="440"/>
    </wire>
    <wire>
      <p1 x="500" y="280"/>
      <p2 x="640" y="280"/>
    </wire>
    <wire>
      <p1 x="240" y="60"/>
      <p2 x="1040" y="60"/>
    </wire>
    <wire>
      <p1 x="960" y="380"/>
      <p2 x="980" y="380"/>
    </wire>
    <wire>
      <p1 x="480" y="340"/>
      <p2 x="480" y="400"/>
    </wire>
    <wire>
      <p1 x="800" y="320"/>
      <p2 x="800" y="420"/>
    </wire>
    <wire>
      <p1 x="800" y="460"/>
      <p2 x="800" y="520"/>
    </wire>
    <wire>
      <p1 x="960" y="380"/>
      <p2 x="960" y="440"/>
    </wire>
    <wire>
      <p1 x="740" y="340"/>
      <p2 x="740" y="540"/>
    </wire>
    <wire>
      <p1 x="1000" y="380"/>
      <p2 x="1000" y="540"/>
    </wire>
    <wire>
      <p1 x="1040" y="60"/>
      <p2 x="1040" y="360"/>
    </wire>
    <wire>
      <p1 x="240" y="60"/>
      <p2 x="240" y="140"/>
    </wire>
    <wire>
      <p1 x="340" y="100"/>
      <p2 x="340" y="160"/>
    </wire>
    <wire>
      <p1 x="660" y="320"/>
      <p2 x="660" y="540"/>
    </wire>
    <wire>
      <p1 x="500" y="160"/>
      <p2 x="500" y="280"/>
    </wire>
    <wire>
      <p1 x="500" y="280"/>
      <p2 x="500" y="320"/>
    </wire>
    <wire>
      <p1 x="920" y="360"/>
      <p2 x="920" y="520"/>
    </wire>
    <wire>
      <p1 x="860" y="520"/>
      <p2 x="860" y="540"/>
    </wire>
    <wire>
      <p1 x="700" y="340"/>
      <p2 x="700" y="400"/>
    </wire>
    <wire>
      <p1 x="220" y="160"/>
      <p2 x="220" y="260"/>
    </wire>
    <wire>
      <p1 x="220" y="260"/>
      <p2 x="220" y="440"/>
    </wire>
  </wires>
</circuit>