Turbo Assembler 3.0. Руководство пользователя


              

Непосредственная макродиректива %

Непосредственная макродиректива %
Включение расширения макрокоманды в файл листинга
Глава 15. Использование условных директив
Синтаксис условных директив
Директива условного ассемблирования IFxxx
Директива условного ассемблирования IFxxx - 2

Директивы условного ассемблирования ELSEIFxxx
Директивы генерации сообщений об ошибке ERRxx
Безусловные директивы генерации сообщений об ошибке
Условные директивы с выражениями
Условные директивы с идентификатором
Условные директивы с идентификатором - 2
Условные директивы с текстовыми строками
Условные директивы с текстовыми строками - 2
Условные директивы с текстовыми строками - 3
Условия выполнения прохода Ассемблером

Включение условных директив в файл листинга
Глава 16. Интерфейс с компоновщиком
Описание внешних идентификаторов
Соглашения для конкретного языка
Описание общедоступных идентификаторов
Описание идентификаторов библиотеки
Определение внешних идентификаторов
Описание глобальных идентификаторов
Определение общих переменных
Определение общих переменных - 2

Включение библиотеки
Глава 17. Генерация листинга
Формат листинга
Общие директивы управления листингом
Директивы листинга включаемых файлов
Директивы вывода блоков условного ассемблирования
Директивы вывода в файл листинга макрокоманд
Директивы вывода листинга перекрестных ссылок
Параметры изменения формата листинга
Параметры изменения формата листинга - 2

Параметры изменения формата листинга - 3
Глава 18. Интерфейс Турбо Ассемблера и Borland C++
Вызов из Borland C++ функций Турбо Ассемблера
Вызов из Borland C++ функций Турбо Ассемблера - 2
Основные моменты в интерфейсе Турбо Ассемблера и Borland C++
Компоновка ассемблерных модулей с С++
Использование Extern "C" для упрощения компоновки
Модели памяти и сегменты
Упрощенные директивы определения сегментов и Borland C++
Упрощенные директивы определения сегментов и Borland C++ - 2

Старые директивы определения сегментов и Borland C++
Значения по умолчанию: когда необходимо загружать сегменты?
Значения по умолчанию: когда необходимо загружать сегменты? - 2
Значения по умолчанию: когда необходимо загружать сегменты? - 3
Общедоступные и внешние идентификаторы
Подчеркивания и язык Си
Различимость строчных и прописные символов в идентификаторах
Типы меток
Внешние дальние идентификаторы
Командная строка компоновщика

Взаимодействие между Турбо Ассемблером и Borland C++
Передача параметров
Передача параметров - 2
Передача параметров - 3
Передача параметров - 4
Передача параметров - 5
Передача параметров - 6
Сохранение регистров
Возврат значений
Возврат значений - 2

Вызов функции Турбо Ассемблера из Borland C++
Вызов функции Турбо Ассемблера из Borland C++ - 2
Написание на языке Ассемблера функций-элементов С++
Написание на языке Ассемблера функций-элементов С++ - 2
Соглашения по вызовам, использующиеся в Паскале
Вызов Borland C++ из Турбо Ассемблера
Компоновка с кодом инициализации С++
Задание сегмента
Выполнение вызова
Вызов из Турбо Ассемблера функции Borland C++

Вызов из Турбо Ассемблера функции Borland C++ - 2
Глава 19. Интерфейс Турбо Ассемблера с Турбо Паскалем
Директива компилятора $L и внешние подпрограммы
Директива PUBLIC
Директива EXTRN
Директива EXTRN - 2
Ограничения при использовании объектов типа EXTRN
Использование корректировок сегментов
Устранение неиспользуемого кода
Соглашения Турбо Паскаля по передаче параметров

Параметры-значения
Скалярные типы
Вещественные значения
Типы Single, Double, Extended и Comp и типы сопроцессора 8087
Указатели
Строки
Записи и массивы
Множества
Параметры-переменные
Обеспечение стека

Доступ к параметрам
Использование для адресации к стеку регистра BP
Директива ARG
Турбо Паскаль и директива .MODEL
Использование другого базового или индексного регистра
Результаты функции в Турбо Паскале
Выделение пространства для локальных данных
Выделение статической памяти
Выделение временной памяти
Примеры подпрограмм на Ассемблере для Турбо Паскаля

Подпрограмма шестнадцатиричного преобразования общего назначения
Подпрограмма шестнадцатиричного преобразования общего назначения - 2
Пример обмена содержимого двух переменных
Пример обмена содержимого двух переменных - 2
Пример анализа операционной среды DOS
Пример анализа операционной среды DOS - 2
Новые средства Турбо ассемблера версии 3.1
Новые средства Турбо ассемблера версии 3.1 - 2
Новые средства Турбо ассемблера версии 3.1 - 3
Исправления и добавления к "Руководству пользователя по Турбо ассемблеру"

Приложение A. Замечания по программированию
Упрощенные директивы определения сегмента
Упрощенные директивы определения сегмента - 2
Программы DOS
Замечания по программам формата EXE
Замечания по программам формата COM
Программы Windows
Замечания по динамически компонуемым библиотекам Windows
Замечания по прикладным программам Windows
Приложение B. Обзор синтаксических правил Турбо Ассемблера

Лексическая грамматика
Грамматика выражений в режиме MASM
Грамматика выражений в режиме Ideal
Старшинство ключевых слов
Старшинство операций в режиме Ideal
Старшинство операций в режиме MASM
Ключевые слова и предопределенные идентификаторы
Ключевые слова директив
Ключевые слова директив - 2
Приложение C. Вопросы совместимости

Одно- и двухпроходные режимы ассемблирования
Переменные операционной среды
Формат фирмы Microsoft для двоичных чисел с плавающей точкой
Приложение D. Утилиты Турбо Ассемблера
Утилита-преобразователь H2ASH
Утилита-преобразователь H2ASH - 2
Приложение E. Сообщения об ошибках
Информационные сообщения
Предупреждающие сообщения и сообщения об ошибках
Bit segment not allowed without .386

Argument needs type override
Argument to operation or instruction has illegal size
Arithmetic overflow
ASSUME must be segment register
Bad keyword in SEGMENT statement
Can't add relative quantities
Can't address with currently ASSUMEd segment registers
Can't convert to pointer
Can't emulate 8087 instruction
Can't make variable public

Can't override ES segment
Can't subtract dissimilar relative quantities
Can't use macro name in expression
Can't use this outside macro
Содержание