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) Запрещеные адресации - виды адресации, которые нельзя использовать в команде. (описание самих команд будет опубликовано в следующем номере)
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября