diff --git a/circuit/25-2/course_project/README.txt b/circuit/25-2/course_project/README.txt index ede6a20..c3c1634 100644 --- a/circuit/25-2/course_project/README.txt +++ b/circuit/25-2/course_project/README.txt @@ -16,6 +16,7 @@ table.data-alt - генерируемая подпись "Таблица ,,$ $C,$ - установить colspan клетки + $R,$ - установить rowspan клетки $c,$ - установить цвет клетки, 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- - такой id добавляется к элементам с data-tag span.data-ref - заменяет содержимое элемента на idx элемента с соответствующим data-tag +a.data-ref - то же, что и span.data-ref, но это ссылка diff --git a/circuit/25-2/course_project/drawio/bo-signal-mul.drawio b/circuit/25-2/course_project/drawio/bo-signal-mul.drawio new file mode 100644 index 0000000..acb01bb --- /dev/null +++ b/circuit/25-2/course_project/drawio/bo-signal-mul.drawio @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/circuit/25-2/course_project/drawio/bo-signal-set.drawio b/circuit/25-2/course_project/drawio/bo-signal-set.drawio new file mode 100644 index 0000000..0a4b1ba --- /dev/null +++ b/circuit/25-2/course_project/drawio/bo-signal-set.drawio @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/circuit/25-2/course_project/img/bo-signal-mul.svg b/circuit/25-2/course_project/img/bo-signal-mul.svg new file mode 100644 index 0000000..f45c676 --- /dev/null +++ b/circuit/25-2/course_project/img/bo-signal-mul.svg @@ -0,0 +1,4 @@ + + + +
начало
конец
Y0: RA = A
Y1: RB = B
Y5: RR = 0
i = 0
i = 3?
F0 = 1?
нет
Y7: RHI = SM
Y5: RB = RB >> 1
да
Y5: RB = RB >> 1
нет
Y3: TS = CS1
Y8: RR >> 1
i = i + 1
да
1
2
3
A
B
C
D
E
F
diff --git a/circuit/25-2/course_project/img/bo-signal-set.svg b/circuit/25-2/course_project/img/bo-signal-set.svg new file mode 100644 index 0000000..e73267b --- /dev/null +++ b/circuit/25-2/course_project/img/bo-signal-set.svg @@ -0,0 +1,4 @@ + + + +
начало
Y0: RA = A
Y1: RB = B
Y4: TCF = CS3
Y6: RLO = CS2
конец
A
B
C
D
1
diff --git a/circuit/25-2/course_project/index.html b/circuit/25-2/course_project/index.html index 40711a1..af77a8b 100644 --- a/circuit/25-2/course_project/index.html +++ b/circuit/25-2/course_project/index.html @@ -63,19 +63,19 @@ $\mathrm{Зн} = 0 \oplus 0 = 0$ $[\mathrm{A}*\mathrm{B}]_\mathrm{п} = 0.0110001 = 49$ -
@@ -86,19 +86,19 @@ $\mathrm{Зн} = 1 \oplus 0 = 1$ $[\mathrm{A}*\mathrm{B}]_\mathrm{п} = 1.0100011 = -35$
-
@@ -128,7 +128,7 @@ $RB = 0011$ - Блок схема проверки бита с установкой в единицу + Блок схема проверки бита с установкой в единицу
@@ -466,6 +466,40 @@

Алгоритм микропрограммы УМНОЖЕНИЕ

+

В блок-схеме на рисунке под процедурой RR = 0 понимается RLO = 0; RHI = 0, + под процедурой RR >> 1 понимается RLO >> 1; RLO[3] = RHI[0]; RHI >> 1

+ Микропрограмма операции УМНОЖЕНИЕ + +
+

Примеры микропрограммы УМНОЖЕНИЕ

+

Пример 1 микрооперации УМНОЖЕНИЕ приведен в таблице

+ Временная диаграмма примера 1 УМНОЖЕНИЕ +

Пример 2 микрооперации УМНОЖЕНИЕ приведен в таблице

+ Временная диаграмма примера 2 УМНОЖЕНИЕ +
+
+

Алгоритм микрооперации УСТАНОВКА БИТА

+ Микропрограмма операции УСТАНОВКА БИТА +

Примеры микрооперации УСТАНОВКА БИТА

+
+
+
+ Пример 1: + $RA = 0000$ + $RB = 0001$ + $CF = 1$ + $RB = 0001$ +
+
+ Пример 2: + $RA = 0001$ + $RB = 0001$ + $CF = 0$ + $RB = 0011$ +
+
+ Примеры 1,2 микрооперации установка бита
diff --git a/circuit/25-2/course_project/index.js b/circuit/25-2/course_project/index.js index 5f8ebe9..adc0200 100644 --- a/circuit/25-2/course_project/index.js +++ b/circuit/25-2/course_project/index.js @@ -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',