<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="2.7.1" version="1.0">
  This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).

  <lib desc="#Wiring" name="0">
    <tool name="Splitter">
      <a name="facing" val="north"/>
      <a name="fanout" val="8"/>
      <a name="incoming" val="8"/>
      <a name="appear" val="legacy"/>
    </tool>
    <tool name="Pin">
      <a name="facing" val="south"/>
    </tool>
  </lib>
  <lib desc="#Gates" name="1"/>
  <lib desc="#Plexers" name="2"/>
  <lib desc="#Arithmetic" name="3"/>
  <lib desc="#Memory" name="4">
    <tool name="ROM">
      <a name="contents">addr/data: 8 8
0
</a>
    </tool>
  </lib>
  <lib desc="#I/O" name="5"/>
  <lib desc="#Base" name="6">
    <tool name="Text Tool">
      <a name="text" val="a"/>
      <a name="font" val="SansSerif plain 12"/>
      <a name="halign" val="center"/>
      <a name="valign" val="base"/>
    </tool>
    <tool name="Text">
      <a name="text" val="a"/>
    </tool>
  </lib>
  <lib desc="file#../Adder.circ" name="7"/>
  <main name="TwoBitAdderSubtractor"/>
  <options>
    <a name="gateUndefined" val="ignore"/>
    <a name="simlimit" val="1000"/>
    <a name="simrand" val="0"/>
  </options>
  <mappings>
    <tool lib="6" map="Button2" name="Menu Tool"/>
    <tool lib="6" map="Button3" name="Menu Tool"/>
    <tool lib="6" map="Ctrl Button1" name="Menu Tool"/>
  </mappings>
  <toolbar>
    <tool lib="6" name="Poke Tool"/>
    <tool lib="6" name="Edit Tool"/>
    <tool lib="6" name="Text Tool">
      <a name="text" val="a"/>
      <a name="font" val="SansSerif plain 12"/>
      <a name="halign" val="center"/>
      <a name="valign" val="base"/>
    </tool>
    <sep/>
    <tool lib="0" name="Pin">
      <a name="tristate" val="false"/>
    </tool>
    <tool lib="0" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="labelloc" val="east"/>
    </tool>
    <tool lib="1" name="NOT Gate"/>
    <tool lib="1" name="AND Gate"/>
    <tool lib="1" name="OR Gate"/>
  </toolbar>
  <circuit name="TwoBitAdderSubtractor">
    <a name="circuit" val="TwoBitAdderSubtractor"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(20,70)" to="(20,200)"/>
    <wire from="(210,220)" to="(210,290)"/>
    <wire from="(20,200)" to="(270,200)"/>
    <wire from="(210,220)" to="(270,220)"/>
    <wire from="(20,310)" to="(140,310)"/>
    <wire from="(70,70)" to="(70,80)"/>
    <wire from="(110,60)" to="(110,70)"/>
    <wire from="(200,150)" to="(250,150)"/>
    <wire from="(70,130)" to="(70,270)"/>
    <wire from="(290,80)" to="(290,90)"/>
    <wire from="(330,210)" to="(330,220)"/>
    <wire from="(290,230)" to="(290,310)"/>
    <wire from="(320,200)" to="(430,200)"/>
    <wire from="(70,70)" to="(110,70)"/>
    <wire from="(330,210)" to="(430,210)"/>
    <wire from="(40,100)" to="(270,100)"/>
    <wire from="(40,170)" to="(140,170)"/>
    <wire from="(250,120)" to="(250,150)"/>
    <wire from="(40,70)" to="(40,100)"/>
    <wire from="(320,110)" to="(320,200)"/>
    <wire from="(70,80)" to="(290,80)"/>
    <wire from="(300,210)" to="(330,210)"/>
    <wire from="(290,310)" to="(320,310)"/>
    <wire from="(300,110)" to="(320,110)"/>
    <wire from="(250,120)" to="(270,120)"/>
    <wire from="(20,310)" to="(20,360)"/>
    <wire from="(320,110)" to="(330,110)"/>
    <wire from="(70,80)" to="(70,130)"/>
    <wire from="(200,290)" to="(210,290)"/>
    <wire from="(290,130)" to="(290,190)"/>
    <wire from="(70,130)" to="(140,130)"/>
    <wire from="(70,270)" to="(140,270)"/>
    <wire from="(40,170)" to="(40,360)"/>
    <comp lib="7" loc="(280,210)" name="main"/>
    <comp lib="0" loc="(330,220)" name="Pin">
      <a name="facing" val="north"/>
      <a name="output" val="true"/>
      <a name="label" val="x1"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(110,60)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="+- Control"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(20,360)" name="Pin">
      <a name="facing" val="north"/>
      <a name="tristate" val="false"/>
      <a name="label" val="b1"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="7" loc="(280,110)" name="main"/>
    <comp lib="1" loc="(200,290)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(40,70)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="a0"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(20,70)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="a1"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(450,210)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="width" val="2"/>
      <a name="label" val="x1 x0"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="0" loc="(40,360)" name="Pin">
      <a name="facing" val="north"/>
      <a name="tristate" val="false"/>
      <a name="label" val="b0"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="1" loc="(200,150)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(320,310)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="label" val="Carry (overflow)"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(330,110)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="label" val="x0"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(450,210)" name="Splitter">
      <a name="facing" val="west"/>
      <a name="appear" val="legacy"/>
    </comp>
  </circuit>
  <circuit name="EightBitAdderSubtractor">
    <a name="circuit" val="EightBitAdderSubtractor"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(510,500)" to="(570,500)"/>
    <wire from="(90,370)" to="(90,630)"/>
    <wire from="(430,350)" to="(480,350)"/>
    <wire from="(150,670)" to="(150,680)"/>
    <wire from="(510,430)" to="(560,430)"/>
    <wire from="(440,140)" to="(440,280)"/>
    <wire from="(260,580)" to="(260,590)"/>
    <wire from="(270,510)" to="(270,530)"/>
    <wire from="(100,430)" to="(100,640)"/>
    <wire from="(500,50)" to="(500,130)"/>
    <wire from="(500,380)" to="(500,410)"/>
    <wire from="(100,120)" to="(460,120)"/>
    <wire from="(560,190)" to="(670,190)"/>
    <wire from="(510,360)" to="(550,360)"/>
    <wire from="(260,440)" to="(480,440)"/>
    <wire from="(580,210)" to="(580,570)"/>
    <wire from="(230,290)" to="(260,290)"/>
    <wire from="(230,410)" to="(260,410)"/>
    <wire from="(110,490)" to="(110,650)"/>
    <wire from="(100,130)" to="(450,130)"/>
    <wire from="(510,290)" to="(540,290)"/>
    <wire from="(510,220)" to="(530,220)"/>
    <wire from="(120,550)" to="(120,660)"/>
    <wire from="(100,140)" to="(440,140)"/>
    <wire from="(250,200)" to="(460,200)"/>
    <wire from="(540,170)" to="(540,290)"/>
    <wire from="(260,300)" to="(260,350)"/>
    <wire from="(100,150)" to="(430,150)"/>
    <wire from="(50,40)" to="(50,160)"/>
    <wire from="(690,190)" to="(770,190)"/>
    <wire from="(130,610)" to="(130,670)"/>
    <wire from="(550,180)" to="(670,180)"/>
    <wire from="(100,160)" to="(420,160)"/>
    <wire from="(420,420)" to="(480,420)"/>
    <wire from="(70,670)" to="(130,670)"/>
    <wire from="(410,170)" to="(410,490)"/>
    <wire from="(100,170)" to="(410,170)"/>
    <wire from="(100,180)" to="(400,180)"/>
    <wire from="(450,130)" to="(450,210)"/>
    <wire from="(500,310)" to="(500,340)"/>
    <wire from="(500,590)" to="(500,620)"/>
    <wire from="(70,650)" to="(110,650)"/>
    <wire from="(140,50)" to="(500,50)"/>
    <wire from="(230,530)" to="(270,530)"/>
    <wire from="(100,190)" to="(390,190)"/>
    <wire from="(140,570)" to="(170,570)"/>
    <wire from="(260,370)" to="(480,370)"/>
    <wire from="(140,210)" to="(170,210)"/>
    <wire from="(140,330)" to="(170,330)"/>
    <wire from="(140,450)" to="(170,450)"/>
    <wire from="(50,160)" to="(80,160)"/>
    <wire from="(140,50)" to="(140,210)"/>
    <wire from="(510,150)" to="(670,150)"/>
    <wire from="(270,510)" to="(480,510)"/>
    <wire from="(460,140)" to="(480,140)"/>
    <wire from="(70,630)" to="(90,630)"/>
    <wire from="(590,220)" to="(590,640)"/>
    <wire from="(150,670)" to="(170,670)"/>
    <wire from="(230,230)" to="(250,230)"/>
    <wire from="(40,650)" to="(40,700)"/>
    <wire from="(40,650)" to="(50,650)"/>
    <wire from="(540,170)" to="(670,170)"/>
    <wire from="(260,230)" to="(260,290)"/>
    <wire from="(590,220)" to="(670,220)"/>
    <wire from="(410,490)" to="(480,490)"/>
    <wire from="(550,180)" to="(550,360)"/>
    <wire from="(140,270)" to="(140,330)"/>
    <wire from="(140,390)" to="(140,450)"/>
    <wire from="(140,510)" to="(140,570)"/>
    <wire from="(420,160)" to="(420,420)"/>
    <wire from="(140,40)" to="(140,50)"/>
    <wire from="(460,120)" to="(460,140)"/>
    <wire from="(500,240)" to="(500,270)"/>
    <wire from="(500,520)" to="(500,550)"/>
    <wire from="(260,440)" to="(260,470)"/>
    <wire from="(70,250)" to="(170,250)"/>
    <wire from="(260,300)" to="(480,300)"/>
    <wire from="(260,580)" to="(480,580)"/>
    <wire from="(230,350)" to="(260,350)"/>
    <wire from="(230,470)" to="(260,470)"/>
    <wire from="(230,590)" to="(260,590)"/>
    <wire from="(450,210)" to="(480,210)"/>
    <wire from="(80,310)" to="(170,310)"/>
    <wire from="(580,210)" to="(670,210)"/>
    <wire from="(460,160)" to="(460,200)"/>
    <wire from="(90,370)" to="(170,370)"/>
    <wire from="(400,560)" to="(480,560)"/>
    <wire from="(560,190)" to="(560,430)"/>
    <wire from="(100,430)" to="(170,430)"/>
    <wire from="(530,160)" to="(670,160)"/>
    <wire from="(390,190)" to="(390,630)"/>
    <wire from="(230,650)" to="(480,650)"/>
    <wire from="(110,490)" to="(170,490)"/>
    <wire from="(120,550)" to="(170,550)"/>
    <wire from="(430,150)" to="(430,350)"/>
    <wire from="(70,660)" to="(120,660)"/>
    <wire from="(570,200)" to="(670,200)"/>
    <wire from="(500,170)" to="(500,200)"/>
    <wire from="(500,450)" to="(500,480)"/>
    <wire from="(130,610)" to="(170,610)"/>
    <wire from="(250,200)" to="(250,230)"/>
    <wire from="(440,280)" to="(480,280)"/>
    <wire from="(140,390)" to="(170,390)"/>
    <wire from="(390,630)" to="(480,630)"/>
    <wire from="(260,230)" to="(480,230)"/>
    <wire from="(140,630)" to="(170,630)"/>
    <wire from="(140,270)" to="(170,270)"/>
    <wire from="(140,510)" to="(170,510)"/>
    <wire from="(70,640)" to="(100,640)"/>
    <wire from="(570,200)" to="(570,500)"/>
    <wire from="(70,250)" to="(70,610)"/>
    <wire from="(460,160)" to="(480,160)"/>
    <wire from="(260,370)" to="(260,410)"/>
    <wire from="(70,680)" to="(150,680)"/>
    <wire from="(510,570)" to="(580,570)"/>
    <wire from="(530,160)" to="(530,220)"/>
    <wire from="(70,620)" to="(80,620)"/>
    <wire from="(80,310)" to="(80,620)"/>
    <wire from="(510,640)" to="(590,640)"/>
    <wire from="(400,180)" to="(400,560)"/>
    <wire from="(140,210)" to="(140,270)"/>
    <wire from="(140,330)" to="(140,390)"/>
    <wire from="(140,450)" to="(140,510)"/>
    <wire from="(140,570)" to="(140,630)"/>
    <comp lib="0" loc="(50,40)" name="Pin">
      <a name="facing" val="south"/>
      <a name="width" val="8"/>
      <a name="tristate" val="false"/>
      <a name="label" val="input a"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(770,190)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="width" val="8"/>
      <a name="tristate" val="false"/>
      <a name="label" val="Result x: Negatives are in 2's compliment"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="1" loc="(230,230)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(80,160)" name="Splitter">
      <a name="fanout" val="8"/>
      <a name="incoming" val="8"/>
      <a name="appear" val="center"/>
    </comp>
    <comp lib="1" loc="(230,350)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="7" loc="(490,360)" name="main"/>
    <comp lib="7" loc="(490,290)" name="main"/>
    <comp lib="7" loc="(490,150)" name="main"/>
    <comp lib="1" loc="(230,650)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(230,290)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="7" loc="(490,500)" name="main"/>
    <comp lib="1" loc="(230,590)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="7" loc="(490,430)" name="main"/>
    <comp lib="0" loc="(690,190)" name="Splitter">
      <a name="facing" val="west"/>
      <a name="fanout" val="8"/>
      <a name="incoming" val="8"/>
      <a name="appear" val="center"/>
    </comp>
    <comp lib="1" loc="(230,470)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="7" loc="(490,570)" name="main"/>
    <comp lib="1" loc="(230,530)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="7" loc="(490,220)" name="main"/>
    <comp lib="0" loc="(50,650)" name="Splitter">
      <a name="fanout" val="8"/>
      <a name="incoming" val="8"/>
      <a name="appear" val="center"/>
    </comp>
    <comp lib="1" loc="(230,410)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(140,40)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="+- Control"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(40,700)" name="Pin">
      <a name="facing" val="north"/>
      <a name="width" val="8"/>
      <a name="tristate" val="false"/>
      <a name="label" val="input b"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="7" loc="(490,640)" name="main"/>
  </circuit>
</project>