![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Стековой называют память, доступ к которой организован по прин-
ципу: «последним записан — первым считан» (LastInputFirstOutput —
LIFO). Использование принципа доступа к памяти на основе механизма LIFO началось с больших ЭВМ. Применение стековой памяти оказалось очень эффективным при построении компилирующих и интерпретирующих программ, при вычислении арифметических выражений с использованием польской инверсной записи. В микропроцессорах она стала широко использоваться в связи с удобствами реализации процедур вызова подпрограмм и при обработке прерываний.
Аппаратный стек представляет собой совокупность регистров, свя-
зи между которыми организованы таким образом, что при записи и считывании данных содержимое стека автоматически сдвигается. Основное достоинство аппаратного стека — высокое быстродействие, а недостаток —ограниченная емкость.
Наиболее распространенным в настоящее время и, возможно, луч-
шим вариантом организации стека в ЭВМ является использование области памяти. Для адресации стека используется указатель стека, который предварительно загружается в регистр и определяет адрес последней занятой ячейки. В некоторых МП содержимое основных регистров запоминается в стеке автоматически при прерывании программ.
41)
43. Двоичное изображение в памяти программ команд с битами в МК PIC16F87x.
44. Косвенная адресация в МК PIC16F87x. При косвенной адресации в формате команды указывается регистр, в котором хранится адрес ячейки памяти, содержащей операнд. Для хранения 16-разрядного адреса в 8-разрядном процессоре 8-разрядные регистры объединяются в регистровые пары. В первом регистре регистровой пары хранится старший байт адреса, а во второй — младший байт. Номер регистровой пары, в которой хранится адрес, является двуразрядным двоичным числом, поэтому он размещается в однобайтной команде вместе с кодом команды.
На рисунке 1.10 показан пример выполнения команды МП К580ВМ80А косвенной загрузки в аккумулятор содержимого ячейки памяти с адресом 001216, который хранится в регистровой паре DE. Команда косвенной загрузки аккумулятора является однобайтной и, кроме кода операции, содержит номер 01 регистровой пары DE. Старшая часть адреса ячейки памяти (0016) хранится в регистре D, а младшая часть (1216) — в регистре Е.
Содержимое регистровой пары передается в регистр адреса МП, в результате чего содержимое 110101112 ячейки с адресом 001216 копируется в аккумулятор.
При косвенной адресации для МК pic16f877 адрес операнда располагается в специальном регистре косвенной адресации. Для выполнения косвенной адресации в микроконтроллерах PIC необходимо обратиться к физически не реализованному регистру INDF. Обращение к регистру INDF фактически вызовет действие с регистром, адрес которого указан в FSR.
Рисунок 1.10. - Команда косвенной загрузки аккумулятора: а — формат команды; б — схема выполнения
45. В регистре STATYS в 5-ом разряде 1, а в 6-ом 0. В каком банке памяти Вы находитесь? 1 банк
Дата публикования: 2015-02-03; Прочитано: 405 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!