Статус
нашего
сайта:
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

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


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

Символ-заменитель

\п

Описание

Новая строка (перевод строки)

 

Табуляция

\\

Обратная косая черта

Пробел

 

Подача страницы

V

Возврат каретки

V

Двойная кавычка

Псевдокоманда SPACE увеличивает значение указателя адресов на число байтов, определенное аргументами. Это ключевое слово может быть особенно полезным, если установить его после метки в секции BSS в целях резервирования памяти для переменной. Ключевое слово ALIGN позволяет продвинуть указатель адресов до первой 2-, 4- или 8-байтной границы в памяти, что упрощает ассемблирование слов, двойных слов и т. д. с размещением в подходящих ячейках памяти. Наконец, ключевое слово EXTERN объявляет о доступности указанной программы или ячейки памяти для компоновщика с целью установки внешних ссылок. Определение не обязательно должно находиться в текущем файле; оно может быть в любом месте в пределах досягаемости компоновщика.

Следует сделать ряд замечаний касательно совместного применения ассемблера и трассера. Ассемблер воспринимает ключевые слова как в верхнем, так и в нижнем регистрах; трассер выводит их только в верхнем регистре. Ассемблер воспринимает в качестве символа новой строки символы-заменители \г (возврат каретки) и \п (перевод строки), в то время как трассер использует только последний. Ассемблер способен работать с программами, разбитыми на несколько файлов, в то время как для обработки в трассере всю программу необходимо объединить в файл с расширением .$. Включенные в него файлы запрашиваются командой

#include имя_файла

Включаемый файл в таком случае также должен находиться на указанной позиции в рамках единого $-файла. Ассемблер проверяет, была ли ранее проведена обработка данного включаемого файла, и загружает одну его копию. Эта возмож ность особенно полезна в тех случаях, когда один заголовочный файл является общим для нескольких файлов. В такой ситуации в объединенный исходный файл включается только одна его копия. Для включения файла команда ^include должна быть первым маркером строки без предшествующих разделителей, а путь к файлу должен быть заключен в двойные кавычки.

При наличии одного исходного файла (например, pr.s) предполагается, что именем проекта являются символы рг, а объединенный файл должен называться рг.$. Если исходных файлов несколько, основа имени первого из них принимается за имя проекта, и она же применяется для определения $-файла, который генерируется ассемблером путем объединения исходных файлов. Этот механизм можно изменить, поместив в командной строке перед первым исходным файлом флаг -о projname; в таком случае объединенный файл получает имя projname.$.

Имейте в виду, что к применению включаемых файлов и нескольких исходных файлов выдвигается ряд условий. В частности, во всех исходных файлах имена меток, переменных и констант должны быть разными. Более того, в конечном счете, в загрузочный файл ассемблируется файл projname.$, поэтому номера строк, указываемые ассемблером при обнаружении ошибок и выводе предупреждений, отсчитываются именно от этого файла. При работе с небольшими проектами имеет смысл писать программу в одном файле, а не использовать команду ^include.


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

.