<?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="(490,280)" to="(550,280)"/>
    <wire from="(490,130)" to="(540,130)"/>
    <wire from="(390,1240)" to="(570,1240)"/>
    <wire from="(470,210)" to="(470,350)"/>
    <wire from="(660,290)" to="(720,290)"/>
    <wire from="(450,1310)" to="(570,1310)"/>
    <wire from="(600,530)" to="(640,530)"/>
    <wire from="(670,1280)" to="(710,1280)"/>
    <wire from="(240,110)" to="(240,190)"/>
    <wire from="(450,1160)" to="(560,1160)"/>
    <wire from="(200,60)" to="(370,60)"/>
    <wire from="(460,1010)" to="(570,1010)"/>
    <wire from="(460,980)" to="(460,1010)"/>
    <wire from="(780,600)" to="(780,750)"/>
    <wire from="(240,230)" to="(240,580)"/>
    <wire from="(510,240)" to="(550,240)"/>
    <wire from="(1170,230)" to="(1170,1140)"/>
    <wire from="(510,750)" to="(510,790)"/>
    <wire from="(650,890)" to="(650,930)"/>
    <wire from="(420,450)" to="(420,550)"/>
    <wire from="(390,1140)" to="(390,1240)"/>
    <wire from="(240,190)" to="(400,190)"/>
    <wire from="(1180,180)" to="(1180,230)"/>
    <wire from="(1230,180)" to="(1230,810)"/>
    <wire from="(510,90)" to="(540,90)"/>
    <wire from="(280,500)" to="(310,500)"/>
    <wire from="(760,950)" to="(780,950)"/>
    <wire from="(280,110)" to="(300,110)"/>
    <wire from="(770,270)" to="(800,270)"/>
    <wire from="(400,190)" to="(400,810)"/>
    <wire from="(540,1200)" to="(570,1200)"/>
    <wire from="(800,270)" to="(800,390)"/>
    <wire from="(230,110)" to="(240,110)"/>
    <wire from="(230,230)" to="(240,230)"/>
    <wire from="(290,330)" to="(290,380)"/>
    <wire from="(470,210)" to="(550,210)"/>
    <wire from="(510,1090)" to="(780,1090)"/>
    <wire from="(670,1280)" to="(670,1290)"/>
    <wire from="(350,230)" to="(350,300)"/>
    <wire from="(490,650)" to="(550,650)"/>
    <wire from="(620,1030)" to="(670,1030)"/>
    <wire from="(400,910)" to="(400,1050)"/>
    <wire from="(490,480)" to="(490,620)"/>
    <wire from="(300,170)" to="(420,170)"/>
    <wire from="(370,400)" to="(490,400)"/>
    <wire from="(370,480)" to="(490,480)"/>
    <wire from="(650,930)" to="(710,930)"/>
    <wire from="(390,1140)" to="(560,1140)"/>
    <wire from="(400,910)" to="(570,910)"/>
    <wire from="(600,260)" to="(640,260)"/>
    <wire from="(450,1160)" to="(450,1310)"/>
    <wire from="(670,970)" to="(710,970)"/>
    <wire from="(740,600)" to="(780,600)"/>
    <wire from="(460,980)" to="(570,980)"/>
    <wire from="(190,110)" to="(190,200)"/>
    <wire from="(490,620)" to="(490,650)"/>
    <wire from="(460,830)" to="(560,830)"/>
    <wire from="(370,60)" to="(370,90)"/>
    <wire from="(250,300)" to="(350,300)"/>
    <wire from="(510,170)" to="(550,170)"/>
    <wire from="(650,1220)" to="(650,1260)"/>
    <wire from="(470,110)" to="(470,210)"/>
    <wire from="(680,950)" to="(710,950)"/>
    <wire from="(620,890)" to="(650,890)"/>
    <wire from="(340,230)" to="(350,230)"/>
    <wire from="(370,640)" to="(450,640)"/>
    <wire from="(300,110)" to="(300,170)"/>
    <wire from="(420,450)" to="(550,450)"/>
    <wire from="(420,690)" to="(550,690)"/>
    <wire from="(640,270)" to="(720,270)"/>
    <wire from="(1130,180)" to="(1130,220)"/>
    <wire from="(640,530)" to="(640,580)"/>
    <wire from="(190,200)" to="(390,200)"/>
    <wire from="(1300,110)" to="(1300,150)"/>
    <wire from="(470,110)" to="(540,110)"/>
    <wire from="(250,420)" to="(310,420)"/>
    <wire from="(640,260)" to="(640,270)"/>
    <wire from="(490,620)" to="(550,620)"/>
    <wire from="(620,1360)" to="(670,1360)"/>
    <wire from="(640,620)" to="(690,620)"/>
    <wire from="(640,580)" to="(690,580)"/>
    <wire from="(460,560)" to="(460,830)"/>
    <wire from="(390,1380)" to="(570,1380)"/>
    <wire from="(600,330)" to="(660,330)"/>
    <wire from="(600,110)" to="(1300,110)"/>
    <wire from="(490,470)" to="(490,480)"/>
    <wire from="(650,1260)" to="(710,1260)"/>
    <wire from="(540,870)" to="(540,940)"/>
    <wire from="(620,1140)" to="(1170,1140)"/>
    <wire from="(600,670)" to="(640,670)"/>
    <wire from="(490,130)" to="(490,280)"/>
    <wire from="(670,1300)" to="(710,1300)"/>
    <wire from="(760,1280)" to="(1120,1280)"/>
    <wire from="(290,380)" to="(290,460)"/>
    <wire from="(290,460)" to="(290,540)"/>
    <wire from="(290,540)" to="(290,620)"/>
    <wire from="(620,810)" to="(1230,810)"/>
    <wire from="(510,1090)" to="(510,1120)"/>
    <wire from="(540,790)" to="(540,870)"/>
    <wire from="(450,1310)" to="(450,1340)"/>
    <wire from="(520,390)" to="(800,390)"/>
    <wire from="(400,810)" to="(400,910)"/>
    <wire from="(370,560)" to="(460,560)"/>
    <wire from="(540,790)" to="(560,790)"/>
    <wire from="(530,580)" to="(550,580)"/>
    <wire from="(400,810)" to="(560,810)"/>
    <wire from="(1170,230)" to="(1180,230)"/>
    <wire from="(1120,220)" to="(1130,220)"/>
    <wire from="(690,250)" to="(720,250)"/>
    <wire from="(290,380)" to="(310,380)"/>
    <wire from="(290,460)" to="(310,460)"/>
    <wire from="(290,540)" to="(310,540)"/>
    <wire from="(290,620)" to="(310,620)"/>
    <wire from="(510,790)" to="(540,790)"/>
    <wire from="(540,940)" to="(570,940)"/>
    <wire from="(620,1220)" to="(650,1220)"/>
    <wire from="(600,190)" to="(690,190)"/>
    <wire from="(290,330)" to="(370,330)"/>
    <wire from="(170,230)" to="(180,230)"/>
    <wire from="(1120,220)" to="(1120,1280)"/>
    <wire from="(690,190)" to="(690,250)"/>
    <wire from="(670,970)" to="(670,1030)"/>
    <wire from="(470,350)" to="(550,350)"/>
    <wire from="(510,750)" to="(780,750)"/>
    <wire from="(250,300)" to="(250,420)"/>
    <wire from="(640,620)" to="(640,670)"/>
    <wire from="(180,660)" to="(310,660)"/>
    <wire from="(1300,150)" to="(1320,150)"/>
    <wire from="(680,950)" to="(680,960)"/>
    <wire from="(780,950)" to="(780,1090)"/>
    <wire from="(510,170)" to="(510,240)"/>
    <wire from="(490,470)" to="(550,470)"/>
    <wire from="(490,310)" to="(550,310)"/>
    <wire from="(620,1290)" to="(670,1290)"/>
    <wire from="(280,230)" to="(280,500)"/>
    <wire from="(420,550)" to="(420,690)"/>
    <wire from="(390,1240)" to="(390,1380)"/>
    <wire from="(1320,150)" to="(1320,180)"/>
    <wire from="(620,960)" to="(680,960)"/>
    <wire from="(530,510)" to="(530,580)"/>
    <wire from="(540,1200)" to="(540,1270)"/>
    <wire from="(450,640)" to="(450,1160)"/>
    <wire from="(450,1340)" to="(570,1340)"/>
    <wire from="(400,1050)" to="(570,1050)"/>
    <wire from="(460,830)" to="(460,980)"/>
    <wire from="(510,90)" to="(510,170)"/>
    <wire from="(530,430)" to="(530,510)"/>
    <wire from="(540,1120)" to="(540,1200)"/>
    <wire from="(490,280)" to="(490,310)"/>
    <wire from="(490,310)" to="(490,400)"/>
    <wire from="(1270,180)" to="(1270,450)"/>
    <wire from="(420,170)" to="(420,450)"/>
    <wire from="(520,390)" to="(520,430)"/>
    <wire from="(660,290)" to="(660,330)"/>
    <wire from="(540,1120)" to="(560,1120)"/>
    <wire from="(530,430)" to="(550,430)"/>
    <wire from="(530,510)" to="(550,510)"/>
    <wire from="(610,450)" to="(1270,450)"/>
    <wire from="(1310,180)" to="(1320,180)"/>
    <wire from="(510,1120)" to="(540,1120)"/>
    <wire from="(390,200)" to="(390,1140)"/>
    <wire from="(540,870)" to="(570,870)"/>
    <wire from="(540,1270)" to="(570,1270)"/>
    <wire from="(180,230)" to="(180,660)"/>
    <wire from="(170,110)" to="(190,110)"/>
    <wire from="(600,600)" to="(690,600)"/>
    <wire from="(370,90)" to="(510,90)"/>
    <wire from="(370,90)" to="(370,330)"/>
    <wire from="(670,1300)" to="(670,1360)"/>
    <wire from="(420,550)" to="(550,550)"/>
    <wire from="(240,580)" to="(310,580)"/>
    <wire from="(340,110)" to="(470,110)"/>
    <wire from="(520,430)" to="(530,430)"/>
    <comp lib="0" loc="(280,110)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="x1"/>
    </comp>
    <comp lib="1" loc="(770,270)" name="OR Gate">
      <a name="inputs" val="3"/>
    </comp>
    <comp lib="0" loc="(200,60)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="OpType"/>
    </comp>
    <comp lib="0" loc="(1270,180)" name="Pin">
      <a name="output" val="true"/>
      <a name="tristate" val="false"/>
      <a name="label" val="s1"/>
    </comp>
    <comp lib="1" loc="(600,530)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(1230,180)" name="Pin">
      <a name="output" val="true"/>
      <a name="tristate" val="false"/>
      <a name="label" val="s2"/>
    </comp>
    <comp lib="1" loc="(740,600)" name="OR Gate">
      <a name="inputs" val="3"/>
    </comp>
    <comp lib="1" loc="(600,110)" name="XOR Gate">
      <a name="inputs" val="3"/>
      <a name="xor" val="odd"/>
    </comp>
    <comp lib="1" loc="(600,190)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(600,600)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(170,110)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="x3"/>
    </comp>
    <comp lib="1" loc="(620,1140)" name="XOR Gate">
      <a name="inputs" val="3"/>
      <a name="xor" val="odd"/>
    </comp>
    <comp lib="1" loc="(760,1280)" name="OR Gate">
      <a name="inputs" val="3"/>
    </comp>
    <comp lib="1" loc="(620,890)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(620,810)" name="XOR Gate">
      <a name="inputs" val="3"/>
      <a name="xor" val="odd"/>
    </comp>
    <comp lib="0" loc="(1180,180)" name="Pin">
      <a name="output" val="true"/>
      <a name="tristate" val="false"/>
      <a name="label" val="s3"/>
    </comp>
    <comp lib="0" loc="(230,110)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="x2"/>
    </comp>
    <comp lib="1" loc="(620,1360)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(280,230)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="y1"/>
    </comp>
    <comp lib="1" loc="(600,330)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(620,1290)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(1310,180)" name="Pin">
      <a name="output" val="true"/>
      <a name="tristate" val="false"/>
      <a name="label" val="so"/>
    </comp>
    <comp lib="1" loc="(620,1220)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(620,1030)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(340,110)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="x0"/>
    </comp>
    <comp lib="1" loc="(610,450)" name="XOR Gate">
      <a name="inputs" val="3"/>
      <a name="xor" val="odd"/>
    </comp>
    <comp lib="1" loc="(370,400)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(230,230)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="y2"/>
    </comp>
    <comp lib="1" loc="(370,480)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(1130,180)" name="Pin">
      <a name="output" val="true"/>
      <a name="tristate" val="false"/>
      <a name="label" val="overflow"/>
    </comp>
    <comp lib="1" loc="(600,260)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(600,670)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(370,640)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(340,230)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="y0"/>
    </comp>
    <comp lib="1" loc="(620,960)" name="AND Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="1" loc="(370,560)" name="XOR Gate">
      <a name="inputs" val="2"/>
    </comp>
    <comp lib="0" loc="(170,230)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="y3"/>
    </comp>
    <comp lib="1" loc="(760,950)" name="OR Gate">
      <a name="inputs" val="3"/>
    </comp>
  </circuit>
</project>
