Files
Processeur/projet_etu.circ
2024-12-21 10:41:38 +01:00

2663 lines
100 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="3.9.0" version="1.0">
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
<lib desc="#Wiring" name="0">
<tool name="Splitter">
<a name="bit1" val="0"/>
<a name="bit10" val="2"/>
<a name="bit11" val="2"/>
<a name="bit12" val="3"/>
<a name="bit13" val="3"/>
<a name="bit14" val="3"/>
<a name="bit15" val="3"/>
<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="2"/>
<a name="bit9" val="2"/>
<a name="fanout" val="4"/>
<a name="incoming" val="16"/>
</tool>
<tool name="Pin">
<a name="appearance" val="classic"/>
<a name="output" val="true"/>
</tool>
<tool name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="radix" val="10signed"/>
</tool>
<tool name="Constant">
<a name="value" val="0x0"/>
<a name="width" val="16"/>
</tool>
<tool name="Bit Extender">
<a name="in_width" val="9"/>
</tool>
</lib>
<lib desc="#Gates" name="1">
<tool name="NOT Gate">
<a name="size" val="20"/>
</tool>
<tool name="AND Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
</tool>
<tool name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="width" val="16"/>
</tool>
</lib>
<lib desc="#Plexers" name="2">
<tool name="Multiplexer">
<a name="enable" val="true"/>
<a name="width" val="16"/>
</tool>
</lib>
<lib desc="#Arithmetic" name="3">
<tool name="Adder">
<a name="width" val="16"/>
</tool>
<tool name="Comparator">
<a name="width" val="16"/>
</tool>
</lib>
<lib desc="#Memory" name="4"/>
<lib desc="#I/O" name="5">
<tool name="LED">
<a name="facing" val="north"/>
</tool>
</lib>
<lib desc="#Base" name="6">
<tool name="Text Tool">
<a name="font" val="SansSerif plain 12"/>
</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="Button3" name="Menu Tool"/>
<tool lib="6" map="Ctrl Button1" 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="font" val="SansSerif plain 12"/>
</tool>
<sep/>
<tool lib="0" name="Pin"/>
<tool lib="0" name="Pin">
<a name="facing" val="north"/>
<a name="output" val="true"/>
</tool>
<tool lib="1" name="NOT Gate"/>
<tool lib="1" name="AND Gate">
<a name="size" val="30"/>
</tool>
<tool lib="1" name="OR Gate">
<a name="size" val="30"/>
</tool>
</toolbar>
<circuit name="main">
<a name="circuit" val="main"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<a name="clabelup" val="west"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(1000,500)" name="Probe">
<a name="appearance" val="classic"/>
<a name="label" val="DR_SR"/>
<a name="radix" val="8"/>
</comp>
<comp lib="0" loc="(1000,520)" name="Probe">
<a name="appearance" val="classic"/>
<a name="label" val="SR1"/>
<a name="radix" val="8"/>
</comp>
<comp lib="0" loc="(1000,540)" name="Probe">
<a name="appearance" val="classic"/>
<a name="label" val="SR2"/>
<a name="radix" val="8"/>
</comp>
<comp lib="0" loc="(1050,370)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="WriteReg"/>
</comp>
<comp lib="0" loc="(1050,410)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Exec"/>
</comp>
<comp lib="0" loc="(1050,610)" name="Probe">
<a name="appearance" val="classic"/>
<a name="label" val="Cste"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1050,690)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="GetOp"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(1080,540)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Arg1"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1080,570)" name="Probe">
<a name="appearance" val="classic"/>
<a name="label" val="Arg1"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(110,100)" name="Tunnel">
<a name="label" val="Reset"/>
</comp>
<comp lib="0" loc="(110,620)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="MemIN"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1140,540)" name="Tunnel">
<a name="label" val="Arg2"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1140,570)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="Arg2"/>
<a name="labelloc" val="east"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1160,330)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="RegIn"/>
<a name="labelloc" val="east"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1170,360)" name="Tunnel">
<a name="label" val="Reset"/>
</comp>
<comp lib="0" loc="(120,480)" name="Probe">
<a name="appearance" val="classic"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1200,520)" name="Tunnel">
<a name="label" val="MemIN"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1250,640)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Res"/>
<a name="labelloc" val="north"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1260,360)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="labelloc" val="east"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1260,380)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="labelloc" val="east"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1260,400)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="labelloc" val="east"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1260,420)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="labelloc" val="east"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1260,440)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="labelloc" val="east"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1260,460)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="labelloc" val="east"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1260,480)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="labelloc" val="east"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1260,500)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="labelloc" val="east"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1290,240)" name="Tunnel">
<a name="label" val="Load"/>
</comp>
<comp lib="0" loc="(130,350)" name="Probe">
<a name="appearance" val="classic"/>
<a name="labelloc" val="north"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(1300,360)" name="Tunnel">
<a name="label" val="R0"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1300,380)" name="Tunnel">
<a name="label" val="R1"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1300,400)" name="Tunnel">
<a name="label" val="R2"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1300,420)" name="Tunnel">
<a name="label" val="R3"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1300,440)" name="Tunnel">
<a name="label" val="R4"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1300,460)" name="Tunnel">
<a name="label" val="R5"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1300,480)" name="Tunnel">
<a name="label" val="R6"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1300,500)" name="Tunnel">
<a name="label" val="R7"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1350,260)" name="Tunnel">
<a name="label" val="MemOUT"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(150,350)" name="Tunnel">
<a name="label" val="PC"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(150,780)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Fetch"/>
</comp>
<comp lib="0" loc="(150,800)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Exec"/>
</comp>
<comp lib="0" loc="(160,480)" name="Tunnel">
<a name="label" val="Addr"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(170,620)" name="Probe">
<a name="appearance" val="classic"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(210,190)" name="Tunnel">
<a name="label" val="Cond"/>
</comp>
<comp lib="0" loc="(210,260)" name="Tunnel">
<a name="label" val="CALL"/>
</comp>
<comp lib="0" loc="(210,290)" name="Tunnel">
<a name="label" val="RET"/>
</comp>
<comp lib="0" loc="(210,320)" name="Tunnel">
<a name="label" val="JMP_Address_4a867ecc"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(210,420)" name="Tunnel">
<a name="label" val="Arg1"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(220,30)" name="Tunnel">
<a name="label" val="Clk"/>
</comp>
<comp lib="0" loc="(220,50)" name="Tunnel">
<a name="label" val="Fetch"/>
</comp>
<comp lib="0" loc="(220,70)" name="Tunnel">
<a name="label" val="Exec"/>
</comp>
<comp lib="0" loc="(230,620)" name="Bit Extender">
<a name="in_width" val="16"/>
<a name="out_width" val="32"/>
</comp>
<comp lib="0" loc="(280,770)" name="Tunnel">
<a name="label" val="Load"/>
</comp>
<comp lib="0" loc="(280,790)" name="Tunnel">
<a name="label" val="Store"/>
</comp>
<comp lib="0" loc="(310,590)" name="Clock"/>
<comp lib="0" loc="(350,100)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="IR"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(360,100)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
</comp>
<comp lib="0" loc="(360,30)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="PC"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(370,30)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(410,450)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="ResetRAM"/>
</comp>
<comp lib="0" loc="(480,110)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="R6"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(480,30)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="R0"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(480,70)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="R3"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(490,110)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(490,30)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(490,70)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(540,340)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Load"/>
</comp>
<comp lib="0" loc="(540,370)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Store"/>
</comp>
<comp lib="0" loc="(540,410)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="CTRL"/>
</comp>
<comp lib="0" loc="(540,440)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="GetOp"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(590,110)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="R7"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(590,30)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="R1"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(590,70)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="R4"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(600,110)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(600,30)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(600,70)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(680,520)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="MemOUT"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(680,550)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(70,100)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Reset"/>
</comp>
<comp lib="0" loc="(70,30)" name="Clock"/>
<comp lib="0" loc="(700,30)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="R2"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(700,340)" name="Tunnel">
<a name="label" val="WriteReg"/>
</comp>
<comp lib="0" loc="(700,370)" name="Tunnel">
<a name="label" val="JMP_Address_4a867ecc"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(700,410)" name="Tunnel">
<a name="label" val="CALL"/>
</comp>
<comp lib="0" loc="(700,440)" name="Tunnel">
<a name="label" val="RET"/>
</comp>
<comp lib="0" loc="(700,70)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="R5"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(710,30)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(710,70)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(720,640)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Fetch"/>
</comp>
<comp lib="0" loc="(780,690)" name="Tunnel">
<a name="label" val="Reset"/>
</comp>
<comp lib="0" loc="(80,160)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="MemIN"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(80,190)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Arg1"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(80,220)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="GetOp"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(80,250)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Cond"/>
</comp>
<comp lib="0" loc="(80,280)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="CTRL"/>
</comp>
<comp lib="0" loc="(80,310)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Exec"/>
</comp>
<comp lib="0" loc="(80,340)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Reset"/>
</comp>
<comp lib="0" loc="(80,390)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Fetch"/>
</comp>
<comp lib="0" loc="(80,420)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Load"/>
</comp>
<comp lib="0" loc="(80,450)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="Store"/>
</comp>
<comp lib="0" loc="(860,520)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="IR"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(860,550)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="radix" val="16"/>
</comp>
<comp lib="0" loc="(960,470)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit0" val="none"/>
<a name="bit1" val="none"/>
<a name="bit10" val="none"/>
<a name="bit11" val="none"/>
<a name="bit12" val="none"/>
<a name="bit13" val="none"/>
<a name="bit14" val="none"/>
<a name="bit15" val="none"/>
<a name="bit16" val="none"/>
<a name="bit17" val="0"/>
<a name="bit18" val="0"/>
<a name="bit19" val="0"/>
<a name="bit2" val="none"/>
<a name="bit20" val="1"/>
<a name="bit21" val="1"/>
<a name="bit22" val="1"/>
<a name="bit23" val="2"/>
<a name="bit24" val="2"/>
<a name="bit25" val="2"/>
<a name="bit26" val="none"/>
<a name="bit27" val="none"/>
<a name="bit28" val="none"/>
<a name="bit29" val="none"/>
<a name="bit3" val="none"/>
<a name="bit30" val="none"/>
<a name="bit31" val="none"/>
<a name="bit4" val="none"/>
<a name="bit5" val="none"/>
<a name="bit6" val="none"/>
<a name="bit7" val="none"/>
<a name="bit8" val="none"/>
<a name="bit9" val="none"/>
<a name="fanout" val="3"/>
<a name="incoming" val="32"/>
</comp>
<comp lib="4" loc="(370,510)" name="RAM">
<a name="addrWidth" val="16"/>
<a name="appearance" val="logisim_evolution"/>
<a name="clearpin" val="true"/>
<a name="dataWidth" val="32"/>
</comp>
<comp lib="4" loc="(740,570)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="RegIR"/>
<a name="labelfont" val="SansSerif plain 16"/>
<a name="trigger" val="falling"/>
<a name="width" val="32"/>
</comp>
<comp lib="5" loc="(100,30)" name="LED">
<a name="facing" val="east"/>
</comp>
<comp lib="5" loc="(210,50)" name="LED">
<a name="facing" val="east"/>
</comp>
<comp lib="5" loc="(210,70)" name="LED">
<a name="facing" val="east"/>
</comp>
<comp loc="(100,160)" name="Comparateur"/>
<comp loc="(100,260)" name="RegPC"/>
<comp loc="(1070,390)" name="Registres"/>
<comp loc="(1070,600)" name="ALU"/>
<comp loc="(110,20)" name="Seq"/>
<comp loc="(1180,230)" name="InputRegistre"/>
<comp loc="(140,380)" name="GetAddr"/>
<comp loc="(170,750)" name="RamCtrl"/>
<comp loc="(560,340)" name="DecodeIR"/>
<comp loc="(980,630)" name="GetCst"/>
<wire from="(100,100)" to="(110,100)"/>
<wire from="(100,30)" to="(110,30)"/>
<wire from="(100,70)" to="(100,100)"/>
<wire from="(100,70)" to="(110,70)"/>
<wire from="(1000,500)" to="(1030,500)"/>
<wire from="(1000,520)" to="(1020,520)"/>
<wire from="(1000,540)" to="(1010,540)"/>
<wire from="(1010,460)" to="(1010,540)"/>
<wire from="(1010,460)" to="(1070,460)"/>
<wire from="(1020,470)" to="(1020,520)"/>
<wire from="(1020,470)" to="(1070,470)"/>
<wire from="(1030,480)" to="(1030,500)"/>
<wire from="(1030,480)" to="(1070,480)"/>
<wire from="(1050,370)" to="(1090,370)"/>
<wire from="(1050,410)" to="(1070,410)"/>
<wire from="(1050,610)" to="(1060,610)"/>
<wire from="(1050,640)" to="(1060,640)"/>
<wire from="(1050,650)" to="(1070,650)"/>
<wire from="(1050,690)" to="(1070,690)"/>
<wire from="(1060,610)" to="(1060,640)"/>
<wire from="(1060,640)" to="(1070,640)"/>
<wire from="(1080,540)" to="(1090,540)"/>
<wire from="(1080,570)" to="(1090,570)"/>
<wire from="(1090,370)" to="(1090,390)"/>
<wire from="(1090,500)" to="(1090,540)"/>
<wire from="(1090,540)" to="(1090,570)"/>
<wire from="(1090,570)" to="(1090,600)"/>
<wire from="(110,620)" to="(170,620)"/>
<wire from="(1130,260)" to="(1130,330)"/>
<wire from="(1130,260)" to="(1170,260)"/>
<wire from="(1130,330)" to="(1130,390)"/>
<wire from="(1130,330)" to="(1160,330)"/>
<wire from="(1130,500)" to="(1130,540)"/>
<wire from="(1130,540)" to="(1130,570)"/>
<wire from="(1130,540)" to="(1140,540)"/>
<wire from="(1130,570)" to="(1130,600)"/>
<wire from="(1130,570)" to="(1140,570)"/>
<wire from="(1170,360)" to="(1170,390)"/>
<wire from="(1170,500)" to="(1170,520)"/>
<wire from="(1170,520)" to="(1200,520)"/>
<wire from="(1190,660)" to="(1250,660)"/>
<wire from="(120,480)" to="(140,480)"/>
<wire from="(1200,400)" to="(1230,400)"/>
<wire from="(1200,410)" to="(1240,410)"/>
<wire from="(1200,420)" to="(1250,420)"/>
<wire from="(1200,430)" to="(1260,430)"/>
<wire from="(1200,440)" to="(1260,440)"/>
<wire from="(1200,450)" to="(1250,450)"/>
<wire from="(1200,460)" to="(1240,460)"/>
<wire from="(1200,470)" to="(1230,470)"/>
<wire from="(1230,360)" to="(1230,400)"/>
<wire from="(1230,360)" to="(1260,360)"/>
<wire from="(1230,470)" to="(1230,500)"/>
<wire from="(1230,500)" to="(1260,500)"/>
<wire from="(1240,380)" to="(1240,410)"/>
<wire from="(1240,380)" to="(1260,380)"/>
<wire from="(1240,460)" to="(1240,480)"/>
<wire from="(1240,480)" to="(1260,480)"/>
<wire from="(1250,400)" to="(1250,420)"/>
<wire from="(1250,400)" to="(1260,400)"/>
<wire from="(1250,450)" to="(1250,460)"/>
<wire from="(1250,460)" to="(1260,460)"/>
<wire from="(1250,640)" to="(1250,660)"/>
<wire from="(1250,660)" to="(1340,660)"/>
<wire from="(1260,360)" to="(1300,360)"/>
<wire from="(1260,380)" to="(1300,380)"/>
<wire from="(1260,400)" to="(1300,400)"/>
<wire from="(1260,420)" to="(1260,430)"/>
<wire from="(1260,420)" to="(1300,420)"/>
<wire from="(1260,440)" to="(1300,440)"/>
<wire from="(1260,460)" to="(1300,460)"/>
<wire from="(1260,480)" to="(1300,480)"/>
<wire from="(1260,500)" to="(1300,500)"/>
<wire from="(1270,240)" to="(1290,240)"/>
<wire from="(1270,260)" to="(1350,260)"/>
<wire from="(1270,280)" to="(1340,280)"/>
<wire from="(130,350)" to="(140,350)"/>
<wire from="(1340,280)" to="(1340,660)"/>
<wire from="(140,340)" to="(140,350)"/>
<wire from="(140,350)" to="(140,380)"/>
<wire from="(140,350)" to="(150,350)"/>
<wire from="(140,470)" to="(140,480)"/>
<wire from="(140,480)" to="(140,520)"/>
<wire from="(140,480)" to="(160,480)"/>
<wire from="(140,520)" to="(370,520)"/>
<wire from="(150,780)" to="(170,780)"/>
<wire from="(150,800)" to="(170,800)"/>
<wire from="(170,620)" to="(190,620)"/>
<wire from="(180,30)" to="(220,30)"/>
<wire from="(180,50)" to="(210,50)"/>
<wire from="(180,680)" to="(180,740)"/>
<wire from="(180,680)" to="(350,680)"/>
<wire from="(180,70)" to="(210,70)"/>
<wire from="(190,270)" to="(200,270)"/>
<wire from="(190,290)" to="(210,290)"/>
<wire from="(190,310)" to="(200,310)"/>
<wire from="(190,420)" to="(210,420)"/>
<wire from="(200,190)" to="(210,190)"/>
<wire from="(200,260)" to="(200,270)"/>
<wire from="(200,260)" to="(210,260)"/>
<wire from="(200,310)" to="(200,320)"/>
<wire from="(200,320)" to="(210,320)"/>
<wire from="(210,50)" to="(220,50)"/>
<wire from="(210,70)" to="(220,70)"/>
<wire from="(230,620)" to="(370,620)"/>
<wire from="(240,570)" to="(240,740)"/>
<wire from="(240,570)" to="(370,570)"/>
<wire from="(250,770)" to="(280,770)"/>
<wire from="(250,790)" to="(280,790)"/>
<wire from="(310,10)" to="(310,150)"/>
<wire from="(310,10)" to="(790,10)"/>
<wire from="(310,150)" to="(790,150)"/>
<wire from="(310,590)" to="(330,590)"/>
<wire from="(330,580)" to="(330,590)"/>
<wire from="(330,580)" to="(370,580)"/>
<wire from="(350,100)" to="(360,100)"/>
<wire from="(350,560)" to="(350,680)"/>
<wire from="(350,560)" to="(370,560)"/>
<wire from="(360,30)" to="(370,30)"/>
<wire from="(370,600)" to="(370,620)"/>
<wire from="(400,510)" to="(410,510)"/>
<wire from="(410,440)" to="(410,450)"/>
<wire from="(410,450)" to="(410,510)"/>
<wire from="(480,110)" to="(490,110)"/>
<wire from="(480,30)" to="(490,30)"/>
<wire from="(480,70)" to="(490,70)"/>
<wire from="(540,340)" to="(550,340)"/>
<wire from="(540,370)" to="(550,370)"/>
<wire from="(540,410)" to="(550,410)"/>
<wire from="(540,440)" to="(550,440)"/>
<wire from="(550,340)" to="(550,360)"/>
<wire from="(550,370)" to="(550,380)"/>
<wire from="(550,400)" to="(550,410)"/>
<wire from="(550,420)" to="(550,440)"/>
<wire from="(590,110)" to="(600,110)"/>
<wire from="(590,30)" to="(600,30)"/>
<wire from="(590,70)" to="(600,70)"/>
<wire from="(610,600)" to="(680,600)"/>
<wire from="(620,440)" to="(620,470)"/>
<wire from="(620,470)" to="(910,470)"/>
<wire from="(680,520)" to="(680,550)"/>
<wire from="(680,550)" to="(680,600)"/>
<wire from="(680,600)" to="(740,600)"/>
<wire from="(690,340)" to="(690,360)"/>
<wire from="(690,340)" to="(700,340)"/>
<wire from="(690,370)" to="(690,380)"/>
<wire from="(690,370)" to="(700,370)"/>
<wire from="(690,400)" to="(690,410)"/>
<wire from="(690,410)" to="(700,410)"/>
<wire from="(690,420)" to="(690,440)"/>
<wire from="(690,440)" to="(700,440)"/>
<wire from="(70,100)" to="(100,100)"/>
<wire from="(70,30)" to="(100,30)"/>
<wire from="(700,30)" to="(710,30)"/>
<wire from="(700,70)" to="(710,70)"/>
<wire from="(720,640)" to="(740,640)"/>
<wire from="(770,660)" to="(770,690)"/>
<wire from="(770,690)" to="(780,690)"/>
<wire from="(790,10)" to="(790,150)"/>
<wire from="(80,160)" to="(90,160)"/>
<wire from="(80,190)" to="(100,190)"/>
<wire from="(80,220)" to="(90,220)"/>
<wire from="(80,250)" to="(90,250)"/>
<wire from="(80,280)" to="(100,280)"/>
<wire from="(80,310)" to="(90,310)"/>
<wire from="(80,340)" to="(90,340)"/>
<wire from="(80,390)" to="(90,390)"/>
<wire from="(80,420)" to="(100,420)"/>
<wire from="(80,450)" to="(90,450)"/>
<wire from="(800,600)" to="(860,600)"/>
<wire from="(860,520)" to="(860,550)"/>
<wire from="(860,550)" to="(860,600)"/>
<wire from="(860,600)" to="(910,600)"/>
<wire from="(90,160)" to="(90,170)"/>
<wire from="(90,170)" to="(100,170)"/>
<wire from="(90,210)" to="(100,210)"/>
<wire from="(90,210)" to="(90,220)"/>
<wire from="(90,250)" to="(90,260)"/>
<wire from="(90,260)" to="(100,260)"/>
<wire from="(90,300)" to="(100,300)"/>
<wire from="(90,300)" to="(90,310)"/>
<wire from="(90,320)" to="(100,320)"/>
<wire from="(90,320)" to="(90,340)"/>
<wire from="(90,390)" to="(90,400)"/>
<wire from="(90,400)" to="(100,400)"/>
<wire from="(90,440)" to="(100,440)"/>
<wire from="(90,440)" to="(90,450)"/>
<wire from="(910,470)" to="(910,600)"/>
<wire from="(910,470)" to="(960,470)"/>
<wire from="(910,600)" to="(910,640)"/>
<wire from="(910,640)" to="(980,640)"/>
<wire from="(960,470)" to="(970,470)"/>
<wire from="(980,460)" to="(1010,460)"/>
<wire from="(980,470)" to="(1020,470)"/>
<wire from="(980,480)" to="(1030,480)"/>
</circuit>
<circuit name="ALU">
<a name="appearance" val="custom"/>
<a name="circuit" val="ALU"/>
<a name="clabel" val="ALU"/>
<a name="clabelfont" val="SansSerif plain 16"/>
<a name="clabelup" val="north"/>
<a name="simulationFrequency" val="1.0"/>
<appear>
<polyline fill="none" points="160,104 172,110 160,116" stroke="#000000"/>
<rect fill="#ffffff" height="116" stroke="#ff0000" stroke-width="2" width="110" x="50" y="50"/>
<polyline fill="none" points="63,50 70,62 77,50" stroke="#000000"/>
<polyline fill="none" points="50,84 62,90 50,96" stroke="#000000"/>
<polyline fill="none" points="50,134 62,140 50,146" stroke="#000000"/>
<polyline fill="none" points="103,50 110,62 117,50" stroke="#000000"/>
<polyline fill="none" points="50,94 62,100 50,106" stroke="#000000"/>
<circ-anchor facing="east" x="50" y="50"/>
<circ-port dir="in" pin="490,310" x="50" y="140"/>
<circ-port dir="in" pin="500,70" x="70" y="50"/>
<circ-port dir="in" pin="590,70" x="110" y="50"/>
<circ-port dir="in" pin="680,70" x="50" y="90"/>
<circ-port dir="in" pin="780,50" x="50" y="100"/>
<circ-port dir="out" pin="610,340" x="170" y="110"/>
</appear>
<comp lib="0" loc="(490,310)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="GetOp"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(500,70)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Input1"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(590,70)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Input2"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(610,340)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="north"/>
<a name="label" val="Output"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(680,70)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Cst"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(780,50)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Imm"/>
</comp>
<comp lib="0" loc="(840,160)" name="Splitter">
<a name="appear" val="right"/>
<a name="bit1" val="0"/>
<a name="bit10" val="none"/>
<a name="bit11" val="none"/>
<a name="bit12" val="none"/>
<a name="bit13" val="none"/>
<a name="bit14" val="none"/>
<a name="bit15" val="none"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="none"/>
<a name="bit5" val="none"/>
<a name="bit6" val="none"/>
<a name="bit7" val="none"/>
<a name="bit8" val="none"/>
<a name="bit9" val="none"/>
<a name="fanout" val="1"/>
<a name="incoming" val="16"/>
</comp>
<comp lib="1" loc="(710,190)" name="AND Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(760,190)" name="OR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(810,200)" name="XOR Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="width" val="16"/>
</comp>
<comp lib="2" loc="(610,330)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="select" val="3"/>
<a name="width" val="16"/>
</comp>
<comp lib="2" loc="(800,100)" name="Multiplexer">
<a name="selloc" val="tr"/>
<a name="width" val="16"/>
</comp>
<comp lib="3" loc="(1030,190)" name="Shifter">
<a name="shift" val="lr"/>
<a name="width" val="16"/>
</comp>
<comp lib="3" loc="(1110,190)" name="Multiplier">
<a name="width" val="16"/>
</comp>
<comp lib="3" loc="(560,180)" name="Adder">
<a name="width" val="16"/>
</comp>
<comp lib="3" loc="(660,180)" name="Subtractor">
<a name="width" val="16"/>
</comp>
<comp lib="3" loc="(930,200)" name="Shifter">
<a name="width" val="16"/>
</comp>
<wire from="(1030,190)" to="(1040,190)"/>
<wire from="(1040,190)" to="(1040,260)"/>
<wire from="(1050,150)" to="(1050,200)"/>
<wire from="(1050,150)" to="(1070,150)"/>
<wire from="(1050,200)" to="(1070,200)"/>
<wire from="(1060,130)" to="(1060,180)"/>
<wire from="(1060,180)" to="(1070,180)"/>
<wire from="(1070,100)" to="(1070,150)"/>
<wire from="(1110,190)" to="(1120,190)"/>
<wire from="(1120,190)" to="(1120,270)"/>
<wire from="(490,310)" to="(570,310)"/>
<wire from="(500,130)" to="(500,190)"/>
<wire from="(500,130)" to="(610,130)"/>
<wire from="(500,190)" to="(520,190)"/>
<wire from="(500,70)" to="(500,130)"/>
<wire from="(510,150)" to="(510,170)"/>
<wire from="(510,150)" to="(600,150)"/>
<wire from="(510,170)" to="(520,170)"/>
<wire from="(560,180)" to="(570,180)"/>
<wire from="(570,180)" to="(570,290)"/>
<wire from="(580,210)" to="(580,290)"/>
<wire from="(580,210)" to="(680,210)"/>
<wire from="(590,220)" to="(590,290)"/>
<wire from="(590,220)" to="(710,220)"/>
<wire from="(590,70)" to="(590,90)"/>
<wire from="(590,90)" to="(770,90)"/>
<wire from="(600,150)" to="(600,190)"/>
<wire from="(600,150)" to="(720,150)"/>
<wire from="(600,190)" to="(620,190)"/>
<wire from="(600,230)" to="(600,290)"/>
<wire from="(600,230)" to="(760,230)"/>
<wire from="(610,130)" to="(610,170)"/>
<wire from="(610,130)" to="(700,130)"/>
<wire from="(610,170)" to="(620,170)"/>
<wire from="(610,240)" to="(610,290)"/>
<wire from="(610,240)" to="(810,240)"/>
<wire from="(610,330)" to="(610,340)"/>
<wire from="(620,250)" to="(620,290)"/>
<wire from="(620,250)" to="(940,250)"/>
<wire from="(630,260)" to="(1040,260)"/>
<wire from="(630,260)" to="(630,290)"/>
<wire from="(640,270)" to="(1120,270)"/>
<wire from="(640,270)" to="(640,290)"/>
<wire from="(660,180)" to="(680,180)"/>
<wire from="(680,110)" to="(770,110)"/>
<wire from="(680,180)" to="(680,210)"/>
<wire from="(680,70)" to="(680,110)"/>
<wire from="(700,130)" to="(700,160)"/>
<wire from="(700,130)" to="(750,130)"/>
<wire from="(710,190)" to="(710,220)"/>
<wire from="(720,150)" to="(720,160)"/>
<wire from="(720,150)" to="(770,150)"/>
<wire from="(750,130)" to="(750,160)"/>
<wire from="(750,130)" to="(800,130)"/>
<wire from="(760,190)" to="(760,230)"/>
<wire from="(770,150)" to="(770,160)"/>
<wire from="(770,150)" to="(820,150)"/>
<wire from="(780,50)" to="(780,80)"/>
<wire from="(800,100)" to="(1070,100)"/>
<wire from="(800,130)" to="(800,160)"/>
<wire from="(800,130)" to="(880,130)"/>
<wire from="(810,200)" to="(810,240)"/>
<wire from="(820,150)" to="(820,160)"/>
<wire from="(820,150)" to="(840,150)"/>
<wire from="(840,150)" to="(1050,150)"/>
<wire from="(840,150)" to="(840,160)"/>
<wire from="(860,170)" to="(870,170)"/>
<wire from="(870,170)" to="(870,210)"/>
<wire from="(870,170)" to="(970,170)"/>
<wire from="(870,210)" to="(890,210)"/>
<wire from="(880,130)" to="(880,190)"/>
<wire from="(880,130)" to="(980,130)"/>
<wire from="(880,190)" to="(890,190)"/>
<wire from="(930,200)" to="(940,200)"/>
<wire from="(940,200)" to="(940,250)"/>
<wire from="(970,170)" to="(970,200)"/>
<wire from="(970,200)" to="(990,200)"/>
<wire from="(980,130)" to="(1060,130)"/>
<wire from="(980,130)" to="(980,180)"/>
<wire from="(980,180)" to="(990,180)"/>
</circuit>
<circuit name="DecodeIR">
<a name="appearance" val="custom"/>
<a name="circuit" val="DecodeIR"/>
<a name="clabel" val="DecodeIR"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<a name="clabelup" val="north"/>
<a name="simulationFrequency" val="1.0"/>
<appear>
<rect fill="#ffffff" height="101" stroke="#ff0000" stroke-width="2" width="120" x="40" y="39"/>
<polyline fill="none" points="162,77 170,81 162,86" stroke="#000000"/>
<polyline fill="none" points="40,55 30,60 40,65" stroke="#000000"/>
<polyline fill="none" points="40,75 30,80 40,85" stroke="#000000"/>
<polyline fill="none" points="40,95 30,100 40,105" stroke="#000000"/>
<polyline fill="none" points="40,115 30,120 40,125" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="10" text-anchor="middle" x="112" y="138">IR</text>
<text dominant-baseline="central" font-family="SansSerif" font-size="10" text-anchor="start" x="41" y="64">Load</text>
<text dominant-baseline="central" font-family="SansSerif" font-size="10" text-anchor="start" x="41" y="83">Store</text>
<text dominant-baseline="central" font-family="SansSerif" font-size="10" text-anchor="start" x="42" y="104">CTRL</text>
<text dominant-baseline="central" font-family="SansSerif" font-size="10" text-anchor="start" x="42" y="124">GetOp</text>
<text dominant-baseline="central" font-family="SansSerif" font-size="10" text-anchor="end" x="158" y="80">JMP Address</text>
<polyline fill="none" points="95,140 100,130 105,140" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="10" text-anchor="end" x="160" y="65">WriteReg</text>
<polyline fill="none" points="161,55 171,60 161,65" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="10" text-anchor="middle" x="145" y="100">CALL</text>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="146" y="120">RET</text>
<polyline fill="none" points="161,96 169,100 161,105" stroke="#000000"/>
<polyline fill="none" points="161,116 169,120 161,125" stroke="#000000"/>
<circ-anchor facing="east" x="40" y="40"/>
<circ-port dir="in" pin="110,110" x="100" y="140"/>
<circ-port dir="out" pin="500,270" x="30" y="120"/>
<circ-port dir="out" pin="500,310" x="170" y="60"/>
<circ-port dir="out" pin="500,340" x="30" y="60"/>
<circ-port dir="out" pin="500,360" x="30" y="80"/>
<circ-port dir="out" pin="500,420" x="30" y="100"/>
<circ-port dir="out" pin="500,500" x="170" y="100"/>
<circ-port dir="out" pin="500,520" x="170" y="120"/>
<circ-port dir="out" pin="500,570" x="170" y="80"/>
</appear>
<comp lib="0" loc="(110,110)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="IR"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(130,110)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit0" val="2"/>
<a name="bit1" val="2"/>
<a name="bit10" val="2"/>
<a name="bit11" val="2"/>
<a name="bit12" val="2"/>
<a name="bit13" val="2"/>
<a name="bit14" val="2"/>
<a name="bit15" val="2"/>
<a name="bit16" val="none"/>
<a name="bit17" val="none"/>
<a name="bit18" val="none"/>
<a name="bit19" val="none"/>
<a name="bit20" val="none"/>
<a name="bit21" val="none"/>
<a name="bit22" val="none"/>
<a name="bit23" val="none"/>
<a name="bit24" val="none"/>
<a name="bit25" val="none"/>
<a name="bit26" val="none"/>
<a name="bit27" val="0"/>
<a name="bit28" val="0"/>
<a name="bit29" val="0"/>
<a name="bit3" val="2"/>
<a name="bit30" val="1"/>
<a name="bit31" val="1"/>
<a name="bit4" val="2"/>
<a name="bit5" val="2"/>
<a name="bit6" val="2"/>
<a name="bit7" val="2"/>
<a name="bit8" val="2"/>
<a name="bit9" val="2"/>
<a name="fanout" val="3"/>
<a name="incoming" val="32"/>
<a name="spacing" val="2"/>
</comp>
<comp lib="0" loc="(500,270)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="GetOp"/>
<a name="output" val="true"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(500,310)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="WriteReg"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(500,340)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="Load"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(500,360)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="Store"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(500,420)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="CTRL"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(500,500)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="CALL"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(500,520)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="RET"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(500,570)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="JMPAddress"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(400,310)" name="OR Gate">
<a name="size" val="30"/>
</comp>
<comp lib="2" loc="(180,110)" name="Decoder">
<a name="enable" val="false"/>
<a name="select" val="2"/>
<a name="selloc" val="tr"/>
</comp>
<comp lib="2" loc="(230,450)" name="Decoder">
<a name="select" val="3"/>
<a name="selloc" val="tr"/>
</comp>
<comp lib="2" loc="(270,320)" name="Decoder">
<a name="select" val="3"/>
<a name="selloc" val="tr"/>
</comp>
<wire from="(110,110)" to="(130,110)"/>
<wire from="(150,110)" to="(180,110)"/>
<wire from="(150,130)" to="(150,570)"/>
<wire from="(150,570)" to="(500,570)"/>
<wire from="(150,90)" to="(270,90)"/>
<wire from="(200,110)" to="(290,110)"/>
<wire from="(200,120)" to="(260,120)"/>
<wire from="(200,140)" to="(220,140)"/>
<wire from="(220,140)" to="(220,420)"/>
<wire from="(220,420)" to="(220,450)"/>
<wire from="(220,420)" to="(500,420)"/>
<wire from="(230,310)" to="(230,450)"/>
<wire from="(230,310)" to="(270,310)"/>
<wire from="(250,500)" to="(500,500)"/>
<wire from="(250,520)" to="(500,520)"/>
<wire from="(260,120)" to="(260,320)"/>
<wire from="(270,310)" to="(270,320)"/>
<wire from="(270,90)" to="(270,310)"/>
<wire from="(270,90)" to="(340,90)"/>
<wire from="(290,110)" to="(290,300)"/>
<wire from="(290,300)" to="(370,300)"/>
<wire from="(290,320)" to="(330,320)"/>
<wire from="(290,330)" to="(350,330)"/>
<wire from="(330,320)" to="(330,360)"/>
<wire from="(330,360)" to="(500,360)"/>
<wire from="(340,270)" to="(500,270)"/>
<wire from="(340,90)" to="(340,270)"/>
<wire from="(350,320)" to="(350,330)"/>
<wire from="(350,320)" to="(370,320)"/>
<wire from="(350,330)" to="(350,340)"/>
<wire from="(350,340)" to="(500,340)"/>
<wire from="(400,310)" to="(500,310)"/>
</circuit>
<circuit name="GetAddr">
<a name="appearance" val="custom"/>
<a name="circuit" val="GetAddr"/>
<a name="clabel" val="GetAddr"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<a name="clabelup" val="north"/>
<a name="simulationFrequency" val="1.0"/>
<appear>
<rect fill="#ffffff" height="80" stroke="#ff0000" stroke-width="2" width="90" x="20" y="10"/>
<polyline fill="none" points="20,25 32,31 20,37" stroke="#000000"/>
<polyline fill="none" points="52,10 59,22 66,10" stroke="#000000"/>
<polyline fill="none" points="53,90 60,102 67,90" stroke="#000000"/>
<polyline fill="none" points="20,44 32,50 20,56" stroke="#000000"/>
<polyline fill="none" points="20,64 32,70 20,76" stroke="#000000"/>
<polyline fill="none" points="109,42 94,50 112,59" stroke="#000000"/>
<circ-anchor facing="east" x="60" y="10"/>
<circ-port dir="in" pin="100,160" x="20" y="50"/>
<circ-port dir="in" pin="100,180" x="20" y="70"/>
<circ-port dir="in" pin="100,210" x="20" y="30"/>
<circ-port dir="in" pin="150,100" x="110" y="50"/>
<circ-port dir="in" pin="150,60" x="60" y="10"/>
<circ-port dir="out" pin="350,80" x="60" y="100"/>
</appear>
<comp lib="0" loc="(100,160)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Load"/>
</comp>
<comp lib="0" loc="(100,180)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Store"/>
</comp>
<comp lib="0" loc="(100,210)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Fetch"/>
</comp>
<comp lib="0" loc="(150,100)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Input2"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(150,60)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="PC"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(350,80)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="Addr"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="1" loc="(220,170)" name="XOR Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(280,120)" name="AND Gate">
<a name="facing" val="north"/>
<a name="negate1" val="true"/>
<a name="size" val="30"/>
</comp>
<comp lib="2" loc="(300,80)" name="Multiplexer">
<a name="width" val="16"/>
</comp>
<wire from="(100,160)" to="(180,160)"/>
<wire from="(100,180)" to="(180,180)"/>
<wire from="(100,210)" to="(290,210)"/>
<wire from="(150,100)" to="(240,100)"/>
<wire from="(150,60)" to="(240,60)"/>
<wire from="(220,170)" to="(270,170)"/>
<wire from="(240,60)" to="(240,70)"/>
<wire from="(240,70)" to="(270,70)"/>
<wire from="(240,90)" to="(240,100)"/>
<wire from="(240,90)" to="(270,90)"/>
<wire from="(270,150)" to="(270,170)"/>
<wire from="(280,100)" to="(280,120)"/>
<wire from="(290,160)" to="(290,210)"/>
<wire from="(300,80)" to="(350,80)"/>
</circuit>
<circuit name="GetCst">
<a name="appearance" val="custom"/>
<a name="circuit" val="GetCst"/>
<a name="clabel" val="GetCst"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<a name="clabelup" val="north"/>
<a name="simulationFrequency" val="1.0"/>
<appear>
<rect fill="#ffffff" height="30" stroke="#ff0000" stroke-width="2" width="60" x="50" y="50"/>
<polyline fill="none" points="50,57 56,60 50,64" stroke="#000000"/>
<polyline fill="none" points="110,57 119,60 110,64" stroke="#000000"/>
<polyline fill="none" points="110,67 120,70 110,74" stroke="#000000"/>
<circ-anchor facing="east" x="50" y="50"/>
<circ-port dir="in" pin="270,140" x="50" y="60"/>
<circ-port dir="out" pin="400,70" x="120" y="60"/>
<circ-port dir="out" pin="460,130" x="120" y="70"/>
</appear>
<comp lib="0" loc="(270,140)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="IR"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(290,140)" name="Splitter">
<a name="bit1" 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"/>
<a name="bit16" val="0"/>
<a name="bit17" val="0"/>
<a name="bit18" val="0"/>
<a name="bit19" val="0"/>
<a name="bit2" val="0"/>
<a name="bit20" val="none"/>
<a name="bit21" val="none"/>
<a name="bit22" val="none"/>
<a name="bit23" val="none"/>
<a name="bit24" val="none"/>
<a name="bit25" val="none"/>
<a name="bit26" val="1"/>
<a name="bit27" val="none"/>
<a name="bit28" val="none"/>
<a name="bit29" val="none"/>
<a name="bit3" val="0"/>
<a name="bit30" val="none"/>
<a name="bit31" val="none"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="0"/>
<a name="bit8" val="0"/>
<a name="bit9" val="0"/>
<a name="incoming" val="32"/>
</comp>
<comp lib="0" loc="(380,70)" name="Bit Extender">
<a name="in_width" val="20"/>
</comp>
<comp lib="0" loc="(400,70)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="Cst"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(460,130)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="Imm"/>
<a name="output" val="true"/>
</comp>
<wire from="(270,140)" to="(290,140)"/>
<wire from="(310,130)" to="(460,130)"/>
<wire from="(310,70)" to="(310,120)"/>
<wire from="(310,70)" to="(340,70)"/>
<wire from="(380,70)" to="(400,70)"/>
</circuit>
<circuit name="RamCtrl">
<a name="appearance" val="custom"/>
<a name="circuit" val="RamCtrl"/>
<a name="clabel" val="RamCtrl"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<a name="clabelup" val="north"/>
<a name="simulationFrequency" val="1.0"/>
<appear>
<rect fill="#ffffff" height="60" stroke="#000000" stroke-width="2" width="81" x="50" y="50"/>
<polyline fill="none" points="115,50 120,39 126,50" stroke="#000000"/>
<polyline fill="none" points="55,50 60,39 66,50" stroke="#000000"/>
<polyline fill="none" points="130,85 120,90 130,95" stroke="#000000"/>
<polyline fill="none" points="50,75 60,80 50,85" stroke="#000000"/>
<polyline fill="none" points="50,95 60,100 50,105" stroke="#000000"/>
<polyline fill="none" points="130,65 120,70 130,75" stroke="#000000"/>
<circ-anchor facing="east" x="50" y="50"/>
<circ-port dir="in" pin="180,240" x="130" y="70"/>
<circ-port dir="in" pin="180,280" x="130" y="90"/>
<circ-port dir="in" pin="260,190" x="50" y="100"/>
<circ-port dir="in" pin="300,190" x="50" y="80"/>
<circ-port dir="out" pin="360,220" x="120" y="40"/>
<circ-port dir="out" pin="360,270" x="60" y="40"/>
</appear>
<comp lib="0" loc="(180,240)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Load"/>
</comp>
<comp lib="0" loc="(180,280)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Store"/>
</comp>
<comp lib="0" loc="(260,190)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Exec"/>
</comp>
<comp lib="0" loc="(300,190)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Fetch"/>
</comp>
<comp lib="0" loc="(360,220)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="MemLoad"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(360,270)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="MemStore"/>
<a name="output" val="true"/>
</comp>
<comp lib="1" loc="(300,230)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(300,270)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(340,220)" name="OR Gate">
<a name="size" val="30"/>
</comp>
<wire from="(180,240)" to="(270,240)"/>
<wire from="(180,280)" to="(270,280)"/>
<wire from="(260,190)" to="(260,220)"/>
<wire from="(260,220)" to="(260,260)"/>
<wire from="(260,220)" to="(270,220)"/>
<wire from="(260,260)" to="(270,260)"/>
<wire from="(300,190)" to="(300,210)"/>
<wire from="(300,210)" to="(310,210)"/>
<wire from="(300,230)" to="(310,230)"/>
<wire from="(300,270)" to="(360,270)"/>
<wire from="(340,220)" to="(360,220)"/>
</circuit>
<circuit name="Registres">
<a name="appearance" val="custom"/>
<a name="circuit" val="Registres"/>
<a name="clabel" val="Registres "/>
<a name="clabelfont" val="SansSerif plain 16"/>
<a name="clabelup" val="north"/>
<a name="simulationFrequency" val="1.0"/>
<appear>
<rect fill="#ffffff" height="100" stroke="#ff0000" stroke-width="2" width="121" x="50" y="60"/>
<polyline fill="none" points="51,124 63,130 51,136" stroke="#000000"/>
<polyline fill="none" points="50,134 62,140 50,146" stroke="#000000"/>
<polyline fill="none" points="50,144 62,150 50,156" stroke="#000000"/>
<polyline fill="none" points="103,60 110,72 117,60" stroke="#000000"/>
<polyline fill="none" points="63,160 70,172 77,160" stroke="#000000"/>
<polyline fill="none" points="103,160 110,172 117,160" stroke="#000000"/>
<polyline fill="none" points="143,160 150,172 157,160" stroke="#000000"/>
<polyline fill="none" points="170,64 182,70 170,76" stroke="#000000"/>
<polyline fill="none" points="170,74 182,80 170,86" stroke="#000000"/>
<polyline fill="none" points="170,84 182,90 170,96" stroke="#000000"/>
<polyline fill="none" points="170,94 182,100 170,106" stroke="#000000"/>
<polyline fill="none" points="170,104 182,110 170,116" stroke="#000000"/>
<polyline fill="none" points="170,114 182,120 170,126" stroke="#000000"/>
<polyline fill="none" points="170,124 182,130 170,136" stroke="#000000"/>
<polyline fill="none" points="170,134 182,140 170,146" stroke="#000000"/>
<polyline fill="none" points="63,61 70,73 77,61" stroke="#000000"/>
<polyline fill="none" points="51,75 61,80 51,85" stroke="#000000"/>
<polyline fill="none" points="143,60 150,72 157,60" stroke="#000000"/>
<circ-anchor facing="east" x="50" y="60"/>
<circ-port dir="in" pin="110,430" x="50" y="140"/>
<circ-port dir="in" pin="110,460" x="50" y="130"/>
<circ-port dir="in" pin="110,490" x="50" y="150"/>
<circ-port dir="in" pin="110,530" x="110" y="60"/>
<circ-port dir="in" pin="110,570" x="70" y="60"/>
<circ-port dir="in" pin="170,1040" x="50" y="80"/>
<circ-port dir="in" pin="170,1100" x="150" y="60"/>
<circ-port dir="out" pin="1000,340" x="70" y="170"/>
<circ-port dir="out" pin="1000,540" x="110" y="170"/>
<circ-port dir="out" pin="1000,740" x="150" y="170"/>
<circ-port dir="out" pin="520,210" x="180" y="80"/>
<circ-port dir="out" pin="520,340" x="180" y="90"/>
<circ-port dir="out" pin="520,470" x="180" y="100"/>
<circ-port dir="out" pin="520,600" x="180" y="110"/>
<circ-port dir="out" pin="520,730" x="180" y="120"/>
<circ-port dir="out" pin="520,80" x="180" y="70"/>
<circ-port dir="out" pin="520,860" x="180" y="130"/>
<circ-port dir="out" pin="520,990" x="180" y="140"/>
</appear>
<comp lib="0" loc="(1000,340)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="OUT_SR1"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1000,540)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="OUT_SR2"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(1000,740)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="OUT_DR"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(110,430)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="SR1"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(110,460)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="SR2"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(110,490)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="DR"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(110,530)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="IN"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(110,570)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="WriteReg"/>
</comp>
<comp lib="0" loc="(130,430)" name="Tunnel">
<a name="label" val="SR1"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(130,460)" name="Tunnel">
<a name="label" val="SR2"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(130,490)" name="Tunnel">
<a name="label" val="DR"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(160,550)" name="Splitter">
<a name="bit1" 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"/>
<a name="bit16" val="1"/>
<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="0"/>
<a name="bit9" val="0"/>
<a name="facing" val="west"/>
<a name="incoming" val="17"/>
</comp>
<comp lib="0" loc="(170,1040)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Clock"/>
</comp>
<comp lib="0" loc="(170,1100)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Reset"/>
</comp>
<comp lib="0" loc="(200,490)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="DR"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(290,100)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit1" 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"/>
<a name="bit16" val="1"/>
<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="0"/>
<a name="bit9" val="0"/>
<a name="incoming" val="17"/>
</comp>
<comp lib="0" loc="(290,1010)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit1" 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"/>
<a name="bit16" val="1"/>
<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="0"/>
<a name="bit9" val="0"/>
<a name="incoming" val="17"/>
</comp>
<comp lib="0" loc="(290,230)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit1" 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"/>
<a name="bit16" val="1"/>
<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="0"/>
<a name="bit9" val="0"/>
<a name="incoming" val="17"/>
</comp>
<comp lib="0" loc="(290,360)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit1" 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"/>
<a name="bit16" val="1"/>
<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="0"/>
<a name="bit9" val="0"/>
<a name="incoming" val="17"/>
</comp>
<comp lib="0" loc="(290,490)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit1" 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"/>
<a name="bit16" val="1"/>
<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="0"/>
<a name="bit9" val="0"/>
<a name="incoming" val="17"/>
</comp>
<comp lib="0" loc="(290,620)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit1" 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"/>
<a name="bit16" val="1"/>
<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="0"/>
<a name="bit9" val="0"/>
<a name="incoming" val="17"/>
</comp>
<comp lib="0" loc="(290,750)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit1" 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"/>
<a name="bit16" val="1"/>
<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="0"/>
<a name="bit9" val="0"/>
<a name="incoming" val="17"/>
</comp>
<comp lib="0" loc="(290,880)" name="Splitter">
<a name="appear" val="center"/>
<a name="bit1" 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"/>
<a name="bit16" val="1"/>
<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="0"/>
<a name="bit9" val="0"/>
<a name="incoming" val="17"/>
</comp>
<comp lib="0" loc="(520,210)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Reg1"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(520,340)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Reg2"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(520,470)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Reg3"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(520,600)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Reg4"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(520,730)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Reg5"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(520,80)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Reg0"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(520,860)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Reg6"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(520,990)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="Reg7"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(570,1000)" name="Tunnel">
<a name="label" val="R7"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(570,220)" name="Tunnel">
<a name="label" val="R1"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(570,350)" name="Tunnel">
<a name="label" val="R2"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(570,480)" name="Tunnel">
<a name="label" val="R3"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(570,610)" name="Tunnel">
<a name="label" val="R4"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(570,740)" name="Tunnel">
<a name="label" val="R5"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(570,870)" name="Tunnel">
<a name="label" val="R6"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(570,90)" name="Tunnel">
<a name="label" val="R0"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(710,280)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="R7"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(740,280)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="R6"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(770,280)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="R5"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(800,280)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="R4"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(830,280)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="R3"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(860,280)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="R2"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(890,280)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="R1"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(920,280)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="R0"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(950,400)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="SR1"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(950,600)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="SR2"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(950,800)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="DR"/>
<a name="width" val="3"/>
</comp>
<comp lib="2" loc="(180,550)" name="Demultiplexer">
<a name="select" val="3"/>
<a name="selloc" val="tr"/>
<a name="width" val="17"/>
</comp>
<comp lib="2" loc="(970,340)" name="Multiplexer">
<a name="select" val="3"/>
<a name="width" val="16"/>
</comp>
<comp lib="2" loc="(970,540)" name="Multiplexer">
<a name="select" val="3"/>
<a name="width" val="16"/>
</comp>
<comp lib="2" loc="(970,740)" name="Multiplexer">
<a name="select" val="3"/>
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(380,190)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="R1"/>
<a name="trigger" val="falling"/>
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(380,320)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="R2"/>
<a name="trigger" val="falling"/>
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(380,450)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="R3"/>
<a name="trigger" val="falling"/>
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(380,580)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="R4"/>
<a name="trigger" val="falling"/>
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(380,60)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="R0"/>
<a name="trigger" val="falling"/>
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(380,710)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="R5"/>
<a name="trigger" val="falling"/>
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(380,840)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="R6"/>
<a name="trigger" val="falling"/>
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(380,970)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="R7"/>
<a name="trigger" val="falling"/>
<a name="width" val="16"/>
</comp>
<wire from="(110,430)" to="(130,430)"/>
<wire from="(110,460)" to="(130,460)"/>
<wire from="(110,490)" to="(130,490)"/>
<wire from="(110,530)" to="(130,530)"/>
<wire from="(110,570)" to="(140,570)"/>
<wire from="(130,530)" to="(130,560)"/>
<wire from="(130,560)" to="(140,560)"/>
<wire from="(160,550)" to="(180,550)"/>
<wire from="(170,1040)" to="(340,1040)"/>
<wire from="(170,1100)" to="(460,1100)"/>
<wire from="(200,490)" to="(200,510)"/>
<wire from="(220,100)" to="(220,510)"/>
<wire from="(220,100)" to="(290,100)"/>
<wire from="(220,1010)" to="(290,1010)"/>
<wire from="(220,520)" to="(240,520)"/>
<wire from="(220,530)" to="(260,530)"/>
<wire from="(220,540)" to="(280,540)"/>
<wire from="(220,550)" to="(280,550)"/>
<wire from="(220,560)" to="(260,560)"/>
<wire from="(220,570)" to="(240,570)"/>
<wire from="(220,580)" to="(220,1010)"/>
<wire from="(240,230)" to="(240,520)"/>
<wire from="(240,230)" to="(290,230)"/>
<wire from="(240,570)" to="(240,880)"/>
<wire from="(240,880)" to="(290,880)"/>
<wire from="(260,360)" to="(260,530)"/>
<wire from="(260,360)" to="(290,360)"/>
<wire from="(260,560)" to="(260,750)"/>
<wire from="(260,750)" to="(290,750)"/>
<wire from="(280,490)" to="(280,540)"/>
<wire from="(280,490)" to="(290,490)"/>
<wire from="(280,550)" to="(280,620)"/>
<wire from="(280,620)" to="(290,620)"/>
<wire from="(310,100)" to="(310,110)"/>
<wire from="(310,1000)" to="(380,1000)"/>
<wire from="(310,1010)" to="(310,1020)"/>
<wire from="(310,1020)" to="(380,1020)"/>
<wire from="(310,110)" to="(380,110)"/>
<wire from="(310,220)" to="(380,220)"/>
<wire from="(310,230)" to="(310,240)"/>
<wire from="(310,240)" to="(380,240)"/>
<wire from="(310,350)" to="(380,350)"/>
<wire from="(310,360)" to="(310,370)"/>
<wire from="(310,370)" to="(380,370)"/>
<wire from="(310,480)" to="(380,480)"/>
<wire from="(310,490)" to="(310,500)"/>
<wire from="(310,500)" to="(380,500)"/>
<wire from="(310,610)" to="(380,610)"/>
<wire from="(310,620)" to="(310,630)"/>
<wire from="(310,630)" to="(380,630)"/>
<wire from="(310,740)" to="(380,740)"/>
<wire from="(310,750)" to="(310,760)"/>
<wire from="(310,760)" to="(380,760)"/>
<wire from="(310,870)" to="(380,870)"/>
<wire from="(310,880)" to="(310,890)"/>
<wire from="(310,890)" to="(380,890)"/>
<wire from="(310,90)" to="(380,90)"/>
<wire from="(340,1040)" to="(380,1040)"/>
<wire from="(340,130)" to="(340,260)"/>
<wire from="(340,130)" to="(380,130)"/>
<wire from="(340,260)" to="(340,390)"/>
<wire from="(340,260)" to="(380,260)"/>
<wire from="(340,390)" to="(340,520)"/>
<wire from="(340,390)" to="(380,390)"/>
<wire from="(340,520)" to="(340,650)"/>
<wire from="(340,520)" to="(380,520)"/>
<wire from="(340,650)" to="(340,780)"/>
<wire from="(340,650)" to="(380,650)"/>
<wire from="(340,780)" to="(340,910)"/>
<wire from="(340,780)" to="(380,780)"/>
<wire from="(340,910)" to="(340,1040)"/>
<wire from="(340,910)" to="(380,910)"/>
<wire from="(410,1060)" to="(410,1070)"/>
<wire from="(410,1070)" to="(460,1070)"/>
<wire from="(410,150)" to="(410,160)"/>
<wire from="(410,160)" to="(460,160)"/>
<wire from="(410,280)" to="(410,290)"/>
<wire from="(410,290)" to="(460,290)"/>
<wire from="(410,410)" to="(410,420)"/>
<wire from="(410,420)" to="(460,420)"/>
<wire from="(410,540)" to="(410,550)"/>
<wire from="(410,550)" to="(460,550)"/>
<wire from="(410,670)" to="(410,680)"/>
<wire from="(410,680)" to="(460,680)"/>
<wire from="(410,800)" to="(410,810)"/>
<wire from="(410,810)" to="(460,810)"/>
<wire from="(410,930)" to="(410,940)"/>
<wire from="(410,940)" to="(460,940)"/>
<wire from="(440,1000)" to="(520,1000)"/>
<wire from="(440,220)" to="(520,220)"/>
<wire from="(440,350)" to="(520,350)"/>
<wire from="(440,480)" to="(520,480)"/>
<wire from="(440,610)" to="(520,610)"/>
<wire from="(440,740)" to="(520,740)"/>
<wire from="(440,870)" to="(520,870)"/>
<wire from="(440,90)" to="(520,90)"/>
<wire from="(460,1070)" to="(460,1100)"/>
<wire from="(460,160)" to="(460,290)"/>
<wire from="(460,290)" to="(460,420)"/>
<wire from="(460,420)" to="(460,550)"/>
<wire from="(460,550)" to="(460,680)"/>
<wire from="(460,680)" to="(460,810)"/>
<wire from="(460,810)" to="(460,940)"/>
<wire from="(460,940)" to="(460,1070)"/>
<wire from="(520,1000)" to="(570,1000)"/>
<wire from="(520,210)" to="(520,220)"/>
<wire from="(520,220)" to="(570,220)"/>
<wire from="(520,340)" to="(520,350)"/>
<wire from="(520,350)" to="(570,350)"/>
<wire from="(520,470)" to="(520,480)"/>
<wire from="(520,480)" to="(570,480)"/>
<wire from="(520,600)" to="(520,610)"/>
<wire from="(520,610)" to="(570,610)"/>
<wire from="(520,730)" to="(520,740)"/>
<wire from="(520,740)" to="(570,740)"/>
<wire from="(520,80)" to="(520,90)"/>
<wire from="(520,860)" to="(520,870)"/>
<wire from="(520,870)" to="(570,870)"/>
<wire from="(520,90)" to="(570,90)"/>
<wire from="(520,990)" to="(520,1000)"/>
<wire from="(710,280)" to="(710,370)"/>
<wire from="(710,370)" to="(710,570)"/>
<wire from="(710,370)" to="(930,370)"/>
<wire from="(710,570)" to="(710,770)"/>
<wire from="(710,570)" to="(930,570)"/>
<wire from="(710,770)" to="(930,770)"/>
<wire from="(740,280)" to="(740,360)"/>
<wire from="(740,360)" to="(740,560)"/>
<wire from="(740,360)" to="(930,360)"/>
<wire from="(740,560)" to="(740,760)"/>
<wire from="(740,560)" to="(930,560)"/>
<wire from="(740,760)" to="(930,760)"/>
<wire from="(770,280)" to="(770,350)"/>
<wire from="(770,350)" to="(770,550)"/>
<wire from="(770,350)" to="(930,350)"/>
<wire from="(770,550)" to="(770,750)"/>
<wire from="(770,550)" to="(930,550)"/>
<wire from="(770,750)" to="(930,750)"/>
<wire from="(800,280)" to="(800,340)"/>
<wire from="(800,340)" to="(800,540)"/>
<wire from="(800,340)" to="(930,340)"/>
<wire from="(800,540)" to="(800,740)"/>
<wire from="(800,540)" to="(930,540)"/>
<wire from="(800,740)" to="(930,740)"/>
<wire from="(830,280)" to="(830,330)"/>
<wire from="(830,330)" to="(830,530)"/>
<wire from="(830,330)" to="(930,330)"/>
<wire from="(830,530)" to="(830,730)"/>
<wire from="(830,530)" to="(930,530)"/>
<wire from="(830,730)" to="(930,730)"/>
<wire from="(860,280)" to="(860,320)"/>
<wire from="(860,320)" to="(860,520)"/>
<wire from="(860,320)" to="(930,320)"/>
<wire from="(860,520)" to="(860,720)"/>
<wire from="(860,520)" to="(930,520)"/>
<wire from="(860,720)" to="(930,720)"/>
<wire from="(890,280)" to="(890,310)"/>
<wire from="(890,310)" to="(890,510)"/>
<wire from="(890,310)" to="(930,310)"/>
<wire from="(890,510)" to="(890,710)"/>
<wire from="(890,510)" to="(930,510)"/>
<wire from="(890,710)" to="(930,710)"/>
<wire from="(920,280)" to="(920,300)"/>
<wire from="(920,300)" to="(920,500)"/>
<wire from="(920,300)" to="(930,300)"/>
<wire from="(920,500)" to="(920,700)"/>
<wire from="(920,500)" to="(930,500)"/>
<wire from="(920,700)" to="(930,700)"/>
<wire from="(950,380)" to="(950,400)"/>
<wire from="(950,580)" to="(950,600)"/>
<wire from="(950,780)" to="(950,800)"/>
<wire from="(970,340)" to="(1000,340)"/>
<wire from="(970,540)" to="(1000,540)"/>
<wire from="(970,740)" to="(1000,740)"/>
</circuit>
<circuit name="RegPC">
<a name="appearance" val="custom"/>
<a name="circuit" val="RegPC"/>
<a name="clabel" val="RegPC"/>
<a name="clabelfont" val="SansSerif plain 14"/>
<a name="clabelup" val="north"/>
<a name="simulationFrequency" val="1.0"/>
<appear>
<rect fill="#ffffff" height="80" stroke="#ff0000" stroke-width="2" width="90" x="50" y="50"/>
<polyline fill="none" points="50,54 62,60 50,66" stroke="#000000"/>
<polyline fill="none" points="50,74 62,80 50,86" stroke="#000000"/>
<polyline fill="none" points="50,94 62,100 50,106" stroke="#000000"/>
<polyline fill="none" points="50,114 62,120 50,126" stroke="#000000"/>
<polyline fill="none" points="85,131 90,140 95,131" stroke="#000000"/>
<polyline fill="none" points="140,105 129,110 140,115" stroke="#000000"/>
<polyline fill="none" points="140,85 129,90 140,95" stroke="#000000"/>
<polyline fill="none" points="139,65 128,70 139,75" stroke="#000000"/>
<circ-anchor facing="east" x="50" y="60"/>
<circ-port dir="in" pin="320,250" x="140" y="70"/>
<circ-port dir="in" pin="320,270" x="140" y="90"/>
<circ-port dir="in" pin="430,590" x="50" y="60"/>
<circ-port dir="in" pin="430,610" x="50" y="80"/>
<circ-port dir="in" pin="430,630" x="50" y="100"/>
<circ-port dir="in" pin="430,650" x="50" y="120"/>
<circ-port dir="in" pin="440,550" x="140" y="110"/>
<circ-port dir="out" pin="1170,560" x="90" y="140"/>
</appear>
<comp lib="0" loc="(1170,560)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="PC_OUT"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(320,250)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="CALL"/>
</comp>
<comp lib="0" loc="(320,270)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="RET"/>
</comp>
<comp lib="0" loc="(430,590)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Cond"/>
</comp>
<comp lib="0" loc="(430,610)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="CTRL"/>
</comp>
<comp lib="0" loc="(430,630)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Clock"/>
</comp>
<comp lib="0" loc="(430,650)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Reset"/>
</comp>
<comp lib="0" loc="(440,550)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="JMP_Address"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(620,470)" name="Constant">
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(860,550)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="labelloc" val="south"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="1" loc="(640,600)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="2" loc="(1150,560)" name="Multiplexer">
<a name="width" val="16"/>
</comp>
<comp lib="2" loc="(740,540)" name="Multiplexer">
<a name="width" val="16"/>
</comp>
<comp lib="2" loc="(830,550)" name="Multiplexer">
<a name="width" val="16"/>
</comp>
<comp lib="3" loc="(680,460)" name="Adder">
<a name="width" val="16"/>
</comp>
<comp lib="4" loc="(920,520)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="label" val="PC"/>
<a name="trigger" val="falling"/>
<a name="width" val="16"/>
</comp>
<comp loc="(770,230)" name="Pile"/>
<wire from="(1080,490)" to="(1080,570)"/>
<wire from="(1080,570)" to="(1120,570)"/>
<wire from="(1100,410)" to="(1100,550)"/>
<wire from="(1100,550)" to="(1120,550)"/>
<wire from="(1130,580)" to="(1130,680)"/>
<wire from="(1150,560)" to="(1170,560)"/>
<wire from="(320,250)" to="(550,250)"/>
<wire from="(320,270)" to="(330,270)"/>
<wire from="(330,270)" to="(330,680)"/>
<wire from="(330,270)" to="(550,270)"/>
<wire from="(330,680)" to="(810,680)"/>
<wire from="(430,590)" to="(610,590)"/>
<wire from="(430,610)" to="(610,610)"/>
<wire from="(430,630)" to="(550,630)"/>
<wire from="(430,650)" to="(510,650)"/>
<wire from="(440,550)" to="(710,550)"/>
<wire from="(510,230)" to="(510,650)"/>
<wire from="(510,230)" to="(550,230)"/>
<wire from="(510,650)" to="(950,650)"/>
<wire from="(530,290)" to="(530,510)"/>
<wire from="(530,290)" to="(550,290)"/>
<wire from="(530,510)" to="(690,510)"/>
<wire from="(550,310)" to="(550,630)"/>
<wire from="(550,630)" to="(910,630)"/>
<wire from="(620,410)" to="(1100,410)"/>
<wire from="(620,410)" to="(620,450)"/>
<wire from="(620,450)" to="(640,450)"/>
<wire from="(620,470)" to="(640,470)"/>
<wire from="(640,600)" to="(720,600)"/>
<wire from="(680,460)" to="(690,460)"/>
<wire from="(690,460)" to="(690,510)"/>
<wire from="(690,510)" to="(690,530)"/>
<wire from="(690,530)" to="(710,530)"/>
<wire from="(720,560)" to="(720,600)"/>
<wire from="(740,540)" to="(800,540)"/>
<wire from="(770,230)" to="(780,230)"/>
<wire from="(780,230)" to="(780,560)"/>
<wire from="(780,560)" to="(800,560)"/>
<wire from="(810,570)" to="(810,680)"/>
<wire from="(810,680)" to="(1130,680)"/>
<wire from="(830,550)" to="(860,550)"/>
<wire from="(860,550)" to="(890,550)"/>
<wire from="(890,490)" to="(1080,490)"/>
<wire from="(890,490)" to="(890,550)"/>
<wire from="(890,550)" to="(920,550)"/>
<wire from="(910,590)" to="(910,630)"/>
<wire from="(910,590)" to="(920,590)"/>
<wire from="(950,610)" to="(950,650)"/>
<wire from="(980,550)" to="(1100,550)"/>
</circuit>
<circuit name="Seq">
<a name="appearance" val="custom"/>
<a name="circuit" val="Seq"/>
<a name="clabel" val="Seq"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<a name="clabelup" val="north"/>
<a name="simulationFrequency" val="1.0"/>
<appear>
<path d="M126,51 Q130,61 134,51" fill="none" stroke="#808080" stroke-width="2"/>
<rect fill="#ffffff" height="60" stroke="#000000" stroke-width="2" width="60" x="100" y="50"/>
<polyline fill="none" points="160,95 170,100 160,105" stroke="#000000"/>
<polyline fill="none" points="100,55 110,60 100,65" stroke="#000000"/>
<polyline fill="none" points="100,95 110,100 100,105" stroke="#000000"/>
<polyline fill="none" points="160,55 170,60 160,65" stroke="#000000"/>
<polyline fill="none" points="160,75 170,80 160,85" stroke="#000000"/>
<circ-anchor facing="east" x="100" y="50"/>
<circ-port dir="in" pin="170,320" x="100" y="60"/>
<circ-port dir="in" pin="170,340" x="100" y="100"/>
<circ-port dir="out" pin="360,320" x="170" y="60"/>
<circ-port dir="out" pin="500,180" x="170" y="80"/>
<circ-port dir="out" pin="500,210" x="170" y="100"/>
</appear>
<comp lib="0" loc="(170,320)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="ClockOrig"/>
</comp>
<comp lib="0" loc="(170,340)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="reset"/>
</comp>
<comp lib="0" loc="(360,320)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="Clock"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(500,180)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="Fetch"/>
<a name="output" val="true"/>
</comp>
<comp lib="0" loc="(500,210)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="Exec"/>
<a name="output" val="true"/>
</comp>
<comp lib="1" loc="(290,320)" name="Buffer"/>
<comp lib="1" loc="(440,180)" name="NOT Gate"/>
<comp lib="4" loc="(290,180)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="trigger" val="falling"/>
<a name="width" val="1"/>
</comp>
<wire from="(170,320)" to="(230,320)"/>
<wire from="(170,340)" to="(240,340)"/>
<wire from="(230,250)" to="(230,320)"/>
<wire from="(230,250)" to="(290,250)"/>
<wire from="(230,320)" to="(270,320)"/>
<wire from="(240,270)" to="(240,340)"/>
<wire from="(240,270)" to="(320,270)"/>
<wire from="(280,160)" to="(280,210)"/>
<wire from="(280,160)" to="(460,160)"/>
<wire from="(280,210)" to="(290,210)"/>
<wire from="(290,320)" to="(360,320)"/>
<wire from="(350,210)" to="(400,210)"/>
<wire from="(400,180)" to="(400,210)"/>
<wire from="(400,180)" to="(410,180)"/>
<wire from="(400,210)" to="(500,210)"/>
<wire from="(440,180)" to="(460,180)"/>
<wire from="(460,160)" to="(460,180)"/>
<wire from="(460,180)" to="(500,180)"/>
</circuit>
<circuit name="Comparateur">
<a name="appearance" val="custom"/>
<a name="circuit" val="Comparateur"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="clabel" val="Comparateur"/>
<a name="clabelfont" val="SansSerif plain 14"/>
<a name="clabelup" val="north"/>
<a name="simulationFrequency" val="1.0"/>
<appear>
<rect fill="#ffffff" height="61" stroke="#ff0000" stroke-width="2" width="90" x="50" y="40"/>
<polyline fill="none" points="140,65 150,70 140,75" stroke="#000000"/>
<polyline fill="none" points="49,45 59,50 49,55" stroke="#000000"/>
<polyline fill="none" points="49,65 59,70 49,75" stroke="#000000"/>
<polyline fill="none" points="49,85 59,90 49,95" stroke="#000000"/>
<circ-anchor facing="east" x="50" y="40"/>
<circ-port dir="in" pin="490,430" x="50" y="50"/>
<circ-port dir="in" pin="490,470" x="50" y="70"/>
<circ-port dir="in" pin="490,510" x="50" y="90"/>
<circ-port dir="out" pin="710,370" x="150" y="70"/>
</appear>
<comp lib="0" loc="(490,430)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Arg1"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(490,470)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Arg2"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(490,510)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="GetOp"/>
<a name="width" val="3"/>
</comp>
<comp lib="0" loc="(580,330)" name="Constant"/>
<comp lib="0" loc="(710,370)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="Cond"/>
<a name="output" val="true"/>
</comp>
<comp lib="1" loc="(620,350)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="2" loc="(680,370)" name="Multiplexer">
<a name="select" val="3"/>
</comp>
<comp lib="3" loc="(560,450)" name="Comparator">
<a name="width" val="16"/>
</comp>
<wire from="(490,430)" to="(510,430)"/>
<wire from="(490,470)" to="(510,470)"/>
<wire from="(490,510)" to="(660,510)"/>
<wire from="(510,430)" to="(510,440)"/>
<wire from="(510,440)" to="(520,440)"/>
<wire from="(510,460)" to="(510,470)"/>
<wire from="(510,460)" to="(520,460)"/>
<wire from="(560,440)" to="(580,440)"/>
<wire from="(560,450)" to="(590,450)"/>
<wire from="(560,460)" to="(600,460)"/>
<wire from="(580,330)" to="(630,330)"/>
<wire from="(580,360)" to="(580,440)"/>
<wire from="(580,360)" to="(640,360)"/>
<wire from="(590,340)" to="(590,350)"/>
<wire from="(590,340)" to="(640,340)"/>
<wire from="(590,350)" to="(590,450)"/>
<wire from="(590,350)" to="(600,350)"/>
<wire from="(600,370)" to="(600,460)"/>
<wire from="(600,370)" to="(640,370)"/>
<wire from="(620,350)" to="(640,350)"/>
<wire from="(630,330)" to="(630,380)"/>
<wire from="(630,330)" to="(640,330)"/>
<wire from="(630,380)" to="(630,390)"/>
<wire from="(630,380)" to="(640,380)"/>
<wire from="(630,390)" to="(630,400)"/>
<wire from="(630,390)" to="(640,390)"/>
<wire from="(630,400)" to="(640,400)"/>
<wire from="(660,410)" to="(660,510)"/>
<wire from="(680,370)" to="(710,370)"/>
</circuit>
<circuit name="InputRegistre">
<a name="appearance" val="custom"/>
<a name="circuit" val="InputRegistre"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<appear>
<rect fill="#ffffff" height="61" stroke="#ff0000" stroke-width="2" width="90" x="50" y="39"/>
<polyline fill="none" points="138,85 129,89 138,94" stroke="#000000"/>
<polyline fill="none" points="141,45 132,50 141,55" stroke="#000000"/>
<polyline fill="none" points="49,66 39,70 49,75" stroke="#000000"/>
<polyline fill="none" points="140,64 130,69 140,74" stroke="#000000"/>
<text dominant-baseline="central" font-family="SansSerif" font-size="12" text-anchor="middle" x="93" y="70">InputRegistre</text>
<circ-anchor facing="east" x="50" y="40"/>
<circ-port dir="in" pin="150,490" x="140" y="50"/>
<circ-port dir="in" pin="210,340" x="140" y="90"/>
<circ-port dir="in" pin="210,420" x="140" y="70"/>
<circ-port dir="out" pin="450,380" x="40" y="70"/>
</appear>
<comp lib="0" loc="(150,490)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Load"/>
</comp>
<comp lib="0" loc="(210,340)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="ResultatALU"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(210,420)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="MemOut"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(310,420)" name="Bit Extender">
<a name="in_width" val="32"/>
</comp>
<comp lib="0" loc="(450,380)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="InputReg"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="2" loc="(420,380)" name="Multiplexer">
<a name="width" val="16"/>
</comp>
<wire from="(150,490)" to="(400,490)"/>
<wire from="(210,340)" to="(340,340)"/>
<wire from="(210,420)" to="(270,420)"/>
<wire from="(310,420)" to="(340,420)"/>
<wire from="(340,340)" to="(340,370)"/>
<wire from="(340,370)" to="(390,370)"/>
<wire from="(340,390)" to="(340,420)"/>
<wire from="(340,390)" to="(390,390)"/>
<wire from="(400,400)" to="(400,490)"/>
<wire from="(420,380)" to="(450,380)"/>
</circuit>
<circuit name="Pile">
<a name="appearance" val="logisim_evolution"/>
<a name="circuit" val="Pile"/>
<a name="circuitnamedboxfixedsize" val="true"/>
<a name="simulationFrequency" val="1.0"/>
<comp lib="0" loc="(1250,390)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="MemOut"/>
<a name="labelloc" val="north"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(1300,390)" name="Pin">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="DepilerDonnees"/>
<a name="output" val="true"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(140,260)" name="Constant">
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(230,320)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Reset"/>
</comp>
<comp lib="0" loc="(230,350)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Empiler"/>
</comp>
<comp lib="0" loc="(230,380)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Depiler"/>
</comp>
<comp lib="0" loc="(230,430)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="EmpilerDonnees"/>
<a name="width" val="16"/>
</comp>
<comp lib="0" loc="(230,480)" name="Pin">
<a name="appearance" val="classic"/>
<a name="label" val="Clock"/>
</comp>
<comp lib="0" loc="(360,220)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(500,430)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="label" val="MemIn"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(520,210)" name="Constant">
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(710,140)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="south"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="0" loc="(740,180)" name="Constant">
<a name="value" val="0xff"/>
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(880,380)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="label" val="Load"/>
<a name="labelloc" val="south"/>
</comp>
<comp lib="0" loc="(890,150)" name="Constant">
<a name="value" val="0x0"/>
<a name="width" val="8"/>
</comp>
<comp lib="0" loc="(950,230)" name="Probe">
<a name="appearance" val="classic"/>
<a name="facing" val="west"/>
<a name="radix" val="10signed"/>
</comp>
<comp lib="1" loc="(320,270)" name="OR Gate">
<a name="size" val="30"/>
</comp>
<comp lib="1" loc="(860,390)" name="AND Gate">
<a name="size" val="30"/>
</comp>
<comp lib="2" loc="(290,220)" name="Multiplexer">
<a name="width" val="8"/>
</comp>
<comp lib="2" loc="(670,160)" name="Multiplexer">
<a name="width" val="8"/>
</comp>
<comp lib="2" loc="(930,140)" name="Multiplexer">
<a name="width" val="8"/>
</comp>
<comp lib="3" loc="(220,190)" name="Adder"/>
<comp lib="3" loc="(220,250)" name="Subtractor"/>
<comp lib="3" loc="(580,200)" name="Subtractor"/>
<comp lib="3" loc="(810,170)" name="Comparator"/>
<comp lib="4" loc="(390,190)" name="Register">
<a name="appearance" val="logisim_evolution"/>
<a name="trigger" val="falling"/>
</comp>
<comp lib="4" loc="(960,300)" name="RAM">
<a name="appearance" val="logisim_evolution"/>
<a name="asyncread" val="true"/>
<a name="clearpin" val="true"/>
<a name="dataWidth" val="16"/>
<a name="trigger" val="falling"/>
</comp>
<wire from="(1000,290)" to="(1000,300)"/>
<wire from="(1200,390)" to="(1250,390)"/>
<wire from="(1250,390)" to="(1300,390)"/>
<wire from="(140,150)" to="(140,180)"/>
<wire from="(140,150)" to="(490,150)"/>
<wire from="(140,180)" to="(140,240)"/>
<wire from="(140,180)" to="(180,180)"/>
<wire from="(140,240)" to="(180,240)"/>
<wire from="(140,260)" to="(160,260)"/>
<wire from="(160,200)" to="(160,260)"/>
<wire from="(160,200)" to="(180,200)"/>
<wire from="(160,260)" to="(180,260)"/>
<wire from="(220,190)" to="(240,190)"/>
<wire from="(220,250)" to="(240,250)"/>
<wire from="(230,320)" to="(420,320)"/>
<wire from="(230,350)" to="(250,350)"/>
<wire from="(230,380)" to="(270,380)"/>
<wire from="(230,430)" to="(500,430)"/>
<wire from="(230,480)" to="(340,480)"/>
<wire from="(240,190)" to="(240,210)"/>
<wire from="(240,210)" to="(260,210)"/>
<wire from="(240,230)" to="(240,250)"/>
<wire from="(240,230)" to="(260,230)"/>
<wire from="(250,260)" to="(250,350)"/>
<wire from="(250,260)" to="(290,260)"/>
<wire from="(250,350)" to="(960,350)"/>
<wire from="(270,240)" to="(270,280)"/>
<wire from="(270,280)" to="(270,380)"/>
<wire from="(270,280)" to="(290,280)"/>
<wire from="(270,380)" to="(650,380)"/>
<wire from="(290,220)" to="(360,220)"/>
<wire from="(320,270)" to="(330,270)"/>
<wire from="(330,240)" to="(330,270)"/>
<wire from="(330,240)" to="(390,240)"/>
<wire from="(340,300)" to="(340,480)"/>
<wire from="(340,300)" to="(380,300)"/>
<wire from="(340,480)" to="(620,480)"/>
<wire from="(360,220)" to="(390,220)"/>
<wire from="(380,260)" to="(380,300)"/>
<wire from="(380,260)" to="(390,260)"/>
<wire from="(420,280)" to="(420,290)"/>
<wire from="(420,290)" to="(1000,290)"/>
<wire from="(420,290)" to="(420,320)"/>
<wire from="(450,220)" to="(490,220)"/>
<wire from="(490,150)" to="(490,190)"/>
<wire from="(490,150)" to="(640,150)"/>
<wire from="(490,190)" to="(490,220)"/>
<wire from="(490,190)" to="(540,190)"/>
<wire from="(500,430)" to="(940,430)"/>
<wire from="(520,210)" to="(540,210)"/>
<wire from="(580,200)" to="(620,200)"/>
<wire from="(620,170)" to="(620,200)"/>
<wire from="(620,170)" to="(640,170)"/>
<wire from="(620,400)" to="(620,480)"/>
<wire from="(620,400)" to="(830,400)"/>
<wire from="(620,480)" to="(920,480)"/>
<wire from="(650,180)" to="(650,380)"/>
<wire from="(650,380)" to="(830,380)"/>
<wire from="(670,160)" to="(710,160)"/>
<wire from="(710,140)" to="(710,160)"/>
<wire from="(710,160)" to="(740,160)"/>
<wire from="(740,130)" to="(740,160)"/>
<wire from="(740,130)" to="(900,130)"/>
<wire from="(740,160)" to="(770,160)"/>
<wire from="(740,180)" to="(770,180)"/>
<wire from="(810,170)" to="(910,170)"/>
<wire from="(860,390)" to="(880,390)"/>
<wire from="(880,360)" to="(880,380)"/>
<wire from="(880,360)" to="(960,360)"/>
<wire from="(880,380)" to="(880,390)"/>
<wire from="(890,150)" to="(900,150)"/>
<wire from="(910,160)" to="(910,170)"/>
<wire from="(920,370)" to="(920,480)"/>
<wire from="(920,370)" to="(960,370)"/>
<wire from="(930,140)" to="(950,140)"/>
<wire from="(940,390)" to="(940,430)"/>
<wire from="(940,390)" to="(960,390)"/>
<wire from="(950,140)" to="(950,230)"/>
<wire from="(950,230)" to="(950,310)"/>
<wire from="(950,310)" to="(960,310)"/>
</circuit>
</project>