Хотя некоторые программисты могут разрабатывать программы целиком на языке Ассемблера (и делают это), другие предпочитают писать основную часть программы на языке высокого уровня, обращаясь к языку Ассемблера только для осуществления управления нижнего уровня, или когда требуется высокая производительность. Некоторые предпочитают писать преимущественно на Ассемблере, только иногда используя конструкции и библиотечные средства языков высокого уровня.
Данная глава объясняет использование Турбо Ассемблера с компиляторами С++. В этой главе они называются компиляторами семейства Borland С++. Однако Турбо Ассемблер можно использовать также с Турбо C++ и Турбо Си. Приводимая ниже таблица содержит перечень компиляторов этого семейства.
Компиляторы Borland С++ и СиНазвание продукта | Имя файла компилятора |
---|
Borland С++ | bcc.exe, bccx.exe, bc.exe или bcx.exe | Турбо C++ | tcc.exe или tc.exe | Турбо Cи | tcc.exe |
Например, если мы говорим, чтобы вы выполнили компиляцию строкой:
bcc -S plusone.cpp
а вы работаете с Турбо С++, то вместо нее вы можете ввести следующую командную строку:
tcc -S plusone.cpp
Если при интерфейсе с Турбо Ассемблером вы используете Турбо Си, то вы ограничены использованием только компилятора командной строки. В случае же Borland С++ и Турбо С++ вы можете работать как с компиляторами командной строки, так и с компилятором интегрированной среды.
Borland C++ дает хорошие возможности поддержки смешанного программирования на С++ и на языке Ассемблера на произвольной основе и предоставляет не один, а целых три механизма объединения модулей на Ассемблере и на С++. Имеющееся в С++ средство встроенного ассемблирования позволяет быстро и просто вставить текст на языке Ассемблера прямо в функцию С++. Вы можете выполнить ассемблирование встроенного кода при помощи Турбо Ассемблера или встроенного Ассемблера Borland С++. Те, кто предпочитает держать ассемблерные части программы в отдельных модулях, написанных целиком на языке Ассемблера, может ассемблировать их при помощи Турбо Ассемблера и затем скомпоновать с модулями Borland С++.
Сначала мы рассмотрим использование встроенного в Borland C++ Ассемблера. Далее мы подробно обсудим компоновку отдельно ассемблированных в Турбо Ассемблере модулей с Borland C++ и исследуем процесс вызова функций, написанных с помощью Турбо Ассемблера, из программы, созданной в Borland C++. И наконец, мы рассмотрим вызов функций Borland C++ из программы на Турбо Ассемблере.
1 2 3 4 5 6 7 8 9
8 8 8
| |