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

 
Пересюхтюмя


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





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





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


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





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


Команда ACALL <addr 11>

Команда "абсолютный вызов подпрограммы" вызывает безусловно подпрограмму, размещенную по указанному адресу. При этом счетчик команд увеличивается на 2 для получения адреса следующей команды, после чего полученное 16-битовое значение РС помещается в стек (сначала следует младший байт), и содержимое указателя стека также увеличивается на два. Адрес перехода получается с помощью конкатенации старших бит увеличенного содержимого счетчика команд, битов старшего байта команды и младшего байта команды.

Ассемблер: ACALL <метка>
Код:
A10 A9 A8 1 0 0 0 1
A7 A6 A5 A4 A3 A2 A1 A0
Время; 2 цикла
Алгоритм: (PC) : = (PC) + 2
(SP) : = (SP) + 1
((SP)) : = (PC [ 7 - 0 ])
(SP) : = (SP) + 1
((SP)) : = (PC [15 - 8])
(PC [10 - 0]) : = A10A9A8 II A7A6A5A4A3A2A1A0,
    где II - знак конкатенации (сцепление)
Пример:
;ДО ВЫПОЛНЕНИЯ КОМАНДЫ ACALL
	  ;(SP)=07H
          ;метка МТ1 соответствует адресу: 0345Н,
	  ;т.е. (РС)=0345Н
ACALL MT1 ;расположена по адресу 028DH, т.е.
	  ;(ЗС)=028DH
;ПОСЛЕ ВЫПОЛНЕНИЯ КОМАНДЫ
	  ;(SP)=09H, (PC)=0345H,
	  ;ОЗУ [08]=8FH, ОЗУ [09]=02H.