logisim-stuff/TK16X3.circ
2015-01-04 15:24:53 -06:00

1469 lines
54 KiB
XML

<?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="fanout" val="15"/>
<a name="incoming" val="15"/>
</tool>
<tool name="Pin">
<a name="tristate" val="false"/>
<a name="pull" val="down"/>
<a name="label" val="View"/>
</tool>
<tool name="Probe">
<a name="facing" val="west"/>
<a name="radix" val="16"/>
<a name="label" val="rdov"/>
<a name="labelloc" val="east"/>
</tool>
<tool name="Tunnel">
<a name="label" val="pop"/>
</tool>
<tool name="Pull Resistor">
<a name="facing" val="north"/>
</tool>
<tool name="Clock">
<a name="facing" val="north"/>
</tool>
<tool name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x8"/>
</tool>
<tool name="Transmission Gate">
<a name="width" val="32"/>
</tool>
</lib>
<lib desc="#Gates" name="1">
<tool name="NOT Gate">
<a name="width" val="16"/>
<a name="size" val="20"/>
</tool>
<tool name="AND Gate">
<a name="width" val="16"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool name="XOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool name="Controlled Inverter">
<a name="width" val="16"/>
<a name="size" val="20"/>
</tool>
</lib>
<lib desc="#Plexers" name="2">
<tool name="Multiplexer">
<a name="width" val="16"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</tool>
<tool name="Decoder">
<a name="facing" val="north"/>
<a name="select" val="5"/>
</tool>
</lib>
<lib desc="#Arithmetic" name="3">
<tool name="Adder">
<a name="width" val="16"/>
</tool>
<tool name="Comparator">
<a name="width" val="5"/>
</tool>
</lib>
<lib desc="#Memory" name="4">
<tool name="Register">
<a name="width" val="16"/>
</tool>
<tool name="Counter">
<a name="width" val="5"/>
<a name="max" val="0xd"/>
<a name="label" val="PC"/>
</tool>
<tool name="RAM">
<a name="addrWidth" val="24"/>
<a name="dataWidth" val="16"/>
</tool>
<tool name="ROM">
<a name="contents">addr/data: 8 8
0
</a>
</tool>
</lib>
<lib desc="#I/O" name="5">
<tool name="Button">
<a name="label" val="RAM Push"/>
<a name="labelloc" val="west"/>
</tool>
<tool name="Joystick">
<a name="bits" val="2"/>
</tool>
<tool name="DotMatrix">
<a name="matrixcols" val="16"/>
<a name="matrixrows" val="1"/>
</tool>
</lib>
<lib desc="#Base" name="6">
<tool name="Text Tool">
<a name="text" val="Data RAM"/>
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="center"/>
<a name="valign" val="base"/>
</tool>
</lib>
<lib desc="jar#/Users/anneterpstra/Desktop/Peter's Folder /circuit design/cs316.jar#edu.cornell.cs316.Components" name="7">
<tool name="MIPSProgramROM">
<a name="contents" val=""/>
</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="Data RAM"/>
<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"/>
<a name="label" val="16"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="I----R"/>
<a name="labelloc" val="east"/>
</tool>
<tool lib="1" name="NOT Gate">
<a name="size" val="20"/>
</tool>
<tool lib="1" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool lib="1" name="OR Gate">
<a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
</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="(350,400)" to="(610,400)"/>
<wire from="(740,270)" to="(750,270)"/>
<wire from="(240,530)" to="(290,530)"/>
<wire from="(610,250)" to="(610,400)"/>
<wire from="(1060,480)" to="(1060,610)"/>
<wire from="(860,130)" to="(890,130)"/>
<wire from="(200,690)" to="(200,700)"/>
<wire from="(360,250)" to="(360,260)"/>
<wire from="(400,700)" to="(850,700)"/>
<wire from="(420,650)" to="(1180,650)"/>
<wire from="(490,300)" to="(490,360)"/>
<wire from="(640,270)" to="(640,390)"/>
<wire from="(1160,110)" to="(1190,110)"/>
<wire from="(690,280)" to="(690,320)"/>
<wire from="(860,130)" to="(860,350)"/>
<wire from="(1040,230)" to="(1040,250)"/>
<wire from="(790,250)" to="(1040,250)"/>
<wire from="(450,500)" to="(810,500)"/>
<wire from="(920,330)" to="(1240,330)"/>
<wire from="(220,400)" to="(350,400)"/>
<wire from="(290,130)" to="(820,130)"/>
<wire from="(380,270)" to="(380,700)"/>
<wire from="(1220,90)" to="(1240,90)"/>
<wire from="(1090,90)" to="(1120,90)"/>
<wire from="(660,260)" to="(690,260)"/>
<wire from="(1070,300)" to="(1070,480)"/>
<wire from="(1220,100)" to="(1230,100)"/>
<wire from="(1090,470)" to="(1090,500)"/>
<wire from="(1090,190)" to="(1110,190)"/>
<wire from="(930,210)" to="(930,220)"/>
<wire from="(290,260)" to="(290,530)"/>
<wire from="(690,280)" to="(750,280)"/>
<wire from="(1110,80)" to="(1120,80)"/>
<wire from="(290,130)" to="(290,260)"/>
<wire from="(790,320)" to="(800,320)"/>
<wire from="(800,320)" to="(800,420)"/>
<wire from="(1110,80)" to="(1110,190)"/>
<wire from="(790,240)" to="(820,240)"/>
<wire from="(790,290)" to="(1160,290)"/>
<wire from="(820,240)" to="(930,240)"/>
<wire from="(850,610)" to="(850,700)"/>
<wire from="(580,540)" to="(890,540)"/>
<wire from="(330,150)" to="(770,150)"/>
<wire from="(790,310)" to="(810,310)"/>
<wire from="(800,420)" to="(910,420)"/>
<wire from="(910,360)" to="(910,420)"/>
<wire from="(340,170)" to="(340,250)"/>
<wire from="(1150,80)" to="(1190,80)"/>
<wire from="(810,310)" to="(810,500)"/>
<wire from="(910,420)" to="(910,500)"/>
<wire from="(930,240)" to="(930,350)"/>
<wire from="(1230,100)" to="(1230,460)"/>
<wire from="(890,360)" to="(890,540)"/>
<wire from="(350,190)" to="(760,190)"/>
<wire from="(330,150)" to="(330,250)"/>
<wire from="(400,280)" to="(400,700)"/>
<wire from="(1160,110)" to="(1160,290)"/>
<wire from="(420,280)" to="(420,650)"/>
<wire from="(1000,230)" to="(1000,270)"/>
<wire from="(1060,230)" to="(1060,260)"/>
<wire from="(560,260)" to="(580,260)"/>
<wire from="(840,210)" to="(930,210)"/>
<wire from="(610,250)" to="(630,250)"/>
<wire from="(450,300)" to="(450,310)"/>
<wire from="(330,390)" to="(640,390)"/>
<wire from="(1180,90)" to="(1190,90)"/>
<wire from="(1060,460)" to="(1230,460)"/>
<wire from="(790,280)" to="(1150,280)"/>
<wire from="(780,170)" to="(780,230)"/>
<wire from="(350,300)" to="(350,400)"/>
<wire from="(1180,90)" to="(1180,650)"/>
<wire from="(820,130)" to="(820,240)"/>
<wire from="(920,350)" to="(930,350)"/>
<wire from="(580,260)" to="(630,260)"/>
<wire from="(790,260)" to="(1060,260)"/>
<wire from="(770,150)" to="(770,230)"/>
<wire from="(340,170)" to="(780,170)"/>
<wire from="(1060,480)" to="(1070,480)"/>
<wire from="(1150,90)" to="(1180,90)"/>
<wire from="(840,210)" to="(840,340)"/>
<wire from="(1240,90)" to="(1240,330)"/>
<wire from="(920,130)" to="(930,130)"/>
<wire from="(790,270)" to="(1000,270)"/>
<wire from="(970,470)" to="(1030,470)"/>
<wire from="(450,310)" to="(450,500)"/>
<wire from="(360,250)" to="(390,250)"/>
<wire from="(1150,100)" to="(1150,280)"/>
<wire from="(970,230)" to="(970,470)"/>
<wire from="(330,300)" to="(330,390)"/>
<wire from="(200,700)" to="(380,700)"/>
<wire from="(790,300)" to="(1070,300)"/>
<wire from="(510,300)" to="(510,310)"/>
<wire from="(380,270)" to="(390,270)"/>
<wire from="(580,260)" to="(580,540)"/>
<wire from="(290,260)" to="(320,260)"/>
<wire from="(740,250)" to="(740,270)"/>
<wire from="(350,190)" to="(350,250)"/>
<wire from="(760,190)" to="(760,230)"/>
<wire from="(500,310)" to="(510,310)"/>
<wire from="(660,250)" to="(740,250)"/>
<wire from="(880,610)" to="(1060,610)"/>
<wire from="(880,370)" to="(880,610)"/>
<wire from="(1150,100)" to="(1190,100)"/>
<wire from="(690,260)" to="(690,280)"/>
<wire from="(1060,470)" to="(1090,470)"/>
<wire from="(450,310)" to="(470,310)"/>
<wire from="(850,610)" to="(880,610)"/>
<wire from="(910,500)" to="(1090,500)"/>
<comp lib="0" loc="(220,400)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="RESET"/>
</comp>
<comp loc="(1220,90)" name="ALU"/>
<comp lib="0" loc="(200,690)" name="Splitter">
<a name="fanout" val="15"/>
<a name="incoming" val="15"/>
</comp>
<comp lib="2" loc="(860,350)" name="Multiplexer">
<a name="facing" val="west"/>
<a name="width" val="16"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp loc="(920,130)" name="16 to 32x1"/>
<comp loc="(790,240)" name="Decoder">
<a name="label" val="Decode"/>
<a name="labelloc" val="south"/>
</comp>
<comp lib="0" loc="(490,360)" name="Clock">
<a name="facing" val="north"/>
</comp>
<comp lib="1" loc="(1030,470)" name="OR Gate">
<a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp loc="(660,250)" name="Ins Fetch">
<a name="label" val="Fetch"/>
</comp>
<comp lib="4" loc="(560,260)" name="RAM">
<a name="addrWidth" val="15"/>
<a name="dataWidth" val="16"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="1" loc="(500,310)" name="NOT Gate"/>
<comp lib="2" loc="(890,340)" name="Multiplexer">
<a name="facing" val="west"/>
<a name="width" val="16"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp loc="(360,260)" name="PC">
<a name="label" val="PC"/>
<a name="labelloc" val="west"/>
</comp>
<comp loc="(1150,80)" name="32 to 16x2"/>
<comp lib="0" loc="(240,530)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
</comp>
<comp lib="0" loc="(840,340)" name="Clock">
<a name="facing" val="north"/>
</comp>
<comp lib="7" loc="(1090,140)" name="RegisterFile"/>
<comp lib="2" loc="(420,260)" name="Multiplexer">
<a name="width" val="15"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(690,320)" name="Probe">
<a name="facing" val="north"/>
<a name="radix" val="16"/>
<a name="label" val="ins"/>
<a name="labelloc" val="south"/>
</comp>
</circuit>
<circuit name="Ins Fetch">
<a name="circuit" val="Ins Fetch"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(940,450)" to="(970,450)"/>
<wire from="(910,550)" to="(920,550)"/>
<wire from="(970,410)" to="(990,410)"/>
<wire from="(650,460)" to="(650,530)"/>
<wire from="(570,340)" to="(570,450)"/>
<wire from="(650,460)" to="(850,460)"/>
<wire from="(310,240)" to="(370,240)"/>
<wire from="(350,220)" to="(370,220)"/>
<wire from="(560,550)" to="(560,620)"/>
<wire from="(1030,540)" to="(1040,540)"/>
<wire from="(870,370)" to="(920,370)"/>
<wire from="(490,290)" to="(490,430)"/>
<wire from="(1060,240)" to="(1080,240)"/>
<wire from="(1010,370)" to="(1040,370)"/>
<wire from="(240,230)" to="(280,230)"/>
<wire from="(260,550)" to="(260,600)"/>
<wire from="(880,460)" to="(910,460)"/>
<wire from="(340,270)" to="(340,390)"/>
<wire from="(350,340)" to="(370,340)"/>
<wire from="(1010,260)" to="(1040,260)"/>
<wire from="(170,440)" to="(340,440)"/>
<wire from="(970,450)" to="(970,570)"/>
<wire from="(450,340)" to="(570,340)"/>
<wire from="(870,510)" to="(920,510)"/>
<wire from="(780,450)" to="(780,670)"/>
<wire from="(1010,320)" to="(1040,320)"/>
<wire from="(1010,380)" to="(1040,380)"/>
<wire from="(940,330)" to="(970,330)"/>
<wire from="(920,470)" to="(920,510)"/>
<wire from="(840,650)" to="(840,710)"/>
<wire from="(350,220)" to="(350,340)"/>
<wire from="(570,340)" to="(830,340)"/>
<wire from="(1010,250)" to="(1040,250)"/>
<wire from="(650,530)" to="(650,600)"/>
<wire from="(1030,470)" to="(1040,470)"/>
<wire from="(1030,420)" to="(1040,420)"/>
<wire from="(260,250)" to="(280,250)"/>
<wire from="(1030,530)" to="(1040,530)"/>
<wire from="(310,360)" to="(370,360)"/>
<wire from="(260,250)" to="(260,290)"/>
<wire from="(240,620)" to="(250,620)"/>
<wire from="(630,460)" to="(650,460)"/>
<wire from="(970,570)" to="(1010,570)"/>
<wire from="(540,220)" to="(810,220)"/>
<wire from="(1030,410)" to="(1040,410)"/>
<wire from="(540,220)" to="(540,470)"/>
<wire from="(1030,480)" to="(1040,480)"/>
<wire from="(850,460)" to="(850,620)"/>
<wire from="(1010,310)" to="(1040,310)"/>
<wire from="(710,540)" to="(720,540)"/>
<wire from="(490,220)" to="(490,260)"/>
<wire from="(260,290)" to="(450,290)"/>
<wire from="(1010,280)" to="(1040,280)"/>
<wire from="(830,340)" to="(910,340)"/>
<wire from="(240,670)" to="(780,670)"/>
<wire from="(560,550)" to="(680,550)"/>
<wire from="(560,620)" to="(590,620)"/>
<wire from="(920,350)" to="(920,370)"/>
<wire from="(970,330)" to="(970,410)"/>
<wire from="(880,390)" to="(930,390)"/>
<wire from="(1010,340)" to="(1040,340)"/>
<wire from="(400,370)" to="(400,390)"/>
<wire from="(920,510)" to="(920,550)"/>
<wire from="(1010,400)" to="(1040,400)"/>
<wire from="(340,270)" to="(400,270)"/>
<wire from="(1030,520)" to="(1040,520)"/>
<wire from="(1010,290)" to="(1040,290)"/>
<wire from="(850,460)" to="(880,460)"/>
<wire from="(350,340)" to="(350,500)"/>
<wire from="(240,620)" to="(240,670)"/>
<wire from="(390,370)" to="(390,430)"/>
<wire from="(1030,550)" to="(1040,550)"/>
<wire from="(1030,490)" to="(1040,490)"/>
<wire from="(340,390)" to="(400,390)"/>
<wire from="(1030,460)" to="(1040,460)"/>
<wire from="(390,430)" to="(490,430)"/>
<wire from="(1010,350)" to="(1040,350)"/>
<wire from="(1030,430)" to="(1040,430)"/>
<wire from="(410,220)" to="(490,220)"/>
<wire from="(400,250)" to="(400,270)"/>
<wire from="(870,370)" to="(870,510)"/>
<wire from="(930,350)" to="(930,390)"/>
<wire from="(210,620)" to="(240,620)"/>
<wire from="(1010,390)" to="(1040,390)"/>
<wire from="(1030,500)" to="(1040,500)"/>
<wire from="(1010,360)" to="(1040,360)"/>
<wire from="(780,330)" to="(910,330)"/>
<wire from="(620,620)" to="(680,620)"/>
<wire from="(540,470)" to="(590,470)"/>
<wire from="(1010,300)" to="(1040,300)"/>
<wire from="(830,340)" to="(830,620)"/>
<wire from="(650,600)" to="(680,600)"/>
<wire from="(1010,330)" to="(1040,330)"/>
<wire from="(710,610)" to="(720,610)"/>
<wire from="(1030,560)" to="(1040,560)"/>
<wire from="(880,390)" to="(880,460)"/>
<wire from="(570,450)" to="(590,450)"/>
<wire from="(340,390)" to="(340,440)"/>
<wire from="(260,550)" to="(560,550)"/>
<wire from="(1030,440)" to="(1040,440)"/>
<wire from="(490,220)" to="(540,220)"/>
<wire from="(1030,450)" to="(1040,450)"/>
<wire from="(450,290)" to="(450,340)"/>
<wire from="(410,340)" to="(450,340)"/>
<wire from="(1010,270)" to="(1040,270)"/>
<wire from="(1030,510)" to="(1040,510)"/>
<wire from="(780,450)" to="(910,450)"/>
<wire from="(650,530)" to="(680,530)"/>
<wire from="(340,500)" to="(350,500)"/>
<wire from="(780,330)" to="(780,450)"/>
<comp lib="0" loc="(910,550)" name="Clock"/>
<comp lib="0" loc="(170,440)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="RESET"/>
</comp>
<comp lib="0" loc="(310,360)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="LONG"/>
</comp>
<comp lib="0" loc="(840,710)" name="Pin">
<a name="facing" val="north"/>
<a name="output" val="true"/>
<a name="label" val="INC PC"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(810,220)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="EXECUTE"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(940,450)" name="Register">
<a name="width" val="16"/>
<a name="label" val="InsA"/>
</comp>
<comp lib="1" loc="(620,620)" name="NOT Gate"/>
<comp lib="0" loc="(340,500)" name="Clock"/>
<comp lib="1" loc="(310,240)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(1010,570)" name="Splitter">
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
</comp>
<comp lib="0" loc="(210,620)" name="Pin">
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="Data In"/>
</comp>
<comp lib="1" loc="(630,460)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(490,290)" name="NOT Gate">
<a name="facing" val="south"/>
</comp>
<comp lib="1" loc="(840,650)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(710,540)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(1060,240)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="32"/>
<a name="incoming" val="32"/>
</comp>
<comp lib="0" loc="(720,610)" name="Tunnel">
<a name="label" val="SHORT"/>
</comp>
<comp lib="4" loc="(940,330)" name="Register">
<a name="width" val="16"/>
<a name="label" val="InsB"/>
</comp>
<comp lib="1" loc="(710,610)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="4" loc="(410,220)" name="D Flip-Flop">
<a name="trigger" val="falling"/>
</comp>
<comp lib="0" loc="(720,540)" name="Tunnel">
<a name="label" val="LONG"/>
</comp>
<comp lib="0" loc="(990,410)" name="Splitter">
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
</comp>
<comp lib="0" loc="(1080,240)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="Ins"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(240,230)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="SHORT"/>
</comp>
<comp lib="0" loc="(250,620)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
<a name="appear" val="right"/>
</comp>
<comp lib="4" loc="(410,340)" name="D Flip-Flop">
<a name="trigger" val="falling"/>
</comp>
</circuit>
<circuit name="PC">
<a name="circuit" val="PC"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<path d="M66,51 Q70,61 74,51" fill="none" stroke="#808080" stroke-width="2"/>
<rect fill="none" height="50" stroke="#000000" stroke-width="2" width="40" x="50" y="50"/>
<circ-port height="8" pin="150,320" width="8" x="46" y="56"/>
<circ-port height="10" pin="1140,560" width="10" x="85" y="55"/>
<circ-port height="8" pin="390,60" width="8" x="56" y="46"/>
<circ-port height="8" pin="480,60" width="8" x="66" y="46"/>
<circ-port height="8" pin="570,60" width="8" x="76" y="46"/>
<circ-port height="8" pin="350,710" width="8" x="56" y="96"/>
<circ-port height="8" pin="570,700" width="8" x="76" y="96"/>
<circ-anchor facing="east" height="6" width="6" x="87" y="57"/>
</appear>
<wire from="(420,570)" to="(520,570)"/>
<wire from="(500,150)" to="(500,200)"/>
<wire from="(440,270)" to="(440,410)"/>
<wire from="(350,340)" to="(350,360)"/>
<wire from="(540,620)" to="(570,620)"/>
<wire from="(700,400)" to="(700,420)"/>
<wire from="(590,150)" to="(590,300)"/>
<wire from="(370,500)" to="(500,500)"/>
<wire from="(270,340)" to="(270,360)"/>
<wire from="(830,440)" to="(860,440)"/>
<wire from="(830,530)" to="(960,530)"/>
<wire from="(540,580)" to="(540,620)"/>
<wire from="(740,530)" to="(830,530)"/>
<wire from="(570,620)" to="(570,700)"/>
<wire from="(570,60)" to="(570,110)"/>
<wire from="(220,340)" to="(220,360)"/>
<wire from="(690,400)" to="(690,440)"/>
<wire from="(390,250)" to="(390,420)"/>
<wire from="(500,80)" to="(500,150)"/>
<wire from="(370,500)" to="(370,520)"/>
<wire from="(1000,420)" to="(1020,420)"/>
<wire from="(660,370)" to="(680,370)"/>
<wire from="(870,510)" to="(1000,510)"/>
<wire from="(430,440)" to="(430,560)"/>
<wire from="(550,560)" to="(770,560)"/>
<wire from="(440,270)" to="(1100,270)"/>
<wire from="(1020,410)" to="(1020,420)"/>
<wire from="(570,250)" to="(570,330)"/>
<wire from="(940,370)" to="(950,370)"/>
<wire from="(360,380)" to="(420,380)"/>
<wire from="(210,340)" to="(210,360)"/>
<wire from="(390,60)" to="(390,170)"/>
<wire from="(490,170)" to="(490,200)"/>
<wire from="(280,340)" to="(280,360)"/>
<wire from="(300,340)" to="(300,360)"/>
<wire from="(350,580)" to="(350,710)"/>
<wire from="(660,330)" to="(660,370)"/>
<wire from="(390,170)" to="(490,170)"/>
<wire from="(370,540)" to="(370,560)"/>
<wire from="(590,300)" to="(740,300)"/>
<wire from="(350,580)" to="(390,580)"/>
<wire from="(510,110)" to="(570,110)"/>
<wire from="(740,300)" to="(740,530)"/>
<wire from="(890,430)" to="(940,430)"/>
<wire from="(940,370)" to="(940,380)"/>
<wire from="(530,580)" to="(530,650)"/>
<wire from="(940,390)" to="(950,390)"/>
<wire from="(1090,370)" to="(1100,370)"/>
<wire from="(770,430)" to="(860,430)"/>
<wire from="(570,330)" to="(660,330)"/>
<wire from="(710,420)" to="(710,620)"/>
<wire from="(370,560)" to="(390,560)"/>
<wire from="(1000,420)" to="(1000,480)"/>
<wire from="(390,420)" to="(410,420)"/>
<wire from="(310,340)" to="(310,360)"/>
<wire from="(500,230)" to="(500,500)"/>
<wire from="(870,450)" to="(870,510)"/>
<wire from="(960,420)" to="(980,420)"/>
<wire from="(710,380)" to="(940,380)"/>
<wire from="(640,390)" to="(680,390)"/>
<wire from="(1100,270)" to="(1100,370)"/>
<wire from="(1000,500)" to="(1000,510)"/>
<wire from="(980,410)" to="(980,420)"/>
<wire from="(830,440)" to="(830,530)"/>
<wire from="(480,80)" to="(500,80)"/>
<wire from="(250,340)" to="(250,360)"/>
<wire from="(960,420)" to="(960,530)"/>
<wire from="(390,170)" to="(390,250)"/>
<wire from="(570,620)" to="(710,620)"/>
<wire from="(260,340)" to="(260,360)"/>
<wire from="(330,340)" to="(330,360)"/>
<wire from="(1000,510)" to="(1000,530)"/>
<wire from="(510,110)" to="(510,200)"/>
<wire from="(480,60)" to="(480,80)"/>
<wire from="(570,400)" to="(610,400)"/>
<wire from="(390,250)" to="(570,250)"/>
<wire from="(420,380)" to="(420,410)"/>
<wire from="(430,560)" to="(520,560)"/>
<wire from="(770,560)" to="(1140,560)"/>
<wire from="(590,300)" to="(590,380)"/>
<wire from="(290,340)" to="(290,360)"/>
<wire from="(940,390)" to="(940,430)"/>
<wire from="(340,340)" to="(340,360)"/>
<wire from="(770,430)" to="(770,560)"/>
<wire from="(500,500)" to="(500,550)"/>
<wire from="(320,340)" to="(320,360)"/>
<wire from="(500,550)" to="(520,550)"/>
<wire from="(700,420)" to="(710,420)"/>
<wire from="(570,330)" to="(570,400)"/>
<wire from="(590,380)" to="(610,380)"/>
<wire from="(500,150)" to="(590,150)"/>
<wire from="(150,320)" to="(190,320)"/>
<wire from="(230,340)" to="(230,360)"/>
<wire from="(240,340)" to="(240,360)"/>
<comp lib="4" loc="(890,430)" name="Register">
<a name="width" val="15"/>
</comp>
<comp lib="0" loc="(1000,530)" name="Clock">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(360,380)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="15"/>
<a name="incoming" val="15"/>
</comp>
<comp lib="1" loc="(420,570)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="4" loc="(1090,370)" name="RAM">
<a name="addrWidth" val="4"/>
<a name="dataWidth" val="15"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="1" loc="(640,390)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(530,650)" name="Clock">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(690,440)" name="Clock">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(350,710)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
<a name="label" val="INC"/>
</comp>
<comp lib="0" loc="(570,700)" name="Pin">
<a name="facing" val="north"/>
<a name="tristate" val="false"/>
<a name="label" val="RESET"/>
</comp>
<comp lib="1" loc="(500,230)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="0" loc="(150,320)" name="Pin">
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="ADDRESS"/>
</comp>
<comp lib="1" loc="(370,540)" name="NOT Gate">
<a name="facing" val="south"/>
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(570,60)" name="Pin">
<a name="facing" val="south"/>
<a name="tristate" val="false"/>
<a name="label" val="JUMP"/>
</comp>
<comp lib="0" loc="(1140,560)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="15"/>
<a name="label" val="OUT"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(710,380)" name="Counter">
<a name="width" val="4"/>
<a name="max" val="0xf"/>
</comp>
<comp lib="0" loc="(190,320)" name="Splitter">
<a name="facing" val="south"/>
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
</comp>
<comp lib="1" loc="(1000,480)" name="NOT Gate">
<a name="facing" val="north"/>
<a name="size" val="20"/>
</comp>
<comp lib="4" loc="(550,560)" name="Counter">
<a name="width" val="15"/>
<a name="max" val="0x7fff"/>
</comp>
<comp lib="2" loc="(430,440)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="width" val="15"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(390,60)" name="Pin">
<a name="facing" val="south"/>
<a name="tristate" val="false"/>
<a name="label" val="RET"/>
</comp>
<comp lib="0" loc="(480,60)" name="Pin">
<a name="facing" val="south"/>
<a name="tristate" val="false"/>
<a name="label" val="CALL"/>
</comp>
</circuit>
<circuit name="Decoder">
<a name="circuit" val="Decoder"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(580,760)" to="(580,820)"/>
<wire from="(360,780)" to="(670,780)"/>
<wire from="(720,410)" to="(940,410)"/>
<wire from="(700,730)" to="(700,800)"/>
<wire from="(630,460)" to="(700,460)"/>
<wire from="(680,750)" to="(680,800)"/>
<wire from="(190,670)" to="(190,690)"/>
<wire from="(800,570)" to="(970,570)"/>
<wire from="(300,140)" to="(300,790)"/>
<wire from="(740,570)" to="(800,570)"/>
<wire from="(210,420)" to="(250,420)"/>
<wire from="(630,370)" to="(650,370)"/>
<wire from="(320,140)" to="(320,160)"/>
<wire from="(210,450)" to="(250,450)"/>
<wire from="(630,590)" to="(720,590)"/>
<wire from="(630,430)" to="(700,430)"/>
<wire from="(380,160)" to="(440,160)"/>
<wire from="(1120,710)" to="(1120,720)"/>
<wire from="(210,480)" to="(250,480)"/>
<wire from="(710,750)" to="(1140,750)"/>
<wire from="(630,400)" to="(650,400)"/>
<wire from="(210,390)" to="(250,390)"/>
<wire from="(630,640)" to="(740,640)"/>
<wire from="(670,780)" to="(670,800)"/>
<wire from="(210,370)" to="(250,370)"/>
<wire from="(670,360)" to="(940,360)"/>
<wire from="(360,140)" to="(360,780)"/>
<wire from="(660,790)" to="(660,800)"/>
<wire from="(440,140)" to="(440,160)"/>
<wire from="(800,570)" to="(800,650)"/>
<wire from="(820,710)" to="(860,710)"/>
<wire from="(270,200)" to="(270,340)"/>
<wire from="(420,140)" to="(420,750)"/>
<wire from="(210,400)" to="(250,400)"/>
<wire from="(190,690)" to="(610,690)"/>
<wire from="(300,790)" to="(660,790)"/>
<wire from="(140,690)" to="(190,690)"/>
<wire from="(630,570)" to="(670,570)"/>
<wire from="(1120,710)" to="(1130,710)"/>
<wire from="(210,460)" to="(250,460)"/>
<wire from="(630,440)" to="(700,440)"/>
<wire from="(630,670)" to="(740,670)"/>
<wire from="(630,610)" to="(720,610)"/>
<wire from="(210,350)" to="(250,350)"/>
<wire from="(630,540)" to="(670,540)"/>
<wire from="(210,430)" to="(250,430)"/>
<wire from="(630,580)" to="(720,580)"/>
<wire from="(630,390)" to="(650,390)"/>
<wire from="(630,420)" to="(700,420)"/>
<wire from="(800,650)" to="(820,650)"/>
<wire from="(690,520)" to="(960,520)"/>
<wire from="(630,550)" to="(670,550)"/>
<wire from="(270,200)" to="(890,200)"/>
<wire from="(630,660)" to="(740,660)"/>
<wire from="(210,380)" to="(250,380)"/>
<wire from="(1000,590)" to="(1000,710)"/>
<wire from="(380,140)" to="(380,160)"/>
<wire from="(210,490)" to="(250,490)"/>
<wire from="(310,80)" to="(310,110)"/>
<wire from="(760,620)" to="(760,760)"/>
<wire from="(630,630)" to="(740,630)"/>
<wire from="(320,160)" to="(380,160)"/>
<wire from="(210,500)" to="(250,500)"/>
<wire from="(710,750)" to="(710,800)"/>
<wire from="(820,650)" to="(820,710)"/>
<wire from="(210,470)" to="(250,470)"/>
<wire from="(630,450)" to="(700,450)"/>
<wire from="(630,560)" to="(670,560)"/>
<wire from="(210,440)" to="(250,440)"/>
<wire from="(210,360)" to="(250,360)"/>
<wire from="(630,530)" to="(670,530)"/>
<wire from="(630,620)" to="(720,620)"/>
<wire from="(580,820)" to="(650,820)"/>
<wire from="(580,760)" to="(760,760)"/>
<wire from="(630,410)" to="(650,410)"/>
<wire from="(420,750)" to="(680,750)"/>
<wire from="(430,80)" to="(430,110)"/>
<wire from="(690,720)" to="(690,800)"/>
<wire from="(700,730)" to="(1140,730)"/>
<wire from="(690,720)" to="(1120,720)"/>
<wire from="(630,650)" to="(740,650)"/>
<wire from="(100,160)" to="(320,160)"/>
<wire from="(900,680)" to="(900,690)"/>
<wire from="(370,80)" to="(370,110)"/>
<wire from="(210,410)" to="(250,410)"/>
<wire from="(630,380)" to="(650,380)"/>
<wire from="(900,710)" to="(1000,710)"/>
<wire from="(630,600)" to="(720,600)"/>
<comp lib="0" loc="(310,80)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="label" val="JUMP"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(140,690)" name="Pin">
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="INS"/>
</comp>
<comp lib="1" loc="(430,110)" name="AND Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(860,690)" name="Constant">
<a name="width" val="5"/>
<a name="value" val="0xd"/>
</comp>
<comp lib="0" loc="(100,160)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="EXECUTE"/>
</comp>
<comp lib="0" loc="(940,360)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="5"/>
<a name="label" val="A"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(370,80)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="label" val="RET"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(760,620)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="5"/>
<a name="incoming" val="5"/>
</comp>
<comp lib="0" loc="(720,410)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="5"/>
<a name="incoming" val="5"/>
</comp>
<comp lib="0" loc="(940,410)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="5"/>
<a name="label" val="B"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(190,670)" name="Splitter">
<a name="fanout" val="32"/>
<a name="incoming" val="32"/>
</comp>
<comp lib="0" loc="(610,690)" name="Splitter">
<a name="fanout" val="32"/>
<a name="incoming" val="32"/>
</comp>
<comp lib="0" loc="(890,200)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
<a name="label" val="IMM"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1130,710)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="M---R "/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(960,520)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="5"/>
<a name="label" val="R"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1140,750)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="I----R"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(670,360)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="5"/>
<a name="incoming" val="5"/>
</comp>
<comp lib="0" loc="(970,570)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="5"/>
<a name="label" val="ALU OP"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(690,520)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="5"/>
<a name="incoming" val="5"/>
</comp>
<comp lib="2" loc="(650,820)" name="Decoder">
<a name="facing" val="north"/>
<a name="select" val="5"/>
</comp>
<comp lib="0" loc="(270,340)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
</comp>
<comp lib="0" loc="(1140,730)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="R---M"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1000,590)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="En alu"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(310,110)" name="AND Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="3" loc="(900,700)" name="Comparator">
<a name="width" val="5"/>
</comp>
<comp lib="1" loc="(370,110)" name="AND Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(430,80)" name="Pin">
<a name="facing" val="south"/>
<a name="output" val="true"/>
<a name="label" val="CALL"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(740,570)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="5"/>
<a name="incoming" val="5"/>
</comp>
</circuit>
<circuit name="ALU">
<a name="circuit" val="ALU"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(590,850)" to="(600,850)"/>
<wire from="(130,150)" to="(130,420)"/>
<wire from="(900,830)" to="(900,920)"/>
<wire from="(610,1150)" to="(610,1210)"/>
<wire from="(590,1130)" to="(590,1210)"/>
<wire from="(250,720)" to="(420,720)"/>
<wire from="(650,810)" to="(650,1080)"/>
<wire from="(110,520)" to="(110,570)"/>
<wire from="(330,580)" to="(410,580)"/>
<wire from="(830,230)" to="(830,300)"/>
<wire from="(520,1060)" to="(520,1210)"/>
<wire from="(470,300)" to="(830,300)"/>
<wire from="(470,580)" to="(830,580)"/>
<wire from="(570,1110)" to="(600,1110)"/>
<wire from="(250,450)" to="(250,520)"/>
<wire from="(630,380)" to="(630,790)"/>
<wire from="(330,360)" to="(410,360)"/>
<wire from="(290,240)" to="(410,240)"/>
<wire from="(830,510)" to="(830,580)"/>
<wire from="(250,380)" to="(250,420)"/>
<wire from="(540,930)" to="(690,930)"/>
<wire from="(610,840)" to="(820,840)"/>
<wire from="(620,1160)" to="(690,1160)"/>
<wire from="(630,1170)" to="(700,1170)"/>
<wire from="(460,310)" to="(640,310)"/>
<wire from="(600,1140)" to="(600,1210)"/>
<wire from="(900,830)" to="(980,830)"/>
<wire from="(130,420)" to="(250,420)"/>
<wire from="(430,870)" to="(530,870)"/>
<wire from="(250,660)" to="(420,660)"/>
<wire from="(460,720)" to="(580,720)"/>
<wire from="(490,1240)" to="(510,1240)"/>
<wire from="(640,310)" to="(640,780)"/>
<wire from="(1030,820)" to="(1050,820)"/>
<wire from="(640,780)" to="(640,1060)"/>
<wire from="(460,380)" to="(630,380)"/>
<wire from="(290,170)" to="(290,200)"/>
<wire from="(60,570)" to="(60,980)"/>
<wire from="(830,160)" to="(830,230)"/>
<wire from="(610,840)" to="(610,1100)"/>
<wire from="(520,1060)" to="(640,1060)"/>
<wire from="(620,450)" to="(620,810)"/>
<wire from="(330,500)" to="(410,500)"/>
<wire from="(250,380)" to="(410,380)"/>
<wire from="(530,1070)" to="(630,1070)"/>
<wire from="(250,450)" to="(410,450)"/>
<wire from="(250,420)" to="(250,450)"/>
<wire from="(560,1100)" to="(560,1210)"/>
<wire from="(330,220)" to="(330,290)"/>
<wire from="(590,1130)" to="(660,1130)"/>
<wire from="(680,910)" to="(820,910)"/>
<wire from="(440,810)" to="(490,810)"/>
<wire from="(530,1070)" to="(530,1210)"/>
<wire from="(610,520)" to="(610,820)"/>
<wire from="(870,860)" to="(890,860)"/>
<wire from="(660,880)" to="(820,880)"/>
<wire from="(490,760)" to="(830,760)"/>
<wire from="(670,900)" to="(670,1140)"/>
<wire from="(330,290)" to="(330,360)"/>
<wire from="(330,500)" to="(330,580)"/>
<wire from="(440,860)" to="(490,860)"/>
<wire from="(670,900)" to="(820,900)"/>
<wire from="(870,920)" to="(900,920)"/>
<wire from="(890,810)" to="(980,810)"/>
<wire from="(590,870)" to="(590,1120)"/>
<wire from="(550,1090)" to="(550,1210)"/>
<wire from="(100,420)" to="(130,420)"/>
<wire from="(330,290)" to="(410,290)"/>
<wire from="(590,660)" to="(590,850)"/>
<wire from="(250,720)" to="(250,860)"/>
<wire from="(470,230)" to="(830,230)"/>
<wire from="(100,520)" to="(110,520)"/>
<wire from="(620,820)" to="(820,820)"/>
<wire from="(470,510)" to="(830,510)"/>
<wire from="(600,1140)" to="(670,1140)"/>
<wire from="(100,540)" to="(130,540)"/>
<wire from="(530,870)" to="(530,940)"/>
<wire from="(550,1090)" to="(620,1090)"/>
<wire from="(630,790)" to="(630,1070)"/>
<wire from="(460,600)" to="(600,600)"/>
<wire from="(490,760)" to="(490,810)"/>
<wire from="(440,760)" to="(490,760)"/>
<wire from="(330,810)" to="(420,810)"/>
<wire from="(130,540)" to="(130,990)"/>
<wire from="(550,240)" to="(550,910)"/>
<wire from="(250,860)" to="(420,860)"/>
<wire from="(250,520)" to="(410,520)"/>
<wire from="(630,1170)" to="(630,1210)"/>
<wire from="(250,310)" to="(410,310)"/>
<wire from="(650,810)" to="(820,810)"/>
<wire from="(480,1120)" to="(500,1120)"/>
<wire from="(610,820)" to="(620,820)"/>
<wire from="(570,880)" to="(660,880)"/>
<wire from="(570,1110)" to="(570,1210)"/>
<wire from="(290,200)" to="(290,240)"/>
<wire from="(560,1100)" to="(610,1100)"/>
<wire from="(630,790)" to="(820,790)"/>
<wire from="(560,170)" to="(560,900)"/>
<wire from="(600,600)" to="(600,840)"/>
<wire from="(240,200)" to="(290,200)"/>
<wire from="(600,840)" to="(610,840)"/>
<wire from="(330,700)" to="(420,700)"/>
<wire from="(830,650)" to="(830,710)"/>
<wire from="(540,1080)" to="(540,1210)"/>
<wire from="(690,930)" to="(820,930)"/>
<wire from="(470,440)" to="(830,440)"/>
<wire from="(330,150)" to="(330,220)"/>
<wire from="(620,820)" to="(620,1090)"/>
<wire from="(330,760)" to="(420,760)"/>
<wire from="(700,940)" to="(700,1170)"/>
<wire from="(680,910)" to="(680,1150)"/>
<wire from="(830,710)" to="(830,760)"/>
<wire from="(830,440)" to="(830,510)"/>
<wire from="(480,1120)" to="(480,1230)"/>
<wire from="(290,170)" to="(410,170)"/>
<wire from="(530,940)" to="(700,940)"/>
<wire from="(870,800)" to="(980,800)"/>
<wire from="(250,520)" to="(250,660)"/>
<wire from="(250,660)" to="(250,720)"/>
<wire from="(490,990)" to="(490,1240)"/>
<wire from="(890,810)" to="(890,860)"/>
<wire from="(460,590)" to="(460,600)"/>
<wire from="(470,710)" to="(830,710)"/>
<wire from="(700,940)" to="(820,940)"/>
<wire from="(590,870)" to="(820,870)"/>
<wire from="(560,900)" to="(670,900)"/>
<wire from="(330,760)" to="(330,810)"/>
<wire from="(660,880)" to="(660,1130)"/>
<wire from="(330,460)" to="(330,500)"/>
<wire from="(580,1120)" to="(590,1120)"/>
<wire from="(330,360)" to="(330,430)"/>
<wire from="(830,300)" to="(830,370)"/>
<wire from="(430,770)" to="(570,770)"/>
<wire from="(480,1230)" to="(510,1230)"/>
<wire from="(580,870)" to="(590,870)"/>
<wire from="(600,850)" to="(600,1110)"/>
<wire from="(460,520)" to="(610,520)"/>
<wire from="(130,150)" to="(200,150)"/>
<wire from="(500,980)" to="(500,1120)"/>
<wire from="(330,580)" to="(330,640)"/>
<wire from="(620,810)" to="(650,810)"/>
<wire from="(550,910)" to="(680,910)"/>
<wire from="(600,850)" to="(820,850)"/>
<wire from="(250,310)" to="(250,380)"/>
<wire from="(460,240)" to="(550,240)"/>
<wire from="(540,1080)" to="(650,1080)"/>
<wire from="(580,1120)" to="(580,1210)"/>
<wire from="(830,410)" to="(920,410)"/>
<wire from="(470,160)" to="(830,160)"/>
<wire from="(640,780)" to="(820,780)"/>
<wire from="(330,640)" to="(420,640)"/>
<wire from="(330,640)" to="(330,700)"/>
<wire from="(330,220)" to="(410,220)"/>
<wire from="(690,930)" to="(690,1160)"/>
<wire from="(830,410)" to="(830,440)"/>
<wire from="(330,150)" to="(410,150)"/>
<wire from="(570,770)" to="(570,880)"/>
<wire from="(60,980)" to="(500,980)"/>
<wire from="(830,580)" to="(830,650)"/>
<wire from="(330,700)" to="(330,760)"/>
<wire from="(330,430)" to="(330,460)"/>
<wire from="(580,720)" to="(580,870)"/>
<wire from="(60,570)" to="(110,570)"/>
<wire from="(490,810)" to="(490,860)"/>
<wire from="(470,650)" to="(830,650)"/>
<wire from="(460,450)" to="(620,450)"/>
<wire from="(430,820)" to="(540,820)"/>
<wire from="(460,660)" to="(590,660)"/>
<wire from="(610,1150)" to="(680,1150)"/>
<wire from="(470,370)" to="(830,370)"/>
<wire from="(460,170)" to="(560,170)"/>
<wire from="(620,1160)" to="(620,1210)"/>
<wire from="(830,370)" to="(830,410)"/>
<wire from="(330,430)" to="(410,430)"/>
<wire from="(100,460)" to="(330,460)"/>
<wire from="(130,990)" to="(490,990)"/>
<wire from="(540,820)" to="(540,930)"/>
<comp lib="1" loc="(870,800)" name="OR Gate">
<a name="inputs" val="4"/>
</comp>
<comp lib="1" loc="(440,810)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="3" loc="(450,300)" name="Adder">
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1050,820)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Store R"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(100,520)" name="Pin">
<a name="width" val="5"/>
<a name="tristate" val="false"/>
<a name="label" val="ins"/>
</comp>
<comp lib="3" loc="(450,230)" name="Shifter">
<a name="width" val="16"/>
<a name="shift" val="lr"/>
</comp>
<comp lib="3" loc="(450,580)" name="Negator">
<a name="width" val="16"/>
</comp>
<comp lib="3" loc="(450,160)" name="Shifter">
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(470,440)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(470,160)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="2" loc="(510,1230)" name="Decoder">
<a name="facing" val="north"/>
<a name="select" val="5"/>
<a name="disabled" val="0"/>
</comp>
<comp lib="1" loc="(470,230)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(440,860)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(100,420)" name="Pin">
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="b"/>
</comp>
<comp lib="1" loc="(470,510)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(440,760)" name="Controlled Inverter">
<a name="width" val="16"/>
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(470,710)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="3" loc="(450,510)" name="Divider">
<a name="width" val="16"/>
</comp>
<comp lib="3" loc="(450,370)" name="Subtractor">
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(200,150)" name="Splitter">
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(100,540)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="En"/>
</comp>
<comp lib="0" loc="(920,410)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
<a name="label" val="R Value"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(470,370)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(450,650)" name="AND Gate">
<a name="width" val="16"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(470,650)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(470,300)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(450,710)" name="OR Gate">
<a name="width" val="16"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(100,460)" name="Pin">
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="a"/>
</comp>
<comp lib="1" loc="(870,920)" name="OR Gate">
<a name="inputs" val="4"/>
</comp>
<comp lib="1" loc="(870,860)" name="OR Gate">
<a name="inputs" val="4"/>
</comp>
<comp lib="1" loc="(470,580)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(240,200)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="right"/>
</comp>
<comp lib="3" loc="(450,440)" name="Multiplier">
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(1030,820)" name="OR Gate">
<a name="inputs" val="4"/>
</comp>
</circuit>
<circuit name="32 to 16x2">
<a name="circuit" val="32 to 16x2"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<comp lib="0" loc="(910,750)" name="Splitter">
<a name="fanout" val="32"/>
<a name="incoming" val="32"/>
</comp>
<comp lib="0" loc="(1130,740)" name="Splitter">
<a name="fanout" val="32"/>
<a name="incoming" val="32"/>
</comp>
<comp lib="0" loc="(910,750)" name="Pin">
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="32 1"/>
</comp>
<comp lib="0" loc="(950,420)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
<a name="label" val="16 1"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(950,420)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
</comp>
<comp lib="0" loc="(1170,410)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
</comp>
<comp lib="0" loc="(1170,410)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
<a name="label" val="16 2"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1130,740)" name="Pin">
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="32 2"/>
</comp>
</circuit>
<circuit name="16 to 32x1">
<a name="circuit" val="16 to 32x1"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<path d="M62,67 Q66,77 70,67" fill="none" stroke="#808080" stroke-width="2"/>
<rect fill="none" height="9" stroke="#000000" stroke-width="2" width="40" x="46" y="66"/>
<circ-port height="8" pin="280,290" width="8" x="46" y="66"/>
<circ-port height="10" pin="290,300" width="10" x="75" y="65"/>
<circ-anchor facing="east" height="6" width="6" x="77" y="67"/>
</appear>
<wire from="(290,300)" to="(290,380)"/>
<wire from="(250,360)" to="(280,360)"/>
<wire from="(250,360)" to="(250,380)"/>
<wire from="(280,290)" to="(280,360)"/>
<comp lib="0" loc="(290,380)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="32"/>
<a name="incoming" val="32"/>
</comp>
<comp lib="0" loc="(290,300)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="32"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(280,290)" name="Pin">
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="16"/>
</comp>
<comp lib="0" loc="(250,380)" name="Splitter">
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
<a name="appear" val="right"/>
</comp>
</circuit>
<circuit name="ALU test">
<a name="circuit" val="ALU test"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(210,310)" to="(220,310)"/>
<wire from="(240,290)" to="(250,290)"/>
<wire from="(160,320)" to="(210,320)"/>
<wire from="(330,250)" to="(330,260)"/>
<wire from="(250,270)" to="(250,290)"/>
<wire from="(360,260)" to="(460,260)"/>
<wire from="(250,270)" to="(330,270)"/>
<wire from="(460,250)" to="(460,260)"/>
<wire from="(210,310)" to="(210,320)"/>
<wire from="(210,300)" to="(210,310)"/>
<comp loc="(360,260)" name="ALU"/>
<comp lib="0" loc="(330,280)" name="Pin">
<a name="tristate" val="false"/>
</comp>
<comp lib="4" loc="(240,290)" name="Counter">
<a name="width" val="5"/>
<a name="max" val="0xd"/>
<a name="label" val="PC"/>
</comp>
<comp lib="5" loc="(160,320)" name="Button">
<a name="label" val="RAM Push"/>
<a name="labelloc" val="west"/>
</comp>
<comp lib="0" loc="(460,260)" name="Probe">
<a name="facing" val="west"/>
<a name="radix" val="10unsigned"/>
<a name="label" val="rdov"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(330,260)" name="Constant">
<a name="width" val="16"/>
<a name="value" val="0x8"/>
</comp>
</circuit>
</project>