0988b24c

Начало работы на Турбо Ассемблере

Турбо Ассемблер 3.0/tasm/#1-2. Руководство пользователя.
Введение
Требования к программному и аппаратному обеспечению
Поддержка DPMI
О данной документации
Руководство пользователя
Соглашения по обозначениям
Как обратиться за помощью к фирме Borland

Ресурсы вашего пакета
Возможности фирмы Borland
Глава 1. Начало работы на Турбо Ассемблере
Установка Турбо Ассемблера в системе
Текстовые справочные файлы
Файл README
Файл HELPME!.TSM
Файл H2ASH.TSM
Файл TCREF.TSM
Оперативный справочник



Ваша первая программа на Турбо Ассемблере
Ассемблирование вашей первой программы
Компоновка программы
Запуск вашей первой программы
Что происходит?
Модификация вашей первой программы на Турбо Ассемблере
Вывод информации на устройство печати
Ваша вторая программа на Турбо Ассемблере
Запуск программы REVERSE.ASM

Литература по языку Ассемблера
Глава 2. Использование директив и параметров
Запуск Турбо Ассемблера из DOS
Параметры командной строки
Параметр /A
Параметр /B
Параметр /C

Параметр /D
Параметр /E
Параметр /H или /?
Параметр /I
Параметр /J
Параметр /KH
Параметр /L
Параметр /LA
Параметр /M
Параметр /ML

Параметр /MU
Параметр /MV#
Параметр /MX
Параметр /N
Параметр /O
Параметр /OP
Параметр /P
Параметр /Q
Параметр /R
Параметр /S

Параметр /T
Параметр /V
Параметр /W
Параметр /X
Параметр /Z
Параметр /ZD
Параметр /ZI
Параметр /ZN
Косвенные командные файлы
Файлы конфигурации

Глава 3. Общие принципы программирования
Режим Ideal Турбо Ассемблера
Для чего используется режим Ideal?
Переключение в режим Ideal и выход из него
Отличия режима Ideal и режима MASM
Выражения и операнды
Операции
Подавление корректировок
Операнд инструкции BOUND
Сегменты и группы

Доступ к данным в сегменте, принадлежащем группе
Комментарии в программах
Комментарии в конце строки
Директива COMMENT
Продолжение строки
Использование включаемых файлов
Предопределенные идентификаторы
Присваивание идентификаторам значений

Общая структура модуля
Директива VERSION
Директива NAME
Директива END
Вывод сообщения в процессе ассемблирования
Вывод предупреждающих сообщений
Вывод нескольких сообщений об ошибках
Глава 4. Объектно-ориентированное программирование
Терминология
Для чего в Турбо Ассемблере используются объекты?

Что такое объект?
Пример объекта
Описание объектов
Описание процедуры методa
Таблица виртуальных методов
Инициализация таблицы виртуальных методов

Вызов метода объекта
Вызов статического метода
Вызов виртуального метода
Вызов виртуальных методов "предков"
Кое-что еще о вызове методов
Создание экземпляра объекта
Программирование с объектами
Пример из области программирования

Глава 5. Использование выражений и значений идентификаторов
Константы
Числовые константы
Изменение используемого по умолчанию основания
Строковые константы
Идентификаторы
Имена идентификаторов
Типы идентификаторов
Адресные подтипы данных
Описание сложного адресного подтипа

Выражения
Точность в выражениях
Константы в выражениях
Идентификаторы в выражениях
Регистры
Стандартные значения идентификаторов
Значения простых идентификаторов
Унарная операция LENGTH
Унарная операция WIDTH
Унарная операция MASK

Общие арифметические операции
Простые арифметические операции
Логические арифметические операции
Поразрядные операции сдвига
Операции сравнения
Задание адресного подтипа выражения
Получение типа выражения
Переопределение сегментной части адресного выражения
Получение сегмента и смещения адресного выражения
Создание адресного выражения, использующего счетчик инструкций

Определение характеристик выражения
Ссылки на структуры, объединения и смещения элементов в таблице
Описание содержимого адреса

Начало работы на Турбо Ассемблере

Подразумеваемое сложение
Получение значения старшего или младшего байта выражения
Задание 16- или 32-разрядных выражений
Глава 6. Директивы выбора процессора и идентификаторы процессора
Директивы процессоров iAPx86

Идентификатор @Cpu
Идентификатор @WordSize
Директивы сопроцессора 8087
Директивы эмуляции сопроцессора
Глава 7. Использование моделей памяти программы и сегментации
Директива MODEL
Идентификаторы, генерируемые директивой MODEL

Идентификатор @Model
Идентификатор @32Bit
Идентификатор @CodeSize
Идентификатор @DataSize
Идентификатор @Interface
Упрощенные сегментные директивы
Идентификаторы, создаваемые упрощенными директивами сегментации
Директива STARTUPCODE
Идентификатор @Startup
Директива EXITCODE

Определение общих сегментов и групп
Директива SEGMENT
Атрибут комбинирования сегментов
Атрибут класса сегмента
Атрибут выравнивания сегмента
Атрибут размера сегмента
Атрибут доступа к сегменту
Директива ENDS
Директива GROUP
Директива ASSUME

Переопределение сегмента
Изменение упорядочивания сегментов в модуле
Директива .ALPHA
Директива .SEQ
Директива DOSSEG: упорядочивание сегментов в порядке DOS
Изменение размера стека
Глава 8. Определение типов данных
Определение перечислимых типов данных
Определение записей с битовыми полями
Определение структур и объединений

Открытие определения структуры или объединения
Задание элементов структуры и объединения
Определение меток элементов структур с помощью директивы LABEL
Выравнивание элементов структуры
Закрытие определения структуры или объединения
Вложенные структуры и объединения
Включение одной именованной структуры в другую
Использование имен структур в выражениях
Определение таблиц

Переопределение элементов таблицы
Определение именованного типа
Определение объекта
Директива TBLPTR
Идентификаторы, определяемые расширенной директивой STRUC
Глава 9. Задание и использование счетчика адреса
Идентификатор счетчика адреса $
Директивы счетчика адреса $
Директива ORG

Директивы EVEN и EVENDATA
Директива ALIGN
Определение меток
Операция :
Директива LABEL
Директива ::
Глава 10. Описание процедур
Синтаксис определения процедур
Описание процедур NEAR или FAR

Описание языка процедуры
Задание модификатора языка
Определения аргументов и локальных переменных
Синтаксис директив ARG и LOCAL
Область действия аргументов и имен локальных переменных
Сохранение регистров
Вложенные процедуры и правила области действия
Описание процедур методов для объектов

Глава 11. Управление областью действия идентификаторов
Переопределяемые идентификаторы
Область действия в границах блока
Директивы LOCALS и NOLOCALS
Область действия в границах блока в MASM
Локальные метки в стиле MASM
Глава 12. Определение данных
Простые директивы определения данных

Простые директивы определения данных - 4
Создание экземпляра структуры или объединения
Инициализация экземпляра структуры или объединения
Создание экземпляра записи
Инициализация экземпляров записи
Создание экземпляра данных перечислимого типа
Инициализация экземпляра перечислимого типа данных
Создание экземпляра таблицы

Инициализация экземпляров таблицы
Создание и инициализация экземпляра именованного типа данных
Создание экземпляра таблицы виртуальных методов объекта
Глава 13. Расширенные инструкции
Эффективная генерация кода: директивы SMART и NOSMART
Расширенные инструкции перехода
Дополнительные инструкции цикла процессора 80386
Дополнительные инструкции ENTER и LEAVE
Дополнительные инструкции возврата

Расширенные инструкции PUSH и POP
Инструкции PUSH и POP с несколькими операндами
Использование в инструкциях PUSH и POP указателей
Занесение в стек константа (процессор 8086)
Расширенные инструкции сдвига
Принудительное переопределение сегментов: инструкции SEGxx
Дополнительные инструкции работы с флагами
Дополнительные инструкции работы с битами полей
Инструкция GETFIELD
Дополнительная быстрая инструкции непосредственного умножения

Расширение необходимых инструкций для процессора 80386
Вызов процедур с кадрами стека