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

 
Пересюхтюмя


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





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





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


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





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


Префиксные операции

Все команды микроконтроллеров семейства MAXQ являются 16 битными и выполняются за один цикл. Однако для некоторых действий может потребоваться и больше одного цикла. Например, при операциях, требующих для правильной передачи установки старших индексов регистров. В этих случаях предварительно необходимо загрузить регистр модуля PFX необходимым значением, которое будет использовано следующей командой. Модуль PFX содержит данные только в течение одного цикла, после чего обнуляется.

Это приводит к тому, что некоторые команды реально выполняются за два цикла.

  • При выполнении 16- разрядной адресации (например, загрузка регистра с 16- разрядным адресом из аккумулятора), в предыдущем цикле в модуль PFX должен быть загружен старший байт 16- разрядного непосредственного значения, но только в том случае, если этот старший байт не является нулевым. Имеется одно исключение - после включения питания абсолютное значение адресата устанавливается равным 00xxh. В этом случае в PFX необходимо записать нулевое значение. Иначе команда перехода не будет осуществлена по абсолютному адресу.
  • При выборе регистров с индексами больше чем 07h в пределах модуля в качестве получателей или регистров с индексами больше чем 0Fh в пределах модуля в качестве источников, в предыдущем цикле регистры PFX [n] также должны быть загружены. Это может быть объединено с предыдущим случаем.

Вообще, префиксные операции могут быть установлены ассемблером автоматически, так как это требуется. Например, команда

move 	DP[0], #1234h

фактически транслируется как

	move 	PFX[0], #12h
	move 	DP[0], #34h

Однако операция

	move	DP[0], #0055h

не требует префиксной операции, несмотря на то, что регистр DP[0] является 16-разрядным.

Объясняется это тем, что префиксные значения по умолчанию нулевые, поэтому строка

	move 	PFX[0], #00h

не требуется.



<-- Предыдущая страница Оглавление Следующая страница -->