<snapdata remixID="14485837"><project name="My 2-bit computer" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes>A 2-bit computer with 8-bit addresses.&#xD;&#xD;Instructions:&#xD;00 A B - Adds B into A&#xD;01 A - Swaps the bits of A&#xD;10 A - Shifts A left&#xD;11 A - Jumps to A&#xD;&#xD;Controller (keys at 3 3 2 1, keys pressed at 3 3 3 0) (only 3 pressed at a time):&#xD;00 - Down&#xD;01 - Right&#xD;10 - Left&#xD;11 - Up&#xD;&#xD;Output (at 3 3 3 3):&#xD;00 - Nothing&#xD;01 - Newline&#xD;10 - Backspace&#xD;11 - Something</notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="My 2-bit computer"><notes>A 2-bit computer with 8-bit addresses.&#xD;&#xD;Instructions:&#xD;00 A B - Adds B into A&#xD;01 A - Swaps the bits of A&#xD;10 A - Shifts A left&#xD;11 A - Jumps to A&#xD;&#xD;Controller (keys at 3 3 2 1, keys pressed at 3 3 3 0) (only 3 pressed at a time):&#xD;00 - Down&#xD;01 - Right&#xD;10 - Left&#xD;11 - Up&#xD;&#xD;Output (at 3 3 3 3):&#xD;00 - Nothing&#xD;01 - Newline&#xD;10 - Backspace&#xD;11 - Something</notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="multiline %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:o texto multilinha _&#xD;ca:multilínia _&#xD;pl:wielowiersz _&#xD;</translations><inputs><input type="%mlt"></input></inputs><script><block s="doReport"><block var="text"/></block></script></block-definition><block-definition s="substring of %&apos;string&apos; before %&apos;marker&apos;" type="reporter" category="operators"><comment x="0" y="0" w="175.33333333333334" collapsed="false">Reports the part of the first string up to the first instance of the second string inside it.  If the second string isn&apos;t found, reports the entire first string.</comment><header></header><code></code><translations>pt:o texto de _ antes de _&#xD;ca:part del text _ anterior a _&#xD;pl:podciąg _ przed _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l></list></block><block s="doSetVar"><l>index</l><custom-block s="position of %s in %txt"><block var="marker"/><block var="string"/></custom-block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>0</l></list></block><block var="string"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><l></l><custom-block s="substring of %txt from position %n to position %n inclusive"><block var="string"/><l>1</l><block s="reportDifference"><block var="index"/><l>1</l></block></custom-block></block></block></block></script></block-definition><block-definition s="substring of %&apos;string&apos; after %&apos;marker&apos;" type="reporter" category="operators"><comment x="0" y="0" w="203.33333333333334" collapsed="false">Reports the portion of the first input string starting after the first occurrence of the second string.  If the second string isn&apos;t found in the first string, reports an empty string.</comment><header></header><code></code><translations>pt:o texto de _ depois de _&#xD;ca:part del text _ posterior a _&#xD;pl:podciąg _ po _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>end</l></list></block><block s="doSetVar"><l>index</l><custom-block s="position of %s in %txt"><block var="marker"/><block var="string"/></custom-block></block><block s="doSetVar"><l>end</l><block s="reportVariadicSum"><list><block var="index"/><block s="reportTextAttribute"><l><option>length</option></l><block var="marker"/></block></list></block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>0</l></list></block><l></l><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="end"/><block s="reportTextAttribute"><l><option>length</option></l><block var="string"/></block></list></block><l></l><custom-block s="substring of %txt from position %n to position %n inclusive"><block var="string"/><block var="end"/><l></l></custom-block></block></block></block></script></block-definition><block-definition s="position of %&apos;small&apos; in %&apos;large&apos;" type="reporter" category="operators"><comment x="0" y="0" w="294" collapsed="false">Reports the character position (starting from 1) of the beginning of the first input string inside the second input string.&#xD;If it&apos;s not found, reports 0.</comment><header></header><code></code><translations>pt:a posição de _ em _&#xD;ca:posició de _ en _&#xD;pl:pozycja _ w _&#xD;</translations><inputs><input type="%s"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportGlobalFlag"><l><option>case sensitivity</option></l></block><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block var="small"/><block var="large"/></list></block><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block s="reportTextAttribute"><l><option>lower case</option></l><block var="small"/></block><block s="reportTextAttribute"><l><option>lower case</option></l><block var="large"/></block></list></block></block></block></script></block-definition><block-definition s="substring of %&apos;str&apos; from position %&apos;start&apos; to position %&apos;end&apos; inclusive" type="reporter" category="operators"><comment x="0" y="0" w="297.3333333333333" collapsed="false">Reports the portion of the first input (string) starting at the position given by the second input (counting from 1, like LETTER n OF) and ending at the position given by the third input (also counting from 1).  If the third input is empty, reports the portion from the first position to the end of the string.&#xD;If a position number is negative, counts from the end backward, so -1 is the last character, -2 is the next to last, etc.</comment><header></header><code></code><translations>pt:o texto de _ entre as posições _ e _ , inclusive&#xD;ca:part del text _ des de la posició _ fins _&#xD;pl:podciąg _ od pozycji _ do pozycji _ włącznie&#xD;</translations><inputs><input type="%txt"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block s="reportLetter"><block s="reportNumbers"><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="start"/><l>0</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="start"/><l>1</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="str"/></block></list></block><block var="start"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="end"/><l>0</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="str"/></block><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="end"/><l>0</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="end"/><l>1</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="str"/></block></list></block><block var="end"/></block></block></block><block var="str"/></block></block></block></script></block-definition><block-definition s="text %&apos;string&apos; contains %&apos;marker&apos;" type="predicate" category="operators"><comment x="0" y="0" w="218" collapsed="false">Reports True if the first input string contains the second input string, otherwise false.&#xD;&#xD;Comparison is case-independent by default; use USE CASE-INDEPENDENT COMPARISONS to change that.</comment><header></header><code></code><translations>pt:o texto de _ antes de _&#xD;ca:text _ conté _ ?&#xD;pl:tekst _ zawiera _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><custom-block s="position of %s in %txt"><block var="marker"/><block var="string"/></custom-block><l>0</l></list></block></block></script></block-definition><block-definition s="Mem [ %&apos;#1&apos; ]" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">0</input></inputs><script><block s="doReport"><custom-block s="wrap %n"><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportModulus"><block var="#1"/><l>256</l></block><l>1</l></list></block><block var="Memory"/></block></custom-block></block></script></block-definition><block-definition s="wrap %&apos;#1&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">4</input></inputs><script><block s="doReport"><block s="reportModulus"><block var="#1"/><l>4</l></block></block></script></block-definition><block-definition s="Address %&apos;#1&apos; %&apos;#2&apos; %&apos;#3&apos; %&apos;#4&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input></inputs><script><block s="doReport"><block s="reportModulus"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><custom-block s="wrap %n"><block var="#1"/></custom-block><l>64</l></list></block><block s="reportVariadicProduct"><list><custom-block s="wrap %n"><block var="#2"/></custom-block><l>16</l></list></block><block s="reportVariadicProduct"><list><custom-block s="wrap %n"><block var="#3"/></custom-block><l>4</l></list></block><custom-block s="wrap %n"><block var="#4"/></custom-block></list></block><l>256</l></block></block></script></block-definition><block-definition s="Mem [ %&apos;#1&apos; ] $arrowRight %&apos;#2&apos;" type="command" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input></inputs><script><block s="doReplaceInList"><block s="reportVariadicSum"><list><block s="reportModulus"><block var="#1"/><l>256</l></block><l>1</l></list></block><block var="Memory"/><custom-block s="wrap %n"><block var="#2"/></custom-block></block></script></block-definition><block-definition s="do keys" type="command" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>keys</l><l>pressed</l><l>i</l></list></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doSetVar"><l>keys</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></block><block s="doSetVar"><l>pressed</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></block><custom-block s="%upvar for each %upvar of %l %ca"><l>#</l><l>key</l><block s="reportNewList"><list><l>w</l><l>a</l><l>d</l><l>s</l></list></block><script><block s="doIf"><block s="reportKeyPressed"><block var="key"/></block><script><block s="doReplaceInList"><block var="i"/><block var="keys"/><block s="reportDifference"><l>3</l><block s="reportDifference"><block var="#"/><l>1</l></block></block></block><block s="doReplaceInList"><block var="i"/><block var="pressed"/><l>3</l></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><list></list></block></script></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>2</l><l>1</l></custom-block><block s="reportListItem"><l>1</l><block var="keys"/></block></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>2</l><l>2</l></custom-block><block s="reportListItem"><l>2</l><block var="keys"/></block></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>2</l><l>3</l></custom-block><block s="reportListItem"><l>3</l><block var="keys"/></block></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>3</l><l>0</l></custom-block><block s="reportListItem"><l>1</l><block var="pressed"/></block></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>3</l><l>1</l></custom-block><block s="reportListItem"><l>2</l><block var="pressed"/></block></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>3</l><l>2</l></custom-block><block s="reportListItem"><l>3</l><block var="pressed"/></block></custom-block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment x="0" y="0" w="161.14285714285708" collapsed="false">Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment><header></header><code></code><translations>ca:ordena _ segons criteri _&#xD;pl:$flash sortuj _ za pomocą _&#xD;</translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="function"/></list></block></block></script></block-definition><block-definition s="$flash assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations>ca:associació _ _&#xD;pl:$flash skojarz _ _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block var="key"/><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block><block var="a-list"/></block></block></script></block-definition><block-definition s="%&apos;#&apos; for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><comment x="0" y="0" w="228.57142857142858" collapsed="false">This block carries out the given script for each item of the given list, like the primitive FOR EACH.&#xD;&#xD;What&apos;s different is that it provides the # variable, which will contain the item number in the list of each item in turn, 1 while processing item 1, and so on.</comment><header></header><code></code><translations>ca:_ per cada _ de _ _&#xD;pl:_ dla każdego _ z _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca"></input></inputs><script><block s="doForEach"><l>inner item</l><block var="data"/><script><block s="doSetVar"><l>item</l><block var="inner item"/></block><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="☠︎ linked? %&apos;data&apos;" type="predicate" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_linked(list)</l><list><block var="data"/></list></block></block></script></block-definition><block-definition s="☠︎ link %&apos;data&apos;" type="reporter" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportCDR"><block var="data"/></block></block></block></script></block-definition><block-definition s="printable %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="188.66666666666666" collapsed="false">Takes a (possibly deep) list as input,&#xD;and reports a human-readable text form &#xD;of the list (namely, Lisp notation).&#xD;&#xD;Will not work on circular lists.</comment><header></header><code></code><translations>ca:notació textual de _&#xD;pl:tekstowa _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><l>()</l></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block s="reportAtomicCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="printable %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> </l><l></l></list></block></autolambda><list></list></block></block><l>)</l></list></block></block></script></block-definition><block-definition s="sentence %&apos;phrase&apos;" type="reporter" category="lists"><comment x="0" y="0" w="302.6666666666667" collapsed="false">SENTENCE is the main constructor for sentences, represented&#xD;as lists of words.  It takes zero or more inputs, each of which can&#xD;be either a list or a text string.  If a list, the input is assumed to be&#xD;a list of words.  If a text string, it is converted to a list of words using&#xD;SENTENCE→LIST.  Then all the lists of words are appended to form a new list of words.&#xD;&#xD;If the inputs are lists of lists rather than lists of words, SENTENCE,&#xD;like APPEND, does only one level of flattening, reporting a list of&#xD;all the items of all the input lists.</comment><header></header><code></code><translations>ca:frase _&#xD;pl:zdanie _&#xD;</translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><l></l><custom-block s="sentence $arrowRight list %txt"><l></l></custom-block></block></autolambda><list></list></block><block var="phrase"/></block></block></block></script></block-definition><block-definition s="$flash zip %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="192" collapsed="false">ZIP takes any number of lists as inputs.  The lists should all be the same length.  ZIP reports a list of lists in which the first item is a list of all the first items, the second item is a list of all the second items, etc.&#xD;Viewing the inputs as the rows of a matrix, ZIP reports its transpose.</comment><header></header><code></code><translations>pl:$flash spakuj _&#xD;</translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="lists"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="lists"><comment x="0" y="0" w="105.33333333333333" collapsed="false">The identity function reports its input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="multimap %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="267.3333333333333" collapsed="false">Takes as input a function of N inputs and N lists.&#xD;The function is called with item 1 of all the lists as its inputs, with item 2 of all the lists as its inputs, and so on.  (The lists should all be the same length.)</comment><header></header><code></code><translations>ca:multi-mapeja _ sobre _&#xD;pl:mapuj wielokrotnie _ na _&#xD;</translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="function"/><custom-block s="%s"><l></l></custom-block></block></autolambda><list></list></block><custom-block s="$flash zip %mult%l"><block var="lists"/></custom-block></block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><comment x="0" y="0" w="196" collapsed="false">Takes a sentence in text string form and reports the sentence as a list of its words.</comment><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;pt:uma lista com as palavras da frase _&#xD;pl:zdanie $arrowRight lista _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportAtomicKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><l></l></block><l>0</l></list></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></block></script></block-definition><block-definition s="Render Output" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="gotoXY"><l>-200</l><l>-12</l></block><block s="setHeading"><l>90</l></block><block s="hide"></block><block s="up"></block><block s="clear"></block><block s="doForEach"><l>row</l><block var="Output"/><script><block s="setXPosition"><l>-200</l></block><block s="changeYPosition"><l>-12</l></block><block s="doForEach"><l>char</l><block var="row"/><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block var="char"/><l>0</l></list></block><script><block s="write"><l>#</l><l>12</l></block></script><script><block s="write"><l> </l><l>12</l></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="do output" type="command" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportListItem"><block s="reportVariadicSum"><list><custom-block s="Mem [ %n ]"><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>3</l><l>3</l></custom-block></custom-block><l>1</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="doAddToList"><l>0</l><block s="reportListItem"><l><option>last</option></l><block var="Output"/></block></block></script><list></list></block><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list></list></block><block var="Output"/></block></script><list></list></block><block s="reifyScript"><script><block s="doIfElse"><block s="reportListIsEmpty"><block s="reportListItem"><l><option>last</option></l><block var="Output"/></block></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="Output"/></block></script><script><block s="doDeleteFromList"><l><option>last</option></l><block s="reportListItem"><l><option>last</option></l><block var="Output"/></block></block></script></block></script><list></list></block><block s="reifyScript"><script><block s="doAddToList"><l>1</l><block s="reportListItem"><l><option>last</option></l><block var="Output"/></block></block></script><list></list></block></list></block></block><list></list></block></script></block-definition><block-definition s="bitwise not %&apos;a&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_not(a)</l><list><block var="a"/></list></block></block></script></block-definition><block-definition s="bitwise %&apos;a&apos; and %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_and(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="bitwise %&apos;a&apos; or %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_or(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="bitwise %&apos;a&apos; xor %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_xor(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="bitwise left shift %&apos;a&apos; by %&apos;b&apos; bits" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_left_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="bitwise right shift %&apos;a&apos; by %&apos;b&apos; bits" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_right_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="bitwise unsigned right shift %&apos;a&apos; by %&apos;b&apos; bits" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_unsigned_right_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="true" penlog="true" volume="100" pan="0" lines="flat" ternary="false" hyperops="true" codify="true" inheritance="true" sublistIDs="false" id="834"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAEj1JREFUeF7t3DGOnFnZhuEq9wpAQkQEbMBeAARkRFZ/HSJGQqAhRCKaBBFYbGQYAZnd3SlD4ABSYiQ24QgSREEvoKvbB8rPW09df4bs8jnnet9ftzTBt9/5PwIECBAgQOCTC+w/+YkOJECAAAECBHYCbAkIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQICbAcIECBAgEBAQIAD6I4kQIAAAQIC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gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjgAA3TtWbCBAgQGC8gACPH5ELEiBAgECjwH8A1mhzpfI9QeIAAAAASUVORK5CYII=</pentrails><costumes><list struct="atomic" id="835"></list></costumes><sounds><list struct="atomic" id="836"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="1634" y="-72" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="80,80,80,1" pen="tip" id="841"><costumes><list struct="atomic" id="842"></list></costumes><sounds><list struct="atomic" id="843"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="14"><block s="receiveGo"></block><block s="doSetVar"><l>Memory</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="multiline %mlt"><l>0</l></custom-block></autolambda><list></list></block><block s="reportNumbers"><l>0</l><l>255</l></block></block></block><block s="doSetVar"><l>PC</l><l>0</l></block><block s="doSetVar"><l>Output</l><block s="reportNewList"><list><block s="reportNewList"><list></list></block></list></block></block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>0</l><l>0</l></custom-block><l>0</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>0</l><l>1</l></custom-block><l>3</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>0</l><l>2</l></custom-block><l>3</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>0</l><l>3</l></custom-block><l>3</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>1</l><l>0</l></custom-block><l>3</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>1</l><l>1</l></custom-block><l>3</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>1</l><l>2</l></custom-block><l>3</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>1</l><l>3</l></custom-block><l>2</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>2</l><l>0</l></custom-block><l>1</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>2</l><l>1</l></custom-block><l>3</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>2</l><l>2</l></custom-block><l>0</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>2</l><l>3</l></custom-block><l>0</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>3</l><l>0</l></custom-block><l>0</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>3</l><l>1</l></custom-block><l>0</l></custom-block><block s="doForever"><script><custom-block s="Render Output"></custom-block><block s="doWait"><l>1</l></block><custom-block s="do keys"></custom-block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="Mem [ %n ]"><block var="PC"/></custom-block><l>0</l></list></block><script><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>1</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>2</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>3</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>4</l></list></block></custom-block></custom-block><block s="reportVariadicSum"><list><custom-block s="Mem [ %n ]"><custom-block s="Address %n %n %n %n"><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>1</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>2</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>3</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>4</l></list></block></custom-block></custom-block></custom-block><custom-block s="Mem [ %n ]"><custom-block s="Address %n %n %n %n"><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>5</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>6</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>7</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>8</l></list></block></custom-block></custom-block></custom-block></list></block></custom-block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="Address %n %n %n %n"><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>1</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>2</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>3</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>4</l></list></block></custom-block></custom-block><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>3</l><l>3</l></custom-block></list></block><script><custom-block s="do output"></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>3</l><l>3</l></custom-block><l>0</l></custom-block></script><list></list></block><block s="doChangeVar"><l>PC</l><l>9</l></block></script><list><block s="reportVariadicEquals"><list><custom-block s="Mem [ %n ]"><block var="PC"/></custom-block><l>1</l></list></block><script><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>1</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>2</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>3</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>4</l></list></block></custom-block></custom-block><block s="reportListItem"><block s="reportVariadicSum"><list><custom-block s="Mem [ %n ]"><custom-block s="Address %n %n %n %n"><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>1</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>2</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>3</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>4</l></list></block></custom-block></custom-block></custom-block><l>1</l></list></block><block s="reportNewList"><list><l>0</l><l>2</l><l>1</l><l>3</l></list></block></block></custom-block><block s="doChangeVar"><l>PC</l><l>5</l></block></script><block s="reportVariadicEquals"><list><custom-block s="Mem [ %n ]"><block var="PC"/></custom-block><l>2</l></list></block><script><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>1</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>2</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>3</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>4</l></list></block></custom-block></custom-block><custom-block s="bitwise left shift %n by %n bits"><custom-block s="Mem [ %n ]"><custom-block s="Address %n %n %n %n"><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>1</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>2</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>3</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>4</l></list></block></custom-block></custom-block></custom-block><l>1</l></custom-block></custom-block><block s="doChangeVar"><l>PC</l><l>5</l></block></script><block s="reportVariadicEquals"><list><custom-block s="Mem [ %n ]"><block var="PC"/></custom-block><l>3</l></list></block><script><block s="doSetVar"><l>PC</l><custom-block s="Address %n %n %n %n"><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>1</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>2</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>3</l></list></block></custom-block><custom-block s="Mem [ %n ]"><block s="reportVariadicSum"><list><block var="PC"/><l>4</l></list></block></custom-block></custom-block></block></script></list></block></script></block></script><script x="501" y="85.00000000000023"><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>1</l></list></block></list></block></script><script x="502" y="144"><block s="reportNumbers"><block s="reportNumbers"><l>1</l><l>8</l></block><block s="reportNumbers"><l>8</l><l>1</l></block></block></script><script x="519" y="251.00000000000006"><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="Mem [ %n ]"><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>3</l><l>0</l></custom-block></custom-block><l>3</l></list></block><script><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>3</l><l>3</l></custom-block><custom-block s="Mem [ %n ]"><custom-block s="Address %n %n %n %n"><l>3</l><l>3</l><l>2</l><l>1</l></custom-block></custom-block></custom-block></script><list></list></block></script><script x="21" y="1462.4999999999998"><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>0</l><l>0</l></custom-block><l>0</l><comment w="90" collapsed="true">Test</comment></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>0</l><l>1</l></custom-block><l>2</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>0</l><l>2</l></custom-block><l>0</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>0</l><l>3</l></custom-block><l>0</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>1</l><l>0</l></custom-block><l>0</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>1</l><l>1</l></custom-block><l>2</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>1</l><l>2</l></custom-block><l>0</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>1</l><l>3</l></custom-block><l>0</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>2</l><l>0</l></custom-block><l>1</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>2</l><l>1</l></custom-block><l>3</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>2</l><l>2</l></custom-block><l>0</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>2</l><l>3</l></custom-block><l>0</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>3</l><l>0</l></custom-block><l>2</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>0</l><l>0</l><l>3</l><l>1</l></custom-block><l>1</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>2</l><l>0</l><l>0</l><l>0</l></custom-block><l>1</l></custom-block><custom-block s="Mem [ %n ] $arrowRight %n"><custom-block s="Address %n %n %n %n"><l>2</l><l>0</l><l>0</l><l>1</l></custom-block><l>2</l></custom-block></script></scripts></sprite><watcher var="Memory" style="normal" x="10" y="10" color="243,118,29" extX="96" extY="150"/><watcher var="PC" style="normal" x="397" y="9.000001999999995" color="243,118,29"/><watcher var="Output" style="normal" x="10" y="182.000002" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="Memory"><list struct="atomic" id="1602">0,3,3,3,3,3,3,2,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</list></variable><variable name="PC"><l>0</l></variable><variable name="Output"><list id="1603"><item><list struct="atomic" id="1604">0,0,1,0,1,0,0,1,1,1</list></item><item><list struct="atomic" id="1605">0,1,1,1,0,0,0,0,1,0</list></item><item><list struct="atomic" id="1606">0,0,1,0,1,0,1,1,1</list></item><item><list struct="atomic" id="1607"></list></item><item><list struct="atomic" id="1608">0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</list></item></list></variable></variables></scene></scenes></project><media name="My 2-bit computer" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"></media></snapdata>