Скачиваний:
44
Добавлен:
21.02.2014
Размер:
1.78 Mб
Скачать

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

Èçì.

Ëèñò

¹ докум.

Подпись

Äàòà