|
Born Dead
#06
17 февраля 1999 |
|
Мир Амиги - Амига глазами RRA: Основные привилегированные команды на Амиге (часть 2).

════════════════════════════════════════════════════════════════
╠╬╣║╞╪╡████████╡╪╞║╣╬╠ АМИГА. ЧАСТЬ II ╠╬╣║╞╪╡███████╡╪╞║╣╬╠
════════════════════════════════════════════════════════════════
(C)1999 >>RRA>>/AF/SG
Салют! В этой статье я познакомлю вас с командной системой
семейства процессоров MC680x0. Поскольку делать это мне в лом, я
как всегда зарядился "огненной водой" объемом в 0.5 литра,
предусмотрительно смазав себя двумя стопками данного пойла,
чтобы окончательно не отказаться от написания этого манускрипта.
Нижеописаный документ взял я не с неба, а из фирменной
документации по процам Motorola, и большое за нее спасибо
товарисчу Market'у из небезызвестной SAGE GROUP. Все это я также
видел на Амиге в русском варианте, но автор похоже даже не
постарался подкорректировать текст, переведенный какой-то
лажовой программой-переводчиком. Напимер словосочетание
"стековое окно" ну никак не укладывается в моем чайнике,
почему-то "стековый фрейм" для меня звучит приятней и понятней.
Кстати, на одной из таких прог ласковое слово "Amiga",
переводится как "компьютер, производимый компанией Commodore", и
после такой трактовки этого слова, а также из-за моря глюков
перевода текст оказался даже очень нечитабельным, но смеялиси мы
не менее двух часов. На русский вариант я забил после прочтения
двух его строчек, а на английский полагался как на справочник,
не дающий мне соврать, и как на список команд в алфавитном
порядке. То бишь это не калька с какого-либо document'а. Как мог
об'яснил суть дела. Списано лишь на командах работы с модулями.
Ну а команды, в которых я абсолютно не бычу (например, cpGEN -
главная функция сопроцессора), здесь не описываются. Просто не
хочу компрометировать себя лажовой информацией, чисто
переведенной или слизанной откуда-либо.
Итак, команды будут описываться в двух разделах: основные
команды и привилегированные (доступные только в режиме
супервизора). Команды будут располагаться в алфавитном порядке.
Писишникам и спектрумистам будет немного непривычно расположение
операндов в команде: сначала идет источник затем приемник. Для
примера возьмем простую команду пересылки:
на PC: MOV AX,BX - AX <- BX
на Спекки: LD A,B - A <- B
a на Амиге: MOVE.L D0,D1 - D0 -> D1 (обратите на это внимание!)
На Playstation расположение источника и приемника в каждой
команде разное и вообще там по 2,3 операнда в команде,так что
Амига это еще не самое страшное. Ну а про аксели PowerPC вообще
страшно говорить, взгляните хотя бы на кусок проги:
loop: lwarx r6,0,r3
cmpw r4,r6
bne- exit
stwcx. r5,0,r3
bne- loop
exit: mr r4,r6
Лично я не понял ничего (это я списал из фирменной инструкции по
процессорам PowerPC). Там написано,что это сравнение и свап. Так
что процессоры MC680x0 (не говоря уже об iNTEL) это цветочки по
сравнению с вышеупомянутыми монстрами, поэтому я думаю, что вы
быстро вкурите в систему команд, которую я опишу ниже.
Сокращения,которые будут использоваться в описании команд:
<еа> - эффективный адрес или любой способ адресации.
"операнд в <еа>" следует понимать: операнд по адресу
<еа>.
DST - операнд-приемник
SRC - операнд-источник
Dx,Dy - любой регистр данных
Ax,Ay - любой регистр адреса
Rn - регистр адреса или регистр данных
MSB - most significant bit, старший бит, бит знака
LSB - least significant bit, младший бит
disp - смещение
И пару слов о пунктах, описывающих команду:
1) Операция - повторное описание команды для орангутангов и
офицеров. Данный пункт считаю самым тупым, но
продуктивным.
2) Синтакс - возможные виды записи данной команды в асме.
<еа> - любой способ адресации, кроме запрещенных.
3) Размер - размер операндов команды - байт, слово, длинное
слово.
4) Описание - подробное описание команды.
5) Флаги - описывает, во что могут превратиться флаги после
команды.
6) Запрещеные адресации - виды адресации, которые нельзя
использовать в команде.
(описание самих команд будет опубликовано в следующем номере)
Другие статьи номера:
Похожие статьи:
В этот день... 13 ноября