Составители:
19
PF – Parity Flag – флаг паритета (четности). Он устанавливается
при наличии четного числа единиц в младшем байте результата, в про-
тивном случае – сбрасывается. Этот флаг используется как аппаратная
поддержка контроля по четности (нечетности).
AF – Аuxiliary Carry Flag (флаг вспомогательного переноса). В
этом флаге фиксируется межтетрадный перенос при сложении и меж-
тетрадный заем при вычитании. Значение этого
флага используется ко-
мандами десятичной и ASCII-коррекции сложения и вычитания.
ZF – Zero Flag (флаг нуля). Он устанавливается при нулевом ре-
зультате операции, в противном случае - сбрасывается.
SF – Sign Flag (флаг знака). В него копируется старший (крайний
левый) бит результата, интерпретируемый как знак.
OF – Overflow Flag (флаг переполнения). Он устанавливается в
командах сложения и вычитания в случае,
если результат операции не
помещается в формате операндов. При этом как операнды, так и ре-
зультат интерпретируются как знаковые целые числа. В аппаратную
установку этого флага положен принцип фиксации переполнения по
сравнению переносов из двух старших разрядов при сложении или за-
емов в два старших разряда при вычитании. Если один из
переносов
(заемов) имеет место, а другой отсутствует, то происходит переполне-
ние формата (разрядной сетки).
Варианты заданий приведены в табл. 3 приложения 1.
ПРИМЕР ВЫПОЛНЕНИЯ ЗАДАНИЯ
Операция двоичного сложения реализуется поразрядно, начиная с
младших разрядов с учетом возникающих межразрядных переносов. В
каждом разряде сложение реализуется в соответствии со следующей
таблицей:
Напомним, что
диапазон представления чисел в байтном формате
выглядит следующим образом:
- целых знаковых: -128 =- 2
7
≤ А
Ц
ЗН
≤ 2
7
– 1=127
- целых беззнаковых: 0 ≤ А
Ц
БЗН
≤ 2
8
– 1 = 255
a
i
– значение i –го разряда 1-го
слагаемого,
b
i
– значение i –го разряда 2-го
слагаемого,
p
i-1
–перенос из (i-1)-го разряда
в i –й разряд,
S
i
– сумма i-го разряда,
p
i
– перенос из i –го разряда
в (i+1)-й разряд
a
i
b
i
p
i-1
s
i
p
i
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
1.0000000 0.1111111
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »