Статус
нашего
сайта:
ICQ Secrets Center is Online  ICQ Information Center


ICQ SHOP
     5-значные
     6-значные
     7-значные
     8-значные
     9-значные
     Rippers List
ОПЛАТА
СТАТЬИ
СЕКРЕТЫ
HELP CENTER
OWNED LIST
РОЗЫСК!New!
ICQ РЕЛИЗЫ
Протоколы ICQ
LOL ;-)
Настройка компьютера
Аватарки
Смайлики
СОФТ
     Mail Checkers
     Bruteforces
     ICQTeam Soft
     8thWonder Soft
     Other Progs
     ICQ Patches
     Miranda ICQ
ФорумАрхив!
ВАШ АККАУНТ
ICQ LiveJournal

Реклама

Наш канал:

irc.icqinfo.ru

Таненбаум Э.- Архитектура компьютера. стр.563


Таненбаум Э.- Архитектура компьютера. стр.563

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

В каждом языке ассемблера есть директивы, которые влияют на процесс ассемблирования, но не транслируются в двоичный код. Они называются псевдокомандами. Псевдокоманды ассемблера аэ88 перечислены в табл. В.5.

Таблица В.5. Псевдокоманды ассемблера ав88

Псевдокоманда

.SECT .TEXT

Описание

Ассемблирование следующих строк в секции текста

.SECT.DATA

Ассемблирование следующих строк в секции данных

.SECT .BSS

Ассемблирование следующих строк в секции BSS

.BYTE

Ассемблирование аргументов в виде последовательности байтов

.WORD

Ассемблирование аргументов в виде последовательности слов

.LONG

Ассемблирование аргументов в виде последовательности длинных слов

.ASCII "str"

Сохранение строки str в виде ASCII-строки без завершающего нулевого

 

байта

.ASCIZ "str"

Сохранение строки str в виде ASCII-строки с завершающим нулевым

 

байтом

.SPACE n

Продвижение счетчика адресов на п позиций

.ALIGN n

Продвижение счетчика адресов до n-байтной границы

.EXTERN

Объявление идентификатора внешним

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

Во втором блоке псевдокоманд содержатся указатели типов данных в сегменте данных. Таких типов всего четыре: .BYTE, .WORD, .LONG и строка. В первых трех

типах после необязательной метки и ключевого слова псевдокоманды остаток строки занимает список константных выражений с разделением запятыми. Для строк предусмотрено два ключевых слова: ASCII и ASCIZ. Единственное различие между ними заключается в том, что ключевое слово ASCIZ добавляет к концу строки нулевой байт. Оба ключевых слова в обязательном порядке сопровождаются строкой, заключенной в двойные кавычки. В определениях строк допускается ряд символов-заменителей, которые перечислены в табл. В.6. Вдобавок к ним любой конкретный символ может предваряться обратной косой чертой и выражаться своим восьмеричным представлением, например, \377 (максимальное число символов — три, 0 в данном случае указывать не требуется).

Таблица В.6. Некоторые разрешенные в as88 символы-заменители


⇐ Предыдущая страница| |Следующая страница ⇒

.