Jelajahi Sumber

Implement the `addi` instruction

DricomDragon 5 tahun lalu
induk
melakukan
885962b0e2
1 mengubah file dengan 389 tambahan dan 388 penghapusan
  1. 389 388
      logisim/nano.circ

+ 389 - 388
logisim/nano.circ

@@ -1,7 +1,8 @@
 <?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">
+  This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
+
+  <lib desc="#Wiring" name="0">
     <tool name="Probe">
       <a name="facing" val="west"/>
     </tool>
@@ -73,241 +74,268 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
     <a name="clabel" val="Z"/>
     <a name="clabelup" val="east"/>
     <a name="clabelfont" val="SansSerif plain 12"/>
-    <wire from="(430,280)" to="(430,330)"/>
-    <wire from="(80,10)" to="(850,10)"/>
-    <wire from="(760,630)" to="(850,630)"/>
-    <wire from="(920,210)" to="(930,210)"/>
-    <wire from="(510,970)" to="(560,970)"/>
-    <wire from="(850,230)" to="(850,240)"/>
+    <wire from="(730,470)" to="(850,470)"/>
+    <wire from="(950,230)" to="(950,240)"/>
+    <wire from="(860,220)" to="(860,230)"/>
+    <wire from="(200,120)" to="(200,130)"/>
+    <wire from="(510,820)" to="(570,820)"/>
+    <wire from="(760,550)" to="(760,630)"/>
+    <wire from="(530,560)" to="(550,560)"/>
+    <wire from="(690,560)" to="(710,560)"/>
+    <wire from="(450,290)" to="(450,330)"/>
+    <wire from="(240,120)" to="(250,120)"/>
+    <wire from="(960,210)" to="(1010,210)"/>
+    <wire from="(640,130)" to="(640,140)"/>
+    <wire from="(830,480)" to="(830,490)"/>
+    <wire from="(530,830)" to="(570,830)"/>
+    <wire from="(310,110)" to="(310,450)"/>
+    <wire from="(390,120)" to="(390,140)"/>
     <wire from="(840,180)" to="(880,180)"/>
-    <wire from="(790,150)" to="(790,270)"/>
-    <wire from="(520,130)" to="(520,180)"/>
-    <wire from="(350,660)" to="(370,660)"/>
-    <wire from="(540,800)" to="(540,810)"/>
-    <wire from="(510,740)" to="(860,740)"/>
-    <wire from="(800,510)" to="(800,550)"/>
-    <wire from="(530,440)" to="(550,440)"/>
-    <wire from="(850,110)" to="(870,110)"/>
-    <wire from="(850,60)" to="(850,110)"/>
-    <wire from="(150,580)" to="(150,610)"/>
-    <wire from="(280,590)" to="(280,660)"/>
+    <wire from="(710,120)" to="(710,150)"/>
+    <wire from="(220,590)" to="(220,610)"/>
+    <wire from="(780,430)" to="(780,450)"/>
+    <wire from="(620,140)" to="(620,220)"/>
     <wire from="(510,720)" to="(940,720)"/>
-    <wire from="(200,120)" to="(230,120)"/>
-    <wire from="(680,170)" to="(680,190)"/>
-    <wire from="(950,290)" to="(950,300)"/>
-    <wire from="(610,390)" to="(610,440)"/>
-    <wire from="(730,440)" to="(770,440)"/>
-    <wire from="(780,590)" to="(850,590)"/>
-    <wire from="(330,240)" to="(330,440)"/>
-    <wire from="(730,520)" to="(790,520)"/>
-    <wire from="(240,120)" to="(250,120)"/>
-    <wire from="(730,530)" to="(780,530)"/>
-    <wire from="(950,300)" to="(970,300)"/>
-    <wire from="(830,490)" to="(850,490)"/>
-    <wire from="(660,160)" to="(660,250)"/>
-    <wire from="(240,110)" to="(240,120)"/>
-    <wire from="(950,240)" to="(970,240)"/>
-    <wire from="(690,560)" to="(710,560)"/>
     <wire from="(970,300)" to="(970,320)"/>
-    <wire from="(730,540)" to="(770,540)"/>
-    <wire from="(770,540)" to="(770,610)"/>
-    <wire from="(730,550)" to="(760,550)"/>
+    <wire from="(140,120)" to="(180,120)"/>
+    <wire from="(680,170)" to="(680,190)"/>
+    <wire from="(780,110)" to="(780,130)"/>
+    <wire from="(270,590)" to="(270,690)"/>
     <wire from="(210,200)" to="(240,200)"/>
-    <wire from="(80,100)" to="(80,190)"/>
-    <wire from="(450,280)" to="(450,290)"/>
-    <wire from="(430,40)" to="(430,100)"/>
-    <wire from="(640,140)" to="(670,140)"/>
-    <wire from="(810,110)" to="(850,110)"/>
+    <wire from="(620,140)" to="(640,140)"/>
     <wire from="(330,240)" to="(360,240)"/>
-    <wire from="(810,110)" to="(810,250)"/>
-    <wire from="(940,230)" to="(940,240)"/>
-    <wire from="(410,280)" to="(410,290)"/>
-    <wire from="(80,10)" to="(80,80)"/>
-    <wire from="(470,280)" to="(470,330)"/>
-    <wire from="(390,120)" to="(390,140)"/>
-    <wire from="(960,270)" to="(1010,270)"/>
-    <wire from="(810,500)" to="(810,530)"/>
-    <wire from="(810,530)" to="(850,530)"/>
-    <wire from="(860,220)" to="(860,230)"/>
-    <wire from="(270,690)" to="(290,690)"/>
-    <wire from="(180,110)" to="(180,120)"/>
-    <wire from="(780,110)" to="(780,130)"/>
-    <wire from="(510,820)" to="(570,820)"/>
-    <wire from="(800,550)" to="(850,550)"/>
-    <wire from="(780,430)" to="(850,430)"/>
+    <wire from="(70,550)" to="(90,550)"/>
+    <wire from="(790,150)" to="(790,270)"/>
     <wire from="(390,280)" to="(390,330)"/>
-    <wire from="(600,140)" to="(620,140)"/>
-    <wire from="(510,800)" to="(540,800)"/>
-    <wire from="(290,570)" to="(310,570)"/>
-    <wire from="(610,950)" to="(680,950)"/>
-    <wire from="(230,110)" to="(230,120)"/>
-    <wire from="(220,590)" to="(220,610)"/>
-    <wire from="(710,120)" to="(720,120)"/>
-    <wire from="(740,50)" to="(740,90)"/>
-    <wire from="(540,150)" to="(570,150)"/>
-    <wire from="(840,210)" to="(870,210)"/>
-    <wire from="(80,80)" to="(170,80)"/>
-    <wire from="(840,220)" to="(860,220)"/>
-    <wire from="(310,110)" to="(380,110)"/>
-    <wire from="(270,690)" to="(270,720)"/>
-    <wire from="(840,230)" to="(850,230)"/>
-    <wire from="(910,760)" to="(940,760)"/>
-    <wire from="(990,740)" to="(1010,740)"/>
-    <wire from="(780,430)" to="(780,450)"/>
-    <wire from="(250,90)" to="(290,90)"/>
-    <wire from="(410,290)" to="(450,290)"/>
-    <wire from="(530,560)" to="(550,560)"/>
-    <wire from="(270,590)" to="(270,690)"/>
-    <wire from="(540,150)" to="(540,320)"/>
-    <wire from="(80,190)" to="(180,190)"/>
-    <wire from="(450,290)" to="(450,330)"/>
+    <wire from="(470,280)" to="(470,330)"/>
+    <wire from="(920,210)" to="(930,210)"/>
+    <wire from="(700,150)" to="(710,150)"/>
+    <wire from="(790,520)" to="(790,570)"/>
+    <wire from="(80,10)" to="(850,10)"/>
+    <wire from="(320,90)" to="(380,90)"/>
+    <wire from="(540,800)" to="(540,810)"/>
     <wire from="(830,930)" to="(880,930)"/>
-    <wire from="(840,200)" to="(880,200)"/>
-    <wire from="(310,570)" to="(330,570)"/>
-    <wire from="(240,570)" to="(260,570)"/>
-    <wire from="(310,450)" to="(310,570)"/>
-    <wire from="(70,450)" to="(70,550)"/>
-    <wire from="(540,840)" to="(570,840)"/>
-    <wire from="(590,440)" to="(610,440)"/>
-    <wire from="(530,830)" to="(530,840)"/>
-    <wire from="(810,250)" to="(820,250)"/>
-    <wire from="(790,270)" to="(930,270)"/>
-    <wire from="(260,430)" to="(260,450)"/>
-    <wire from="(260,450)" to="(310,450)"/>
-    <wire from="(860,230)" to="(880,230)"/>
-    <wire from="(320,40)" to="(320,90)"/>
+    <wire from="(70,450)" to="(260,450)"/>
+    <wire from="(850,230)" to="(850,240)"/>
+    <wire from="(510,930)" to="(560,930)"/>
+    <wire from="(110,530)" to="(110,540)"/>
+    <wire from="(730,440)" to="(770,440)"/>
+    <wire from="(600,220)" to="(600,250)"/>
+    <wire from="(840,780)" to="(840,800)"/>
+    <wire from="(270,690)" to="(270,720)"/>
+    <wire from="(920,300)" to="(920,320)"/>
+    <wire from="(600,250)" to="(620,250)"/>
+    <wire from="(290,90)" to="(320,90)"/>
+    <wire from="(760,630)" to="(850,630)"/>
+    <wire from="(200,90)" to="(220,90)"/>
+    <wire from="(590,800)" to="(660,800)"/>
+    <wire from="(780,590)" to="(850,590)"/>
+    <wire from="(780,430)" to="(850,430)"/>
+    <wire from="(610,390)" to="(610,440)"/>
+    <wire from="(770,410)" to="(850,410)"/>
     <wire from="(660,160)" to="(670,160)"/>
-    <wire from="(780,110)" to="(810,110)"/>
-    <wire from="(530,830)" to="(570,830)"/>
-    <wire from="(930,950)" to="(990,950)"/>
-    <wire from="(780,530)" to="(780,590)"/>
-    <wire from="(580,160)" to="(580,180)"/>
     <wire from="(290,260)" to="(360,260)"/>
-    <wire from="(770,610)" to="(850,610)"/>
-    <wire from="(250,120)" to="(250,130)"/>
-    <wire from="(140,120)" to="(140,130)"/>
-    <wire from="(290,90)" to="(320,90)"/>
+    <wire from="(800,550)" to="(850,550)"/>
+    <wire from="(940,290)" to="(940,300)"/>
     <wire from="(790,450)" to="(850,450)"/>
-    <wire from="(600,250)" to="(620,250)"/>
-    <wire from="(840,240)" to="(840,250)"/>
-    <wire from="(200,210)" to="(200,230)"/>
+    <wire from="(450,280)" to="(450,290)"/>
+    <wire from="(540,320)" to="(540,390)"/>
+    <wire from="(840,200)" to="(880,200)"/>
+    <wire from="(800,800)" to="(840,800)"/>
+    <wire from="(730,480)" to="(830,480)"/>
     <wire from="(820,490)" to="(820,510)"/>
-    <wire from="(140,120)" to="(180,120)"/>
-    <wire from="(590,800)" to="(660,800)"/>
-    <wire from="(650,250)" to="(660,250)"/>
+    <wire from="(80,100)" to="(80,190)"/>
+    <wire from="(250,90)" to="(290,90)"/>
+    <wire from="(840,220)" to="(860,220)"/>
+    <wire from="(840,780)" to="(860,780)"/>
+    <wire from="(920,300)" to="(940,300)"/>
+    <wire from="(600,140)" to="(620,140)"/>
     <wire from="(600,220)" to="(620,220)"/>
-    <wire from="(80,100)" to="(170,100)"/>
-    <wire from="(700,150)" to="(710,150)"/>
-    <wire from="(510,930)" to="(560,930)"/>
+    <wire from="(80,80)" to="(170,80)"/>
+    <wire from="(270,690)" to="(290,690)"/>
+    <wire from="(310,570)" to="(330,570)"/>
+    <wire from="(540,150)" to="(570,150)"/>
+    <wire from="(910,760)" to="(940,760)"/>
+    <wire from="(730,490)" to="(820,490)"/>
+    <wire from="(70,570)" to="(90,570)"/>
+    <wire from="(840,210)" to="(870,210)"/>
+    <wire from="(820,510)" to="(850,510)"/>
+    <wire from="(780,530)" to="(780,590)"/>
+    <wire from="(730,510)" to="(800,510)"/>
     <wire from="(970,240)" to="(970,300)"/>
-    <wire from="(240,200)" to="(240,390)"/>
-    <wire from="(760,550)" to="(760,630)"/>
-    <wire from="(920,240)" to="(940,240)"/>
+    <wire from="(610,950)" to="(680,950)"/>
+    <wire from="(530,440)" to="(530,500)"/>
+    <wire from="(840,230)" to="(850,230)"/>
+    <wire from="(730,500)" to="(810,500)"/>
+    <wire from="(810,110)" to="(810,250)"/>
+    <wire from="(280,590)" to="(280,660)"/>
+    <wire from="(730,530)" to="(780,530)"/>
+    <wire from="(730,450)" to="(780,450)"/>
+    <wire from="(840,240)" to="(840,250)"/>
     <wire from="(150,580)" to="(210,580)"/>
-    <wire from="(800,800)" to="(840,800)"/>
-    <wire from="(640,130)" to="(640,140)"/>
-    <wire from="(510,840)" to="(530,840)"/>
-    <wire from="(620,140)" to="(620,220)"/>
-    <wire from="(920,300)" to="(940,300)"/>
-    <wire from="(540,840)" to="(540,860)"/>
+    <wire from="(230,110)" to="(230,120)"/>
+    <wire from="(730,520)" to="(790,520)"/>
+    <wire from="(730,540)" to="(770,540)"/>
     <wire from="(840,170)" to="(880,170)"/>
-    <wire from="(600,220)" to="(600,250)"/>
-    <wire from="(470,570)" to="(510,570)"/>
-    <wire from="(510,520)" to="(510,570)"/>
-    <wire from="(940,290)" to="(940,300)"/>
-    <wire from="(410,100)" to="(430,100)"/>
-    <wire from="(520,180)" to="(520,240)"/>
-    <wire from="(200,120)" to="(200,130)"/>
-    <wire from="(920,300)" to="(920,320)"/>
-    <wire from="(920,240)" to="(920,300)"/>
-    <wire from="(620,140)" to="(640,140)"/>
-    <wire from="(730,460)" to="(790,460)"/>
-    <wire from="(730,470)" to="(850,470)"/>
-    <wire from="(960,210)" to="(1010,210)"/>
-    <wire from="(710,120)" to="(710,150)"/>
-    <wire from="(870,210)" to="(870,220)"/>
+    <wire from="(840,250)" to="(880,250)"/>
     <wire from="(350,660)" to="(350,740)"/>
-    <wire from="(680,190)" to="(720,190)"/>
-    <wire from="(110,530)" to="(110,540)"/>
-    <wire from="(770,410)" to="(850,410)"/>
-    <wire from="(730,480)" to="(830,480)"/>
+    <wire from="(770,410)" to="(770,440)"/>
+    <wire from="(240,390)" to="(540,390)"/>
+    <wire from="(950,300)" to="(970,300)"/>
+    <wire from="(990,740)" to="(1010,740)"/>
+    <wire from="(530,440)" to="(550,440)"/>
+    <wire from="(760,110)" to="(780,110)"/>
+    <wire from="(350,660)" to="(370,660)"/>
+    <wire from="(730,550)" to="(760,550)"/>
+    <wire from="(510,740)" to="(860,740)"/>
+    <wire from="(540,840)" to="(570,840)"/>
+    <wire from="(640,140)" to="(670,140)"/>
+    <wire from="(920,240)" to="(920,300)"/>
+    <wire from="(380,140)" to="(390,140)"/>
+    <wire from="(320,40)" to="(320,90)"/>
+    <wire from="(810,250)" to="(820,250)"/>
+    <wire from="(850,10)" to="(850,60)"/>
+    <wire from="(650,250)" to="(660,250)"/>
+    <wire from="(940,230)" to="(940,240)"/>
+    <wire from="(180,110)" to="(180,120)"/>
     <wire from="(520,130)" to="(570,130)"/>
-    <wire from="(730,450)" to="(780,450)"/>
-    <wire from="(310,110)" to="(310,450)"/>
+    <wire from="(260,430)" to="(260,450)"/>
+    <wire from="(810,500)" to="(810,530)"/>
+    <wire from="(810,110)" to="(850,110)"/>
+    <wire from="(200,210)" to="(200,230)"/>
+    <wire from="(470,570)" to="(510,570)"/>
+    <wire from="(920,240)" to="(940,240)"/>
+    <wire from="(80,100)" to="(170,100)"/>
+    <wire from="(290,570)" to="(310,570)"/>
     <wire from="(540,810)" to="(570,810)"/>
-    <wire from="(730,510)" to="(800,510)"/>
-    <wire from="(540,390)" to="(610,390)"/>
+    <wire from="(510,860)" to="(540,860)"/>
     <wire from="(850,240)" to="(880,240)"/>
-    <wire from="(730,500)" to="(810,500)"/>
-    <wire from="(840,780)" to="(860,780)"/>
-    <wire from="(770,410)" to="(770,440)"/>
     <wire from="(130,560)" to="(210,560)"/>
-    <wire from="(760,110)" to="(780,110)"/>
-    <wire from="(540,320)" to="(540,390)"/>
-    <wire from="(210,180)" to="(520,180)"/>
-    <wire from="(820,510)" to="(850,510)"/>
-    <wire from="(70,550)" to="(90,550)"/>
-    <wire from="(320,90)" to="(380,90)"/>
+    <wire from="(430,280)" to="(430,330)"/>
+    <wire from="(520,130)" to="(520,180)"/>
+    <wire from="(510,520)" to="(510,570)"/>
+    <wire from="(430,40)" to="(430,100)"/>
+    <wire from="(710,120)" to="(720,120)"/>
+    <wire from="(850,60)" to="(850,110)"/>
+    <wire from="(310,110)" to="(380,110)"/>
+    <wire from="(530,830)" to="(530,840)"/>
     <wire from="(830,970)" to="(880,970)"/>
-    <wire from="(790,570)" to="(850,570)"/>
-    <wire from="(790,520)" to="(790,570)"/>
-    <wire from="(240,390)" to="(540,390)"/>
-    <wire from="(730,490)" to="(820,490)"/>
-    <wire from="(850,10)" to="(850,60)"/>
-    <wire from="(530,440)" to="(530,500)"/>
-    <wire from="(70,450)" to="(260,450)"/>
+    <wire from="(950,290)" to="(950,300)"/>
+    <wire from="(510,970)" to="(560,970)"/>
     <wire from="(790,450)" to="(790,460)"/>
+    <wire from="(80,10)" to="(80,80)"/>
+    <wire from="(870,210)" to="(870,220)"/>
+    <wire from="(140,120)" to="(140,130)"/>
+    <wire from="(330,240)" to="(330,440)"/>
+    <wire from="(770,540)" to="(770,610)"/>
+    <wire from="(730,460)" to="(790,460)"/>
+    <wire from="(680,190)" to="(720,190)"/>
     <wire from="(840,190)" to="(880,190)"/>
-    <wire from="(70,570)" to="(90,570)"/>
+    <wire from="(580,160)" to="(580,180)"/>
+    <wire from="(540,840)" to="(540,860)"/>
+    <wire from="(200,120)" to="(230,120)"/>
+    <wire from="(860,230)" to="(880,230)"/>
+    <wire from="(950,240)" to="(970,240)"/>
+    <wire from="(510,840)" to="(530,840)"/>
+    <wire from="(590,440)" to="(610,440)"/>
+    <wire from="(410,100)" to="(430,100)"/>
     <wire from="(290,90)" to="(290,260)"/>
+    <wire from="(240,570)" to="(260,570)"/>
+    <wire from="(540,390)" to="(610,390)"/>
+    <wire from="(530,510)" to="(530,560)"/>
+    <wire from="(770,610)" to="(850,610)"/>
+    <wire from="(520,180)" to="(520,240)"/>
+    <wire from="(240,200)" to="(240,390)"/>
+    <wire from="(960,270)" to="(1010,270)"/>
+    <wire from="(790,570)" to="(850,570)"/>
+    <wire from="(240,110)" to="(240,120)"/>
+    <wire from="(250,120)" to="(250,130)"/>
+    <wire from="(210,180)" to="(520,180)"/>
+    <wire from="(260,450)" to="(310,450)"/>
+    <wire from="(930,950)" to="(990,950)"/>
+    <wire from="(410,280)" to="(410,290)"/>
+    <wire from="(660,160)" to="(660,250)"/>
+    <wire from="(810,530)" to="(850,530)"/>
     <wire from="(430,100)" to="(720,100)"/>
-    <wire from="(510,860)" to="(540,860)"/>
-    <wire from="(830,480)" to="(830,490)"/>
+    <wire from="(150,580)" to="(150,610)"/>
+    <wire from="(80,190)" to="(180,190)"/>
+    <wire from="(410,290)" to="(450,290)"/>
+    <wire from="(850,110)" to="(870,110)"/>
+    <wire from="(830,490)" to="(850,490)"/>
+    <wire from="(540,150)" to="(540,320)"/>
+    <wire from="(740,50)" to="(740,90)"/>
+    <wire from="(800,510)" to="(800,550)"/>
+    <wire from="(70,450)" to="(70,550)"/>
+    <wire from="(780,110)" to="(810,110)"/>
+    <wire from="(510,800)" to="(540,800)"/>
+    <wire from="(500,240)" to="(520,240)"/>
+    <wire from="(790,270)" to="(930,270)"/>
     <wire from="(870,220)" to="(880,220)"/>
-    <wire from="(840,250)" to="(880,250)"/>
-    <wire from="(280,660)" to="(350,660)"/>
+    <wire from="(310,450)" to="(310,570)"/>
     <wire from="(330,440)" to="(530,440)"/>
-    <wire from="(500,240)" to="(520,240)"/>
-    <wire from="(530,510)" to="(530,560)"/>
-    <wire from="(840,780)" to="(840,800)"/>
-    <wire from="(380,140)" to="(390,140)"/>
-    <wire from="(200,90)" to="(220,90)"/>
-    <wire from="(950,230)" to="(950,240)"/>
-    <comp lib="0" loc="(430,40)" name="Probe">
-      <a name="facing" val="south"/>
-      <a name="radix" val="10signed"/>
+    <wire from="(280,660)" to="(350,660)"/>
+    <comp lib="0" loc="(850,490)" name="Tunnel">
+      <a name="label" val="sel_A_src"/>
     </comp>
-    <comp lib="0" loc="(320,40)" name="Probe">
-      <a name="facing" val="south"/>
-      <a name="radix" val="10signed"/>
+    <comp lib="6" loc="(399,524)" name="Text">
+      <a name="text" val="Mémoire programme"/>
     </comp>
-    <comp lib="2" loc="(410,100)" name="Multiplexer">
+    <comp lib="2" loc="(240,570)" name="Multiplexer">
       <a name="width" val="8"/>
       <a name="enable" val="false"/>
     </comp>
-    <comp lib="0" loc="(920,320)" name="Tunnel">
-      <a name="facing" val="north"/>
-      <a name="label" val="write_CCR"/>
+    <comp lib="1" loc="(920,210)" name="NOR Gate">
+      <a name="size" val="30"/>
+      <a name="inputs" val="8"/>
     </comp>
-    <comp lib="0" loc="(580,180)" name="Tunnel">
-      <a name="facing" val="north"/>
-      <a name="label" val="sel_op1"/>
+    <comp lib="1" loc="(990,740)" name="OR Gate">
+      <a name="inputs" val="2"/>
+    </comp>
+    <comp lib="0" loc="(850,570)" name="Tunnel">
+      <a name="label" val="e_wr_A"/>
+    </comp>
+    <comp lib="0" loc="(850,510)" name="Tunnel">
+      <a name="label" val="sel_op0"/>
+    </comp>
+    <comp lib="0" loc="(870,110)" name="Tunnel">
+      <a name="width" val="8"/>
+      <a name="label" val="result"/>
+    </comp>
+    <comp lib="0" loc="(590,800)" name="Splitter">
+      <a name="facing" val="west"/>
+      <a name="fanout" val="4"/>
+      <a name="incoming" val="4"/>
+    </comp>
+    <comp lib="0" loc="(1010,210)" name="Tunnel">
+      <a name="label" val="Z"/>
+    </comp>
+    <comp lib="4" loc="(290,570)" name="Register">
+      <a name="trigger" val="falling"/>
+      <a name="label" val="PC"/>
+    </comp>
+    <comp lib="6" loc="(620,516)" name="Text">
+      <a name="text" val="ROM de décodage"/>
+    </comp>
+    <comp lib="2" loc="(600,140)" name="Multiplexer">
+      <a name="width" val="8"/>
+      <a name="enable" val="false"/>
+    </comp>
+    <comp lib="0" loc="(510,740)" name="Tunnel">
+      <a name="facing" val="east"/>
+      <a name="label" val="is_branch"/>
     </comp>
-    <comp lib="3" loc="(760,110)" name="Adder"/>
     <comp lib="0" loc="(150,610)" name="Tunnel">
       <a name="facing" val="north"/>
       <a name="width" val="8"/>
       <a name="label" val="result"/>
     </comp>
-    <comp lib="0" loc="(510,800)" name="Tunnel">
-      <a name="facing" val="east"/>
-      <a name="label" val="N"/>
+    <comp lib="0" loc="(990,950)" name="Tunnel">
+      <a name="label" val="write_CCR"/>
     </comp>
-    <comp lib="0" loc="(380,140)" name="Tunnel">
-      <a name="facing" val="east"/>
-      <a name="label" val="sel_op0"/>
+    <comp lib="0" loc="(520,130)" name="Probe">
+      <a name="radix" val="10signed"/>
     </comp>
-    <comp lib="1" loc="(650,250)" name="NOT Gate">
+    <comp lib="0" loc="(70,570)" name="Constant">
       <a name="width" val="8"/>
     </comp>
     <comp lib="4" loc="(960,210)" name="Register">
@@ -318,113 +346,58 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
       <a name="facing" val="north"/>
       <a name="label" val="store"/>
     </comp>
-    <comp lib="0" loc="(850,530)" name="Tunnel">
-      <a name="label" val="is_sub"/>
-    </comp>
-    <comp lib="0" loc="(820,250)" name="Splitter">
-      <a name="fanout" val="8"/>
-      <a name="incoming" val="8"/>
-    </comp>
-    <comp lib="2" loc="(700,150)" name="Multiplexer">
-      <a name="width" val="8"/>
-      <a name="enable" val="false"/>
-    </comp>
-    <comp lib="1" loc="(920,210)" name="NOR Gate">
-      <a name="size" val="30"/>
-      <a name="inputs" val="8"/>
-    </comp>
-    <comp lib="0" loc="(520,130)" name="Probe">
-      <a name="radix" val="10signed"/>
-    </comp>
-    <comp lib="4" loc="(470,570)" name="ROM">
-      <a name="contents">addr/data: 8 8
-40 81 62 ee
-</a>
+    <comp lib="0" loc="(510,720)" name="Tunnel">
+      <a name="facing" val="east"/>
+      <a name="label" val="is_ba"/>
     </comp>
-    <comp lib="0" loc="(510,970)" name="Tunnel">
+    <comp lib="0" loc="(380,140)" name="Tunnel">
       <a name="facing" val="east"/>
+      <a name="label" val="sel_op0"/>
+    </comp>
+    <comp lib="0" loc="(430,330)" name="Tunnel">
+      <a name="facing" val="north"/>
       <a name="label" val="clk"/>
     </comp>
-    <comp lib="1" loc="(910,760)" name="AND Gate">
-      <a name="inputs" val="2"/>
+    <comp lib="2" loc="(180,190)" name="Multiplexer">
+      <a name="facing" val="west"/>
+      <a name="width" val="8"/>
+      <a name="enable" val="false"/>
     </comp>
-    <comp lib="4" loc="(960,270)" name="Register">
-      <a name="width" val="1"/>
-      <a name="label" val="N"/>
+    <comp lib="0" loc="(200,130)" name="Tunnel">
+      <a name="facing" val="north"/>
+      <a name="label" val="write_A"/>
     </comp>
     <comp lib="4" loc="(500,240)" name="RAM">
       <a name="addrWidth" val="4"/>
       <a name="bus" val="separate"/>
     </comp>
-    <comp lib="1" loc="(610,950)" name="AND Gate">
-      <a name="inputs" val="2"/>
-    </comp>
-    <comp lib="0" loc="(850,470)" name="Tunnel">
-      <a name="label" val="is_ba"/>
-    </comp>
-    <comp lib="0" loc="(850,590)" name="Tunnel">
-      <a name="label" val="e_wr_CCR"/>
+    <comp lib="0" loc="(220,610)" name="Tunnel">
+      <a name="facing" val="north"/>
+      <a name="label" val="do_branch"/>
     </comp>
-    <comp lib="0" loc="(680,950)" name="Tunnel">
-      <a name="label" val="write_A"/>
+    <comp lib="4" loc="(250,90)" name="Register">
+      <a name="label" val="A"/>
     </comp>
     <comp lib="0" loc="(850,430)" name="Tunnel">
       <a name="label" val="branch_if_Z"/>
     </comp>
-    <comp lib="0" loc="(260,430)" name="Probe">
-      <a name="facing" val="south"/>
-      <a name="radix" val="16"/>
-    </comp>
-    <comp lib="3" loc="(130,560)" name="Adder"/>
-    <comp lib="0" loc="(510,820)" name="Tunnel">
-      <a name="facing" val="east"/>
-      <a name="label" val="Z"/>
-    </comp>
-    <comp lib="0" loc="(510,740)" name="Tunnel">
-      <a name="facing" val="east"/>
-      <a name="label" val="is_branch"/>
-    </comp>
-    <comp lib="6" loc="(399,524)" name="Text">
-      <a name="text" val="Mémoire programme"/>
-    </comp>
-    <comp lib="1" loc="(990,740)" name="OR Gate">
-      <a name="inputs" val="2"/>
-    </comp>
-    <comp lib="0" loc="(430,330)" name="Tunnel">
-      <a name="facing" val="north"/>
-      <a name="label" val="clk"/>
-    </comp>
     <comp lib="0" loc="(850,610)" name="Tunnel">
       <a name="label" val="store"/>
     </comp>
-    <comp lib="4" loc="(690,560)" name="ROM">
-      <a name="addrWidth" val="4"/>
-      <a name="dataWidth" val="12"/>
-      <a name="contents">addr/data: 4 12
-0
-</a>
-    </comp>
-    <comp lib="4" loc="(290,570)" name="Register">
-      <a name="trigger" val="falling"/>
-      <a name="label" val="PC"/>
-    </comp>
-    <comp lib="0" loc="(830,970)" name="Tunnel">
-      <a name="facing" val="east"/>
-      <a name="label" val="clk"/>
-    </comp>
-    <comp lib="0" loc="(990,950)" name="Tunnel">
-      <a name="label" val="write_CCR"/>
-    </comp>
-    <comp lib="1" loc="(930,950)" name="AND Gate">
-      <a name="inputs" val="2"/>
+    <comp lib="0" loc="(850,60)" name="Probe">
+      <a name="facing" val="west"/>
+      <a name="radix" val="10signed"/>
     </comp>
-    <comp lib="0" loc="(590,440)" name="Bit Extender">
-      <a name="in_width" val="4"/>
-      <a name="out_width" val="8"/>
-      <a name="type" val="sign"/>
+    <comp lib="0" loc="(510,800)" name="Tunnel">
+      <a name="facing" val="east"/>
+      <a name="label" val="N"/>
     </comp>
-    <comp lib="0" loc="(850,450)" name="Tunnel">
-      <a name="label" val="branch_if_N"/>
+    <comp lib="0" loc="(850,470)" name="Tunnel">
+      <a name="label" val="is_ba"/>
+    </comp>
+    <comp lib="0" loc="(510,860)" name="Tunnel">
+      <a name="facing" val="east"/>
+      <a name="label" val="branch_if_Z"/>
     </comp>
     <comp lib="4" loc="(800,800)" name="ROM">
       <a name="addrWidth" val="4"/>
@@ -433,73 +406,62 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
 0
 </a>
     </comp>
-    <comp lib="0" loc="(850,510)" name="Tunnel">
-      <a name="label" val="sel_op0"/>
+    <comp lib="0" loc="(110,530)" name="Constant">
+      <a name="facing" val="south"/>
+      <a name="value" val="0x0"/>
     </comp>
-    <comp lib="0" loc="(850,60)" name="Probe">
+    <comp lib="5" loc="(350,740)" name="Button">
+      <a name="facing" val="north"/>
+      <a name="label" val="reset"/>
+    </comp>
+    <comp lib="6" loc="(431,196)" name="Text">
+      <a name="text" val="Mémoire données"/>
+    </comp>
+    <comp lib="0" loc="(540,320)" name="Probe">
       <a name="facing" val="west"/>
       <a name="radix" val="10signed"/>
     </comp>
-    <comp lib="0" loc="(850,630)" name="Tunnel">
-      <a name="label" val="sel_ext_op"/>
-    </comp>
-    <comp lib="0" loc="(970,320)" name="Tunnel">
-      <a name="facing" val="north"/>
-      <a name="label" val="reset"/>
+    <comp lib="0" loc="(510,970)" name="Tunnel">
+      <a name="facing" val="east"/>
+      <a name="label" val="clk"/>
     </comp>
     <comp lib="0" loc="(290,690)" name="Tunnel">
       <a name="label" val="clk"/>
     </comp>
-    <comp lib="0" loc="(870,110)" name="Tunnel">
-      <a name="width" val="8"/>
-      <a name="label" val="result"/>
+    <comp lib="0" loc="(580,180)" name="Tunnel">
+      <a name="facing" val="north"/>
+      <a name="label" val="sel_op1"/>
     </comp>
-    <comp lib="0" loc="(510,520)" name="Splitter">
-      <a name="incoming" val="8"/>
-      <a name="bit1" val="0"/>
-      <a name="bit2" val="0"/>
-      <a name="bit3" val="0"/>
-      <a name="bit4" val="1"/>
-      <a name="bit5" val="1"/>
-      <a name="bit6" val="1"/>
-      <a name="bit7" val="1"/>
+    <comp lib="0" loc="(430,40)" name="Probe">
+      <a name="facing" val="south"/>
+      <a name="radix" val="10signed"/>
     </comp>
-    <comp lib="6" loc="(708,756)" name="Text">
-      <a name="text" val="ROM de décodage des branchements"/>
+    <comp lib="0" loc="(470,330)" name="Constant">
+      <a name="facing" val="north"/>
+      <a name="value" val="0x0"/>
     </comp>
-    <comp lib="0" loc="(450,330)" name="Constant">
+    <comp lib="0" loc="(920,320)" name="Tunnel">
       <a name="facing" val="north"/>
+      <a name="label" val="write_CCR"/>
     </comp>
-    <comp lib="2" loc="(180,190)" name="Multiplexer">
-      <a name="facing" val="west"/>
+    <comp lib="2" loc="(700,150)" name="Multiplexer">
       <a name="width" val="8"/>
       <a name="enable" val="false"/>
     </comp>
-    <comp lib="0" loc="(510,930)" name="Tunnel">
-      <a name="facing" val="east"/>
-      <a name="label" val="e_wr_A"/>
-    </comp>
-    <comp lib="0" loc="(590,800)" name="Splitter">
-      <a name="facing" val="west"/>
-      <a name="fanout" val="4"/>
-      <a name="incoming" val="4"/>
-    </comp>
-    <comp lib="0" loc="(720,190)" name="Tunnel">
-      <a name="label" val="is_sub"/>
+    <comp lib="4" loc="(960,270)" name="Register">
+      <a name="width" val="1"/>
+      <a name="label" val="N"/>
     </comp>
-    <comp lib="0" loc="(220,610)" name="Tunnel">
-      <a name="facing" val="north"/>
-      <a name="label" val="do_branch"/>
+    <comp lib="0" loc="(590,440)" name="Bit Extender">
+      <a name="in_width" val="4"/>
+      <a name="out_width" val="8"/>
+      <a name="type" val="sign"/>
     </comp>
-    <comp lib="0" loc="(470,330)" name="Constant">
+    <comp lib="0" loc="(450,330)" name="Constant">
       <a name="facing" val="north"/>
-      <a name="value" val="0x0"/>
     </comp>
-    <comp lib="0" loc="(850,570)" name="Tunnel">
-      <a name="label" val="e_wr_A"/>
-    </comp>
-    <comp lib="0" loc="(850,410)" name="Tunnel">
-      <a name="label" val="is_branch"/>
+    <comp lib="0" loc="(1010,270)" name="Tunnel">
+      <a name="label" val="N"/>
     </comp>
     <comp lib="0" loc="(780,130)" name="Splitter">
       <a name="facing" val="south"/>
@@ -514,106 +476,145 @@ This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
       <a name="bit6" val="none"/>
       <a name="bit7" val="0"/>
     </comp>
-    <comp lib="0" loc="(850,550)" name="Tunnel">
-      <a name="label" val="sel_op1"/>
-    </comp>
-    <comp lib="2" loc="(200,90)" name="Multiplexer">
-      <a name="width" val="8"/>
-      <a name="enable" val="false"/>
+    <comp lib="1" loc="(610,950)" name="AND Gate">
+      <a name="inputs" val="2"/>
     </comp>
     <comp lib="0" loc="(200,230)" name="Tunnel">
       <a name="facing" val="north"/>
       <a name="label" val="sel_ext_op"/>
     </comp>
-    <comp lib="0" loc="(140,130)" name="Tunnel">
+    <comp lib="0" loc="(850,630)" name="Tunnel">
+      <a name="label" val="sel_ext_op"/>
+    </comp>
+    <comp lib="0" loc="(320,40)" name="Probe">
+      <a name="facing" val="south"/>
+      <a name="radix" val="10signed"/>
+    </comp>
+    <comp lib="0" loc="(270,720)" name="Clock">
       <a name="facing" val="north"/>
-      <a name="label" val="sel_A_src"/>
     </comp>
-    <comp lib="2" loc="(600,140)" name="Multiplexer">
-      <a name="width" val="8"/>
-      <a name="enable" val="false"/>
+    <comp lib="0" loc="(740,50)" name="Tunnel">
+      <a name="facing" val="south"/>
+      <a name="label" val="is_sub"/>
+    </comp>
+    <comp lib="6" loc="(708,756)" name="Text">
+      <a name="text" val="ROM de décodage des branchements"/>
+    </comp>
+    <comp lib="0" loc="(720,190)" name="Tunnel">
+      <a name="label" val="is_sub"/>
+    </comp>
+    <comp lib="0" loc="(850,410)" name="Tunnel">
+      <a name="label" val="is_branch"/>
+    </comp>
+    <comp lib="0" loc="(510,520)" name="Splitter">
+      <a name="incoming" val="8"/>
+      <a name="bit1" val="0"/>
+      <a name="bit2" val="0"/>
+      <a name="bit3" val="0"/>
+      <a name="bit4" val="1"/>
+      <a name="bit5" val="1"/>
+      <a name="bit6" val="1"/>
+      <a name="bit7" val="1"/>
+    </comp>
+    <comp lib="0" loc="(260,430)" name="Probe">
+      <a name="facing" val="south"/>
+      <a name="radix" val="16"/>
+    </comp>
+    <comp lib="0" loc="(370,660)" name="Tunnel">
+      <a name="label" val="reset"/>
     </comp>
     <comp lib="0" loc="(710,560)" name="Splitter">
       <a name="fanout" val="12"/>
       <a name="incoming" val="12"/>
     </comp>
-    <comp lib="6" loc="(620,516)" name="Text">
-      <a name="text" val="ROM de décodage"/>
-    </comp>
-    <comp lib="0" loc="(850,490)" name="Tunnel">
-      <a name="label" val="sel_A_src"/>
-    </comp>
-    <comp lib="0" loc="(830,930)" name="Tunnel">
-      <a name="facing" val="east"/>
+    <comp lib="0" loc="(850,590)" name="Tunnel">
       <a name="label" val="e_wr_CCR"/>
     </comp>
+    <comp lib="0" loc="(820,250)" name="Splitter">
+      <a name="fanout" val="8"/>
+      <a name="incoming" val="8"/>
+    </comp>
     <comp lib="0" loc="(250,130)" name="Tunnel">
       <a name="facing" val="north"/>
       <a name="label" val="reset"/>
     </comp>
-    <comp lib="0" loc="(540,320)" name="Probe">
-      <a name="facing" val="west"/>
+    <comp lib="0" loc="(640,130)" name="Probe">
+      <a name="facing" val="south"/>
       <a name="radix" val="10signed"/>
     </comp>
-    <comp lib="0" loc="(70,570)" name="Constant">
+    <comp lib="1" loc="(650,250)" name="NOT Gate">
       <a name="width" val="8"/>
     </comp>
-    <comp lib="4" loc="(250,90)" name="Register">
-      <a name="label" val="A"/>
-    </comp>
-    <comp lib="0" loc="(510,860)" name="Tunnel">
+    <comp lib="0" loc="(830,970)" name="Tunnel">
       <a name="facing" val="east"/>
-      <a name="label" val="branch_if_Z"/>
-    </comp>
-    <comp lib="0" loc="(1010,270)" name="Tunnel">
-      <a name="label" val="N"/>
+      <a name="label" val="clk"/>
     </comp>
-    <comp lib="0" loc="(1010,210)" name="Tunnel">
-      <a name="label" val="Z"/>
+    <comp lib="0" loc="(850,550)" name="Tunnel">
+      <a name="label" val="sel_op1"/>
     </comp>
-    <comp lib="0" loc="(510,840)" name="Tunnel">
-      <a name="facing" val="east"/>
-      <a name="label" val="branch_if_N"/>
+    <comp lib="1" loc="(910,760)" name="AND Gate">
+      <a name="inputs" val="2"/>
     </comp>
-    <comp lib="5" loc="(350,740)" name="Button">
-      <a name="facing" val="north"/>
-      <a name="label" val="reset"/>
+    <comp lib="4" loc="(470,570)" name="ROM">
+      <a name="contents">addr/data: 8 8
+40 81 62 ee 85 81 84
+</a>
     </comp>
-    <comp lib="2" loc="(240,570)" name="Multiplexer">
+    <comp lib="2" loc="(200,90)" name="Multiplexer">
       <a name="width" val="8"/>
       <a name="enable" val="false"/>
     </comp>
-    <comp lib="6" loc="(431,196)" name="Text">
-      <a name="text" val="Mémoire données"/>
+    <comp lib="0" loc="(830,930)" name="Tunnel">
+      <a name="facing" val="east"/>
+      <a name="label" val="e_wr_CCR"/>
     </comp>
-    <comp lib="0" loc="(510,720)" name="Tunnel">
+    <comp lib="0" loc="(140,130)" name="Tunnel">
+      <a name="facing" val="north"/>
+      <a name="label" val="sel_A_src"/>
+    </comp>
+    <comp lib="0" loc="(510,840)" name="Tunnel">
       <a name="facing" val="east"/>
-      <a name="label" val="is_ba"/>
+      <a name="label" val="branch_if_N"/>
     </comp>
-    <comp lib="0" loc="(740,50)" name="Tunnel">
-      <a name="facing" val="south"/>
-      <a name="label" val="is_sub"/>
+    <comp lib="3" loc="(760,110)" name="Adder"/>
+    <comp lib="1" loc="(930,950)" name="AND Gate">
+      <a name="inputs" val="2"/>
     </comp>
-    <comp lib="0" loc="(270,720)" name="Clock">
-      <a name="facing" val="north"/>
+    <comp lib="0" loc="(510,930)" name="Tunnel">
+      <a name="facing" val="east"/>
+      <a name="label" val="e_wr_A"/>
     </comp>
-    <comp lib="0" loc="(640,130)" name="Probe">
-      <a name="facing" val="south"/>
-      <a name="radix" val="10signed"/>
+    <comp lib="2" loc="(410,100)" name="Multiplexer">
+      <a name="width" val="8"/>
+      <a name="enable" val="false"/>
+    </comp>
+    <comp lib="3" loc="(130,560)" name="Adder"/>
+    <comp lib="4" loc="(690,560)" name="ROM">
+      <a name="addrWidth" val="4"/>
+      <a name="dataWidth" val="12"/>
+      <a name="contents">addr/data: 4 12
+8*0 380
+</a>
     </comp>
     <comp lib="0" loc="(1010,740)" name="Tunnel">
       <a name="label" val="do_branch"/>
     </comp>
-    <comp lib="0" loc="(370,660)" name="Tunnel">
-      <a name="label" val="reset"/>
+    <comp lib="0" loc="(680,950)" name="Tunnel">
+      <a name="label" val="write_A"/>
     </comp>
-    <comp lib="0" loc="(200,130)" name="Tunnel">
+    <comp lib="0" loc="(970,320)" name="Tunnel">
       <a name="facing" val="north"/>
-      <a name="label" val="write_A"/>
+      <a name="label" val="reset"/>
     </comp>
-    <comp lib="0" loc="(110,530)" name="Constant">
-      <a name="facing" val="south"/>
-      <a name="value" val="0x0"/>
+    <comp lib="0" loc="(850,530)" name="Tunnel">
+      <a name="label" val="is_sub"/>
+    </comp>
+    <comp lib="0" loc="(510,820)" name="Tunnel">
+      <a name="facing" val="east"/>
+      <a name="label" val="Z"/>
+    </comp>
+    <comp lib="0" loc="(850,450)" name="Tunnel">
+      <a name="label" val="branch_if_N"/>
     </comp>
   </circuit>
 </project>