Искусство схемотехники. Том 3 [Изд.4-е] - [4]

Шрифт
Интервал


PC-относительная адресация со смещением

Синтаксис: d>16(PC)

Пример: LEA 100(РС), АЗ

Адрес операнда отличается от адреса этой команды на величину 16-разрядного знакового смещения


PC-относительная адресация с индексом и смещением

Синтаксис: d>8(PC,Xn.W или. L)

Пример: MOVE.W 100(PC,D0.W),D1

Адрес операнда отличается от адреса этой команды на величину суммы 8-разрядного знакового смещения и содержимого Хn.


Несколько пояснений: в первых двух режимах не адресуется память; адресуются регистры или непосредственные константы (т. е. константы, включенные в поток команд; они могут быть только источниками, но никогда не приемниками). Все остальные режимы служат для адресации памяти. Абсолютная адресация удобна для обращения к портам ввода- вывода или к отдельным ячейкам памяти.

Косвенная (особенно с постинкрементом или предекрементом) хороша для работы с массивами или стеком; кроме того, если адрес уже находится в адресном регистре, такая адресация быстрее абсолютной, так как при выполнении команды адрес (абсолютный) не требуется извлекать из памяти. PC-относительные режимы адресации особенно удобны при написании «позиционно-независимых» программ, поскольку все адреса определяются относительно самих программных строк; заметьте, что 8- и 16-разрядные смещения представляют собой знаковые целочисленные дополнения до 2, позволяя описывать ячейки, отстоящие от точки отсчета на ±127 или ±32767 байт соответственно. Обратите еще внимание на то, что непосредственные или РС-относительные операнды нельзя модифицировать (они «неизменяемы»).


11.03. Представление команд на машинном языке

Как уже упоминалось выше, язык ассемблера, использованный нами в примерах, не является «объектным кодом», фактически выполняемым микропроцессором. Скорее это мнемоническое представление, удобное для написания программ. Последовательность команд языка ассемблера, составляющая программу, должна быть преобразована в последовательность двоичных байт, выполняемых процессором. Как и в случае МП 8086, каждая команда языка ассемблера МП 68000 преобразуется (ассемблируется) в несколько байт машинного кода. Код операции (коп) всегда занимает 2 байт, но в тех случаях, когда требуется определить режимы адресации, к нему могут добавляться дополнительные слова (двухбайтовые). В зависимости от вида операции и режимов адресации команда может иметь длину от 2 до 10 байт. Например, команда

ADD.W (A1) +,D3

ассемблируется в код минимальной длины (2 байта), именно (D6 59), причем и номера регистров, и режимы адресации указываются (вместе с кодом операции) в самой 2-байтовой команде. С другой стороны, команда MOVE.W $FFFF,$A0000 ассемблируется в 8-байтовый код, а именно (33 FC FF FF 00 0А 00 00), причем в первых двух байтах указываются операция и режимы адресации, в следующих двух байтах — непосредственная константа, а в последних четырех байтах — абсолютный адрес (длинный) приемника.

ЦП, естественно, по самой своей конструкции умеет интерпретировать этот результирующий машинный код. Рассмотрение структуры машинного кода конкретной команды может помочь вам в понимании логики работы ЦП. На рис. 11.2 развернута структура самой употребительной команды МП 68000 MOVE.



Рис. 11.2.Структура команды MOVE.


Пройдемся по ней. Два лидирующих нуля идентифицируют (почти) команду, как операцию MOVE; следующие два бита определяют размер операндов, как это показано на рисунке. Любопытно отметить, что поскольку комбинация бит 00 не используется для описания размера, код 0000ххх…хх не входит число кодов команды MOVE (однако не думайте, что этот код пропадает — фирма Motorola использует его для других команд). Следующие 6 бит описывают режим адресации и регистр (если таковой используется) операнда-приемника, а последние 6 бит заключают ту же информацию об операнде-источнике; на рис. 11.2 показано, как кодируется эта информация. Заметьте, что последние 5 режимов адресации, не использующие регистр, разделяют между собой оставшийся номер режима (111) и различаются «фальшивыми» номерами регистра. Если режим адресации какого-либо из операндов требует дополнительной информации (непосредственные данные, абсолютные адреса, смещения), к коду команды добавляются дополнительные байты, как это показано на рис. 11.2.

Любопытно заметить, что МП 68000 расходует 1/4 х 3/4 = 19 % всех возможных кодов команд на команду MOVE, предоставляя все сочетания режимов адресации и для источника, и для приемника. Фирма Motorola не могла быть столь же расточительной для остальных 50 с лишком команд табл. 11.1, и возможности их адресации пришлось урезать.

К примеру, если использовать фирменное обозначение <еа> для полного набора команд, то можно образовать команды ADD < еа >, Dn или

ADD Dn, <еа>

но не все варианты полного сочетания

ADD <еа>, <еа>

В реальной жизни вы всегда пользуетесь ассемблером (который работает на компьютере или микропроцессорной «системе разработки») для выполнения черной работы по конструированию этих команд. Однако, чтобы убедиться, что мы действительно поняли суть дела, попробуем свои силы в «ручном ассемблировании». Закодируем команду


Еще от автора Уинфилд Хилл
Искусство схемотехники. Том 1 [Изд.4-е]

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры; внимание читателя сосредоточивается на тонких аспектах проектирования и применения электронных схем.На русском языке издается в трех томах. Том 1 содержит сведения об элементах схем, транзисторах, операционных усилителях, активных фильтрах, источниках питания, полевых транзисторах.Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов.


Искусство схемотехники. Том 2 [Изд.4-е]

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредоточивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах.Том 2 содержит сведения о прецизионных схемах и малошумящей аппаратуре, о цифровых схемах, о преобразователях информации, мини- и микроЭВМ и микропроцессорах.Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.


Рекомендуем почитать
Как проектировать электронные схемы

Данная книга представляет собой сборник практических рекомендаций по проектированию, изготовлению и наладке аналоговых и цифровых электронных схем различного назначения.Большое внимание уделено особенностям использования разнообразных электронных компонентов, вопросам разработки и изготовления печатных плат и корпусов, методике испытания устройств и поиска неисправностей. Приведено большое количество сравнительно простых цифровых и аналоговых схем. Отдельная глава посвящена решению типовых задач по программированию микропроцессоров и микроконтроллеров, представлены примеры полезных подпрограмм.Книга адресована как начинающим любителям электроники и радиотехники, так и профессионалам.


Радио и телевидение?.. Это очень просто!

В книге рассказывается о том, как устроены и работают современные радиоприемник и телевизор. Рассказ ведется в форме непринужденных бесед между опытным и начинающим радиолюбителями.Книга рассчитана на широкий круг читателей.


А. С. Попов и советская радиотехника

Более полувека назад произошло одно из самых славных событий в истории русской науки: 7 мая 1895 г. великий русский учёный А. С. Попов продемонстрировал изобретённый и построенный им первый в мире радиоприёмник. С тех пор радиотехника прошла огромный путь развития — от посылки и приёма телеграфных сигналов до передачи изображений по радио. Радио стало мощнейшим средством связи и обороны нашей Родины, орудием политического и культурного воспитания, могучим средством организации масс.


Рецептура радиолюбителя (Консультация центрального радиоклуба)

В данной листовке приводится ряд рецептов склеивания, встречающихся в радиолюбительской практике, способы художественной отделки деревянных ящиков для радиоаппаратуры и некоторые практические советы радиолюбителям.


Содержание журнала «Радиоаматор», 1993–2009 гг.

Данный путеводитель собран из различных источников, отредактирован, структурирован Терещенко Дмитрием aka timonПожелания-предложения-критику попрошу высказывать сюда - t i m o n @ m i h.s t v.r uПрошу прощения за возможные ошибки, не имею возможности проверять правильность данных по каждой статье.


Радиоцензура

В отличие от темы иновещания тематика радиотехнической борьбы между "социалистическим" лагерем и капиталистическими странами остаётся практически неизвестной массовому читателю.В данной работе автор - Римантас Плейкис (бывший министр связи Литвы в 1996-1998 гг.) подробно рассматривает радиоцензуру (синонимы: радиозащита, радиоподавление, постановка помех, глушение, радиопротиводействие, забивка антисоветских радиопередач, радиоэлектронная борьба).Без преувеличения эта статья, написанная в 2002-2003 годах, закрывает еще одно "белое пятно" в противостоянии двух военно-политических блоков и раскрывает технологию радиотехнической цензуры.К сожалению, для русскоязычных читателей доступен только электронный вариант данного исследования.