Составители:
78
правильная и ошибочная (вместо команды BR 1 записана команда BR 0 и
вместо числа -5 – число -3).
Таблица 3.1
Программа умножения двух чисел
Адрес
Содержимое
Мнемоничес-
кая форма
Шестнадцате-
ричная форма
Двоичная форма
Правильно
С ошибкой
0
1
2
3
4
…
10
11
CLA
ADD 10
ISZ 11
BR 1
HLT
…
F200
4010
0011
C001
F000
…
0078
FFFB
1111 0010 0000 0000
0100 0000 0001 0000
0000 0000 0001 0001
1100 0000 0000 0001
1111 0000 0000 0000
…
0000 0000 0111 1000
1111 1111 1111 1011
1111 0010 0000 0000
0100 0000 0001 0000
0000 0000 0001 0001
1100 0000 0000 0000
1111 0000 0000 0000
…
0000 0000 0111 1000
1111 1111 1111 1101
После выполнения программы в автоматическом режиме
аккумулятор (в котором должно располагаться произведение
120x5=600=(258)
16
) содержал число (0000 0000 0111 1000) 2 = (78)
16
=
(120)
10
. Создалось впечатление, что в ячейке 11 вместо числа -5 записано
число - 1. Однако в процессе выполнения программы к содержимому этой
ячейки последовательно добавлялись единицы, и в конце ее содержимое
стало равно нулю. Следовательно, теперь уже не установить
первоначального содержимого ячейки 11.
Повторное выполнение программы (после восстановления
содержимого ячейки 11) дало тот же результат, и было принято решение
выполнять программу по командам, занося результаты ее выполнения в
табл. 3.2.
В процессе выполнения команд выясняется, что в ячейку 11 было
занесено число -3 вместо числа -5. Однако это не могло дать результата,
равного (78) 16, так как (78) 16 X 3 # (78) ie. Поэтому продолжаем поиск
ошибки.
Таблица 3.2
Выполнение команд программы умножения двух чисел
Выполняемая
команда
Содержимое регистров после
выполнения команды
Комментарии
Адрес
Код
СК
РА
РК
РД
С
А
000
001
002
003
000
F200
4010
0011
С000
F200
0001
0002
0003
0000
0001
0000
0010
0011
0003
0000
F200
4010
0011
C000
F200
F200
0078
FFFE
C000
F200
0
0
0
0
0
0000
0078
0078
0078
0000
0=>A
(78)
16
=>A
В РД должно быть -4, а
не -2, появившееся из-за
того, что в ячейку 11
было занесено -3
Переход по адресу 0000
Аккумулятор очищен из-
за ошибочного перехода
на команду CLA
Страницы
- « первая
- ‹ предыдущая
- …
- 79
- 80
- 81
- 82
- 83
- …
- следующая ›
- последняя »
