Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры > HC08 > Архитектура |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Адресация по указателю стекаАдресация по указателю стека с 8-разрядным смещениемКоманды адресации по указателю стека с 8-разрядным смещением являются трехбайтовыми командами, адресующими операнды почти тем же способом, что и индексные, с 8-разрядным смещением, команды - разница заключается в том, что команды адресации по указателю стека суммируют 8-разрядное смещение с содержимым указателя стека, а не индексного регистра.
Режим адресации по указателю стека с 8-разрядным смещением обеспечивает простое обращение к данным, находящимся в стеке. CPU суммирует байт (без знака), находящийся в 16-разрядном регистре указателя стека (SP), с байтом (без знака), следующим за операционным кодом команды. Сумма и является действительным адресом операнда. Если прерывания запрещены, то этот режим позволяет использовать указатель стека в качестве второго "индексного" регистра. В таблице 8 приведен перечень команд, которые можно использовать в режиме адресации по указателю стека с 8-разрядным смещением. Командами, связанными с указателем стека, для организации обращения используется дополнительный байт и, следовательно, при их выполнении затрачивается на один цикл больше, чем при выполнении аналогичных команд с индексной адресацией. Адресация по указателю стека с 16-разрядным смещениемКоманды адресации по указателю стека с 16-разрядным смещением являются четырехбайтовыми командами, используемыми для обращения к данным, связанным с указателем стека, по самым различным адресам в любой ячейке памяти. CPU суммирует содержимое (без знака) 16-разрядного регистра указателя стека (SP), с 16-разрядным словом (без знака), сформированным двумя байтами следующими за операционным кодом команды. Сумма и является действительным адресом операнда. Как и в случае прямой и расширенной адресации, большинство ассемблеров автоматически используют кратчайшую форму адресации по указателю стека. Командами, связанными с указателем стека, для организации обращения используется дополнительный байт и, следовательно, при их выполнении затрачивается на один цикл больше, чем при выполнении аналогичных команд с индексной адресацией. В таблице 8 приведен перечень команд использующих адресацию по указателю стека с 16-разрядным смещением. Ниже приведены примеры кодов с использованием режима адресации по указателю стека с 8- и 16-разрядным смещением. В первом примере значение $20 сохраняется в ячейке $10, SP = $10 + $FF = $10F и, затем, содержимое ячейки декрементируется до состояния ноль. Во втором примере аккумулятор загружается содержимым ячейки $250, SP = $250 + $FF = $34F. Машинный код Метка Операция Операнд Комментарий 450100 LDHX #$0100 94 TXS ; Сброс указателя стека в состояние $00FF A620 LDA #$20 ; A = $20 9EE710 STA $10, SP ; Ячейка $10F = $20 9E6B10FC LP DBNZ $10, SP, LP ; 8-разрядное смещение ; Декремент содержимого ячейки $10F до ; состояния ноль 450100 LDHX #$0100 94 TXS ; Сброс указателя стека в состояние $00FF 9ED60250 LDA $0250, SP ; 16-разрядное смещение ; Загрузка A содержимым ячейки $34F Команды адресации по указателю стека с 16-разрядным смещением используются для выбора k-го элемента в n-элементной таблице. Таблица может начинаться в любом месте карты памяти и распространяться так далеко, насколько это позволит карта адресов. При использовании этих четырехбайтовых команд значение k находится обычно в регистре указателя стека, а адрес начала таблицы размещается в двух байтах, следующих за двумя байтами операционного кода. Таблица 8. Команды адресации по указателю стека
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|