Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры > HC08 > Архитектура |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Индексная адресацияИндексная адресация без смещенияКоманды индексной адресации без смещения являются однобайтовыми командами, обращающимися к данным по различным адресам. Младший байт X индексного регистра содержит младший байт условного адреса операнда; старший байт H индексного регистра содержит старший байт условного адреса. Благодаря использованию регистра H адресация не ограничивается первыми 256 байтами памяти, как это свойственно HC05. Если не использовать команды HC08, модифицирующие H, (AIX; CBEQ (ix+); LDHX; MOV (dix+); MOV (ix+d); DIV; PULH; TSX), то значение H будет $00, что обеспечивает полную совместимость кодов с исходными кодами команд семейства HC05. Индексные, без смещения, команды могут перемещать указатель по таблице или сохранять наиболее часто используемый адрес RAM или ячейку ввода/вывода (I/O). В таблице 7 представлены команды, использующие индексную, без смещения, адресацию. Индексная адресация с 8-разрядным смещениемКоманды индексной, с 8-разрядным смещением, адресации являются двухбайтовыми командами, способными обращаться к данным по различным адресам. CPU прибавляет байты (без знака), находящиеся в индексном регистре (H:X), к байтам (без знака), следующим за операционным кодом. Сумма представляет собой действительный адрес операнда. Если не использовать команды HC08, модифицирующие H, (AIX; CBEQ (ix+); LDHX; MOV (dix+); MOV (ix+d); DIV; PULH; TSX), то значение H будет $00, что обеспечивает полную совместимость кодов с исходными кодами команд семейства HC05. Индексные, с 8-разрядным смещением, команды используются для выбора k-го элемента в n-элементной таблице. Таблица может начинаться в любом месте карты памяти и распространяться так далеко, насколько это позволит карта адресов. Значение k находится обычно в H:X, а адресом начала таблицы является байт, следующий за операционным кодом. При таком использовании H:X этот режим адресации ограничивается первыми 256 адресами памяти. Таблица может быть размещена в любом месте карты адресов если H:X использовать в качестве базового адреса а следующий за операционным кодом байт использовать в качестве смещения. В таблице 7 приведен перечень команд, использующих индексную, с 8-разрядным смещением, адресацию. Индексная адресация с 16-разрядным смещениемКоманды индексной адресации с 16-разрядным смещением являются трехбайтовыми командами, способными обращаться к данным по адресам, размещенным во всем пространстве памяти. CPU суммирует содержимое (без знака) индексного регистра (H:X) с 16-разрядным (без знака) словом, сформированным двумя байтами, следующими за операционным кодом. Первый байт после операционного кода является старшим байтом 16-разрядного смещения, следующий байт является младшим байтом 16-разрядного смещения. Как и при прямом и расширенном режимах адресации большинство ассемблеров определяет кратчайшую форму индексной адресации. В таблице 7 приведен перечень команд, использующих индексную адресацию с 16-разрядным смещением. Индексные, с 16-разрядным смещением, команды используются для выбора k-го элемента в n-элементной таблице. Таблица может начинаться в любом месте карты памяти и распространяться так далеко, насколько это позволит карта адресов. Значение k находится обычно в H:X, а адресом начала таблицы является байт, следующий за операционным кодом. В нижеследующем примере для иллюстрации трех различных типов индексной адресации используется команда JMP (команда безусловного перехода). Машинный код Метка Операция Операнд Комментарий FC JMP , X ; Без смещения ; Переход к адресу, указанному в H:X ECFF JMP $FF, X ; 8-разрядное смещение ; Переход к адресу, указанному в H:X + $FF DC10FF JMP $10FF, X ; 16-разрядное смещение ; Переход к адресу, указанному ; в H:X + $10FF Таблица 7. Команды индексной адресации
*) - ASL = LSL
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|