<?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="Constant">
      <a name="value" val="0x0"/>
    </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 name="font" val="SansSerif plain 12"/>
      <a name="halign" val="center"/>
      <a name="valign" val="base"/>
    </tool>
  </lib>
  <main name="Registers"/>
  <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="Registers">
    <a name="circuit" val="Registers"/>
    <a name="clabel" val=""/>
    <a name="clabelup" val="east"/>
    <a name="clabelfont" val="SansSerif plain 12"/>
    <wire from="(270,170)" to="(270,210)"/>
    <wire from="(140,190)" to="(250,190)"/>
    <wire from="(810,310)" to="(810,320)"/>
    <wire from="(800,320)" to="(800,330)"/>
    <wire from="(130,310)" to="(170,310)"/>
    <wire from="(510,490)" to="(610,490)"/>
    <wire from="(420,200)" to="(510,200)"/>
    <wire from="(360,310)" to="(400,310)"/>
    <wire from="(780,300)" to="(820,300)"/>
    <wire from="(640,220)" to="(640,260)"/>
    <wire from="(140,180)" to="(260,180)"/>
    <wire from="(500,350)" to="(530,350)"/>
    <wire from="(780,270)" to="(820,270)"/>
    <wire from="(120,210)" to="(120,250)"/>
    <wire from="(400,220)" to="(400,230)"/>
    <wire from="(780,320)" to="(800,320)"/>
    <wire from="(360,450)" to="(400,450)"/>
    <wire from="(780,310)" to="(810,310)"/>
    <wire from="(170,300)" to="(230,300)"/>
    <wire from="(150,200)" to="(150,220)"/>
    <wire from="(420,420)" to="(470,420)"/>
    <wire from="(470,420)" to="(510,420)"/>
    <wire from="(640,260)" to="(680,260)"/>
    <wire from="(170,320)" to="(210,320)"/>
    <wire from="(170,290)" to="(210,290)"/>
    <wire from="(360,380)" to="(400,380)"/>
    <wire from="(170,290)" to="(170,300)"/>
    <wire from="(780,330)" to="(790,330)"/>
    <wire from="(260,180)" to="(260,290)"/>
    <wire from="(390,290)" to="(390,300)"/>
    <wire from="(730,200)" to="(750,200)"/>
    <wire from="(170,310)" to="(170,320)"/>
    <wire from="(210,420)" to="(390,420)"/>
    <wire from="(260,290)" to="(390,290)"/>
    <wire from="(470,400)" to="(470,420)"/>
    <wire from="(70,190)" to="(100,190)"/>
    <wire from="(850,310)" to="(870,310)"/>
    <wire from="(810,320)" to="(820,320)"/>
    <wire from="(510,270)" to="(510,280)"/>
    <wire from="(780,280)" to="(820,280)"/>
    <wire from="(170,310)" to="(230,310)"/>
    <wire from="(360,230)" to="(360,310)"/>
    <wire from="(140,200)" to="(150,200)"/>
    <wire from="(510,420)" to="(510,490)"/>
    <wire from="(610,210)" to="(620,210)"/>
    <wire from="(230,310)" to="(230,350)"/>
    <wire from="(120,250)" to="(140,250)"/>
    <wire from="(890,310)" to="(920,310)"/>
    <wire from="(660,200)" to="(730,200)"/>
    <wire from="(730,310)" to="(760,310)"/>
    <wire from="(230,350)" to="(390,350)"/>
    <wire from="(420,280)" to="(510,280)"/>
    <wire from="(780,400)" to="(920,400)"/>
    <wire from="(610,210)" to="(610,420)"/>
    <wire from="(800,330)" to="(820,330)"/>
    <wire from="(600,200)" to="(620,200)"/>
    <wire from="(790,330)" to="(790,340)"/>
    <wire from="(400,370)" to="(400,380)"/>
    <wire from="(780,350)" to="(780,400)"/>
    <wire from="(250,360)" to="(390,360)"/>
    <wire from="(630,500)" to="(630,550)"/>
    <wire from="(170,300)" to="(170,310)"/>
    <wire from="(240,430)" to="(390,430)"/>
    <wire from="(530,350)" to="(600,350)"/>
    <wire from="(570,200)" to="(570,460)"/>
    <wire from="(510,280)" to="(550,280)"/>
    <wire from="(780,350)" to="(820,350)"/>
    <wire from="(360,230)" to="(400,230)"/>
    <wire from="(650,480)" to="(750,480)"/>
    <wire from="(640,260)" to="(640,280)"/>
    <wire from="(590,190)" to="(590,280)"/>
    <wire from="(570,200)" to="(580,200)"/>
    <wire from="(400,300)" to="(400,310)"/>
    <wire from="(420,350)" to="(500,350)"/>
    <wire from="(400,440)" to="(400,450)"/>
    <wire from="(590,190)" to="(620,190)"/>
    <wire from="(580,180)" to="(620,180)"/>
    <wire from="(230,280)" to="(230,300)"/>
    <wire from="(730,200)" to="(730,310)"/>
    <wire from="(600,200)" to="(600,350)"/>
    <wire from="(550,470)" to="(610,470)"/>
    <wire from="(780,290)" to="(820,290)"/>
    <wire from="(270,210)" to="(390,210)"/>
    <wire from="(250,190)" to="(250,360)"/>
    <wire from="(510,200)" to="(570,200)"/>
    <wire from="(210,200)" to="(390,200)"/>
    <wire from="(530,350)" to="(530,480)"/>
    <wire from="(360,450)" to="(360,500)"/>
    <wire from="(580,180)" to="(580,200)"/>
    <wire from="(500,340)" to="(500,350)"/>
    <wire from="(360,310)" to="(360,380)"/>
    <wire from="(510,190)" to="(510,200)"/>
    <wire from="(550,280)" to="(590,280)"/>
    <wire from="(210,200)" to="(210,290)"/>
    <wire from="(570,460)" to="(610,460)"/>
    <wire from="(510,420)" to="(610,420)"/>
    <wire from="(210,320)" to="(210,420)"/>
    <wire from="(530,480)" to="(610,480)"/>
    <wire from="(790,340)" to="(820,340)"/>
    <wire from="(780,340)" to="(780,350)"/>
    <wire from="(230,280)" to="(390,280)"/>
    <wire from="(140,170)" to="(270,170)"/>
    <wire from="(150,220)" to="(240,220)"/>
    <wire from="(360,380)" to="(360,450)"/>
    <wire from="(550,280)" to="(550,470)"/>
    <wire from="(240,220)" to="(240,430)"/>
    <comp lib="4" loc="(420,200)" name="Register"/>
    <comp lib="2" loc="(660,200)" name="Multiplexer">
      <a name="select" val="2"/>
      <a name="width" val="8"/>
      <a name="enable" val="false"/>
    </comp>
    <comp lib="0" loc="(510,270)" name="Pin">
      <a name="facing" val="south"/>
      <a name="output" val="true"/>
      <a name="width" val="8"/>
      <a name="label" val="r1"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(70,190)" name="Pin">
      <a name="tristate" val="false"/>
      <a name="label" val="dwrite"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="1" loc="(850,310)" name="OR Gate">
      <a name="size" val="30"/>
      <a name="inputs" val="8"/>
    </comp>
    <comp lib="4" loc="(420,420)" name="Register"/>
    <comp lib="0" loc="(920,310)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="label" val="Zero"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(630,550)" name="Pin">
      <a name="facing" val="north"/>
      <a name="width" val="2"/>
      <a name="tristate" val="false"/>
      <a name="label" val="sregsel"/>
      <a name="labelloc" val="south"/>
    </comp>
    <comp lib="4" loc="(420,350)" name="Register"/>
    <comp lib="2" loc="(100,190)" name="Demultiplexer">
      <a name="select" val="2"/>
      <a name="enable" val="false"/>
    </comp>
    <comp lib="0" loc="(360,500)" name="Clock">
      <a name="facing" val="north"/>
    </comp>
    <comp lib="2" loc="(650,480)" name="Multiplexer">
      <a name="select" val="2"/>
      <a name="width" val="8"/>
      <a name="enable" val="false"/>
    </comp>
    <comp lib="6" loc="(524,121)" name="Text">
      <a name="text" val="Register File"/>
      <a name="font" val="SansSerif bold 24"/>
    </comp>
    <comp lib="0" loc="(470,400)" name="Pin">
      <a name="facing" val="south"/>
      <a name="output" val="true"/>
      <a name="width" val="8"/>
      <a name="label" val="r3"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(680,260)" name="Tunnel">
      <a name="width" val="2"/>
      <a name="label" val="drs"/>
    </comp>
    <comp lib="1" loc="(890,310)" name="NOT Gate">
      <a name="size" val="20"/>
    </comp>
    <comp lib="0" loc="(510,190)" name="Pin">
      <a name="facing" val="south"/>
      <a name="output" val="true"/>
      <a name="width" val="8"/>
      <a name="label" val="r0"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(140,250)" name="Tunnel">
      <a name="width" val="2"/>
      <a name="label" val="drs"/>
    </comp>
    <comp lib="0" loc="(750,480)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="width" val="8"/>
      <a name="label" val="sbus"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="4" loc="(420,280)" name="Register"/>
    <comp lib="0" loc="(500,340)" name="Pin">
      <a name="facing" val="south"/>
      <a name="output" val="true"/>
      <a name="width" val="8"/>
      <a name="label" val="r2"/>
      <a name="labelloc" val="north"/>
    </comp>
    <comp lib="0" loc="(130,310)" name="Pin">
      <a name="width" val="8"/>
      <a name="tristate" val="false"/>
      <a name="label" val="dval"/>
    </comp>
    <comp lib="0" loc="(920,400)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="label" val="Negative"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(750,200)" name="Pin">
      <a name="facing" val="west"/>
      <a name="output" val="true"/>
      <a name="width" val="8"/>
      <a name="label" val="dbus"/>
      <a name="labelloc" val="east"/>
    </comp>
    <comp lib="0" loc="(760,310)" name="Splitter">
      <a name="fanout" val="8"/>
      <a name="incoming" val="8"/>
      <a name="appear" val="legacy"/>
    </comp>
    <comp lib="0" loc="(640,280)" name="Pin">
      <a name="facing" val="north"/>
      <a name="width" val="2"/>
      <a name="tristate" val="false"/>
      <a name="label" val="dregsel"/>
      <a name="labelloc" val="south"/>
    </comp>
  </circuit>
</project>
