Команда ICALL - вызвать подпрограмму косвенно
Описание:
Косвенный вызов подпрограммы указанной регистром-указателем Z (16 разрядов) в регистровом файле. Регистр-указатель Z (16-разрядного формата) позволяет вызвать подпрограмму из текущей секции пространства памяти программ объемом 64К слов (128 Кбайт).
Операция:
(i) |
PC(15-0)<-- Z(15-0) Приборы с 16-разрядным счетчиком программ,
максимальный объем памяти программ 128К. |
(i) |
PC(15-0)<-- Z(15-0) Приборы с 22-разрядным счетчиком программ,
максимальный объем памяти программ 8М.
PC(21-16) не изменяются |
|
Синтаксис |
Операнды: |
Счетчик программ: |
Стек |
(i) |
ICALL |
None |
См. Операция |
STACK<-- PC + 1 SP<-- SP-2, (2 байта, 16 битов) |
(i) |
ICALL |
None |
См. Операция |
STACK<-- PC + 1 SP<-- SP-3, (3 байта, 22 битa) |
16-разрядный код операции:
Булевы выражения регистра статуса (SREG)
Пример:
mov r30, r0 ; Установить смещение в таблицу вызовов
icall ; Вызвать подпрограмму указанную r31 : r30
Слов: 1 (2 байта)
Циклов: 3
|