4.8 Стек
PIC12C5XX
имеют 2-уровневый 12-разрядный аппаратный
стек структуры LIFO.
При выполнении
команды CALL
значение из ячейки 1 стека переписывается
в ячейку 2, а в ячейку 1 записывается
текущее значение PC
(т.е. адрес следующей за CALL
инструкции). Если было выполнено более
двух команд CALL
подряд, то в стеке сохраняется только
два последних адреса возврата из
подпрограммы.
При выполнении
команды RETLW
значение из ячейки 1 стека будет загружено
в счетчик команд PC,
а значение из ячейки 2 переписывается
в ячейку 1 стека. При выполнении более
двух команд RETLW
подряд стек будет содержать адрес
возврата, сохраненном в ячейке 2. Обратите
внимание, что регистр W
будет содержать константу, указанную
в команде. Эта команда особенно полезна
для сохранения таблиц данных в памяти
программ микроконтроллера. После любого
сброса микроконтроллера (кроме POR)
содержимое стека не изменяется.
Примечания:
1. В микроконтроллерах
не имеется никаких указателей о
переполнении стека.
2. В микроконтроллерах
не предусмотрено команд записи/чтения
из стека, кроме команд вызова/возвращения
из подпрограмм (CALL,
RETLW).
|
|
|
|
|
УИТС.665400.021
ПЗ
|
Ëèñò
|
|
|
|
|
|
25
|
Èçì.
|
Ëèñò
|
¹
докум.
|
Подпись
|
Äàòà
|