Освоение Turbo Assembler


377 39 13MB

Russian Pages [544] Year 1996

Report DMCA / Copyright

DOWNLOAD DJVU FILE

Table of contents :
Обложка
Титульная страница исходного издания
Выходные сведения
Предисловие
Благодарность
ЧАСТЬ I. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ АССЕМБЛЕРА
Глава 1. Введение
Изучение языка ассемблера
Преимущества языка ассемблера
Недостатки языка ассемблера
Требования к аппаратному обеспечению
Требования к программному обеспечению
Пользователям Microsoft Windows
Как пользоваться этой книгой
Как подготовить ваши диски
Использование гибких дисков
Ввод исходных текстов программ
Резюме
Упражнения
Глава 2. Первые шаги
Основные части программы на ассемблере
Ассемблирование программы
Понимание объектного кода
Опции командной строки
Обработка ошибок
Введение в Turbo Debugger
Написание СОМ- и ЕХЕ-программ
Распечатка листингов программ
Резюме
Упражнения
Задания
Глава 3. Двоичные биты
Все о памяти
Сколько битов содержится в байте?
Двоичная арифметика и логика
Счет в двоичной системе
Двоичные и шестнадцатеричные числа
Запись значения в дополнительном коде
Логические операторы
Сдвиги и циклические сдвиги
Резюме
Упражнения
Задания
Глава 4. Программирование на языке ассемблера
Сегментация памяти
Регистры процессора 8086
Основные группы команд процессора
Команды передачи данных
Арифметические команды
Логические команды
Команды управления потоком
Команды управления процессором
Команды для работы со строками
Резюме
Упражнения
Задания
Глава 5. Простые структуры данных
Адресация данных в памяти
Способы адресации памяти
Выражения и операторы
Простые переменные
Инициализированные и неинициализированные данные
Строковые переменные
Локальные метки
Пакет для работы с ASCIIZ-строками
Программирование по частям
Пакет для ввода-вывода строк
Компоновка модулей в программу
Изучение модуля STRINGS
Резюме
Упражнения
Задания
Глава 6. Сложные структуры данных
Структуры
Еще о числовых переменных
Массивы в языке ассемблера
Объединения и записи
Эффективные логические операции
Использование заранее указываемых макроопределений
Выполнение VERSION
Преобразования чисел и строк
Программирование преобразователя между различными системами счисления
Резюме
Упражнения
Задания
Глава 7. Ввод и вывод
Стандартный ввод и вывод
Написание DOS-фильтров
Печать текста
Использование видеопамяти
Модуль для работы с видеопамятью
Модуль управления клавиатурой
Резюме
Упражнения
Задания
Глава 8. Макросы и условное ассемблирование
Что такое макрос
Преимущества и недостатки макросов
Создание макросов
Удаление макросов
Подстановка параметров
Макросы и переменные
Макросы и код
Условная компиляция
Запуск библиотеки макросов DOS
Резюме
Упражнения
Задания
Глава 9. Работа с дисковыми файлами
Понятие о дескрипторах файлов
Общие представления о дисках и файлах
Максимальное количество файлов
Открытие и закрытие файлов
Заполнение файловых буферов
Закрытие файлов
Обработка дисковых ошибок
Создание новых файлов
Чтение командной строки DOS
Чтение и запись текстовых файлов
Чтение и запись файлов данных
Чтение каталога диска
Резюме
Упражнения
Задания
Глава 10. Обработка прерываний
Мы прерываем эту программу
Написание процедур обработки прерываний
Маскируемые и немаскируемые прерывания
Векторы прерываний и микросхема 8259
Почему команда hit не останавливает программу
Обработка прерываний
Внедрение в прерывание часов PC
Команда окончания прерывания
Прерывания и стеки
Использование команд int и into
Отлавливание прерывания ошибки деления
Исправление ошибки деления
Установка обработчика ошибки деления
Установка кода TSR в памяти
Прерывания, управляющие последовательным обменом
Отладка с прерываниями
Пошаговое выполнение
Резюме
Упражнения
Задания
Глава 11. Дополнительные темы
Углубление ваших знаний ассемблера
Двоично-кодированные десятичные числа (BCD)
Математическая библиотека для работы с BCD
Отдельные дополнительные директивы
Обработка таблиц
Жесткий способ определения сегментов
Директива SEGMENT
Директива ASSUME
Директива GROUP
Использование сегментов в программах
Дальние сегменты данных
Программирование 80286 и старших моделей профессоров
Программирование процессора 80386
Директива VERSION
Перечисляемые типы данных
Становимся SMART (ушлыми)
Некоторые дополнительные команды
Резюме
Упражнения
Задания
ЧАСТЬ II. ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ
Глава 12. Использование языка ассемблера при программировании на Pascal
Возможность усовершенствования
Выявление критичных участков программы (критичного кода)
Преобразование программы на Pascal к ассемблерному коду
Внешние процедуры и функции
Модель памяти Pascal
Вызов процедур Pascal
Демонстрационный пример
Адресация данных кодового сегмента
Адресация констант с определенным типом
Вызов функций Pascal
Адресация переменных Pascal
Вызов внешних функций
Передача параметров
Использование модели памяти TPASCAL
Использование директивы ARG
Написание внешних строчных функций
Проблема быстродействия
Резюме
Упражнения
Задания
Глава 13. Использование языка ассемблера при программировании на С и C++
Применение С и C++ совместно с языком ассемблера
Определение критичного кода
Использование регистров
Ассемблерные операторы Inline
Разделение данных
Внешние программы на ассемблере
Вызов ассемблерных функций из С
Ассемблирование и компоновка внешних модулей
Отладка многоязыковых программ
Вызов функций С из языка ассемблера
Результаты выполнения функции
Локальные переменные
Вызов функций C++ из ассемблера
Передача аргументов функции
Использование классов C++ с языком ассемблера
Резюме
Упражнения
Задания
Глава 14. Программирование с объектами
Объектно-ориентированное программирование (ООП) посредством TASM
Для чего используется ООП
Основы объектов TASM
Полиморфизм
Другие узкие места и "завлекалочки" ООП
Резюме
Упражнения
Задания
Глава 15. Программирование для Windows
Введение в программирование для Windows с применением TASM
Развитие прикладных программ для Windows с использованием TASM
Резюме
Упражнения
Задания
ЧАСТЬ III. СПРАВОЧНИК
Глава 16. Справочное руководство по ассемблеру
О справочнике
Инструкции защищенного режима
Обращение к источнику
Распределение времени для инструкций и двоичное кодирование
Как пользоваться справочником
Глава 17. Справочник по Turbo Assembler
Символы
Операторы
Эквиваленты режимов
Директивы
Библиография
Оглавление

Освоение Turbo Assembler

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up