Читаем Искусство схемотехники. Том 3 (Изд.4-е) полностью

2)Не используется в командах Вcс; вместо «ВТ» используйте BRA


MOVE.W (непосредственная,

# $FFFF,D0 регистровая)

MOVE.B (А0), (А1) (косвенная, косвенная)

ADD.L D5, (А2) + (прямая, косвенная с постинкрементом)

BTST.B #2$C0000 (непосредственная, абсолютная длинная)


В первом примере устанавливаются в 1 все 16 бит регистра D0 (символ «$» обозначает «шестнадцатиричное», а «#» указывает на «непосредственную» константу); вторая команда копирует байт из ячейки памяти, адрес которой находится в А0, в ячейку памяти, адрес которой находится в А1; третья прибавляет 32-разрядное знаковое целое к 4-байтовому («длинному») целому, которое начинается в памяти с байта, адресуемого через А2, после чего содержимое А2 увеличивается на 4; последняя команда проверяет бит 2 в ячейке памяти С0000Н, устанавливая соответствующим образом флаг нуля Z (для последующей команды условного перехода). Заметьте, что операнды cледуют в порядке — источник, приемник, что противоположно нотации МП 8086.

МП 68000 позволяет использовать почти все режимы адресации и размеры операндов с любой командой («Справочное пособие программиста МП 68000» исчерпывающе описывает все допустимые сочетания; наиболее полезная информация собрана в табл. 11.2). В результате написание изящных и эффективных программ на языке ассемблера оказывается относительно простой задачей. Например, работая с МП 8086 и желая проанализировать состояние флага порта ввода-вывода, вы должны будете сохранить и восстановить содержимое регистра AL и в сумме использовать 5 команд (PUSH, IN, TEST, POP, Jcc). МП 68000 позволяет выполнить ту же операцию с помощью всего двух команд: BTST и Всс; никакие регистры не нужны, потому что бит памяти (и, следовательно, регистры порта) можно проанализировать непосредственно. Более того, «автоинкрементный» режим адресации вроде «(А2) +» дает возможность работать с массивами. Хотя мы еще не описали все режимы адресации и команды, вы вполне сможете выполнить следующее упражнение.

Упражнение 11.1. Скопировать массив длиной $100 байт из таблицы, начинающейся в ячейке $А0000 в таблицу, начинающуюся в ячейке SA8000. При решении этой задачи будет полезна команд WGT метка (переход если больше нуля).


Режимы адресации. В приведенных выше примерах команд операции выполнялись над константами, содержимым регистров и содержимым ячеек памяти (или портов). Архитектура МП 68000 предусматривает богатый набор «режимов адресации» для определения этих операндов. В табл. 11.3 перечислены 12 режимов адресации, которые рассматриваются фирмой Motorola как 14. Вот что они значат:

Регистровая прямая адресация

Синтаксис: Dn (или An)

Пример: MOVE.W D0,D1

Операндом является содержимое указанного регистра


Непосредственная адресация

Синтаксис: #хххх

Пример: MOVE.B #$FF,D0

Операндом является указанная константа


Абсолютная адресация к памяти

Синтаксис: xxxx.W или xxxx.L

Пример: ADD.W D0JB000.W

Адрес операнда указан как непосредственная константа


Косвенная адресация

Синтаксис: (An)

Пример: SUB.W D0, (А0)

Указанный регистр содержит адрес операнда


Косвенная постинкрементная адресация

Синтаксис: (Аn) +

Пример: MOVE

.B (А0) +, (А1) +

Аналогична косвенной, но после выполнения операции An инкрементируется на величину размера


Косвенная предекрементная адресация

Синтаксис: — 1Аn)

Пример: MOVE.W D0,-(A7)

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


Косвенная адресация со смещением

Синтаксис: d16(An)

Пример: MOVE.L (А0),100(А0)

Адрес операнда определяется как (An) плюс 16-разрядное знаковое смещение d16


Косвенная индексная адресация со смещением

Синтаксис: d8(An,Xn.W [или. L]) (Хn может быть либо Dn, либо An)

Пример: MOVE.L 100(A0),100(A0,D7)

Адрес операнда определяется как (An) плюс (Хп) плюс 8-разрядное знаковое смещение d8


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

Синтаксис: d16(PC)

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

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


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

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

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

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


Перейти на страницу:

Похожие книги

Техобслуживание и мелкий ремонт автомобиля своими руками.
Техобслуживание и мелкий ремонт автомобиля своими руками.

Многим начинающим автомобилистам явно не хватает умений и навыков для того, чтобы правильно ухаживать за своей машиной. Книга расскажет, из чего состоит современный автомобиль, как его правильно эксплуатировать, почему важно своевременно делать техническое обслуживание, как не переплачивать на СТО за то, что вполне можно сделать самостоятельно. Книга научит, как самому поменять свечу и колесо, устранить нагар в цилиндрах, заменить перегоревшие лампочки, заделать проколы в колесах, устранить ржавчину на кузове, а также выполнить ряд других работ по техническому обслуживанию и мелкому ремонту автомобиля. Все приведенные примеры и рекомендации взяты «из жизни», основаны на реальных фактах и имеют практическое подтверждение.Для широкого круга читателей.

А. А. Гладкий , Алексей Анатольевич Гладкий

Автомобили и ПДД / Хобби и ремесла / Техника / Дом и досуг / Словари и Энциклопедии
Десять книг об архитектуре
Десять книг об архитектуре

Римский архитектор и инженер Витрувий жил и работал во второй половине I в. до н. э. в годы правления Юлия Цезаря и императора Октавиана Августа. Его трактат представляет собой целую энциклопедию технических наук своего времени, сочетая в себе жанры практического руководства и обобщающего практического труда. Более двух тысяч лет этот знаменитый труд переписывался, переводился, комментировался, являясь фундаментом для разработки теории архитектуры во многих странах мира.В настоящем издание внесены исправления и уточнения, подготовленные выдающимся русским ученым, историком науки В. П. Зубовым, предоставленные его дочерью М. В. Зубовой.Книга адресована архитекторам, историкам науки, культуры и искусства, всем интересующимся классическим наследием.

Витрувий Поллион Марк , Марк Витрувий

Скульптура и архитектура / Античная литература / Техника / Архитектура / Древние книги