course: bo-signal, bo-test

This commit is contained in:
2025-12-28 23:52:09 +03:00
parent d7716c6f94
commit f9bfe6862d
7 changed files with 295 additions and 33 deletions

View File

@ -16,6 +16,7 @@ table.data-alt - генерируемая подпись "Таблица <number
table.data-gen - генерация таблицы в формате "1,2;3,4;", где ',' разделяет колонки, ';' разделяет строки
$<action>,<param>,<param2>$
$C,<num>$ - установить colspan клетки
$R,<num>$ - установить rowspan клетки
$c,<color>$ - установить цвет клетки, color = r | g | b
$$ - экранирование $
$, - экранирование ,
@ -26,4 +27,6 @@ table.data-style - стили, накладываемые на сам table
.tex - генерирует MathML на основе TeX
[data-tag] - у img или table при наличии alt или data-alt, позволяет ссылаться через data-ref
#tag-<data-tag> - такой id добавляется к элементам с data-tag
span.data-ref - заменяет содержимое элемента на idx элемента с соответствующим data-tag
a.data-ref - то же, что и span.data-ref, но это ссылка

View File

@ -0,0 +1,151 @@
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" version="29.2.9">
<diagram name="Страница-1" id="9ognQSmDpJbtVMKNycsE">
<mxGraphModel dx="575" dy="778" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="52tA0l9oXwR5200kRQGS-1" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;" value="начало" vertex="1">
<mxGeometry height="40" width="80" x="320" y="80" as="geometry" />
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-2" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;" value="конец" vertex="1">
<mxGeometry height="40" width="80" x="200" y="320" as="geometry" />
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-4" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;align=center;glass=0;shadow=0;gradientColor=none;" value="Y0: RA = A&lt;div&gt;Y1: RB = B&lt;/div&gt;&lt;div&gt;Y5: RR = 0&lt;/div&gt;&lt;div&gt;i = 0&lt;/div&gt;" vertex="1">
<mxGeometry height="60" width="79" x="320" y="140" as="geometry" />
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-7" edge="1" parent="1" source="52tA0l9oXwR5200kRQGS-1" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="52tA0l9oXwR5200kRQGS-4" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="370" y="280" as="sourcePoint" />
<mxPoint x="420" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-8" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;" value="i = 3?" vertex="1">
<mxGeometry height="40" width="80" x="320" y="240" as="geometry" />
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-9" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;" value="F0 = 1?" vertex="1">
<mxGeometry height="40" width="80" x="320" y="320" as="geometry" />
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-10" edge="1" parent="1" source="52tA0l9oXwR5200kRQGS-4" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="52tA0l9oXwR5200kRQGS-8" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="370" y="350" as="sourcePoint" />
<mxPoint x="420" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-11" edge="1" parent="1" source="52tA0l9oXwR5200kRQGS-8" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="52tA0l9oXwR5200kRQGS-9" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="370" y="350" as="sourcePoint" />
<mxPoint x="420" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-12" connectable="0" parent="52tA0l9oXwR5200kRQGS-11" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="нет" vertex="1">
<mxGeometry relative="1" x="-0.1939" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-13" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;align=center;" value="Y7: RHI = SM&lt;div&gt;Y5: RB = RB &amp;gt;&amp;gt; 1&lt;/div&gt;" vertex="1">
<mxGeometry height="40" width="100" x="310" y="400" as="geometry" />
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-14" edge="1" parent="1" source="52tA0l9oXwR5200kRQGS-9" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="52tA0l9oXwR5200kRQGS-13" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="370" y="350" as="sourcePoint" />
<mxPoint x="420" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-15" connectable="0" parent="52tA0l9oXwR5200kRQGS-14" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="да" vertex="1">
<mxGeometry relative="1" x="-0.3061" as="geometry">
<mxPoint x="10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-16" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;align=center;" value="Y5: RB = RB &amp;gt;&amp;gt; 1" vertex="1">
<mxGeometry height="40" width="100" x="430" y="400" as="geometry" />
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-18" edge="1" parent="1" source="52tA0l9oXwR5200kRQGS-9" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="52tA0l9oXwR5200kRQGS-16" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<Array as="points">
<mxPoint x="480" y="340" />
</Array>
<mxPoint x="370" y="350" as="sourcePoint" />
<mxPoint x="420" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-19" connectable="0" parent="52tA0l9oXwR5200kRQGS-18" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="нет" vertex="1">
<mxGeometry relative="1" x="-0.6694" y="3" as="geometry">
<mxPoint x="-18" y="13" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-20" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;align=center;" value="&lt;div&gt;Y3: TS = CS1&lt;/div&gt;Y8: RR&amp;nbsp;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;&amp;gt;&amp;gt; 1&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;i = i + 1&lt;/span&gt;&lt;/div&gt;" vertex="1">
<mxGeometry height="50" width="79.5" x="319.5" y="470" as="geometry" />
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-21" edge="1" parent="1" source="52tA0l9oXwR5200kRQGS-13" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="52tA0l9oXwR5200kRQGS-20" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="370" y="350" as="sourcePoint" />
<mxPoint x="420" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-22" edge="1" parent="1" source="52tA0l9oXwR5200kRQGS-16" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="52tA0l9oXwR5200kRQGS-20" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<Array as="points">
<mxPoint x="480" y="450" />
<mxPoint x="360" y="450" />
</Array>
<mxPoint x="370" y="410" as="sourcePoint" />
<mxPoint x="360" y="470" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-23" edge="1" parent="1" source="52tA0l9oXwR5200kRQGS-20" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="52tA0l9oXwR5200kRQGS-8" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<Array as="points">
<mxPoint x="360" y="540" />
<mxPoint x="540" y="540" />
<mxPoint x="540" y="220" />
<mxPoint x="360" y="220" />
</Array>
<mxPoint x="410" y="420" as="sourcePoint" />
<mxPoint x="420" y="250" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-24" edge="1" parent="1" source="52tA0l9oXwR5200kRQGS-8" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="52tA0l9oXwR5200kRQGS-2" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<Array as="points">
<mxPoint x="240" y="260" />
</Array>
<mxPoint x="410" y="420" as="sourcePoint" />
<mxPoint x="240" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="52tA0l9oXwR5200kRQGS-25" connectable="0" parent="52tA0l9oXwR5200kRQGS-24" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="да" vertex="1">
<mxGeometry relative="1" x="-0.4856" y="-2" as="geometry">
<mxPoint x="23" y="12" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Fn2402sxkjubDw2Heft0-1" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="1" vertex="1">
<mxGeometry height="30" width="60" x="210" y="50" as="geometry" />
</mxCell>
<mxCell id="Fn2402sxkjubDw2Heft0-2" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="2" vertex="1">
<mxGeometry height="30" width="60" x="329.5" y="50" as="geometry" />
</mxCell>
<mxCell id="Fn2402sxkjubDw2Heft0-3" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="3" vertex="1">
<mxGeometry height="30" width="60" x="450" y="50" as="geometry" />
</mxCell>
<mxCell id="Fn2402sxkjubDw2Heft0-4" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="A" vertex="1">
<mxGeometry height="30" width="60" x="130" y="90" as="geometry" />
</mxCell>
<mxCell id="Fn2402sxkjubDw2Heft0-5" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="B" vertex="1">
<mxGeometry height="30" width="60" x="130" y="170" as="geometry" />
</mxCell>
<mxCell id="Fn2402sxkjubDw2Heft0-6" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="C" vertex="1">
<mxGeometry height="30" width="60" x="130" y="245" as="geometry" />
</mxCell>
<mxCell id="Fn2402sxkjubDw2Heft0-7" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="D" vertex="1">
<mxGeometry height="30" width="60" x="130" y="330" as="geometry" />
</mxCell>
<mxCell id="Fn2402sxkjubDw2Heft0-8" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="E" vertex="1">
<mxGeometry height="30" width="60" x="130" y="405" as="geometry" />
</mxCell>
<mxCell id="Fn2402sxkjubDw2Heft0-9" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="F" vertex="1">
<mxGeometry height="30" width="60" x="130" y="490" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,55 @@
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64; rv:145.0) Gecko/20100101 Firefox/145.0" version="29.2.9">
<diagram name="Страница-1" id="eliyyOJoX__2iovGvcSQ">
<mxGraphModel dx="755" dy="990" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="HJrjnXp4QyNNtNshhPcJ-2" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;" value="начало" vertex="1">
<mxGeometry height="40" width="80" x="280" y="160" as="geometry" />
</mxCell>
<mxCell id="HJrjnXp4QyNNtNshhPcJ-3" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Y0: RA = A&lt;div&gt;Y1: RB = B&lt;/div&gt;" vertex="1">
<mxGeometry height="40" width="80" x="280" y="240" as="geometry" />
</mxCell>
<mxCell id="HJrjnXp4QyNNtNshhPcJ-4" parent="1" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;" value="Y4: TCF = CS3&lt;div&gt;Y6: RLO = CS2&lt;/div&gt;" vertex="1">
<mxGeometry height="40" width="90" x="275" y="320" as="geometry" />
</mxCell>
<mxCell id="HJrjnXp4QyNNtNshhPcJ-6" parent="1" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;" value="конец" vertex="1">
<mxGeometry height="40" width="80" x="280" y="400" as="geometry" />
</mxCell>
<mxCell id="HJrjnXp4QyNNtNshhPcJ-7" edge="1" parent="1" source="HJrjnXp4QyNNtNshhPcJ-4" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" target="HJrjnXp4QyNNtNshhPcJ-6" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="330" y="390" as="sourcePoint" />
<mxPoint x="380" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="HJrjnXp4QyNNtNshhPcJ-8" edge="1" parent="1" source="HJrjnXp4QyNNtNshhPcJ-3" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="HJrjnXp4QyNNtNshhPcJ-4" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="330" y="390" as="sourcePoint" />
<mxPoint x="380" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="HJrjnXp4QyNNtNshhPcJ-9" edge="1" parent="1" source="HJrjnXp4QyNNtNshhPcJ-2" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="HJrjnXp4QyNNtNshhPcJ-3" value="">
<mxGeometry height="50" relative="1" width="50" as="geometry">
<mxPoint x="330" y="390" as="sourcePoint" />
<mxPoint x="380" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="HJrjnXp4QyNNtNshhPcJ-10" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="A" vertex="1">
<mxGeometry height="30" width="60" x="210" y="165" as="geometry" />
</mxCell>
<mxCell id="HJrjnXp4QyNNtNshhPcJ-11" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="B" vertex="1">
<mxGeometry height="30" width="60" x="210" y="245" as="geometry" />
</mxCell>
<mxCell id="HJrjnXp4QyNNtNshhPcJ-12" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="C" vertex="1">
<mxGeometry height="30" width="60" x="210" y="325" as="geometry" />
</mxCell>
<mxCell id="HJrjnXp4QyNNtNshhPcJ-13" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="D" vertex="1">
<mxGeometry height="30" width="60" x="210" y="405" as="geometry" />
</mxCell>
<mxCell id="HJrjnXp4QyNNtNshhPcJ-14" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="1" vertex="1">
<mxGeometry height="30" width="60" x="290" y="130" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 128 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -63,19 +63,19 @@
$\mathrm{Зн} = 0 \oplus 0 = 0$
$[\mathrm{A}*\mathrm{B}]_\mathrm{п} = 0.0110001 = 49$
</div>
<table data-alt="Пример умножения 1" data-gen="
,,0,1,1,1,,,,RA;
,,0,1,1,1,,,,RB;;
,0,$c,r$0,$c,r$0,$c,r$0,$c,r$0,0,0,0,RR=0;
b0=1,+,$c,r$0,$c,r$1,$c,r$1,$c,r$1,,,,RA;;
,0,0,1,1,1,0,0,0,RR;
,0,$c,r$0,$c,r$0,$c,r$1,$c,r$1,1,0,0,RR>>1;
b1=1,+,$c,r$0,$c,r$1,$c,r$1,$c,r$1,,,,RA;;
,0,1,0,1,0,1,0,0,RR;
,0,$c,r$0,$c,r$1,$c,r$0,$c,r$1,0,1,0,RR>>1;
b2=1,+,$c,r$0,$c,r$1,$c,r$1,$c,r$1,,,,RA;;
,0,1,1,0,0,0,1,0,RR;
Знак,$c,b$0,0,1,1,0,0,0,1,RR>>1;
<table data-tag="bo-mul-test-1" data-alt="Пример умножения 1" data-gen="
,0,1,1,1,$C,3$,RA;
b0=1,0,1,1,1,$C,3$,RB;;
$R,2$+,0,0,0,0,0,0,0,RR=0;
0,1,1,1,$C,3$,RA;;
b1=1,0,1,1,1,0,0,0,RR+=RA;
$R,2$+,0,0,1,1,1,0,0,RR>>1;
0,1,1,1,$C,3$,RA;;
b2=1,1,0,1,0,1,0,0,RR+=RA;
$R,2$+,0,1,0,1,0,1,0,RR>>1;
0,1,1,1,$C,3$,RA;;
,1,1,0,0,0,1,0,RR+=RA;
Зн=0,0,1,1,0,0,0,1,RR>>1;
" class="center" style="flex: 1"></table>
</div>
<div class="row">
@ -86,19 +86,19 @@
$\mathrm{Зн} = 1 \oplus 0 = 1$
$[\mathrm{A}*\mathrm{B}]_\mathrm{п} = 1.0100011 = -35$
</div>
<table data-alt="Пример умножения 2" data-gen="
,,0,1,1,1,,,,RA;
,,1,1,0,1,,,,RB;;
,0,$c,r$0,$c,r$0,$c,r$0,$c,r$0,0,0,0,RR=0;
b0=1,+,$c,r$0,$c,r$1,$c,r$1,$c,r$1,,,,RA;;
,0,0,1,1,1,0,0,0,RR;
,0,0,0,1,1,1,0,0,RR>>1;
b1=0,$C,9$пропуск такта суммирования;;
,0,0,0,1,1,1,0,0,RR;
,0,$c,r$0,$c,r$0,$c,r$0,$c,r$1,1,1,0,RR>>1;
b2=1,+,$c,r$0,$c,r$1,$c,r$1,$c,r$1,,,,RA;;
,0,1,0,0,0,1,1,0,RR;
Знак,$c,b$1,0,1,0,0,0,1,1,RR>>1;
<table data-tag="bo-mul-test-2" data-alt="Пример умножения 2" data-gen="
,0,1,1,1,$C,3$,RA;
b0=1,1,1,0,1,$C,3$,RB;;
$R,2$+,0,0,0,0,0,0,0,RR=0;
0,1,1,1,$C,3$,RA;;
b1=0,0,1,1,1,0,0,0,RR+=RA;
$R,2$,0,0,1,1,1,0,0,RR>>1;
$C,9$пропуск такта суммирования;;
b2=1,0,0,1,1,1,0,0,RR;
$R,2$+,0,0,0,1,1,1,0,RR>>1;
0,1,1,1,$C,3$,RA;;
,1,0,0,0,1,1,0,RR+=RA;
Зн=1,0,1,0,0,0,1,1,RR>>1;
" class="center" style="flex: 1"></table>
</div>
</section>
@ -128,7 +128,7 @@
$RB = 0011$
</div>
</div>
<img style="flex: 2" src="img/bo-set.png" alt="Блок схема проверки бита с установкой в единицу">
<img style="flex: 2" src="img/bo-set.png" data-tag="bo-set" alt="Блок схема проверки бита с установкой в единицу">
<div style="flex: 1"></div>
</div>
</section>
@ -466,6 +466,40 @@
</table>
</div>
<h3>Алгоритм микропрограммы УМНОЖЕНИЕ</h3>
<p>В блок-схеме на рисунке <span data-ref="bo-signal-mul"></span> под процедурой RR = 0 понимается RLO = 0; RHI = 0,
под процедурой RR >> 1 понимается RLO >> 1; RLO[3] = RHI[0]; RHI >> 1</p>
<img data-style="width: 60%" src="img/bo-signal-mul.svg" alt="Микропрограмма операции УМНОЖЕНИЕ"
data-tag="bo-signal-mul">
</section>
<section class="col">
<h3>Примеры микропрограммы УМНОЖЕНИЕ</h3>
<p>Пример 1 микрооперации УМНОЖЕНИЕ приведен в таблице <a data-ref="bo-mul-test-1"></a></p>
<img src="img/bo-mul-test-1.png" alt="Временная диаграмма примера 1 УМНОЖЕНИЕ">
<p>Пример 2 микрооперации УМНОЖЕНИЕ приведен в таблице <a data-ref="bo-mul-test-2"></a></p>
<img src="img/bo-mul-test-2.png" alt="Временная диаграмма примера 2 УМНОЖЕНИЕ">
</section>
<section class="col">
<h3>Алгоритм микрооперации УСТАНОВКА БИТА</h3>
<img data-style="width: 20%" src="img/bo-signal-set.svg" alt="Микропрограмма операции УСТАНОВКА БИТА">
<h3>Примеры микрооперации УСТАНОВКА БИТА</h3>
<div class="row tex">
<div style="flex: 0.75"></div>
<div class="col" style="gap: 0; flex: 1">
Пример 1:
$RA = 0000$
$RB = 0001$
$CF = 1$
$RB = 0001$
</div>
<div class="col" style="gap: 0; flex: 1">
Пример 2:
$RA = 0001$
$RB = 0001$
$CF = 0$
$RB = 0011$
</div>
</div>
<img src="img/bo-set-test.png" alt="Примеры 1,2 микрооперации установка бита">
</section>
<script src="index.js" type="module"></script>
</body>

View File

@ -89,10 +89,6 @@ function addCaptions() {
'TABLE': obj.dataset.alt,
}[obj.tagName]
if (obj.dataset.tag) {
counter_by_tag[obj.dataset.tag] = obj_counter[obj.tagName]
}
let div = document.createElement('div')
div.classList.add(...({
'IMG': ['col', 'y-center'],
@ -105,6 +101,11 @@ function addCaptions() {
obj.style.cssText = 'width: 100%'
}
if (obj.dataset.tag) {
counter_by_tag[obj.dataset.tag] = obj_counter[obj.tagName]
div.id = 'tag-' + obj.dataset.tag
}
let prev = obj.previousSibling
obj.remove()
div.append(obj, cap)
@ -112,10 +113,16 @@ function addCaptions() {
obj_counter[obj.tagName]++
}
const refs = document.querySelectorAll('span[data-ref]')
const refs = document.querySelectorAll('span[data-ref],a[data-ref]')
for (const ref of refs) {
ref.innerHTML = counter_by_tag[ref.dataset.ref] ?? 'без номера'
switch (ref.tagName) {
case 'A':
ref.href = '#tag-' + ref.dataset.ref
case 'SPAN':
ref.innerHTML = counter_by_tag[ref.dataset.ref] ?? 'без номера'
break
}
}
}
@ -160,6 +167,10 @@ function genTables() {
dot.colSpan = +args[1]
break
case 'R':
dot.rowSpan = +args[1]
break
case 'c':
dot.style.backgroundColor = {
'r': 'lightcoral',