Статус нашего сайта: |
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
Псевдокоманда SPACE увеличивает значение указателя адресов на число байтов, определенное аргументами. Это ключевое слово может быть особенно полезным, если установить его после метки в секции BSS в целях резервирования памяти для переменной. Ключевое слово ALIGN позволяет продвинуть указатель адресов до первой 2-, 4- или 8-байтной границы в памяти, что упрощает ассемблирование слов, двойных слов и т. д. с размещением в подходящих ячейках памяти. Наконец, ключевое слово EXTERN объявляет о доступности указанной программы или ячейки памяти для компоновщика с целью установки внешних ссылок. Определение не обязательно должно находиться в текущем файле; оно может быть в любом месте в пределах досягаемости компоновщика. Следует сделать ряд замечаний касательно совместного применения ассемблера и трассера. Ассемблер воспринимает ключевые слова как в верхнем, так и в нижнем регистрах; трассер выводит их только в верхнем регистре. Ассемблер воспринимает в качестве символа новой строки символы-заменители \г (возврат каретки) и \п (перевод строки), в то время как трассер использует только последний. Ассемблер способен работать с программами, разбитыми на несколько файлов, в то время как для обработки в трассере всю программу необходимо объединить в файл с расширением .$. Включенные в него файлы запрашиваются командой #include имя_файла Включаемый файл в таком случае также должен находиться на указанной позиции в рамках единого $-файла. Ассемблер проверяет, была ли ранее проведена обработка данного включаемого файла, и загружает одну его копию. Эта возмож ность особенно полезна в тех случаях, когда один заголовочный файл является общим для нескольких файлов. В такой ситуации в объединенный исходный файл включается только одна его копия. Для включения файла команда ^include должна быть первым маркером строки без предшествующих разделителей, а путь к файлу должен быть заключен в двойные кавычки. При наличии одного исходного файла (например, pr.s) предполагается, что именем проекта являются символы рг, а объединенный файл должен называться рг.$. Если исходных файлов несколько, основа имени первого из них принимается за имя проекта, и она же применяется для определения $-файла, который генерируется ассемблером путем объединения исходных файлов. Этот механизм можно изменить, поместив в командной строке перед первым исходным файлом флаг -о projname; в таком случае объединенный файл получает имя projname.$. Имейте в виду, что к применению включаемых файлов и нескольких исходных файлов выдвигается ряд условий. В частности, во всех исходных файлах имена меток, переменных и констант должны быть разными. Более того, в конечном счете, в загрузочный файл ассемблируется файл projname.$, поэтому номера строк, указываемые ассемблером при обнаружении ошибок и выводе предупреждений, отсчитываются именно от этого файла. При работе с небольшими проектами имеет смысл писать программу в одном файле, а не использовать команду ^include. |