Команды регистровой адресации очень эффективны, т.к. занимают только один байт памяти в программе. Они быстро выполнимы, т.к. не требуют обращения к памяти, поскольку оба операнда являются содержимым внутренних регистров. Это обстоятельство явилось одним из основных, определивших появление RISC – процессоров (процессоров с сокращенным набором команд).
Непосредственная адресация. В командах с такой адресацией данные непосредственно задаются в коде команды за кодом операции.
Команда MVI R data. Конкретно – MVI C 08H. Записать число 08H в регистр C. Формат команды:
Неявная адресация. Один из операндов задается неявно, информация о нем содержится в коде операции. Команда ADD B. Сложить содержимое аккумулятора с содержимым регистра В. Один операнд находится в регистре В, второй – в аккумуляторе. В команде аккумулятор не указывается, считается, что он задан неявно.
Прямая адресация. Команды прямой адресации имеют 3-байтный формат. В первом байте указывается код операции. Во втором и третьем байтах – адрес операнда.
Команда LDA addr. Загрузить прямо в аккумулятор операнд, адрес которого задан во втором и третьем байтах.
Конкретно: LDA 0800H. Загрузить прямо в аккумулятор операнд, который находится в памяти по адресу 0850H.
Косвенная адресация. Команды с такой адресацией обращаются в память по адресу, который в момент выполнения этой команды хранится в регистровой паре H,L.
Команда MOV M,R. Переслать содержимое регистра R в ячейку памяти М, адрес которой записан в регистровой паре H,L. Пара H,L называется регистром косвенного адреса.
Информационный обмен при выполнении команд различных типов
Однобайтные команды.
MOV R1, R2. Конкретно MOV B,C. Пусть команда расположена в памяти по адресу 0900Н. Машинный код команды – 41Н.
Алгоритм выполнения команды имеет вид:
Пересылка происходит по внутренней шине данных.
Команда MOV M, R. Конкретно MOV M,A Передача информации из аккумулятора в ячейку памяти М. Команда с косвенной адресацией. В момент выполнения этой команды адрес ячейки М хранится в регистровой паре H,L. Адрес команды 0800Н. Адрес ячейки 0950Н. Машинный код команды – 77Н.
Двухбайтные команды.
Команда MVI R, data. Конкретно MVI B, 08Н.
Команда занимает в памяти два соседних байта. Начальный адрес – 0700Н. Машинный код команды – 06Н.
Команда MVI M data. Конкретно MVI M 0ЕН. Записать в ячейку памяти, адрес которой хранится в паре (H,L), число 0ЕН. Команда занимает в памяти два байта. Начальный адрес команды 0700Н. Машинный код – 36Н. Адрес ячейки М – 0950Н.
Трехбайтные команды.
Команда LXI rp data. Конкретно LXI D 0900H. Занести в регистровую пару DE адрес 0900Н. Команда занимает в памяти три байта. Начальный адрес команды 0800Н. Машинный код – 11Н.
Команда LDA addr. Конкретно LDA 0750Н. Переслать содержимое аккумулятора в ячейку с адресом 0750Н. Команда занимает в памяти три байта. Начальный адрес команды 0900Н. Машинный код – 3АН
Команды передачи управления
Команда безусловного перехода JMPaddr. Обеспечивает переход по адресу, указанному во 2-м и 3-м байтах.
Команда условного перехода. J cond addr. Обеспечивает переход по адресу, указанному во 2-м и 3- байтах при выполнении условия cond. При невыполнении условия выполняется следующая по порядку команда.
Привести графические иллюстрации.
Команда вызова подпрограммы Calladdr.
Подпрограмма – часть программы, которая может повторяться многократно с разными исходными данными. При выполнении этой команды адрес возврата в основную программу заносится в стек. В конце подпрограммы ставится команда RET. Команда безадресная. Адрес возврата хранится в стеке. Команда возвращает в основную программу на команду, непосредственно следующую за командой CALL.
Дать графическую иллюстрацию.
Далее – типы программ: линейные, разветвляющиеся, циклические.
Дать варианты организации счетчика циклов.
Принципы организации системы прерываний
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.