cpu
changeset 0:9d48951b8110 tip
CPU project initial commit
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Fri, 03 Jan 2014 07:19:15 +0200 |
parents | |
children | |
files | cpu.circ cpuops |
diffstat | 2 files changed, 1424 insertions(+), 0 deletions(-) [+] |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/cpu.circ Fri Jan 03 07:19:15 2014 +0200 1.3 @@ -0,0 +1,1411 @@ 1.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 1.5 +<project source="2.7.1" version="1.0"> 1.6 +This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/). 1.7 +<lib desc="#Wiring" name="0"> 1.8 + <tool name="Splitter"> 1.9 + <a name="facing" val="west"/> 1.10 + <a name="fanout" val="4"/> 1.11 + <a name="incoming" val="4"/> 1.12 + </tool> 1.13 + <tool name="Pin"> 1.14 + <a name="width" val="4"/> 1.15 + <a name="label" val="Opcode"/> 1.16 + </tool> 1.17 + <tool name="Constant"> 1.18 + <a name="value" val="0x0"/> 1.19 + </tool> 1.20 + </lib> 1.21 + <lib desc="#Gates" name="1"> 1.22 + <tool name="OR Gate"> 1.23 + <a name="inputs" val="8"/> 1.24 + </tool> 1.25 + <tool name="NOR Gate"> 1.26 + <a name="inputs" val="8"/> 1.27 + </tool> 1.28 + </lib> 1.29 + <lib desc="#Plexers" name="2"> 1.30 + <tool name="Multiplexer"> 1.31 + <a name="select" val="4"/> 1.32 + <a name="width" val="8"/> 1.33 + </tool> 1.34 + </lib> 1.35 + <lib desc="#Arithmetic" name="3"/> 1.36 + <lib desc="#Memory" name="4"> 1.37 + <tool name="ROM"> 1.38 + <a name="contents">addr/data: 8 8 1.39 +0 1.40 +</a> 1.41 + </tool> 1.42 + </lib> 1.43 + <lib desc="#I/O" name="5"/> 1.44 + <lib desc="#Base" name="6"> 1.45 + <tool name="Text Tool"> 1.46 + <a name="text" val=""/> 1.47 + <a name="font" val="SansSerif plain 12"/> 1.48 + <a name="halign" val="center"/> 1.49 + <a name="valign" val="base"/> 1.50 + </tool> 1.51 + </lib> 1.52 + <main name="main"/> 1.53 + <options> 1.54 + <a name="gateUndefined" val="ignore"/> 1.55 + <a name="simlimit" val="1000"/> 1.56 + <a name="simrand" val="0"/> 1.57 + </options> 1.58 + <mappings> 1.59 + <tool lib="6" map="Button2" name="Menu Tool"/> 1.60 + <tool lib="6" map="Ctrl Button1" name="Menu Tool"/> 1.61 + <tool lib="6" map="Button3" name="Menu Tool"/> 1.62 + </mappings> 1.63 + <toolbar> 1.64 + <tool lib="6" name="Poke Tool"/> 1.65 + <tool lib="6" name="Edit Tool"/> 1.66 + <tool lib="6" name="Text Tool"> 1.67 + <a name="text" val=""/> 1.68 + <a name="font" val="SansSerif plain 12"/> 1.69 + <a name="halign" val="center"/> 1.70 + <a name="valign" val="base"/> 1.71 + </tool> 1.72 + <sep/> 1.73 + <tool lib="0" name="Pin"> 1.74 + <a name="width" val="8"/> 1.75 + <a name="tristate" val="false"/> 1.76 + </tool> 1.77 + <tool lib="0" name="Pin"> 1.78 + <a name="facing" val="west"/> 1.79 + <a name="output" val="true"/> 1.80 + <a name="width" val="8"/> 1.81 + <a name="labelloc" val="east"/> 1.82 + </tool> 1.83 + <tool lib="1" name="NOT Gate"/> 1.84 + <tool lib="1" name="AND Gate"/> 1.85 + <tool lib="1" name="OR Gate"/> 1.86 + </toolbar> 1.87 + <circuit name="main"> 1.88 + <a name="circuit" val="main"/> 1.89 + <a name="clabel" val=""/> 1.90 + <a name="clabelup" val="east"/> 1.91 + <a name="clabelfont" val="SansSerif plain 12"/> 1.92 + <wire from="(170,240)" to="(310,240)"/> 1.93 + <wire from="(310,400)" to="(350,400)"/> 1.94 + <wire from="(700,460)" to="(710,460)"/> 1.95 + <wire from="(720,460)" to="(740,460)"/> 1.96 + <wire from="(720,260)" to="(720,340)"/> 1.97 + <wire from="(310,620)" to="(310,760)"/> 1.98 + <wire from="(700,440)" to="(730,440)"/> 1.99 + <wire from="(570,290)" to="(590,290)"/> 1.100 + <wire from="(570,630)" to="(570,680)"/> 1.101 + <wire from="(410,440)" to="(450,440)"/> 1.102 + <wire from="(710,460)" to="(710,470)"/> 1.103 + <wire from="(460,10)" to="(480,10)"/> 1.104 + <wire from="(630,260)" to="(720,260)"/> 1.105 + <wire from="(460,250)" to="(590,250)"/> 1.106 + <wire from="(360,280)" to="(360,290)"/> 1.107 + <wire from="(310,340)" to="(350,340)"/> 1.108 + <wire from="(400,200)" to="(580,200)"/> 1.109 + <wire from="(700,450)" to="(720,450)"/> 1.110 + <wire from="(570,520)" to="(590,520)"/> 1.111 + <wire from="(290,60)" to="(360,60)"/> 1.112 + <wire from="(720,140)" to="(740,140)"/> 1.113 + <wire from="(570,600)" to="(570,610)"/> 1.114 + <wire from="(710,470)" to="(740,470)"/> 1.115 + <wire from="(570,300)" to="(570,310)"/> 1.116 + <wire from="(790,490)" to="(790,530)"/> 1.117 + <wire from="(820,440)" to="(830,440)"/> 1.118 + <wire from="(700,430)" to="(740,430)"/> 1.119 + <wire from="(720,450)" to="(720,460)"/> 1.120 + <wire from="(400,720)" to="(480,720)"/> 1.121 + <wire from="(570,490)" to="(590,490)"/> 1.122 + <wire from="(140,190)" to="(170,190)"/> 1.123 + <wire from="(400,320)" to="(430,320)"/> 1.124 + <wire from="(320,360)" to="(320,420)"/> 1.125 + <wire from="(570,300)" to="(590,300)"/> 1.126 + <wire from="(570,480)" to="(570,490)"/> 1.127 + <wire from="(430,220)" to="(590,220)"/> 1.128 + <wire from="(570,540)" to="(570,550)"/> 1.129 + <wire from="(480,270)" to="(480,720)"/> 1.130 + <wire from="(570,580)" to="(590,580)"/> 1.131 + <wire from="(830,440)" to="(830,490)"/> 1.132 + <wire from="(310,460)" to="(310,620)"/> 1.133 + <wire from="(440,230)" to="(590,230)"/> 1.134 + <wire from="(320,420)" to="(320,500)"/> 1.135 + <wire from="(480,270)" to="(580,270)"/> 1.136 + <wire from="(320,420)" to="(350,420)"/> 1.137 + <wire from="(570,290)" to="(570,300)"/> 1.138 + <wire from="(320,570)" to="(320,710)"/> 1.139 + <wire from="(610,340)" to="(610,380)"/> 1.140 + <wire from="(310,240)" to="(330,240)"/> 1.141 + <wire from="(580,280)" to="(590,280)"/> 1.142 + <wire from="(570,310)" to="(590,310)"/> 1.143 + <wire from="(170,190)" to="(170,240)"/> 1.144 + <wire from="(610,380)" to="(650,380)"/> 1.145 + <wire from="(320,570)" to="(330,570)"/> 1.146 + <wire from="(730,450)" to="(740,450)"/> 1.147 + <wire from="(470,260)" to="(590,260)"/> 1.148 + <wire from="(320,300)" to="(350,300)"/> 1.149 + <wire from="(290,660)" to="(350,660)"/> 1.150 + <wire from="(570,320)" to="(570,370)"/> 1.151 + <wire from="(310,620)" to="(330,620)"/> 1.152 + <wire from="(320,360)" to="(350,360)"/> 1.153 + <wire from="(570,590)" to="(570,600)"/> 1.154 + <wire from="(320,100)" to="(320,160)"/> 1.155 + <wire from="(320,160)" to="(330,160)"/> 1.156 + <wire from="(570,530)" to="(590,530)"/> 1.157 + <wire from="(580,510)" to="(590,510)"/> 1.158 + <wire from="(570,530)" to="(570,540)"/> 1.159 + <wire from="(570,590)" to="(590,590)"/> 1.160 + <wire from="(700,470)" to="(700,480)"/> 1.161 + <wire from="(140,160)" to="(320,160)"/> 1.162 + <wire from="(580,270)" to="(590,270)"/> 1.163 + <wire from="(790,530)" to="(800,530)"/> 1.164 + <wire from="(570,610)" to="(570,620)"/> 1.165 + <wire from="(650,50)" to="(650,380)"/> 1.166 + <wire from="(650,380)" to="(650,660)"/> 1.167 + <wire from="(310,240)" to="(310,340)"/> 1.168 + <wire from="(460,250)" to="(460,500)"/> 1.169 + <wire from="(570,580)" to="(570,590)"/> 1.170 + <wire from="(580,270)" to="(580,280)"/> 1.171 + <wire from="(570,540)" to="(590,540)"/> 1.172 + <wire from="(790,490)" to="(830,490)"/> 1.173 + <wire from="(570,320)" to="(590,320)"/> 1.174 + <wire from="(320,500)" to="(360,500)"/> 1.175 + <wire from="(570,100)" to="(570,180)"/> 1.176 + <wire from="(570,520)" to="(570,530)"/> 1.177 + <wire from="(700,400)" to="(740,400)"/> 1.178 + <wire from="(570,600)" to="(590,600)"/> 1.179 + <wire from="(430,220)" to="(430,320)"/> 1.180 + <wire from="(700,410)" to="(740,410)"/> 1.181 + <wire from="(570,630)" to="(590,630)"/> 1.182 + <wire from="(570,190)" to="(570,290)"/> 1.183 + <wire from="(570,570)" to="(590,570)"/> 1.184 + <wire from="(580,210)" to="(590,210)"/> 1.185 + <wire from="(400,380)" to="(440,380)"/> 1.186 + <wire from="(550,500)" to="(580,500)"/> 1.187 + <wire from="(570,550)" to="(570,560)"/> 1.188 + <wire from="(610,660)" to="(650,660)"/> 1.189 + <wire from="(680,340)" to="(720,340)"/> 1.190 + <wire from="(360,290)" to="(550,290)"/> 1.191 + <wire from="(360,60)" to="(460,60)"/> 1.192 + <wire from="(550,290)" to="(550,500)"/> 1.193 + <wire from="(570,190)" to="(590,190)"/> 1.194 + <wire from="(630,560)" to="(800,560)"/> 1.195 + <wire from="(320,100)" to="(570,100)"/> 1.196 + <wire from="(310,340)" to="(310,400)"/> 1.197 + <wire from="(360,60)" to="(360,110)"/> 1.198 + <wire from="(700,420)" to="(740,420)"/> 1.199 + <wire from="(570,620)" to="(590,620)"/> 1.200 + <wire from="(570,610)" to="(590,610)"/> 1.201 + <wire from="(580,200)" to="(580,210)"/> 1.202 + <wire from="(570,490)" to="(570,520)"/> 1.203 + <wire from="(570,180)" to="(590,180)"/> 1.204 + <wire from="(480,10)" to="(480,50)"/> 1.205 + <wire from="(310,400)" to="(310,460)"/> 1.206 + <wire from="(450,240)" to="(590,240)"/> 1.207 + <wire from="(400,580)" to="(470,580)"/> 1.208 + <wire from="(720,140)" to="(720,260)"/> 1.209 + <wire from="(730,440)" to="(730,450)"/> 1.210 + <wire from="(580,500)" to="(590,500)"/> 1.211 + <wire from="(320,500)" to="(320,570)"/> 1.212 + <wire from="(440,230)" to="(440,380)"/> 1.213 + <wire from="(450,240)" to="(450,440)"/> 1.214 + <wire from="(320,160)" to="(320,300)"/> 1.215 + <wire from="(320,300)" to="(320,360)"/> 1.216 + <wire from="(290,60)" to="(290,660)"/> 1.217 + <wire from="(700,480)" to="(740,480)"/> 1.218 + <wire from="(570,550)" to="(590,550)"/> 1.219 + <wire from="(320,710)" to="(330,710)"/> 1.220 + <wire from="(570,570)" to="(570,580)"/> 1.221 + <wire from="(390,500)" to="(460,500)"/> 1.222 + <wire from="(570,480)" to="(590,480)"/> 1.223 + <wire from="(580,200)" to="(590,200)"/> 1.224 + <wire from="(570,560)" to="(590,560)"/> 1.225 + <wire from="(570,560)" to="(570,570)"/> 1.226 + <wire from="(610,640)" to="(610,660)"/> 1.227 + <wire from="(480,50)" to="(650,50)"/> 1.228 + <wire from="(310,460)" to="(350,460)"/> 1.229 + <wire from="(570,620)" to="(570,630)"/> 1.230 + <wire from="(310,760)" to="(330,760)"/> 1.231 + <wire from="(570,310)" to="(570,320)"/> 1.232 + <wire from="(470,260)" to="(470,580)"/> 1.233 + <wire from="(680,340)" to="(680,440)"/> 1.234 + <wire from="(580,500)" to="(580,510)"/> 1.235 + <comp loc="(380,160)" name="8bit add/sub"/> 1.236 + <comp lib="6" loc="(407,129)" name="Text"> 1.237 + <a name="text" val="add/sub"/> 1.238 + </comp> 1.239 + <comp lib="1" loc="(390,500)" name="NOT Gate"> 1.240 + <a name="width" val="8"/> 1.241 + </comp> 1.242 + <comp lib="0" loc="(800,530)" name="Pin"> 1.243 + <a name="facing" val="west"/> 1.244 + <a name="output" val="true"/> 1.245 + <a name="label" val="zero flag"/> 1.246 + <a name="labelloc" val="east"/> 1.247 + </comp> 1.248 + <comp lib="0" loc="(140,160)" name="Pin"> 1.249 + <a name="width" val="8"/> 1.250 + <a name="tristate" val="false"/> 1.251 + <a name="label" val="InA"/> 1.252 + </comp> 1.253 + <comp lib="0" loc="(800,560)" name="Pin"> 1.254 + <a name="facing" val="west"/> 1.255 + <a name="output" val="true"/> 1.256 + <a name="label" val="overflow bit"/> 1.257 + <a name="labelloc" val="east"/> 1.258 + </comp> 1.259 + <comp lib="6" loc="(419,671)" name="Text"> 1.260 + <a name="text" val="right shifter"/> 1.261 + </comp> 1.262 + <comp lib="0" loc="(330,240)" name="Splitter"> 1.263 + <a name="fanout" val="8"/> 1.264 + <a name="incoming" val="8"/> 1.265 + <a name="appear" val="legacy"/> 1.266 + </comp> 1.267 + <comp lib="0" loc="(140,190)" name="Pin"> 1.268 + <a name="width" val="8"/> 1.269 + <a name="tristate" val="false"/> 1.270 + <a name="label" val="InB"/> 1.271 + </comp> 1.272 + <comp lib="2" loc="(630,560)" name="Multiplexer"> 1.273 + <a name="select" val="4"/> 1.274 + <a name="enable" val="false"/> 1.275 + </comp> 1.276 + <comp lib="0" loc="(400,720)" name="Splitter"> 1.277 + <a name="facing" val="west"/> 1.278 + <a name="fanout" val="8"/> 1.279 + <a name="incoming" val="8"/> 1.280 + <a name="appear" val="legacy"/> 1.281 + </comp> 1.282 + <comp lib="0" loc="(330,760)" name="Splitter"> 1.283 + <a name="fanout" val="3"/> 1.284 + <a name="incoming" val="8"/> 1.285 + <a name="appear" val="legacy"/> 1.286 + <a name="bit3" val="none"/> 1.287 + <a name="bit4" val="none"/> 1.288 + <a name="bit5" val="none"/> 1.289 + <a name="bit6" val="none"/> 1.290 + <a name="bit7" val="none"/> 1.291 + </comp> 1.292 + <comp lib="6" loc="(413,531)" name="Text"> 1.293 + <a name="text" val="left shifter"/> 1.294 + </comp> 1.295 + <comp lib="1" loc="(400,320)" name="AND Gate"> 1.296 + <a name="width" val="8"/> 1.297 + <a name="inputs" val="2"/> 1.298 + </comp> 1.299 + <comp lib="0" loc="(570,370)" name="Constant"> 1.300 + <a name="facing" val="west"/> 1.301 + <a name="width" val="8"/> 1.302 + <a name="value" val="0x0"/> 1.303 + </comp> 1.304 + <comp lib="0" loc="(480,50)" name="Splitter"> 1.305 + <a name="facing" val="west"/> 1.306 + <a name="fanout" val="4"/> 1.307 + <a name="incoming" val="4"/> 1.308 + </comp> 1.309 + <comp lib="0" loc="(400,200)" name="Splitter"> 1.310 + <a name="facing" val="west"/> 1.311 + <a name="fanout" val="8"/> 1.312 + <a name="incoming" val="8"/> 1.313 + <a name="appear" val="legacy"/> 1.314 + </comp> 1.315 + <comp lib="0" loc="(330,570)" name="Splitter"> 1.316 + <a name="fanout" val="8"/> 1.317 + <a name="incoming" val="8"/> 1.318 + <a name="appear" val="legacy"/> 1.319 + </comp> 1.320 + <comp loc="(380,680)" name="8bit right shifter"/> 1.321 + <comp lib="0" loc="(680,440)" name="Splitter"> 1.322 + <a name="fanout" val="8"/> 1.323 + <a name="incoming" val="8"/> 1.324 + <a name="appear" val="legacy"/> 1.325 + </comp> 1.326 + <comp lib="0" loc="(330,160)" name="Splitter"> 1.327 + <a name="fanout" val="8"/> 1.328 + <a name="incoming" val="8"/> 1.329 + <a name="appear" val="legacy"/> 1.330 + </comp> 1.331 + <comp lib="0" loc="(570,680)" name="Constant"> 1.332 + <a name="facing" val="west"/> 1.333 + <a name="value" val="0x0"/> 1.334 + </comp> 1.335 + <comp lib="0" loc="(460,10)" name="Pin"> 1.336 + <a name="width" val="4"/> 1.337 + <a name="tristate" val="false"/> 1.338 + <a name="label" val="Opcode"/> 1.339 + </comp> 1.340 + <comp lib="0" loc="(330,710)" name="Splitter"> 1.341 + <a name="fanout" val="8"/> 1.342 + <a name="incoming" val="8"/> 1.343 + <a name="appear" val="legacy"/> 1.344 + </comp> 1.345 + <comp lib="0" loc="(330,620)" name="Splitter"> 1.346 + <a name="fanout" val="3"/> 1.347 + <a name="incoming" val="8"/> 1.348 + <a name="appear" val="legacy"/> 1.349 + <a name="bit3" val="none"/> 1.350 + <a name="bit4" val="none"/> 1.351 + <a name="bit5" val="none"/> 1.352 + <a name="bit6" val="none"/> 1.353 + <a name="bit7" val="none"/> 1.354 + </comp> 1.355 + <comp loc="(380,540)" name="8bit left shifter"/> 1.356 + <comp lib="0" loc="(400,580)" name="Splitter"> 1.357 + <a name="facing" val="west"/> 1.358 + <a name="fanout" val="8"/> 1.359 + <a name="incoming" val="8"/> 1.360 + <a name="appear" val="legacy"/> 1.361 + </comp> 1.362 + <comp lib="1" loc="(820,440)" name="NOR Gate"> 1.363 + <a name="size" val="70"/> 1.364 + <a name="inputs" val="8"/> 1.365 + </comp> 1.366 + <comp lib="0" loc="(740,140)" name="Pin"> 1.367 + <a name="facing" val="west"/> 1.368 + <a name="output" val="true"/> 1.369 + <a name="width" val="8"/> 1.370 + <a name="label" val="Out"/> 1.371 + <a name="labelloc" val="east"/> 1.372 + </comp> 1.373 + <comp lib="0" loc="(350,520)" name="Constant"> 1.374 + <a name="value" val="0x0"/> 1.375 + </comp> 1.376 + <comp lib="1" loc="(400,380)" name="OR Gate"> 1.377 + <a name="width" val="8"/> 1.378 + <a name="inputs" val="2"/> 1.379 + </comp> 1.380 + <comp lib="1" loc="(410,440)" name="XOR Gate"> 1.381 + <a name="width" val="8"/> 1.382 + <a name="inputs" val="2"/> 1.383 + </comp> 1.384 + <comp lib="2" loc="(630,260)" name="Multiplexer"> 1.385 + <a name="select" val="4"/> 1.386 + <a name="width" val="8"/> 1.387 + <a name="enable" val="false"/> 1.388 + </comp> 1.389 + </circuit> 1.390 + <circuit name="1bit adder"> 1.391 + <a name="circuit" val="1bit adder"/> 1.392 + <a name="clabel" val=""/> 1.393 + <a name="clabelup" val="east"/> 1.394 + <a name="clabelfont" val="SansSerif plain 12"/> 1.395 + <wire from="(370,250)" to="(410,250)"/> 1.396 + <wire from="(250,180)" to="(250,200)"/> 1.397 + <wire from="(330,220)" to="(340,220)"/> 1.398 + <wire from="(440,220)" to="(500,220)"/> 1.399 + <wire from="(210,160)" to="(250,160)"/> 1.400 + <wire from="(310,150)" to="(350,150)"/> 1.401 + <wire from="(210,260)" to="(340,260)"/> 1.402 + <wire from="(390,160)" to="(500,160)"/> 1.403 + <wire from="(100,160)" to="(210,160)"/> 1.404 + <wire from="(330,170)" to="(330,220)"/> 1.405 + <wire from="(410,230)" to="(410,250)"/> 1.406 + <wire from="(230,240)" to="(340,240)"/> 1.407 + <wire from="(310,200)" to="(340,200)"/> 1.408 + <wire from="(310,150)" to="(310,200)"/> 1.409 + <wire from="(230,200)" to="(250,200)"/> 1.410 + <wire from="(330,170)" to="(350,170)"/> 1.411 + <wire from="(210,160)" to="(210,260)"/> 1.412 + <wire from="(310,60)" to="(310,150)"/> 1.413 + <wire from="(370,210)" to="(410,210)"/> 1.414 + <wire from="(230,200)" to="(230,240)"/> 1.415 + <wire from="(290,170)" to="(330,170)"/> 1.416 + <wire from="(100,200)" to="(230,200)"/> 1.417 + <comp lib="1" loc="(440,220)" name="OR Gate"> 1.418 + <a name="size" val="30"/> 1.419 + <a name="inputs" val="2"/> 1.420 + </comp> 1.421 + <comp lib="0" loc="(500,160)" name="Pin"> 1.422 + <a name="facing" val="west"/> 1.423 + <a name="output" val="true"/> 1.424 + <a name="label" val="S"/> 1.425 + <a name="labelloc" val="east"/> 1.426 + </comp> 1.427 + <comp lib="1" loc="(290,170)" name="XOR Gate"> 1.428 + <a name="size" val="30"/> 1.429 + <a name="inputs" val="2"/> 1.430 + </comp> 1.431 + <comp lib="1" loc="(390,160)" name="XOR Gate"> 1.432 + <a name="size" val="30"/> 1.433 + <a name="inputs" val="2"/> 1.434 + </comp> 1.435 + <comp lib="0" loc="(100,160)" name="Pin"> 1.436 + <a name="tristate" val="false"/> 1.437 + <a name="label" val="A"/> 1.438 + </comp> 1.439 + <comp lib="1" loc="(370,250)" name="AND Gate"> 1.440 + <a name="size" val="30"/> 1.441 + <a name="inputs" val="2"/> 1.442 + </comp> 1.443 + <comp lib="0" loc="(310,60)" name="Pin"> 1.444 + <a name="facing" val="south"/> 1.445 + <a name="tristate" val="false"/> 1.446 + <a name="label" val="Cin"/> 1.447 + </comp> 1.448 + <comp lib="1" loc="(370,210)" name="AND Gate"> 1.449 + <a name="size" val="30"/> 1.450 + <a name="inputs" val="2"/> 1.451 + </comp> 1.452 + <comp lib="0" loc="(500,220)" name="Pin"> 1.453 + <a name="facing" val="west"/> 1.454 + <a name="output" val="true"/> 1.455 + <a name="label" val="Cout"/> 1.456 + <a name="labelloc" val="east"/> 1.457 + </comp> 1.458 + <comp lib="0" loc="(100,200)" name="Pin"> 1.459 + <a name="tristate" val="false"/> 1.460 + <a name="label" val="B"/> 1.461 + </comp> 1.462 + </circuit> 1.463 + <circuit name="8bit add/sub"> 1.464 + <a name="circuit" val="8bit add/sub"/> 1.465 + <a name="clabel" val=""/> 1.466 + <a name="clabelup" val="east"/> 1.467 + <a name="clabelfont" val="SansSerif plain 12"/> 1.468 + <wire from="(100,380)" to="(300,380)"/> 1.469 + <wire from="(210,440)" to="(240,440)"/> 1.470 + <wire from="(320,270)" to="(350,270)"/> 1.471 + <wire from="(340,290)" to="(470,290)"/> 1.472 + <wire from="(350,150)" to="(350,170)"/> 1.473 + <wire from="(320,420)" to="(320,430)"/> 1.474 + <wire from="(320,170)" to="(320,180)"/> 1.475 + <wire from="(90,230)" to="(90,430)"/> 1.476 + <wire from="(160,160)" to="(240,160)"/> 1.477 + <wire from="(200,360)" to="(240,360)"/> 1.478 + <wire from="(210,190)" to="(240,190)"/> 1.479 + <wire from="(120,170)" to="(120,280)"/> 1.480 + <wire from="(300,180)" to="(300,190)"/> 1.481 + <wire from="(300,290)" to="(310,290)"/> 1.482 + <wire from="(90,430)" to="(300,430)"/> 1.483 + <wire from="(210,20)" to="(210,30)"/> 1.484 + <wire from="(320,220)" to="(320,230)"/> 1.485 + <wire from="(500,230)" to="(550,230)"/> 1.486 + <wire from="(300,130)" to="(300,140)"/> 1.487 + <wire from="(350,400)" to="(350,420)"/> 1.488 + <wire from="(210,90)" to="(240,90)"/> 1.489 + <wire from="(70,190)" to="(110,190)"/> 1.490 + <wire from="(110,130)" to="(300,130)"/> 1.491 + <wire from="(280,100)" to="(310,100)"/> 1.492 + <wire from="(180,260)" to="(180,520)"/> 1.493 + <wire from="(280,400)" to="(310,400)"/> 1.494 + <wire from="(300,240)" to="(310,240)"/> 1.495 + <wire from="(340,100)" to="(350,100)"/> 1.496 + <wire from="(350,350)" to="(350,370)"/> 1.497 + <wire from="(460,150)" to="(550,150)"/> 1.498 + <wire from="(320,370)" to="(350,370)"/> 1.499 + <wire from="(340,300)" to="(350,300)"/> 1.500 + <wire from="(110,190)" to="(110,330)"/> 1.501 + <wire from="(210,240)" to="(240,240)"/> 1.502 + <wire from="(280,350)" to="(310,350)"/> 1.503 + <wire from="(300,230)" to="(300,240)"/> 1.504 + <wire from="(70,130)" to="(100,130)"/> 1.505 + <wire from="(320,170)" to="(350,170)"/> 1.506 + <wire from="(300,280)" to="(300,290)"/> 1.507 + <wire from="(340,90)" to="(550,90)"/> 1.508 + <wire from="(300,190)" to="(310,190)"/> 1.509 + <wire from="(230,460)" to="(230,600)"/> 1.510 + <wire from="(130,150)" to="(130,230)"/> 1.511 + <wire from="(400,450)" to="(400,590)"/> 1.512 + <wire from="(300,440)" to="(310,440)"/> 1.513 + <wire from="(140,180)" to="(300,180)"/> 1.514 + <wire from="(320,420)" to="(350,420)"/> 1.515 + <wire from="(210,190)" to="(210,240)"/> 1.516 + <wire from="(480,190)" to="(480,340)"/> 1.517 + <wire from="(320,320)" to="(320,330)"/> 1.518 + <wire from="(70,170)" to="(120,170)"/> 1.519 + <wire from="(120,280)" to="(300,280)"/> 1.520 + <wire from="(340,200)" to="(350,200)"/> 1.521 + <wire from="(210,290)" to="(240,290)"/> 1.522 + <wire from="(460,150)" to="(460,240)"/> 1.523 + <wire from="(340,340)" to="(480,340)"/> 1.524 + <wire from="(140,140)" to="(140,180)"/> 1.525 + <wire from="(450,130)" to="(550,130)"/> 1.526 + <wire from="(170,210)" to="(240,210)"/> 1.527 + <wire from="(100,140)" to="(140,140)"/> 1.528 + <wire from="(70,560)" to="(200,560)"/> 1.529 + <wire from="(340,390)" to="(490,390)"/> 1.530 + <wire from="(210,30)" to="(320,30)"/> 1.531 + <wire from="(340,250)" to="(350,250)"/> 1.532 + <wire from="(210,340)" to="(210,390)"/> 1.533 + <wire from="(300,340)" to="(310,340)"/> 1.534 + <wire from="(320,370)" to="(320,380)"/> 1.535 + <wire from="(350,300)" to="(350,320)"/> 1.536 + <wire from="(160,160)" to="(160,480)"/> 1.537 + <wire from="(110,80)" to="(110,90)"/> 1.538 + <wire from="(110,80)" to="(300,80)"/> 1.539 + <wire from="(210,140)" to="(240,140)"/> 1.540 + <wire from="(70,90)" to="(110,90)"/> 1.541 + <wire from="(210,290)" to="(210,340)"/> 1.542 + <wire from="(300,390)" to="(310,390)"/> 1.543 + <wire from="(300,430)" to="(300,440)"/> 1.544 + <wire from="(70,540)" to="(190,540)"/> 1.545 + <wire from="(70,150)" to="(130,150)"/> 1.546 + <wire from="(300,380)" to="(300,390)"/> 1.547 + <wire from="(300,140)" to="(310,140)"/> 1.548 + <wire from="(340,440)" to="(500,440)"/> 1.549 + <wire from="(150,110)" to="(150,460)"/> 1.550 + <wire from="(70,110)" to="(110,110)"/> 1.551 + <wire from="(450,130)" to="(450,190)"/> 1.552 + <wire from="(320,120)" to="(350,120)"/> 1.553 + <wire from="(350,200)" to="(350,220)"/> 1.554 + <wire from="(490,210)" to="(490,390)"/> 1.555 + <wire from="(220,410)" to="(240,410)"/> 1.556 + <wire from="(150,110)" to="(240,110)"/> 1.557 + <wire from="(190,310)" to="(190,540)"/> 1.558 + <wire from="(340,350)" to="(350,350)"/> 1.559 + <wire from="(300,80)" to="(300,90)"/> 1.560 + <wire from="(100,210)" to="(100,380)"/> 1.561 + <wire from="(350,250)" to="(350,270)"/> 1.562 + <wire from="(70,580)" to="(220,580)"/> 1.563 + <wire from="(440,110)" to="(550,110)"/> 1.564 + <wire from="(440,110)" to="(440,140)"/> 1.565 + <wire from="(320,30)" to="(320,80)"/> 1.566 + <wire from="(280,150)" to="(310,150)"/> 1.567 + <wire from="(170,210)" to="(170,500)"/> 1.568 + <wire from="(70,600)" to="(230,600)"/> 1.569 + <wire from="(350,100)" to="(350,120)"/> 1.570 + <wire from="(70,210)" to="(100,210)"/> 1.571 + <wire from="(180,260)" to="(240,260)"/> 1.572 + <wire from="(500,230)" to="(500,440)"/> 1.573 + <wire from="(480,190)" to="(550,190)"/> 1.574 + <wire from="(340,150)" to="(350,150)"/> 1.575 + <wire from="(70,230)" to="(90,230)"/> 1.576 + <wire from="(470,170)" to="(470,290)"/> 1.577 + <wire from="(220,410)" to="(220,580)"/> 1.578 + <wire from="(100,130)" to="(100,140)"/> 1.579 + <wire from="(280,200)" to="(310,200)"/> 1.580 + <wire from="(320,320)" to="(350,320)"/> 1.581 + <wire from="(210,140)" to="(210,190)"/> 1.582 + <wire from="(340,450)" to="(400,450)"/> 1.583 + <wire from="(280,300)" to="(310,300)"/> 1.584 + <wire from="(210,390)" to="(210,440)"/> 1.585 + <wire from="(340,240)" to="(460,240)"/> 1.586 + <wire from="(340,400)" to="(350,400)"/> 1.587 + <wire from="(210,340)" to="(240,340)"/> 1.588 + <wire from="(200,360)" to="(200,560)"/> 1.589 + <wire from="(280,450)" to="(310,450)"/> 1.590 + <wire from="(300,330)" to="(300,340)"/> 1.591 + <wire from="(110,330)" to="(300,330)"/> 1.592 + <wire from="(280,250)" to="(310,250)"/> 1.593 + <wire from="(210,90)" to="(210,140)"/> 1.594 + <wire from="(70,520)" to="(180,520)"/> 1.595 + <wire from="(70,500)" to="(170,500)"/> 1.596 + <wire from="(490,210)" to="(550,210)"/> 1.597 + <wire from="(70,460)" to="(150,460)"/> 1.598 + <wire from="(210,240)" to="(210,290)"/> 1.599 + <wire from="(320,270)" to="(320,280)"/> 1.600 + <wire from="(210,390)" to="(240,390)"/> 1.601 + <wire from="(210,30)" to="(210,90)"/> 1.602 + <wire from="(320,220)" to="(350,220)"/> 1.603 + <wire from="(130,230)" to="(300,230)"/> 1.604 + <wire from="(190,310)" to="(240,310)"/> 1.605 + <wire from="(300,90)" to="(310,90)"/> 1.606 + <wire from="(340,140)" to="(440,140)"/> 1.607 + <wire from="(230,460)" to="(240,460)"/> 1.608 + <wire from="(70,480)" to="(160,480)"/> 1.609 + <wire from="(320,120)" to="(320,130)"/> 1.610 + <wire from="(110,110)" to="(110,130)"/> 1.611 + <wire from="(470,170)" to="(550,170)"/> 1.612 + <wire from="(340,190)" to="(450,190)"/> 1.613 + <comp lib="0" loc="(70,460)" name="Pin"> 1.614 + <a name="tristate" val="false"/> 1.615 + </comp> 1.616 + <comp lib="0" loc="(70,130)" name="Pin"> 1.617 + <a name="tristate" val="false"/> 1.618 + </comp> 1.619 + <comp lib="0" loc="(70,540)" name="Pin"> 1.620 + <a name="tristate" val="false"/> 1.621 + </comp> 1.622 + <comp lib="1" loc="(280,400)" name="XOR Gate"> 1.623 + <a name="size" val="30"/> 1.624 + <a name="inputs" val="2"/> 1.625 + </comp> 1.626 + <comp lib="0" loc="(70,170)" name="Pin"> 1.627 + <a name="tristate" val="false"/> 1.628 + </comp> 1.629 + <comp loc="(340,90)" name="1bit adder"/> 1.630 + <comp loc="(340,290)" name="1bit adder"/> 1.631 + <comp loc="(340,140)" name="1bit adder"/> 1.632 + <comp lib="0" loc="(70,560)" name="Pin"> 1.633 + <a name="tristate" val="false"/> 1.634 + </comp> 1.635 + <comp lib="0" loc="(550,130)" name="Pin"> 1.636 + <a name="facing" val="west"/> 1.637 + <a name="output" val="true"/> 1.638 + <a name="labelloc" val="east"/> 1.639 + </comp> 1.640 + <comp lib="1" loc="(280,450)" name="XOR Gate"> 1.641 + <a name="size" val="30"/> 1.642 + <a name="inputs" val="2"/> 1.643 + </comp> 1.644 + <comp lib="0" loc="(70,210)" name="Pin"> 1.645 + <a name="tristate" val="false"/> 1.646 + </comp> 1.647 + <comp loc="(340,240)" name="1bit adder"/> 1.648 + <comp lib="1" loc="(280,150)" name="XOR Gate"> 1.649 + <a name="size" val="30"/> 1.650 + <a name="inputs" val="2"/> 1.651 + </comp> 1.652 + <comp lib="0" loc="(210,20)" name="Pin"> 1.653 + <a name="facing" val="south"/> 1.654 + <a name="tristate" val="false"/> 1.655 + </comp> 1.656 + <comp lib="0" loc="(70,230)" name="Pin"> 1.657 + <a name="tristate" val="false"/> 1.658 + </comp> 1.659 + <comp lib="1" loc="(280,200)" name="XOR Gate"> 1.660 + <a name="size" val="30"/> 1.661 + <a name="inputs" val="2"/> 1.662 + </comp> 1.663 + <comp lib="0" loc="(550,170)" name="Pin"> 1.664 + <a name="facing" val="west"/> 1.665 + <a name="output" val="true"/> 1.666 + <a name="labelloc" val="east"/> 1.667 + </comp> 1.668 + <comp lib="0" loc="(70,90)" name="Pin"> 1.669 + <a name="tristate" val="false"/> 1.670 + </comp> 1.671 + <comp lib="0" loc="(70,500)" name="Pin"> 1.672 + <a name="tristate" val="false"/> 1.673 + </comp> 1.674 + <comp loc="(340,340)" name="1bit adder"/> 1.675 + <comp loc="(340,190)" name="1bit adder"/> 1.676 + <comp lib="0" loc="(550,210)" name="Pin"> 1.677 + <a name="facing" val="west"/> 1.678 + <a name="output" val="true"/> 1.679 + <a name="labelloc" val="east"/> 1.680 + </comp> 1.681 + <comp loc="(340,390)" name="1bit adder"/> 1.682 + <comp lib="0" loc="(550,230)" name="Pin"> 1.683 + <a name="facing" val="west"/> 1.684 + <a name="output" val="true"/> 1.685 + <a name="labelloc" val="east"/> 1.686 + </comp> 1.687 + <comp lib="0" loc="(550,110)" name="Pin"> 1.688 + <a name="facing" val="west"/> 1.689 + <a name="output" val="true"/> 1.690 + <a name="labelloc" val="east"/> 1.691 + </comp> 1.692 + <comp lib="0" loc="(550,190)" name="Pin"> 1.693 + <a name="facing" val="west"/> 1.694 + <a name="output" val="true"/> 1.695 + <a name="labelloc" val="east"/> 1.696 + </comp> 1.697 + <comp lib="0" loc="(70,110)" name="Pin"> 1.698 + <a name="tristate" val="false"/> 1.699 + </comp> 1.700 + <comp lib="0" loc="(70,190)" name="Pin"> 1.701 + <a name="tristate" val="false"/> 1.702 + </comp> 1.703 + <comp lib="0" loc="(70,150)" name="Pin"> 1.704 + <a name="tristate" val="false"/> 1.705 + </comp> 1.706 + <comp lib="0" loc="(70,580)" name="Pin"> 1.707 + <a name="tristate" val="false"/> 1.708 + </comp> 1.709 + <comp lib="0" loc="(550,90)" name="Pin"> 1.710 + <a name="facing" val="west"/> 1.711 + <a name="output" val="true"/> 1.712 + <a name="labelloc" val="east"/> 1.713 + </comp> 1.714 + <comp lib="0" loc="(400,590)" name="Pin"> 1.715 + <a name="facing" val="north"/> 1.716 + <a name="output" val="true"/> 1.717 + <a name="labelloc" val="east"/> 1.718 + </comp> 1.719 + <comp lib="0" loc="(550,150)" name="Pin"> 1.720 + <a name="facing" val="west"/> 1.721 + <a name="output" val="true"/> 1.722 + <a name="labelloc" val="east"/> 1.723 + </comp> 1.724 + <comp lib="0" loc="(70,520)" name="Pin"> 1.725 + <a name="tristate" val="false"/> 1.726 + </comp> 1.727 + <comp lib="1" loc="(280,350)" name="XOR Gate"> 1.728 + <a name="size" val="30"/> 1.729 + <a name="inputs" val="2"/> 1.730 + </comp> 1.731 + <comp lib="1" loc="(280,250)" name="XOR Gate"> 1.732 + <a name="size" val="30"/> 1.733 + <a name="inputs" val="2"/> 1.734 + </comp> 1.735 + <comp loc="(340,440)" name="1bit adder"/> 1.736 + <comp lib="0" loc="(70,480)" name="Pin"> 1.737 + <a name="tristate" val="false"/> 1.738 + </comp> 1.739 + <comp lib="1" loc="(280,100)" name="XOR Gate"> 1.740 + <a name="size" val="30"/> 1.741 + <a name="inputs" val="2"/> 1.742 + </comp> 1.743 + <comp lib="0" loc="(70,600)" name="Pin"> 1.744 + <a name="tristate" val="false"/> 1.745 + </comp> 1.746 + <comp lib="1" loc="(280,300)" name="XOR Gate"> 1.747 + <a name="size" val="30"/> 1.748 + <a name="inputs" val="2"/> 1.749 + </comp> 1.750 + </circuit> 1.751 + <circuit name="8bit left shifter"> 1.752 + <a name="circuit" val="8bit left shifter"/> 1.753 + <a name="clabel" val=""/> 1.754 + <a name="clabelup" val="east"/> 1.755 + <a name="clabelfont" val="SansSerif plain 12"/> 1.756 + <wire from="(220,210)" to="(220,300)"/> 1.757 + <wire from="(580,150)" to="(580,240)"/> 1.758 + <wire from="(680,250)" to="(730,250)"/> 1.759 + <wire from="(340,520)" to="(370,520)"/> 1.760 + <wire from="(500,250)" to="(500,320)"/> 1.761 + <wire from="(400,230)" to="(470,230)"/> 1.762 + <wire from="(460,600)" to="(510,600)"/> 1.763 + <wire from="(360,590)" to="(370,590)"/> 1.764 + <wire from="(80,120)" to="(140,120)"/> 1.765 + <wire from="(360,220)" to="(370,220)"/> 1.766 + <wire from="(220,440)" to="(240,440)"/> 1.767 + <wire from="(500,320)" to="(510,320)"/> 1.768 + <wire from="(250,450)" to="(250,520)"/> 1.769 + <wire from="(540,310)" to="(600,310)"/> 1.770 + <wire from="(100,200)" to="(100,560)"/> 1.771 + <wire from="(220,80)" to="(240,80)"/> 1.772 + <wire from="(520,470)" to="(520,540)"/> 1.773 + <wire from="(380,600)" to="(380,680)"/> 1.774 + <wire from="(400,100)" to="(490,100)"/> 1.775 + <wire from="(460,300)" to="(510,300)"/> 1.776 + <wire from="(250,170)" to="(250,240)"/> 1.777 + <wire from="(520,540)" to="(520,610)"/> 1.778 + <wire from="(220,490)" to="(220,580)"/> 1.779 + <wire from="(380,390)" to="(380,460)"/> 1.780 + <wire from="(520,130)" to="(520,190)"/> 1.781 + <wire from="(210,140)" to="(210,230)"/> 1.782 + <wire from="(400,160)" to="(480,160)"/> 1.783 + <wire from="(620,190)" to="(620,380)"/> 1.784 + <wire from="(470,230)" to="(510,230)"/> 1.785 + <wire from="(210,420)" to="(240,420)"/> 1.786 + <wire from="(210,420)" to="(210,510)"/> 1.787 + <wire from="(250,110)" to="(250,170)"/> 1.788 + <wire from="(400,580)" to="(510,580)"/> 1.789 + <wire from="(660,230)" to="(660,520)"/> 1.790 + <wire from="(270,150)" to="(340,150)"/> 1.791 + <wire from="(340,150)" to="(340,310)"/> 1.792 + <wire from="(640,210)" to="(730,210)"/> 1.793 + <wire from="(380,460)" to="(380,530)"/> 1.794 + <wire from="(480,460)" to="(510,460)"/> 1.795 + <wire from="(270,220)" to="(360,220)"/> 1.796 + <wire from="(270,500)" to="(370,500)"/> 1.797 + <wire from="(230,100)" to="(240,100)"/> 1.798 + <wire from="(380,530)" to="(380,600)"/> 1.799 + <wire from="(680,250)" to="(680,590)"/> 1.800 + <wire from="(560,130)" to="(560,170)"/> 1.801 + <wire from="(120,420)" to="(210,420)"/> 1.802 + <wire from="(270,430)" to="(360,430)"/> 1.803 + <wire from="(490,100)" to="(490,390)"/> 1.804 + <wire from="(360,430)" to="(370,430)"/> 1.805 + <wire from="(80,60)" to="(170,60)"/> 1.806 + <wire from="(220,300)" to="(240,300)"/> 1.807 + <wire from="(110,490)" to="(220,490)"/> 1.808 + <wire from="(210,230)" to="(240,230)"/> 1.809 + <wire from="(540,170)" to="(560,170)"/> 1.810 + <wire from="(150,210)" to="(220,210)"/> 1.811 + <wire from="(230,30)" to="(360,30)"/> 1.812 + <wire from="(620,190)" to="(730,190)"/> 1.813 + <wire from="(350,290)" to="(370,290)"/> 1.814 + <wire from="(400,510)" to="(510,510)"/> 1.815 + <wire from="(350,90)" to="(350,240)"/> 1.816 + <wire from="(490,390)" to="(510,390)"/> 1.817 + <wire from="(110,180)" to="(110,490)"/> 1.818 + <wire from="(400,300)" to="(460,300)"/> 1.819 + <wire from="(230,30)" to="(230,100)"/> 1.820 + <wire from="(540,110)" to="(730,110)"/> 1.821 + <wire from="(100,560)" to="(240,560)"/> 1.822 + <wire from="(80,700)" to="(520,700)"/> 1.823 + <wire from="(220,490)" to="(240,490)"/> 1.824 + <wire from="(340,150)" to="(370,150)"/> 1.825 + <wire from="(660,230)" to="(730,230)"/> 1.826 + <wire from="(210,140)" to="(240,140)"/> 1.827 + <wire from="(480,160)" to="(480,460)"/> 1.828 + <wire from="(380,120)" to="(380,180)"/> 1.829 + <wire from="(640,210)" to="(640,450)"/> 1.830 + <wire from="(350,290)" to="(350,450)"/> 1.831 + <wire from="(130,140)" to="(130,350)"/> 1.832 + <wire from="(250,240)" to="(250,310)"/> 1.833 + <wire from="(560,130)" to="(730,130)"/> 1.834 + <wire from="(600,170)" to="(730,170)"/> 1.835 + <wire from="(250,590)" to="(250,660)"/> 1.836 + <wire from="(500,180)" to="(510,180)"/> 1.837 + <wire from="(500,120)" to="(500,180)"/> 1.838 + <wire from="(150,100)" to="(150,210)"/> 1.839 + <wire from="(170,80)" to="(220,80)"/> 1.840 + <wire from="(350,90)" to="(370,90)"/> 1.841 + <wire from="(360,220)" to="(360,380)"/> 1.842 + <wire from="(270,90)" to="(350,90)"/> 1.843 + <wire from="(500,120)" to="(510,120)"/> 1.844 + <wire from="(80,180)" to="(110,180)"/> 1.845 + <wire from="(270,570)" to="(370,570)"/> 1.846 + <wire from="(360,380)" to="(370,380)"/> 1.847 + <wire from="(160,80)" to="(160,140)"/> 1.848 + <wire from="(500,30)" to="(500,120)"/> 1.849 + <wire from="(520,330)" to="(520,400)"/> 1.850 + <wire from="(160,140)" to="(210,140)"/> 1.851 + <wire from="(470,230)" to="(470,530)"/> 1.852 + <wire from="(380,250)" to="(380,320)"/> 1.853 + <wire from="(360,30)" to="(500,30)"/> 1.854 + <wire from="(220,580)" to="(240,580)"/> 1.855 + <wire from="(210,280)" to="(210,370)"/> 1.856 + <wire from="(220,160)" to="(240,160)"/> 1.857 + <wire from="(470,530)" to="(510,530)"/> 1.858 + <wire from="(220,350)" to="(220,440)"/> 1.859 + <wire from="(80,80)" to="(160,80)"/> 1.860 + <wire from="(360,170)" to="(370,170)"/> 1.861 + <wire from="(360,110)" to="(360,170)"/> 1.862 + <wire from="(540,380)" to="(620,380)"/> 1.863 + <wire from="(600,170)" to="(600,310)"/> 1.864 + <wire from="(400,440)" to="(510,440)"/> 1.865 + <wire from="(460,300)" to="(460,600)"/> 1.866 + <wire from="(490,100)" to="(510,100)"/> 1.867 + <wire from="(220,80)" to="(220,160)"/> 1.868 + <wire from="(120,160)" to="(120,420)"/> 1.869 + <wire from="(360,110)" to="(370,110)"/> 1.870 + <wire from="(220,350)" to="(240,350)"/> 1.871 + <wire from="(210,280)" to="(240,280)"/> 1.872 + <wire from="(270,290)" to="(350,290)"/> 1.873 + <wire from="(340,360)" to="(370,360)"/> 1.874 + <wire from="(520,260)" to="(520,330)"/> 1.875 + <wire from="(80,160)" to="(120,160)"/> 1.876 + <wire from="(540,240)" to="(580,240)"/> 1.877 + <wire from="(540,450)" to="(640,450)"/> 1.878 + <wire from="(540,520)" to="(660,520)"/> 1.879 + <wire from="(140,120)" to="(140,280)"/> 1.880 + <wire from="(380,320)" to="(380,390)"/> 1.881 + <wire from="(250,380)" to="(250,450)"/> 1.882 + <wire from="(380,180)" to="(380,250)"/> 1.883 + <wire from="(540,590)" to="(680,590)"/> 1.884 + <wire from="(80,200)" to="(100,200)"/> 1.885 + <wire from="(140,280)" to="(210,280)"/> 1.886 + <wire from="(210,370)" to="(240,370)"/> 1.887 + <wire from="(340,310)" to="(370,310)"/> 1.888 + <wire from="(350,450)" to="(370,450)"/> 1.889 + <wire from="(180,30)" to="(230,30)"/> 1.890 + <wire from="(80,100)" to="(150,100)"/> 1.891 + <wire from="(270,360)" to="(340,360)"/> 1.892 + <wire from="(80,140)" to="(130,140)"/> 1.893 + <wire from="(250,310)" to="(250,380)"/> 1.894 + <wire from="(480,160)" to="(510,160)"/> 1.895 + <wire from="(360,30)" to="(360,110)"/> 1.896 + <wire from="(520,190)" to="(520,260)"/> 1.897 + <wire from="(340,360)" to="(340,520)"/> 1.898 + <wire from="(80,680)" to="(380,680)"/> 1.899 + <wire from="(80,660)" to="(250,660)"/> 1.900 + <wire from="(210,510)" to="(240,510)"/> 1.901 + <wire from="(220,210)" to="(240,210)"/> 1.902 + <wire from="(350,240)" to="(370,240)"/> 1.903 + <wire from="(170,60)" to="(170,80)"/> 1.904 + <wire from="(500,180)" to="(500,250)"/> 1.905 + <wire from="(580,150)" to="(730,150)"/> 1.906 + <wire from="(500,250)" to="(510,250)"/> 1.907 + <wire from="(250,520)" to="(250,590)"/> 1.908 + <wire from="(520,400)" to="(520,470)"/> 1.909 + <wire from="(400,370)" to="(510,370)"/> 1.910 + <wire from="(360,430)" to="(360,590)"/> 1.911 + <wire from="(130,350)" to="(220,350)"/> 1.912 + <wire from="(520,610)" to="(520,700)"/> 1.913 + <comp lib="2" loc="(270,570)" name="Multiplexer"> 1.914 + <a name="enable" val="false"/> 1.915 + </comp> 1.916 + <comp lib="2" loc="(400,100)" name="Multiplexer"> 1.917 + <a name="enable" val="false"/> 1.918 + </comp> 1.919 + <comp lib="2" loc="(400,440)" name="Multiplexer"> 1.920 + <a name="enable" val="false"/> 1.921 + </comp> 1.922 + <comp lib="2" loc="(270,500)" name="Multiplexer"> 1.923 + <a name="enable" val="false"/> 1.924 + </comp> 1.925 + <comp lib="2" loc="(400,370)" name="Multiplexer"> 1.926 + <a name="enable" val="false"/> 1.927 + </comp> 1.928 + <comp lib="0" loc="(730,250)" name="Pin"> 1.929 + <a name="facing" val="west"/> 1.930 + <a name="output" val="true"/> 1.931 + <a name="label" val="R7"/> 1.932 + <a name="labelloc" val="east"/> 1.933 + </comp> 1.934 + <comp lib="0" loc="(730,230)" name="Pin"> 1.935 + <a name="facing" val="west"/> 1.936 + <a name="output" val="true"/> 1.937 + <a name="label" val="R6"/> 1.938 + <a name="labelloc" val="east"/> 1.939 + </comp> 1.940 + <comp lib="0" loc="(180,30)" name="Pin"> 1.941 + <a name="tristate" val="false"/> 1.942 + <a name="label" val="sin"/> 1.943 + </comp> 1.944 + <comp lib="0" loc="(80,160)" name="Pin"> 1.945 + <a name="tristate" val="false"/> 1.946 + <a name="label" val="A5"/> 1.947 + </comp> 1.948 + <comp lib="2" loc="(400,160)" name="Multiplexer"> 1.949 + <a name="enable" val="false"/> 1.950 + </comp> 1.951 + <comp lib="0" loc="(80,60)" name="Pin"> 1.952 + <a name="tristate" val="false"/> 1.953 + <a name="label" val="A0"/> 1.954 + </comp> 1.955 + <comp lib="0" loc="(80,100)" name="Pin"> 1.956 + <a name="tristate" val="false"/> 1.957 + <a name="label" val="A2"/> 1.958 + </comp> 1.959 + <comp lib="0" loc="(80,80)" name="Pin"> 1.960 + <a name="tristate" val="false"/> 1.961 + <a name="label" val="A1"/> 1.962 + </comp> 1.963 + <comp lib="2" loc="(540,590)" name="Multiplexer"> 1.964 + <a name="enable" val="false"/> 1.965 + </comp> 1.966 + <comp lib="0" loc="(80,700)" name="Pin"> 1.967 + <a name="tristate" val="false"/> 1.968 + <a name="label" val="S2"/> 1.969 + </comp> 1.970 + <comp lib="0" loc="(730,130)" name="Pin"> 1.971 + <a name="facing" val="west"/> 1.972 + <a name="output" val="true"/> 1.973 + <a name="label" val="R1"/> 1.974 + <a name="labelloc" val="east"/> 1.975 + </comp> 1.976 + <comp lib="0" loc="(730,190)" name="Pin"> 1.977 + <a name="facing" val="west"/> 1.978 + <a name="output" val="true"/> 1.979 + <a name="label" val="R4"/> 1.980 + <a name="labelloc" val="east"/> 1.981 + </comp> 1.982 + <comp lib="2" loc="(540,450)" name="Multiplexer"> 1.983 + <a name="enable" val="false"/> 1.984 + </comp> 1.985 + <comp lib="2" loc="(540,310)" name="Multiplexer"> 1.986 + <a name="enable" val="false"/> 1.987 + </comp> 1.988 + <comp lib="0" loc="(80,180)" name="Pin"> 1.989 + <a name="tristate" val="false"/> 1.990 + <a name="label" val="A6"/> 1.991 + </comp> 1.992 + <comp lib="2" loc="(270,90)" name="Multiplexer"> 1.993 + <a name="enable" val="false"/> 1.994 + </comp> 1.995 + <comp lib="0" loc="(80,660)" name="Pin"> 1.996 + <a name="tristate" val="false"/> 1.997 + <a name="label" val="S0"/> 1.998 + </comp> 1.999 + <comp lib="2" loc="(540,110)" name="Multiplexer"> 1.1000 + <a name="enable" val="false"/> 1.1001 + </comp> 1.1002 + <comp lib="0" loc="(80,120)" name="Pin"> 1.1003 + <a name="tristate" val="false"/> 1.1004 + <a name="label" val="A3"/> 1.1005 + </comp> 1.1006 + <comp lib="2" loc="(270,150)" name="Multiplexer"> 1.1007 + <a name="enable" val="false"/> 1.1008 + </comp> 1.1009 + <comp lib="2" loc="(400,300)" name="Multiplexer"> 1.1010 + <a name="enable" val="false"/> 1.1011 + </comp> 1.1012 + <comp lib="2" loc="(270,430)" name="Multiplexer"> 1.1013 + <a name="enable" val="false"/> 1.1014 + </comp> 1.1015 + <comp lib="2" loc="(540,240)" name="Multiplexer"> 1.1016 + <a name="enable" val="false"/> 1.1017 + </comp> 1.1018 + <comp lib="2" loc="(540,520)" name="Multiplexer"> 1.1019 + <a name="enable" val="false"/> 1.1020 + </comp> 1.1021 + <comp lib="2" loc="(540,380)" name="Multiplexer"> 1.1022 + <a name="enable" val="false"/> 1.1023 + </comp> 1.1024 + <comp lib="0" loc="(730,110)" name="Pin"> 1.1025 + <a name="facing" val="west"/> 1.1026 + <a name="output" val="true"/> 1.1027 + <a name="label" val="R0"/> 1.1028 + <a name="labelloc" val="east"/> 1.1029 + </comp> 1.1030 + <comp lib="0" loc="(730,210)" name="Pin"> 1.1031 + <a name="facing" val="west"/> 1.1032 + <a name="output" val="true"/> 1.1033 + <a name="label" val="R5"/> 1.1034 + <a name="labelloc" val="east"/> 1.1035 + </comp> 1.1036 + <comp lib="0" loc="(80,140)" name="Pin"> 1.1037 + <a name="tristate" val="false"/> 1.1038 + <a name="label" val="A4"/> 1.1039 + </comp> 1.1040 + <comp lib="2" loc="(270,220)" name="Multiplexer"> 1.1041 + <a name="enable" val="false"/> 1.1042 + </comp> 1.1043 + <comp lib="0" loc="(730,170)" name="Pin"> 1.1044 + <a name="facing" val="west"/> 1.1045 + <a name="output" val="true"/> 1.1046 + <a name="label" val="R3"/> 1.1047 + <a name="labelloc" val="east"/> 1.1048 + </comp> 1.1049 + <comp lib="2" loc="(400,230)" name="Multiplexer"> 1.1050 + <a name="enable" val="false"/> 1.1051 + </comp> 1.1052 + <comp lib="2" loc="(400,580)" name="Multiplexer"> 1.1053 + <a name="enable" val="false"/> 1.1054 + </comp> 1.1055 + <comp lib="2" loc="(270,360)" name="Multiplexer"> 1.1056 + <a name="enable" val="false"/> 1.1057 + </comp> 1.1058 + <comp lib="0" loc="(730,150)" name="Pin"> 1.1059 + <a name="facing" val="west"/> 1.1060 + <a name="output" val="true"/> 1.1061 + <a name="label" val="R2"/> 1.1062 + <a name="labelloc" val="east"/> 1.1063 + </comp> 1.1064 + <comp lib="0" loc="(80,680)" name="Pin"> 1.1065 + <a name="tristate" val="false"/> 1.1066 + <a name="label" val="S1"/> 1.1067 + </comp> 1.1068 + <comp lib="2" loc="(400,510)" name="Multiplexer"> 1.1069 + <a name="enable" val="false"/> 1.1070 + </comp> 1.1071 + <comp lib="2" loc="(540,170)" name="Multiplexer"> 1.1072 + <a name="enable" val="false"/> 1.1073 + </comp> 1.1074 + <comp lib="0" loc="(80,200)" name="Pin"> 1.1075 + <a name="tristate" val="false"/> 1.1076 + <a name="label" val="A7"/> 1.1077 + </comp> 1.1078 + <comp lib="2" loc="(270,290)" name="Multiplexer"> 1.1079 + <a name="enable" val="false"/> 1.1080 + </comp> 1.1081 + </circuit> 1.1082 + <circuit name="8bit right shifter"> 1.1083 + <a name="circuit" val="8bit right shifter"/> 1.1084 + <a name="clabel" val=""/> 1.1085 + <a name="clabelup" val="east"/> 1.1086 + <a name="clabelfont" val="SansSerif plain 12"/> 1.1087 + <wire from="(530,540)" to="(530,610)"/> 1.1088 + <wire from="(170,140)" to="(240,140)"/> 1.1089 + <wire from="(280,360)" to="(370,360)"/> 1.1090 + <wire from="(240,160)" to="(240,210)"/> 1.1091 + <wire from="(390,320)" to="(390,390)"/> 1.1092 + <wire from="(360,450)" to="(360,570)"/> 1.1093 + <wire from="(370,500)" to="(380,500)"/> 1.1094 + <wire from="(280,430)" to="(360,430)"/> 1.1095 + <wire from="(240,510)" to="(240,560)"/> 1.1096 + <wire from="(240,160)" to="(250,160)"/> 1.1097 + <wire from="(260,170)" to="(260,240)"/> 1.1098 + <wire from="(550,170)" to="(570,170)"/> 1.1099 + <wire from="(550,240)" to="(590,240)"/> 1.1100 + <wire from="(490,250)" to="(520,250)"/> 1.1101 + <wire from="(370,380)" to="(380,380)"/> 1.1102 + <wire from="(90,60)" to="(180,60)"/> 1.1103 + <wire from="(120,490)" to="(240,490)"/> 1.1104 + <wire from="(240,440)" to="(250,440)"/> 1.1105 + <wire from="(150,120)" to="(150,280)"/> 1.1106 + <wire from="(240,510)" to="(250,510)"/> 1.1107 + <wire from="(170,80)" to="(170,140)"/> 1.1108 + <wire from="(550,520)" to="(670,520)"/> 1.1109 + <wire from="(370,220)" to="(380,220)"/> 1.1110 + <wire from="(500,320)" to="(500,580)"/> 1.1111 + <wire from="(240,100)" to="(240,140)"/> 1.1112 + <wire from="(530,260)" to="(530,330)"/> 1.1113 + <wire from="(90,20)" to="(190,20)"/> 1.1114 + <wire from="(260,590)" to="(260,660)"/> 1.1115 + <wire from="(670,230)" to="(670,520)"/> 1.1116 + <wire from="(240,100)" to="(250,100)"/> 1.1117 + <wire from="(370,610)" to="(510,610)"/> 1.1118 + <wire from="(240,440)" to="(240,490)"/> 1.1119 + <wire from="(550,380)" to="(630,380)"/> 1.1120 + <wire from="(390,460)" to="(390,530)"/> 1.1121 + <wire from="(370,590)" to="(370,610)"/> 1.1122 + <wire from="(130,160)" to="(130,420)"/> 1.1123 + <wire from="(190,580)" to="(190,610)"/> 1.1124 + <wire from="(370,110)" to="(380,110)"/> 1.1125 + <wire from="(650,210)" to="(740,210)"/> 1.1126 + <wire from="(510,390)" to="(520,390)"/> 1.1127 + <wire from="(160,210)" to="(240,210)"/> 1.1128 + <wire from="(90,160)" to="(130,160)"/> 1.1129 + <wire from="(390,180)" to="(390,250)"/> 1.1130 + <wire from="(280,500)" to="(370,500)"/> 1.1131 + <wire from="(360,570)" to="(380,570)"/> 1.1132 + <wire from="(410,300)" to="(520,300)"/> 1.1133 + <wire from="(510,460)" to="(520,460)"/> 1.1134 + <wire from="(260,240)" to="(260,310)"/> 1.1135 + <wire from="(470,370)" to="(520,370)"/> 1.1136 + <wire from="(90,200)" to="(110,200)"/> 1.1137 + <wire from="(240,560)" to="(250,560)"/> 1.1138 + <wire from="(550,450)" to="(650,450)"/> 1.1139 + <wire from="(410,510)" to="(490,510)"/> 1.1140 + <wire from="(360,170)" to="(380,170)"/> 1.1141 + <wire from="(240,230)" to="(250,230)"/> 1.1142 + <wire from="(410,370)" to="(470,370)"/> 1.1143 + <wire from="(190,580)" to="(250,580)"/> 1.1144 + <wire from="(90,100)" to="(160,100)"/> 1.1145 + <wire from="(370,240)" to="(380,240)"/> 1.1146 + <wire from="(530,610)" to="(530,700)"/> 1.1147 + <wire from="(370,520)" to="(370,590)"/> 1.1148 + <wire from="(240,230)" to="(240,280)"/> 1.1149 + <wire from="(500,320)" to="(520,320)"/> 1.1150 + <wire from="(360,290)" to="(380,290)"/> 1.1151 + <wire from="(130,420)" to="(240,420)"/> 1.1152 + <wire from="(190,20)" to="(190,580)"/> 1.1153 + <wire from="(240,420)" to="(250,420)"/> 1.1154 + <wire from="(370,360)" to="(380,360)"/> 1.1155 + <wire from="(480,180)" to="(520,180)"/> 1.1156 + <wire from="(530,330)" to="(530,400)"/> 1.1157 + <wire from="(500,580)" to="(520,580)"/> 1.1158 + <wire from="(260,110)" to="(260,170)"/> 1.1159 + <wire from="(390,530)" to="(390,600)"/> 1.1160 + <wire from="(370,590)" to="(380,590)"/> 1.1161 + <wire from="(90,660)" to="(260,660)"/> 1.1162 + <wire from="(360,450)" to="(380,450)"/> 1.1163 + <wire from="(630,190)" to="(630,380)"/> 1.1164 + <wire from="(110,200)" to="(110,560)"/> 1.1165 + <wire from="(90,180)" to="(120,180)"/> 1.1166 + <wire from="(280,570)" to="(360,570)"/> 1.1167 + <wire from="(510,390)" to="(510,460)"/> 1.1168 + <wire from="(240,300)" to="(240,350)"/> 1.1169 + <wire from="(630,190)" to="(740,190)"/> 1.1170 + <wire from="(470,120)" to="(520,120)"/> 1.1171 + <wire from="(530,400)" to="(530,470)"/> 1.1172 + <wire from="(360,170)" to="(360,290)"/> 1.1173 + <wire from="(370,110)" to="(370,220)"/> 1.1174 + <wire from="(90,80)" to="(170,80)"/> 1.1175 + <wire from="(510,530)" to="(520,530)"/> 1.1176 + <wire from="(410,100)" to="(520,100)"/> 1.1177 + <wire from="(260,310)" to="(260,380)"/> 1.1178 + <wire from="(360,310)" to="(380,310)"/> 1.1179 + <wire from="(240,490)" to="(250,490)"/> 1.1180 + <wire from="(260,450)" to="(260,520)"/> 1.1181 + <wire from="(240,300)" to="(250,300)"/> 1.1182 + <wire from="(390,390)" to="(390,460)"/> 1.1183 + <wire from="(370,240)" to="(370,360)"/> 1.1184 + <wire from="(280,150)" to="(380,150)"/> 1.1185 + <wire from="(360,430)" to="(380,430)"/> 1.1186 + <wire from="(650,210)" to="(650,450)"/> 1.1187 + <wire from="(140,140)" to="(140,350)"/> 1.1188 + <wire from="(370,520)" to="(380,520)"/> 1.1189 + <wire from="(590,150)" to="(740,150)"/> 1.1190 + <wire from="(530,190)" to="(530,260)"/> 1.1191 + <wire from="(180,60)" to="(180,80)"/> 1.1192 + <wire from="(610,170)" to="(610,310)"/> 1.1193 + <wire from="(480,440)" to="(520,440)"/> 1.1194 + <wire from="(240,140)" to="(250,140)"/> 1.1195 + <wire from="(390,120)" to="(390,180)"/> 1.1196 + <wire from="(510,600)" to="(520,600)"/> 1.1197 + <wire from="(140,350)" to="(240,350)"/> 1.1198 + <wire from="(160,100)" to="(160,210)"/> 1.1199 + <wire from="(390,600)" to="(390,680)"/> 1.1200 + <wire from="(510,460)" to="(510,530)"/> 1.1201 + <wire from="(240,350)" to="(250,350)"/> 1.1202 + <wire from="(410,160)" to="(520,160)"/> 1.1203 + <wire from="(570,130)" to="(740,130)"/> 1.1204 + <wire from="(390,250)" to="(390,320)"/> 1.1205 + <wire from="(90,120)" to="(150,120)"/> 1.1206 + <wire from="(90,680)" to="(390,680)"/> 1.1207 + <wire from="(530,470)" to="(530,540)"/> 1.1208 + <wire from="(470,120)" to="(470,370)"/> 1.1209 + <wire from="(280,290)" to="(360,290)"/> 1.1210 + <wire from="(260,380)" to="(260,450)"/> 1.1211 + <wire from="(670,230)" to="(740,230)"/> 1.1212 + <wire from="(550,310)" to="(610,310)"/> 1.1213 + <wire from="(280,220)" to="(370,220)"/> 1.1214 + <wire from="(590,150)" to="(590,240)"/> 1.1215 + <wire from="(150,280)" to="(240,280)"/> 1.1216 + <wire from="(570,130)" to="(570,170)"/> 1.1217 + <wire from="(410,580)" to="(500,580)"/> 1.1218 + <wire from="(190,610)" to="(370,610)"/> 1.1219 + <wire from="(90,700)" to="(530,700)"/> 1.1220 + <wire from="(490,250)" to="(490,510)"/> 1.1221 + <wire from="(110,560)" to="(240,560)"/> 1.1222 + <wire from="(410,230)" to="(520,230)"/> 1.1223 + <wire from="(490,510)" to="(520,510)"/> 1.1224 + <wire from="(240,210)" to="(250,210)"/> 1.1225 + <wire from="(240,280)" to="(250,280)"/> 1.1226 + <wire from="(510,530)" to="(510,600)"/> 1.1227 + <wire from="(370,380)" to="(370,500)"/> 1.1228 + <wire from="(610,170)" to="(740,170)"/> 1.1229 + <wire from="(240,370)" to="(240,420)"/> 1.1230 + <wire from="(260,520)" to="(260,590)"/> 1.1231 + <wire from="(280,90)" to="(380,90)"/> 1.1232 + <wire from="(410,440)" to="(480,440)"/> 1.1233 + <wire from="(510,600)" to="(510,610)"/> 1.1234 + <wire from="(690,250)" to="(740,250)"/> 1.1235 + <wire from="(550,590)" to="(690,590)"/> 1.1236 + <wire from="(120,180)" to="(120,490)"/> 1.1237 + <wire from="(360,310)" to="(360,430)"/> 1.1238 + <wire from="(90,140)" to="(140,140)"/> 1.1239 + <wire from="(690,250)" to="(690,590)"/> 1.1240 + <wire from="(480,180)" to="(480,440)"/> 1.1241 + <wire from="(530,130)" to="(530,190)"/> 1.1242 + <wire from="(550,110)" to="(740,110)"/> 1.1243 + <wire from="(180,80)" to="(250,80)"/> 1.1244 + <wire from="(240,370)" to="(250,370)"/> 1.1245 + <comp lib="2" loc="(410,230)" name="Multiplexer"> 1.1246 + <a name="enable" val="false"/> 1.1247 + </comp> 1.1248 + <comp lib="2" loc="(550,110)" name="Multiplexer"> 1.1249 + <a name="enable" val="false"/> 1.1250 + </comp> 1.1251 + <comp lib="0" loc="(740,150)" name="Pin"> 1.1252 + <a name="facing" val="west"/> 1.1253 + <a name="output" val="true"/> 1.1254 + <a name="label" val="R2"/> 1.1255 + <a name="labelloc" val="east"/> 1.1256 + </comp> 1.1257 + <comp lib="2" loc="(410,300)" name="Multiplexer"> 1.1258 + <a name="enable" val="false"/> 1.1259 + </comp> 1.1260 + <comp lib="0" loc="(90,100)" name="Pin"> 1.1261 + <a name="tristate" val="false"/> 1.1262 + <a name="label" val="A2"/> 1.1263 + </comp> 1.1264 + <comp lib="0" loc="(740,230)" name="Pin"> 1.1265 + <a name="facing" val="west"/> 1.1266 + <a name="output" val="true"/> 1.1267 + <a name="label" val="R6"/> 1.1268 + <a name="labelloc" val="east"/> 1.1269 + </comp> 1.1270 + <comp lib="0" loc="(90,120)" name="Pin"> 1.1271 + <a name="tristate" val="false"/> 1.1272 + <a name="label" val="A3"/> 1.1273 + </comp> 1.1274 + <comp lib="0" loc="(90,680)" name="Pin"> 1.1275 + <a name="tristate" val="false"/> 1.1276 + <a name="label" val="S1"/> 1.1277 + </comp> 1.1278 + <comp lib="0" loc="(90,20)" name="Pin"> 1.1279 + <a name="tristate" val="false"/> 1.1280 + <a name="label" val="sin"/> 1.1281 + </comp> 1.1282 + <comp lib="2" loc="(410,370)" name="Multiplexer"> 1.1283 + <a name="enable" val="false"/> 1.1284 + </comp> 1.1285 + <comp lib="2" loc="(550,240)" name="Multiplexer"> 1.1286 + <a name="enable" val="false"/> 1.1287 + </comp> 1.1288 + <comp lib="2" loc="(410,100)" name="Multiplexer"> 1.1289 + <a name="enable" val="false"/> 1.1290 + </comp> 1.1291 + <comp lib="0" loc="(740,110)" name="Pin"> 1.1292 + <a name="facing" val="west"/> 1.1293 + <a name="output" val="true"/> 1.1294 + <a name="label" val="R0"/> 1.1295 + <a name="labelloc" val="east"/> 1.1296 + </comp> 1.1297 + <comp lib="2" loc="(550,310)" name="Multiplexer"> 1.1298 + <a name="enable" val="false"/> 1.1299 + </comp> 1.1300 + <comp lib="0" loc="(90,80)" name="Pin"> 1.1301 + <a name="tristate" val="false"/> 1.1302 + <a name="label" val="A1"/> 1.1303 + </comp> 1.1304 + <comp lib="0" loc="(740,130)" name="Pin"> 1.1305 + <a name="facing" val="west"/> 1.1306 + <a name="output" val="true"/> 1.1307 + <a name="label" val="R1"/> 1.1308 + <a name="labelloc" val="east"/> 1.1309 + </comp> 1.1310 + <comp lib="2" loc="(280,360)" name="Multiplexer"> 1.1311 + <a name="enable" val="false"/> 1.1312 + </comp> 1.1313 + <comp lib="2" loc="(410,510)" name="Multiplexer"> 1.1314 + <a name="enable" val="false"/> 1.1315 + </comp> 1.1316 + <comp lib="2" loc="(280,150)" name="Multiplexer"> 1.1317 + <a name="enable" val="false"/> 1.1318 + </comp> 1.1319 + <comp lib="0" loc="(740,210)" name="Pin"> 1.1320 + <a name="facing" val="west"/> 1.1321 + <a name="output" val="true"/> 1.1322 + <a name="label" val="R5"/> 1.1323 + <a name="labelloc" val="east"/> 1.1324 + </comp> 1.1325 + <comp lib="0" loc="(90,60)" name="Pin"> 1.1326 + <a name="tristate" val="false"/> 1.1327 + <a name="label" val="A0"/> 1.1328 + </comp> 1.1329 + <comp lib="2" loc="(550,520)" name="Multiplexer"> 1.1330 + <a name="enable" val="false"/> 1.1331 + </comp> 1.1332 + <comp lib="0" loc="(90,660)" name="Pin"> 1.1333 + <a name="tristate" val="false"/> 1.1334 + <a name="label" val="S0"/> 1.1335 + </comp> 1.1336 + <comp lib="0" loc="(740,170)" name="Pin"> 1.1337 + <a name="facing" val="west"/> 1.1338 + <a name="output" val="true"/> 1.1339 + <a name="label" val="R3"/> 1.1340 + <a name="labelloc" val="east"/> 1.1341 + </comp> 1.1342 + <comp lib="2" loc="(280,500)" name="Multiplexer"> 1.1343 + <a name="enable" val="false"/> 1.1344 + </comp> 1.1345 + <comp lib="2" loc="(410,160)" name="Multiplexer"> 1.1346 + <a name="enable" val="false"/> 1.1347 + </comp> 1.1348 + <comp lib="2" loc="(280,570)" name="Multiplexer"> 1.1349 + <a name="enable" val="false"/> 1.1350 + </comp> 1.1351 + <comp lib="2" loc="(280,290)" name="Multiplexer"> 1.1352 + <a name="enable" val="false"/> 1.1353 + </comp> 1.1354 + <comp lib="0" loc="(90,200)" name="Pin"> 1.1355 + <a name="tristate" val="false"/> 1.1356 + <a name="label" val="A7"/> 1.1357 + </comp> 1.1358 + <comp lib="0" loc="(90,700)" name="Pin"> 1.1359 + <a name="tristate" val="false"/> 1.1360 + <a name="label" val="S2"/> 1.1361 + </comp> 1.1362 + <comp lib="2" loc="(550,590)" name="Multiplexer"> 1.1363 + <a name="enable" val="false"/> 1.1364 + </comp> 1.1365 + <comp lib="2" loc="(550,380)" name="Multiplexer"> 1.1366 + <a name="enable" val="false"/> 1.1367 + </comp> 1.1368 + <comp lib="2" loc="(280,220)" name="Multiplexer"> 1.1369 + <a name="enable" val="false"/> 1.1370 + </comp> 1.1371 + <comp lib="0" loc="(740,250)" name="Pin"> 1.1372 + <a name="facing" val="west"/> 1.1373 + <a name="output" val="true"/> 1.1374 + <a name="label" val="R7"/> 1.1375 + <a name="labelloc" val="east"/> 1.1376 + </comp> 1.1377 + <comp lib="2" loc="(280,90)" name="Multiplexer"> 1.1378 + <a name="enable" val="false"/> 1.1379 + </comp> 1.1380 + <comp lib="0" loc="(90,180)" name="Pin"> 1.1381 + <a name="tristate" val="false"/> 1.1382 + <a name="label" val="A6"/> 1.1383 + </comp> 1.1384 + <comp lib="2" loc="(280,430)" name="Multiplexer"> 1.1385 + <a name="enable" val="false"/> 1.1386 + </comp> 1.1387 + <comp lib="2" loc="(410,580)" name="Multiplexer"> 1.1388 + <a name="enable" val="false"/> 1.1389 + </comp> 1.1390 + <comp lib="2" loc="(410,440)" name="Multiplexer"> 1.1391 + <a name="enable" val="false"/> 1.1392 + </comp> 1.1393 + <comp lib="0" loc="(90,160)" name="Pin"> 1.1394 + <a name="tristate" val="false"/> 1.1395 + <a name="label" val="A5"/> 1.1396 + </comp> 1.1397 + <comp lib="0" loc="(90,140)" name="Pin"> 1.1398 + <a name="tristate" val="false"/> 1.1399 + <a name="label" val="A4"/> 1.1400 + </comp> 1.1401 + <comp lib="0" loc="(740,190)" name="Pin"> 1.1402 + <a name="facing" val="west"/> 1.1403 + <a name="output" val="true"/> 1.1404 + <a name="label" val="R4"/> 1.1405 + <a name="labelloc" val="east"/> 1.1406 + </comp> 1.1407 + <comp lib="2" loc="(550,170)" name="Multiplexer"> 1.1408 + <a name="enable" val="false"/> 1.1409 + </comp> 1.1410 + <comp lib="2" loc="(550,450)" name="Multiplexer"> 1.1411 + <a name="enable" val="false"/> 1.1412 + </comp> 1.1413 + </circuit> 1.1414 +</project>
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/cpuops Fri Jan 03 07:19:15 2014 +0200 2.3 @@ -0,0 +1,13 @@ 2.4 +ALU opcodes 2.5 +----------- 2.6 +0 (0000) move 2.7 +1 (0001) ? 2.8 +2 (0010) add 2.9 +3 (0011) subtract 2.10 +4 (0100) and 2.11 +5 (0101) or 2.12 +6 (0110) xor 2.13 +7 (0111) not 2.14 +8 (1000) shl/sal 2.15 +9 (1001) shr 2.16 +10 (1010) sar