Введение

          Турбо Ассемблер фирмы 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 часов вы можете получить ответы на нетехнические вопросы, включая цены, изменения и т.д. (служба покупателя).
                        Содержание | Вперед