logisim-stuff/logisim/forth.circ
2019-06-23 10:38:11 -05:00

186 lines
6.2 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="2.7.1" version="1.0">
This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<lib desc="#Wiring" name="0">
<tool name="Splitter">
<a name="fanout" val="24"/>
<a name="incoming" val="24"/>
</tool>
<tool name="Pin">
<a name="tristate" val="false"/>
<a name="pull" val="down"/>
<a name="label" val="View"/>
</tool>
<tool name="Probe">
<a name="facing" val="west"/>
<a name="radix" val="16"/>
<a name="label" val="rdov"/>
<a name="labelloc" val="east"/>
</tool>
<tool name="Tunnel">
<a name="label" val="pop"/>
</tool>
<tool name="Pull Resistor">
<a name="facing" val="north"/>
</tool>
<tool name="Clock">
<a name="facing" val="north"/>
</tool>
<tool name="Constant">
<a name="width" val="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"/>
<comp loc="(430,330)" name="Stack">
<a name="label" val="Return"/>
</comp>
<comp loc="(430,270)" name="Stack">
<a name="label" val="Param"/>
</comp>
</circuit>
<circuit name="Stack">
<a name="circuit" val="Stack"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(170,160)" to="(190,160)"/>
<wire from="(320,210)" to="(340,210)"/>
<wire from="(270,180)" to="(290,180)"/>
<wire from="(200,220)" to="(200,240)"/>
<wire from="(360,230)" to="(460,230)"/>
<wire from="(460,180)" to="(460,230)"/>
<wire from="(170,180)" to="(210,180)"/>
<wire from="(210,210)" to="(210,250)"/>
<wire from="(470,180)" to="(470,240)"/>
<wire from="(370,210)" to="(380,210)"/>
<wire from="(200,220)" to="(240,220)"/>
<wire from="(440,170)" to="(450,170)"/>
<wire from="(350,230)" to="(360,230)"/>
<wire from="(270,180)" to="(270,190)"/>
<wire from="(360,200)" to="(360,230)"/>
<wire from="(260,160)" to="(290,160)"/>
<wire from="(190,190)" to="(270,190)"/>
<wire from="(210,210)" to="(320,210)"/>
<wire from="(480,160)" to="(520,160)"/>
<wire from="(190,160)" to="(190,190)"/>
<wire from="(440,170)" to="(440,210)"/>
<wire from="(250,180)" to="(250,200)"/>
<wire from="(210,150)" to="(210,180)"/>
<wire from="(170,200)" to="(250,200)"/>
<wire from="(210,180)" to="(210,210)"/>
<wire from="(200,240)" to="(220,240)"/>
<wire from="(240,180)" to="(240,220)"/>
<wire from="(340,240)" to="(400,240)"/>
<wire from="(400,200)" to="(400,240)"/>
<wire from="(210,150)" to="(230,150)"/>
<wire from="(400,240)" to="(470,240)"/>
<wire from="(210,250)" to="(330,250)"/>
<wire from="(240,220)" to="(320,220)"/>
<wire from="(320,200)" to="(320,210)"/>
<wire from="(170,220)" to="(200,220)"/>
<wire from="(430,160)" to="(450,160)"/>
<wire from="(380,200)" to="(380,210)"/>
<wire from="(380,210)" to="(440,210)"/>
<wire from="(340,230)" to="(340,240)"/>
<wire from="(250,230)" to="(340,230)"/>
<wire from="(250,200)" to="(250,230)"/>
<comp lib="1" loc="(300,240)" name="Buffer"/>
<comp lib="0" loc="(170,180)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Pop/Push"/>
</comp>
<comp lib="4" loc="(430,160)" name="RAM">
<a name="addrWidth" val="16"/>
<a name="dataWidth" val="16"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="1" loc="(260,240)" name="Buffer"/>
<comp lib="1" loc="(370,210)" name="NOT Gate"/>
<comp lib="1" loc="(280,240)" name="Buffer"/>
<comp lib="0" loc="(520,160)" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
<a name="label" val="Data Out"/>
<a name="labelloc" val="east"/>
</comp>
<comp lib="4" loc="(480,160)" name="Register">
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(260,160)" name="Counter">
<a name="width" val="16"/>
<a name="max" val="0xffff"/>
</comp>
<comp lib="1" loc="(240,240)" name="Buffer"/>
<comp lib="2" loc="(350,230)" name="Multiplexer">
<a name="disabled" val="0"/>
<a name="enable" val="false"/>
</comp>
<comp lib="0" loc="(170,160)" name="Pin">
<a name="width" val="16"/>
<a name="tristate" val="false"/>
<a name="label" val="Data In"/>
</comp>
<comp lib="0" loc="(170,220)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Clock"/>
</comp>
<comp lib="0" loc="(170,200)" name="Pin">
<a name="tristate" val="false"/>
<a name="label" val="Clear"/>
</comp>
<comp lib="1" loc="(320,240)" name="Buffer"/>
</circuit>
</project>