commit 02b1a7ac49084f4afbd8c7bf9a760500662fe3c6
parent 5294e6e028f2d2b4b38f36aa89f40b0c6d685933
Author: Paul Longtine <paul@nanner.co>
Date: Sun, 29 Sep 2019 15:38:09 -0400
Fixed bugs, implementing some test programs to shake things down
Diffstat:
6 files changed, 1973 insertions(+), 1917 deletions(-)
diff --git a/CPU/CPU.circ b/CPU/CPU.circ
@@ -83,11 +83,11 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<circ-anchor facing="east" height="6" width="6" x="157" y="17"/>
</appear>
<wire from="(220,250)" to="(220,320)"/>
- <wire from="(230,420)" to="(480,420)"/>
<wire from="(180,180)" to="(230,180)"/>
<wire from="(260,220)" to="(260,230)"/>
<wire from="(210,230)" to="(210,370)"/>
<wire from="(350,100)" to="(350,180)"/>
+ <wire from="(240,480)" to="(240,500)"/>
<wire from="(180,210)" to="(180,300)"/>
<wire from="(270,360)" to="(310,360)"/>
<wire from="(220,100)" to="(220,130)"/>
@@ -95,12 +95,13 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(200,380)" to="(420,380)"/>
<wire from="(260,130)" to="(280,130)"/>
<wire from="(160,30)" to="(180,30)"/>
+ <wire from="(160,510)" to="(180,510)"/>
<wire from="(160,260)" to="(240,260)"/>
<wire from="(380,300)" to="(390,300)"/>
<wire from="(230,350)" to="(240,350)"/>
<wire from="(220,130)" to="(220,250)"/>
<wire from="(200,320)" to="(200,380)"/>
- <wire from="(230,350)" to="(230,420)"/>
+ <wire from="(290,420)" to="(480,420)"/>
<wire from="(230,100)" to="(350,100)"/>
<wire from="(180,190)" to="(230,190)"/>
<wire from="(300,150)" to="(300,160)"/>
@@ -116,20 +117,25 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(220,50)" to="(250,50)"/>
<wire from="(170,210)" to="(170,310)"/>
<wire from="(400,30)" to="(400,190)"/>
+ <wire from="(230,350)" to="(230,450)"/>
<wire from="(260,140)" to="(280,140)"/>
<wire from="(410,250)" to="(410,360)"/>
<wire from="(190,120)" to="(190,170)"/>
<wire from="(140,200)" to="(140,440)"/>
<wire from="(160,330)" to="(170,330)"/>
+ <wire from="(210,500)" to="(220,500)"/>
<wire from="(180,60)" to="(250,60)"/>
<wire from="(160,240)" to="(230,240)"/>
<wire from="(250,150)" to="(250,160)"/>
<wire from="(290,110)" to="(340,110)"/>
<wire from="(180,200)" to="(230,200)"/>
<wire from="(210,230)" to="(260,230)"/>
+ <wire from="(240,500)" to="(290,500)"/>
<wire from="(290,110)" to="(290,120)"/>
<wire from="(290,150)" to="(290,160)"/>
+ <wire from="(290,420)" to="(290,500)"/>
<wire from="(200,300)" to="(200,320)"/>
+ <wire from="(220,480)" to="(220,500)"/>
<wire from="(140,110)" to="(140,200)"/>
<wire from="(210,370)" to="(240,370)"/>
<wire from="(430,240)" to="(430,340)"/>
@@ -141,6 +147,7 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(240,220)" to="(240,260)"/>
<wire from="(230,240)" to="(230,350)"/>
<wire from="(140,440)" to="(480,440)"/>
+ <wire from="(160,490)" to="(180,490)"/>
<wire from="(230,240)" to="(250,240)"/>
<wire from="(230,80)" to="(250,80)"/>
<wire from="(420,240)" to="(430,240)"/>
@@ -173,50 +180,58 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(320,70)" to="(320,120)"/>
<wire from="(360,20)" to="(360,140)"/>
<wire from="(330,190)" to="(400,190)"/>
- <comp loc="(260,130)" name="ALU"/>
- <comp lib="0" loc="(480,340)" name="Pin">
- <a name="facing" val="west"/>
- <a name="tristate" val="false"/>
- <a name="pull" val="down"/>
- <a name="label" val="IN ENABLE"/>
- <a name="labelloc" val="east"/>
- </comp>
- <comp lib="0" loc="(420,380)" name="Pin">
+ <comp loc="(160,210)" name="PC"/>
+ <comp lib="0" loc="(420,400)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="pull" val="down"/>
- <a name="label" val="ADDR"/>
+ <a name="label" val="OUT"/>
<a name="labelloc" val="east"/>
</comp>
- <comp loc="(230,170)" name="ISD"/>
+ <comp lib="1" loc="(230,450)" name="OR Gate">
+ <a name="facing" val="north"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
<comp lib="0" loc="(290,340)" name="Constant">
<a name="facing" val="north"/>
</comp>
+ <comp lib="0" loc="(160,510)" name="Constant"/>
+ <comp lib="1" loc="(210,500)" name="AND Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
<comp loc="(190,90)" name="STK"/>
<comp loc="(280,150)" name="GPR"/>
- <comp lib="0" loc="(480,440)" name="Pin">
+ <comp lib="0" loc="(480,420)" name="Pin">
<a name="facing" val="west"/>
<a name="tristate" val="false"/>
<a name="pull" val="down"/>
- <a name="label" val="RST"/>
+ <a name="label" val="CLK"/>
<a name="labelloc" val="east"/>
</comp>
- <comp lib="1" loc="(270,360)" name="AND Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="4" loc="(380,300)" name="RAM">
+ <a name="bus" val="separate"/>
</comp>
<comp lib="2" loc="(290,70)" name="Multiplexer">
<a name="select" val="2"/>
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(480,420)" name="Pin">
+ <comp loc="(230,170)" name="ISD"/>
+ <comp lib="1" loc="(270,360)" name="AND Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="0" loc="(420,380)" name="Pin">
<a name="facing" val="west"/>
+ <a name="output" val="true"/>
+ <a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="pull" val="down"/>
- <a name="label" val="CLK"/>
+ <a name="label" val="ADDR"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="2" loc="(400,220)" name="Multiplexer">
@@ -225,16 +240,27 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp loc="(160,210)" name="PC"/>
- <comp lib="0" loc="(420,400)" name="Pin">
- <a name="facing" val="west"/>
- <a name="output" val="true"/>
+ <comp lib="2" loc="(200,320)" name="Multiplexer">
+ <a name="selloc" val="tr"/>
<a name="width" val="8"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="0" loc="(480,340)" name="Pin">
+ <a name="facing" val="west"/>
<a name="tristate" val="false"/>
<a name="pull" val="down"/>
- <a name="label" val="OUT"/>
+ <a name="label" val="IN ENABLE"/>
+ <a name="labelloc" val="east"/>
+ </comp>
+ <comp lib="0" loc="(480,440)" name="Pin">
+ <a name="facing" val="west"/>
+ <a name="tristate" val="false"/>
+ <a name="pull" val="down"/>
+ <a name="label" val="RST"/>
<a name="labelloc" val="east"/>
</comp>
+ <comp lib="0" loc="(160,490)" name="Clock"/>
+ <comp loc="(260,130)" name="ALU"/>
<comp lib="0" loc="(420,360)" name="Pin">
<a name="facing" val="west"/>
<a name="width" val="8"/>
@@ -243,14 +269,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="label" val="IN"/>
<a name="labelloc" val="east"/>
</comp>
- <comp lib="4" loc="(380,300)" name="RAM">
- <a name="bus" val="separate"/>
- </comp>
- <comp lib="2" loc="(200,320)" name="Multiplexer">
- <a name="selloc" val="tr"/>
- <a name="width" val="8"/>
- <a name="enable" val="false"/>
- </comp>
</circuit>
<circuit name="ALU">
<a name="circuit" val="ALU"/>
@@ -530,38 +548,31 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(220,690)" to="(230,690)"/>
<wire from="(200,270)" to="(210,270)"/>
<wire from="(200,750)" to="(210,750)"/>
- <comp lib="0" loc="(130,390)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="a3"/>
- </comp>
- <comp lib="0" loc="(130,120)" name="Tunnel">
+ <comp lib="0" loc="(130,270)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="a0"/>
- </comp>
- <comp lib="1" loc="(280,380)" name="OR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="0" loc="(670,290)" name="Tunnel">
- <a name="label" val="o5"/>
+ <a name="label" val="b2"/>
</comp>
- <comp lib="1" loc="(240,670)" name="AND Gate">
+ <comp lib="1" loc="(250,730)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(280,200)" name="OR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(220,70)" name="Tunnel">
+ <a name="facing" val="south"/>
+ <a name="label" val="OR"/>
</comp>
- <comp lib="1" loc="(340,370)" name="XNOR Gate">
+ <comp lib="1" loc="(190,490)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(560,180)" name="Tunnel">
+ <comp lib="0" loc="(130,450)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="b4"/>
</comp>
- <comp lib="1" loc="(190,190)" name="XOR Gate">
+ <comp lib="0" loc="(130,90)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="b0"/>
+ </comp>
+ <comp lib="1" loc="(190,580)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
@@ -570,151 +581,96 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(310,510)" name="OR Gate">
- <a name="facing" val="west"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="6" loc="(749,472)" name="Text">
- <a name="text" val="OPCODES: 000: OR, 001: AND, 010: XOR, 011: ADD, 100: CIN, 101: NAND, 110: XNOR, 111: SUB"/>
- </comp>
- <comp lib="0" loc="(690,160)" name="Tunnel">
+ <comp lib="0" loc="(130,720)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="a2"/>
+ <a name="label" val="b7"/>
</comp>
- <comp lib="0" loc="(690,140)" name="Tunnel">
+ <comp lib="0" loc="(560,200)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="a0"/>
+ <a name="label" val="b6"/>
</comp>
<comp lib="1" loc="(250,370)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(130,360)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="b3"/>
- </comp>
- <comp lib="1" loc="(240,760)" name="AND Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="0" loc="(130,270)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="b2"/>
- </comp>
- <comp lib="0" loc="(130,480)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="a4"/>
- </comp>
- <comp lib="0" loc="(130,210)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="a1"/>
- </comp>
<comp lib="0" loc="(750,380)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="!B"/>
</comp>
- <comp lib="0" loc="(130,630)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="b6"/>
- </comp>
- <comp lib="1" loc="(280,110)" name="OR Gate">
+ <comp lib="1" loc="(270,230)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(250,640)" name="NOR Gate">
+ <comp lib="1" loc="(310,330)" name="OR Gate">
+ <a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(280,560)" name="OR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(130,540)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="b5"/>
</comp>
- <comp lib="0" loc="(670,250)" name="Tunnel">
- <a name="label" val="o1"/>
+ <comp lib="0" loc="(690,150)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="a1"/>
</comp>
- <comp lib="1" loc="(310,690)" name="OR Gate">
- <a name="facing" val="west"/>
+ <comp lib="0" loc="(390,550)" name="Tunnel">
+ <a name="label" val="o5"/>
+ </comp>
+ <comp lib="1" loc="(270,320)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(690,200)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="a6"/>
+ <comp lib="0" loc="(670,270)" name="Tunnel">
+ <a name="label" val="o3"/>
</comp>
- <comp lib="1" loc="(310,600)" name="OR Gate">
- <a name="facing" val="west"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="6" loc="(624,352)" name="Text">
+ <a name="text" val="Opcodes"/>
</comp>
- <comp lib="1" loc="(300,330)" name="AND Gate">
+ <comp lib="1" loc="(300,420)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(330,400)" name="AND Gate">
+ <comp lib="1" loc="(190,100)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
- </comp>
- <comp lib="0" loc="(670,300)" name="Tunnel">
- <a name="label" val="o6"/>
</comp>
- <comp lib="1" loc="(300,360)" name="OR Gate">
- <a name="facing" val="south"/>
+ <comp lib="1" loc="(330,310)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(310,240)" name="OR Gate">
- <a name="facing" val="west"/>
+ <comp lib="0" loc="(670,260)" name="Tunnel">
+ <a name="label" val="o2"/>
+ </comp>
+ <comp lib="1" loc="(190,220)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(330,760)" name="AND Gate">
+ <comp lib="1" loc="(330,580)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(130,660)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="a6"/>
- </comp>
- <comp lib="0" loc="(690,210)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="a7"/>
- </comp>
- <comp lib="0" loc="(260,70)" name="Tunnel">
+ <comp lib="0" loc="(780,380)" name="Tunnel">
<a name="facing" val="south"/>
- <a name="label" val="CC"/>
+ <a name="label" val="CI"/>
</comp>
- <comp lib="0" loc="(560,160)" name="Tunnel">
+ <comp lib="0" loc="(690,180)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="b2"/>
- </comp>
- <comp lib="1" loc="(250,730)" name="NOR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="label" val="a4"/>
</comp>
- <comp lib="0" loc="(130,750)" name="Tunnel">
+ <comp lib="0" loc="(130,390)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="a7"/>
- </comp>
- <comp lib="1" loc="(340,100)" name="XNOR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="label" val="a3"/>
</comp>
- <comp lib="0" loc="(580,130)" name="Pin">
+ <comp lib="0" loc="(710,130)" name="Splitter">
<a name="facing" val="west"/>
- <a name="width" val="8"/>
- <a name="tristate" val="false"/>
- </comp>
- <comp lib="0" loc="(690,190)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="a5"/>
- </comp>
- <comp lib="1" loc="(190,730)" name="XOR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="fanout" val="8"/>
+ <a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(300,810)" name="Pin">
<a name="facing" val="north"/>
@@ -722,415 +678,402 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="tristate" val="false"/>
<a name="labelloc" val="east"/>
</comp>
- <comp lib="0" loc="(390,730)" name="Tunnel">
- <a name="label" val="o7"/>
- </comp>
- <comp lib="1" loc="(330,490)" name="AND Gate">
+ <comp lib="1" loc="(190,280)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
</comp>
<comp lib="1" loc="(310,150)" name="OR Gate">
<a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(190,370)" name="XOR Gate">
+ <comp lib="1" loc="(190,310)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(270,140)" name="AND Gate">
+ <comp lib="1" loc="(280,110)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(130,570)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="a5"/>
+ <comp lib="1" loc="(250,640)" name="NOR Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(560,170)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="b3"/>
- </comp>
- <comp lib="1" loc="(300,180)" name="OR Gate">
- <a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="0" loc="(300,70)" name="Tunnel">
- <a name="facing" val="south"/>
- <a name="label" val="CI"/>
- </comp>
- <comp lib="1" loc="(310,330)" name="OR Gate">
- <a name="facing" val="west"/>
+ <comp lib="1" loc="(280,200)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="4" loc="(730,400)" name="ROM">
- <a name="addrWidth" val="3"/>
- <a name="dataWidth" val="6"/>
- <a name="contents">addr/data: 3 6
-8 3b 4 0 2 38 7 12
-</a>
- </comp>
- <comp lib="1" loc="(280,470)" name="OR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(670,300)" name="Tunnel">
+ <a name="label" val="o6"/>
</comp>
- <comp lib="0" loc="(790,380)" name="Tunnel">
- <a name="facing" val="south"/>
- <a name="label" val="FC"/>
+ <comp lib="0" loc="(390,190)" name="Tunnel">
+ <a name="label" val="o1"/>
</comp>
- <comp lib="1" loc="(190,490)" name="XOR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(670,240)" name="Tunnel">
+ <a name="label" val="o0"/>
</comp>
- <comp lib="1" loc="(340,280)" name="XNOR Gate">
+ <comp lib="1" loc="(270,680)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(250,550)" name="NOR Gate">
+ <comp lib="1" loc="(240,130)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(670,280)" name="Tunnel">
- <a name="label" val="o4"/>
- </comp>
- <comp lib="0" loc="(340,70)" name="Tunnel">
- <a name="facing" val="south"/>
- <a name="label" val="FC"/>
- </comp>
- <comp lib="1" loc="(190,580)" name="XOR Gate">
+ <comp lib="1" loc="(330,490)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(340,460)" name="XNOR Gate">
+ <comp lib="1" loc="(190,730)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(300,810)" name="OR Gate">
- <a name="facing" val="south"/>
+ <comp lib="1" loc="(190,370)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(330,130)" name="AND Gate">
+ <comp lib="1" loc="(300,780)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(240,580)" name="AND Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="0" loc="(710,130)" name="Splitter">
- <a name="facing" val="west"/>
- <a name="fanout" val="8"/>
- <a name="incoming" val="8"/>
+ <comp lib="0" loc="(130,360)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="b3"/>
</comp>
- <comp lib="1" loc="(270,680)" name="AND Gate">
+ <comp lib="1" loc="(280,470)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(250,190)" name="NOR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(650,320)" name="Pin">
+ <a name="output" val="true"/>
+ <a name="width" val="8"/>
+ <a name="labelloc" val="east"/>
</comp>
- <comp lib="1" loc="(190,310)" name="XOR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(300,70)" name="Tunnel">
+ <a name="facing" val="south"/>
+ <a name="label" val="CI"/>
</comp>
<comp lib="0" loc="(690,170)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="a3"/>
</comp>
- <comp lib="1" loc="(310,420)" name="OR Gate">
- <a name="facing" val="west"/>
+ <comp lib="1" loc="(280,290)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(340,190)" name="XNOR Gate">
+ <comp lib="1" loc="(280,650)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(140,70)" name="Tunnel">
- <a name="facing" val="south"/>
- <a name="label" val="!A"/>
- </comp>
- <comp lib="0" loc="(670,260)" name="Tunnel">
- <a name="label" val="o2"/>
- </comp>
- <comp lib="0" loc="(590,400)" name="Pin">
- <a name="width" val="3"/>
+ <comp lib="0" loc="(580,130)" name="Pin">
+ <a name="facing" val="west"/>
+ <a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
- <comp lib="0" loc="(560,150)" name="Tunnel">
+ <comp lib="0" loc="(130,570)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="b1"/>
+ <a name="label" val="a5"/>
</comp>
- <comp lib="0" loc="(390,640)" name="Tunnel">
- <a name="label" val="o6"/>
+ <comp lib="0" loc="(690,160)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="a2"/>
</comp>
- <comp lib="1" loc="(340,550)" name="XNOR Gate">
+ <comp lib="0" loc="(790,380)" name="Tunnel">
+ <a name="facing" val="south"/>
+ <a name="label" val="FC"/>
+ </comp>
+ <comp lib="1" loc="(300,540)" name="OR Gate">
+ <a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(650,320)" name="Pin">
- <a name="output" val="true"/>
- <a name="width" val="8"/>
- <a name="labelloc" val="east"/>
+ <comp lib="0" loc="(670,290)" name="Tunnel">
+ <a name="label" val="o5"/>
</comp>
- <comp lib="1" loc="(300,600)" name="AND Gate">
+ <comp lib="1" loc="(250,460)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(300,540)" name="OR Gate">
- <a name="facing" val="south"/>
+ <comp lib="1" loc="(280,560)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(330,220)" name="AND Gate">
+ <comp lib="1" loc="(310,690)" name="OR Gate">
+ <a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(180,70)" name="Tunnel">
- <a name="facing" val="south"/>
- <a name="label" val="!B"/>
- </comp>
- <comp lib="0" loc="(390,550)" name="Tunnel">
- <a name="label" val="o5"/>
+ <comp lib="0" loc="(670,310)" name="Tunnel">
+ <a name="label" val="o7"/>
</comp>
- <comp lib="1" loc="(240,490)" name="AND Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(130,630)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="b6"/>
</comp>
<comp lib="0" loc="(560,210)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="b7"/>
</comp>
- <comp lib="0" loc="(650,320)" name="Splitter">
- <a name="fanout" val="8"/>
- <a name="incoming" val="8"/>
- </comp>
- <comp lib="0" loc="(670,310)" name="Tunnel">
- <a name="label" val="o7"/>
+ <comp lib="0" loc="(740,380)" name="Tunnel">
+ <a name="facing" val="south"/>
+ <a name="label" val="!A"/>
</comp>
- <comp lib="0" loc="(390,190)" name="Tunnel">
- <a name="label" val="o1"/>
+ <comp lib="0" loc="(670,280)" name="Tunnel">
+ <a name="label" val="o4"/>
</comp>
- <comp lib="1" loc="(340,730)" name="XNOR Gate">
+ <comp lib="1" loc="(340,280)" name="XNOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(270,770)" name="AND Gate">
+ <comp lib="1" loc="(190,190)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(390,280)" name="Tunnel">
- <a name="label" val="o2"/>
- </comp>
- <comp lib="0" loc="(560,200)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="b6"/>
- </comp>
- <comp lib="1" loc="(190,400)" name="XOR Gate">
+ <comp lib="1" loc="(300,600)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(220,70)" name="Tunnel">
- <a name="facing" val="south"/>
- <a name="label" val="OR"/>
+ <comp lib="0" loc="(390,100)" name="Tunnel">
+ <a name="label" val="o0"/>
</comp>
- <comp lib="1" loc="(240,400)" name="AND Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(710,130)" name="Pin">
+ <a name="facing" val="west"/>
+ <a name="width" val="8"/>
+ <a name="tristate" val="false"/>
</comp>
- <comp lib="1" loc="(240,130)" name="AND Gate">
+ <comp lib="1" loc="(330,130)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(310,780)" name="OR Gate">
- <a name="facing" val="west"/>
+ <comp lib="1" loc="(240,310)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(250,460)" name="NOR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(650,320)" name="Splitter">
+ <a name="fanout" val="8"/>
+ <a name="incoming" val="8"/>
</comp>
- <comp lib="1" loc="(190,280)" name="XOR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="4" loc="(730,400)" name="ROM">
+ <a name="addrWidth" val="3"/>
+ <a name="dataWidth" val="6"/>
+ <a name="contents">addr/data: 3 6
+8 3b 4 0 2 38 7 12
+</a>
</comp>
- <comp lib="0" loc="(560,140)" name="Tunnel">
+ <comp lib="0" loc="(130,750)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="b0"/>
+ <a name="label" val="a7"/>
</comp>
- <comp lib="1" loc="(250,100)" name="NOR Gate">
+ <comp lib="1" loc="(240,400)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(270,230)" name="AND Gate">
+ <comp lib="1" loc="(330,400)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(710,130)" name="Pin">
- <a name="facing" val="west"/>
- <a name="width" val="8"/>
- <a name="tristate" val="false"/>
- </comp>
- <comp lib="0" loc="(390,370)" name="Tunnel">
- <a name="label" val="o3"/>
+ <comp lib="0" loc="(560,150)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="b1"/>
</comp>
- <comp lib="1" loc="(190,670)" name="XOR Gate">
+ <comp lib="1" loc="(240,670)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(330,670)" name="AND Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
+ <comp lib="0" loc="(580,130)" name="Splitter">
+ <a name="facing" val="west"/>
+ <a name="fanout" val="8"/>
+ <a name="incoming" val="8"/>
</comp>
- <comp lib="1" loc="(270,320)" name="AND Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
+ <comp lib="0" loc="(130,480)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="a4"/>
</comp>
- <comp lib="0" loc="(670,270)" name="Tunnel">
- <a name="label" val="o3"/>
+ <comp lib="0" loc="(770,380)" name="Tunnel">
+ <a name="facing" val="south"/>
+ <a name="label" val="CC"/>
</comp>
- <comp lib="0" loc="(760,380)" name="Tunnel">
+ <comp lib="0" loc="(180,70)" name="Tunnel">
<a name="facing" val="south"/>
- <a name="label" val="OR"/>
+ <a name="label" val="!B"/>
</comp>
- <comp lib="0" loc="(690,150)" name="Tunnel">
+ <comp lib="0" loc="(730,400)" name="Splitter">
+ <a name="facing" val="north"/>
+ <a name="fanout" val="6"/>
+ <a name="incoming" val="6"/>
+ <a name="appear" val="right"/>
+ </comp>
+ <comp lib="0" loc="(130,120)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="a1"/>
+ <a name="label" val="a0"/>
</comp>
- <comp lib="0" loc="(130,720)" name="Tunnel">
+ <comp lib="0" loc="(260,70)" name="Tunnel">
+ <a name="facing" val="south"/>
+ <a name="label" val="CC"/>
+ </comp>
+ <comp lib="0" loc="(390,280)" name="Tunnel">
+ <a name="label" val="o2"/>
+ </comp>
+ <comp lib="0" loc="(560,140)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="b7"/>
+ <a name="label" val="b0"/>
</comp>
- <comp lib="0" loc="(130,300)" name="Tunnel">
+ <comp lib="1" loc="(250,280)" name="NOR Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="0" loc="(690,140)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="a2"/>
+ <a name="label" val="a0"/>
</comp>
- <comp lib="0" loc="(690,180)" name="Tunnel">
+ <comp lib="0" loc="(690,200)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="a4"/>
+ <a name="label" val="a6"/>
</comp>
- <comp lib="0" loc="(580,130)" name="Splitter">
+ <comp lib="1" loc="(310,510)" name="OR Gate">
<a name="facing" val="west"/>
- <a name="fanout" val="8"/>
- <a name="incoming" val="8"/>
- </comp>
- <comp lib="0" loc="(390,460)" name="Tunnel">
- <a name="label" val="o4"/>
- </comp>
- <comp lib="1" loc="(280,290)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(340,640)" name="XNOR Gate">
+ <comp lib="1" loc="(310,240)" name="OR Gate">
+ <a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(740,380)" name="Tunnel">
- <a name="facing" val="south"/>
- <a name="label" val="!A"/>
+ <comp lib="6" loc="(611,272)" name="Text">
+ <a name="text" val="Output"/>
</comp>
- <comp lib="1" loc="(280,650)" name="OR Gate">
+ <comp lib="1" loc="(300,450)" name="OR Gate">
+ <a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="6" loc="(612,164)" name="Text">
- <a name="text" val="Input B"/>
+ <comp lib="0" loc="(130,660)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="a6"/>
</comp>
- <comp lib="1" loc="(190,130)" name="XOR Gate">
+ <comp lib="1" loc="(340,100)" name="XNOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(300,630)" name="OR Gate">
- <a name="facing" val="south"/>
+ <comp lib="1" loc="(280,740)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(300,450)" name="OR Gate">
- <a name="facing" val="south"/>
+ <comp lib="1" loc="(300,330)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(130,180)" name="Tunnel">
+ <comp lib="0" loc="(340,70)" name="Tunnel">
+ <a name="facing" val="south"/>
+ <a name="label" val="FC"/>
+ </comp>
+ <comp lib="0" loc="(690,190)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="b1"/>
+ <a name="label" val="a5"/>
</comp>
- <comp lib="1" loc="(300,780)" name="AND Gate">
+ <comp lib="0" loc="(130,210)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="a1"/>
+ </comp>
+ <comp lib="1" loc="(190,640)" name="XOR Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="1" loc="(300,150)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(300,420)" name="AND Gate">
+ <comp lib="0" loc="(670,250)" name="Tunnel">
+ <a name="label" val="o1"/>
+ </comp>
+ <comp lib="1" loc="(330,670)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
+ <comp lib="1" loc="(310,780)" name="OR Gate">
+ <a name="facing" val="west"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
<comp lib="0" loc="(560,190)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="b5"/>
</comp>
- <comp lib="1" loc="(270,590)" name="AND Gate">
+ <comp lib="1" loc="(300,690)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(240,310)" name="AND Gate">
+ <comp lib="0" loc="(140,70)" name="Tunnel">
+ <a name="facing" val="south"/>
+ <a name="label" val="!A"/>
+ </comp>
+ <comp lib="6" loc="(749,472)" name="Text">
+ <a name="text" val="OPCODES: 000: OR, 001: AND, 010: XOR, 011: ADD, 100: CIN, 101: NAND, 110: XNOR, 111: SUB"/>
+ </comp>
+ <comp lib="1" loc="(280,380)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(770,380)" name="Tunnel">
- <a name="facing" val="south"/>
- <a name="label" val="CC"/>
+ <comp lib="0" loc="(560,160)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="b2"/>
</comp>
- <comp lib="1" loc="(240,220)" name="AND Gate">
+ <comp lib="6" loc="(612,164)" name="Text">
+ <a name="text" val="Input B"/>
+ </comp>
+ <comp lib="1" loc="(270,770)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(300,690)" name="AND Gate">
+ <comp lib="1" loc="(330,220)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
- <comp lib="6" loc="(611,272)" name="Text">
- <a name="text" val="Output"/>
+ <comp lib="1" loc="(190,550)" name="XOR Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(190,640)" name="XOR Gate">
+ <comp lib="1" loc="(190,760)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="6" loc="(746,165)" name="Text">
- <a name="text" val="Input A"/>
+ <comp lib="1" loc="(190,130)" name="XOR Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(780,380)" name="Tunnel">
+ <comp lib="1" loc="(300,720)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="label" val="CI"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(190,220)" name="XOR Gate">
+ <comp lib="1" loc="(340,640)" name="XNOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(300,150)" name="AND Gate">
+ <comp lib="1" loc="(190,670)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(670,240)" name="Tunnel">
- <a name="label" val="o0"/>
+ <comp lib="1" loc="(310,420)" name="OR Gate">
+ <a name="facing" val="west"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(280,740)" name="OR Gate">
+ <comp lib="1" loc="(300,630)" name="OR Gate">
+ <a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
@@ -1139,101 +1082,176 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(190,550)" name="XOR Gate">
+ <comp lib="0" loc="(560,170)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="b3"/>
+ </comp>
+ <comp lib="0" loc="(390,460)" name="Tunnel">
+ <a name="label" val="o4"/>
+ </comp>
+ <comp lib="1" loc="(190,400)" name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(250,280)" name="NOR Gate">
+ <comp lib="1" loc="(250,100)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(190,100)" name="XOR Gate">
+ <comp lib="0" loc="(390,730)" name="Tunnel">
+ <a name="label" val="o7"/>
+ </comp>
+ <comp lib="0" loc="(560,180)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="b4"/>
+ </comp>
+ <comp lib="1" loc="(270,140)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="6" loc="(624,352)" name="Text">
- <a name="text" val="Opcodes"/>
- </comp>
- <comp lib="0" loc="(730,400)" name="Splitter">
- <a name="facing" val="north"/>
- <a name="fanout" val="6"/>
- <a name="incoming" val="6"/>
- <a name="appear" val="right"/>
+ <comp lib="0" loc="(690,210)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="a7"/>
</comp>
- <comp lib="0" loc="(640,440)" name="Constant"/>
- <comp lib="1" loc="(190,760)" name="XOR Gate">
+ <comp lib="1" loc="(340,190)" name="XNOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(390,100)" name="Tunnel">
- <a name="label" val="o0"/>
+ <comp lib="1" loc="(240,580)" name="AND Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(190,460)" name="XOR Gate">
+ <comp lib="1" loc="(250,190)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(130,540)" name="Tunnel">
+ <comp lib="0" loc="(130,180)" name="Tunnel">
<a name="facing" val="east"/>
- <a name="label" val="b5"/>
+ <a name="label" val="b1"/>
</comp>
- <comp lib="1" loc="(300,720)" name="OR Gate">
+ <comp lib="1" loc="(340,460)" name="XNOR Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="0" loc="(390,370)" name="Tunnel">
+ <a name="label" val="o3"/>
+ </comp>
+ <comp lib="1" loc="(300,810)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(330,580)" name="AND Gate">
+ <comp lib="0" loc="(390,640)" name="Tunnel">
+ <a name="label" val="o6"/>
+ </comp>
+ <comp lib="1" loc="(250,550)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(130,450)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="b4"/>
+ <comp lib="0" loc="(590,400)" name="Pin">
+ <a name="width" val="3"/>
+ <a name="tristate" val="false"/>
</comp>
- <comp lib="1" loc="(330,310)" name="AND Gate">
+ <comp lib="1" loc="(300,510)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(130,90)" name="Tunnel">
- <a name="facing" val="east"/>
- <a name="label" val="b0"/>
+ <comp lib="1" loc="(270,500)" name="AND Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
+ </comp>
+ <comp lib="1" loc="(190,460)" name="XOR Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(300,270)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(270,500)" name="AND Gate">
+ <comp lib="1" loc="(330,760)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(300,510)" name="AND Gate">
+ <comp lib="1" loc="(300,180)" name="OR Gate">
+ <a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
</comp>
- </circuit>
- <circuit name="GPR">
- <a name="circuit" val="GPR"/>
- <a name="clabel" val=""/>
- <a name="clabelup" val="east"/>
- <a name="clabelfont" val="SansSerif plain 12"/>
- <appear>
- <rect fill="none" height="30" stroke="#000000" stroke-width="2" width="49" x="50" y="70"/>
- <text font-family="SansSerif" font-size="12" text-anchor="middle" x="74" y="89">GPR</text>
- <circ-port height="8" pin="100,90" width="8" x="86" y="96"/>
- <circ-port height="8" pin="140,130" width="8" x="86" y="66"/>
- <circ-port height="10" pin="140,230" width="10" x="45" y="75"/>
- <circ-port height="10" pin="140,260" width="10" x="45" y="85"/>
- <circ-port height="8" pin="150,340" width="8" x="56" y="96"/>
- <circ-port height="8" pin="240,340" width="8" x="66" y="96"/>
- <circ-port height="8" pin="110,60" width="8" x="56" y="66"/>
- <circ-port height="8" pin="130,200" width="8" x="96" y="86"/>
- <circ-anchor facing="east" height="6" width="6" x="47" y="97"/>
- </appear>
- <wire from="(220,250)" to="(220,320)"/>
+ <comp lib="1" loc="(240,220)" name="AND Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="0" loc="(640,440)" name="Constant"/>
+ <comp lib="0" loc="(130,300)" name="Tunnel">
+ <a name="facing" val="east"/>
+ <a name="label" val="a2"/>
+ </comp>
+ <comp lib="1" loc="(240,490)" name="AND Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="1" loc="(340,730)" name="XNOR Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="1" loc="(340,370)" name="XNOR Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="1" loc="(300,360)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="6" loc="(746,165)" name="Text">
+ <a name="text" val="Input A"/>
+ </comp>
+ <comp lib="1" loc="(240,760)" name="AND Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="0" loc="(760,380)" name="Tunnel">
+ <a name="facing" val="south"/>
+ <a name="label" val="OR"/>
+ </comp>
+ <comp lib="1" loc="(270,590)" name="AND Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
+ </comp>
+ <comp lib="1" loc="(310,600)" name="OR Gate">
+ <a name="facing" val="west"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="1" loc="(340,550)" name="XNOR Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ </circuit>
+ <circuit name="GPR">
+ <a name="circuit" val="GPR"/>
+ <a name="clabel" val=""/>
+ <a name="clabelup" val="east"/>
+ <a name="clabelfont" val="SansSerif plain 12"/>
+ <appear>
+ <rect fill="none" height="30" stroke="#000000" stroke-width="2" width="49" x="50" y="70"/>
+ <text font-family="SansSerif" font-size="12" text-anchor="middle" x="74" y="89">GPR</text>
+ <circ-port height="8" pin="100,90" width="8" x="86" y="96"/>
+ <circ-port height="8" pin="140,130" width="8" x="86" y="66"/>
+ <circ-port height="10" pin="140,230" width="10" x="45" y="75"/>
+ <circ-port height="10" pin="140,260" width="10" x="45" y="85"/>
+ <circ-port height="8" pin="150,340" width="8" x="56" y="96"/>
+ <circ-port height="8" pin="240,340" width="8" x="66" y="96"/>
+ <circ-port height="8" pin="110,60" width="8" x="56" y="66"/>
+ <circ-port height="8" pin="130,200" width="8" x="96" y="86"/>
+ <circ-anchor facing="east" height="6" width="6" x="47" y="97"/>
+ </appear>
+ <wire from="(220,250)" to="(220,320)"/>
<wire from="(210,120)" to="(210,190)"/>
<wire from="(140,260)" to="(190,260)"/>
<wire from="(180,100)" to="(180,120)"/>
@@ -1295,50 +1313,17 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(180,250)" to="(190,250)"/>
<wire from="(220,250)" to="(230,250)"/>
<wire from="(300,250)" to="(300,310)"/>
- <comp lib="0" loc="(150,340)" name="Pin">
- <a name="width" val="2"/>
- <a name="tristate" val="false"/>
- </comp>
- <comp lib="1" loc="(270,260)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="8"/>
- </comp>
- <comp lib="0" loc="(240,340)" name="Pin">
- <a name="facing" val="west"/>
- <a name="width" val="2"/>
- <a name="tristate" val="false"/>
- </comp>
- <comp lib="2" loc="(160,80)" name="Decoder">
- <a name="facing" val="south"/>
- <a name="select" val="2"/>
- <a name="enable" val="false"/>
- </comp>
<comp lib="0" loc="(100,70)" name="Constant">
<a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(230,260)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="8"/>
- </comp>
- <comp lib="1" loc="(250,230)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="8"/>
- </comp>
- <comp lib="0" loc="(200,180)" name="Constant"/>
<comp lib="0" loc="(100,90)" name="Pin">
<a name="width" val="2"/>
<a name="tristate" val="false"/>
</comp>
- <comp lib="0" loc="(160,180)" name="Constant"/>
- <comp lib="1" loc="(210,230)" name="Controlled Buffer">
+ <comp lib="0" loc="(110,60)" name="Pin">
<a name="facing" val="south"/>
- <a name="width" val="8"/>
- </comp>
- <comp lib="2" loc="(150,340)" name="Decoder">
- <a name="facing" val="north"/>
- <a name="select" val="2"/>
- <a name="enable" val="false"/>
+ <a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(240,180)" name="Constant"/>
<comp lib="4" loc="(230,170)" name="Register"/>
@@ -1347,60 +1332,93 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(140,230)" name="Pin">
- <a name="output" val="true"/>
+ <comp lib="0" loc="(200,180)" name="Constant"/>
+ <comp lib="0" loc="(160,180)" name="Constant"/>
+ <comp lib="0" loc="(310,260)" name="Constant">
+ <a name="facing" val="west"/>
<a name="width" val="8"/>
- <a name="labelloc" val="east"/>
+ <a name="value" val="0x0"/>
</comp>
+ <comp lib="0" loc="(150,340)" name="Pin">
+ <a name="width" val="2"/>
+ <a name="tristate" val="false"/>
+ </comp>
+ <comp lib="0" loc="(130,200)" name="Pin">
+ <a name="tristate" val="false"/>
+ </comp>
+ <comp lib="4" loc="(270,170)" name="Register"/>
<comp lib="0" loc="(140,260)" name="Pin">
<a name="output" val="true"/>
<a name="width" val="8"/>
<a name="labelloc" val="east"/>
</comp>
- <comp lib="1" loc="(170,230)" name="Controlled Buffer">
- <a name="facing" val="south"/>
+ <comp lib="1" loc="(290,260)" name="Controlled Buffer">
+ <a name="facing" val="west"/>
<a name="width" val="8"/>
</comp>
- <comp lib="1" loc="(290,230)" name="Controlled Buffer">
+ <comp lib="0" loc="(240,340)" name="Pin">
<a name="facing" val="west"/>
- <a name="width" val="8"/>
+ <a name="width" val="2"/>
+ <a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(140,130)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
</comp>
- <comp lib="1" loc="(190,260)" name="Controlled Buffer">
+ <comp lib="0" loc="(140,230)" name="Pin">
+ <a name="output" val="true"/>
+ <a name="width" val="8"/>
+ <a name="labelloc" val="east"/>
+ </comp>
+ <comp lib="1" loc="(270,260)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="8"/>
</comp>
- <comp lib="0" loc="(310,260)" name="Constant">
- <a name="facing" val="west"/>
+ <comp lib="1" loc="(230,260)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
<a name="width" val="8"/>
- <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(130,200)" name="Pin">
- <a name="tristate" val="false"/>
+ <comp lib="1" loc="(210,230)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="8"/>
+ </comp>
+ <comp lib="1" loc="(190,260)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="8"/>
</comp>
- <comp lib="4" loc="(270,170)" name="Register"/>
- <comp lib="4" loc="(190,170)" name="Register"/>
<comp lib="2" loc="(240,340)" name="Decoder">
<a name="facing" val="north"/>
<a name="selloc" val="tr"/>
<a name="select" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(110,60)" name="Pin">
+ <comp lib="4" loc="(190,170)" name="Register"/>
+ <comp lib="1" loc="(290,230)" name="Controlled Buffer">
+ <a name="facing" val="west"/>
+ <a name="width" val="8"/>
+ </comp>
+ <comp lib="1" loc="(250,230)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="tristate" val="false"/>
+ <a name="width" val="8"/>
</comp>
- <comp lib="0" loc="(310,230)" name="Constant">
- <a name="facing" val="west"/>
+ <comp lib="2" loc="(160,80)" name="Decoder">
+ <a name="facing" val="south"/>
+ <a name="select" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="2" loc="(150,340)" name="Decoder">
+ <a name="facing" val="north"/>
+ <a name="select" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="1" loc="(170,230)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
<a name="width" val="8"/>
- <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(290,260)" name="Controlled Buffer">
+ <comp lib="0" loc="(310,230)" name="Constant">
<a name="facing" val="west"/>
<a name="width" val="8"/>
+ <a name="value" val="0x0"/>
</comp>
</circuit>
<circuit name="ISD">
@@ -1432,7 +1450,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<circ-anchor facing="east" height="6" width="6" x="47" y="57"/>
</appear>
<wire from="(190,580)" to="(250,580)"/>
- <wire from="(430,110)" to="(430,120)"/>
<wire from="(250,1530)" to="(250,1550)"/>
<wire from="(170,960)" to="(280,960)"/>
<wire from="(360,1320)" to="(360,1340)"/>
@@ -1476,6 +1493,7 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(830,1280)" to="(830,1300)"/>
<wire from="(220,540)" to="(220,630)"/>
<wire from="(240,880)" to="(240,970)"/>
+ <wire from="(390,290)" to="(430,290)"/>
<wire from="(830,110)" to="(850,110)"/>
<wire from="(870,470)" to="(890,470)"/>
<wire from="(220,450)" to="(250,450)"/>
@@ -1690,7 +1708,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(200,660)" to="(200,750)"/>
<wire from="(220,360)" to="(220,450)"/>
<wire from="(240,1240)" to="(280,1240)"/>
- <wire from="(390,110)" to="(430,110)"/>
<wire from="(170,600)" to="(270,600)"/>
<wire from="(220,270)" to="(250,270)"/>
<wire from="(870,290)" to="(890,290)"/>
@@ -1747,6 +1764,7 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(720,600)" to="(730,600)"/>
<wire from="(930,1190)" to="(1010,1190)"/>
<wire from="(840,1240)" to="(840,1290)"/>
+ <wire from="(330,290)" to="(390,290)"/>
<wire from="(930,1140)" to="(930,1150)"/>
<wire from="(850,420)" to="(850,430)"/>
<wire from="(890,780)" to="(890,790)"/>
@@ -1892,6 +1910,7 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(220,180)" to="(220,270)"/>
<wire from="(870,1280)" to="(870,1300)"/>
<wire from="(240,1060)" to="(280,1060)"/>
+ <wire from="(430,290)" to="(470,290)"/>
<wire from="(870,110)" to="(890,110)"/>
<wire from="(220,90)" to="(250,90)"/>
<wire from="(910,470)" to="(930,470)"/>
@@ -1917,6 +1936,7 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(890,150)" to="(890,160)"/>
<wire from="(190,1120)" to="(250,1120)"/>
<wire from="(210,820)" to="(270,820)"/>
+ <wire from="(390,290)" to="(390,300)"/>
<wire from="(230,530)" to="(280,530)"/>
<wire from="(420,1340)" to="(420,1490)"/>
<wire from="(200,930)" to="(200,1020)"/>
@@ -1947,7 +1967,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(720,420)" to="(730,420)"/>
<wire from="(840,1060)" to="(840,1110)"/>
<wire from="(300,1680)" to="(690,1680)"/>
- <wire from="(330,110)" to="(390,110)"/>
<wire from="(930,960)" to="(930,970)"/>
<wire from="(930,1100)" to="(1050,1100)"/>
<wire from="(850,240)" to="(850,250)"/>
@@ -1966,7 +1985,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(1070,780)" to="(1070,840)"/>
<wire from="(400,870)" to="(410,870)"/>
<wire from="(440,1230)" to="(450,1230)"/>
- <wire from="(330,290)" to="(470,290)"/>
<wire from="(1030,420)" to="(1030,480)"/>
<wire from="(360,510)" to="(370,510)"/>
<wire from="(990,60)" to="(990,120)"/>
@@ -2099,7 +2117,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(870,1100)" to="(870,1120)"/>
<wire from="(240,340)" to="(240,430)"/>
<wire from="(240,880)" to="(280,880)"/>
- <wire from="(430,110)" to="(470,110)"/>
<wire from="(910,290)" to="(930,290)"/>
<wire from="(850,1190)" to="(870,1190)"/>
<wire from="(240,250)" to="(270,250)"/>
@@ -2126,7 +2143,6 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(930,330)" to="(930,340)"/>
<wire from="(210,640)" to="(270,640)"/>
<wire from="(230,350)" to="(280,350)"/>
- <wire from="(390,110)" to="(390,120)"/>
<wire from="(1090,1450)" to="(1090,1480)"/>
<wire from="(170,1320)" to="(280,1320)"/>
<wire from="(180,410)" to="(180,500)"/>
@@ -2176,6 +2192,7 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(930,1010)" to="(1090,1010)"/>
<wire from="(400,690)" to="(410,690)"/>
<wire from="(440,1050)" to="(450,1050)"/>
+ <wire from="(330,110)" to="(470,110)"/>
<wire from="(1030,240)" to="(1030,300)"/>
<wire from="(360,330)" to="(370,330)"/>
<wire from="(570,420)" to="(570,480)"/>
@@ -2338,6 +2355,7 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(930,150)" to="(930,160)"/>
<wire from="(1010,1190)" to="(1010,1200)"/>
<wire from="(200,1410)" to="(260,1410)"/>
+ <wire from="(430,290)" to="(430,300)"/>
<wire from="(170,1140)" to="(280,1140)"/>
<wire from="(790,740)" to="(830,740)"/>
<wire from="(180,230)" to="(180,320)"/>
@@ -2546,1545 +2564,1616 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(520,510)" to="(530,510)"/>
<wire from="(880,430)" to="(880,480)"/>
<wire from="(600,1230)" to="(610,1230)"/>
- <comp lib="1" loc="(330,1100)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="SB"/>
- <a name="negate2" val="true"/>
- <a name="negate6" val="true"/>
+ <comp lib="1" loc="(860,1290)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="0" loc="(790,930)" name="Constant">
+ <comp lib="1" loc="(640,960)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(350,120)" name="Constant">
+ <comp lib="0" loc="(440,60)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(350,840)" name="Constant">
+ <comp lib="2" loc="(930,510)" name="Multiplexer">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(280,270)" name="Constant"/>
- <comp lib="0" loc="(590,1020)" name="Constant">
+ <comp lib="0" loc="(1010,300)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(900,390)" name="Controlled Buffer">
+ <comp lib="1" loc="(520,600)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="2" loc="(850,240)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(390,930)" name="Constant">
+ <comp lib="1" loc="(680,420)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(350,1110)" name="Constant">
+ <comp lib="2" loc="(850,510)" name="Multiplexer">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(590,390)" name="Constant">
+ <comp lib="2" loc="(850,330)" name="Multiplexer">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="1" loc="(520,1050)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="0" loc="(280,480)" name="Constant"/>
+ <comp lib="0" loc="(940,280)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,540)" name="Constant"/>
- <comp lib="1" loc="(600,330)" name="OR Gate">
+ <comp lib="1" loc="(400,150)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(180,1450)" name="Splitter">
+ <comp lib="1" loc="(860,840)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ </comp>
+ <comp lib="0" loc="(440,1600)" name="Pin">
<a name="facing" val="north"/>
- <a name="appear" val="center"/>
+ <a name="width" val="8"/>
+ <a name="tristate" val="false"/>
</comp>
- <comp lib="0" loc="(1010,660)" name="Constant">
+ <comp lib="1" loc="(360,510)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="1" loc="(560,1140)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="2" loc="(930,420)" name="Multiplexer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="1" loc="(330,470)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="LLI"/>
+ <a name="negate6" val="true"/>
+ <a name="negate7" val="true"/>
+ </comp>
+ <comp lib="0" loc="(390,840)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(760,1230)" name="OR Gate">
+ <comp lib="1" loc="(1060,1050)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(520,1230)" name="OR Gate">
+ <comp lib="0" loc="(940,910)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ </comp>
+ <comp lib="1" loc="(940,300)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ </comp>
+ <comp lib="0" loc="(860,730)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ </comp>
+ <comp lib="1" loc="(1060,510)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(400,1320)" name="OR Gate">
+ <comp lib="1" loc="(680,1050)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(400,1050)" name="OR Gate">
+ <comp lib="0" loc="(1010,750)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="0" loc="(970,120)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="0" loc="(280,90)" name="Constant"/>
+ <comp lib="0" loc="(510,930)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="1" loc="(1020,510)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(1060,420)" name="OR Gate">
+ <comp lib="1" loc="(560,1050)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(280,1260)" name="Constant"/>
- <comp lib="2" loc="(890,1050)" name="Multiplexer">
+ <comp lib="0" loc="(510,660)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="1" loc="(480,870)" name="OR Gate">
<a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="2" loc="(290,1360)" name="Multiplexer">
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(980,870)" name="OR Gate">
+ <comp lib="1" loc="(1060,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(900,820)" name="Constant">
+ <comp lib="1" loc="(800,150)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="0" loc="(710,750)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(430,660)" name="Constant">
+ <comp lib="0" loc="(280,310)" name="Constant"/>
+ <comp lib="0" loc="(750,210)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(630,390)" name="Constant">
+ <comp lib="0" loc="(550,1020)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(860,1200)" name="Controlled Buffer">
+ <comp lib="1" loc="(980,600)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(900,660)" name="Controlled Buffer">
+ <comp lib="1" loc="(600,420)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="4" loc="(710,1580)" name="Register">
- <a name="width" val="1"/>
- <a name="trigger" val="falling"/>
+ <comp lib="1" loc="(440,1050)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(970,750)" name="Constant">
+ <comp lib="1" loc="(330,830)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="POP"/>
+ <a name="negate2" val="true"/>
+ <a name="negate3" val="true"/>
+ <a name="negate4" val="true"/>
+ <a name="negate6" val="true"/>
+ </comp>
+ <comp lib="1" loc="(720,960)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="0" loc="(390,930)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(480,780)" name="OR Gate">
+ <comp lib="1" loc="(800,780)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(280,1110)" name="Constant"/>
- <comp lib="0" loc="(670,120)" name="Constant">
+ <comp lib="1" loc="(860,300)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="1" loc="(940,480)" name="Controlled Buffer">
+ <comp lib="1" loc="(940,390)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
</comp>
- <comp lib="1" loc="(440,600)" name="OR Gate">
+ <comp lib="1" loc="(440,150)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(290,1360)" name="Multiplexer">
+ <comp lib="1" loc="(680,330)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="6" loc="(996,1558)" name="Text">
+ <a name="text" val="WRITE ENABLE"/>
+ </comp>
+ <comp lib="0" loc="(280,320)" name="Constant"/>
+ <comp lib="1" loc="(600,240)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="2" loc="(930,870)" name="Multiplexer">
+ <a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(860,640)" name="Constant">
+ <comp lib="2" loc="(890,150)" name="Multiplexer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="1" loc="(900,1200)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ </comp>
+ <comp lib="0" loc="(430,1200)" name="Constant">
+ <a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,330)" name="Constant"/>
- <comp lib="1" loc="(330,470)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="LLI"/>
- <a name="negate6" val="true"/>
- <a name="negate7" val="true"/>
+ <comp lib="0" loc="(470,570)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(1050,1200)" name="Constant">
+ <comp lib="0" loc="(350,1110)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(800,420)" name="OR Gate">
+ <comp lib="1" loc="(1060,870)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="6" loc="(187,1633)" name="Text">
- <a name="text" val="ALU"/>
+ <comp lib="0" loc="(750,1200)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(330,650)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="JMP"/>
- <a name="negate2" val="true"/>
- <a name="negate3" val="true"/>
- <a name="negate4" val="true"/>
- <a name="negate5" val="true"/>
- <a name="negate6" val="true"/>
+ <comp lib="0" loc="(960,1520)" name="Pin">
+ <a name="facing" val="north"/>
+ <a name="output" val="true"/>
+ <a name="labelloc" val="east"/>
+ </comp>
+ <comp lib="0" loc="(350,570)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="0" loc="(260,1390)" name="Constant">
+ <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="0" loc="(1050,300)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="1" loc="(1060,960)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="1" loc="(980,960)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="1" loc="(940,660)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ </comp>
+ <comp lib="0" loc="(280,460)" name="Constant"/>
+ <comp lib="0" loc="(600,60)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(560,1230)" name="OR Gate">
+ <comp lib="1" loc="(980,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(800,1520)" name="Pin">
- <a name="facing" val="north"/>
- <a name="output" val="true"/>
- <a name="labelloc" val="east"/>
+ <comp lib="0" loc="(260,1430)" name="Constant">
+ <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(520,150)" name="OR Gate">
+ <comp lib="1" loc="(480,960)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(760,510)" name="OR Gate">
+ <comp lib="0" loc="(680,60)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(360,780)" name="OR Gate">
+ <comp lib="2" loc="(890,690)" name="Multiplexer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(800,60)" name="Constant">
+ <comp lib="0" loc="(940,1090)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(940,930)" name="Controlled Buffer">
+ <comp lib="0" loc="(900,190)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1020,690)" name="OR Gate">
+ <comp lib="1" loc="(640,870)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(400,600)" name="OR Gate">
+ <comp lib="0" loc="(970,660)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(760,420)" name="OR Gate">
+ <comp lib="1" loc="(900,750)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="0" loc="(790,660)" name="Constant">
+ <comp lib="0" loc="(280,100)" name="Constant"/>
+ <comp lib="0" loc="(1050,210)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="6" loc="(781,1595)" name="Text">
- <a name="text" val="JMP"/>
- </comp>
- <comp lib="0" loc="(230,1540)" name="Splitter">
- <a name="facing" val="north"/>
- <a name="incoming" val="8"/>
- <a name="bit1" val="0"/>
- <a name="bit2" val="0"/>
- <a name="bit3" val="0"/>
- <a name="bit4" val="1"/>
- <a name="bit5" val="1"/>
- <a name="bit6" val="1"/>
- <a name="bit7" val="1"/>
+ <comp lib="0" loc="(1010,660)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(860,840)" name="Controlled Buffer">
+ <comp lib="0" loc="(940,190)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1060,330)" name="OR Gate">
+ <comp lib="1" loc="(360,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(480,150)" name="OR Gate">
+ <comp lib="1" loc="(760,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(480,1320)" name="OR Gate">
- <a name="facing" val="south"/>
+ <comp lib="1" loc="(260,1650)" name="AND Gate">
+ <a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(710,480)" name="Constant">
+ <comp lib="0" loc="(350,750)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(800,780)" name="OR Gate">
+ <comp lib="1" loc="(900,1110)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="0" loc="(390,210)" name="Constant">
+ <comp lib="1" loc="(1060,1140)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(520,780)" name="OR Gate">
+ <comp lib="1" loc="(520,1320)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(940,820)" name="Constant">
+ <comp lib="0" loc="(860,190)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- </comp>
- <comp lib="0" loc="(260,1430)" name="Constant">
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,220)" name="Constant"/>
- <comp lib="1" loc="(760,330)" name="OR Gate">
+ <comp lib="1" loc="(400,780)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(80,50)" name="Pin">
- <a name="width" val="8"/>
- <a name="tristate" val="false"/>
+ <comp lib="0" loc="(1050,1200)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(940,1110)" name="Controlled Buffer">
+ <comp lib="0" loc="(970,930)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(800,330)" name="OR Gate">
+ <comp lib="0" loc="(710,1020)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(260,1390)" name="Constant">
- <a name="width" val="2"/>
+ <comp lib="0" loc="(470,750)" name="Constant">
+ <a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(900,190)" name="Constant">
+ <comp lib="0" loc="(390,390)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(900,550)" name="Constant">
+ <comp lib="0" loc="(550,840)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(290,1400)" name="Multiplexer">
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <comp lib="1" loc="(760,510)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(400,690)" name="OR Gate">
+ <comp lib="1" loc="(440,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(520,690)" name="OR Gate">
+ <comp lib="1" loc="(980,330)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(600,510)" name="OR Gate">
+ <comp lib="1" loc="(640,1140)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(970,930)" name="Constant">
+ <comp lib="0" loc="(790,390)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(770,1570)" name="AND Gate">
+ <comp lib="1" loc="(800,1050)" name="OR Gate">
+ <a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
- <a name="negate1" val="true"/>
</comp>
- <comp lib="2" loc="(890,510)" name="Multiplexer">
+ <comp lib="0" loc="(390,1020)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(680,1140)" name="OR Gate">
+ <comp lib="1" loc="(1060,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(930,780)" name="Multiplexer">
+ <comp lib="0" loc="(900,910)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1060,1230)" name="OR Gate">
+ <comp lib="1" loc="(1020,1050)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(850,960)" name="Multiplexer">
+ <comp lib="0" loc="(280,420)" name="Constant"/>
+ <comp lib="1" loc="(800,330)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(900,1020)" name="Controlled Buffer">
+ <comp lib="1" loc="(360,600)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(750,390)" name="Constant">
+ <comp lib="1" loc="(440,690)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(750,930)" name="Constant">
+ <comp lib="0" loc="(630,300)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(590,750)" name="Constant">
+ <comp lib="0" loc="(860,460)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(560,420)" name="OR Gate">
+ <comp lib="1" loc="(640,780)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(800,600)" name="OR Gate">
+ <comp lib="1" loc="(800,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(970,300)" name="Constant">
+ <comp lib="0" loc="(940,820)" name="Constant">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="0" loc="(710,750)" name="Constant">
+ <comp lib="1" loc="(900,120)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="1" loc="(1060,600)" name="OR Gate">
+ <comp lib="1" loc="(330,380)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="CIN"/>
+ <a name="negate0" val="true"/>
+ <a name="negate2" val="true"/>
+ <a name="negate3" val="true"/>
+ </comp>
+ <comp lib="0" loc="(750,300)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(710,210)" name="Constant">
+ <comp lib="0" loc="(510,570)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(680,240)" name="OR Gate">
+ <comp lib="1" loc="(640,150)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(470,1110)" name="Constant">
+ <comp lib="0" loc="(390,750)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(560,870)" name="OR Gate">
+ <comp lib="1" loc="(860,1110)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="1" loc="(360,960)" name="OR Gate">
+ <comp lib="1" loc="(860,750)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="1" loc="(720,510)" name="OR Gate">
+ <comp lib="0" loc="(550,750)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(720,150)" name="OR Gate">
+ <comp lib="0" loc="(590,660)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(960,1520)" name="Pin">
- <a name="facing" val="north"/>
- <a name="output" val="true"/>
- <a name="labelloc" val="east"/>
+ <comp lib="1" loc="(860,570)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="2" loc="(890,240)" name="Multiplexer">
+ <comp lib="1" loc="(860,390)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(980,1320)" name="OR Gate">
+ <comp lib="0" loc="(940,640)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="0" loc="(280,210)" name="Constant"/>
+ <comp lib="1" loc="(560,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(850,330)" name="Multiplexer">
+ <comp lib="0" loc="(790,300)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(860,1090)" name="Constant">
+ <comp lib="0" loc="(900,1000)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(390,300)" name="Constant">
+ <comp lib="6" loc="(920,1558)" name="Text">
+ <a name="text" val="C"/>
+ </comp>
+ <comp lib="1" loc="(720,150)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(600,690)" name="OR Gate">
+ <comp lib="0" loc="(280,180)" name="Constant"/>
+ <comp lib="1" loc="(400,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(790,300)" name="Constant">
+ <comp lib="0" loc="(1010,1020)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(890,1320)" name="Multiplexer">
+ <comp lib="1" loc="(900,840)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(800,960)" name="OR Gate">
+ <comp lib="1" loc="(680,780)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="6" loc="(441,1634)" name="Text">
- <a name="text" val="CUR PC ADDR"/>
+ <comp lib="1" loc="(440,330)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(670,660)" name="Constant">
+ <comp lib="0" loc="(900,550)" name="Constant">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="0" loc="(710,1290)" name="Constant">
+ <comp lib="0" loc="(280,150)" name="Constant"/>
+ <comp lib="0" loc="(710,210)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(930,1320)" name="Multiplexer">
+ <comp lib="1" loc="(760,600)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="1" loc="(280,1520)" name="OR Gate">
- <a name="width" val="8"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(440,510)" name="OR Gate">
+ <comp lib="0" loc="(900,1090)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1060,1050)" name="OR Gate">
+ <comp lib="1" loc="(900,1290)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="1" loc="(840,1520)" name="OR Gate">
+ <comp lib="1" loc="(640,330)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(1020,1140)" name="OR Gate">
+ <comp lib="0" loc="(280,580)" name="Constant"/>
+ <comp lib="1" loc="(400,1140)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(470,660)" name="Constant">
+ <comp lib="0" loc="(790,1200)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(520,600)" name="OR Gate">
+ <comp lib="6" loc="(428,1553)" name="Text">
+ <a name="text" val="ALU OPCODE"/>
+ </comp>
+ <comp lib="1" loc="(900,480)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ </comp>
+ <comp lib="1" loc="(400,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(640,420)" name="OR Gate">
+ <comp lib="1" loc="(720,510)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(280,1270)" name="Constant"/>
<comp lib="0" loc="(860,280)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(970,840)" name="Constant">
+ <comp lib="2" loc="(850,1050)" name="Multiplexer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="0" loc="(940,370)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(680,510)" name="OR Gate">
+ <comp lib="1" loc="(980,690)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(930,60)" name="Constant">
+ <comp lib="0" loc="(970,1020)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(400,780)" name="OR Gate">
+ <comp lib="1" loc="(940,570)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="1" loc="(920,1520)" name="OR Gate">
+ <comp lib="0" loc="(790,210)" name="Constant">
<a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="2" loc="(290,1440)" name="Multiplexer">
<a name="width" val="2"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(280,120)" name="Constant"/>
- <comp lib="0" loc="(670,1290)" name="Constant">
+ <comp lib="0" loc="(510,840)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(390,480)" name="Constant">
+ <comp lib="0" loc="(750,570)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(560,960)" name="OR Gate">
+ <comp lib="1" loc="(600,330)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(980,240)" name="OR Gate">
+ <comp lib="1" loc="(600,870)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(930,330)" name="Multiplexer">
+ <comp lib="0" loc="(900,460)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(360,600)" name="OR Gate">
+ <comp lib="0" loc="(430,660)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1060,1320)" name="OR Gate">
+ <comp lib="0" loc="(510,480)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1100,1510)" name="OR Gate">
+ <comp lib="1" loc="(800,1140)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(430,1520)" name="Pin">
+ <comp lib="0" loc="(230,1540)" name="Splitter">
<a name="facing" val="north"/>
- <a name="output" val="true"/>
- <a name="width" val="3"/>
- <a name="labelloc" val="east"/>
- </comp>
- <comp lib="0" loc="(1050,480)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="incoming" val="8"/>
+ <a name="bit1" val="0"/>
+ <a name="bit2" val="0"/>
+ <a name="bit3" val="0"/>
+ <a name="bit4" val="1"/>
+ <a name="bit5" val="1"/>
+ <a name="bit6" val="1"/>
+ <a name="bit7" val="1"/>
</comp>
- <comp lib="1" loc="(520,510)" name="OR Gate">
+ <comp lib="1" loc="(360,1320)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(1010,390)" name="Constant">
+ <comp lib="0" loc="(280,140)" name="Constant"/>
+ <comp lib="0" loc="(590,210)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(640,60)" name="Constant">
+ <comp lib="0" loc="(790,480)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1020,150)" name="OR Gate">
+ <comp lib="1" loc="(800,870)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(680,780)" name="OR Gate">
+ <comp lib="0" loc="(750,120)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,400)" name="Constant"/>
- <comp lib="1" loc="(480,1140)" name="OR Gate">
+ <comp lib="1" loc="(680,510)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(850,60)" name="Constant">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="value" val="0x0"/>
+ <comp lib="6" loc="(46,114)" name="Text">
+ <a name="text" val="RST"/>
</comp>
- <comp lib="1" loc="(520,1050)" name="OR Gate">
+ <comp lib="1" loc="(800,960)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(1060,60)" name="Constant">
+ <comp lib="1" loc="(360,870)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(850,510)" name="Multiplexer">
+ <comp lib="1" loc="(720,690)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
<comp lib="2" loc="(850,1140)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(430,750)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="1" loc="(600,960)" name="OR Gate">
+ <comp lib="1" loc="(480,510)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(790,840)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="0" loc="(350,300)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="1" loc="(940,1020)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- </comp>
- <comp lib="2" loc="(850,150)" name="Multiplexer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="0" loc="(590,1200)" name="Constant">
+ <comp lib="0" loc="(710,480)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(930,510)" name="Multiplexer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="0" loc="(350,930)" name="Constant">
+ <comp lib="0" loc="(590,120)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(360,1050)" name="OR Gate">
+ <comp lib="1" loc="(600,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(900,1200)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- </comp>
- <comp lib="0" loc="(940,460)" name="Constant">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <comp lib="4" loc="(1200,1650)" name="Register">
+ <a name="width" val="1"/>
+ <a name="trigger" val="falling"/>
</comp>
- <comp lib="1" loc="(860,1020)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <comp lib="6" loc="(781,1595)" name="Text">
+ <a name="text" val="JMP"/>
</comp>
- <comp lib="0" loc="(900,370)" name="Constant">
+ <comp lib="2" loc="(890,510)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="0" loc="(430,1020)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(890,780)" name="Multiplexer">
+ <comp lib="2" loc="(930,780)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(670,210)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <comp lib="0" loc="(610,1510)" name="Splitter">
+ <a name="facing" val="north"/>
+ <a name="appear" val="center"/>
</comp>
- <comp lib="0" loc="(280,480)" name="Constant"/>
- <comp lib="0" loc="(280,410)" name="Constant"/>
- <comp lib="0" loc="(750,1020)" name="Constant">
+ <comp lib="0" loc="(470,840)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(980,330)" name="OR Gate">
+ <comp lib="1" loc="(1020,690)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(430,1510)" name="Splitter">
- <a name="facing" val="north"/>
- <a name="fanout" val="3"/>
- <a name="incoming" val="3"/>
- <a name="appear" val="center"/>
- </comp>
- <comp lib="0" loc="(570,1600)" name="Pin">
+ <comp lib="0" loc="(760,1520)" name="Pin">
<a name="facing" val="north"/>
<a name="output" val="true"/>
- <a name="width" val="8"/>
<a name="labelloc" val="east"/>
</comp>
- <comp lib="1" loc="(980,600)" name="OR Gate">
- <a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="1" loc="(1020,870)" name="OR Gate">
+ <comp lib="0" loc="(430,480)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(680,960)" name="OR Gate">
+ <comp lib="1" loc="(720,1050)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(600,870)" name="OR Gate">
+ <comp lib="1" loc="(1060,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(330,1190)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="SP"/>
- <a name="negate6" val="true"/>
- </comp>
- <comp lib="0" loc="(280,390)" name="Constant"/>
- <comp lib="0" loc="(860,910)" name="Constant">
+ <comp lib="1" loc="(900,1020)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(710,300)" name="Constant">
+ <comp lib="0" loc="(670,570)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,550)" name="Constant"/>
- <comp lib="0" loc="(970,1290)" name="Constant">
+ <comp lib="0" loc="(430,570)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(480,960)" name="OR Gate">
+ <comp lib="0" loc="(590,1020)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(760,1140)" name="OR Gate">
+ <comp lib="1" loc="(600,150)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(1020,600)" name="OR Gate">
+ <comp lib="1" loc="(520,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="4" loc="(260,1580)" name="Register"/>
- <comp lib="2" loc="(890,870)" name="Multiplexer">
+ <comp lib="0" loc="(970,210)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="1" loc="(330,200)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="NAND"/>
- <a name="negate1" val="true"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(520,1140)" name="OR Gate">
+ <comp lib="0" loc="(750,1290)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(930,600)" name="Multiplexer">
+ <comp lib="1" loc="(860,660)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(520,330)" name="OR Gate">
+ <comp lib="0" loc="(1010,390)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(640,330)" name="OR Gate">
- <a name="facing" val="south"/>
+ <comp lib="1" loc="(1160,1650)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(480,600)" name="OR Gate">
+ <comp lib="0" loc="(860,910)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(360,1140)" name="OR Gate">
+ <comp lib="0" loc="(280,400)" name="Constant"/>
+ <comp lib="1" loc="(980,150)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(360,60)" name="Constant">
+ <comp lib="0" loc="(590,1200)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(440,780)" name="OR Gate">
+ <comp lib="0" loc="(980,60)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(940,910)" name="Constant">
+ <comp lib="0" loc="(670,210)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(760,690)" name="OR Gate">
+ <comp lib="1" loc="(520,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(550,1020)" name="Constant">
+ <comp lib="0" loc="(350,1200)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(560,1050)" name="OR Gate">
- <a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="0" loc="(900,1270)" name="Constant">
+ <comp lib="0" loc="(900,1180)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="6" loc="(881,1559)" name="Text">
- <a name="text" val="B"/>
- </comp>
- <comp lib="0" loc="(1050,120)" name="Constant">
+ <comp lib="0" loc="(1050,750)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(560,510)" name="OR Gate">
+ <comp lib="1" loc="(720,330)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(510,750)" name="Constant">
+ <comp lib="0" loc="(280,1260)" name="Constant"/>
+ <comp lib="2" loc="(930,1230)" name="Multiplexer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="0" loc="(550,930)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(280,280)" name="OR Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(200,1410)" name="Splitter">
+ <a name="facing" val="north"/>
+ <a name="appear" val="center"/>
</comp>
- <comp lib="2" loc="(890,690)" name="Multiplexer">
+ <comp lib="2" loc="(930,240)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(1050,660)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="1" loc="(1020,510)" name="OR Gate">
+ <comp lib="1" loc="(640,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(330,830)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="POP"/>
- <a name="negate2" val="true"/>
- <a name="negate3" val="true"/>
- <a name="negate4" val="true"/>
- <a name="negate6" val="true"/>
- </comp>
- <comp lib="0" loc="(900,640)" name="Constant">
+ <comp lib="0" loc="(940,1180)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(860,1270)" name="Constant">
+ <comp lib="0" loc="(80,50)" name="Pin">
+ <a name="width" val="8"/>
+ <a name="tristate" val="false"/>
+ </comp>
+ <comp lib="1" loc="(600,960)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="0" loc="(940,460)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(1010,930)" name="Constant">
+ <comp lib="1" loc="(600,1050)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(1020,330)" name="OR Gate">
+ <comp lib="1" loc="(760,1320)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(550,480)" name="Constant">
+ <comp lib="0" loc="(280,190)" name="Constant"/>
+ <comp lib="0" loc="(160,50)" name="Splitter">
+ <a name="facing" val="south"/>
+ <a name="fanout" val="8"/>
+ <a name="incoming" val="8"/>
+ </comp>
+ <comp lib="0" loc="(230,1490)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="4"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(590,120)" name="Constant">
+ <comp lib="0" loc="(970,750)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,320)" name="Constant"/>
- <comp lib="0" loc="(860,460)" name="Constant">
+ <comp lib="2" loc="(930,690)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="6" loc="(996,1558)" name="Text">
- <a name="text" val="WRITE ENABLE"/>
+ <comp lib="0" loc="(930,60)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(850,1050)" name="Multiplexer">
+ <comp lib="2" loc="(850,780)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(470,570)" name="Constant">
+ <comp lib="2" loc="(890,1140)" name="Multiplexer">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(980,780)" name="OR Gate">
+ <comp lib="0" loc="(280,1110)" name="Constant"/>
+ <comp lib="1" loc="(360,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(720,1320)" name="OR Gate">
+ <comp lib="1" loc="(1100,1510)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(910,1470)" name="Multiplexer">
+ <comp lib="1" loc="(680,600)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="selloc" val="tr"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(390,1200)" name="Constant">
+ <comp lib="1" loc="(600,780)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(430,930)" name="Constant">
+ <comp lib="0" loc="(670,1200)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="6" loc="(46,114)" name="Text">
- <a name="text" val="RST"/>
- </comp>
- <comp lib="2" loc="(890,150)" name="Multiplexer">
+ <comp lib="2" loc="(850,960)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(900,750)" name="Controlled Buffer">
+ <comp lib="0" loc="(850,60)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(560,150)" name="OR Gate">
+ <comp lib="0" loc="(280,1030)" name="Constant"/>
+ <comp lib="0" loc="(80,110)" name="Pin">
+ <a name="tristate" val="false"/>
+ </comp>
+ <comp lib="0" loc="(970,1290)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="1" loc="(720,1140)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(210,1520)" name="Constant">
- <a name="facing" val="south"/>
- <a name="width" val="4"/>
- <a name="value" val="0x0"/>
+ <comp lib="2" loc="(160,50)" name="Multiplexer">
+ <a name="width" val="8"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(710,1110)" name="Constant">
+ <comp lib="0" loc="(1050,1290)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(670,480)" name="Constant">
+ <comp lib="0" loc="(570,1600)" name="Pin">
+ <a name="facing" val="north"/>
+ <a name="output" val="true"/>
+ <a name="width" val="8"/>
+ <a name="labelloc" val="east"/>
+ </comp>
+ <comp lib="0" loc="(1020,60)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(800,510)" name="OR Gate">
+ <comp lib="1" loc="(640,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(400,60)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="0" loc="(940,640)" name="Constant">
+ <comp lib="0" loc="(1050,120)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(80,80)" name="Pin">
- <a name="tristate" val="false"/>
- </comp>
- <comp lib="1" loc="(1060,780)" name="OR Gate">
+ <comp lib="1" loc="(440,780)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(760,960)" name="OR Gate">
+ <comp lib="0" loc="(670,390)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(680,690)" name="OR Gate">
+ <comp lib="2" loc="(890,1230)" name="Multiplexer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="1" loc="(760,690)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(260,1350)" name="Constant">
- <a name="width" val="2"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="0" loc="(470,1200)" name="Constant">
+ <comp lib="0" loc="(470,930)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(470,840)" name="Constant">
+ <comp lib="0" loc="(280,270)" name="Constant"/>
+ <comp lib="0" loc="(430,1020)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1020,1050)" name="OR Gate">
+ <comp lib="0" loc="(510,750)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(640,870)" name="OR Gate">
+ <comp lib="1" loc="(680,1320)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(940,750)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- </comp>
- <comp lib="1" loc="(480,240)" name="OR Gate">
+ <comp lib="0" loc="(280,410)" name="Constant"/>
+ <comp lib="1" loc="(760,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(720,240)" name="OR Gate">
+ <comp lib="1" loc="(760,330)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(900,280)" name="Constant">
+ <comp lib="2" loc="(910,1470)" name="Multiplexer">
<a name="facing" val="south"/>
+ <a name="selloc" val="tr"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(860,1180)" name="Constant">
+ <comp lib="2" loc="(890,330)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(280,1300)" name="Constant"/>
- <comp lib="0" loc="(1010,120)" name="Constant">
+ <comp lib="0" loc="(390,660)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(480,690)" name="OR Gate">
+ <comp lib="0" loc="(970,570)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(860,730)" name="Constant">
+ <comp lib="0" loc="(640,60)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(520,1320)" name="OR Gate">
+ <comp lib="1" loc="(800,690)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(640,1320)" name="OR Gate">
+ <comp lib="0" loc="(670,300)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(710,390)" name="Constant">
+ <comp lib="0" loc="(630,210)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(940,1290)" name="Controlled Buffer">
+ <comp lib="2" loc="(930,150)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(860,1290)" name="Controlled Buffer">
+ <comp lib="0" loc="(630,390)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(860,550)" name="Constant">
+ <comp lib="0" loc="(280,1290)" name="Constant"/>
+ <comp lib="1" loc="(860,930)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ </comp>
+ <comp lib="0" loc="(720,60)" name="Constant">
+ <a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,1030)" name="Constant"/>
- <comp lib="1" loc="(720,690)" name="OR Gate">
+ <comp lib="1" loc="(940,1200)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="1" loc="(330,1010)" name="AND Gate">
+ <comp lib="1" loc="(330,1100)" name="AND Gate">
<a name="inputs" val="8"/>
- <a name="label" val="LB"/>
- <a name="negate3" val="true"/>
+ <a name="label" val="SB"/>
+ <a name="negate2" val="true"/>
<a name="negate6" val="true"/>
</comp>
- <comp lib="2" loc="(850,420)" name="Multiplexer">
+ <comp lib="0" loc="(750,930)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(290,1440)" name="Multiplexer">
+ <comp lib="2" loc="(890,780)" name="Multiplexer">
+ <a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(1060,960)" name="OR Gate">
+ <comp lib="1" loc="(720,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(600,150)" name="OR Gate">
+ <comp lib="1" loc="(1020,600)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(520,1580)" name="Multiplexer">
- <a name="selloc" val="tr"/>
- <a name="width" val="8"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="0" loc="(350,750)" name="Constant">
+ <comp lib="0" loc="(860,100)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,190)" name="Constant"/>
- <comp lib="1" loc="(600,1230)" name="OR Gate">
+ <comp lib="1" loc="(560,960)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="6" loc="(19,34)" name="Text">
- <a name="text" val="DATA"/>
- </comp>
- <comp lib="0" loc="(280,1120)" name="Constant"/>
- <comp lib="1" loc="(1020,1320)" name="OR Gate">
+ <comp lib="1" loc="(480,1320)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(760,1520)" name="Pin">
- <a name="facing" val="north"/>
- <a name="output" val="true"/>
- <a name="labelloc" val="east"/>
+ <comp lib="2" loc="(850,150)" name="Multiplexer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(630,1200)" name="Constant">
+ <comp lib="6" loc="(839,1559)" name="Text">
+ <a name="text" val="A"/>
+ </comp>
+ <comp lib="0" loc="(470,1200)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(930,870)" name="Multiplexer">
+ <comp lib="1" loc="(720,780)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(160,50)" name="Splitter">
+ <comp lib="1" loc="(520,690)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="fanout" val="8"/>
- <a name="incoming" val="8"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(710,930)" name="Constant">
+ <comp lib="0" loc="(670,1580)" name="Pin">
+ <a name="tristate" val="false"/>
+ </comp>
+ <comp lib="0" loc="(710,300)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(940,390)" name="Controlled Buffer">
+ <comp lib="2" loc="(930,960)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(560,1320)" name="OR Gate">
+ <comp lib="1" loc="(760,780)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="6" loc="(839,1559)" name="Text">
- <a name="text" val="A"/>
- </comp>
- <comp lib="0" loc="(280,100)" name="Constant"/>
- <comp lib="1" loc="(680,1050)" name="OR Gate">
+ <comp lib="1" loc="(600,1320)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(900,840)" name="Controlled Buffer">
+ <comp lib="2" loc="(890,960)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(510,480)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="0" loc="(840,1520)" name="Pin">
+ <comp lib="0" loc="(430,1520)" name="Pin">
<a name="facing" val="north"/>
<a name="output" val="true"/>
- <a name="width" val="2"/>
+ <a name="width" val="3"/>
<a name="labelloc" val="east"/>
</comp>
- <comp lib="0" loc="(520,60)" name="Constant">
+ <comp lib="1" loc="(980,780)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(900,570)" name="Controlled Buffer">
+ <comp lib="6" loc="(610,1554)" name="Text">
+ <a name="text" val="GPR MUX"/>
+ </comp>
+ <comp lib="2" loc="(930,1050)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(480,330)" name="OR Gate">
+ <comp lib="0" loc="(900,1270)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(560,240)" name="OR Gate">
+ <comp lib="0" loc="(1050,660)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="1" loc="(400,690)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(280,1200)" name="Constant"/>
- <comp lib="0" loc="(280,580)" name="Constant"/>
- <comp lib="1" loc="(900,480)" name="Controlled Buffer">
+ <comp lib="0" loc="(280,550)" name="Constant"/>
+ <comp lib="0" loc="(670,840)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(900,1180)" name="Constant">
+ <comp lib="0" loc="(860,1000)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(930,960)" name="Multiplexer">
+ <comp lib="2" loc="(850,1230)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(430,300)" name="Constant">
+ <comp lib="1" loc="(940,210)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="1" loc="(1060,510)" name="OR Gate">
+ <comp lib="0" loc="(710,120)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(930,240)" name="Multiplexer">
+ <comp lib="1" loc="(940,1290)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(330,740)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="PUSH"/>
- <a name="negate2" val="true"/>
- <a name="negate3" val="true"/>
- <a name="negate5" val="true"/>
- <a name="negate6" val="true"/>
+ <comp lib="1" loc="(360,780)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(550,1200)" name="Constant">
+ <comp lib="0" loc="(750,1110)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(860,120)" name="Controlled Buffer">
+ <comp lib="1" loc="(560,510)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(630,840)" name="Constant">
+ <comp lib="1" loc="(480,330)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(330,1280)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="CMP"/>
+ <comp lib="1" loc="(980,870)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(520,420)" name="OR Gate">
+ <comp lib="1" loc="(360,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(860,750)" name="Controlled Buffer">
+ <comp lib="0" loc="(890,60)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(680,420)" name="OR Gate">
+ <comp lib="0" loc="(710,570)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="1" loc="(480,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(750,480)" name="Constant">
+ <comp lib="1" loc="(560,1320)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(930,1140)" name="Multiplexer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <comp lib="0" loc="(180,1450)" name="Splitter">
+ <a name="facing" val="north"/>
+ <a name="appear" val="center"/>
+ </comp>
+ <comp lib="1" loc="(330,200)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="NAND"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="0" loc="(940,280)" name="Constant">
+ <comp lib="0" loc="(280,220)" name="Constant"/>
+ <comp lib="0" loc="(430,840)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(890,420)" name="Multiplexer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <comp lib="2" loc="(320,1530)" name="Multiplexer">
+ <a name="selloc" val="tr"/>
+ <a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(510,570)" name="Constant">
+ <comp lib="0" loc="(710,1290)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(400,150)" name="OR Gate">
+ <comp lib="1" loc="(400,870)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(1020,60)" name="Constant">
+ <comp lib="1" loc="(680,150)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(900,210)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <comp lib="0" loc="(800,1520)" name="Pin">
+ <a name="facing" val="north"/>
+ <a name="output" val="true"/>
+ <a name="labelloc" val="east"/>
</comp>
- <comp lib="1" loc="(330,380)" name="AND Gate">
+ <comp lib="1" loc="(330,290)" name="AND Gate">
<a name="inputs" val="8"/>
- <a name="label" val="CIN"/>
+ <a name="label" val="ADD"/>
<a name="negate0" val="true"/>
+ </comp>
+ <comp lib="1" loc="(330,740)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="PUSH"/>
<a name="negate2" val="true"/>
<a name="negate3" val="true"/>
+ <a name="negate5" val="true"/>
+ <a name="negate6" val="true"/>
</comp>
- <comp lib="1" loc="(1020,960)" name="OR Gate">
+ <comp lib="1" loc="(680,870)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(440,690)" name="OR Gate">
+ <comp lib="1" loc="(400,330)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(480,1050)" name="OR Gate">
+ <comp lib="1" loc="(1020,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(670,840)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="0" loc="(750,210)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="0" loc="(970,390)" name="Constant">
+ <comp lib="4" loc="(260,1580)" name="Register"/>
+ <comp lib="2" loc="(850,1320)" name="Multiplexer">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(800,1050)" name="OR Gate">
+ <comp lib="1" loc="(1060,1320)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(1050,570)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="1" loc="(560,690)" name="OR Gate">
+ <comp lib="1" loc="(640,1320)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(860,370)" name="Constant">
+ <comp lib="0" loc="(1010,840)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(1010,570)" name="Constant">
+ <comp lib="0" loc="(590,1290)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(670,1580)" name="Pin">
- <a name="tristate" val="false"/>
- </comp>
- <comp lib="1" loc="(330,560)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="LUI"/>
- <a name="negate7" val="true"/>
- </comp>
- <comp lib="2" loc="(850,600)" name="Multiplexer">
+ <comp lib="1" loc="(520,510)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(760,1050)" name="OR Gate">
+ <comp lib="1" loc="(440,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(510,840)" name="Constant">
+ <comp lib="0" loc="(790,1020)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(320,1530)" name="Multiplexer">
- <a name="selloc" val="tr"/>
- <a name="width" val="8"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="1" loc="(940,660)" name="Controlled Buffer">
+ <comp lib="0" loc="(350,300)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(800,1230)" name="OR Gate">
+ <comp lib="4" loc="(710,1580)" name="Register">
+ <a name="width" val="1"/>
+ <a name="trigger" val="falling"/>
+ </comp>
+ <comp lib="0" loc="(860,1090)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(430,840)" name="Constant">
+ <comp lib="0" loc="(1010,1110)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(480,510)" name="OR Gate">
+ <comp lib="1" loc="(400,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(900,1110)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- </comp>
- <comp lib="0" loc="(1010,1020)" name="Constant">
+ <comp lib="0" loc="(430,120)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(760,60)" name="Constant">
+ <comp lib="0" loc="(670,480)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(440,1050)" name="OR Gate">
+ <comp lib="2" loc="(850,420)" name="Multiplexer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(1050,930)" name="Constant">
+ <comp lib="0" loc="(970,390)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(600,1320)" name="OR Gate">
+ <comp lib="1" loc="(440,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(430,1110)" name="Constant">
- <a name="facing" val="south"/>
+ <comp lib="0" loc="(260,1350)" name="Constant">
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(360,510)" name="OR Gate">
+ <comp lib="0" loc="(550,1200)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(680,330)" name="OR Gate">
+ <comp lib="0" loc="(400,60)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(1010,1110)" name="Constant">
+ <comp lib="0" loc="(670,1290)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
@@ -4093,1203 +4182,1148 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(680,1520)" name="Pin">
- <a name="facing" val="north"/>
- <a name="output" val="true"/>
- <a name="labelloc" val="east"/>
+ <comp lib="1" loc="(860,480)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="0" loc="(280,130)" name="Constant"/>
- <comp lib="0" loc="(550,930)" name="Constant">
+ <comp lib="0" loc="(860,640)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(790,120)" name="Constant">
+ <comp lib="0" loc="(860,820)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(940,100)" name="Constant">
+ <comp lib="6" loc="(881,1559)" name="Text">
+ <a name="text" val="B"/>
+ </comp>
+ <comp lib="0" loc="(280,1200)" name="Constant"/>
+ <comp lib="0" loc="(710,1200)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(800,870)" name="OR Gate">
+ <comp lib="1" loc="(600,600)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(640,240)" name="OR Gate">
+ <comp lib="1" loc="(600,1140)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(470,930)" name="Constant">
+ <comp lib="1" loc="(520,1140)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(600,780)" name="OR Gate">
+ <comp lib="1" loc="(1060,150)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(1050,300)" name="Constant">
+ <comp lib="0" loc="(900,640)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1020,240)" name="OR Gate">
+ <comp lib="0" loc="(470,1020)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(760,780)" name="OR Gate">
+ <comp lib="1" loc="(900,390)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="0" loc="(480,60)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <comp lib="1" loc="(330,1190)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="SP"/>
+ <a name="negate6" val="true"/>
</comp>
- <comp lib="1" loc="(360,690)" name="OR Gate">
+ <comp lib="1" loc="(1020,780)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(510,930)" name="Constant">
+ <comp lib="1" loc="(520,330)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(980,510)" name="OR Gate">
+ <comp lib="1" loc="(760,960)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(790,1110)" name="Constant">
+ <comp lib="0" loc="(350,1020)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(640,960)" name="OR Gate">
+ <comp lib="1" loc="(360,330)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(670,570)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="0" loc="(280,180)" name="Constant"/>
- <comp lib="6" loc="(333,1633)" name="Text">
- <a name="text" val="MEM POINTER"/>
- </comp>
- <comp lib="0" loc="(900,100)" name="Constant">
+ <comp lib="0" loc="(280,1210)" name="Constant"/>
+ <comp lib="1" loc="(940,1110)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(390,1110)" name="Constant">
+ <comp lib="1" loc="(1060,690)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(510,660)" name="Constant">
+ <comp lib="1" loc="(680,960)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(280,1210)" name="Constant"/>
- <comp lib="2" loc="(890,600)" name="Multiplexer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <comp lib="0" loc="(280,1020)" name="Constant"/>
+ <comp lib="6" loc="(572,1633)" name="Text">
+ <a name="text" val="IMM VALUE"/>
</comp>
- <comp lib="0" loc="(940,730)" name="Constant">
+ <comp lib="0" loc="(1050,480)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(860,300)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- </comp>
- <comp lib="1" loc="(440,960)" name="OR Gate">
+ <comp lib="1" loc="(560,780)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(850,870)" name="Multiplexer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="0" loc="(550,1110)" name="Constant">
+ <comp lib="0" loc="(1010,480)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(850,240)" name="Multiplexer">
+ <comp lib="0" loc="(280,570)" name="Constant"/>
+ <comp lib="0" loc="(860,1180)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(440,150)" name="OR Gate">
+ <comp lib="1" loc="(720,870)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(930,1050)" name="Multiplexer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="1" loc="(640,510)" name="OR Gate">
+ <comp lib="1" loc="(1060,600)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(940,370)" name="Constant">
+ <comp lib="1" loc="(560,870)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(360,1320)" name="OR Gate">
+ <comp lib="1" loc="(480,780)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(190,1600)" name="Pin">
- <a name="facing" val="north"/>
- <a name="width" val="8"/>
- <a name="tristate" val="false"/>
- </comp>
- <comp lib="2" loc="(890,1140)" name="Multiplexer">
+ <comp lib="2" loc="(930,1320)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(360,330)" name="OR Gate">
+ <comp lib="2" loc="(890,1050)" name="Multiplexer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(430,480)" name="Constant">
+ <comp lib="0" loc="(630,750)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(640,600)" name="OR Gate">
- <a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="0" loc="(900,460)" name="Constant">
+ <comp lib="0" loc="(390,120)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(590,1110)" name="Constant">
+ <comp lib="0" loc="(710,840)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,210)" name="Constant"/>
- <comp lib="1" loc="(360,1230)" name="OR Gate">
- <a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="1" loc="(360,240)" name="OR Gate">
+ <comp lib="1" loc="(520,870)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(600,60)" name="Constant">
+ <comp lib="0" loc="(590,390)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(860,570)" name="Controlled Buffer">
+ <comp lib="2" loc="(890,240)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(670,1200)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="1" loc="(760,240)" name="OR Gate">
+ <comp lib="1" loc="(480,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(750,120)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="1" loc="(440,330)" name="OR Gate">
+ <comp lib="1" loc="(520,150)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(720,1140)" name="OR Gate">
+ <comp lib="1" loc="(680,690)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(680,150)" name="OR Gate">
+ <comp lib="1" loc="(760,1050)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(970,1110)" name="Constant">
+ <comp lib="0" loc="(430,930)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="6" loc="(647,1605)" name="Text">
- <a name="text" val="JMP FLAG"/>
- </comp>
- <comp lib="6" loc="(44,85)" name="Text">
- <a name="text" val="CLK"/>
- </comp>
- <comp lib="4" loc="(110,50)" name="Register">
- <a name="trigger" val="falling"/>
- </comp>
- <comp lib="0" loc="(550,1290)" name="Constant">
+ <comp lib="1" loc="(360,150)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(790,1290)" name="Constant">
+ <comp lib="0" loc="(590,750)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(920,1520)" name="Pin">
+ <comp lib="0" loc="(280,1270)" name="Constant"/>
+ <comp lib="0" loc="(840,1520)" name="Pin">
<a name="facing" val="north"/>
<a name="output" val="true"/>
<a name="width" val="2"/>
<a name="labelloc" val="east"/>
</comp>
- <comp lib="1" loc="(330,110)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="OR"/>
- <a name="negate0" val="true"/>
- <a name="negate1" val="true"/>
+ <comp lib="1" loc="(980,510)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(930,150)" name="Multiplexer">
+ <comp lib="2" loc="(890,600)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(220,1490)" name="Splitter">
- <a name="facing" val="north"/>
- <a name="incoming" val="4"/>
- <a name="bit1" val="0"/>
- <a name="bit2" val="1"/>
- <a name="bit3" val="1"/>
- </comp>
- <comp lib="1" loc="(940,840)" name="Controlled Buffer">
+ <comp lib="0" loc="(1010,120)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1060,1140)" name="OR Gate">
+ <comp lib="1" loc="(800,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(630,120)" name="Constant">
+ <comp lib="0" loc="(550,660)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(390,840)" name="Constant">
+ <comp lib="1" loc="(760,1140)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(710,1200)" name="Constant">
+ <comp lib="0" loc="(1050,390)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(600,600)" name="OR Gate">
+ <comp lib="1" loc="(360,690)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(860,1000)" name="Constant">
+ <comp lib="0" loc="(280,490)" name="Constant"/>
+ <comp lib="1" loc="(940,1020)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(890,60)" name="Constant">
+ <comp lib="1" loc="(940,480)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(550,750)" name="Constant">
+ <comp lib="0" loc="(750,750)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(940,570)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- </comp>
- <comp lib="0" loc="(1050,1020)" name="Constant">
+ <comp lib="0" loc="(350,930)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(860,480)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- </comp>
- <comp lib="0" loc="(280,420)" name="Constant"/>
- <comp lib="1" loc="(440,870)" name="OR Gate">
- <a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="1" loc="(400,870)" name="OR Gate">
+ <comp lib="1" loc="(400,600)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(350,570)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="6" loc="(682,1553)" name="Text">
- <a name="text" val="A MUX"/>
- </comp>
- <comp lib="2" loc="(930,1230)" name="Multiplexer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="0" loc="(280,490)" name="Constant"/>
- <comp lib="1" loc="(860,390)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- </comp>
- <comp lib="0" loc="(670,930)" name="Constant">
+ <comp lib="0" loc="(760,60)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,1020)" name="Constant"/>
- <comp lib="0" loc="(710,120)" name="Constant">
+ <comp lib="0" loc="(710,390)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(750,300)" name="Constant">
+ <comp lib="0" loc="(350,840)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(640,1230)" name="OR Gate">
+ <comp lib="1" loc="(720,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(980,690)" name="OR Gate">
+ <comp lib="0" loc="(430,1510)" name="Splitter">
+ <a name="facing" val="north"/>
+ <a name="fanout" val="3"/>
+ <a name="incoming" val="3"/>
+ <a name="appear" val="center"/>
+ </comp>
+ <comp lib="0" loc="(470,480)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="1" loc="(560,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(630,210)" name="Constant">
+ <comp lib="0" loc="(390,570)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(470,1020)" name="Constant">
+ <comp lib="0" loc="(860,1270)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(980,960)" name="OR Gate">
+ <comp lib="1" loc="(800,510)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(640,1140)" name="OR Gate">
+ <comp lib="1" loc="(330,650)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="JMP"/>
+ <a name="negate2" val="true"/>
+ <a name="negate3" val="true"/>
+ <a name="negate4" val="true"/>
+ <a name="negate5" val="true"/>
+ <a name="negate6" val="true"/>
+ </comp>
+ <comp lib="1" loc="(680,1140)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(400,960)" name="OR Gate">
+ <comp lib="0" loc="(750,660)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(470,480)" name="Constant">
+ <comp lib="2" loc="(290,1400)" name="Multiplexer">
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="0" loc="(1010,570)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(860,210)" name="Controlled Buffer">
+ <comp lib="0" loc="(670,750)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(680,870)" name="OR Gate">
+ <comp lib="1" loc="(800,1320)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(520,870)" name="OR Gate">
+ <comp lib="1" loc="(920,1520)" name="OR Gate">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(770,1570)" name="Pin">
- <a name="facing" val="west"/>
- <a name="output" val="true"/>
- <a name="labelloc" val="east"/>
+ <comp lib="0" loc="(900,730)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(800,240)" name="OR Gate">
+ <comp lib="0" loc="(790,840)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(790,570)" name="Constant">
+ <comp lib="0" loc="(560,60)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(970,660)" name="Constant">
+ <comp lib="1" loc="(860,210)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ </comp>
+ <comp lib="0" loc="(860,550)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(600,1050)" name="OR Gate">
+ <comp lib="0" loc="(280,330)" name="Constant"/>
+ <comp lib="0" loc="(210,1520)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="4"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(760,870)" name="OR Gate">
+ <comp lib="0" loc="(710,930)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(430,1200)" name="Constant">
+ <comp lib="0" loc="(1010,1290)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(900,730)" name="Constant">
+ <comp lib="2" loc="(850,600)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(1050,1290)" name="Constant">
+ <comp lib="0" loc="(630,1200)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(980,1050)" name="OR Gate">
- <a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="0" loc="(1010,1290)" name="Constant">
+ <comp lib="0" loc="(360,60)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(980,150)" name="OR Gate">
+ <comp lib="4" loc="(110,50)" name="Register">
+ <a name="trigger" val="falling"/>
+ </comp>
+ <comp lib="0" loc="(390,1200)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(970,120)" name="Constant">
+ <comp lib="0" loc="(970,300)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(720,1050)" name="OR Gate">
+ <comp lib="1" loc="(980,1050)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(440,240)" name="OR Gate">
+ <comp lib="1" loc="(400,960)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(900,300)" name="Controlled Buffer">
+ <comp lib="1" loc="(900,210)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
</comp>
- <comp lib="6" loc="(610,1554)" name="Text">
- <a name="text" val="GPR MUX"/>
+ <comp lib="0" loc="(430,390)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(600,1140)" name="OR Gate">
+ <comp lib="0" loc="(390,210)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(790,1020)" name="Constant">
+ <comp lib="0" loc="(790,570)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(800,690)" name="OR Gate">
+ <comp lib="1" loc="(940,120)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="1" loc="(480,870)" name="OR Gate">
+ <comp lib="0" loc="(1050,1020)" name="Constant">
<a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="1" loc="(330,1280)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="CMP"/>
+ </comp>
+ <comp lib="1" loc="(280,280)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(720,330)" name="OR Gate">
- <a name="facing" val="south"/>
+ <comp lib="1" loc="(770,1570)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="6" loc="(920,1558)" name="Text">
- <a name="text" val="C"/>
+ <comp lib="0" loc="(900,100)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(680,600)" name="OR Gate">
+ <comp lib="1" loc="(640,510)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(330,290)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="ADD"/>
- <a name="negate0" val="true"/>
- </comp>
<comp lib="1" loc="(880,1520)" name="OR Gate">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(630,750)" name="Constant">
+ <comp lib="0" loc="(940,1000)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(970,570)" name="Constant">
+ <comp lib="0" loc="(430,750)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(800,1140)" name="OR Gate">
- <a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="1" loc="(330,560)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="LUI"/>
+ <a name="negate7" val="true"/>
</comp>
- <comp lib="0" loc="(230,1490)" name="Constant">
+ <comp lib="0" loc="(630,840)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="4"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(430,390)" name="Constant">
+ <comp lib="2" loc="(850,870)" name="Multiplexer">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(680,60)" name="Constant">
+ <comp lib="1" loc="(760,870)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(280,140)" name="Constant"/>
- <comp lib="0" loc="(550,660)" name="Constant">
+ <comp lib="0" loc="(860,370)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(860,930)" name="Controlled Buffer">
+ <comp lib="2" loc="(930,1140)" name="Multiplexer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="2" loc="(890,1320)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(590,210)" name="Constant">
+ <comp lib="0" loc="(550,1110)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(750,1290)" name="Constant">
+ <comp lib="0" loc="(550,1290)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(790,390)" name="Constant">
+ <comp lib="0" loc="(710,1110)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1060,690)" name="OR Gate">
+ <comp lib="1" loc="(1020,1320)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(890,1230)" name="Multiplexer">
+ <comp lib="0" loc="(940,1270)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="0" loc="(390,570)" name="Constant">
- <a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(240,1510)" name="Splitter">
- <a name="facing" val="north"/>
- <a name="incoming" val="8"/>
- <a name="bit1" val="0"/>
- <a name="bit2" val="0"/>
- <a name="bit3" val="0"/>
- <a name="bit4" val="1"/>
- <a name="bit5" val="1"/>
- <a name="bit6" val="1"/>
- <a name="bit7" val="1"/>
- </comp>
- <comp lib="0" loc="(330,1600)" name="Pin">
- <a name="facing" val="north"/>
- <a name="output" val="true"/>
+ <comp lib="2" loc="(520,1580)" name="Multiplexer">
+ <a name="selloc" val="tr"/>
<a name="width" val="8"/>
- <a name="labelloc" val="east"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(750,570)" name="Constant">
+ <comp lib="0" loc="(520,60)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(590,660)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <comp lib="6" loc="(647,1605)" name="Text">
+ <a name="text" val="JMP FLAG"/>
</comp>
- <comp lib="1" loc="(600,240)" name="OR Gate">
+ <comp lib="1" loc="(400,510)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(710,840)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="2" loc="(850,1230)" name="Multiplexer">
+ <comp lib="1" loc="(980,1230)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(550,840)" name="Constant">
+ <comp lib="0" loc="(1050,930)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(680,1320)" name="OR Gate">
- <a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="6" loc="(333,1633)" name="Text">
+ <a name="text" val="MEM POINTER"/>
</comp>
- <comp lib="1" loc="(900,1290)" name="Controlled Buffer">
+ <comp lib="1" loc="(900,300)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
</comp>
- <comp lib="0" loc="(630,1110)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="2" loc="(850,690)" name="Multiplexer">
+ <comp lib="0" loc="(940,100)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(970,1020)" name="Constant">
+ <comp lib="0" loc="(280,540)" name="Constant"/>
+ <comp lib="0" loc="(970,1110)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(520,240)" name="OR Gate">
+ <comp lib="6" loc="(760,1553)" name="Text">
+ <a name="text" val="POP"/>
+ </comp>
+ <comp lib="1" loc="(1020,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(280,1290)" name="Constant"/>
- <comp lib="0" loc="(710,570)" name="Constant">
+ <comp lib="0" loc="(800,60)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(390,390)" name="Constant">
+ <comp lib="0" loc="(390,480)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(400,240)" name="OR Gate">
+ <comp lib="0" loc="(550,480)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(750,750)" name="Constant">
+ <comp lib="0" loc="(390,1110)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(980,1140)" name="OR Gate">
+ <comp lib="1" loc="(900,930)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="0" loc="(280,310)" name="Constant"/>
- <comp lib="1" loc="(640,1050)" name="OR Gate">
+ <comp lib="1" loc="(440,510)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(900,1000)" name="Constant">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="1" loc="(400,1140)" name="OR Gate">
+ <comp lib="1" loc="(480,150)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(220,1370)" name="Splitter">
- <a name="facing" val="north"/>
- <a name="appear" val="center"/>
+ <comp lib="1" loc="(330,110)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="OR"/>
+ <a name="negate0" val="true"/>
+ <a name="negate1" val="true"/>
</comp>
- <comp lib="1" loc="(760,600)" name="OR Gate">
+ <comp lib="1" loc="(440,870)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(560,600)" name="OR Gate">
+ <comp lib="6" loc="(187,1633)" name="Text">
+ <a name="text" val="ALU"/>
+ </comp>
+ <comp lib="1" loc="(440,1320)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(640,690)" name="OR Gate">
+ <comp lib="1" loc="(1020,870)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(430,570)" name="Constant">
+ <comp lib="0" loc="(900,370)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(970,1200)" name="Constant">
+ <comp lib="0" loc="(1010,930)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(860,1110)" name="Controlled Buffer">
+ <comp lib="1" loc="(760,240)" name="OR Gate">
<a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="0" loc="(610,1520)" name="Pin">
+ <a name="facing" val="north"/>
+ <a name="output" val="true"/>
<a name="width" val="2"/>
+ <a name="labelloc" val="east"/>
</comp>
- <comp lib="1" loc="(720,960)" name="OR Gate">
+ <comp lib="1" loc="(360,1140)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(900,120)" name="Controlled Buffer">
- <a name="facing" val="south"/>
+ <comp lib="1" loc="(280,1520)" name="OR Gate">
+ <a name="width" val="8"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="0" loc="(920,1520)" name="Pin">
+ <a name="facing" val="north"/>
+ <a name="output" val="true"/>
<a name="width" val="2"/>
+ <a name="labelloc" val="east"/>
</comp>
- <comp lib="2" loc="(930,690)" name="Multiplexer">
+ <comp lib="0" loc="(280,1120)" name="Constant"/>
+ <comp lib="2" loc="(890,420)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(400,330)" name="OR Gate">
+ <comp lib="1" loc="(720,600)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="6" loc="(428,1553)" name="Text">
- <a name="text" val="ALU OPCODE"/>
- </comp>
- <comp lib="2" loc="(890,960)" name="Multiplexer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <comp lib="0" loc="(190,1600)" name="Pin">
+ <a name="facing" val="north"/>
+ <a name="width" val="8"/>
+ <a name="tristate" val="false"/>
</comp>
- <comp lib="1" loc="(940,300)" name="Controlled Buffer">
+ <comp lib="0" loc="(350,660)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(900,930)" name="Controlled Buffer">
+ <comp lib="0" loc="(1010,210)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(480,420)" name="OR Gate">
+ <comp lib="1" loc="(440,1140)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(860,660)" name="Controlled Buffer">
+ <comp lib="1" loc="(480,600)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(790,1200)" name="Constant">
+ <comp lib="1" loc="(560,330)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(970,210)" name="Constant">
+ <comp lib="0" loc="(670,930)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1060,870)" name="OR Gate">
+ <comp lib="1" loc="(980,1140)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(1050,210)" name="Constant">
+ <comp lib="0" loc="(900,820)" name="Constant">
<a name="facing" val="south"/>
+ <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(560,780)" name="OR Gate">
- <a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(220,1490)" name="Splitter">
+ <a name="facing" val="north"/>
+ <a name="incoming" val="4"/>
+ <a name="bit1" val="0"/>
+ <a name="bit2" val="1"/>
+ <a name="bit3" val="1"/>
</comp>
- <comp lib="1" loc="(560,330)" name="OR Gate">
+ <comp lib="1" loc="(720,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(560,1140)" name="OR Gate">
+ <comp lib="0" loc="(550,570)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(390,660)" name="Constant">
+ <comp lib="0" loc="(670,660)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(400,1230)" name="OR Gate">
+ <comp lib="1" loc="(360,960)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(400,420)" name="OR Gate">
+ <comp lib="0" loc="(940,550)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ </comp>
+ <comp lib="2" loc="(890,870)" name="Multiplexer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="1" loc="(1060,330)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(1020,780)" name="OR Gate">
+ <comp lib="1" loc="(1020,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(720,1230)" name="OR Gate">
+ <comp lib="0" loc="(280,120)" name="Constant"/>
+ <comp lib="1" loc="(440,960)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(750,1110)" name="Constant">
+ <comp lib="0" loc="(970,840)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(1050,750)" name="Constant">
+ <comp lib="0" loc="(630,120)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1060,150)" name="OR Gate">
+ <comp lib="1" loc="(480,1050)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(1050,390)" name="Constant">
- <a name="facing" val="south"/>
+ <comp lib="0" loc="(130,60)" name="Constant">
+ <a name="width" val="8"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(80,110)" name="Pin">
- <a name="tristate" val="false"/>
- </comp>
- <comp lib="1" loc="(940,120)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- </comp>
- <comp lib="6" loc="(802,1555)" name="Text">
- <a name="text" val="PUSH"/>
- </comp>
- <comp lib="0" loc="(860,100)" name="Constant">
+ <comp lib="0" loc="(790,1110)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(640,150)" name="OR Gate">
- <a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="0" loc="(610,1520)" name="Pin">
- <a name="facing" val="north"/>
- <a name="output" val="true"/>
- <a name="width" val="2"/>
- <a name="labelloc" val="east"/>
- </comp>
- <comp lib="1" loc="(360,870)" name="OR Gate">
+ <comp lib="1" loc="(520,780)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(440,1320)" name="OR Gate">
+ <comp lib="1" loc="(480,690)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(720,870)" name="OR Gate">
+ <comp lib="0" loc="(280,240)" name="Constant"/>
+ <comp lib="1" loc="(440,600)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(980,420)" name="OR Gate">
+ <comp lib="0" loc="(1050,840)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(800,150)" name="OR Gate">
+ <comp lib="1" loc="(1020,330)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="2" loc="(850,780)" name="Multiplexer">
+ <comp lib="1" loc="(940,750)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(1060,240)" name="OR Gate">
+ <comp lib="1" loc="(560,150)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(440,1600)" name="Pin">
+ <comp lib="0" loc="(220,1370)" name="Splitter">
<a name="facing" val="north"/>
- <a name="width" val="8"/>
- <a name="tristate" val="false"/>
+ <a name="appear" val="center"/>
</comp>
- <comp lib="0" loc="(670,390)" name="Constant">
+ <comp lib="0" loc="(750,1020)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(940,1200)" name="Controlled Buffer">
+ <comp lib="0" loc="(80,80)" name="Pin">
+ <a name="tristate" val="false"/>
+ </comp>
+ <comp lib="1" loc="(560,1230)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(640,780)" name="OR Gate">
+ <comp lib="6" loc="(441,1634)" name="Text">
+ <a name="text" val="CUR PC ADDR"/>
+ </comp>
+ <comp lib="0" loc="(280,300)" name="Constant"/>
+ <comp lib="1" loc="(760,150)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(1160,1650)" name="OR Gate">
+ <comp lib="1" loc="(720,1320)" name="OR Gate">
+ <a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(940,1180)" name="Constant">
+ <comp lib="1" loc="(860,1200)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="1" loc="(330,920)" name="AND Gate">
- <a name="inputs" val="8"/>
- <a name="label" val="PCR"/>
- <a name="negate2" val="true"/>
- <a name="negate3" val="true"/>
- <a name="negate6" val="true"/>
</comp>
- <comp lib="0" loc="(1050,840)" name="Constant">
+ <comp lib="0" loc="(630,660)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(760,150)" name="OR Gate">
+ <comp lib="1" loc="(560,690)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(1010,480)" name="Constant">
+ <comp lib="2" loc="(850,690)" name="Multiplexer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="0" loc="(1050,570)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(520,960)" name="OR Gate">
+ <comp lib="0" loc="(430,1110)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
+ </comp>
+ <comp lib="1" loc="(600,510)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(350,1020)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <comp lib="0" loc="(280,230)" name="Constant"/>
+ <comp lib="1" loc="(330,1010)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="LB"/>
+ <a name="negate3" val="true"/>
+ <a name="negate6" val="true"/>
</comp>
- <comp lib="0" loc="(860,820)" name="Constant">
+ <comp lib="0" loc="(240,1510)" name="Splitter">
+ <a name="facing" val="north"/>
+ <a name="incoming" val="8"/>
+ <a name="bit1" val="0"/>
+ <a name="bit2" val="0"/>
+ <a name="bit3" val="0"/>
+ <a name="bit4" val="1"/>
+ <a name="bit5" val="1"/>
+ <a name="bit6" val="1"/>
+ <a name="bit7" val="1"/>
+ </comp>
+ <comp lib="0" loc="(280,130)" name="Constant"/>
+ <comp lib="0" loc="(940,730)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(560,60)" name="Constant">
+ <comp lib="0" loc="(630,1110)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(550,570)" name="Constant">
+ <comp lib="1" loc="(900,660)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="0" loc="(900,910)" name="Constant">
+ <comp lib="1" loc="(1020,960)" name="OR Gate">
+ <a name="facing" val="south"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="6" loc="(682,1553)" name="Text">
+ <a name="text" val="A MUX"/>
+ </comp>
+ <comp lib="0" loc="(970,1200)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,300)" name="Constant"/>
- <comp lib="1" loc="(760,1320)" name="OR Gate">
+ <comp lib="0" loc="(680,1520)" name="Pin">
+ <a name="facing" val="north"/>
+ <a name="output" val="true"/>
+ <a name="labelloc" val="east"/>
+ </comp>
+ <comp lib="1" loc="(520,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(280,90)" name="Constant"/>
- <comp lib="0" loc="(280,570)" name="Constant"/>
- <comp lib="1" loc="(800,1320)" name="OR Gate">
+ <comp lib="1" loc="(800,600)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(1010,750)" name="Constant">
+ <comp lib="0" loc="(280,390)" name="Constant"/>
+ <comp lib="1" loc="(860,120)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ </comp>
+ <comp lib="0" loc="(350,120)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(440,1230)" name="OR Gate">
+ <comp lib="1" loc="(600,690)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(720,780)" name="OR Gate">
+ <comp lib="1" loc="(520,960)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(980,1230)" name="OR Gate">
+ <comp lib="1" loc="(680,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(900,1090)" name="Constant">
+ <comp lib="0" loc="(280,1300)" name="Constant"/>
+ <comp lib="2" loc="(930,330)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(790,210)" name="Constant">
+ <comp lib="1" loc="(860,1020)" name="Controlled Buffer">
+ <a name="facing" val="south"/>
+ <a name="width" val="2"/>
+ </comp>
+ <comp lib="0" loc="(480,60)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(440,420)" name="OR Gate">
+ <comp lib="1" loc="(1020,1140)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(670,300)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="6" loc="(760,1553)" name="Text">
- <a name="text" val="POP"/>
- </comp>
- <comp lib="0" loc="(470,750)" name="Constant">
+ <comp lib="0" loc="(750,390)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(390,1020)" name="Constant">
+ <comp lib="0" loc="(280,450)" name="Constant"/>
+ <comp lib="0" loc="(670,120)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(440,60)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <comp lib="0" loc="(770,1570)" name="Pin">
+ <a name="facing" val="west"/>
+ <a name="output" val="true"/>
+ <a name="labelloc" val="east"/>
</comp>
- <comp lib="0" loc="(710,1020)" name="Constant">
+ <comp lib="1" loc="(1020,150)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(750,660)" name="Constant">
+ <comp lib="1" loc="(900,570)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
</comp>
- <comp lib="1" loc="(720,600)" name="OR Gate">
+ <comp lib="1" loc="(800,420)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="4" loc="(1200,1650)" name="Register">
- <a name="width" val="1"/>
- <a name="trigger" val="falling"/>
- </comp>
- <comp lib="0" loc="(630,300)" name="Constant">
+ <comp lib="1" loc="(840,1520)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(750,1200)" name="Constant">
+ <comp lib="0" loc="(790,930)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(160,50)" name="Multiplexer">
- <a name="width" val="8"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="0" loc="(940,550)" name="Constant">
+ <comp lib="1" loc="(640,420)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="6" loc="(572,1633)" name="Text">
- <a name="text" val="IMM VALUE"/>
+ <comp lib="6" loc="(44,85)" name="Text">
+ <a name="text" val="CLK"/>
</comp>
- <comp lib="0" loc="(940,1000)" name="Constant">
+ <comp lib="0" loc="(790,660)" name="Constant">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(610,1510)" name="Splitter">
- <a name="facing" val="north"/>
- <a name="appear" val="center"/>
- </comp>
- <comp lib="0" loc="(1010,210)" name="Constant">
+ <comp lib="0" loc="(470,660)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1020,1230)" name="OR Gate">
+ <comp lib="1" loc="(640,600)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(670,750)" name="Constant">
+ <comp lib="0" loc="(630,1290)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(1020,420)" name="OR Gate">
+ <comp lib="1" loc="(640,1050)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(630,660)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="2" loc="(930,420)" name="Multiplexer">
+ <comp lib="1" loc="(940,840)" name="Controlled Buffer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(720,420)" name="OR Gate">
+ <comp lib="1" loc="(330,920)" name="AND Gate">
+ <a name="inputs" val="8"/>
+ <a name="label" val="PCR"/>
+ <a name="negate2" val="true"/>
+ <a name="negate3" val="true"/>
+ <a name="negate6" val="true"/>
+ </comp>
+ <comp lib="0" loc="(350,480)" name="Constant">
<a name="facing" val="south"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(720,60)" name="Constant">
+ <comp lib="0" loc="(790,120)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(260,1650)" name="AND Gate">
- <a name="facing" val="west"/>
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
+ <comp lib="0" loc="(590,300)" name="Constant">
+ <a name="facing" val="south"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,460)" name="Constant"/>
- <comp lib="0" loc="(130,60)" name="Constant">
- <a name="width" val="8"/>
+ <comp lib="0" loc="(1060,60)" name="Constant">
+ <a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(280,150)" name="Constant"/>
- <comp lib="1" loc="(360,420)" name="OR Gate">
+ <comp lib="1" loc="(980,240)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(1010,840)" name="Constant">
+ <comp lib="6" loc="(19,34)" name="Text">
+ <a name="text" val="DATA"/>
+ </comp>
+ <comp lib="0" loc="(590,1110)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="1" loc="(440,1140)" name="OR Gate">
+ <comp lib="1" loc="(560,600)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(790,480)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="0" loc="(940,1270)" name="Constant">
+ <comp lib="0" loc="(900,280)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(350,480)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <comp lib="6" loc="(802,1555)" name="Text">
+ <a name="text" val="PUSH"/>
</comp>
- <comp lib="0" loc="(280,230)" name="Constant"/>
- <comp lib="0" loc="(1010,300)" name="Constant">
+ <comp lib="1" loc="(980,1320)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="0" loc="(280,240)" name="Constant"/>
- <comp lib="0" loc="(200,1410)" name="Splitter">
- <a name="facing" val="north"/>
- <a name="appear" val="center"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(390,750)" name="Constant">
+ <comp lib="1" loc="(940,930)" name="Controlled Buffer">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="width" val="2"/>
</comp>
<comp lib="0" loc="(880,1520)" name="Pin">
<a name="facing" val="north"/>
@@ -5297,77 +5331,61 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="width" val="2"/>
<a name="labelloc" val="east"/>
</comp>
- <comp lib="2" loc="(850,1320)" name="Multiplexer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="1" loc="(360,150)" name="OR Gate">
+ <comp lib="1" loc="(480,1230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(590,300)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="0" loc="(350,660)" name="Constant">
- <a name="facing" val="south"/>
- <a name="value" val="0x0"/>
- </comp>
- <comp lib="1" loc="(400,510)" name="OR Gate">
+ <comp lib="1" loc="(1060,780)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(940,190)" name="Constant">
+ <comp lib="1" loc="(640,690)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(280,450)" name="Constant"/>
- <comp lib="1" loc="(480,1230)" name="OR Gate">
+ <comp lib="1" loc="(360,1050)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(630,1290)" name="Constant">
+ <comp lib="0" loc="(470,1110)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="0" loc="(590,1290)" name="Constant">
+ <comp lib="0" loc="(750,480)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(890,330)" name="Multiplexer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="enable" val="false"/>
+ <comp lib="0" loc="(330,1600)" name="Pin">
+ <a name="facing" val="north"/>
+ <a name="output" val="true"/>
+ <a name="width" val="8"/>
+ <a name="labelloc" val="east"/>
</comp>
- <comp lib="0" loc="(860,190)" name="Constant">
+ <comp lib="2" loc="(930,600)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="2"/>
- <a name="value" val="0x0"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="1" loc="(600,420)" name="OR Gate">
+ <comp lib="1" loc="(400,1050)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="1" loc="(940,210)" name="Controlled Buffer">
- <a name="facing" val="south"/>
- <a name="width" val="2"/>
- </comp>
- <comp lib="0" loc="(940,1090)" name="Constant">
+ <comp lib="1" loc="(400,1320)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="width" val="2"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(350,1200)" name="Constant">
+ <comp lib="1" loc="(480,1140)" name="OR Gate">
<a name="facing" val="south"/>
- <a name="value" val="0x0"/>
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
</comp>
- <comp lib="0" loc="(980,60)" name="Constant">
+ <comp lib="0" loc="(790,1290)" name="Constant">
<a name="facing" val="south"/>
<a name="value" val="0x0"/>
</comp>
@@ -5882,201 +5900,201 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<wire from="(750,260)" to="(760,260)"/>
<wire from="(760,270)" to="(770,270)"/>
<wire from="(1250,270)" to="(1270,270)"/>
+ <comp lib="2" loc="(310,260)" name="Multiplexer">
+ <a name="width" val="8"/>
+ <a name="enable" val="false"/>
+ </comp>
+ <comp lib="4" loc="(1570,270)" name="Register"/>
<comp lib="4" loc="(2890,270)" name="Register"/>
- <comp lib="4" loc="(3660,270)" name="Register"/>
- <comp lib="4" loc="(1460,270)" name="Register"/>
- <comp lib="2" loc="(2620,260)" name="Multiplexer">
+ <comp lib="0" loc="(90,290)" name="Pin">
+ <a name="tristate" val="false"/>
+ </comp>
+ <comp lib="4" loc="(1790,270)" name="Register"/>
+ <comp lib="2" loc="(3500,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(1080,260)" name="Multiplexer">
+ <comp lib="4" loc="(2780,270)" name="Register"/>
+ <comp lib="4" loc="(800,270)" name="Register"/>
+ <comp lib="2" loc="(1300,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(420,260)" name="Multiplexer">
+ <comp lib="4" loc="(1900,270)" name="Register"/>
+ <comp lib="4" loc="(3110,270)" name="Register"/>
+ <comp lib="2" loc="(970,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(580,270)" name="Register"/>
- <comp lib="2" loc="(1410,260)" name="Multiplexer">
+ <comp lib="2" loc="(3170,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(310,260)" name="Multiplexer">
+ <comp lib="2" loc="(1630,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(3500,260)" name="Multiplexer">
+ <comp lib="2" loc="(2070,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(2670,270)" name="Register"/>
- <comp lib="4" loc="(2230,270)" name="Register"/>
- <comp lib="2" loc="(200,260)" name="Multiplexer">
+ <comp lib="4" loc="(3330,270)" name="Register"/>
+ <comp lib="2" loc="(1740,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(3280,260)" name="Multiplexer">
+ <comp lib="2" loc="(860,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(1630,260)" name="Multiplexer">
+ <comp lib="2" loc="(2950,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(180,320)" name="Pin">
- <a name="tristate" val="false"/>
- </comp>
- <comp lib="4" loc="(250,270)" name="Register"/>
- <comp lib="0" loc="(150,270)" name="Pin">
+ <comp lib="0" loc="(3670,220)" name="Constant">
+ <a name="facing" val="west"/>
<a name="width" val="8"/>
- <a name="tristate" val="false"/>
+ <a name="value" val="0x0"/>
</comp>
- <comp lib="2" loc="(1190,260)" name="Multiplexer">
+ <comp lib="4" loc="(580,270)" name="Register"/>
+ <comp lib="2" loc="(3390,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(1570,270)" name="Register"/>
- <comp lib="0" loc="(90,330)" name="Pin">
- <a name="tristate" val="false"/>
- </comp>
- <comp lib="1" loc="(150,300)" name="AND Gate">
- <a name="size" val="30"/>
- <a name="inputs" val="2"/>
- </comp>
- <comp lib="4" loc="(800,270)" name="Register"/>
- <comp lib="2" loc="(2840,260)" name="Multiplexer">
+ <comp lib="2" loc="(530,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(3170,260)" name="Multiplexer">
+ <comp lib="4" loc="(2010,270)" name="Register"/>
+ <comp lib="2" loc="(2620,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(360,270)" name="Register"/>
- <comp lib="2" loc="(3610,260)" name="Multiplexer">
+ <comp lib="2" loc="(2840,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(1520,260)" name="Multiplexer">
+ <comp lib="4" loc="(1130,270)" name="Register"/>
+ <comp lib="2" loc="(3280,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
<comp lib="4" loc="(3000,270)" name="Register"/>
- <comp lib="4" loc="(3220,270)" name="Register"/>
- <comp lib="2" loc="(640,260)" name="Multiplexer">
+ <comp lib="2" loc="(1410,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(910,270)" name="Register"/>
- <comp lib="4" loc="(3110,270)" name="Register"/>
- <comp lib="2" loc="(750,260)" name="Multiplexer">
+ <comp lib="4" loc="(1460,270)" name="Register"/>
+ <comp lib="4" loc="(250,270)" name="Register"/>
+ <comp lib="0" loc="(150,220)" name="Pin">
+ <a name="output" val="true"/>
<a name="width" val="8"/>
- <a name="enable" val="false"/>
- </comp>
- <comp lib="4" loc="(2780,270)" name="Register"/>
- <comp lib="0" loc="(90,290)" name="Pin">
<a name="tristate" val="false"/>
+ <a name="labelloc" val="east"/>
</comp>
- <comp lib="4" loc="(1790,270)" name="Register"/>
- <comp lib="2" loc="(970,260)" name="Multiplexer">
+ <comp lib="2" loc="(1080,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(1300,260)" name="Multiplexer">
+ <comp lib="2" loc="(200,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(2120,270)" name="Register"/>
- <comp lib="2" loc="(2070,260)" name="Multiplexer">
- <a name="width" val="8"/>
- <a name="enable" val="false"/>
+ <comp lib="0" loc="(180,320)" name="Pin">
+ <a name="tristate" val="false"/>
</comp>
- <comp lib="4" loc="(1240,270)" name="Register"/>
- <comp lib="2" loc="(2290,260)" name="Multiplexer">
+ <comp lib="0" loc="(150,270)" name="Pin">
<a name="width" val="8"/>
- <a name="enable" val="false"/>
+ <a name="tristate" val="false"/>
</comp>
- <comp lib="4" loc="(3330,270)" name="Register"/>
- <comp lib="2" loc="(1960,260)" name="Multiplexer">
+ <comp lib="4" loc="(470,270)" name="Register"/>
+ <comp lib="2" loc="(640,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(2560,270)" name="Register"/>
<comp lib="1" loc="(130,340)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
- <comp lib="4" loc="(1900,270)" name="Register"/>
- <comp lib="4" loc="(3440,270)" name="Register"/>
- <comp lib="2" loc="(3060,260)" name="Multiplexer">
+ <comp lib="4" loc="(2340,270)" name="Register"/>
+ <comp lib="4" loc="(3550,270)" name="Register"/>
+ <comp lib="2" loc="(2180,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(1680,270)" name="Register"/>
- <comp lib="4" loc="(1130,270)" name="Register"/>
- <comp lib="4" loc="(2450,270)" name="Register"/>
- <comp lib="4" loc="(470,270)" name="Register"/>
- <comp lib="2" loc="(1850,260)" name="Multiplexer">
+ <comp lib="2" loc="(3060,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(3670,220)" name="Constant">
- <a name="facing" val="west"/>
- <a name="width" val="8"/>
- <a name="value" val="0x0"/>
- </comp>
<comp lib="2" loc="(2400,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(2510,260)" name="Multiplexer">
+ <comp lib="0" loc="(90,360)" name="Pin">
+ <a name="tristate" val="false"/>
+ </comp>
+ <comp lib="2" loc="(2290,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(1020,270)" name="Register"/>
<comp lib="2" loc="(2730,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(2950,260)" name="Multiplexer">
+ <comp lib="2" loc="(3610,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(1740,260)" name="Multiplexer">
+ <comp lib="4" loc="(3440,270)" name="Register"/>
+ <comp lib="0" loc="(90,330)" name="Pin">
+ <a name="tristate" val="false"/>
+ </comp>
+ <comp lib="4" loc="(1240,270)" name="Register"/>
+ <comp lib="2" loc="(2510,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="0" loc="(90,360)" name="Pin">
- <a name="tristate" val="false"/>
+ <comp lib="2" loc="(750,260)" name="Multiplexer">
+ <a name="width" val="8"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(2340,270)" name="Register"/>
- <comp lib="0" loc="(150,220)" name="Pin">
- <a name="output" val="true"/>
+ <comp lib="2" loc="(1960,260)" name="Multiplexer">
<a name="width" val="8"/>
- <a name="tristate" val="false"/>
- <a name="labelloc" val="east"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(690,270)" name="Register"/>
- <comp lib="2" loc="(530,260)" name="Multiplexer">
+ <comp lib="4" loc="(1680,270)" name="Register"/>
+ <comp lib="2" loc="(1850,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
+ <comp lib="4" loc="(3220,270)" name="Register"/>
+ <comp lib="4" loc="(690,270)" name="Register"/>
<comp lib="4" loc="(1350,270)" name="Register"/>
- <comp lib="2" loc="(2180,260)" name="Multiplexer">
+ <comp lib="2" loc="(420,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="4" loc="(3550,270)" name="Register"/>
- <comp lib="4" loc="(2010,270)" name="Register"/>
- <comp lib="2" loc="(3390,260)" name="Multiplexer">
+ <comp lib="4" loc="(2560,270)" name="Register"/>
+ <comp lib="4" loc="(3660,270)" name="Register"/>
+ <comp lib="4" loc="(910,270)" name="Register"/>
+ <comp lib="4" loc="(2670,270)" name="Register"/>
+ <comp lib="4" loc="(360,270)" name="Register"/>
+ <comp lib="4" loc="(2230,270)" name="Register"/>
+ <comp lib="2" loc="(1190,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
- <comp lib="2" loc="(860,260)" name="Multiplexer">
+ <comp lib="1" loc="(150,300)" name="AND Gate">
+ <a name="size" val="30"/>
+ <a name="inputs" val="2"/>
+ </comp>
+ <comp lib="2" loc="(1520,260)" name="Multiplexer">
<a name="width" val="8"/>
<a name="enable" val="false"/>
</comp>
+ <comp lib="4" loc="(2120,270)" name="Register"/>
+ <comp lib="4" loc="(2450,270)" name="Register"/>
+ <comp lib="4" loc="(1020,270)" name="Register"/>
</circuit>
<circuit name="PC">
<a name="circuit" val="PC"/>
@@ -6097,60 +6115,67 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
</appear>
<wire from="(140,350)" to="(200,350)"/>
<wire from="(140,400)" to="(200,400)"/>
- <wire from="(140,320)" to="(190,320)"/>
- <wire from="(140,380)" to="(190,380)"/>
- <wire from="(140,430)" to="(250,430)"/>
- <wire from="(170,280)" to="(340,280)"/>
- <wire from="(360,280)" to="(360,360)"/>
- <wire from="(170,280)" to="(170,300)"/>
- <wire from="(200,330)" to="(200,350)"/>
<wire from="(250,330)" to="(250,430)"/>
<wire from="(270,310)" to="(290,310)"/>
<wire from="(340,280)" to="(360,280)"/>
+ <wire from="(140,320)" to="(190,320)"/>
+ <wire from="(140,380)" to="(190,380)"/>
<wire from="(340,280)" to="(340,320)"/>
<wire from="(170,300)" to="(190,300)"/>
+ <wire from="(140,430)" to="(250,430)"/>
<wire from="(260,310)" to="(270,310)"/>
<wire from="(330,320)" to="(340,320)"/>
+ <wire from="(170,280)" to="(340,280)"/>
+ <wire from="(360,280)" to="(360,360)"/>
<wire from="(220,310)" to="(230,310)"/>
<wire from="(230,390)" to="(240,390)"/>
+ <wire from="(170,280)" to="(170,300)"/>
<wire from="(270,310)" to="(270,360)"/>
+ <wire from="(200,330)" to="(200,350)"/>
<wire from="(240,330)" to="(240,390)"/>
<comp lib="3" loc="(330,320)" name="Adder"/>
- <comp lib="0" loc="(140,380)" name="Pin">
+ <comp lib="0" loc="(140,430)" name="Pin">
<a name="tristate" val="false"/>
</comp>
- <comp lib="0" loc="(140,350)" name="Pin">
- <a name="tristate" val="false"/>
+ <comp lib="0" loc="(360,360)" name="Pin">
+ <a name="facing" val="west"/>
+ <a name="output" val="true"/>
+ <a name="width" val="8"/>
+ <a name="labelloc" val="east"/>
</comp>
- <comp lib="6" loc="(79,355)" name="Text">
- <a name="text" val="Jump Enable"/>
+ <comp lib="0" loc="(140,400)" name="Pin">
+ <a name="tristate" val="false"/>
</comp>
- <comp lib="4" loc="(260,310)" name="Register">
- <a name="trigger" val="falling"/>
+ <comp lib="6" loc="(101,297)" name="Text">
+ <a name="text" val="Jump Address"/>
</comp>
<comp lib="1" loc="(230,390)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate0" val="true"/>
</comp>
- <comp lib="0" loc="(360,360)" name="Pin">
- <a name="facing" val="west"/>
- <a name="output" val="true"/>
+ <comp lib="0" loc="(290,330)" name="Constant">
<a name="width" val="8"/>
- <a name="labelloc" val="east"/>
</comp>
- <comp lib="0" loc="(140,320)" name="Pin">
- <a name="width" val="8"/>
+ <comp lib="0" loc="(140,380)" name="Pin">
<a name="tristate" val="false"/>
</comp>
- <comp lib="0" loc="(140,430)" name="Pin">
- <a name="tristate" val="false"/>
+ <comp lib="6" loc="(79,355)" name="Text">
+ <a name="text" val="Jump Enable"/>
</comp>
- <comp lib="0" loc="(290,330)" name="Constant">
+ <comp lib="2" loc="(220,310)" name="Multiplexer">
<a name="width" val="8"/>
+ <a name="enable" val="false"/>
</comp>
- <comp lib="6" loc="(101,297)" name="Text">
- <a name="text" val="Jump Address"/>
+ <comp lib="4" loc="(260,310)" name="Register">
+ <a name="trigger" val="falling"/>
+ </comp>
+ <comp lib="0" loc="(140,350)" name="Pin">
+ <a name="tristate" val="false"/>
+ </comp>
+ <comp lib="0" loc="(140,320)" name="Pin">
+ <a name="width" val="8"/>
+ <a name="tristate" val="false"/>
</comp>
<comp lib="0" loc="(270,360)" name="Pin">
<a name="facing" val="west"/>
@@ -6158,41 +6183,35 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="width" val="8"/>
<a name="labelloc" val="east"/>
</comp>
- <comp lib="0" loc="(140,400)" name="Pin">
- <a name="tristate" val="false"/>
- </comp>
- <comp lib="2" loc="(220,310)" name="Multiplexer">
- <a name="width" val="8"/>
- <a name="enable" val="false"/>
- </comp>
</circuit>
<circuit name="7SegDisplay">
<a name="circuit" val="7SegDisplay"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
- <wire from="(180,60)" to="(230,60)"/>
- <wire from="(180,160)" to="(230,160)"/>
- <wire from="(180,80)" to="(230,80)"/>
- <wire from="(460,60)" to="(460,70)"/>
- <wire from="(420,60)" to="(420,70)"/>
- <wire from="(340,90)" to="(340,100)"/>
- <wire from="(180,120)" to="(350,120)"/>
- <wire from="(260,140)" to="(370,140)"/>
- <wire from="(370,110)" to="(370,140)"/>
- <wire from="(350,90)" to="(350,120)"/>
- <wire from="(180,100)" to="(280,100)"/>
<wire from="(430,70)" to="(460,70)"/>
<wire from="(230,160)" to="(230,260)"/>
<wire from="(320,90)" to="(340,90)"/>
<wire from="(340,100)" to="(360,100)"/>
<wire from="(390,90)" to="(410,90)"/>
<wire from="(230,160)" to="(380,160)"/>
+ <wire from="(180,60)" to="(230,60)"/>
+ <wire from="(180,160)" to="(230,160)"/>
+ <wire from="(180,80)" to="(230,80)"/>
+ <wire from="(460,60)" to="(460,70)"/>
+ <wire from="(420,60)" to="(420,70)"/>
+ <wire from="(340,90)" to="(340,100)"/>
<wire from="(180,140)" to="(260,140)"/>
<wire from="(270,80)" to="(280,80)"/>
<wire from="(350,90)" to="(360,90)"/>
+ <wire from="(180,120)" to="(350,120)"/>
+ <wire from="(260,140)" to="(370,140)"/>
<wire from="(380,110)" to="(380,160)"/>
+ <wire from="(370,110)" to="(370,140)"/>
+ <wire from="(350,90)" to="(350,120)"/>
<wire from="(260,140)" to="(260,260)"/>
+ <wire from="(180,100)" to="(280,100)"/>
+ <comp lib="5" loc="(420,60)" name="Hex Digit Display"/>
<comp lib="0" loc="(410,90)" name="Splitter">
<a name="facing" val="north"/>
<a name="incoming" val="8"/>
@@ -6205,32 +6224,31 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<a name="bit6" val="1"/>
<a name="bit7" val="1"/>
</comp>
- <comp lib="5" loc="(460,60)" name="Hex Digit Display"/>
- <comp loc="(180,60)" name="MCU"/>
- <comp lib="0" loc="(230,260)" name="Pin">
+ <comp lib="0" loc="(260,260)" name="Clock">
<a name="facing" val="north"/>
- <a name="tristate" val="false"/>
</comp>
- <comp lib="4" loc="(390,90)" name="Register"/>
<comp lib="0" loc="(230,60)" name="Pin">
<a name="facing" val="west"/>
<a name="tristate" val="false"/>
</comp>
- <comp lib="0" loc="(260,260)" name="Clock">
- <a name="facing" val="north"/>
- </comp>
- <comp lib="0" loc="(270,80)" name="Constant">
- <a name="width" val="8"/>
- <a name="value" val="0xff"/>
- </comp>
<comp lib="3" loc="(320,90)" name="Comparator">
<a name="mode" val="unsigned"/>
</comp>
+ <comp lib="0" loc="(230,260)" name="Pin">
+ <a name="facing" val="north"/>
+ <a name="tristate" val="false"/>
+ </comp>
<comp lib="0" loc="(230,80)" name="Constant">
<a name="facing" val="west"/>
<a name="width" val="8"/>
<a name="value" val="0xff"/>
</comp>
- <comp lib="5" loc="(420,60)" name="Hex Digit Display"/>
+ <comp lib="4" loc="(390,90)" name="Register"/>
+ <comp lib="5" loc="(460,60)" name="Hex Digit Display"/>
+ <comp loc="(180,60)" name="MCU"/>
+ <comp lib="0" loc="(270,80)" name="Constant">
+ <a name="width" val="8"/>
+ <a name="value" val="0xff"/>
+ </comp>
</circuit>
</project>
diff --git a/TestPrograms/example_assembly.tac b/TestPrograms/example_assembly.tac
@@ -0,0 +1,9 @@
+# we're doing asssembly now
+ li 15
+ sp GRA
+ mov GRA GRB
+sc: cin GRB GRB
+ sb GRB
+ lb GRC
+ nand GRC NUL NUL
+ jmp sc
diff --git a/TestPrograms/fibb_test.tac b/TestPrograms/fibb_test.tac
@@ -0,0 +1,20 @@
+start: li 144
+ mov GRA GRC
+ li 255
+ sp GRA
+ mov GRC GRA
+ mov NUL GRB
+ cin GRB GRC
+loop: sb GRC
+ add GRB GRC GRB
+ push
+ mov GRB GRA
+ push
+ mov GRC GRB
+ pop
+ mov GRA GRC
+ pop
+ cmp GRA GRB
+ jmp loop
+ sb GRC
+end: jmp end+
\ No newline at end of file
diff --git a/TestPrograms/weird_loop_test.tac b/TestPrograms/weird_loop_test.tac
@@ -0,0 +1,15 @@
+start: or NUL NUL NUL
+ or NUL NUL NUL
+ or NUL NUL NUL
+ or NUL NUL NUL
+ or NUL NUL NUL
+ or NUL NUL NUL
+ pcr
+ mov GRA GRB
+ lli 7
+ add GRA GRB GRA
+ sp GRA
+ lli 6
+ add GRA GRB GRB
+ sb GRB
+ jmp start+
\ No newline at end of file
diff --git a/example_assembly.asm b/example_assembly.asm
@@ -1,8 +0,0 @@
-# we're doing asssembly now
- li 15
- sp GRA
- mov GRA GRB
-sc: cin GRB GRB
- sb GRB
- lb GRC
- jmp sc
diff --git a/tisc.c b/tisc.c
@@ -135,7 +135,7 @@ uint8_t getRegisterEnumeration(char* string)
{
return GR_C;
} else
- if ((strin != NULL) && (strcmp(string, GR_N_STRING) == 0))
+ if ((string != NULL) && (strcmp(string, GR_N_STRING) == 0))
{
return GR_N;
}
@@ -238,7 +238,7 @@ int assemble_li(
int immediate_value = atoi(arg[0]);
- if (immediate_value < 0xFF && immediate_value >= 0)
+ if (immediate_value <= 0xFF && immediate_value >= 0)
{
write_buffer[0] = 0x03 | (immediate_value & 0x0F) << 2;
write_buffer[1] = 0x43 | ((immediate_value & 0xF0) >> 4) << 2;
@@ -271,8 +271,8 @@ int assemble_jmp(
InstructionDefinition_t definitions[TOT_INSTRUCTIONS] =
{
{ "push", 0, 1, 0x93, assemble_0arg },
- { "pop", 0, 1, 0x53, assemble_0arg },
- { "pcr", 0, 1, 0xA3, assemble_0arg },
+ { "pop", 0, 1, 0xA3, assemble_0arg },
+ { "pcr", 0, 1, 0xB3, assemble_0arg },
{ "li", 1, 2, 0x00, assemble_li },
{ "lli", 1, 1, 0x03, assemble_immediate },
{ "lui", 1, 1, 0x43, assemble_immediate },
@@ -283,9 +283,9 @@ InstructionDefinition_t definitions[TOT_INSTRUCTIONS] =
{ "cin", 2, 1, 0x02, assemble_2arg_alt },
{ "mov", 2, 1, 0x00, assemble_2arg_alt },
{ "cmp", 2, 1, 0xC3, assemble_2arg },
- { "or", 2, 1, 0x00, assemble_3arg },
- { "nand", 2, 1, 0x01, assemble_3arg },
- { "add", 2, 1, 0x02, assemble_3arg },
+ { "or", 3, 1, 0x00, assemble_3arg },
+ { "nand", 3, 1, 0x01, assemble_3arg },
+ { "add", 3, 1, 0x02, assemble_3arg },
};
InstructionDefinition_t* getInstructionFromOpcode(const char *opcode)
{