logisim-stuff/comp(old)/comp.circ
2016-02-02 12:44:19 -06:00

915 lines
34 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="facing" val="north"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
<a name="appear" val="right"/>
</tool>
<tool name="Pin">
<a name="tristate" val="false"/>
<a name="pull" val="down"/>
<a name="label" val="Reset"/>
</tool>
<tool name="Probe">
<a name="facing" val="west"/>
<a name="radix" val="16"/>
<a name="label" val="ins"/>
</tool>
<tool name="Tunnel">
<a name="label" val="JMP"/>
</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="16"/>
<a name="value" val="0x0"/>
</tool>
<tool name="Bit Extender">
<a name="in_width" val="16"/>
<a name="out_width" val="32"/>
</tool>
</lib>
<lib desc="#Gates" name="1">
<tool name="AND Gate">
<a name="width" val="16"/>
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</tool>
</lib>
<lib desc="#Plexers" name="2">
<tool name="Multiplexer">
<a name="select" val="4"/>
<a name="width" val="32"/>
<a name="enable" val="false"/>
</tool>
<tool name="Demultiplexer">
<a name="enable" val="false"/>
</tool>
<tool name="Decoder">
<a name="enable" val="false"/>
</tool>
</lib>
<lib desc="#Arithmetic" name="3">
<tool name="Comparator">
<a name="mode" val="unsigned"/>
</tool>
</lib>
<lib desc="#Memory" name="4">
<tool name="Register">
<a name="width" val="32"/>
</tool>
<tool name="Counter">
<a name="width" val="16"/>
<a name="max" val="0xffff"/>
</tool>
<tool name="RAM">
<a name="addrWidth" val="12"/>
<a name="dataWidth" val="32"/>
</tool>
<tool name="ROM">
<a name="contents">addr/data: 8 8
0
</a>
</tool>
</lib>
<lib desc="#Base" name="5">
<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>
<lib desc="#I/O" name="6">
<tool name="Button">
<a name="facing" val="south"/>
</tool>
<tool name="LED">
<a name="facing" val="south"/>
</tool>
<tool name="DotMatrix">
<a name="inputtype" val="select"/>
</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="5" map="Button2" name="Menu Tool"/>
<tool lib="5" map="Ctrl Button1" name="Menu Tool"/>
<tool lib="5" map="Button3" name="Menu Tool"/>
</mappings>
<toolbar>
<tool lib="5" name="Poke Tool"/>
<tool lib="5" name="Edit Tool"/>
<tool lib="5" 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="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="addr"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="a"/>
<a name="labelloc" val="east"/>
</tool>
<tool lib="1" name="NOT Gate">
<a name="facing" val="north"/>
<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="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="(280,840)" to="(720,840)"/>
<wire from="(490,720)" to="(560,720)"/>
<wire from="(430,650)" to="(430,770)"/>
<wire from="(750,580)" to="(750,600)"/>
<wire from="(680,700)" to="(680,770)"/>
<wire from="(620,630)" to="(620,790)"/>
<wire from="(280,430)" to="(280,640)"/>
<wire from="(540,520)" to="(540,550)"/>
<wire from="(630,480)" to="(710,480)"/>
<wire from="(530,550)" to="(540,550)"/>
<wire from="(730,560)" to="(760,560)"/>
<wire from="(360,660)" to="(360,680)"/>
<wire from="(260,660)" to="(360,660)"/>
<wire from="(670,600)" to="(750,600)"/>
<wire from="(270,680)" to="(340,680)"/>
<wire from="(260,410)" to="(720,410)"/>
<wire from="(610,450)" to="(610,480)"/>
<wire from="(270,720)" to="(270,790)"/>
<wire from="(360,800)" to="(780,800)"/>
<wire from="(770,470)" to="(770,710)"/>
<wire from="(270,470)" to="(370,470)"/>
<wire from="(420,580)" to="(510,580)"/>
<wire from="(480,520)" to="(480,550)"/>
<wire from="(610,450)" to="(650,450)"/>
<wire from="(670,750)" to="(720,750)"/>
<wire from="(260,600)" to="(270,600)"/>
<wire from="(720,410)" to="(720,440)"/>
<wire from="(260,760)" to="(340,760)"/>
<wire from="(490,670)" to="(490,710)"/>
<wire from="(280,640)" to="(280,840)"/>
<wire from="(370,470)" to="(370,590)"/>
<wire from="(560,740)" to="(700,740)"/>
<wire from="(280,640)" to="(400,640)"/>
<wire from="(490,710)" to="(490,720)"/>
<wire from="(760,480)" to="(760,560)"/>
<wire from="(650,450)" to="(650,460)"/>
<wire from="(510,570)" to="(700,570)"/>
<wire from="(440,760)" to="(650,760)"/>
<wire from="(260,690)" to="(270,690)"/>
<wire from="(260,510)" to="(270,510)"/>
<wire from="(480,730)" to="(730,730)"/>
<wire from="(750,620)" to="(750,740)"/>
<wire from="(340,830)" to="(790,830)"/>
<wire from="(270,790)" to="(620,790)"/>
<wire from="(400,640)" to="(400,730)"/>
<wire from="(650,690)" to="(650,760)"/>
<wire from="(650,680)" to="(680,680)"/>
<wire from="(740,460)" to="(790,460)"/>
<wire from="(270,680)" to="(270,690)"/>
<wire from="(720,750)" to="(720,840)"/>
<wire from="(270,500)" to="(270,510)"/>
<wire from="(720,740)" to="(750,740)"/>
<wire from="(560,720)" to="(560,740)"/>
<wire from="(650,460)" to="(710,460)"/>
<wire from="(370,730)" to="(400,730)"/>
<wire from="(360,700)" to="(360,800)"/>
<wire from="(260,460)" to="(270,460)"/>
<wire from="(720,620)" to="(750,620)"/>
<wire from="(610,630)" to="(620,630)"/>
<wire from="(630,480)" to="(630,630)"/>
<wire from="(730,710)" to="(770,710)"/>
<wire from="(740,490)" to="(780,490)"/>
<wire from="(550,670)" to="(550,710)"/>
<wire from="(440,650)" to="(440,760)"/>
<wire from="(720,740)" to="(720,750)"/>
<wire from="(670,590)" to="(670,600)"/>
<wire from="(790,460)" to="(790,830)"/>
<wire from="(740,470)" to="(770,470)"/>
<wire from="(340,740)" to="(480,740)"/>
<wire from="(490,710)" to="(520,710)"/>
<wire from="(590,480)" to="(610,480)"/>
<wire from="(620,630)" to="(630,630)"/>
<wire from="(740,480)" to="(760,480)"/>
<wire from="(670,710)" to="(670,750)"/>
<wire from="(340,680)" to="(340,740)"/>
<wire from="(270,500)" to="(450,500)"/>
<wire from="(430,770)" to="(680,770)"/>
<wire from="(370,590)" to="(670,590)"/>
<wire from="(720,590)" to="(720,620)"/>
<wire from="(730,580)" to="(750,580)"/>
<wire from="(260,720)" to="(270,720)"/>
<wire from="(420,480)" to="(450,480)"/>
<wire from="(390,690)" to="(420,690)"/>
<wire from="(650,470)" to="(710,470)"/>
<wire from="(260,550)" to="(480,550)"/>
<wire from="(420,480)" to="(420,580)"/>
<wire from="(420,630)" to="(460,630)"/>
<wire from="(340,760)" to="(340,830)"/>
<wire from="(260,430)" to="(280,430)"/>
<wire from="(420,630)" to="(420,690)"/>
<wire from="(270,600)" to="(270,650)"/>
<wire from="(270,460)" to="(270,470)"/>
<wire from="(780,490)" to="(780,800)"/>
<wire from="(600,630)" to="(610,630)"/>
<wire from="(510,570)" to="(510,580)"/>
<wire from="(440,650)" to="(460,650)"/>
<wire from="(480,550)" to="(500,550)"/>
<wire from="(270,650)" to="(430,650)"/>
<wire from="(650,470)" to="(650,680)"/>
<wire from="(700,720)" to="(700,740)"/>
<wire from="(480,730)" to="(480,740)"/>
<comp lib="0" loc="(260,410)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="res"/>
</comp>
<comp lib="0" loc="(260,720)" name="Probe">
<a name="radix" val="10unsigned"/>
<a name="label" val="do"/>
</comp>
<comp lib="0" loc="(260,550)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="writec"/>
</comp>
<comp lib="5" loc="(96,567)" name="Text">
<a name="text" val="6h - jmpz"/>
</comp>
<comp lib="5" loc="(95,549)" name="Text">
<a name="text" val="5h - jmp"/>
</comp>
<comp lib="0" loc="(260,690)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="writed"/>
</comp>
<comp lib="0" loc="(610,630)" name="Pull Resistor">
<a name="facing" val="north"/>
</comp>
<comp lib="5" loc="(94,516)" name="Text">
<a name="text" val="3h - add"/>
</comp>
<comp lib="0" loc="(260,430)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Takeover"/>
</comp>
<comp lib="2" loc="(650,690)" name="Multiplexer">
<a name="facing" val="west"/>
<a name="width" val="32"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="4" loc="(600,630)" name="RAM">
<a name="addrWidth" val="16"/>
<a name="dataWidth" val="32"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="0" loc="(260,510)" name="Pin">
<a name="width" val="24"/>
<a name="tristate" val="false"/>
<a name="label" val="code"/>
</comp>
<comp lib="5" loc="(92,499)" name="Text">
<a name="text" val="2h - str"/>
</comp>
<comp lib="2" loc="(700,720)" name="Multiplexer">
<a name="facing" val="west"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(260,760)" name="Probe">
<a name="radix" val="10unsigned"/>
<a name="label" val="acc"/>
</comp>
<comp lib="5" loc="(93,604)" name="Text">
<a name="text" val="8h - imm"/>
</comp>
<comp lib="5" loc="(91,482)" name="Text">
<a name="text" val="1h - ld"/>
</comp>
<comp lib="0" loc="(260,600)" name="Pin">
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="data in"/>
</comp>
<comp lib="2" loc="(700,570)" name="Multiplexer">
<a name="facing" val="west"/>
<a name="width" val="16"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(520,520)" name="Clock">
<a name="facing" val="north"/>
</comp>
<comp lib="2" loc="(390,690)" name="Multiplexer">
<a name="width" val="16"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="1" loc="(530,550)" name="NOT Gate"/>
<comp lib="5" loc="(94,532)" name="Text">
<a name="text" val="4h - sub"/>
</comp>
<comp lib="0" loc="(260,660)" name="Pin">
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="addr data"/>
</comp>
<comp lib="1" loc="(550,710)" name="NOT Gate"/>
<comp loc="(740,450)" name="proc"/>
<comp lib="0" loc="(530,670)" name="Clock">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(260,460)" name="Pin">
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="addr code"/>
</comp>
<comp lib="4" loc="(590,480)" name="RAM">
<a name="addrWidth" val="16"/>
<a name="dataWidth" val="24"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="5" loc="(100,585)" name="Text">
<a name="text" val="7h - jmpnz"/>
</comp>
<comp lib="1" loc="(370,710)" name="NOT Gate">
<a name="facing" val="north"/>
<a name="size" val="20"/>
</comp>
</circuit>
<circuit name="proc">
<a name="circuit" val="proc"/>
<a name="clabel" val="CPU"/>
<a name="clabelup" val="north"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<path d="M61,51 Q65,61 69,51" fill="none" stroke="#808080" stroke-width="2"/>
<rect fill="none" height="60" stroke="#000000" stroke-width="2" width="30" x="50" y="50"/>
<circ-port height="8" pin="1110,380" width="8" x="46" y="66"/>
<circ-port height="10" pin="500,520" width="10" x="45" y="75"/>
<circ-port height="8" pin="500,630" width="8" x="46" y="86"/>
<circ-port height="10" pin="1510,180" width="10" x="75" y="65"/>
<circ-port height="10" pin="1440,460" width="10" x="75" y="75"/>
<circ-port height="10" pin="1010,530" width="10" x="75" y="85"/>
<circ-port height="10" pin="1010,570" width="10" x="75" y="95"/>
<circ-port height="8" pin="430,300" width="8" x="56" y="46"/>
<circ-anchor facing="east" height="6" width="6" x="77" y="57"/>
</appear>
<wire from="(1410,900)" to="(1410,930)"/>
<wire from="(1110,380)" to="(1270,380)"/>
<wire from="(760,920)" to="(760,950)"/>
<wire from="(700,440)" to="(700,510)"/>
<wire from="(1040,610)" to="(1040,990)"/>
<wire from="(1150,120)" to="(1160,120)"/>
<wire from="(920,340)" to="(920,400)"/>
<wire from="(1410,460)" to="(1410,510)"/>
<wire from="(640,190)" to="(710,190)"/>
<wire from="(720,150)" to="(720,170)"/>
<wire from="(1230,300)" to="(1240,300)"/>
<wire from="(1180,200)" to="(1180,250)"/>
<wire from="(1110,100)" to="(1140,100)"/>
<wire from="(1160,290)" to="(1160,300)"/>
<wire from="(640,220)" to="(640,260)"/>
<wire from="(1160,100)" to="(1160,120)"/>
<wire from="(670,560)" to="(690,560)"/>
<wire from="(1110,110)" to="(1110,120)"/>
<wire from="(510,460)" to="(580,460)"/>
<wire from="(700,150)" to="(700,170)"/>
<wire from="(700,400)" to="(920,400)"/>
<wire from="(600,950)" to="(630,950)"/>
<wire from="(670,160)" to="(710,160)"/>
<wire from="(1090,130)" to="(1100,130)"/>
<wire from="(1090,120)" to="(1090,130)"/>
<wire from="(1150,360)" to="(1150,390)"/>
<wire from="(1190,490)" to="(1190,750)"/>
<wire from="(1320,640)" to="(1320,730)"/>
<wire from="(1390,740)" to="(1410,740)"/>
<wire from="(1300,380)" to="(1300,490)"/>
<wire from="(670,510)" to="(670,530)"/>
<wire from="(1140,340)" to="(1290,340)"/>
<wire from="(600,580)" to="(710,580)"/>
<wire from="(680,450)" to="(680,550)"/>
<wire from="(680,830)" to="(680,850)"/>
<wire from="(760,950)" to="(770,950)"/>
<wire from="(640,220)" to="(660,220)"/>
<wire from="(930,910)" to="(930,920)"/>
<wire from="(1270,380)" to="(1270,480)"/>
<wire from="(680,150)" to="(700,150)"/>
<wire from="(1220,30)" to="(1630,30)"/>
<wire from="(840,820)" to="(1510,820)"/>
<wire from="(1240,460)" to="(1240,690)"/>
<wire from="(1320,730)" to="(1320,860)"/>
<wire from="(770,170)" to="(1000,170)"/>
<wire from="(630,570)" to="(700,570)"/>
<wire from="(630,930)" to="(1410,930)"/>
<wire from="(710,570)" to="(710,580)"/>
<wire from="(1240,690)" to="(1410,690)"/>
<wire from="(1330,380)" to="(1360,380)"/>
<wire from="(1180,490)" to="(1190,490)"/>
<wire from="(970,100)" to="(970,840)"/>
<wire from="(520,240)" to="(600,240)"/>
<wire from="(1320,390)" to="(1320,420)"/>
<wire from="(650,810)" to="(1000,810)"/>
<wire from="(1200,490)" to="(1200,650)"/>
<wire from="(830,100)" to="(950,100)"/>
<wire from="(560,920)" to="(620,920)"/>
<wire from="(950,140)" to="(1090,140)"/>
<wire from="(1330,230)" to="(1330,280)"/>
<wire from="(1320,590)" to="(1330,590)"/>
<wire from="(1220,520)" to="(1220,810)"/>
<wire from="(1390,230)" to="(1430,230)"/>
<wire from="(1330,450)" to="(1330,500)"/>
<wire from="(720,130)" to="(720,150)"/>
<wire from="(1090,140)" to="(1090,160)"/>
<wire from="(680,550)" to="(690,550)"/>
<wire from="(1020,120)" to="(1090,120)"/>
<wire from="(1180,650)" to="(1200,650)"/>
<wire from="(1290,130)" to="(1290,140)"/>
<wire from="(1040,320)" to="(1420,320)"/>
<wire from="(630,950)" to="(630,990)"/>
<wire from="(690,530)" to="(690,540)"/>
<wire from="(1330,280)" to="(1350,280)"/>
<wire from="(690,530)" to="(730,530)"/>
<wire from="(480,750)" to="(620,750)"/>
<wire from="(1040,90)" to="(1120,90)"/>
<wire from="(1160,300)" to="(1170,300)"/>
<wire from="(850,440)" to="(1170,440)"/>
<wire from="(690,290)" to="(690,410)"/>
<wire from="(680,830)" to="(730,830)"/>
<wire from="(740,860)" to="(900,860)"/>
<wire from="(1140,480)" to="(1140,740)"/>
<wire from="(430,300)" to="(430,310)"/>
<wire from="(660,490)" to="(670,490)"/>
<wire from="(990,230)" to="(1120,230)"/>
<wire from="(560,920)" to="(560,940)"/>
<wire from="(1400,460)" to="(1410,460)"/>
<wire from="(970,860)" to="(1320,860)"/>
<wire from="(1060,150)" to="(1060,170)"/>
<wire from="(640,260)" to="(830,260)"/>
<wire from="(580,710)" to="(840,710)"/>
<wire from="(430,310)" to="(430,320)"/>
<wire from="(1130,390)" to="(1150,390)"/>
<wire from="(1330,280)" to="(1330,380)"/>
<wire from="(1620,100)" to="(1630,100)"/>
<wire from="(630,270)" to="(630,470)"/>
<wire from="(1280,470)" to="(1280,560)"/>
<wire from="(1320,890)" to="(1350,890)"/>
<wire from="(1240,210)" to="(1460,210)"/>
<wire from="(1330,590)" to="(1350,590)"/>
<wire from="(640,190)" to="(640,220)"/>
<wire from="(1060,170)" to="(1070,170)"/>
<wire from="(1290,340)" to="(1290,510)"/>
<wire from="(680,850)" to="(710,850)"/>
<wire from="(430,350)" to="(940,350)"/>
<wire from="(1140,90)" to="(1170,90)"/>
<wire from="(760,920)" to="(930,920)"/>
<wire from="(620,750)" to="(1010,750)"/>
<wire from="(860,980)" to="(860,1010)"/>
<wire from="(940,350)" to="(940,420)"/>
<wire from="(690,960)" to="(720,960)"/>
<wire from="(720,900)" to="(820,900)"/>
<wire from="(670,210)" to="(690,210)"/>
<wire from="(500,630)" to="(510,630)"/>
<wire from="(710,140)" to="(710,160)"/>
<wire from="(1290,510)" to="(1410,510)"/>
<wire from="(1240,210)" to="(1240,300)"/>
<wire from="(1290,130)" to="(1310,130)"/>
<wire from="(1190,180)" to="(1210,180)"/>
<wire from="(1210,180)" to="(1210,220)"/>
<wire from="(1070,220)" to="(1210,220)"/>
<wire from="(670,470)" to="(670,490)"/>
<wire from="(740,850)" to="(820,850)"/>
<wire from="(1110,100)" to="(1110,110)"/>
<wire from="(1430,230)" to="(1430,250)"/>
<wire from="(910,530)" to="(910,540)"/>
<wire from="(1390,300)" to="(1430,300)"/>
<wire from="(1390,600)" to="(1400,600)"/>
<wire from="(1310,500)" to="(1330,500)"/>
<wire from="(1210,180)" to="(1510,180)"/>
<wire from="(1330,500)" to="(1330,590)"/>
<wire from="(950,100)" to="(950,140)"/>
<wire from="(1130,160)" to="(1480,160)"/>
<wire from="(1130,390)" to="(1130,610)"/>
<wire from="(630,830)" to="(630,930)"/>
<wire from="(930,850)" to="(1470,850)"/>
<wire from="(940,420)" to="(1320,420)"/>
<wire from="(630,990)" to="(1040,990)"/>
<wire from="(720,150)" to="(1060,150)"/>
<wire from="(1400,390)" to="(1470,390)"/>
<wire from="(930,910)" to="(970,910)"/>
<wire from="(710,950)" to="(760,950)"/>
<wire from="(520,240)" to="(520,310)"/>
<wire from="(700,400)" to="(700,410)"/>
<wire from="(910,530)" to="(1010,530)"/>
<wire from="(930,840)" to="(930,850)"/>
<wire from="(1010,750)" to="(1190,750)"/>
<wire from="(970,860)" to="(970,910)"/>
<wire from="(900,860)" to="(900,970)"/>
<wire from="(950,100)" to="(970,100)"/>
<wire from="(310,70)" to="(310,1030)"/>
<wire from="(780,540)" to="(910,540)"/>
<wire from="(1070,310)" to="(1070,340)"/>
<wire from="(670,160)" to="(670,210)"/>
<wire from="(1220,520)" to="(1420,520)"/>
<wire from="(1330,230)" to="(1350,230)"/>
<wire from="(880,240)" to="(880,250)"/>
<wire from="(730,530)" to="(730,830)"/>
<wire from="(880,250)" to="(1180,250)"/>
<wire from="(630,950)" to="(660,950)"/>
<wire from="(1470,650)" to="(1470,850)"/>
<wire from="(1140,280)" to="(1140,340)"/>
<wire from="(1070,190)" to="(1070,220)"/>
<wire from="(770,110)" to="(770,170)"/>
<wire from="(690,290)" to="(1160,290)"/>
<wire from="(1420,320)" to="(1420,520)"/>
<wire from="(630,470)" to="(630,570)"/>
<wire from="(480,750)" to="(480,850)"/>
<wire from="(660,1010)" to="(860,1010)"/>
<wire from="(1300,380)" to="(1310,380)"/>
<wire from="(1390,900)" to="(1410,900)"/>
<wire from="(1150,100)" to="(1160,100)"/>
<wire from="(830,100)" to="(830,260)"/>
<wire from="(340,60)" to="(1310,60)"/>
<wire from="(1040,610)" to="(1130,610)"/>
<wire from="(1230,300)" to="(1230,310)"/>
<wire from="(500,520)" to="(510,520)"/>
<wire from="(630,470)" to="(670,470)"/>
<wire from="(1410,890)" to="(1490,890)"/>
<wire from="(1310,60)" to="(1310,130)"/>
<wire from="(1110,110)" to="(1120,110)"/>
<wire from="(850,440)" to="(850,960)"/>
<wire from="(710,940)" to="(710,950)"/>
<wire from="(510,630)" to="(510,800)"/>
<wire from="(1390,90)" to="(1580,90)"/>
<wire from="(930,920)" to="(930,950)"/>
<wire from="(1290,70)" to="(1290,110)"/>
<wire from="(1170,200)" to="(1170,270)"/>
<wire from="(1320,590)" to="(1320,640)"/>
<wire from="(1320,860)" to="(1320,890)"/>
<wire from="(710,310)" to="(710,410)"/>
<wire from="(1070,310)" to="(1230,310)"/>
<wire from="(740,840)" to="(930,840)"/>
<wire from="(1410,650)" to="(1470,650)"/>
<wire from="(1330,380)" to="(1330,450)"/>
<wire from="(690,210)" to="(690,220)"/>
<wire from="(1140,280)" to="(1170,280)"/>
<wire from="(1230,260)" to="(1230,290)"/>
<wire from="(510,460)" to="(510,520)"/>
<wire from="(680,110)" to="(680,150)"/>
<wire from="(1010,570)" to="(1010,750)"/>
<wire from="(1000,810)" to="(1220,810)"/>
<wire from="(550,850)" to="(590,850)"/>
<wire from="(310,1030)" to="(1200,1030)"/>
<wire from="(580,460)" to="(580,710)"/>
<wire from="(1120,470)" to="(1280,470)"/>
<wire from="(1280,560)" to="(1400,560)"/>
<wire from="(1320,640)" to="(1350,640)"/>
<wire from="(340,60)" to="(340,1010)"/>
<wire from="(1120,230)" to="(1120,470)"/>
<wire from="(920,340)" to="(1070,340)"/>
<wire from="(1330,450)" to="(1360,450)"/>
<wire from="(310,70)" to="(1290,70)"/>
<wire from="(600,240)" to="(880,240)"/>
<wire from="(1510,180)" to="(1510,820)"/>
<wire from="(1140,90)" to="(1140,100)"/>
<wire from="(710,180)" to="(710,190)"/>
<wire from="(620,940)" to="(710,940)"/>
<wire from="(1320,730)" to="(1350,730)"/>
<wire from="(1410,650)" to="(1410,690)"/>
<wire from="(1110,140)" to="(1110,180)"/>
<wire from="(1140,190)" to="(1160,190)"/>
<wire from="(590,820)" to="(590,850)"/>
<wire from="(700,130)" to="(700,150)"/>
<wire from="(1140,190)" to="(1140,260)"/>
<wire from="(1480,160)" to="(1480,310)"/>
<wire from="(820,850)" to="(820,900)"/>
<wire from="(1020,110)" to="(1020,120)"/>
<wire from="(1430,270)" to="(1430,300)"/>
<wire from="(1190,90)" to="(1390,90)"/>
<wire from="(1630,30)" to="(1630,100)"/>
<wire from="(1160,300)" to="(1160,330)"/>
<wire from="(1160,460)" to="(1240,460)"/>
<wire from="(970,840)" to="(1410,840)"/>
<wire from="(1200,490)" to="(1300,490)"/>
<wire from="(670,510)" to="(700,510)"/>
<wire from="(1410,890)" to="(1410,900)"/>
<wire from="(520,310)" to="(710,310)"/>
<wire from="(780,540)" to="(780,550)"/>
<wire from="(720,900)" to="(720,960)"/>
<wire from="(850,960)" to="(870,960)"/>
<wire from="(660,970)" to="(660,1010)"/>
<wire from="(1130,140)" to="(1130,160)"/>
<wire from="(590,820)" to="(620,820)"/>
<wire from="(1410,460)" to="(1440,460)"/>
<wire from="(1390,650)" to="(1410,650)"/>
<wire from="(1490,340)" to="(1490,890)"/>
<wire from="(1410,740)" to="(1410,840)"/>
<wire from="(840,710)" to="(840,820)"/>
<wire from="(430,310)" to="(520,310)"/>
<wire from="(1160,360)" to="(1160,460)"/>
<wire from="(510,800)" to="(620,800)"/>
<wire from="(810,960)" to="(850,960)"/>
<wire from="(1460,210)" to="(1460,260)"/>
<wire from="(1220,30)" to="(1220,130)"/>
<wire from="(1150,120)" to="(1150,180)"/>
<wire from="(1040,90)" to="(1040,320)"/>
<wire from="(600,240)" to="(600,580)"/>
<wire from="(480,850)" to="(510,850)"/>
<wire from="(1000,170)" to="(1000,810)"/>
<wire from="(340,1010)" to="(660,1010)"/>
<wire from="(970,100)" to="(990,100)"/>
<wire from="(1170,360)" to="(1170,440)"/>
<wire from="(630,270)" to="(1170,270)"/>
<wire from="(620,450)" to="(680,450)"/>
<wire from="(1150,180)" to="(1160,180)"/>
<wire from="(620,920)" to="(620,940)"/>
<wire from="(620,450)" to="(620,750)"/>
<wire from="(1140,260)" to="(1230,260)"/>
<wire from="(1400,560)" to="(1400,600)"/>
<wire from="(680,110)" to="(770,110)"/>
<wire from="(720,550)" to="(780,550)"/>
<wire from="(1470,340)" to="(1470,390)"/>
<wire from="(1220,130)" to="(1250,130)"/>
<wire from="(1140,480)" to="(1270,480)"/>
<wire from="(990,120)" to="(990,230)"/>
<comp lib="2" loc="(650,810)" name="Multiplexer">
<a name="width" val="32"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="3" loc="(1390,600)" name="Comparator">
<a name="mode" val="unsigned"/>
</comp>
<comp lib="2" loc="(1150,100)" name="Multiplexer">
<a name="width" val="32"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="1" loc="(1190,90)" name="Buffer">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(500,520)" name="Pin">
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="Data in"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="0" loc="(1110,380)" name="Pin">
<a name="width" val="24"/>
<a name="tristate" val="false"/>
<a name="label" val="cin"/>
</comp>
<comp lib="0" loc="(1350,300)" name="Constant">
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(1360,400)" name="Constant">
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(1580,110)" name="Constant">
<a name="width" val="32"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="1" loc="(1480,310)" name="OR Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(720,130)" name="Controlled Buffer">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(500,630)" name="Pin">
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="Data out"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="3" loc="(1390,900)" name="Comparator">
<a name="mode" val="unsigned"/>
</comp>
<comp lib="3" loc="(1110,180)" name="Adder">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(1310,500)" name="Pull Resistor"/>
<comp lib="1" loc="(670,560)" name="NOT Gate">
<a name="facing" val="south"/>
</comp>
<comp lib="3" loc="(1620,100)" name="Comparator">
<a name="width" val="32"/>
<a name="mode" val="unsigned"/>
</comp>
<comp lib="0" loc="(550,850)" name="Bit Extender">
<a name="in_width" val="16"/>
<a name="out_width" val="32"/>
</comp>
<comp lib="1" loc="(1460,260)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="3" loc="(1390,240)" name="Comparator">
<a name="mode" val="unsigned"/>
</comp>
<comp lib="1" loc="(1130,120)" name="NOT Gate">
<a name="facing" val="north"/>
<a name="size" val="20"/>
</comp>
<comp lib="4" loc="(720,550)" name="Counter">
<a name="width" val="16"/>
<a name="max" val="0xffff"/>
</comp>
<comp lib="3" loc="(1390,290)" name="Comparator">
<a name="mode" val="unsigned"/>
</comp>
<comp lib="3" loc="(810,960)" name="Comparator">
<a name="mode" val="unsigned"/>
</comp>
<comp lib="1" loc="(700,440)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="0" loc="(1350,250)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x8"/>
</comp>
<comp lib="3" loc="(1400,390)" name="Comparator">
<a name="mode" val="unsigned"/>
</comp>
<comp lib="1" loc="(430,350)" name="NOT Gate">
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(430,300)" name="Pin">
<a name="facing" val="south"/>
<a name="tristate" val="false"/>
<a name="label" val="res"/>
<a name="labelloc" val="north"/>
</comp>
<comp lib="1" loc="(1160,330)" name="OR Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="0" loc="(560,960)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x6"/>
</comp>
<comp lib="1" loc="(900,970)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="0" loc="(1360,470)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x2"/>
</comp>
<comp lib="3" loc="(600,950)" name="Comparator">
<a name="mode" val="unsigned"/>
</comp>
<comp lib="0" loc="(1440,460)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="tristate" val="false"/>
<a name="label" val="data st"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(690,220)" name="NOT Gate"/>
<comp lib="0" loc="(1510,180)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="acc"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1350,750)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x4"/>
</comp>
<comp lib="0" loc="(660,490)" name="Clock"/>
<comp lib="0" loc="(1010,570)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="addrd"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(1250,110)" name="Clock"/>
<comp lib="3" loc="(1390,650)" name="Comparator">
<a name="mode" val="unsigned"/>
</comp>
<comp lib="1" loc="(1330,380)" name="Controlled Buffer">
<a name="width" val="8"/>
</comp>
<comp lib="1" loc="(1020,110)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(690,960)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(1230,290)" name="NOT Gate"/>
<comp lib="0" loc="(1180,650)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="0" loc="(1350,660)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x5"/>
</comp>
<comp lib="0" loc="(1180,490)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
</comp>
<comp lib="0" loc="(1350,910)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x8"/>
</comp>
<comp lib="3" loc="(1400,460)" name="Comparator">
<a name="mode" val="unsigned"/>
</comp>
<comp lib="0" loc="(1010,530)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="addrc"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="3" loc="(1390,740)" name="Comparator">
<a name="mode" val="unsigned"/>
</comp>
<comp lib="4" loc="(1290,110)" name="D Flip-Flop"/>
<comp lib="0" loc="(1350,610)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x3"/>
</comp>
<comp lib="0" loc="(770,970)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x7"/>
</comp>
<comp lib="1" loc="(710,850)" name="OR Gate">
<a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="0" loc="(1390,90)" name="Pull Resistor">
<a name="facing" val="north"/>
</comp>
<comp lib="1" loc="(1110,120)" name="Controlled Buffer">
<a name="facing" val="north"/>
<a name="width" val="32"/>
<a name="control" val="left"/>
</comp>
<comp lib="0" loc="(1140,740)" name="Splitter">
<a name="fanout" val="24"/>
<a name="incoming" val="24"/>
</comp>
<comp lib="1" loc="(720,170)" name="Controlled Inverter">
<a name="width" val="32"/>
<a name="size" val="20"/>
</comp>
<comp lib="4" loc="(1190,180)" name="Register">
<a name="width" val="32"/>
</comp>
<comp lib="1" loc="(1200,290)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
</circuit>
</project>