Шаг 12.
Оптимизация с помощью ассемблера.
Написание внешних модулей на Турбо ассемблере

    На этом шаге мы рассмотрим написание внешних модулей на Турбо ассемблере.

    Встраиваемые операторы BASM особенно подходят для небольших оптимизаций - несколько инструкций здесь, несколько там, или же в отдельной функции, которую необходимо ускорить. Более продуктивная работа на ассемблере требует дополнительных возможностей автономного Турбо ассемблера (Turbo Assembler), поставляемого Borland отдельно.

    TASM - замечательный продукт. Он может ассемблировать отдельные приложения, написанные полностью на ассемблере. Он также может похвастаться множеством опций и директив: от простых инструкций резервирования памяти до сложных макросредств. В TASM имеется даже нечто подобное структуре класса, чем вы можете воспользоваться для написания объектно-ориентированных модулей на ассемблере.

    Основная ценность TASM для программистов на C и C++ заключается, тем не менее, в создании объектных (с расширением .obj) модулей для их компоновки вместе со скомпилированными программами. Вы можете задать прототип функции C или C++, написать операторы, в которых она вызывается, и реализовать её полностью на ассемблере.

    Как и встраиваемый код BASM, внешние ассемблерные модули при написании требуют внимательности и усидчивости. Всегда следует сначала удостовериться в том, что хлопоты окупятся сторицей, не стоит переводить либо полностью, либо большую часть вашего кода в ассемблер в надежде повысить его производительность. Определите критические участки кода и сконцентрируйтесь на том, чтобы заставить их работать как можно быстрее.

    На следующем шаге мы рассмотрим использование утилиты H2ASH.




Предыдущий шаг Содержание Следующий шаг