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

UptoLike

14
3
Рассмотрим выполнение контроля операции вычитания на при-
мере вычитания операндов в восьмиразрядном процессоре в допол-
нительном коде:
N
3
=N
1
–N
2
=N
1
+(–N
2
);
N
1
=44
(8)
=00100100
(2)
;
N
2
=42
(8)
=00100010
(2)
;
–N
2
= –42
(8)
= –00100010
(2)
; [–N
2
]
2
=11011110.
Пример.
Контроль осуществляется по модулю 7. Вычисление вы-
четов операндов дает следующий результат:
R
N1
=1;
–R
N2
=5.
Вычитание операндов и вычитание вычетов операндов для случая
отсутствия ошибки при сложении (вычитание заменено на сложе-
ние с –N
2
):
CF
Операнд
Вычет
Комментарий
*
0
0
1
0
0
1
0
0
0
0
1
операнд
N
1
; вычет
R
N1
*
1
1
0
1
1
1
1
0
1
0
1
операнд
N
2
; вычет
R
N2
1
0
0
0
0
0
0
1
0
0
0
1
сложе
ние
(1
0
0
)
(
0
0
0
)
(
0
1
0
)
1
1
0
вычисление вычета
6
6
Так как вычет разности операндов равен разности вычетов операндов, считается,
что
результат сложения верен
Вычитание операндов и вычитание вычетов операндов для случая
возникновения ошибки при сложении:
CF
Операнд
Вычет
Коммен
тарий
*
0
0
1
0
0
1
0
0
0
0
1
операнд
N
1
; в
ы
чет
R
N1
*
1
1
0
1
1
1
1
0
1
0
1
операнд
N
2
; в
ы
чет
R
N2
1
0
1
ошибка
0
0
0
0
1
0
1
1
0
вычитание операндов и
вычетов
(1
0
1)
(
0
0
0
)
(
0
1
0
)
1
1
0
вычисление вычета R
N3
с
учетом CF и R
N1
+R
N2
0
6
Так как вычет суммы операндов не равен сумме вычетов операндов, считается, что
результат сложения не верен
   Рассмотрим выполнение контроля операции вычитания на при-
мере вычитания операндов в восьмиразрядном процессоре в допол-
нительном коде:
   N3=N1–N2=N1+(–N2);
   N1=44(8)=00100100(2);
   N2=42(8)=00100010(2);
   –N2= –42(8)= –00100010 (2); [–N2]2=11011110.
   Пример. Контроль осуществляется по модулю 7. Вычисление вы-
четов операндов дает следующий результат:
   RN1=1;
   –RN2=5.
   Вычитание операндов и вычитание вычетов операндов для случая
отсутствия ошибки при сложении (вычитание заменено на сложе-
ние с –N2):
 CF                   Операнд                            Вычет                        Комментарий
 *    0   0       1    0       0       1    0   0    0    0       1       операнд N1; вычет RN1
 *    1   1       0    1       1       1    1   0    1    0       1       операнд N2; вычет RN2
 1    0   0       0    0       0       0    1   0    0    0       1       сложение
 (1   0 0)        (0 0 0)          (0 1 0)           1    1       0       вычисление вычета
                      6                                   6
Так как вычет разности операндов равен разности вычетов операндов, считается, что
результат сложения верен

   Вычитание операндов и вычитание вычетов операндов для случая
возникновения ошибки при сложении:
CF                         Операнд                                        Вычет            Комментарий
*     0       0            1       0       0    1    0        0       0    0      1   операнд N1; вычет RN1
*     1       1            0       1       1    1    1        0       1    0      1   операнд N2; вычет RN2
1     0     1              0       0       0    0    1        0       1    1      0   вычитание операндов и
          ошибка                                                                      вычетов
(1    0       1)           (0      0       0)   (0   1     0)         1    1      0   вычисление вычета RN3 с
                                                                                      учетом CF и RN1+RN2
                            0                                              6
Так как вычет суммы операндов не равен сумме вычетов операндов, считается, что
результат сложения не верен


                                                         143