Команды безусловного перехода
JMP < B3B2> – безусловный переход по адресу, указанному во втором и третьем байтах команды; PCHL – безусловный переход по адресу, заданному в паре рег. HL.
2.1 Записать в память, начиная с адреса 0800H, коды программы (таблица 63), реализующей бесконечный цикл.
Таблица 63 – Контрольная программа, содержащая бесконечный цикл
2.2 Выполнить программу:
СТ0800ВП.
Данная программа будет выполнять бесконечный цикл.
2.3 Нажать кнопку ПРЕРЫВАНИЕ (ПР). На дисплее отобразится адрес точки прерывания – в пределах от 0800H до 0803H.
3 Команды перехода по признаку – НОЛЬ
JZ < B3B2> – переход если (TZ)=1; JNZ < B3B2> – переход если (TZ)=0.
3.1 Записать в память, начиная с адреса 0810H, программу заполнения 10H ячеек памяти нулями, которая указана в таблице 64. 3.2 Выполнить программу:
СТ0810 081СВП.
3.3 Проверить результаты выполнения программы в соответствии с таблицей 65.
Таблица 64 – Контрольная программа заполнения 10H ячеек памяти нулями, содержащая команду условного перехода по содержимому триггера нуля TZ
Таблица 65 – Результаты выполнения программы заполнения 10H ячеек памяти нулями
4 Команды перехода по признаку С – ПЕРЕНОС
JC < B3B2> – переход если (TС)=1; JNC < B3B2> – переход если (TС)=0.
4.1 Записать в память, начиная с адреса 0820H, программу подсчета нулей в байте (таблица 66). Исходное значение байта задано в регистре С.
4.2 Выполнить программу, предварительно задавая исходные значения в соответствии с таблицей 67. Проверить результаты.
СТ0820 082ЕВП.
Таблица 66 – Контрольная программа подсчета нулей в байте, содержащая команды условного перехода по содержимому триггеров переноса TC и нуля TZ
Таблица 67 – Исходные данные и результаты выполнения контрольной программы подсчета нулей в байте
Задание 1: Разработать алгоритм, написать и выполнить программу подсчета количества единиц в байте и заполнить таблицу 68. Исходное значение задать в рег. D. Счетчик циклов организовать на рег. С, счетчик количества единиц на рег. В, начальный адрес программы 0А00H.
Таблица 68 – Исходные данные и результаты выполнения для проверочной программы подсчета единиц в байте
Проверочную программу подсчета количества единиц в байте записать в таблицу, аналогичную по форме таблице 66. Рассчитать ожидаемый результат и сравнить с полученным.
5 Команды перехода по признаку Р – ЧЕТНОСТЬ
JPE < B3B2> – переход если (TP)=1; JPO < B3B2> – переход если (TP)=0.
5.1 Записать в память, начиная с адреса 0830H, программу дополнения байта до четности в старшем разряде (таблица 69). Исходное число в рег. С.
Таблица 69 – Контрольная программа дополнения байта до четности в старшем разряде, содержащая команду условного перехода по содержимому триггера четности TP
5.2 Выполнить программу, задавая исходные значения, в соответствии с таблицей 70. Проверить результат.
СТ0830 083АВП.
Таблица 70 – Исходные данные и результаты выполнения контрольной программы дополнения байта до четности в старшем разряде
Задание 2: Разработать алгоритм, написать и выполнить программу дополнения байта до нечетности и заполнить таблицу 71. Начальный адрес программы 0А20H.
Таблица 71 – Исходные данные и результаты выполнения для проверочной программы дополнения байта до нечетности в старшем разряде
Проверочную программу дополнения байта до нечетности записать в таблицу, аналогичную по форме таблице 69. Вычислить ожидаемый результат и сравнить с полученным.
Задание 3: 1 Составить программу регулируемой временной задержки в соответствии с алгоритмом, который представлен на рисунке 3. Начальный адрес программы 0840Н. В регистр D загрузить исходное число 02Н. Программу записать в таблицу, аналогичную по форме таблице 69. 2 Запустить программу с начального адреса до конечного. Конечный адрес появится на дисплее УМК через время задержки. Для измерения времени задержки использовать часы с секундной стрелкой и т.д. 3 Изменить содержимое регистра D в соответствии с данными таблицы 71 и повторно запустить программу. Определить время задержки. Результат записать в таблицу 72.
Таблица 72 – Исходные данные и результаты выполнения для проверочной программы временной задержки
Рисунок 3 – Алгоритм проверочной программы, регулируемой временной задержки
4 Доказать и записать в отчет, что внутренний цикл (рисунок 3) обеспечивает фиксированную задержку 0, 786 с, если период следования тактовых импульсов равен 0, 5 мкс. Для этого следует подсчитать общее число тактов, требуемых для выполнения команд внутреннего цикла, и умножить на длительность одного такта (0, 5 мкс). ЛАБОРАТОРНАЯ РАБОТА № 19
|