<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%86%D0%B0%3ADiagramGenerator%2Fmicrocode.js</id>
	<title>Справица:DiagramGenerator/microcode.js - Историја измена</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%86%D0%B0%3ADiagramGenerator%2Fmicrocode.js"/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%86%D0%B0:DiagramGenerator/microcode.js&amp;action=history"/>
	<updated>2026-06-05T17:29:26Z</updated>
	<subtitle>Историја измена ове странице на пројекту</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%86%D0%B0:DiagramGenerator/microcode.js&amp;diff=5347&amp;oldid=prev</id>
		<title>KockaAdmiralac: Prijavljivanje više od jedne greške u parsiranju i korišćenje sistemskih poruka</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%86%D0%B0:DiagramGenerator/microcode.js&amp;diff=5347&amp;oldid=prev"/>
		<updated>2023-02-04T20:31:01Z</updated>

		<summary type="html">&lt;p&gt;Prijavljivanje više od jedne greške u parsiranju i korišćenje sistemskih poruka&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Старија измена&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Верзија на датум 4. фебруар 2023. у 22:31&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l165&quot;&gt;Ред 165:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 165:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             address: parseAddress(preparedLine),&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             address: parseAddress(preparedLine),&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             comment: comment,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             comment: comment,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;            errors: [],&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             line: line&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             line: line&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         };&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         };&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l192&quot;&gt;Ред 192:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 193:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             // Check for multiple branches.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             // Check for multiple branches.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             if (isBranch &amp;amp;&amp;amp; hadBranch) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             if (isBranch &amp;amp;&amp;amp; hadBranch) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 instruction.error &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= &amp;#039;More than one branch&lt;/del&gt;&amp;#039;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 instruction.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;errors.push(lib.msg(&amp;#039;&lt;/ins&gt;error&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-more-1-cond&lt;/ins&gt;&amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;))&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             } else if (isBranch) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             } else if (isBranch) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 hadBranch = true;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 hadBranch = true;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l209&quot;&gt;Ред 209:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 210:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 res = CONDITIONAL_BRANCH.exec(arg);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 res = CONDITIONAL_BRANCH.exec(arg);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 if (!res) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 if (!res) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     instruction.error &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= &amp;#039;Invalid conditional &lt;/del&gt;branch &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;format&lt;/del&gt;&amp;#039;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     instruction.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;errors.push(lib.msg(&amp;#039;&lt;/ins&gt;error&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-invalid-cond-&lt;/ins&gt;branch&amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;))&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     return;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     return;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l217&quot;&gt;Ред 217:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 218:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 instruction.condition = complement + splitCondition[splitCondition.length - 1];&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 instruction.condition = complement + splitCondition[splitCondition.length - 1];&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 if (!conditionsLowercase.includes(instruction.condition)) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 if (!conditionsLowercase.includes(instruction.condition)) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     instruction.error &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= &amp;#039;Unknown &lt;/del&gt;condition &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;code &lt;/del&gt;&amp;#039; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;+ &lt;/del&gt;instruction.condition;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     instruction.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;errors.push(lib.msg(&amp;#039;&lt;/ins&gt;error&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-unknown-&lt;/ins&gt;condition&amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;instruction.condition&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;))&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     return;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     return;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l225&quot;&gt;Ред 225:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 226:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 res = UNCONDITIONAL_BRANCH.exec(arg);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 res = UNCONDITIONAL_BRANCH.exec(arg);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 if (!res) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 if (!res) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     instruction.error &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= &amp;#039;Invalid unconditional &lt;/del&gt;branch &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;format&lt;/del&gt;&amp;#039;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     instruction.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;errors.push(lib.msg(&amp;#039;&lt;/ins&gt;error&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-invalid-uncond-&lt;/ins&gt;branch&amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;))&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     return;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     return;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l232&quot;&gt;Ред 232:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 233:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 // TODO: Destination validation&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 // TODO: Destination validation&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             } else {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             } else {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 instruction.error &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= &amp;#039;Unknown &lt;/del&gt;operation &amp;#039; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;+ &lt;/del&gt;arg;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 instruction.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;errors.push(lib.msg(&amp;#039;&lt;/ins&gt;error&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-unknown-&lt;/ins&gt;operation&amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;arg&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;))&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         });&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         });&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l244&quot;&gt;Ред 244:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 245:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var lines = contents.split(&amp;#039;\n&amp;#039;);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var lines = contents.split(&amp;#039;\n&amp;#039;);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var labels = {};&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var labels = {};&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        var errors = [];&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         for (var i = 0, l = lines.length; i &amp;lt; l; ++i) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         for (var i = 0, l = lines.length; i &amp;lt; l; ++i) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             var line = lines[i].trim();&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             var line = lines[i].trim();&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l257&quot;&gt;Ред 257:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 259:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     var label = instruction.labels[j];&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     var label = instruction.labels[j];&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     if (labels[label]) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     if (labels[label]) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         instruction.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;error = &lt;/del&gt;&amp;#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Duplicate &lt;/del&gt;label &amp;#039; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;+ &lt;/del&gt;label;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         instruction.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;errors.push(lib.msg(&lt;/ins&gt;&amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;duplicate-&lt;/ins&gt;label&amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;label&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;))&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         break;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         break;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     labels[label] = instruction.address;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     labels[label] = instruction.address;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 if (instruction.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;error&lt;/del&gt;) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 if (instruction.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;errors.length &amp;gt; 0&lt;/ins&gt;) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;return &lt;/del&gt;{&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;errors = errors.concat(instruction.errors.map(function(lineNum, error) &lt;/ins&gt;{&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         error&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &lt;/del&gt;&amp;#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Microcode &lt;/del&gt;error&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &amp;#039; + instruction&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;error + &amp;#039; at line &amp;#039; + &lt;/del&gt;(i + 1)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                         &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;return lib.msg(&amp;#039;&lt;/ins&gt;error&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-microcode&lt;/ins&gt;&amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;error&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, lineNum);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     };&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                    }&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;bind&lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;null, &lt;/ins&gt;i + 1)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;));&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;errors.push();&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                &lt;/ins&gt;} &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;else {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                    instructions.push(instruction)&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                instructions.push(instruction);&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         return {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         return {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;            errors: errors,&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             result: instructions&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             result: instructions&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         };&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         };&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key si:diff::1.12:old-5285:rev-5347 --&gt;
&lt;/table&gt;</summary>
		<author><name>KockaAdmiralac</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%86%D0%B0:DiagramGenerator/microcode.js&amp;diff=5285&amp;oldid=prev</id>
		<title>KockaAdmiralac: Modul za parsiranje mikrokoda</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%86%D0%B0:DiagramGenerator/microcode.js&amp;diff=5285&amp;oldid=prev"/>
		<updated>2023-02-04T02:58:12Z</updated>

		<summary type="html">&lt;p&gt;Modul za parsiranje mikrokoda&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* eslint {&amp;quot;max-statements&amp;quot;: [&amp;quot;error&amp;quot;, 40]} */&lt;br /&gt;
(function() {&lt;br /&gt;
    &amp;#039;use strict&amp;#039;;&lt;br /&gt;
    var lib = mw.libs.diagramGenerator;&lt;br /&gt;
    var signals = [&lt;br /&gt;
        &amp;#039;MOST1_2&amp;#039;,&lt;br /&gt;
        &amp;#039;MOST1_3&amp;#039;,&lt;br /&gt;
        &amp;#039;MOST2_1&amp;#039;,&lt;br /&gt;
        &amp;#039;MOST3_2&amp;#039;,&lt;br /&gt;
        &amp;#039;rdCPU&amp;#039;,&lt;br /&gt;
        &amp;#039;wrCPU&amp;#039;,&lt;br /&gt;
        &amp;#039;ldMDR&amp;#039;,&lt;br /&gt;
        &amp;#039;mxMDR&amp;#039;,&lt;br /&gt;
        &amp;#039;MDRout1&amp;#039;,&lt;br /&gt;
        &amp;#039;eMDR&amp;#039;,&lt;br /&gt;
        &amp;#039;ldMAR&amp;#039;,&lt;br /&gt;
        &amp;#039;incMAR&amp;#039;,&lt;br /&gt;
        &amp;#039;eMAR&amp;#039;,&lt;br /&gt;
        &amp;#039;ldDWL&amp;#039;,&lt;br /&gt;
        &amp;#039;ldDWH&amp;#039;,&lt;br /&gt;
        &amp;#039;DWout2&amp;#039;,&lt;br /&gt;
        &amp;#039;wrGPR&amp;#039;,&lt;br /&gt;
        &amp;#039;GPRout1&amp;#039;,&lt;br /&gt;
        &amp;#039;ldGPRAR&amp;#039;,&lt;br /&gt;
        &amp;#039;incGPRAR&amp;#039;,&lt;br /&gt;
        &amp;#039;ldSP&amp;#039;,&lt;br /&gt;
        &amp;#039;SPout2&amp;#039;,&lt;br /&gt;
        &amp;#039;incSP&amp;#039;,&lt;br /&gt;
        &amp;#039;decSP&amp;#039;,&lt;br /&gt;
        &amp;#039;ldCW&amp;#039;,&lt;br /&gt;
        &amp;#039;CWout3&amp;#039;,&lt;br /&gt;
        &amp;#039;ADDout2&amp;#039;,&lt;br /&gt;
        &amp;#039;ldPC&amp;#039;,&lt;br /&gt;
        &amp;#039;incPC&amp;#039;,&lt;br /&gt;
        &amp;#039;PCHout3&amp;#039;,&lt;br /&gt;
        &amp;#039;PCLout3&amp;#039;,&lt;br /&gt;
        &amp;#039;PCout1&amp;#039;,&lt;br /&gt;
        &amp;#039;ldIR0&amp;#039;,&lt;br /&gt;
        &amp;#039;ldIR1&amp;#039;,&lt;br /&gt;
        &amp;#039;ldIR2&amp;#039;,&lt;br /&gt;
        &amp;#039;ldIR3&amp;#039;,&lt;br /&gt;
        &amp;#039;IRPOMout3&amp;#039;,&lt;br /&gt;
        &amp;#039;IRJAout2&amp;#039;,&lt;br /&gt;
        &amp;#039;IRDAout3&amp;#039;,&lt;br /&gt;
        &amp;#039;IRBRout3&amp;#039;,&lt;br /&gt;
        &amp;#039;add&amp;#039;,&lt;br /&gt;
        &amp;#039;sub&amp;#039;,&lt;br /&gt;
        &amp;#039;inc&amp;#039;,&lt;br /&gt;
        &amp;#039;dec&amp;#039;,&lt;br /&gt;
        &amp;#039;and&amp;#039;,&lt;br /&gt;
        &amp;#039;or&amp;#039;,&lt;br /&gt;
        &amp;#039;xor&amp;#039;,&lt;br /&gt;
        &amp;#039;not&amp;#039;,&lt;br /&gt;
        &amp;#039;ALUout1&amp;#039;,&lt;br /&gt;
        &amp;#039;ldAB&amp;#039;,&lt;br /&gt;
        &amp;#039;ABout3&amp;#039;,&lt;br /&gt;
        &amp;#039;shr&amp;#039;,&lt;br /&gt;
        &amp;#039;shl&amp;#039;,&lt;br /&gt;
        &amp;#039;ldBB&amp;#039;,&lt;br /&gt;
        &amp;#039;BBout2&amp;#039;,&lt;br /&gt;
        &amp;#039;ldAW&amp;#039;,&lt;br /&gt;
        &amp;#039;AWout3&amp;#039;,&lt;br /&gt;
        &amp;#039;AWHout3&amp;#039;,&lt;br /&gt;
        &amp;#039;ldBW&amp;#039;,&lt;br /&gt;
        &amp;#039;BWout2&amp;#039;,&lt;br /&gt;
        &amp;#039;ldPSWH&amp;#039;,&lt;br /&gt;
        &amp;#039;ldPSWL&amp;#039;,&lt;br /&gt;
        &amp;#039;ldN&amp;#039;,&lt;br /&gt;
        &amp;#039;ldZ&amp;#039;,&lt;br /&gt;
        &amp;#039;ldC&amp;#039;,&lt;br /&gt;
        &amp;#039;ldV&amp;#039;,&lt;br /&gt;
        &amp;#039;ldL&amp;#039;,&lt;br /&gt;
        &amp;#039;stPSWI&amp;#039;,&lt;br /&gt;
        &amp;#039;clPSWI&amp;#039;,&lt;br /&gt;
        &amp;#039;stPSWT&amp;#039;,&lt;br /&gt;
        &amp;#039;clPSWT&amp;#039;,&lt;br /&gt;
        &amp;#039;PSWHout3&amp;#039;,&lt;br /&gt;
        &amp;#039;PSWLout3&amp;#039;,&lt;br /&gt;
        &amp;#039;clSTART&amp;#039;,&lt;br /&gt;
        &amp;#039;ldIMR&amp;#039;,&lt;br /&gt;
        &amp;#039;IMRout2&amp;#039;,&lt;br /&gt;
        &amp;#039;ldBR&amp;#039;,&lt;br /&gt;
        &amp;#039;IVTDSPout3&amp;#039;,&lt;br /&gt;
        &amp;#039;ldIVTP&amp;#039;,&lt;br /&gt;
        &amp;#039;IVTPout1&amp;#039;,&lt;br /&gt;
        &amp;#039;UINTout3&amp;#039;,&lt;br /&gt;
        &amp;#039;UEXTout3&amp;#039;,&lt;br /&gt;
        &amp;#039;stPRCOD&amp;#039;,&lt;br /&gt;
        &amp;#039;stPRADR&amp;#039;,&lt;br /&gt;
        &amp;#039;stPRINS&amp;#039;,&lt;br /&gt;
        &amp;#039;clPRCOD&amp;#039;,&lt;br /&gt;
        &amp;#039;clPRADR&amp;#039;,&lt;br /&gt;
        &amp;#039;clPRINS&amp;#039;,&lt;br /&gt;
        &amp;#039;clPRINM&amp;#039;,&lt;br /&gt;
        &amp;#039;clINTR&amp;#039;,&lt;br /&gt;
        &amp;#039;stPSWR&amp;#039;,&lt;br /&gt;
        &amp;#039;clPSWR&amp;#039;&lt;br /&gt;
    ];&lt;br /&gt;
    var BranchType = {&lt;br /&gt;
        NONE: &amp;#039;none&amp;#039;,&lt;br /&gt;
        CONDITIONAL: &amp;#039;conditional&amp;#039;,&lt;br /&gt;
        UNCONDITIONAL: &amp;#039;unconditional&amp;#039;,&lt;br /&gt;
        BRADR: &amp;#039;bradr&amp;#039;,&lt;br /&gt;
        BROPR: &amp;#039;bropr&amp;#039;&lt;br /&gt;
    };&lt;br /&gt;
    var CONDITIONAL_BRANCH = /^br\s*\(\s*if\s+(\S+)\s+then\s+(\S+)\s*\)$/;&lt;br /&gt;
    var UNCONDITIONAL_BRANCH = /^br\s+(\S+)$/;&lt;br /&gt;
&lt;br /&gt;
    function prepareLine(line) {&lt;br /&gt;
        return line&lt;br /&gt;
            .toLowerCase()&lt;br /&gt;
            .replace(/\(/g, &amp;#039; ( &amp;#039;)&lt;br /&gt;
            .replace(/\)/g, &amp;#039; ) &amp;#039;)&lt;br /&gt;
            .replace(/\s+/g, &amp;#039; &amp;#039;)&lt;br /&gt;
            .replace(/if !/g, &amp;#039;if #&amp;#039;)&lt;br /&gt;
            .replace(/(.*?)!.*/g, &amp;#039;$1&amp;#039;)&lt;br /&gt;
            .replace(/(.*?);.*/, &amp;#039;$1&amp;#039;)&lt;br /&gt;
            .replace(/\t/g, &amp;#039; &amp;#039;)&lt;br /&gt;
            .replace(/\s+:/g, &amp;#039;: &amp;#039;)&lt;br /&gt;
            .replace(/\s+/g, &amp;#039; &amp;#039;)&lt;br /&gt;
            .trim();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function parseAddress(line) {&lt;br /&gt;
        if (line === &amp;#039;&amp;#039;) {&lt;br /&gt;
            return -1;&lt;br /&gt;
        }&lt;br /&gt;
        var addressLine = line.split(&amp;#039; &amp;#039;)[0];&lt;br /&gt;
        if (addressLine.endsWith(&amp;#039;:&amp;#039;) || !addressLine.startsWith(&amp;#039;madr&amp;#039;)) {&lt;br /&gt;
            return -1;&lt;br /&gt;
        }&lt;br /&gt;
        var address = parseInt(addressLine.substring(4), 16);&lt;br /&gt;
        if (isNaN(address)) {&lt;br /&gt;
            return -1;&lt;br /&gt;
        }&lt;br /&gt;
        return address;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function parseLabels(line) {&lt;br /&gt;
        var labels = [];&lt;br /&gt;
        var splitLine = line.split(&amp;#039; &amp;#039;);&lt;br /&gt;
        for (var i = 0, l = splitLine.length; i &amp;lt; l; ++i) {&lt;br /&gt;
            if (!splitLine[i].endsWith(&amp;#039;:&amp;#039;)) {&lt;br /&gt;
                break;&lt;br /&gt;
            }&lt;br /&gt;
            var label = splitLine[i].slice(0, -1);&lt;br /&gt;
            if (!labels.includes(label)) {&lt;br /&gt;
                labels.push(label);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return labels;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function fixSignalNames(signalsToFix) {&lt;br /&gt;
        return signalsToFix.map(function(signal) {&lt;br /&gt;
            return signals.find(function(signal2) {&lt;br /&gt;
                return signal.toLowerCase() === signal2.toLowerCase();&lt;br /&gt;
            }) || signal;&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function parseLine(comment, line, config) {&lt;br /&gt;
        var preparedLine = prepareLine(line);&lt;br /&gt;
        var instruction = {&lt;br /&gt;
            address: parseAddress(preparedLine),&lt;br /&gt;
            comment: comment,&lt;br /&gt;
            line: line&lt;br /&gt;
        };&lt;br /&gt;
        var unparsedLine = preparedLine;&lt;br /&gt;
        if (instruction.address &amp;gt;= 0) {&lt;br /&gt;
            unparsedLine = unparsedLine.split(&amp;#039; &amp;#039;).slice(1).join(&amp;#039; &amp;#039;);&lt;br /&gt;
        }&lt;br /&gt;
        instruction.labels = parseLabels(unparsedLine);&lt;br /&gt;
        instruction.signals = [];&lt;br /&gt;
        instruction.branchType = BranchType.NONE;&lt;br /&gt;
        unparsedLine = unparsedLine.split(&amp;#039; &amp;#039;).slice(instruction.labels.length).join(&amp;#039; &amp;#039;);&lt;br /&gt;
        var hadBranch = false;&lt;br /&gt;
        var conditionsLowercase = lib.parseConditions(config).map(function(condition) {&lt;br /&gt;
            return condition.toLowerCase();&lt;br /&gt;
        });&lt;br /&gt;
        unparsedLine.split(&amp;#039;,&amp;#039;).map(function(segment) {&lt;br /&gt;
            return segment.trim();&lt;br /&gt;
        }).forEach(function(arg) {&lt;br /&gt;
            var isBropr = arg === &amp;#039;bropr&amp;#039;;&lt;br /&gt;
            var isBradr = arg === &amp;#039;bradr&amp;#039;;&lt;br /&gt;
            var isAddressBranch = arg.includes(&amp;#039;br &amp;#039;);&lt;br /&gt;
            var isConditional = arg.includes(&amp;#039;if &amp;#039;);&lt;br /&gt;
            var isBranch = isBropr || isBradr || isAddressBranch;&lt;br /&gt;
            var isSignal = signals.find(function(signal) {&lt;br /&gt;
                return signal.toLowerCase() === arg;&lt;br /&gt;
            });&lt;br /&gt;
            // Check for multiple branches.&lt;br /&gt;
            if (isBranch &amp;amp;&amp;amp; hadBranch) {&lt;br /&gt;
                instruction.error = &amp;#039;More than one branch&amp;#039;;&lt;br /&gt;
            } else if (isBranch) {&lt;br /&gt;
                hadBranch = true;&lt;br /&gt;
            }&lt;br /&gt;
            // Set relevant instruction fields.&lt;br /&gt;
            var res;&lt;br /&gt;
            if (isSignal) {&lt;br /&gt;
                if (!instruction.signals.includes(arg)) {&lt;br /&gt;
                    instruction.signals.push(arg);&lt;br /&gt;
                }&lt;br /&gt;
            } else if (isBropr) {&lt;br /&gt;
                instruction.branchType = BranchType.BROPR;&lt;br /&gt;
            } else if (isBradr) {&lt;br /&gt;
                instruction.branchType = BranchType.BRADR;&lt;br /&gt;
            } else if (isBranch &amp;amp;&amp;amp; isConditional) {&lt;br /&gt;
                res = CONDITIONAL_BRANCH.exec(arg);&lt;br /&gt;
                if (!res) {&lt;br /&gt;
                    instruction.error = &amp;#039;Invalid conditional branch format&amp;#039;;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
                instruction.branchType = BranchType.CONDITIONAL;&lt;br /&gt;
                var splitCondition = res[1].split(&amp;#039;.&amp;#039;);&lt;br /&gt;
                var complement = res[1].startsWith(&amp;#039;#&amp;#039;) &amp;amp;&amp;amp; splitCondition.length &amp;gt; 1 ? &amp;#039;#&amp;#039; : &amp;#039;&amp;#039;;&lt;br /&gt;
                instruction.condition = complement + splitCondition[splitCondition.length - 1];&lt;br /&gt;
                if (!conditionsLowercase.includes(instruction.condition)) {&lt;br /&gt;
                    instruction.error = &amp;#039;Unknown condition code &amp;#039; + instruction.condition;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
                instruction.destination = res[2];&lt;br /&gt;
                // TODO: Destination validation&lt;br /&gt;
            } else if (isBranch &amp;amp;&amp;amp; !isConditional) {&lt;br /&gt;
                res = UNCONDITIONAL_BRANCH.exec(arg);&lt;br /&gt;
                if (!res) {&lt;br /&gt;
                    instruction.error = &amp;#039;Invalid unconditional branch format&amp;#039;;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
                instruction.branchType = BranchType.UNCONDITIONAL;&lt;br /&gt;
                instruction.destination = res[1];&lt;br /&gt;
                // TODO: Destination validation&lt;br /&gt;
            } else {&lt;br /&gt;
                instruction.error = &amp;#039;Unknown operation &amp;#039; + arg;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
        instruction.signals = fixSignalNames(instruction.signals);&lt;br /&gt;
        return instruction;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function getInstructions(config, contents) {&lt;br /&gt;
        var instructions = [];&lt;br /&gt;
        var comment = &amp;#039;&amp;#039;;&lt;br /&gt;
        var lines = contents.split(&amp;#039;\n&amp;#039;);&lt;br /&gt;
        var labels = {};&lt;br /&gt;
        for (var i = 0, l = lines.length; i &amp;lt; l; ++i) {&lt;br /&gt;
            var line = lines[i].trim();&lt;br /&gt;
            if (!line) {&lt;br /&gt;
                continue;&lt;br /&gt;
            }&lt;br /&gt;
            if (line.startsWith(&amp;#039;!&amp;#039;)) {&lt;br /&gt;
                comment = line;&lt;br /&gt;
            } else {&lt;br /&gt;
                var instruction = parseLine(comment, line, config);&lt;br /&gt;
                comment = &amp;#039;&amp;#039;;&lt;br /&gt;
                for (var j = 0, l2 = instruction.labels.length; j &amp;lt; l2; ++j) {&lt;br /&gt;
                    var label = instruction.labels[j];&lt;br /&gt;
                    if (labels[label]) {&lt;br /&gt;
                        instruction.error = &amp;#039;Duplicate label &amp;#039; + label;&lt;br /&gt;
                        break;&lt;br /&gt;
                    }&lt;br /&gt;
                    labels[label] = instruction.address;&lt;br /&gt;
                }&lt;br /&gt;
                if (instruction.error) {&lt;br /&gt;
                    return {&lt;br /&gt;
                        error: &amp;#039;Microcode error: &amp;#039; + instruction.error + &amp;#039; at line &amp;#039; + (i + 1)&lt;br /&gt;
                    };&lt;br /&gt;
                }&lt;br /&gt;
                instructions.push(instruction);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        return {&lt;br /&gt;
            result: instructions&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    window.mw = $.extend(true, window.mw, {&lt;br /&gt;
        libs: {&lt;br /&gt;
            diagramGenerator: {&lt;br /&gt;
                BranchType: BranchType,&lt;br /&gt;
                getInstructions: getInstructions&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>KockaAdmiralac</name></author>
	</entry>
</feed>