ЛР4. Исправление описания итогового формата инструкций (#155)

В инструкциях переходов была ошибочно указана const вместо offset
This commit is contained in:
Andrei Solodovnikov
2025-12-30 16:40:30 +03:00
committed by GitHub
parent e16fd228e6
commit 0bc66d1e1f
2 changed files with 28 additions and 10 deletions

View File

@@ -2,6 +2,24 @@
![http://95.215.8.74:5000/days_since_last_commit.png](http://95.215.8.74:5000/days_since_last_commit.png)
**30.12.2025**: В Финальном обзоре ЛР№4 (стр. 111) указан неверный тип константы для инструкций переходов: 23-битная `const`, в то время как на самом деле используется 8-битная `offset`.
<details>
<summary> Исправленная версия абзаца </summary>
```diff
1. 10 вычислительных инструкций 0 0 01 alu_op RA1 RA2 xxxx xxxx WA
2. Инструкция загрузки константы 0 0 00 const WA
3. Инструкция загрузки из внешних устройств 0 0 10 xxx xxxx xxxx xxxx xxxx xxxx WA
---4. Безусловный переход 1 x xx xxx xxxx xxxx xxxx const xxxxx
---5. 6 инструкций условного перехода 0 1 xx alu_op RA1 RA2 const xxxxx
+++4. Безусловный переход 1 x xx xxx xxxx xxxx xxxx offset xxxxx
+++5. 6 инструкций условного перехода 0 1 xx alu_op RA1 RA2 offset xxxxx
```
</details>
<br>
**28.10.2025**: В ЛР№3 (стр. 90) указано неверное количество блоков, необходимое для реализации 1&nbsp;KiB памяти.
<details>
@@ -11,7 +29,7 @@
</details>
<br><br>
<br>
**27.10.2025**: Исправлено отображение инверсии выхода Q̅ в _рисунках I.2-13_ и _I.3-6_.
@@ -22,7 +40,7 @@
</details>
<br><br>
<br>
**27.10.2025**: Исправлена опечатка в описании функционального поведения ведомой защёлки в составе D-триггера на стр. 41:
@@ -38,7 +56,7 @@
</details>
<br><br>
<br>
**22.05.2025**: Исправлено несоответствие в названиях модулей в ЛР10-12.
@@ -56,7 +74,7 @@ _Рисунок II.12-3. Структурная схема блока приор
</details>
<br><br>
<br>
**13.05.2025**: Исправлен рисунок II.8-3 — исправлена опечатка в названии нижнего сигнала (`mem_wd_i``mem_wd_o`).
@@ -85,7 +103,7 @@ _Рисунок II.12-3. Структурная схема блока приор
</details>
<br><br>
<br>
**11.07.2025**: Обнаружена ошибка вёрстки в примере использования битовых сдвигов на стр. 79. Операции по установке, очистке и чтению N-го бита выглядят следующим образом:
@@ -95,7 +113,7 @@ X = X & ~(1 << N); // Очистка N-го бита
Y = (X & (1 << N)) != 0; // Чтение N-го бита
```
<br><br>
<br>
**11.07.2025**: Исправлена опечатка в предпоследнем абзаце стр. 227 (в конце первого предложения должен был быть написан **LMA**):
@@ -111,13 +129,13 @@ Y = (X & (1 << N)) != 0; // Чтение N-го бита
</details>
<br><br>
<br>
**16.06.2025**: Исправлена ошибка в _листинге II.14-2_.
Предпоследнюю инструкцию (`lw a0, 40(a0)`) следует читать как `lw a0, 24(a0)`.
<br><br>
<br>
**29.03.2025**: Исправлен рисунок II.4-4 — убрана логика безусловного перехода, т.к. она должна была появиться только в следующем параграфе.

View File

@@ -271,8 +271,8 @@ _Рисунок 5. Реализация безусловного переход
1. 10 вычислительных инструкций `0 0 01 alu_op RA1 RA2 xxxx xxxx WA`
2. Инструкция загрузки константы `0 0 00 const WA`
3. Инструкция загрузки из внешних устройств `0 0 10 xxx xxxx xxxx xxxx xxxx xxxx WA`
4. Безусловный переход `1 x xx xxx xxxx xxxx xxxx const xxxxx`
5. 6 инструкций условного перехода `0 1 xx alu_op RA1 RA2 const xxxxx`
4. Безусловный переход `1 x xx xxx xxxx xxxx xxxx offset xxxxx`
5. 6 инструкций условного перехода `0 1 xx alu_op RA1 RA2 offset xxxxx`
При кодировании инструкций используются следующие поля: