Введение
Турбо Ассемблер фирмы Borland представляет собой многопро-
ходный ассемблер с разрешением опережающих ссылок, скоростью ас-
семблирования до 48000 строк в минуту (на компьютере IBM PS/2,
модель 60), совместимый с макроассемблером фирмы Microsoft MASM и
дополнительной возможностью использования режима расширенного
синтаксиса Ideal. Независимо от вашего опыта в программировании
вы, несомненно, оцените эти особенности, а также ряд других
средств, которые значительно облегчают программирование на Ас-
семблере. Среди таких средств можно кратко упомянуть следующие
(подробно они будут описаны позднее):
- возможности объектно-ориентированного программирования;
- 32-разрядная модель и поддержка кадра стека;
- поддержка интерфейса защищенного режима DOS (DPMI) для ра-
боты Турбо Ассемблера в защищенном режиме под управлением
Microsoft Windows;
- полная поддержка процессора 80386 и i486;
- упрощенные директивы определения сегментов;
- улучшенное управление листингом;
- поддержка таблиц;
- перечислимые типы;
- развитые инструкции работы с флагами;
- новые средства поддержки структур;
- быстрая операция умножения с непосредственным операндом;
- поддержка множественных определений;
- директива спецификации VERSION;
- режим Quirks для эмуляции MASM;
- полная отладка на уровне исходного текста с помощью Турбо
отладчика;
- встроенная утилита генерации перекрестных ссылок (TCREF);
- файлы конфигурации и командные файлы;
- утилита-преобразователь файлов .h в .ash (включаемые фай-
лы).
Турбо Ассемблер является мощным ассемблером, работающим с
командной строкой, который воспринимает ваши исходные файлы (фай-
лы с расширением .ASM) и создает из них объектные модули (файлы с
расширением .OBJ). После этого вы можете использовать програм-
му-компоновщик фирмы Borland TLINK.EXE, отличающуюся высокой ско-
ростью компоновки, для компоновки полученных объектных модулей и
создания выполняемых файлов (файлов с расширением .EXE).
Требования к программному и аппаратному обеспечению
Турбо Ассемблер работает на компьютерах семейства IBM PC,
включая модели XT, AT и PS/2, а также на полностью совместимых с
ними компьютерах. Для работы Турбо Ассемблера требуется операци-
онная система MS-DOS (версии 2.0 или более поздняя) и не менее
256К оперативной памяти.
Турбо Ассемблер генерирует инструкции процессоров 8086,
80186, 80286, 80386 и i486, а также инструкции с плавающей точкой
для арифметических сопроцессоров 8087, 80287 и 80387. (Подробнее
об инструкциях процессором семейства 80х86/80х87 рассказывается в
книгах фирмы Intel.)
Поддержка DPMI
Турбо Ассемблер поддерживает спецификацию Интерфейса защи-
щенного режима DOS (DOS Protected Mode Interface - DPMI). Будучи
разработанным комитетом ведущих компаний-производителей программ-
ного и аппаратного обеспечения (включая Borland), DPMI определяет
стандартный интерфейс, полностью использующий преимущества
средств защищенного режима процессоров 80286, 386 и i486.
По мере увеличения числа компьютеров на базе процессоров 386
и i486 растет и число программных продуктов, использующих возмож-
ности этих процессоров. Защищенный и виртуальный 8086 режимы дан-
ных процессоров означают изменение самого вычислительного процес-
са. Теперь мы можем использовать многозадачный режим и средства
расширенной памяти. Раньше организация работы прикладной програм-
мы, использующей расширенную память, в многозадачном режиме с
другим программным обеспечением представляла собой проблему.
Стандарт DPMI решает эту проблему. Прикладные программы, исполь-
зующие расширенную память, разработанные в стандарте DPMI, будут
надежно работать в многозадачных системах.
В настоящее время Турбо Ассемблер использует сервисные
средства DPMI, предлагаемые Microsoft Windows. Турбо Ассемблер
может работать в операционной среде, использующей средства DPMI.
Если вы решите перейти на новую операционную среду, в которой эти
сервисные средства доступны, то ваши затраты на программное обес-
печение себя оправдают.
Примечание: Стандарт DPMI поддерживает версия Турбо Ас-
семблера TASMX.EXE. Подробнее о TASMX.EXE рассказывается в
Главе 2.
О данной документации
Описание Турбо Ассемблера поставляется в виде двух пособий:
"Руководства пользователя по Турбо Ассемблеру" (данный текст) и
"Краткого справочного руководства по Турбо Ассемблеру". В "Руко-
водстве пользователя" даются основные инструкции по использованию
Турбо Ассемблера, организации его интерфейса с другими языками и
описываются предопределенные операции, идентификаторы и директи-
вы, используемые Турбо Ассемблером. "Краткое справочное руководс-
тво" позволяет быстро находить информацию по инструкциям процес-
сора и сопроцессора и директивам.
Рассмотрим содержание "Руководства пользователя" более под-
робно.
Руководство пользователя
Часть 1: "Использование Турбо Ассемблера":
Глава 1: "Начало работы в Турбо Ассемблере" сообщает о том,
что необходимо сделать для установки Турбо Ассемблера в вашей
системе.
Глава 2: "Использование директив и параметров" приводит в
алфавитном порядке подробную информацию обо всех директивах Турбо
Ассемблера, и показывает, как с их помощью можно управлять рабо-
той Турбо Ассемблера.
Глава 3: "Общие принципы программирования" описывает отличие
режимов Ideal и MASM, а также рассказывает о том, как использо-
вать предопределенные идентификаторы, символы комментариев и т.д.
Глава 4: "Объектно-ориентированное программирование" расска-
зывает как можно в языке Ассемблера использовать методы объектно-
ориентированного программирования.
В Главе 5 "Использование выражений и значений идентификато-
ров" описывается вычисление и определение выражений и операций.
Глава 6 "Выбор директив процессора и идентификаторов" расс-
казывает, как генерировать код для конкретных процессоров.
Глава 7 "Использование моделей памяти программ и сегмента-
ции" сообщает о моделях программ, генерации идентификаторов
(символических имен), упрощенных определений сегментов и о поряд-
ке сегментов.
В Главе 8: "Определение типов данных" поясняется как опреде-
лять структуры, объединения, таблицы, встроенные записи и объек-
ты.
В Главе 9: "Установка и использование счетчика адреса" опи-
сывается как и для чего желательно использовать счетчик адреса, а
также об определении таблиц.
В Главе 10: "Описание процедур" рассказывается о том как
можно использовать различные типы процедур, а также как опреде-
лять и использовать аргументы и локальные переменные.
В Главе 11: "Управление областью действия идентификаторов"
обсуждается как можно ограничивать или расширять области, в кото-
рой идентификатор имеет конкретное значение.
В Главе 12: "Определение данных" описываются простые дирек-
тивы определения данных, рассказывается о создании экземпляров
структур, объединений, записей, перечислимых типов данных и объ-
ектов.
В Главе 13 "Расширенные инструкции" описываются расширенные
инструкции Турбо Ассемблера.
Глава 14 "Использование макрокоманд" рассказывает о том как
можно использовать в исходном коде макрокоманды.
В Главе 15 "Использование условных директив" обсуждаются ди-
рективы, которые позволяет реализовать условное выполнение кода.
Глава 16: "Интерфейс с компоновщиком" описывает как можно
при компоновке кода включать в него библиотеки и описывать иден-
тификаторы как общедоступные.
Глава 17 "Генерация листинга" рассказывает о директивах уп-
равления листингом Турбо Ассемблера и их использовании.
Глава 18: "Интерфейс Турбо Ассемблера с Borland C++" описы-
вает, как использовать язык Ассемблера совместно с языком высоко-
го уровня Borland C++.
Глава 19: "Интерфейс Турбо Ассемблера с Турбо Паскалем" со-
общает вам, как связывать программу на Ассемблере с программой на
Турбо Паскале; здесь также приводятся примеры программ.
Приложение A: "Примеры программ" приводит примеры различного
типа программных структур.
Приложение В: "Сводный синтаксис Турбо Ассемблера" содержит
краткое изложение синтаксиса Турбо Ассемблера" иллюстрирует выра-
жения Турбо Ассемблера (для режимов MASM и Ideal) в модифициро-
ванной записи Бэкуса-Наура (BNF).
Приложение С: "Вопросы совместимости" описывает отличия ре-
жима Турбо Ассемблера MASM и макроассемблера MASM.
Приложение D: "Утилиты" описывает новую утилиту-преобразова-
тель файлов .h в .ash, поставляемую с данным пакетом. Здесь со-
держится информация об утилитах MAKE, TLINK, TLIB и THELP, а
также информация о программах GREP, TCREF и OBJXREF находится в
файлах на дистрибутивных дисках.
Приложение D: "Сообщения об ошибках" описывает все сообщения
об ошибках, которые могут быть сгенерированы Турбо Ассемблером:
информационные сообщения, сообщения о фатальных ошибках, сообще-
ния уровня предупреждения и сообщения об ошибках.
Соглашения по обозначениям
Когда мы говорим о компьютерах IBM PC и совместимых с ними,
то речь идет о любых компьютерах, в которых используются процес-
соры 8088, 8086, 80186, 80286, 386 и i486 (все эти процессоры
обозначаются, как 80х86). Когда вы встречаете термин PC-DOS или
MS-DOS, то речь идет о версии операционной системы 2.0 и старше.
В данном руководстве используются следующие соглашения:
----------------T-----------------------------------------------¬
¦ Обозначение ¦ Описание обозначения ¦
+---------------+-----------------------------------------------+
¦ ¦ Столбец из точек перед строками, где описыва- ¦
¦ . ¦ ется синтаксис или приводится пример програм- ¦
¦ . ¦ мы, говорит о том, что фрагмент программы ¦
¦ . ¦ опущен. ¦
¦ ¦ ¦
¦ образец ¦ Слова, указанные в примерах строчными буква- ¦
¦ ¦ ми, показывают, что вместо них должны быть ¦
¦ ¦ подставлены значения. Например, ниже при- ¦
¦ ¦ веден синтаксис оператора ОFFSET: ¦
¦ ¦ ¦
¦ ¦ OFFSET выражение ¦
¦ ¦ ¦
¦ ¦ Он показывает, что за оператором OFFSET мо- ¦
¦ ¦ жет следовать любое выражение. При записи ¦
¦ ¦ исходного кода в соответствии с этим синтак- ¦
¦ ¦ сисом вы можете записать: ¦
¦ ¦ ¦
¦ ¦ OFFSET here+6 ¦
¦ ¦ ¦
¦ ¦ где here+6 является выражением. ¦
¦ ¦ ¦
¦ [ необ_элем ] ¦ В двойные квадратные скобки заключается не- ¦
¦ ¦ обязательный синтаксический элемент. Напри- ¦
¦ ¦ мер, синтаксис индексного оператора показан ¦
¦ ¦ следующим образом: ¦
¦ ¦ ¦
¦ ¦ [ выраж_1 ] выраж_2 ¦
¦ ¦ ¦
¦ ¦ Это указывает на то, что "выраж_1" является ¦
¦ ¦ необязательным, поскольку оно заключено в ¦
¦ ¦ квадратные скобки. Однако выражение "выраж_2" ¦
¦ ¦ является обязательным. ¦
¦ ¦ ¦
¦{выбор1¦выбор2}¦ Фигурные скобки и вертикальные разделители ¦
¦ ¦ указывают на необходимость выбора между двумя ¦
¦ ¦ или более элементами. Варианты выбора заклю- ¦
¦ ¦ чаются в фигурные скобки и разделяются верти- ¦
¦ ¦ кальной чертой. Вы должны выбрать один из ва- ¦
¦ ¦ риантов. ¦
¦ ¦ ¦
¦ ¦ Например, необязательный параметр /W (уровень ¦
¦ ¦ предупреждающих сообщений об ошибке) имеет ¦
¦ ¦ следующий синтаксис: ¦
¦ ¦ ¦
¦ ¦ /W{0¦1¦2} ¦
¦ ¦ ¦
¦ ¦ Вы можете ввести /W0, /W1 или /W2, указав та- ¦
¦ ¦ ким образом желаемый уровень предупреждений. ¦
¦ ¦ Однако указывать /W3 не допускается, посколь- ¦
¦ ¦ ку 3 не содержится ни в одном из вариантов ¦
¦ ¦ выбора, которые указаны в фигурных скобках. ¦
¦ ¦ ¦
¦Повторяющиеся ¦ Три точки, следующие за элементами, показыва- ¦
¦ элементы. ¦ ют, что можно в таком же виде ввести большее ¦
¦ ¦ количество элементов. Ниже, например, приве- ¦
¦ ¦ ден синтаксис директивы PUBLIC: ¦
¦ ¦ ¦
¦ ¦ PUBLIC имя[, имя ]. ¦
¦ ¦ ¦
¦ ¦ Точки за вторым элементом "имя" указывают, ¦
¦ ¦ что вы можете ввести столько имен, сколько ¦
¦ ¦ захотите, пока каждому из них будет предшест- ¦
¦ ¦ вовать запятая. Однако, поскольку первое имя ¦
¦ ¦ не заключено в квадратные скобки, вы должны ¦
¦ ¦ ввести по крайней мере одно имя. ¦
¦ ¦ ¦
¦Определяемые ¦ В кавычки заключаются определяемые в тексте ¦
¦ термины и ¦ термины. Например, термин "промежуточный", ¦
¦ "подсказки" ¦ если он определяется в первый раз, заключает- ¦
¦ ¦ ся в кавычки. ¦
L---------------+------------------------------------------------
Как обратиться за помощью к фирме Borland
Фирма Borland предлагает вам множество услуг, которые позво-
лят ответить на вопросы о данном программном продукте. Убедитесь,
что вы послали регистрационную карту. Для зарегистрированных
пользователей обеспечивается техническое сопровождение, кроме то-
го, они могут получать информацию обо всех изменениях и дополне-
ниях к продукту.
Ресурсы вашего пакета
Данный пакет содержит много ресурсов, которые могут вам по-
мочь:
- В руководстве дана информация по каждому аспекту програм-
мы. Используйте его, как основной источник информации.
- Ответы на общие вопросы, обзор новых средств, информация
об установке содержатся в файле README, который находится
в основном каталоге.
Возможности фирмы Borland
Службы технического сопровождения фирмы Borland публикуют
техническую информацию по множеству тем. Там вы можете получить
ответы на возникшие вопросы.
TechFax (8000-822-4269) - это 24-часовая автоматизированная
служба, позволяющая свободно получить техническую информацию по
факсу. Вы можете запросить до трех документов за один вызов.
408-439-9096 (модем) - пересылка файлов (File DownLoad BBS,
2500 бод). Через модем вы можете получать образцы файлов, прик-
ладных программ и техническую информацию. Специальной установки
не требуется.
Подписчики информационных услуг CompuServe, GEnie или BIX
могут получать техническую поддержку с помощью модема. Чтобы,
имея доступ к информационной службе, связаться с Borland, исполь-
зуйте следующую таблицу:
Оперативные информационные услуги
-----------------------------------------
Служба Команда
-----------------------------------------
CompuServe Go BORLAND
BIX JOIN BORLAND
GEnie BORLAND
-----------------------------------------
Передачу электронных сообщений адресуйте All или Sysop. Се-
рийный номер вам указывать не нужно: если сообщения не посылаются
по частной системе пересылки, они общедоступны. Включите в вопрос
максимум информации. Обслуживающий персонал ответит на сообщение
в течении одного рабочего дня.
408-438-5300 - по этому телефону можно обратиться в наш от-
дел технического обслуживания по рабочим дням с 6 утра до 5 вече-
ра. Звоните пожалуйста по телефону, который находится недалеко от
компьютера с работающей программой. Прежде чем позвонить, подго-
товьте следующую информацию:
1. Название продукта и серийный номер вашей оригинальной
дистрибутивной дискеты. Этот номер обязателен, иначе мы
не сможем обслужить вашу заявку.
2. Марку и модель компьютера, а также любого используемого
вами дополнительного аппаратного обеспечения.
3. Название и номер версии операционной системы. (Номер вер-
сии можно определить, введя по приглашению DOS команду
VER).
4. Содержимое вашего файла AUTOEXEC.BAT и содержимое файла
CONFIG.SYS (в корневом каталоге (\) на загрузочном диске
компьютера.
5. Телефон, по которому с вами можно связаться в рабочее
время.
6. Если звонок связан с какой-то проблемой, какие шаги нужно
выполнить, чтобы возникла эта проблема.
По телефону 408-438-5300 с 7 до 17 часов вы можете получить
ответы на нетехнические вопросы, включая цены, изменения и т.д.
(служба покупателя).
Содержание | Вперед