Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > MAXQ

реклама

 




Мероприятия:




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

Все команды микроконтроллеров семейства 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

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



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





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники