В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > AVR > Команды
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Команда CALL - Выполнить длинный вызов подпрограммы

Описание:

Вызов подпрограммы из памяти программ. Адрес возврата (к команде после CALL) сохраняется в стеке. (См. также RCALL).

Операция:

(i) PC <-- k Приборы с 16-разрядным счетчиком программ, максимальный объем памяти программ 128К.
(i) PC <-- k Приборы с 22-разрядным счетчиком программ, максимальный объем памяти программ 8М.

  Синтаксис Операнды: Счетчик программ:
(i) CALL k 0 < k < 64K PC <-- kSTACK <-- PC + 2
SP <-- SP-2,
(2 байта, 16 битов)
(i) CALL k 0 < k < 4M PC <-- kSTACK <-- PC + 2
SP <-- SP-3,
(3 байта, 22 бита)


16-разрядный код операции:


1001 010k kkkk 111k
kkkk kkkk kkkk kkkk

Булевы выражения регистра статуса (SREG)
I T H S V N Z C
- - - - - - - -


Пример:

         mov r16, r0  ; Копировать r0 в r16
         call check   ; Вызвать подпрограмму
         nop          ; Продолжать (пустая операция)
                        . . .
check:   cpi r16, $42 ; Проверить содержит ли r16 заданное значение
         breq error   ; Перейти если содержит
         ret          ; Вернуться из подпрограммы
                        . . .
error:   rjmp error   ; Бесконечная петля

Слов: 2 (4 байта)

Циклов: 4