adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
і GETFIELD TABLE(2) VERSION і
і GOTO(1) WHILE(1) і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Турбо Ассемблер 3.0/tasm/#2-2 = 168 =
Приложение C. Вопросы совместимости
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Турбо Ассемблер в режиме MASM в высокой степени совместим с
ассемблером MASM версии 5.2. Однако стопроцентная совместимость -
это идеал, к которому можно только стремиться, т.к. формальная
спецификация языка отсутствует, и даже различные версии MASM не
полностью совместимы друг с другом.
Для большинства программ замена MASM на Турбо Ассемблер не
повлечет за собой каких-либо осложнений. В некоторых случаях в
Турбо Ассемблере появятся предупреждающие сообщения и сообщения
об ошибках там, где их в MASM не было, что обычно означает, что
ошибочный оператор не был выявлен макроассемблером MASM. Напри-
мер, MASM не обнаруживает ошибок в следующих операторах:
abc EQU [BP+2]
PUBLIC abc
и генерирует бессмысленный объектный код. В Турбо Ассемблере по-
добная конструкция, а также ряд других двусмысленных конструкций,
будут идентифицированы как ошибочные.
Если при ассемблировании программы пользователя с помощью
Турбо Ассемблера возникнут какие-либо затруднения, то можно попы-
таться использовать директиву QUIRKS. Например, если с помощью
следующей командной строки:
TASM /JQUIRKS MYFILE
программа будет ассемблирована правильно, то следует добавить в
начало исходного файла директиву QUIRKS. Еще лучше, используя
сведения из этого приложения, определить операторы, для которых
требуется директива QUIRKS, и после этого переписать соответству-
ющие строки исходного файла так, чтобы отпала необходимость ис-
пользования директивы QUIRKS.
Для максимальной совместимости с MASM следует использовать
директиву NOSMART и режим QUIRKS.
Турбо Ассемблер 3.0/tasm/#2-2 = 169 =
Одно- и двухпроходные режимы ассемблирования
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В стандартном режиме Турбо Ассемблер выполняет ассемблирова-
ние за один проход, а MASM - за два прохода. Поэтому Турбо Ас-
семблер - более быстрый ассемблер по сравнению с MASM. Однако од-
нопроходность Турбо Ассемблера может привести к некоторой его
несовместимости с MASM при разрешении ссылок вперед и обработке
конструкций, зависящих от прохода. В TASM имеется параметр ко-
мандной строки (/m), с помощью которого можно задать число прохо-
дов. Если требуется обеспечить максимум совместимости с MASM, то
нужно указать двухпроходный режим (/m2). (См. Главу 2, где данный
параметр обсуждается более подробно.)
Использование данного параметра командной строки будет гене-
рировать режим, совместимый с MASM (два прохода), когда присутс-
твуют следующие конструкции:
- директивы IF1 и IF2;
- директивы ERR1 и ERR2;
- ссылки вперед с IFDEF и IFNDEF;
- опережающие ссылки с операцией .TYPE;
- рекурсивно определенные числа, такие, как
NMBR=NMBR+1;
- рекурсивно определенные текстовые макрокоманды или тексто-
вые макрокоманды, на которые имеются опережающие ссылки,
такие, как:
LNAME CATSTR LNAME,<1>
- макрокоманды, на которые имеются опережающие ссылки.
Турбо Ассемблер 3.0/tasm/#2-2 = 170 =
Переменные операционной среды
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В Турбо Ассемблере не используются переменные среды для оп-
ределения параметров, используемых по умолчанию, что отвечает об-
щему подходу фирмы Borland, используемому при создании программ-
ных продуктов. Вместо этого параметры, используемые по умолчанию,
следует помещать в файл конфигурации, и для различных проектов
создавать соответствующие им файлы конфигурации.
Если при использовании MASM для конфигурирования нужным об-
разом системы использовались переменные операционной среды
INCLUDE или MASM, то для использования той же программы с Турбо
Ассемблером нужно создать файл конфигурации. Все те параметры,
которые были специфицированы, используя переменную среды MASM,
нужно поместить непосредственно в файл конфигурации. Каталоги,
указанные переменной INCLUDE, помещаются в файл конфигурации с
помощью параметра /I командной строки.
Формат фирмы Microsoft для двоичных чисел с плавающей точкой
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В ранних версиях макроассемблера MASM для чисел с плавающей
точкой по умолчанию использовался формат, несовместимый с форма-
том для чисел с плавающей точкой стандарта IEEE. В MASM версии
5.1 числа с плавающей точкой генерируются в формате IEEE, но име-
ется директива .MSFLOAT, с помощью которой можно специфицировать
использование ранее использовавшегося формата фирмы Microsoft.
В Турбо Ассемблере не поддерживается старый формат чисел с
плавающей точкой и, следовательно, .MSFLOAT является для него не-
допустимой директивой.
Турбо Ассемблер 3.0/tasm/#2-2 = 171 =
Приложение D. Утилиты Турбо Ассемблера
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Турбо Ассемблер TASM предоставляет вам семь мощных автоном-
ных утилит. Вы можете использовать их для файлов TASM, а также
для любых других файлов.
Это такие утилиты, как:
ю MAKE (включая утилиту TOUCH; автономный менеджер прог-
рамм);
ю TLINK (компоновщик);
ю TLIB (библиотекарь);
ю TASMHELP (оперативный справочник);
ю GREP (утилита поиска текста в файлах);
ю OBJXREF (утилита для работы с перекрестными ссылками в
объектных модулях);
ю TCREF (утилита для работы с перекрестными ссылками);
ю H2ASH (утилита-преобразователь файлов .h в файл .ash).
Подробности об использовании утилит MAKE, TOUCH, TLINK,
GREP, OBJXREF, TASMHELP, H2ASH можно узнать в документации по
компилятору. TASMHELP работает аналогично утилите THELP, описание
которой также можно найти в документации по компилятору. О том,
как использовать утилиту TCREF в текстовых файлах, можно узнать
файлах документации на дисках Турбо Ассемблера. Утилита H2ASH
также описывается в файлах на дисках Турбо Ассемблера, но пос-
кольку это новая утилита, мы подробнее коснемся ее в данном при-
ложении.
Утилита-преобразователь H2ASH
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Модули Си и С++ в программе обычно совместно используют оп-
ределение типов и структур данных. Это делается с помощью
включения небольших файлов (файлов-заголовков), которые содержат
определения типов и структуры данных, используемые в нескольких
модулях. Файл заголовка в Си/С++ имеет обычно имя с расширением
.H. Ассемблируемые модули обычно имеют файлы заголовков с расшире-
нием .ASH (или .INC).
Программы, содержащие модули, написанные на Си/С++ и модули
Турбо Ассемблера, должны иметь возможность совместного определе-
ния типов и структур данных. Этому способствует утилита H2ASH.
Утилита H2ASH преобразует файлы заголовков Си/С++ в файлы
Турбо Ассемблер 3.0/tasm/#2-2 = 172 =
заголовков языка Ассемблера. Как и исходные файлы с расширением
.H полученные в результате файлы с расширением .ASH сами не со-
держат программу. Если для вызова H2ASH вы используете следующий
синтаксис:
H2ASH [[параметры] <имя_файла> [<имя_файла> ...]]
где каждое поле "имя_файла" задает имя конвертируемого файла за-
головка. Утилита H2ASH предполагает, что преобразуемый файл имеет
по умолчанию расширение .H. Для каждого обрабатываемого файла со-
ответствующий выходной файл имеет расширение .ASH.
|
adfun.ru
|
|
|
|