Искусство схемотехники. Том 3 [Изд.4-е] [Пауль Хоровиц] (fb2) читать постранично, страница - 3
[Настройки текста] [Cбросить фильтры]
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (192) »
Таблица 11.1. Набор команд МП 68000/8
Операция · Описание Арифметические ABCD Сложение упакованных двоично-десятичных чисел ADD Сложение ASL Арифметический сдвиг влево ASR Арифметический сдвиг вправо CLR Очистка операнда DIVS Деление (знаковое) DIVU Деление (беззнаковое) EXT Расширение знака LSL Логический сдвиг влево LSR Логический сдвиг вправо MOVE Пересылка MULS Умножение (знаковое) MULU Умножение (беззнаковое) NBCD Отрицание упакованного двоично-десятичного числа NEG Отрицание SBCD Вычитание упакованного двоично-десятичного числа SUB Вычитание
Логические AND Логическое И BCHG Проверка и изменение бита BCLR Проверка и очистка бита BSET Проверка и установка бита BTST Проверка бита CHK Проверка регистра на границы CMP Сравнение EOR Исключающее ИЛИ EXG Обмен регистров NOT Побитовое дополнение OR Логическое ИЛИ RESET Возбуждение линии RESET ROL Циклический сдвиг влево без расширения ROR Циклический сдвиг вправо без расширения ROXL Циклический сдвиг влево с расширением ROXR Циклический сдвиг вправо с расширением Scc1) Установить байт по условию SWAP Обмен половин регистра TAS Проверка и установка операнда TST Проверка операнда и установка флагов
Управления Всс1) Условный переход BRA Безусловный переход (относительный) BSR Переход на подпрограмму (относительный) DBcc1) Проверка, декремент и переход JMP Безусловный переход (7 режимов) JSR Переход на подпрограмму (7 режимов) LEA Загрузка эффективного адреса LINK Подсоединение стека NOP Холостая команда PEA Загрузка в стек эффективного адреса RTE Возврат из исключения RTR Возврат, восстановление кодов условий RTS Возврат из подпрограммы STOP Останов TRAP Ловушка (векторизованное исключение) TRAPV Ловушка по переполнению UNLK Отсоединение стека
Коды условий ("сс") СС Перенос сброшен CS Перенос установлен EQ Равенство нулю F Никогда не истина2) GE Больше или равно нулю GT Больше нуля HI Выше LE Меньше или равно нулю LS Ниже или равно LT Меньше нуля MI Минус NE Не равно нулю PL Плюс T Всегда истина2) VC Переполнение сброшено VS Переполнение установлено ____ 1) См. «Коды условий». 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 байт из таблицы,
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (192) »
Последние комментарии
52 минут назад
15 часов 33 минут назад
15 часов 34 минут назад
20 часов 52 минут назад
1 день 34 минут назад
1 день 55 минут назад