(i) | PC <-- PC + k + 1 Приборы с 16-разрядным счетчиком команд, максимум 128 Кбайт памяти программ | ||||||
(ii) | PC <-- PC + k + 1 Приборы с 22-разрядным счетчиком команд, максимум 8 Мбайт памяти программ | ||||||
Синтаксис | Операнды: | Счетчик программ: | Стек | ||||
(i) | RCALL k | -2K < k <2K | PC <-- PC + k + 1 | STACK <-- PC + 1 SP <-- SP-2 (2 байта, 16 бит) | |||
(ii) | RCALL k | -2K < k <2K | PC <-- PC + k + 1 | STACK <-- PC + 1 SP <-- SP-3 (3 байта, 22 битa) | |||
16-разрядный код операции:
kkkk | kkkk | kkkk |
Булевы выражения регистра статуса (SREG)
I | T | H | S | V | N | Z | C | |
- | - | - | - | - | - | - | - |
Пример:
rcall routine ; Вызвать подпрограмму
. . .
routine: push r14 ; Сохранить r14 в стеке
. . .
pop r14 ; Восстановить r14
ret ; Вернуться из подпрограммы
Слов: 1 (2 байта)
Циклов: 3
Команда RET - вернуться из подпрограммы
Описание:Команда возвращает из подпрограммы. Адрес возврата загружается из стека.