    Глава 17 

    Оптимизация с помощью ассемблера 

    Несмотря на преимущества таких языков высокого уровня, как С и C++, 
ассемблер продолжает играть важную роль в программировании. Только с помощью 
ассемблера программист может общаться с компьютером на равных, т.е. языком 
процессора, который часто называют машинным языком. 
    Большинство программ Borland C++ можно запускать на выполнение сразу же 
после компиляции, в них нет необходимости использовать ассемблер. Однако 
пришли времена, когда даже небольшие вкрапления низкоуровневого кода могут 
значительно усовершенствовать высокоуровневое приложение, написанное на C++. 
Ассемблер поможет вам: 

    •   оптимизировать отдельные критические операторы, от которых зависит 
производительность программы; 
    •   получить доступ к оборудованию компьютера на уровне физических устройств; 
    •   реализовать процедуры обработки прерываний. 

    Этим сфера применения ассемблера не ограничивается, однако в этих областях 
его использование особенно эффективно. Borland C++ предлагает три способа 
использования ассемблера совместно с программами, написанными на C++. 

    •   Компиляция программы в файл с ассемблерным текстом. 
    •   Вставка встраиваемых операторов asm в текст программы. 
    •   Написание внешних модулей, ассемблируемых с помощью Turbo Assembler (TASM). 

    В этой главе рассматриваются все три возможности, и для каждой приводится 
отдельный пример. Turbo Assembler поставляется Borland отдельно. 

    Анатомия функций языка С 

    При использовании ассемблера вам приходится выполнять задачу, обычно 
решаемую компилятором и состоящую в преобразовании операторов языков С и C++ в 
машинный код. Выполнение обязанностей компилятора не только дает вам 
неограниченные возможности управления конечными результатами, но и требует 
большой ответственности. Написание программ на ассемблере напоминает стряпню с 
атомами и молекулами вместо яиц и муки. Пишущих на ассемблере можно назвать 
программистами-химиками. Можно смешивать инструкции процессора любым способом, 
и только от вас зависит, насколько съедобным будет результат. 
    

    438 30 
