Основы арифметики цифровых процессоров. Вашкевич Н.П - 43 стр.

UptoLike

42
X=53
(8)
=101011
(2)
; Y=35
(8)
=11101
(2)
; –Y= – 35
(8)
= –11101
(2)
.
[
X
]
2
0
0
1
0
1
0
1
1
[
Y
]
2
+
1
1
1
0
0
0
1
1
[
S
]
2
=
0
0
0
0
1
1
1
0
SF=0; СF=1; ZF=0; OF=0.
Переведем полученный результат в восьмеричную систему счис-
ления. Получаем S=16
(8)
. Выполним проверку вычитания через вось-
меричную систему:
X
5
3
Y
3
5
S
=
1
6
Результат верен.
В дальнейшем в пособии будут рассматриваться только цифровые
процессоры, не имеющие вычитателя.
4.1.5. Алгоритмы сложения и вычитания целых чисел без знака
еззнаковая или модульная арифметика)
Такая арифметика используется в цифровом процессоре для це-
лых чисел в формате с ФТ, если все биты регистра рассматриваются
как числовые (нет знакового бита). Она используется не для прове-
дения арифметических расчетов, а для специальных арифметических
вычислений. Например, вычисления смещения в командах условной
и безусловной передачи управления на языках Assembler или С++.
Название «модульная» она получила потому, что сложение и вычи-
тание выполняются по модулю, определяемому разрядной сеткой
процессора. В модульной арифметике не используется обнаружение
переполнения.
Рассмотрим примеры для восьмиразрядного процессора, рабо-
тающего в дополнительном коде с целыми числами без знака в фор-
мате с ФТ. Модуль, по которому работает восьмиразрядный процес-
сор, равен 400
(8)
.
Пример 1.
X+Y,
где X=62
(8)
=110010
(2)
; Y=225
(8)
=10010101
(2)
.
[X]
2
0
0
1
1
0
0
1
0
  X=53(8)=101011(2); Y=35(8)=11101(2);   –Y= – 35(8)= –11101(2).
    [X]2     0 0 1 0 1 0 1                1
   [–Y]2 + 1 1 1 0 0 0 1                  1
    [S]2 = 0 0 0 0 1 1 1                  0
   SF=0; СF=1; ZF=0; OF=0.
   Переведем полученный результат в восьмеричную систему счис-
ления. Получаем S=16(8). Выполним проверку вычитания через вось-
меричную систему:
    X       5 3
    Y – 3 5
    S = 1 6
   Результат верен.
   В дальнейшем в пособии будут рассматриваться только цифровые
процессоры, не имеющие вычитателя.
4.1.5. Алгоритмы сложения и вычитания целых чисел без знака
            (беззнаковая или модульная арифметика)
   Такая арифметика используется в цифровом процессоре для це-
лых чисел в формате с ФТ, если все биты регистра рассматриваются
как числовые (нет знакового бита). Она используется не для прове-
дения арифметических расчетов, а для специальных арифметических
вычислений. Например, вычисления смещения в командах условной
и безусловной передачи управления на языках Assembler или С++.
Название «модульная» она получила потому, что сложение и вычи-
тание выполняются по модулю, определяемому разрядной сеткой
процессора. В модульной арифметике не используется обнаружение
переполнения.
   Рассмотрим примеры для восьмиразрядного процессора, рабо-
тающего в дополнительном коде с целыми числами без знака в фор-
мате с ФТ. Модуль, по которому работает восьмиразрядный процес-
сор, равен 400(8).
   Пример 1. X+Y,
где X=62(8)=110010(2); Y=225(8)=10010101(2).
    [X]2      0 0 1 1 0 0 1 0

                                  42