Осуществить запуск программы 1.1 в автоматическом режиме. Считать результат выполнения программы из памяти (ячейка памяти с адресом «0В02h») и занести его в отчет.
Сравнить полученный практический результат с расчетами, сделанными вручную (перевести исходные данные в двоичную систему счисления и выполнить соответствующие преобразования).
Задание 3. Исследование выполнения программы в пошаговом режиме
Очистить содержимое всех регистров системы и содержимое ячейки памяти с адресом «0В02h» (остальные ячейки ОЗУ оставить без изменения). Перевести систему в пошаговый режим работы (каждая команда выполняется в несколько этапов). Результат работы эмулятора на каждом шаге выполнения программы использовать для заполнения таблицы 3. Сверить результаты таблицы 3 с таблицей 4. Сделать вывод по полученным результатам.
Примечание: Пошаговый режим может быть или потактовый или поцикловый (выполнение по командам не интересует) в зависимости от возможностей эмулятора.
|
|
Таблица 3 -Результат исполнения программы 1.1 по тактам
, h Адрес | Числобайтвкоманде | Машинный, h код | -Числоцик()ловтактоввкоманде | Тип | ||||||||||
Биты регистра состояний | машинного | |||||||||||||
Мнемокод | цикла | |||||||||||||
D 7 | D 6 | D 5 | D 4 | D 3 | D 2 | D 1 | D 0 | (словесное | ||||||
описание) | ||||||||||||||
0800 | 3A | |||||||||||||
LDA 0B00 h | 3 | 00 | 4 цикла | |||||||||||
0B | ||||||||||||||
0803 | SUI C8 h | 2 | D6 | 2 цикла | ||||||||||
С8 | ||||||||||||||
… | … | … | … | … | … | |||||||||
Таблица 4 – Возможные состояния микропроцессора
Содержание регистра состояний
Состояние | Биты регистра состояний | ||||||||||
МП | |||||||||||
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0
| ||||
(машинный | |||||||||||
цикл) | MEMR | INP | M1 | OUT | HLTA | STACK | WO’ | INTA | |||
Выбор первого байта команды | |||||||||||
1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | ||||
Чтение из памяти | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |||
Запись в память | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
Чтение из стека | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | |||
Запись в стек | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | |||
Ввод в «А» из УВВ | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | |||
Вывод из «А» в УВВ | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | |||
Прерывание | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | |||
Останов | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |||
Прерывание в останове | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | |||
Определение битов регистра состояния:
INTA – сигнал подтверждения запроса прерывания;
WO’ – в текущем машинном цикле выполняется запись в память или операция вывода (активный уровень «0»);
STACK – означает наличие на шине адреса содержимого указателя СТЕКа; HLTA – сигнал подтверждения команды HLT (останов);
OUT – в текущем машинном цикле выполняется операция вывода;
M1 – текущий машинный цикл служит для выборки первого байта команды;
INP – в текущем машинном цикле выполняется операция ввода;
MEMR – в текущем машинном цикле будет производиться чтение памяти.