logisim-stuff/TKStackPointers.circ
2015-12-06 13:58:28 -06:00

350 lines
12 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="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="facing" val="west"/>
<a name="radix" val="16"/>
<a name="label" val="rdov"/>
<a name="labelloc" val="east"/>
</tool>
<tool name="Tunnel">
<a name="label" val="riv"/>
</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>
</lib>
<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"/>
<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="(350,150)" to="(350,180)"/>
<wire from="(650,190)" to="(660,190)"/>
<wire from="(300,480)" to="(310,480)"/>
<wire from="(720,50)" to="(720,170)"/>
<wire from="(180,190)" to="(180,280)"/>
<wire from="(200,260)" to="(220,260)"/>
<wire from="(180,480)" to="(260,480)"/>
<wire from="(170,460)" to="(180,460)"/>
<wire from="(200,510)" to="(840,510)"/>
<wire from="(820,390)" to="(880,390)"/>
<wire from="(170,460)" to="(170,500)"/>
<wire from="(840,410)" to="(840,510)"/>
<wire from="(290,160)" to="(290,170)"/>
<wire from="(160,540)" to="(310,540)"/>
<wire from="(240,370)" to="(340,370)"/>
<wire from="(590,490)" to="(590,650)"/>
<wire from="(790,370)" to="(790,390)"/>
<wire from="(620,220)" to="(650,220)"/>
<wire from="(680,170)" to="(720,170)"/>
<wire from="(210,600)" to="(210,760)"/>
<wire from="(240,240)" to="(240,370)"/>
<wire from="(480,470)" to="(480,600)"/>
<wire from="(270,180)" to="(270,220)"/>
<wire from="(420,220)" to="(420,420)"/>
<wire from="(310,480)" to="(310,540)"/>
<wire from="(650,190)" to="(650,220)"/>
<wire from="(460,670)" to="(460,730)"/>
<wire from="(400,730)" to="(440,730)"/>
<wire from="(160,300)" to="(290,300)"/>
<wire from="(350,270)" to="(360,270)"/>
<wire from="(200,270)" to="(200,510)"/>
<wire from="(290,150)" to="(290,160)"/>
<wire from="(220,420)" to="(420,420)"/>
<wire from="(570,110)" to="(570,360)"/>
<wire from="(460,730)" to="(520,730)"/>
<wire from="(300,270)" to="(320,270)"/>
<wire from="(300,280)" to="(340,280)"/>
<wire from="(400,110)" to="(570,110)"/>
<wire from="(960,440)" to="(970,440)"/>
<wire from="(360,580)" to="(550,580)"/>
<wire from="(200,170)" to="(200,260)"/>
<wire from="(210,170)" to="(210,600)"/>
<wire from="(620,220)" to="(620,430)"/>
<wire from="(220,110)" to="(220,180)"/>
<wire from="(650,80)" to="(650,170)"/>
<wire from="(140,120)" to="(140,190)"/>
<wire from="(570,360)" to="(710,360)"/>
<wire from="(160,210)" to="(230,210)"/>
<wire from="(530,670)" to="(550,670)"/>
<wire from="(440,730)" to="(440,740)"/>
<wire from="(160,450)" to="(160,470)"/>
<wire from="(160,500)" to="(170,500)"/>
<wire from="(160,280)" to="(180,280)"/>
<wire from="(170,250)" to="(170,270)"/>
<wire from="(910,440)" to="(930,440)"/>
<wire from="(570,430)" to="(620,430)"/>
<wire from="(910,500)" to="(910,760)"/>
<wire from="(910,440)" to="(910,500)"/>
<wire from="(410,760)" to="(910,760)"/>
<wire from="(160,250)" to="(170,250)"/>
<wire from="(220,260)" to="(220,270)"/>
<wire from="(220,420)" to="(220,470)"/>
<wire from="(550,670)" to="(550,720)"/>
<wire from="(530,650)" to="(590,650)"/>
<wire from="(160,470)" to="(220,470)"/>
<wire from="(260,460)" to="(260,480)"/>
<wire from="(220,110)" to="(260,110)"/>
<wire from="(300,270)" to="(300,280)"/>
<wire from="(650,80)" to="(1030,80)"/>
<wire from="(410,220)" to="(420,220)"/>
<wire from="(320,460)" to="(340,460)"/>
<wire from="(300,260)" to="(300,270)"/>
<wire from="(340,370)" to="(340,460)"/>
<wire from="(790,390)" to="(820,390)"/>
<wire from="(190,50)" to="(190,230)"/>
<wire from="(340,260)" to="(340,280)"/>
<wire from="(260,220)" to="(270,220)"/>
<wire from="(440,740)" to="(550,740)"/>
<wire from="(120,110)" to="(120,170)"/>
<wire from="(480,470)" to="(590,470)"/>
<wire from="(190,50)" to="(720,50)"/>
<wire from="(550,180)" to="(550,580)"/>
<wire from="(740,370)" to="(790,370)"/>
<wire from="(220,270)" to="(300,270)"/>
<wire from="(160,520)" to="(320,520)"/>
<wire from="(220,180)" to="(270,180)"/>
<wire from="(720,480)" to="(720,500)"/>
<wire from="(360,260)" to="(360,270)"/>
<wire from="(290,280)" to="(300,280)"/>
<wire from="(300,460)" to="(320,460)"/>
<wire from="(120,170)" to="(200,170)"/>
<wire from="(320,460)" to="(320,520)"/>
<wire from="(340,460)" to="(570,460)"/>
<wire from="(650,180)" to="(650,190)"/>
<wire from="(460,670)" to="(490,670)"/>
<wire from="(210,170)" to="(290,170)"/>
<wire from="(210,760)" to="(390,760)"/>
<wire from="(210,80)" to="(210,170)"/>
<wire from="(570,430)" to="(570,460)"/>
<wire from="(360,270)" to="(360,580)"/>
<wire from="(1030,80)" to="(1030,390)"/>
<wire from="(1020,390)" to="(1030,390)"/>
<wire from="(910,430)" to="(910,440)"/>
<wire from="(330,150)" to="(330,160)"/>
<wire from="(970,430)" to="(970,440)"/>
<wire from="(290,160)" to="(330,160)"/>
<wire from="(210,600)" to="(480,600)"/>
<wire from="(180,460)" to="(180,480)"/>
<wire from="(350,180)" to="(550,180)"/>
<wire from="(270,400)" to="(370,400)"/>
<wire from="(620,480)" to="(720,480)"/>
<wire from="(130,80)" to="(210,80)"/>
<wire from="(840,410)" to="(880,410)"/>
<wire from="(720,500)" to="(910,500)"/>
<wire from="(190,230)" to="(230,230)"/>
<wire from="(290,280)" to="(290,300)"/>
<wire from="(170,270)" to="(200,270)"/>
<wire from="(140,190)" to="(180,190)"/>
<wire from="(720,390)" to="(720,480)"/>
<comp lib="0" loc="(160,280)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="pointer not used"/>
</comp>
<comp lib="5" loc="(160,520)" name="LED">
<a name="facing" val="east"/>
<a name="color" val="#00ff00"/>
<a name="offcolor" val="#ff0000"/>
<a name="label" val="at pointer"/>
<a name="labelloc" val="west"/>
</comp>
<comp lib="0" loc="(820,390)" name="Tunnel">
<a name="facing" val="north"/>
<a name="width" val="8"/>
<a name="label" val="sel"/>
</comp>
<comp lib="0" loc="(160,250)" name="Pin">
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="ponter addr"/>
</comp>
<comp lib="2" loc="(740,370)" name="Multiplexer">
<a name="width" val="8"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="1" loc="(960,440)" name="NOT Gate"/>
<comp lib="4" loc="(410,220)" name="RAM">
<a name="addrWidth" val="16"/>
<a name="dataWidth" val="32"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="1" loc="(620,480)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="6" loc="(949,343)" name="Text">
<a name="text" val="Pointers"/>
</comp>
<comp lib="1" loc="(130,80)" 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="5" loc="(160,540)" name="LED">
<a name="facing" val="east"/>
<a name="color" val="#00ff00"/>
<a name="offcolor" val="#ff0000"/>
<a name="label" val="not at pointer"/>
<a name="labelloc" val="west"/>
</comp>
<comp lib="0" loc="(160,370)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="dat"/>
</comp>
<comp lib="0" loc="(950,430)" name="Clock">
<a name="facing" val="north"/>
</comp>
<comp lib="0" loc="(270,240)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="dat"/>
</comp>
<comp lib="4" loc="(1020,390)" name="RAM">
<a name="dataWidth" val="16"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="0" loc="(160,210)" name="Pin">
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="addr"/>
</comp>
<comp lib="6" loc="(320,170)" name="Text">
<a name="text" val="Main RAM"/>
</comp>
<comp lib="0" loc="(160,320)" name="Tunnel">
<a name="width" val="8"/>
<a name="label" val="point"/>
</comp>
<comp lib="5" loc="(160,500)" name="Button">
<a name="label" val="change to/from pointer"/>
<a name="labelloc" val="west"/>
</comp>
<comp lib="0" loc="(160,320)" name="Pin">
<a name="width" val="8"/>
<a name="tristate" val="false"/>
<a name="pull" val="down"/>
<a name="label" val="Pointer"/>
</comp>
<comp lib="6" loc="(341,59)" name="Text">
<a name="text" val="Pointer RAM"/>
</comp>
<comp lib="5" loc="(160,300)" name="Button">
<a name="label" val="store"/>
<a name="labelloc" val="west"/>
</comp>
<comp lib="4" loc="(680,170)" name="Register">
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(520,730)" name="AND Gate">
<a name="facing" val="west"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(490,650)" name="Clock"/>
<comp lib="4" loc="(300,460)" name="T Flip-Flop"/>
<comp lib="4" loc="(530,650)" name="D Flip-Flop"/>
<comp lib="4" loc="(400,110)" name="RAM">
<a name="addrWidth" val="16"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="1" loc="(400,730)" name="OR Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(260,130)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="8"/>
<a name="label" val="point"/>
</comp>
<comp lib="2" loc="(260,220)" name="Multiplexer">
<a name="width" val="16"/>
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(160,370)" name="Pin">
<a name="width" val="32"/>
<a name="tristate" val="false"/>
<a name="label" val="data"/>
</comp>
<comp lib="0" loc="(160,450)" name="Pin">
<a name="output" val="true"/>
<a name="width" val="32"/>
<a name="label" val="data out"/>
</comp>
<comp lib="0" loc="(710,380)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="8"/>
<a name="label" val="point"/>
</comp>
<comp lib="1" loc="(350,270)" name="NOT Gate"/>
</circuit>
</project>