Реализация процессором арифметических операций. Будько М.Б - 5 стр.

UptoLike

4
1 СЛОЖЕНИЕ ЦЕЛЫХ ЧИСЕЛ
1.1 Основные положения
Сложение целых чисел выполняется в байтном формате (размер раз-
рядной сетки – 8 бит).
При сложении целых чисел с фиксированной запятой используются
их дополнительные коды
1
, при этом знаковый разряд участвует в операции
точно так же, как и цифровые. В результате этого автоматически формиру-
ется знак результата, причем результат получается в дополнительном коде.
При сложении целых чисел с фиксированной запятой используются
следующие арифметические флаги:
CF – Carry Flag (флаг переноса). В нем фиксируется перенос из стар-
шего разряда при
сложении.
PF – Parity Flag (флаг четности). Он устанавливается при наличии чет-
ного числа единиц в младшем байте результата, в противном случае
сбрасывается.
SF – Sign Flag (флаг знака). В него копируется старший разряд резуль-
тата, интерпретируемый как знак
2
.
Диапазон представления чисел в байтном формате выглядит следу-
ющим образом:
целых знаковых: 128 2
А
Ц
ЗН
2
1 127
1.0000000 0.11111111
целых беззнаковых: 0А
Ц
БЗН
2
1 255
AF – Auxiliary Flag (флаг вспомогательного переноса). В нем фикси-
руется межтетрадный (из старшей тетрады в младшую) перенос при сло-
жении.
ZF – Zero Flag (флаг нуля). Он устанавливается при нулевом резуль-
тате операции, в противном случаесбрасывается.
OF – Overflow Flag (флаг переполнения). Он устанавливается в ко-
мандах сложения в случае, если результат операции не помещается в фор
-
мате операндов.
Корректность при беззнаковой интерпретации (БзИ) проверятся по
флагу CF:
1) CF = 0. Перенос из старшего разряда при сложении отсутствует,
следовательно, результат БзИ корректен;
2) CF = 1. Перенос из старшего разряда при сложении имеет место,
следовательно, результат БзИ некорректен.
1
Напомним, что перевод числа в дополнительный код осуществляется следующим образом: если число
положительно, т.е. старший разряд равен 0, цифровые разряды остаются неизменными. Если старший
разряд равен 1, то есть число отрицательно, то инвертируются все разряды, кроме старшего, и к резуль-
тату прибавляется единица. Обратное преобразование осуществляется аналогично.
2
При знаковой интерпретации (ЗИ) старший разряд числа интерпретируется как знак (его значение равно
нулю, если число положительно, единицеесли отрицательно), при беззнаковой интерпретации (БзИ) –
как обычный цифровой разряд. Например, 1.0101101: в ЗИ это число –45, в БзИчисло 173.