This commit is contained in:
pjht 2016-07-26 15:46:40 -05:00
parent ac77abca38
commit 4948d1255d
17 changed files with 861 additions and 3642 deletions

View File

@ -1,721 +0,0 @@
<?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="incoming" val="8"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="1"/>
<a name="bit5" val="1"/>
<a name="bit6" val="1"/>
<a name="bit7" val="1"/>
</tool>
<tool name="Pin">
<a name="tristate" val="false"/>
</tool>
<tool name="Probe">
<a name="radix" val="10unsigned"/>
<a name="labelloc" val="east"/>
</tool>
<tool name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="8"/>
</tool>
<tool name="Constant">
<a name="value" val="0x0"/>
</tool>
</lib>
<lib desc="#Gates" name="1">
<tool name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
</lib>
<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="50000"/>
<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=""/>
<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="reset"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="labelloc" val="north"/>
</tool>
<tool lib="1" name="NOT Gate"/>
<tool lib="1" name="AND Gate">
<a name="facing" val="west"/>
<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="ins dec">
<a name="circuit" val="ins dec"/>
<a name="clabel" val=""/>
<a name="clabelup" val="north"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(310,520)" to="(310,590)"/>
<wire from="(420,190)" to="(450,190)"/>
<wire from="(320,470)" to="(340,470)"/>
<wire from="(430,220)" to="(450,220)"/>
<wire from="(110,510)" to="(260,510)"/>
<wire from="(90,520)" to="(90,570)"/>
<wire from="(350,400)" to="(500,400)"/>
<wire from="(380,270)" to="(380,370)"/>
<wire from="(50,590)" to="(310,590)"/>
<wire from="(110,350)" to="(300,350)"/>
<wire from="(580,280)" to="(580,380)"/>
<wire from="(420,250)" to="(450,250)"/>
<wire from="(110,360)" to="(290,360)"/>
<wire from="(410,240)" to="(410,250)"/>
<wire from="(330,320)" to="(330,460)"/>
<wire from="(290,560)" to="(340,560)"/>
<wire from="(480,480)" to="(610,480)"/>
<wire from="(600,300)" to="(690,300)"/>
<wire from="(260,510)" to="(260,640)"/>
<wire from="(300,580)" to="(330,580)"/>
<wire from="(430,170)" to="(450,170)"/>
<wire from="(590,260)" to="(590,390)"/>
<wire from="(370,470)" to="(370,480)"/>
<wire from="(540,390)" to="(590,390)"/>
<wire from="(430,180)" to="(430,220)"/>
<wire from="(380,370)" to="(500,370)"/>
<wire from="(400,250)" to="(400,350)"/>
<wire from="(660,340)" to="(660,640)"/>
<wire from="(600,300)" to="(600,440)"/>
<wire from="(310,340)" to="(310,500)"/>
<wire from="(480,240)" to="(690,240)"/>
<wire from="(480,210)" to="(480,220)"/>
<wire from="(500,200)" to="(690,200)"/>
<wire from="(400,350)" to="(500,350)"/>
<wire from="(300,530)" to="(340,530)"/>
<wire from="(610,320)" to="(610,480)"/>
<wire from="(500,410)" to="(500,420)"/>
<wire from="(320,490)" to="(320,520)"/>
<wire from="(410,200)" to="(450,200)"/>
<wire from="(370,570)" to="(400,570)"/>
<wire from="(80,570)" to="(90,570)"/>
<wire from="(300,550)" to="(300,580)"/>
<wire from="(110,220)" to="(410,220)"/>
<wire from="(320,330)" to="(320,470)"/>
<wire from="(550,380)" to="(580,380)"/>
<wire from="(390,180)" to="(390,230)"/>
<wire from="(410,220)" to="(410,230)"/>
<wire from="(110,250)" to="(400,250)"/>
<wire from="(260,640)" to="(660,640)"/>
<wire from="(110,210)" to="(410,210)"/>
<wire from="(370,470)" to="(430,470)"/>
<wire from="(370,380)" to="(500,380)"/>
<wire from="(110,240)" to="(410,240)"/>
<wire from="(110,260)" to="(390,260)"/>
<wire from="(110,230)" to="(390,230)"/>
<wire from="(390,360)" to="(500,360)"/>
<wire from="(410,250)" to="(420,250)"/>
<wire from="(320,490)" to="(340,490)"/>
<wire from="(360,290)" to="(360,390)"/>
<wire from="(350,300)" to="(350,400)"/>
<wire from="(370,540)" to="(390,540)"/>
<wire from="(110,280)" to="(370,280)"/>
<wire from="(430,170)" to="(430,180)"/>
<wire from="(300,550)" to="(340,550)"/>
<wire from="(500,180)" to="(500,200)"/>
<wire from="(300,350)" to="(300,530)"/>
<wire from="(110,270)" to="(380,270)"/>
<wire from="(300,580)" to="(300,610)"/>
<wire from="(330,460)" to="(430,460)"/>
<wire from="(380,480)" to="(430,480)"/>
<wire from="(580,280)" to="(690,280)"/>
<wire from="(340,310)" to="(340,440)"/>
<wire from="(360,390)" to="(500,390)"/>
<wire from="(50,610)" to="(300,610)"/>
<wire from="(110,290)" to="(360,290)"/>
<wire from="(420,190)" to="(420,250)"/>
<wire from="(390,260)" to="(390,360)"/>
<wire from="(110,310)" to="(340,310)"/>
<wire from="(390,180)" to="(430,180)"/>
<wire from="(370,280)" to="(370,380)"/>
<wire from="(540,380)" to="(550,380)"/>
<wire from="(390,490)" to="(390,540)"/>
<wire from="(110,300)" to="(350,300)"/>
<wire from="(590,260)" to="(690,260)"/>
<wire from="(480,220)" to="(690,220)"/>
<wire from="(610,320)" to="(690,320)"/>
<wire from="(400,500)" to="(430,500)"/>
<wire from="(340,440)" to="(600,440)"/>
<wire from="(110,330)" to="(320,330)"/>
<wire from="(660,340)" to="(690,340)"/>
<wire from="(480,180)" to="(500,180)"/>
<wire from="(310,520)" to="(320,520)"/>
<wire from="(110,320)" to="(330,320)"/>
<wire from="(410,200)" to="(410,210)"/>
<wire from="(370,510)" to="(380,510)"/>
<wire from="(110,340)" to="(310,340)"/>
<wire from="(400,500)" to="(400,570)"/>
<wire from="(410,230)" to="(450,230)"/>
<wire from="(380,480)" to="(380,510)"/>
<wire from="(320,520)" to="(330,520)"/>
<wire from="(310,500)" to="(340,500)"/>
<wire from="(390,490)" to="(430,490)"/>
<wire from="(290,360)" to="(290,560)"/>
<comp lib="0" loc="(690,240)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="en b"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(480,240)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(50,590)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="zero"/>
</comp>
<comp lib="1" loc="(480,180)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(370,510)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="0" loc="(690,200)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="sel src"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(690,220)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="en a"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(480,480)" name="OR Gate"/>
<comp lib="2" loc="(90,520)" name="Decoder">
<a name="select" val="5"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="1" loc="(370,570)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="0" loc="(50,610)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="carry"/>
</comp>
<comp lib="0" loc="(500,410)" name="Constant">
<a name="value" val="0x0"/>
</comp>
<comp lib="0" loc="(550,380)" name="Pull Resistor"/>
<comp lib="1" loc="(370,540)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="2" loc="(540,380)" name="Priority Encoder"/>
<comp lib="0" loc="(690,340)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="hlt"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(480,210)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(80,570)" name="Pin">
<a name="width" val="5"/>
<a name="tristate" val="false"/>
<a name="label" val="ins"/>
</comp>
<comp lib="1" loc="(370,480)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(690,300)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="str"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(690,260)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="en r"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(690,320)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="jmp"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(690,280)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="3"/>
<a name="label" val="op"/>
<a name="labelloc" val="east"/>
</comp>
</circuit>
<circuit name="alu">
<a name="circuit" val="alu"/>
<a name="clabel" val=""/>
<a name="clabelup" val="north"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(390,440)" to="(410,440)"/>
<wire from="(380,450)" to="(380,570)"/>
<wire from="(310,190)" to="(330,190)"/>
<wire from="(320,250)" to="(320,270)"/>
<wire from="(320,270)" to="(350,270)"/>
<wire from="(360,560)" to="(450,560)"/>
<wire from="(400,330)" to="(400,540)"/>
<wire from="(330,190)" to="(350,190)"/>
<wire from="(320,380)" to="(320,420)"/>
<wire from="(330,310)" to="(350,310)"/>
<wire from="(440,220)" to="(450,220)"/>
<wire from="(380,420)" to="(450,420)"/>
<wire from="(320,270)" to="(320,350)"/>
<wire from="(430,250)" to="(430,520)"/>
<wire from="(400,270)" to="(400,290)"/>
<wire from="(410,220)" to="(440,220)"/>
<wire from="(440,390)" to="(440,550)"/>
<wire from="(360,520)" to="(430,520)"/>
<wire from="(320,210)" to="(350,210)"/>
<wire from="(490,330)" to="(490,340)"/>
<wire from="(500,320)" to="(500,330)"/>
<wire from="(330,440)" to="(340,440)"/>
<wire from="(530,340)" to="(530,350)"/>
<wire from="(480,320)" to="(500,320)"/>
<wire from="(370,280)" to="(650,280)"/>
<wire from="(380,390)" to="(440,390)"/>
<wire from="(370,220)" to="(370,230)"/>
<wire from="(410,220)" to="(410,260)"/>
<wire from="(330,190)" to="(330,250)"/>
<wire from="(410,410)" to="(410,440)"/>
<wire from="(380,380)" to="(380,390)"/>
<wire from="(340,600)" to="(340,610)"/>
<wire from="(320,350)" to="(320,380)"/>
<wire from="(320,380)" to="(340,380)"/>
<wire from="(530,370)" to="(530,390)"/>
<wire from="(370,230)" to="(640,230)"/>
<wire from="(330,360)" to="(340,360)"/>
<wire from="(330,250)" to="(330,310)"/>
<wire from="(530,340)" to="(640,340)"/>
<wire from="(480,330)" to="(490,330)"/>
<wire from="(360,550)" to="(440,550)"/>
<wire from="(410,370)" to="(410,410)"/>
<wire from="(360,570)" to="(380,570)"/>
<wire from="(490,340)" to="(500,340)"/>
<wire from="(360,540)" to="(400,540)"/>
<wire from="(310,250)" to="(320,250)"/>
<wire from="(320,420)" to="(340,420)"/>
<wire from="(330,400)" to="(330,440)"/>
<wire from="(420,290)" to="(420,530)"/>
<wire from="(440,220)" to="(440,340)"/>
<wire from="(480,310)" to="(500,310)"/>
<wire from="(330,360)" to="(330,400)"/>
<wire from="(310,330)" to="(350,330)"/>
<wire from="(400,210)" to="(400,250)"/>
<wire from="(390,370)" to="(410,370)"/>
<wire from="(330,400)" to="(340,400)"/>
<wire from="(300,610)" to="(340,610)"/>
<wire from="(530,390)" to="(650,390)"/>
<wire from="(320,210)" to="(320,250)"/>
<wire from="(410,260)" to="(410,320)"/>
<wire from="(410,320)" to="(410,370)"/>
<wire from="(400,250)" to="(430,250)"/>
<wire from="(400,290)" to="(420,290)"/>
<wire from="(360,530)" to="(420,530)"/>
<wire from="(650,280)" to="(650,390)"/>
<wire from="(410,200)" to="(410,220)"/>
<wire from="(440,340)" to="(460,340)"/>
<wire from="(640,230)" to="(640,340)"/>
<wire from="(480,300)" to="(500,300)"/>
<wire from="(330,310)" to="(330,360)"/>
<wire from="(290,350)" to="(320,350)"/>
<wire from="(560,320)" to="(600,320)"/>
<wire from="(390,410)" to="(410,410)"/>
<wire from="(330,250)" to="(350,250)"/>
<wire from="(450,420)" to="(450,560)"/>
<wire from="(290,340)" to="(290,350)"/>
<comp lib="0" loc="(290,340)" name="Splitter">
<a name="fanout" val="1"/>
<a name="incoming" val="4"/>
<a name="bit1" val="0"/>
<a name="bit2" val="none"/>
<a name="bit3" val="none"/>
</comp>
<comp lib="1" loc="(560,320)" name="NOR Gate">
<a name="inputs" val="4"/>
</comp>
<comp lib="3" loc="(390,320)" name="Shifter">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(560,360)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="carry out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(600,320)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="zero out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(390,410)" name="Controlled Buffer">
<a name="width" val="4"/>
</comp>
<comp lib="1" loc="(370,440)" name="NOT Gate">
<a name="width" val="4"/>
</comp>
<comp lib="1" loc="(410,260)" name="Controlled Buffer">
<a name="width" val="4"/>
</comp>
<comp lib="1" loc="(370,370)" name="OR Gate">
<a name="width" val="4"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(450,220)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="4"/>
<a name="label" val="r"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(310,250)" name="Pin">
<a name="width" val="4"/>
<a name="tristate" val="false"/>
<a name="label" val="b"/>
</comp>
<comp lib="0" loc="(460,340)" name="Splitter">
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="1" loc="(370,410)" name="AND Gate">
<a name="width" val="4"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="1" loc="(410,200)" name="Controlled Buffer">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(310,190)" name="Pin">
<a name="width" val="4"/>
<a name="tristate" val="false"/>
<a name="label" val="a"/>
</comp>
<comp lib="1" loc="(390,440)" name="Controlled Buffer">
<a name="width" val="4"/>
</comp>
<comp lib="3" loc="(390,260)" name="Subtractor">
<a name="width" val="4"/>
</comp>
<comp lib="1" loc="(390,370)" name="Controlled Buffer">
<a name="width" val="4"/>
</comp>
<comp lib="2" loc="(340,600)" name="Decoder">
<a name="select" val="3"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="1" loc="(410,320)" name="Controlled Buffer">
<a name="width" val="4"/>
</comp>
<comp lib="1" loc="(560,360)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="3" loc="(390,200)" name="Adder">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(300,610)" name="Pin">
<a name="width" val="3"/>
<a name="tristate" val="false"/>
<a name="label" val="op"/>
</comp>
</circuit>
<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="(800,70)" to="(800,80)"/>
<wire from="(180,90)" to="(180,130)"/>
<wire from="(600,90)" to="(630,90)"/>
<wire from="(920,130)" to="(950,130)"/>
<wire from="(1020,80)" to="(1030,80)"/>
<wire from="(860,90)" to="(870,90)"/>
<wire from="(680,200)" to="(790,200)"/>
<wire from="(730,160)" to="(730,220)"/>
<wire from="(600,20)" to="(600,90)"/>
<wire from="(900,90)" to="(930,90)"/>
<wire from="(730,410)" to="(730,460)"/>
<wire from="(520,70)" to="(520,170)"/>
<wire from="(780,230)" to="(910,230)"/>
<wire from="(570,200)" to="(590,200)"/>
<wire from="(490,190)" to="(590,190)"/>
<wire from="(800,200)" to="(870,200)"/>
<wire from="(560,70)" to="(630,70)"/>
<wire from="(570,200)" to="(570,340)"/>
<wire from="(150,170)" to="(520,170)"/>
<wire from="(100,160)" to="(190,160)"/>
<wire from="(0,120)" to="(70,120)"/>
<wire from="(800,290)" to="(800,330)"/>
<wire from="(880,70)" to="(890,70)"/>
<wire from="(150,70)" to="(150,170)"/>
<wire from="(650,150)" to="(700,150)"/>
<wire from="(680,330)" to="(800,330)"/>
<wire from="(960,90)" to="(960,210)"/>
<wire from="(660,110)" to="(660,120)"/>
<wire from="(1050,90)" to="(1050,170)"/>
<wire from="(850,260)" to="(850,340)"/>
<wire from="(120,330)" to="(660,330)"/>
<wire from="(740,260)" to="(740,290)"/>
<wire from="(870,60)" to="(870,90)"/>
<wire from="(810,290)" to="(810,350)"/>
<wire from="(1090,20)" to="(1090,70)"/>
<wire from="(730,220)" to="(780,220)"/>
<wire from="(620,220)" to="(700,220)"/>
<wire from="(620,180)" to="(880,180)"/>
<wire from="(740,260)" to="(780,260)"/>
<wire from="(760,310)" to="(1010,310)"/>
<wire from="(800,190)" to="(800,200)"/>
<wire from="(790,200)" to="(790,220)"/>
<wire from="(910,170)" to="(910,230)"/>
<wire from="(820,100)" to="(830,100)"/>
<wire from="(930,90)" to="(930,160)"/>
<wire from="(470,60)" to="(490,60)"/>
<wire from="(580,450)" to="(840,450)"/>
<wire from="(620,210)" to="(960,210)"/>
<wire from="(820,100)" to="(820,140)"/>
<wire from="(100,110)" to="(110,110)"/>
<wire from="(460,290)" to="(740,290)"/>
<wire from="(460,130)" to="(460,290)"/>
<wire from="(870,90)" to="(870,130)"/>
<wire from="(810,350)" to="(810,360)"/>
<wire from="(810,390)" to="(840,390)"/>
<wire from="(190,160)" to="(190,350)"/>
<wire from="(100,140)" to="(100,160)"/>
<wire from="(490,60)" to="(490,190)"/>
<wire from="(510,50)" to="(510,70)"/>
<wire from="(620,200)" to="(680,200)"/>
<wire from="(950,60)" to="(950,70)"/>
<wire from="(1040,90)" to="(1040,160)"/>
<wire from="(870,140)" to="(890,140)"/>
<wire from="(950,80)" to="(960,80)"/>
<wire from="(70,120)" to="(70,130)"/>
<wire from="(920,60)" to="(950,60)"/>
<wire from="(560,140)" to="(820,140)"/>
<wire from="(0,120)" to="(0,230)"/>
<wire from="(840,390)" to="(840,450)"/>
<wire from="(700,130)" to="(850,130)"/>
<wire from="(660,230)" to="(660,330)"/>
<wire from="(0,230)" to="(90,230)"/>
<wire from="(940,170)" to="(1050,170)"/>
<wire from="(60,130)" to="(70,130)"/>
<wire from="(870,140)" to="(870,200)"/>
<wire from="(870,130)" to="(890,130)"/>
<wire from="(900,80)" to="(900,90)"/>
<wire from="(140,80)" to="(170,80)"/>
<wire from="(580,210)" to="(590,210)"/>
<wire from="(410,70)" to="(450,70)"/>
<wire from="(850,160)" to="(900,160)"/>
<wire from="(1060,70)" to="(1090,70)"/>
<wire from="(730,410)" to="(770,410)"/>
<wire from="(800,80)" to="(830,80)"/>
<wire from="(190,160)" to="(730,160)"/>
<wire from="(820,260)" to="(850,260)"/>
<wire from="(760,280)" to="(760,310)"/>
<wire from="(680,470)" to="(790,470)"/>
<wire from="(570,340)" to="(850,340)"/>
<wire from="(990,70)" to="(1030,70)"/>
<wire from="(740,290)" to="(740,390)"/>
<wire from="(910,80)" to="(940,80)"/>
<wire from="(190,140)" to="(210,140)"/>
<wire from="(680,200)" to="(680,330)"/>
<wire from="(620,170)" to="(740,170)"/>
<wire from="(120,60)" to="(120,80)"/>
<wire from="(70,300)" to="(650,300)"/>
<wire from="(560,70)" to="(560,140)"/>
<wire from="(1020,80)" to="(1020,220)"/>
<wire from="(660,120)" to="(680,120)"/>
<wire from="(90,180)" to="(90,230)"/>
<wire from="(720,110)" to="(720,120)"/>
<wire from="(720,360)" to="(810,360)"/>
<wire from="(710,120)" to="(720,120)"/>
<wire from="(770,70)" to="(800,70)"/>
<wire from="(950,70)" to="(960,70)"/>
<wire from="(200,70)" to="(270,70)"/>
<wire from="(620,190)" to="(800,190)"/>
<wire from="(740,160)" to="(840,160)"/>
<wire from="(1010,80)" to="(1010,310)"/>
<wire from="(910,170)" to="(940,170)"/>
<wire from="(620,230)" to="(660,230)"/>
<wire from="(650,120)" to="(660,120)"/>
<wire from="(740,160)" to="(740,170)"/>
<wire from="(600,20)" to="(1090,20)"/>
<wire from="(790,220)" to="(1020,220)"/>
<wire from="(930,160)" to="(1040,160)"/>
<wire from="(680,330)" to="(680,470)"/>
<wire from="(120,60)" to="(170,60)"/>
<wire from="(700,150)" to="(700,220)"/>
<wire from="(990,80)" to="(1010,80)"/>
<wire from="(780,220)" to="(780,230)"/>
<wire from="(870,60)" to="(890,60)"/>
<wire from="(650,240)" to="(650,300)"/>
<wire from="(90,180)" to="(210,180)"/>
<wire from="(210,140)" to="(210,180)"/>
<wire from="(720,360)" to="(720,480)"/>
<wire from="(990,90)" to="(1000,90)"/>
<wire from="(580,210)" to="(580,450)"/>
<wire from="(700,110)" to="(700,130)"/>
<wire from="(900,150)" to="(900,160)"/>
<wire from="(800,420)" to="(800,480)"/>
<wire from="(650,120)" to="(650,150)"/>
<wire from="(460,130)" to="(700,130)"/>
<wire from="(850,130)" to="(850,160)"/>
<wire from="(110,110)" to="(110,120)"/>
<wire from="(720,480)" to="(800,480)"/>
<wire from="(910,150)" to="(910,170)"/>
<wire from="(140,130)" to="(180,130)"/>
<wire from="(180,130)" to="(460,130)"/>
<wire from="(70,150)" to="(70,300)"/>
<wire from="(900,160)" to="(930,160)"/>
<wire from="(510,70)" to="(520,70)"/>
<wire from="(1000,90)" to="(1000,460)"/>
<wire from="(730,460)" to="(1000,460)"/>
<wire from="(150,70)" to="(170,70)"/>
<wire from="(120,80)" to="(120,330)"/>
<wire from="(740,390)" to="(770,390)"/>
<wire from="(520,70)" to="(560,70)"/>
<wire from="(790,420)" to="(790,470)"/>
<wire from="(190,90)" to="(190,140)"/>
<wire from="(880,70)" to="(880,180)"/>
<wire from="(840,110)" to="(840,160)"/>
<wire from="(940,80)" to="(940,170)"/>
<wire from="(760,280)" to="(780,280)"/>
<wire from="(620,240)" to="(650,240)"/>
<wire from="(470,50)" to="(510,50)"/>
<wire from="(950,80)" to="(950,130)"/>
<wire from="(190,350)" to="(810,350)"/>
<comp lib="4" loc="(1060,70)" name="Register">
<a name="width" val="4"/>
</comp>
<comp lib="4" loc="(810,390)" name="D Flip-Flop">
<a name="label" val="Carry"/>
</comp>
<comp lib="1" loc="(140,80)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="5" loc="(60,130)" name="Button">
<a name="label" val="reset"/>
<a name="labelloc" val="west"/>
</comp>
<comp lib="1" loc="(710,120)" name="NOT Gate"/>
<comp lib="4" loc="(200,70)" name="Counter">
<a name="width" val="4"/>
<a name="max" val="0xf"/>
<a name="label" val="PC"/>
</comp>
<comp lib="1" loc="(100,140)" name="OR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(100,110)" name="Clock"/>
<comp loc="(620,170)" name="ins dec"/>
<comp lib="0" loc="(450,70)" name="Splitter">
<a name="incoming" val="9"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="1"/>
<a name="bit5" val="1"/>
<a name="bit6" val="1"/>
<a name="bit7" val="1"/>
<a name="bit8" val="1"/>
</comp>
<comp lib="2" loc="(860,90)" name="Multiplexer">
<a name="width" val="4"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="4" loc="(770,70)" name="RAM">
<a name="addrWidth" val="4"/>
<a name="dataWidth" val="4"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="4" loc="(410,70)" name="ROM">
<a name="addrWidth" val="4"/>
<a name="dataWidth" val="9"/>
<a name="contents">addr/data: 4 9
0
</a>
</comp>
<comp lib="4" loc="(820,260)" name="D Flip-Flop">
<a name="label" val="Zero"/>
</comp>
<comp loc="(990,70)" name="alu"/>
<comp lib="1" loc="(140,130)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="4" loc="(920,130)" name="Register">
<a name="width" val="4"/>
<a name="label" val="B"/>
</comp>
<comp lib="4" loc="(920,60)" name="Register">
<a name="width" val="4"/>
<a name="label" val="A"/>
</comp>
</circuit>
</project>

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +1,23 @@
00-NOP
01-LDA
02-LDB
03-LDAI
04-LDBI
05-ADD
06-SUB
07-SHL
08-OR
09-AND
0A-NOT
0B-STR
0C-JMP
0D-JMPZ
0E-JMPNZ
0F-JMPC
10-JMPNC
1F-HLT
00=Memory[0-3] to Register A
01=Memory[0-3] to Register B
02=Memory[0-3] to Register C
03=Memory[0-3] to Register D
04=Immediate to Register A
05=Immediate to Register B
06=Immediate to Register C
07=Immediate to Register D
08-Register A to Memory[0-3]
09-Register B to Memory[0-3]
0a-Register C to Memory[0-3]
0b-Register D to Memory[0-3]
0cx-Add Register x[2-3] to Register x[0-1]
0dx-Subtract Register x[2-3] from Register x[0-1]
0ex-And Register x[2-3] with Register x[0-1]
0fx-Or Register x[2-3] with Register x[0-1]
10x-Or Register x[2-3] with Register x[0-1] w/o storing result??????
11-Immediate to PC
12-Immediate to PC if Carry on
13-Immediate to PC if Carry off
14-Immediate to PC if Zero on
15-Immediate to PC if Zero off
16-Halt

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,15 @@
000x01-LOD(x is 3-bit register ID)
000x02-STO(x is 3-bit register ID)
000x03-LODI(x is 3-bit register ID)
00xy04-LODwP(x is 3-bit register ID,y is 2-bit register pair ID)Note:cannot write to either register in address register pair
00xy05-STOwP(x is 3-bit register ID,y is 2-bit register pair ID)
Opcode format:
Bits 0-1:A select
Bits 2-3:B select
Bits 4-5:Op select
Bit 6:Store
Bit 7:Jump
A/B select:
00-Memory
01-Immediate
10-Result
Op select:
00-Add
01-Sub
10-Pass through A sel to R
11-Halt

View File

@ -1,460 +0,0 @@
<?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"/>
<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="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=""/>
<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">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<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="(710,550)" to="(760,550)"/>
<wire from="(840,500)" to="(890,500)"/>
<wire from="(340,380)" to="(340,780)"/>
<wire from="(150,550)" to="(200,550)"/>
<wire from="(120,360)" to="(120,370)"/>
<wire from="(800,560)" to="(810,560)"/>
<wire from="(60,270)" to="(60,370)"/>
<wire from="(160,390)" to="(160,410)"/>
<wire from="(630,580)" to="(660,580)"/>
<wire from="(40,470)" to="(140,470)"/>
<wire from="(720,560)" to="(760,560)"/>
<wire from="(560,520)" to="(570,520)"/>
<wire from="(780,340)" to="(870,340)"/>
<wire from="(160,150)" to="(180,150)"/>
<wire from="(470,510)" to="(500,510)"/>
<wire from="(490,460)" to="(490,500)"/>
<wire from="(480,470)" to="(850,470)"/>
<wire from="(610,560)" to="(680,560)"/>
<wire from="(490,570)" to="(500,570)"/>
<wire from="(270,520)" to="(310,520)"/>
<wire from="(870,540)" to="(870,550)"/>
<wire from="(700,590)" to="(710,590)"/>
<wire from="(310,390)" to="(510,390)"/>
<wire from="(100,500)" to="(140,500)"/>
<wire from="(310,390)" to="(310,520)"/>
<wire from="(120,360)" to="(130,360)"/>
<wire from="(10,230)" to="(170,230)"/>
<wire from="(730,380)" to="(840,380)"/>
<wire from="(570,630)" to="(720,630)"/>
<wire from="(710,530)" to="(710,540)"/>
<wire from="(70,530)" to="(80,530)"/>
<wire from="(740,400)" to="(740,590)"/>
<wire from="(160,380)" to="(160,390)"/>
<wire from="(480,770)" to="(480,800)"/>
<wire from="(340,780)" to="(380,780)"/>
<wire from="(490,500)" to="(490,570)"/>
<wire from="(150,460)" to="(150,550)"/>
<wire from="(310,760)" to="(520,760)"/>
<wire from="(420,320)" to="(420,470)"/>
<wire from="(640,590)" to="(640,600)"/>
<wire from="(800,570)" to="(810,570)"/>
<wire from="(470,380)" to="(490,380)"/>
<wire from="(630,520)" to="(660,520)"/>
<wire from="(980,410)" to="(980,550)"/>
<wire from="(10,410)" to="(160,410)"/>
<wire from="(200,520)" to="(200,550)"/>
<wire from="(230,870)" to="(380,870)"/>
<wire from="(450,550)" to="(450,750)"/>
<wire from="(140,420)" to="(170,420)"/>
<wire from="(740,400)" to="(810,400)"/>
<wire from="(540,520)" to="(560,520)"/>
<wire from="(870,340)" to="(870,490)"/>
<wire from="(430,330)" to="(440,330)"/>
<wire from="(310,660)" to="(820,660)"/>
<wire from="(510,370)" to="(510,390)"/>
<wire from="(150,440)" to="(150,460)"/>
<wire from="(870,490)" to="(890,490)"/>
<wire from="(10,420)" to="(10,660)"/>
<wire from="(310,520)" to="(310,660)"/>
<wire from="(0,380)" to="(100,380)"/>
<wire from="(800,570)" to="(800,610)"/>
<wire from="(570,550)" to="(630,550)"/>
<wire from="(470,580)" to="(500,580)"/>
<wire from="(700,530)" to="(710,530)"/>
<wire from="(540,590)" to="(560,590)"/>
<wire from="(470,510)" to="(470,580)"/>
<wire from="(610,360)" to="(610,560)"/>
<wire from="(140,470)" to="(140,500)"/>
<wire from="(920,410)" to="(980,410)"/>
<wire from="(310,750)" to="(450,750)"/>
<wire from="(600,480)" to="(620,480)"/>
<wire from="(60,460)" to="(150,460)"/>
<wire from="(720,560)" to="(720,630)"/>
<wire from="(200,170)" to="(200,270)"/>
<wire from="(480,520)" to="(480,590)"/>
<wire from="(470,470)" to="(470,510)"/>
<wire from="(800,610)" to="(860,610)"/>
<wire from="(840,410)" to="(890,410)"/>
<wire from="(290,330)" to="(290,800)"/>
<wire from="(800,500)" to="(800,560)"/>
<wire from="(480,520)" to="(500,520)"/>
<wire from="(310,770)" to="(480,770)"/>
<wire from="(520,540)" to="(520,550)"/>
<wire from="(340,380)" to="(470,380)"/>
<wire from="(480,590)" to="(500,590)"/>
<wire from="(800,500)" to="(810,500)"/>
<wire from="(420,850)" to="(800,850)"/>
<wire from="(220,380)" to="(220,390)"/>
<wire from="(450,550)" to="(520,550)"/>
<wire from="(380,870)" to="(610,870)"/>
<wire from="(310,780)" to="(340,780)"/>
<wire from="(230,530)" to="(230,870)"/>
<wire from="(580,330)" to="(600,330)"/>
<wire from="(10,660)" to="(310,660)"/>
<wire from="(160,170)" to="(170,170)"/>
<wire from="(170,190)" to="(170,230)"/>
<wire from="(140,420)" to="(140,470)"/>
<wire from="(80,520)" to="(80,530)"/>
<wire from="(200,380)" to="(200,430)"/>
<wire from="(70,570)" to="(190,570)"/>
<wire from="(780,590)" to="(780,770)"/>
<wire from="(570,520)" to="(570,550)"/>
<wire from="(710,350)" to="(720,350)"/>
<wire from="(860,520)" to="(870,520)"/>
<wire from="(680,550)" to="(680,560)"/>
<wire from="(420,790)" to="(420,850)"/>
<wire from="(740,590)" to="(780,590)"/>
<wire from="(620,370)" to="(620,480)"/>
<wire from="(480,470)" to="(480,520)"/>
<wire from="(800,460)" to="(800,500)"/>
<wire from="(900,520)" to="(900,530)"/>
<wire from="(490,460)" to="(600,460)"/>
<wire from="(60,450)" to="(60,460)"/>
<wire from="(40,440)" to="(40,470)"/>
<wire from="(780,580)" to="(780,590)"/>
<wire from="(420,320)" to="(430,320)"/>
<wire from="(160,190)" to="(170,190)"/>
<wire from="(150,440)" to="(170,440)"/>
<wire from="(190,670)" to="(830,670)"/>
<wire from="(60,270)" to="(200,270)"/>
<wire from="(870,550)" to="(980,550)"/>
<wire from="(380,800)" to="(380,870)"/>
<wire from="(530,370)" to="(530,380)"/>
<wire from="(600,480)" to="(600,620)"/>
<wire from="(90,360)" to="(90,430)"/>
<wire from="(40,440)" to="(50,440)"/>
<wire from="(290,320)" to="(420,320)"/>
<wire from="(680,610)" to="(680,620)"/>
<wire from="(600,620)" to="(680,620)"/>
<wire from="(520,610)" to="(520,760)"/>
<wire from="(560,590)" to="(640,590)"/>
<wire from="(620,370)" to="(720,370)"/>
<wire from="(810,400)" to="(810,420)"/>
<wire from="(800,610)" to="(800,850)"/>
<wire from="(850,470)" to="(850,560)"/>
<wire from="(900,520)" to="(910,520)"/>
<wire from="(0,670)" to="(190,670)"/>
<wire from="(480,400)" to="(480,470)"/>
<wire from="(570,550)" to="(570,630)"/>
<wire from="(780,340)" to="(780,360)"/>
<wire from="(170,160)" to="(170,170)"/>
<wire from="(140,500)" to="(210,500)"/>
<wire from="(70,550)" to="(150,550)"/>
<wire from="(210,390)" to="(220,390)"/>
<wire from="(60,370)" to="(120,370)"/>
<wire from="(600,330)" to="(600,460)"/>
<wire from="(710,350)" to="(710,360)"/>
<wire from="(0,380)" to="(0,670)"/>
<wire from="(160,390)" to="(180,390)"/>
<wire from="(810,420)" to="(820,420)"/>
<wire from="(640,540)" to="(660,540)"/>
<wire from="(480,800)" to="(530,800)"/>
<wire from="(310,790)" to="(380,790)"/>
<wire from="(860,520)" to="(860,610)"/>
<wire from="(470,370)" to="(470,380)"/>
<wire from="(430,320)" to="(430,330)"/>
<wire from="(640,600)" to="(660,600)"/>
<wire from="(820,580)" to="(820,660)"/>
<wire from="(710,550)" to="(710,590)"/>
<wire from="(520,380)" to="(530,380)"/>
<wire from="(420,470)" to="(470,470)"/>
<wire from="(10,420)" to="(50,420)"/>
<wire from="(430,350)" to="(430,400)"/>
<wire from="(190,570)" to="(190,670)"/>
<wire from="(100,360)" to="(100,380)"/>
<wire from="(610,360)" to="(710,360)"/>
<wire from="(710,540)" to="(760,540)"/>
<wire from="(750,360)" to="(780,360)"/>
<wire from="(840,560)" to="(850,560)"/>
<wire from="(110,340)" to="(130,340)"/>
<wire from="(270,310)" to="(280,310)"/>
<wire from="(170,160)" to="(180,160)"/>
<wire from="(270,310)" to="(270,340)"/>
<wire from="(430,400)" to="(480,400)"/>
<wire from="(840,380)" to="(840,400)"/>
<wire from="(430,350)" to="(440,350)"/>
<wire from="(80,430)" to="(90,430)"/>
<wire from="(480,770)" to="(780,770)"/>
<wire from="(630,550)" to="(630,580)"/>
<wire from="(490,500)" to="(500,500)"/>
<wire from="(570,810)" to="(610,810)"/>
<wire from="(640,540)" to="(640,590)"/>
<wire from="(830,580)" to="(830,670)"/>
<wire from="(10,230)" to="(10,410)"/>
<wire from="(630,520)" to="(630,550)"/>
<wire from="(610,810)" to="(610,870)"/>
<comp lib="1" loc="(420,790)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="3"/>
</comp>
<comp lib="0" loc="(70,550)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="prog"/>
</comp>
<comp lib="0" loc="(270,340)" name="Splitter">
<a name="incoming" val="16"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="0"/>
<a name="bit8" val="1"/>
<a name="bit9" val="1"/>
<a name="bit10" val="1"/>
<a name="bit11" val="1"/>
<a name="bit12" val="1"/>
<a name="bit13" val="1"/>
<a name="bit14" val="1"/>
<a name="bit15" val="1"/>
</comp>
<comp lib="0" loc="(910,510)" name="Splitter">
<a name="facing" val="west"/>
<a name="appear" val="right"/>
</comp>
<comp lib="1" loc="(240,510)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="4" loc="(110,340)" name="Counter"/>
<comp lib="4" loc="(270,340)" name="RAM">
<a name="dataWidth" val="16"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="1" loc="(920,410)" name="NOT Gate"/>
<comp lib="0" loc="(290,800)" name="Splitter">
<a name="fanout" val="5"/>
<a name="incoming" val="8"/>
<a name="bit1" val="0"/>
<a name="bit2" val="1"/>
<a name="bit3" val="1"/>
<a name="bit4" val="2"/>
<a name="bit5" val="2"/>
<a name="bit6" val="3"/>
<a name="bit7" val="4"/>
</comp>
<comp lib="0" loc="(940,510)" name="Splitter"/>
<comp lib="1" loc="(210,390)" name="NOT Gate"/>
<comp lib="2" loc="(750,360)" name="Multiplexer">
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(160,150)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="Opcode"/>
</comp>
<comp lib="0" loc="(200,170)" name="Splitter">
<a name="facing" val="west"/>
<a name="incoming" val="16"/>
<a name="appear" val="right"/>
<a name="bit0" val="1"/>
<a name="bit2" val="1"/>
<a name="bit3" val="1"/>
<a name="bit4" val="1"/>
<a name="bit5" val="1"/>
<a name="bit6" val="1"/>
<a name="bit7" val="1"/>
<a name="bit8" val="0"/>
<a name="bit9" val="0"/>
<a name="bit10" val="0"/>
<a name="bit11" val="0"/>
<a name="bit12" val="0"/>
<a name="bit13" val="0"/>
<a name="bit14" val="0"/>
<a name="bit15" val="0"/>
</comp>
<comp lib="2" loc="(800,560)" name="Multiplexer">
<a name="select" val="2"/>
<a name="width" val="8"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(560,520)" name="Pull Resistor"/>
<comp lib="3" loc="(570,810)" name="Comparator">
<a name="width" val="2"/>
<a name="mode" val="unsigned"/>
</comp>
<comp lib="4" loc="(840,560)" name="Register"/>
<comp lib="0" loc="(70,570)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="reset"/>
</comp>
<comp lib="4" loc="(940,510)" name="Register">
<a name="width" val="2"/>
</comp>
<comp lib="3" loc="(700,530)" name="Adder"/>
<comp lib="0" loc="(70,490)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="clk"/>
</comp>
<comp lib="1" loc="(270,520)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="4" loc="(580,330)" name="RAM">
<a name="bus" val="separate"/>
</comp>
<comp lib="0" loc="(70,510)" name="Clock"/>
<comp lib="0" loc="(160,190)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="str"/>
</comp>
<comp lib="0" loc="(70,530)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="m/a"/>
</comp>
<comp lib="1" loc="(200,430)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(560,590)" name="Pull Resistor"/>
<comp lib="0" loc="(820,420)" name="Splitter"/>
<comp lib="1" loc="(520,380)" name="NOT Gate"/>
<comp lib="2" loc="(540,590)" name="Multiplexer">
<a name="select" val="2"/>
<a name="width" val="8"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(530,820)" name="Constant">
<a name="width" val="2"/>
<a name="value" val="0x3"/>
</comp>
<comp lib="2" loc="(80,430)" name="Multiplexer">
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(160,170)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="Addr"/>
</comp>
<comp lib="3" loc="(700,590)" name="Subtractor"/>
<comp lib="2" loc="(100,500)" name="Multiplexer">
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="1" loc="(900,530)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(800,460)" name="Pull Resistor"/>
<comp lib="0" loc="(280,310)" name="Pull Resistor"/>
<comp lib="2" loc="(540,520)" name="Multiplexer">
<a name="select" val="2"/>
<a name="width" val="8"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp loc="(840,500)" name="Zero?"/>
</circuit>
<circuit name="Zero?">
<a name="circuit" val="Zero?"/>
<a name="clabel" val="Z"/>
<a name="clabelup" val="north"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<appear>
<path d="M61,58 Q65,68 69,58" fill="none" stroke="#808080" stroke-width="2"/>
<rect fill="none" height="23" stroke="#000000" stroke-width="2" width="31" x="50" y="57"/>
<circ-port height="8" pin="370,360" width="8" x="46" y="66"/>
<circ-port height="10" pin="490,320" width="10" x="75" y="65"/>
<circ-anchor facing="east" height="6" width="6" x="77" y="67"/>
</appear>
<wire from="(400,350)" to="(400,360)"/>
<wire from="(390,340)" to="(410,340)"/>
<wire from="(420,330)" to="(420,340)"/>
<wire from="(410,340)" to="(410,350)"/>
<wire from="(420,340)" to="(430,340)"/>
<wire from="(390,300)" to="(430,300)"/>
<wire from="(410,350)" to="(430,350)"/>
<wire from="(390,330)" to="(420,330)"/>
<wire from="(400,360)" to="(430,360)"/>
<wire from="(390,280)" to="(430,280)"/>
<wire from="(390,320)" to="(430,320)"/>
<wire from="(430,320)" to="(430,330)"/>
<wire from="(390,310)" to="(430,310)"/>
<wire from="(390,290)" to="(430,290)"/>
<wire from="(390,350)" to="(400,350)"/>
<comp lib="0" loc="(370,360)" name="Splitter">
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
</comp>
<comp lib="1" loc="(490,320)" name="NOR Gate">
<a name="inputs" val="8"/>
</comp>
<comp lib="0" loc="(370,360)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="In"/>
</comp>
<comp lib="0" loc="(490,320)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Zero?"/>
<a name="labelloc" val="east"/>
</comp>
</circuit>
</project>

View File

@ -1,15 +0,0 @@
Opcode format:
Bits 0-1:A select
Bits 2-3:B select
Bits 4-5:Op select
Bit 6:Store
Bit 7:Jump
A/B select:
00-Memory
01-Immediate
10-Result
Op select:
00-Add
01-Sub
10-Pass through A sel to R
11-Halt

View File

@ -1,13 +0,0 @@
00=Memory to Register A
01=Memory to Register B
02=Memory to Register C
03=Memory to Register D
04=Immediate to Register A
05=Immediate to Register B
06=Immediate to Register C
07=Immediate to Register D
12x-Add Register x[2-3] to Register x[0-1]
13x-Subtract Register x[2-3] from Register x[0-1]
14x-And Register x[2-3] with Register x[0-1]
15x-Or Register x[2-3] with Register x[0-1]
16x-Or Register x[2-3] with Register x[0-1] w/o storing result??????

View File

@ -1,2 +0,0 @@
v2.0 raw
0 1 2 10000

View File

@ -1,2 +0,0 @@
v2.0 raw
10000 20001 30002

View File

@ -1,6 +0,0 @@
1-ldx
2-ldy
3-add
4-sub
5-immload
6-halt

View File

@ -1,654 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<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="west"/>
<a name="fanout" val="3"/>
<a name="incoming" val="3"/>
</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="radix" val="16"/>
<a name="label" val="out"/>
<a name="labelloc" val="east"/>
</tool>
<tool name="Tunnel">
<a name="label" val="riv"/>
</tool>
<tool name="Pull Resistor">
<a name="facing" val="north"/>
</tool>
<tool name="Constant">
<a name="facing" val="north"/>
<a name="value" val="0x0"/>
</tool>
</lib>
<lib desc="#Gates" name="1">
<tool name="NAND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
</lib>
<lib desc="#Plexers" name="2">
<tool name="Multiplexer">
<a name="select" val="2"/>
<a name="width" val="8"/>
</tool>
</lib>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4">
<tool name="ROM">
<a name="dataWidth" val="16"/>
<a name="contents">addr/data: 8 16
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="Ctrl Button1" name="Menu Tool"/>
<tool lib="6" map="Button3" name="Menu Tool"/>
<tool lib="6" map="Button2" 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"/>
<a name="label" val="execute"/>
<a name="labelloc" val="south"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="north"/>
<a name="output" val="true"/>
<a name="label" val="LAR1"/>
<a name="labelloc" val="east"/>
</tool>
<tool lib="1" name="NOT Gate">
<a name="facing" val="north"/>
</tool>
<tool lib="1" name="AND Gate">
<a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</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="(790,430)" to="(790,490)"/>
<wire from="(90,770)" to="(660,770)"/>
<wire from="(630,710)" to="(650,710)"/>
<wire from="(880,520)" to="(900,520)"/>
<wire from="(930,600)" to="(940,600)"/>
<wire from="(880,600)" to="(900,600)"/>
<wire from="(440,430)" to="(450,430)"/>
<wire from="(910,180)" to="(910,260)"/>
<wire from="(690,180)" to="(690,320)"/>
<wire from="(870,630)" to="(910,630)"/>
<wire from="(150,260)" to="(150,440)"/>
<wire from="(1030,530)" to="(1030,560)"/>
<wire from="(830,460)" to="(830,560)"/>
<wire from="(970,270)" to="(1020,270)"/>
<wire from="(890,610)" to="(900,610)"/>
<wire from="(840,550)" to="(890,550)"/>
<wire from="(30,460)" to="(30,490)"/>
<wire from="(810,410)" to="(820,410)"/>
<wire from="(120,440)" to="(130,440)"/>
<wire from="(850,430)" to="(1040,430)"/>
<wire from="(90,450)" to="(90,560)"/>
<wire from="(220,590)" to="(240,590)"/>
<wire from="(890,530)" to="(900,530)"/>
<wire from="(240,560)" to="(830,560)"/>
<wire from="(90,580)" to="(90,770)"/>
<wire from="(970,270)" to="(970,440)"/>
<wire from="(700,660)" to="(1090,660)"/>
<wire from="(680,740)" to="(820,740)"/>
<wire from="(80,450)" to="(90,450)"/>
<wire from="(820,610)" to="(880,610)"/>
<wire from="(880,520)" to="(880,600)"/>
<wire from="(700,400)" to="(700,660)"/>
<wire from="(630,650)" to="(630,710)"/>
<wire from="(730,150)" to="(730,340)"/>
<wire from="(680,360)" to="(690,360)"/>
<wire from="(450,470)" to="(470,470)"/>
<wire from="(70,490)" to="(180,490)"/>
<wire from="(40,370)" to="(40,440)"/>
<wire from="(700,390)" to="(710,390)"/>
<wire from="(730,150)" to="(1140,150)"/>
<wire from="(680,400)" to="(700,400)"/>
<wire from="(760,380)" to="(760,410)"/>
<wire from="(680,280)" to="(680,320)"/>
<wire from="(40,370)" to="(120,370)"/>
<wire from="(190,440)" to="(280,440)"/>
<wire from="(880,650)" to="(1050,650)"/>
<wire from="(320,490)" to="(790,490)"/>
<wire from="(1090,570)" to="(1090,660)"/>
<wire from="(680,380)" to="(680,400)"/>
<wire from="(320,490)" to="(320,720)"/>
<wire from="(470,470)" to="(470,540)"/>
<wire from="(1030,580)" to="(1040,580)"/>
<wire from="(660,750)" to="(660,770)"/>
<wire from="(950,520)" to="(950,600)"/>
<wire from="(1000,530)" to="(1030,530)"/>
<wire from="(710,390)" to="(710,690)"/>
<wire from="(1040,280)" to="(1040,430)"/>
<wire from="(1000,610)" to="(1030,610)"/>
<wire from="(760,410)" to="(780,410)"/>
<wire from="(130,430)" to="(130,440)"/>
<wire from="(920,620)" to="(920,640)"/>
<wire from="(870,570)" to="(870,600)"/>
<wire from="(30,490)" to="(40,490)"/>
<wire from="(910,260)" to="(1020,260)"/>
<wire from="(850,640)" to="(920,640)"/>
<wire from="(680,320)" to="(690,320)"/>
<wire from="(930,520)" to="(950,520)"/>
<wire from="(180,780)" to="(670,780)"/>
<wire from="(1070,570)" to="(1090,570)"/>
<wire from="(910,620)" to="(910,630)"/>
<wire from="(30,400)" to="(30,460)"/>
<wire from="(860,580)" to="(890,580)"/>
<wire from="(830,460)" to="(1030,460)"/>
<wire from="(670,750)" to="(670,780)"/>
<wire from="(840,550)" to="(840,720)"/>
<wire from="(680,720)" to="(840,720)"/>
<wire from="(480,430)" to="(490,430)"/>
<wire from="(150,450)" to="(150,570)"/>
<wire from="(820,610)" to="(820,740)"/>
<wire from="(490,440)" to="(500,440)"/>
<wire from="(690,180)" to="(910,180)"/>
<wire from="(680,700)" to="(760,700)"/>
<wire from="(490,430)" to="(490,440)"/>
<wire from="(790,430)" to="(850,430)"/>
<wire from="(180,490)" to="(320,490)"/>
<wire from="(420,440)" to="(420,450)"/>
<wire from="(870,570)" to="(910,570)"/>
<wire from="(680,710)" to="(800,710)"/>
<wire from="(170,560)" to="(240,560)"/>
<wire from="(880,340)" to="(880,520)"/>
<wire from="(870,600)" to="(870,630)"/>
<wire from="(130,540)" to="(470,540)"/>
<wire from="(130,440)" to="(130,540)"/>
<wire from="(680,440)" to="(680,650)"/>
<wire from="(240,560)" to="(240,590)"/>
<wire from="(460,260)" to="(460,430)"/>
<wire from="(820,380)" to="(820,410)"/>
<wire from="(150,260)" to="(460,260)"/>
<wire from="(450,430)" to="(450,470)"/>
<wire from="(630,650)" to="(680,650)"/>
<wire from="(850,560)" to="(850,640)"/>
<wire from="(1030,560)" to="(1040,560)"/>
<wire from="(940,540)" to="(960,540)"/>
<wire from="(870,340)" to="(880,340)"/>
<wire from="(800,440)" to="(970,440)"/>
<wire from="(680,380)" to="(690,380)"/>
<wire from="(830,560)" to="(830,600)"/>
<wire from="(130,430)" to="(160,430)"/>
<wire from="(940,540)" to="(940,600)"/>
<wire from="(880,610)" to="(880,650)"/>
<wire from="(470,460)" to="(470,470)"/>
<wire from="(680,730)" to="(860,730)"/>
<wire from="(720,360)" to="(730,360)"/>
<wire from="(920,540)" to="(920,560)"/>
<wire from="(940,620)" to="(960,620)"/>
<wire from="(180,600)" to="(180,780)"/>
<wire from="(1050,260)" to="(1140,260)"/>
<wire from="(760,410)" to="(760,700)"/>
<wire from="(850,430)" to="(850,560)"/>
<wire from="(20,400)" to="(30,400)"/>
<wire from="(120,370)" to="(120,440)"/>
<wire from="(320,720)" to="(650,720)"/>
<wire from="(1030,580)" to="(1030,610)"/>
<wire from="(850,560)" to="(920,560)"/>
<wire from="(950,520)" to="(960,520)"/>
<wire from="(950,600)" to="(960,600)"/>
<wire from="(830,600)" to="(870,600)"/>
<wire from="(170,460)" to="(170,560)"/>
<wire from="(120,570)" to="(150,570)"/>
<wire from="(890,530)" to="(890,550)"/>
<wire from="(860,580)" to="(860,730)"/>
<wire from="(800,440)" to="(800,710)"/>
<wire from="(1050,590)" to="(1050,650)"/>
<wire from="(150,440)" to="(160,440)"/>
<wire from="(910,540)" to="(910,570)"/>
<wire from="(150,450)" to="(160,450)"/>
<wire from="(1140,150)" to="(1140,260)"/>
<wire from="(180,460)" to="(180,490)"/>
<wire from="(940,600)" to="(940,620)"/>
<wire from="(1030,280)" to="(1030,460)"/>
<wire from="(720,360)" to="(720,370)"/>
<wire from="(890,580)" to="(890,610)"/>
<wire from="(680,690)" to="(710,690)"/>
<comp lib="3" loc="(1000,610)" name="Subtractor"/>
<comp loc="(680,690)" name="Ins dec"/>
<comp lib="0" loc="(680,280)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="4" loc="(1050,260)" name="Register"/>
<comp lib="1" loc="(120,570)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(680,360)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="2" loc="(1070,570)" name="Multiplexer">
<a name="width" val="8"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(460,430)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="16"/>
<a name="incoming" val="16"/>
<a name="appear" val="right"/>
</comp>
<comp lib="4" loc="(640,440)" name="RAM">
<a name="addrWidth" val="16"/>
<a name="dataWidth" val="24"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="4" loc="(190,440)" name="Counter">
<a name="width" val="16"/>
<a name="max" val="0xffff"/>
</comp>
<comp lib="1" loc="(80,450)" name="NOR Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="0" loc="(20,400)" name="Pin">
<a name="tristate" val="false"/>
</comp>
<comp lib="4" loc="(930,520)" name="Register"/>
<comp lib="0" loc="(370,480)" name="Constant">
<a name="facing" val="north"/>
</comp>
<comp lib="2" loc="(720,370)" name="Multiplexer">
<a name="width" val="8"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="1" loc="(220,590)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="1" loc="(70,490)" name="NOT Gate"/>
<comp lib="4" loc="(420,440)" name="RAM">
<a name="addrWidth" val="16"/>
<a name="dataWidth" val="17"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="0" loc="(640,440)" name="Splitter">
<a name="fanout" val="24"/>
<a name="incoming" val="24"/>
</comp>
<comp lib="0" loc="(420,440)" name="Splitter">
<a name="fanout" val="17"/>
<a name="incoming" val="17"/>
</comp>
<comp lib="4" loc="(930,600)" name="Register"/>
<comp lib="3" loc="(1000,530)" name="Adder"/>
<comp lib="0" loc="(530,480)" name="Constant">
<a name="facing" val="north"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="0" loc="(310,480)" name="Constant">
<a name="facing" val="north"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="1" loc="(470,440)" name="NOT Gate">
<a name="facing" val="north"/>
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(800,380)" name="Clock">
<a name="facing" val="north"/>
</comp>
<comp lib="1" loc="(480,430)" name="Controlled Buffer">
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(810,410)" name="NOT Gate"/>
<comp lib="0" loc="(680,440)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="8"/>
<a name="incoming" val="8"/>
<a name="appear" val="right"/>
</comp>
<comp lib="0" loc="(190,580)" name="Clock"/>
<comp lib="0" loc="(480,430)" name="Pull Resistor"/>
<comp lib="4" loc="(870,340)" name="RAM">
<a name="bus" val="separate"/>
</comp>
<comp lib="0" loc="(590,480)" name="Constant">
<a name="facing" val="north"/>
</comp>
</circuit>
<circuit name="Ins dec">
<a name="circuit" val="Ins dec"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(580,340)" to="(580,630)"/>
<wire from="(560,360)" to="(560,680)"/>
<wire from="(190,360)" to="(190,380)"/>
<wire from="(190,360)" to="(220,360)"/>
<wire from="(830,130)" to="(830,190)"/>
<wire from="(610,130)" to="(720,130)"/>
<wire from="(320,560)" to="(330,560)"/>
<wire from="(520,300)" to="(620,300)"/>
<wire from="(780,200)" to="(790,200)"/>
<wire from="(220,440)" to="(270,440)"/>
<wire from="(150,600)" to="(420,600)"/>
<wire from="(200,450)" to="(200,470)"/>
<wire from="(670,200)" to="(680,200)"/>
<wire from="(890,170)" to="(890,200)"/>
<wire from="(910,180)" to="(910,210)"/>
<wire from="(490,90)" to="(920,90)"/>
<wire from="(270,380)" to="(290,380)"/>
<wire from="(540,240)" to="(560,240)"/>
<wire from="(540,440)" to="(540,700)"/>
<wire from="(920,90)" to="(920,120)"/>
<wire from="(120,100)" to="(460,100)"/>
<wire from="(300,390)" to="(300,470)"/>
<wire from="(1060,220)" to="(1060,350)"/>
<wire from="(490,680)" to="(490,690)"/>
<wire from="(520,360)" to="(560,360)"/>
<wire from="(470,680)" to="(490,680)"/>
<wire from="(980,180)" to="(980,230)"/>
<wire from="(610,540)" to="(660,540)"/>
<wire from="(620,510)" to="(660,510)"/>
<wire from="(200,370)" to="(220,370)"/>
<wire from="(1040,220)" to="(1060,220)"/>
<wire from="(630,480)" to="(660,480)"/>
<wire from="(210,500)" to="(310,500)"/>
<wire from="(40,240)" to="(220,240)"/>
<wire from="(930,260)" to="(1010,260)"/>
<wire from="(170,410)" to="(200,410)"/>
<wire from="(340,330)" to="(340,370)"/>
<wire from="(520,340)" to="(580,340)"/>
<wire from="(140,330)" to="(140,370)"/>
<wire from="(900,120)" to="(920,120)"/>
<wire from="(340,370)" to="(360,370)"/>
<wire from="(580,630)" to="(660,630)"/>
<wire from="(260,560)" to="(280,560)"/>
<wire from="(330,510)" to="(330,560)"/>
<wire from="(670,350)" to="(670,440)"/>
<wire from="(630,290)" to="(630,480)"/>
<wire from="(140,370)" to="(150,370)"/>
<wire from="(930,120)" to="(930,260)"/>
<wire from="(140,330)" to="(340,330)"/>
<wire from="(240,390)" to="(240,460)"/>
<wire from="(590,330)" to="(590,600)"/>
<wire from="(220,240)" to="(220,260)"/>
<wire from="(610,190)" to="(630,190)"/>
<wire from="(530,700)" to="(540,700)"/>
<wire from="(270,440)" to="(540,440)"/>
<wire from="(800,120)" to="(800,140)"/>
<wire from="(830,190)" to="(840,190)"/>
<wire from="(620,300)" to="(620,510)"/>
<wire from="(310,500)" to="(420,500)"/>
<wire from="(270,380)" to="(270,440)"/>
<wire from="(420,500)" to="(420,600)"/>
<wire from="(610,310)" to="(610,540)"/>
<wire from="(560,190)" to="(560,240)"/>
<wire from="(200,370)" to="(200,410)"/>
<wire from="(520,330)" to="(590,330)"/>
<wire from="(680,170)" to="(680,200)"/>
<wire from="(120,100)" to="(120,110)"/>
<wire from="(720,130)" to="(830,130)"/>
<wire from="(120,120)" to="(800,120)"/>
<wire from="(520,680)" to="(560,680)"/>
<wire from="(900,120)" to="(900,140)"/>
<wire from="(100,460)" to="(240,460)"/>
<wire from="(40,470)" to="(200,470)"/>
<wire from="(570,660)" to="(660,660)"/>
<wire from="(810,180)" to="(810,210)"/>
<wire from="(210,450)" to="(210,500)"/>
<wire from="(560,190)" to="(610,190)"/>
<wire from="(1060,180)" to="(1060,220)"/>
<wire from="(520,310)" to="(610,310)"/>
<wire from="(170,510)" to="(330,510)"/>
<wire from="(470,680)" to="(470,690)"/>
<wire from="(1030,250)" to="(1030,420)"/>
<wire from="(720,190)" to="(740,190)"/>
<wire from="(980,180)" to="(1060,180)"/>
<wire from="(880,210)" to="(910,210)"/>
<wire from="(690,110)" to="(690,140)"/>
<wire from="(200,470)" to="(300,470)"/>
<wire from="(310,390)" to="(310,500)"/>
<wire from="(670,210)" to="(700,210)"/>
<wire from="(1010,250)" to="(1010,260)"/>
<wire from="(790,170)" to="(790,200)"/>
<wire from="(780,210)" to="(810,210)"/>
<wire from="(520,350)" to="(570,350)"/>
<wire from="(600,320)" to="(600,570)"/>
<wire from="(700,180)" to="(700,210)"/>
<wire from="(920,120)" to="(930,120)"/>
<wire from="(420,420)" to="(420,500)"/>
<wire from="(420,420)" to="(1030,420)"/>
<wire from="(100,130)" to="(100,460)"/>
<wire from="(720,130)" to="(720,190)"/>
<wire from="(600,570)" to="(660,570)"/>
<wire from="(670,350)" to="(1060,350)"/>
<wire from="(490,110)" to="(690,110)"/>
<wire from="(610,130)" to="(610,190)"/>
<wire from="(180,230)" to="(180,270)"/>
<wire from="(570,350)" to="(570,660)"/>
<wire from="(40,240)" to="(40,470)"/>
<wire from="(170,410)" to="(170,510)"/>
<wire from="(260,370)" to="(290,370)"/>
<wire from="(520,290)" to="(630,290)"/>
<wire from="(880,200)" to="(890,200)"/>
<wire from="(520,320)" to="(600,320)"/>
<wire from="(180,230)" to="(980,230)"/>
<wire from="(590,600)" to="(660,600)"/>
<wire from="(320,370)" to="(340,370)"/>
<comp lib="0" loc="(660,510)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Store"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="3" loc="(190,380)" name="Adder">
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(500,370)" name="ROM">
<a name="addrWidth" val="16"/>
<a name="dataWidth" val="12"/>
<a name="contents">addr/data: 16 12
2 0 0 0 41 900 0 0
41 a00 0 0 41 830 0 0
41 c30 0 0 41 820 0 0
3
</a>
</comp>
<comp lib="1" loc="(900,140)" name="AND Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="0" loc="(470,690)" name="Pin">
<a name="facing" val="north"/>
<a name="output" val="true"/>
<a name="tristate" val="false"/>
<a name="label" val="cnt"/>
<a name="labelloc" val="south"/>
</comp>
<comp lib="0" loc="(660,600)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="LXR"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(490,690)" name="AND Gate">
<a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="4" loc="(1040,220)" name="D Flip-Flop"/>
<comp lib="3" loc="(880,200)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="3" loc="(670,200)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(320,560)" name="Bit Extender"/>
<comp lib="1" loc="(690,140)" name="AND Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="4" loc="(320,370)" name="Register">
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(220,550)" name="Constant">
<a name="width" val="8"/>
<a name="value" val="0x4"/>
</comp>
<comp lib="2" loc="(260,370)" name="Multiplexer">
<a name="select" val="2"/>
<a name="width" val="16"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="1" loc="(460,100)" name="OR Gate">
<a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(630,210)" name="Constant">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(660,480)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="Data in sel"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(150,600)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="execute"/>
</comp>
<comp lib="3" loc="(260,560)" name="Multiplier"/>
<comp lib="0" loc="(220,350)" name="Constant">
<a name="width" val="16"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="0" loc="(100,130)" name="Splitter"/>
<comp lib="3" loc="(780,200)" name="Comparator">
<a name="width" val="4"/>
</comp>
<comp lib="0" loc="(540,240)" name="Splitter">
<a name="facing" val="west"/>
<a name="fanout" val="4"/>
<a name="incoming" val="4"/>
</comp>
<comp lib="0" loc="(150,390)" name="Constant">
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(660,630)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="LYR"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(220,430)" name="Counter">
<a name="width" val="2"/>
<a name="max" val="0x1"/>
</comp>
<comp lib="1" loc="(800,140)" name="AND Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="0" loc="(670,440)" name="Pin">
<a name="facing" val="north"/>
<a name="output" val="true"/>
<a name="label" val="HLT"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="6" loc="(139,714)" name="Text">
<a name="text" val="Nibble 1-jdest nibbles 2-3 contsignals"/>
</comp>
<comp lib="0" loc="(500,370)" name="Splitter">
<a name="fanout" val="12"/>
<a name="incoming" val="12"/>
</comp>
<comp lib="0" loc="(660,570)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="ARS"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="0" loc="(220,570)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="label" val="ins"/>
</comp>
<comp lib="0" loc="(660,660)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="label" val="A/SS"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(220,260)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
<a name="negate1" val="true"/>
</comp>
<comp lib="0" loc="(740,210)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x2"/>
</comp>
<comp lib="0" loc="(190,250)" name="Clock"/>
<comp lib="0" loc="(840,210)" name="Constant">
<a name="width" val="4"/>
<a name="value" val="0x3"/>
</comp>
</circuit>
</project>