Приложение 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 преобразует файлы заголовков Си/С++ в файлы
заголовков языка Ассемблера. Как и исходные файлы с расширением
.H полученные в результате файлы с расширением .ASH сами не со-
держат программу. Если для вызова H2ASH вы используете следующий
синтаксис:
H2ASH [[параметры] <имя_файла> [<имя_файла> .]]
где каждое поле "имя_файла" задает имя конвертируемого файла за-
головка. Утилита H2ASH предполагает, что преобразуемый файл имеет
по умолчанию расширение .H. Для каждого обрабатываемого файла со-
ответствующий выходной файл имеет расширение .ASH.
"Параметры" соответствуют параметрам командной строки компи-
лятора Borland C++, а также специфическим параметрам утилиты
H2ASH (которые соответствуют параметрам -q Турбо Ассемблера). См.
"Руководство пользователя Bоrland C++" и оперативный справочник,
где можно найти описания данных параметров.
Утилита H2ASH преобразует следующие конструкции:
- все основные типы языка Си;
- типы ENUM (в типы ENUM TASM);
- #IFDEF (в эквивалентные IFDEF Ассемблера);
- #DEFINE (в определения EQU);
- структуры и объединения (в структуры и объединения Турбо
Ассемблера);
- структуры с битовыми полями (в записи Ассемблера RECORD);
- определения TYPEDEF (в TYPEDEF Ассемблера);
- классы без множественного наследования и без виртуальных
базовых классов;
- элементы классов;
- переопределения операций.
Утилита-преобразователь имеет следующие ограничения:
- весь преобразуемый код игнорируется, выполняемый код не
генерируется;
- директивы #INCLUDE в выходных файлах полностью расширяются;
- в выводе Ассемблера может возникнуть конфликт имен, так
как правила области действия С++ существенно отличаются от
правил Ассемблера (помочь здесь может использование режима
Ideal);
Преобразователь H2ASH не только облегчает организацию интер-
фейса между С/С++ и языком Ассемблера (с максимальной производи-
тельностью). H2ASH автоматически преобразует описания базовых
классов С++ в эквивалентные объектные описания Ассемблера и опре-
деляет "нескорректированные" имена методов. При записи базового
класса на языке Ассемблера мы рекомендуем вам использовать следу-
ющую процедуру:
1. Написать описание класса в файле заголовка языка Си.
2. Включить описание файла заголовка Си во все классы-потом-
ки и модули на языке Си, которые используют этот базовый
класс.
3. Используйте преобразователь H2ASH для файла заголовка с
целью получения объектного файла заголовка Ассемблера
(этот процесс можно автоматизировать с помощью формирую-
щего файла).
4. Включите объектный файл заголовка Ассемблера в модуль,
где записаны методы на языке Ассемблера.
Более подробную информацию об утилите H2ASH можно найти в
текстовых файлах документации на дисках Турбо Ассемблера.
Назад | Содержание | Вперед