Наборы
›
Как считает процессор
RU
EN
ES
Содержание
Вступление
История: как машины научились складывать
Урок 1. Вентили и полусумматор: 1 + 1 = 10
1.1. Идея: сложить один разряд
1.2. Сборка
1.3. Проверка
Вставка урока 1 (Cmd+I)
Урок 2. Полный сумматор и 4 бита: перенос бежит по разрядам
2.1. Идея: сложение столбиком
2.2. Сборка
2.3. Проверка
Вставка урока 2 (Cmd+I)
Урок 3. Отрицательные числа и вычитание: дополнительный код
3.1. Идея: числа по кругу
3.2. Флаги
3.3. Сборка
3.4. Проверка
Вставка урока 3 (Cmd+I)
Урок 4. 8 бит и сравнение: CMP — это вычитание
4.1. Идея: две половины
4.2. Идея: сравнение — это вычитание
4.3. Сборка
4.4. Проверка
Вставка урока 4 (Cmd+I)
Урок 5. Калькулятор ±: минус на лампе, модуль на табло
5.1. Идея: модуль — это ещё одно вычитание
5.2. Сборка
5.3. Проверка
Вставка урока 5 (Cmd+I)
Урок 6 (бонус). Десятичный счёт: прибавить шесть
6.1. Идея: цифра в четырёх битах
6.2. Почему табло в режиме HEX
6.3. Сборка
Как набирать цифры
6.4. Проверка
Вставка урока 6 (Cmd+I)
Итоги
Все детали
Инструкция в картинках
Урок 3 в картинках
← К уроку: Урок 3. Отрицательные числа и вычитание: дополнительный код
3
Вычитание и флаги
дополнительный код, тумблер SUB, лампы C Z N V
kh
HB-02
A
0
A3
0
A2
1
A1
1
A0
B
0
B3
1
B2
0
B1
1
B0
1
SUB
1110
S
C
Z
N
V
3 − 5 = −2
IN
10×
OUT
6×
XOR
6×
1
ADDER4
1×
2
AND
1×
1
0
9×
OR
2×
1
NOR
1×
1
4×
4b
0
A
3×
∞
Ctrl
+
G
ADDSUB4
© 2026 Даниил Ханин · khanin.info · HB-02
18
ХОЛСТ
1
Delete
0
A0
0
A1
0
A2
0
A3
0
B0
0
B1
0
B2
0
B3
4b
DEC
A
2
Delete
4b
DEC
B
8b
DEC
S
3
Delete
ADDER4
A0
A0
A1
A1
A2
A2
A3
A3
B0
B0
B1
B1
B2
B2
B3
B3
CI
GND
S0
S0
S1
S1
S2
S2
S3
S3
CO
S4
© 2026 Даниил Ханин · khanin.info · HB-02
19
ADDSUB4
4
IN
10×
OUT
6×
A0
A1
A2
A3
B0
B1
B2
B3
SUB
CI
S0
S1
S2
S3
CO
V
5
XOR
3×
1
9×
XOR
I0
B0
I1
SUB
O0
bx0
XOR
I0
B1
I1
SUB
O0
bx1
XOR
I0
B2
I1
SUB
O0
bx2
6
XOR
1×
1
3×
XOR
I0
B3
I1
SUB
O0
bx3
7
ADDER4
1×
2
14×
ADDER4
A0
A0
A1
A1
A2
A2
A3
A3
B0
bx0
B1
bx1
B2
bx2
B3
bx3
CI
CI
S0
S0
S1
S1
S2
S2
S3
S3
CO
CO
© 2026 Даниил Ханин · khanin.info · HB-02
20
ADDSUB4 …
ХОЛСТ
8
XOR
2×
1
AND
1×
1
9×
XOR
I0
A3
I1
S3
O0
va
XOR
I0
bx3
I1
S3
O0
vb
AND
I0
va
I1
vb
O0
V
9
Ctrl
+
G
Library
…
Chip N
2×
Library
…
ADDSUB4
Enter
ADDSUB4
A0
A1
A2
A3
B0
B1
B2
B3
SUB
CI
S0
S1
S2
S3
CO
V
10
0
5×
5×
0
A0
0
A1
0
A2
0
A3
0
B0
© 2026 Даниил Ханин · khanin.info · HB-02
21
ХОЛСТ …
11
0
4×
4×
0
B1
0
B2
0
B3
0
SUB
12
ADDSUB4
1×
16×
ADDSUB4
A0
A0
A1
A1
A2
A2
A3
A3
B0
B0
B1
B1
B2
B2
B3
B3
SUB
SUB
CI
SUB
S0
S0
S1
S1
S2
S2
S3
S3
CO
C
V
V
13
OR
2×
1
NOR
1×
1
9×
OR
I0
S0
I1
S1
O0
z01
OR
I0
S2
I1
S3
O0
z23
NOR
I0
z01
I1
z23
O0
Z
© 2026 Даниил Ханин · khanin.info · HB-02
22
ХОЛСТ …
14
4×
4×
C
Z
S3
V
15
4b
0
A
3×
4b
DEC
A
4b
DEC
B
4b
BIN
S
A
0
A3
0
A2
1
A1
1
A0
B
0
B3
1
B2
0
B1
1
B0
1
SUB
1110
S
C
Z
N
V
A
0
A3
1
A2
0
A1
1
A0
B
0
B3
1
B2
0
B1
1
B0
1
SUB
0000
S
C
Z
N
V
A
0
A3
1
A2
1
A1
1
A0
B
0
B3
0
B2
0
B1
1
B0
0
SUB
1000
S
C
Z
N
V
© 2026 Даниил Ханин · khanin.info · HB-02
23
← К уроку
Урок 3. Отрицательные числа и вычитание: дополнительный код