Приложение 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 можно найти в текстовых файлах документации на дисках Турбо Ассемблера.
                       Назад | Содержание | Вперед