<?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"/>
  <lib desc="#Gates" name="1"/>
  <lib desc="#Plexers" name="2"/>
  <lib desc="#Arithmetic" name="3">
    <tool name="Adder">
      <a name="width" val="1"/>
    </tool>
  </lib>
  <lib desc="#Memory" name="4"/>
  <lib desc="#I/O" name="5"/>
  <lib desc="#Base" name="6">
    <tool name="Text Tool">
      <a name="text" val=""/>
      <a name="font" val="SansSerif plain 12"/>
      <a name="halign" val="center"/>
      <a name="valign" val="base"/>
    </tool>
  </lib>
  <main name="main"/>
  <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="Ctrl Button1" name="Menu Tool"/>
    <tool lib="6" map="Button3" 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 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="main">
    <a name="circuit" val="main"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(210,270)" to="(250,270)"/>
    <wire from="(420,210)" to="(420,230)"/>
    <wire from="(370,270)" to="(410,270)"/>
    <wire from="(420,260)" to="(420,350)"/>
    <wire from="(330,190)" to="(350,190)"/>
    <wire from="(410,120)" to="(410,140)"/>
    <wire from="(370,220)" to="(370,270)"/>
    <wire from="(260,220)" to="(290,220)"/>
    <wire from="(90,290)" to="(170,290)"/>
    <wire from="(150,70)" to="(150,140)"/>
    <wire from="(250,120)" to="(330,120)"/>
    <wire from="(410,190)" to="(410,230)"/>
    <wire from="(190,50)" to="(190,190)"/>
    <wire from="(170,120)" to="(170,140)"/>
    <wire from="(450,120)" to="(500,120)"/>
    <wire from="(270,50)" to="(270,190)"/>
    <wire from="(170,260)" to="(170,290)"/>
    <wire from="(290,270)" to="(330,270)"/>
    <wire from="(340,220)" to="(370,220)"/>
    <wire from="(250,260)" to="(250,270)"/>
    <wire from="(230,70)" to="(230,140)"/>
    <wire from="(160,180)" to="(160,230)"/>
    <wire from="(180,220)" to="(210,220)"/>
    <wire from="(500,100)" to="(500,120)"/>
    <wire from="(290,220)" to="(290,270)"/>
    <wire from="(250,120)" to="(250,140)"/>
    <wire from="(170,120)" to="(250,120)"/>
    <wire from="(260,260)" to="(260,350)"/>
    <wire from="(250,190)" to="(270,190)"/>
    <wire from="(330,190)" to="(330,230)"/>
    <wire from="(450,120)" to="(450,210)"/>
    <wire from="(210,220)" to="(210,270)"/>
    <wire from="(330,120)" to="(330,140)"/>
    <wire from="(340,220)" to="(340,230)"/>
    <wire from="(350,50)" to="(350,190)"/>
    <wire from="(320,180)" to="(320,230)"/>
    <wire from="(170,190)" to="(190,190)"/>
    <wire from="(400,180)" to="(400,230)"/>
    <wire from="(330,260)" to="(330,270)"/>
    <wire from="(410,260)" to="(410,270)"/>
    <wire from="(310,70)" to="(310,140)"/>
    <wire from="(250,190)" to="(250,230)"/>
    <wire from="(180,220)" to="(180,230)"/>
    <wire from="(430,50)" to="(430,190)"/>
    <wire from="(410,120)" to="(450,120)"/>
    <wire from="(340,260)" to="(340,350)"/>
    <wire from="(180,260)" to="(180,350)"/>
    <wire from="(420,210)" to="(450,210)"/>
    <wire from="(260,220)" to="(260,230)"/>
    <wire from="(240,180)" to="(240,230)"/>
    <wire from="(390,70)" to="(390,140)"/>
    <wire from="(410,190)" to="(430,190)"/>
    <wire from="(330,120)" to="(410,120)"/>
    <wire from="(170,190)" to="(170,230)"/>
    <comp lib="0" loc="(180,350)" name="Pin">
      <a name="facing" val="north"/>
      <a name="output" val="true"/>
      <a name="label" val="s3"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="0" loc="(390,70)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="b0"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="1" loc="(240,180)" name="XOR Gate">
      <a name="facing" val="south"/>
      <a name="size" val="30"/>
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(260,350)" name="Pin">
      <a name="facing" val="north"/>
      <a name="output" val="true"/>
      <a name="label" val="s2"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="6" loc="(299,434)" name="Text">
      <a name="text" val="Combined Adder/Subtractor"/>
      <a name="font" val="SansSerif bold 18"/>
    </comp>
    <comp lib="1" loc="(320,180)" name="XOR Gate">
      <a name="facing" val="south"/>
      <a name="size" val="30"/>
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(500,100)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="add/sub"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp loc="(340,260)" name="Full Adder">
      <a name="facing" val="south"/>
    </comp>
    <comp lib="1" loc="(160,180)" name="XOR Gate">
      <a name="facing" val="south"/>
      <a name="size" val="30"/>
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(230,70)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="b2"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(310,70)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="b1"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(90,290)" name="Pin">
      <a name="output" val="true"/>
      <a name="label" val="c_out"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="0" loc="(340,350)" name="Pin">
      <a name="facing" val="north"/>
      <a name="output" val="true"/>
      <a name="label" val="s1"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="1" loc="(400,180)" name="XOR Gate">
      <a name="facing" val="south"/>
      <a name="size" val="30"/>
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(190,50)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="a3"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp loc="(260,260)" name="Full Adder">
      <a name="facing" val="south"/>
    </comp>
    <comp lib="0" loc="(350,50)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="a1"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp loc="(180,260)" name="Full Adder">
      <a name="facing" val="south"/>
    </comp>
    <comp loc="(420,260)" name="Full Adder">
      <a name="facing" val="south"/>
    </comp>
    <comp lib="0" loc="(150,70)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="b3"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(270,50)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="a2"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(420,350)" name="Pin">
      <a name="facing" val="north"/>
      <a name="output" val="true"/>
      <a name="label" val="s0"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="0" loc="(430,50)" name="Pin">
      <a name="facing" val="south"/>
      <a name="tristate" val="false"/>
      <a name="label" val="a0"/>
      <a name="labelloc" val="north"/>
    </comp>
  </circuit>
  <circuit name="Full Adder">
    <a name="circuit" val="Full Adder"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(340,180)" to="(360,180)"/>
    <wire from="(300,140)" to="(300,220)"/>
    <wire from="(340,180)" to="(340,220)"/>
    <wire from="(440,300)" to="(490,300)"/>
    <wire from="(420,160)" to="(490,160)"/>
    <wire from="(90,160)" to="(160,160)"/>
    <wire from="(320,270)" to="(320,280)"/>
    <wire from="(90,120)" to="(300,120)"/>
    <wire from="(300,120)" to="(300,140)"/>
    <wire from="(160,160)" to="(220,160)"/>
    <wire from="(180,290)" to="(180,320)"/>
    <wire from="(300,140)" to="(360,140)"/>
    <wire from="(180,320)" to="(390,320)"/>
    <wire from="(200,200)" to="(200,240)"/>
    <wire from="(90,200)" to="(200,200)"/>
    <wire from="(280,180)" to="(340,180)"/>
    <wire from="(320,280)" to="(390,280)"/>
    <wire from="(200,200)" to="(220,200)"/>
    <wire from="(160,160)" to="(160,240)"/>
    <comp lib="0" loc="(90,200)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="y"/>
    </comp>
    <comp lib="0" loc="(490,160)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="tristate" val="false"/>
      <a name="label" val="Sum"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="1" loc="(440,300)" name="OR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(320,270)" name="AND Gate">
      <a name="facing" val="south"/>
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="6" loc="(226,43)" name="Text">
      <a name="text" val="Full Adder"/>
      <a name="font" val="SansSerif bold 16"/>
    </comp>
    <comp lib="1" loc="(180,290)" name="AND Gate">
      <a name="facing" val="south"/>
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(490,300)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="tristate" val="false"/>
      <a name="label" val="cout"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="1" loc="(420,160)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(280,180)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(90,120)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="cin"/>
    </comp>
    <comp lib="0" loc="(90,160)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="x"/>
    </comp>
  </circuit>
</project>
