<?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"/>
  <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 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="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 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="(420,90)" to="(420,160)"/>
    <wire from="(400,670)" to="(460,670)"/>
    <wire from="(630,250)" to="(630,890)"/>
    <wire from="(810,70)" to="(810,200)"/>
    <wire from="(520,890)" to="(560,890)"/>
    <wire from="(380,100)" to="(380,120)"/>
    <wire from="(760,200)" to="(760,230)"/>
    <wire from="(250,100)" to="(290,100)"/>
    <wire from="(470,360)" to="(510,360)"/>
    <wire from="(530,570)" to="(530,610)"/>
    <wire from="(530,650)" to="(530,690)"/>
    <wire from="(430,610)" to="(460,610)"/>
    <wire from="(520,830)" to="(540,830)"/>
    <wire from="(520,950)" to="(540,950)"/>
    <wire from="(470,300)" to="(490,300)"/>
    <wire from="(470,420)" to="(490,420)"/>
    <wire from="(290,230)" to="(370,230)"/>
    <wire from="(440,740)" to="(520,740)"/>
    <wire from="(580,760)" to="(660,760)"/>
    <wire from="(430,550)" to="(430,610)"/>
    <wire from="(600,200)" to="(600,250)"/>
    <wire from="(570,500)" to="(710,500)"/>
    <wire from="(370,320)" to="(370,440)"/>
    <wire from="(420,850)" to="(420,970)"/>
    <wire from="(360,400)" to="(420,400)"/>
    <wire from="(410,930)" to="(470,930)"/>
    <wire from="(460,550)" to="(460,560)"/>
    <wire from="(440,730)" to="(440,740)"/>
    <wire from="(430,460)" to="(600,460)"/>
    <wire from="(530,230)" to="(760,230)"/>
    <wire from="(400,650)" to="(400,670)"/>
    <wire from="(400,520)" to="(510,520)"/>
    <wire from="(150,100)" to="(150,760)"/>
    <wire from="(320,170)" to="(420,170)"/>
    <wire from="(410,500)" to="(510,500)"/>
    <wire from="(540,830)" to="(540,870)"/>
    <wire from="(540,910)" to="(540,950)"/>
    <wire from="(270,250)" to="(360,250)"/>
    <wire from="(380,120)" to="(470,120)"/>
    <wire from="(390,340)" to="(420,340)"/>
    <wire from="(530,610)" to="(550,610)"/>
    <wire from="(530,650)" to="(550,650)"/>
    <wire from="(440,870)" to="(470,870)"/>
    <wire from="(610,890)" to="(630,890)"/>
    <wire from="(710,200)" to="(710,500)"/>
    <wire from="(600,360)" to="(600,460)"/>
    <wire from="(250,170)" to="(270,170)"/>
    <wire from="(490,300)" to="(490,340)"/>
    <wire from="(490,380)" to="(490,420)"/>
    <wire from="(380,50)" to="(460,50)"/>
    <wire from="(440,190)" to="(570,190)"/>
    <wire from="(570,140)" to="(570,190)"/>
    <wire from="(390,280)" to="(390,340)"/>
    <wire from="(210,500)" to="(410,500)"/>
    <wire from="(440,810)" to="(440,870)"/>
    <wire from="(430,480)" to="(430,550)"/>
    <wire from="(400,650)" to="(460,650)"/>
    <wire from="(400,520)" to="(400,650)"/>
    <wire from="(420,160)" to="(470,160)"/>
    <wire from="(390,210)" to="(440,210)"/>
    <wire from="(410,590)" to="(460,590)"/>
    <wire from="(410,710)" to="(460,710)"/>
    <wire from="(520,140)" to="(570,140)"/>
    <wire from="(420,160)" to="(420,170)"/>
    <wire from="(420,280)" to="(420,290)"/>
    <wire from="(470,810)" to="(470,820)"/>
    <wire from="(360,380)" to="(360,400)"/>
    <wire from="(410,910)" to="(410,930)"/>
    <wire from="(410,780)" to="(520,780)"/>
    <wire from="(360,250)" to="(470,250)"/>
    <wire from="(370,230)" to="(470,230)"/>
    <wire from="(110,100)" to="(150,100)"/>
    <wire from="(420,760)" to="(520,760)"/>
    <wire from="(410,500)" to="(410,590)"/>
    <wire from="(120,780)" to="(410,780)"/>
    <wire from="(420,90)" to="(460,90)"/>
    <wire from="(180,100)" to="(210,100)"/>
    <wire from="(120,170)" to="(120,780)"/>
    <wire from="(430,550)" to="(460,550)"/>
    <wire from="(540,870)" to="(560,870)"/>
    <wire from="(540,910)" to="(560,910)"/>
    <wire from="(490,340)" to="(510,340)"/>
    <wire from="(490,380)" to="(510,380)"/>
    <wire from="(190,520)" to="(400,520)"/>
    <wire from="(110,170)" to="(120,170)"/>
    <wire from="(660,200)" to="(660,760)"/>
    <wire from="(320,100)" to="(380,100)"/>
    <wire from="(390,210)" to="(390,280)"/>
    <wire from="(360,380)" to="(420,380)"/>
    <wire from="(440,740)" to="(440,810)"/>
    <wire from="(410,910)" to="(470,910)"/>
    <wire from="(410,780)" to="(410,910)"/>
    <wire from="(290,100)" to="(290,230)"/>
    <wire from="(360,250)" to="(360,380)"/>
    <wire from="(420,850)" to="(470,850)"/>
    <wire from="(420,970)" to="(470,970)"/>
    <wire from="(370,320)" to="(420,320)"/>
    <wire from="(370,440)" to="(420,440)"/>
    <wire from="(510,630)" to="(550,630)"/>
    <wire from="(560,360)" to="(600,360)"/>
    <wire from="(440,730)" to="(610,730)"/>
    <wire from="(440,190)" to="(440,210)"/>
    <wire from="(430,460)" to="(430,480)"/>
    <wire from="(210,100)" to="(210,500)"/>
    <wire from="(270,170)" to="(270,250)"/>
    <wire from="(520,70)" to="(810,70)"/>
    <wire from="(190,170)" to="(190,520)"/>
    <wire from="(420,760)" to="(420,850)"/>
    <wire from="(370,230)" to="(370,320)"/>
    <wire from="(440,210)" to="(470,210)"/>
    <wire from="(390,280)" to="(420,280)"/>
    <wire from="(510,570)" to="(530,570)"/>
    <wire from="(510,690)" to="(530,690)"/>
    <wire from="(440,810)" to="(470,810)"/>
    <wire from="(600,250)" to="(630,250)"/>
    <wire from="(610,630)" to="(610,730)"/>
    <wire from="(150,760)" to="(420,760)"/>
    <wire from="(180,170)" to="(190,170)"/>
    <wire from="(430,480)" to="(510,480)"/>
    <wire from="(380,50)" to="(380,100)"/>
    <wire from="(410,590)" to="(410,710)"/>
    <wire from="(600,630)" to="(610,630)"/>
    <comp lib="6" loc="(668,183)" name="Text">
      <a name="text" val="s3"/>
    </comp>
    <comp lib="0" loc="(320,170)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="1" loc="(520,890)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(180,170)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="1" loc="(510,690)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(520,70)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="6" loc="(312,78)" name="Text">
      <a name="text" val="x0"/>
    </comp>
    <comp lib="6" loc="(99,153)" name="Text">
      <a name="text" val="y3"/>
    </comp>
    <comp lib="6" loc="(613,181)" name="Text">
      <a name="text" val="overflow"/>
    </comp>
    <comp lib="0" loc="(250,100)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="1" loc="(610,890)" name="OR Gate">
      <a name="inputs" val="3"/>
    </comp>
    <comp lib="6" loc="(168,152)" name="Text">
      <a name="text" val="y2"/>
    </comp>
    <comp lib="0" loc="(180,100)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="1" loc="(560,360)" name="OR Gate">
      <a name="inputs" val="3"/>
    </comp>
    <comp lib="1" loc="(600,630)" name="OR Gate">
      <a name="inputs" val="3"/>
    </comp>
    <comp lib="1" loc="(510,570)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(710,200)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(110,170)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(760,200)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="6" loc="(243,80)" name="Text">
      <a name="text" val="x1"/>
    </comp>
    <comp lib="6" loc="(826,181)" name="Text">
      <a name="text" val="s0"/>
    </comp>
    <comp lib="1" loc="(580,760)" name="XOR Gate">
      <a name="inputs" val="3"/>
      <a name="xor" val="odd"/>
    </comp>
    <comp lib="1" loc="(520,140)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(470,360)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(660,200)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(110,100)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="6" loc="(243,155)" name="Text">
      <a name="text" val="y1"/>
    </comp>
    <comp lib="0" loc="(320,100)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="0" loc="(810,200)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="1" loc="(530,230)" name="XOR Gate">
      <a name="inputs" val="3"/>
      <a name="xor" val="odd"/>
    </comp>
    <comp lib="6" loc="(311,152)" name="Text">
      <a name="text" val="y0"/>
    </comp>
    <comp lib="1" loc="(570,500)" name="XOR Gate">
      <a name="inputs" val="3"/>
      <a name="xor" val="odd"/>
    </comp>
    <comp lib="6" loc="(172,79)" name="Text">
      <a name="text" val="x2"/>
    </comp>
    <comp lib="1" loc="(520,950)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(520,830)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="6" loc="(721,181)" name="Text">
      <a name="text" val="s2"/>
    </comp>
    <comp lib="1" loc="(510,630)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="6" loc="(763,181)" name="Text">
      <a name="text" val="s1"/>
    </comp>
    <comp lib="1" loc="(470,420)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(600,200)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(250,170)" name="Pin">
      <a name="tristate" val="false"/>
    </comp>
    <comp lib="6" loc="(100,79)" name="Text">
      <a name="text" val="x3"/>
    </comp>
    <comp lib="1" loc="(470,300)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
  </circuit>
</project>
