ВУЗ:
Составители:
40
ет неодинаковые значения знаковых битов. Причем по их значению
можно определить, в какую область произошло переполнение:
00 – нет переполнения, сумма положительная;
01 – переполнение в область положительных чисел;
10 – переполнение в область отрицательных чисел;
11 – нет переполнения, сумма отрицательная.
Рассмотрим пример для восьмиразрядного процессора, работаю-
щего в дополнительном коде с целыми числами в формате с ФТ.
X=53
(8)
=101011
(2)
; Y=61
(8)
=110001
(2)
.
[X]
2
0
0
1
0
1
0
1
1
[Y]
2
+
0
0
1
1
0
0
0
1
[S]
2
=
0
1
0
0
1
1
0
0
SF=0; СF=0; ZF=0; OF=1.
Флаг OF=1, так как знаковые биты суммы равны 01 (переполне-
ние в область положительных чисел). В этом случае результатом
операции сложения будет значение флага OF=1, а не значение реги-
стра РСМ (там неверный результат).
Недостатком этого способа является сокращение в два раза диапа-
зона представления чисел в процессоре. Например, операнд Y=161
(8)
уже не поместится в разрядную сетку этого процессора, если исполь-
зуется модифицированный код.
Третий способ основан на сравнении значений переносов из
старшего числового бита в знаковый и из знакового бита – во флаг
CF. Если значение переносов равны – переполнения нет, если не рав-
ны – есть переполнение. Также по их значению можно определить,
в какую область произошло переполнение:
00 – нет переполнения, сумма положительная;
01 – переполнение в область положительных чисел;
10 – переполнение в область отрицательных чисел;
11 – нет переполнения, сумма отрицательная.
Рассмотрим пример для восьмиразрядного процессора, работаю-
щего в дополнительном коде с целыми числами в формате с ФТ
(строка «С» таблицы показывает значение переносов).
X=53
(8)
=101011
(2)
; Y=161
(8)
=1110001
(2)
.
ет неодинаковые значения знаковых битов. Причем по их значению
можно определить, в какую область произошло переполнение:
00 – нет переполнения, сумма положительная;
01 – переполнение в область положительных чисел;
10 – переполнение в область отрицательных чисел;
11 – нет переполнения, сумма отрицательная.
Рассмотрим пример для восьмиразрядного процессора, работаю-
щего в дополнительном коде с целыми числами в формате с ФТ.
X=53(8)=101011(2); Y=61(8)=110001(2).
[X]2 0 0 1 0 1 0 1 1
[Y]2 + 0 0 1 1 0 0 0 1
[S]2 = 0 1 0 0 1 1 0 0
SF=0; СF=0; ZF=0; OF=1.
Флаг OF=1, так как знаковые биты суммы равны 01 (переполне-
ние в область положительных чисел). В этом случае результатом
операции сложения будет значение флага OF=1, а не значение реги-
стра РСМ (там неверный результат).
Недостатком этого способа является сокращение в два раза диапа-
зона представления чисел в процессоре. Например, операнд Y=161(8)
уже не поместится в разрядную сетку этого процессора, если исполь-
зуется модифицированный код.
Третий способ основан на сравнении значений переносов из
старшего числового бита в знаковый и из знакового бита – во флаг
CF. Если значение переносов равны – переполнения нет, если не рав-
ны – есть переполнение. Также по их значению можно определить,
в какую область произошло переполнение:
00 – нет переполнения, сумма положительная;
01 – переполнение в область положительных чисел;
10 – переполнение в область отрицательных чисел;
11 – нет переполнения, сумма отрицательная.
Рассмотрим пример для восьмиразрядного процессора, работаю-
щего в дополнительном коде с целыми числами в формате с ФТ
(строка «С» таблицы показывает значение переносов).
X=53(8)=101011(2); Y=161(8)=1110001(2).
40
Страницы
- « первая
- ‹ предыдущая
- …
- 39
- 40
- 41
- 42
- 43
- …
- следующая ›
- последняя »
