Математика | ||||
Программирование на языке ассемблера для персональной ЭВМ фирмы IBM-Брэдли Д. М.: Радио и связь, 1988. — 448с.: ил. | ||||
Программирование на языке ассемблера для персональной ЭВМ фирмы IBM-Брэдли Д. М.: Радио и связь, 1988. — 448с.: ил.
Брэдли Д. Программирование на языке ассемблера для персональной ЭВМ фирмы IBM: Пер. с англ. — М.: Радио и связь, 1988. — 448с.: ил. ISBN 5-256-00151-5. В книге американского автора рассмотрены вопросы программирования на языке ассемблера 16-разрядного микропроцессора общего назначения 8086/8088.И арифметического сопроцессора данных 8087 фирмы Intel. Описаны архитектура процессоров, назначение регистров, режимы адресации, набор команд! Показаны особенности программирования на языке ассемблера для персональной ЭВМ фирмы IBM. Раскрыта внутренняя организация микроэвм, дающая представление о взаимосвязи программных и аппаратных компонентов в микропроцессорных системах. Для разработчиков микропроцессорных систем и системных програм- ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ Предлагаемая читателю книга является одной из первых в СССР публикаций, посвященных системному программному обеспечению персональных компьютеров типа IBM PC. Компьютеры, совместимые с IBM PC, выпускаются во всем мире. Они имеют один и тот же тип процессора, одинаковую архитектуру, идентичные аппаратные средства поддержки работы внешних устройств, а также используют общее программное обеспечение. В СССР производится несколько видов персональных компьютеров, в той или иной степени совместимых с IBM PC. Эта книга будет безусловно полезна всем системным программистам, использующим такие персональные компьютеры. Кроме описания языка ассемблера, вы найдете в книге информацию о структуре, наборе команд и возможностях микропроцессора 8088; достаточно подробно рассматривается также арифметический сопроцессор 8087. В приложении дан полный список команд микропроцессора 8088 и сопроцессора 8087. В книге представлены сведения о некоторых способах управления основными внешними устройствами на разных уровнях: на уровне аппаратуры, базовой системы ввода-вывода и операционной системы. Описание языка ассемблера дается с приведением большого числа примеров, которые демонстрируют основные возможности процессора, аппаратуры, базовой системы ввода-вывода и операционной системы. Хочется предупредить читателя, что со времени выхода книги активно развивались как ассемблер и операционная система для IBM PC, так и сам компьютер. Это повлияло на способы записи команд арифметического сопроцессора, структуру и методы подключения к операционной системе дополнительных драйверов внешних устройств, структуру программ, постоянно находящихся в памяти персонального компьютера. Кроме того, развитие операционной системы привело к упрощению организации обмена данными с внешними устройствами, сокращению числа команд в прикладной программе, необходимых для обработки файлов на дисковых накопителях. Следует отметать, что описанные в книге функции доступа к файловой системе операционной системы в настоящее время практически не используются. Эти изменения в основном отражены в примечаниях редактора перевода. А. Чижов ОГЛАВЛЕНИЕ Предисловие к русскому изданию.................................5 Предисловие...............................;...............в Глава 1. Введение.............................................8 Программирование на языке ассемблера........................8 Персональная ЭВМ фирмы IBM.............................10 О данной книге.......................................10 Глава 2. Основы ЭВМ........................................11 Двоичная арифметика...................................11 Дополнение до двух....................................13 Шестнадцатеричное представление...........................14 Машинный язык и язык ассемблера.......................... 15 Синтаксис языка ассемблера...............................17 Принцип работы ассемблера...............................18 Биты, байты и слова....................................20 Нумерация бит........................................23 Набор символов.......................................23 Принцип работы ЭВМ...................................27 Подпрограммы.......................................28 Стек.............................................. 30 Прерывания.........................................33 Глава 3. Микропроцессор 8088..................................35 Модель программирования микропроцессора 8088.................36 Регистры общего назначения............................... 36 Регистры для адресации..................................37 Прямая адресация.................................... . 38 Вычисление адреса.....................................38 Адресация типа база + индексное смешение......................39 База + индекс + индексное смещение..........................40 Байт mod-r/m..............................._........41 Физическая адресация...................................42 Сегментные регистры ...................................43 Подавление сегментации.................................44 Оператор SEGMENT...............................•...'.'." 45 Оператор ASSUME.................................'..'!.' 46 Управляющие регистры.................................'.48 Указатель команды.....................................48 Указатель стека.......................................49 Регистр флагов.......................................50 Флаг знака..........................................51 Флаг нуля...........................................51 Флаг четности . •....................................... 51 Флаг переноса........................................ 51 Флаг дополнительного переноса.............................53 Флаг переполнения......................................55 Флаг специального прерывания .............................56 Флаг прерываний......................................57 О лаг направления......................................57 Векторы прерываний....................................59 Глава 4. Набор команд микропроцессора 8088.........................60 Пересылка данных.....................................61 Команда пересылки....................................61 Команда замены......................................63 Команды ввода и вывода.................................64 Загрузка исполнительного адреса............................64 Загрузка указателя.....................................65 Пересылка флагов.....................................66 Перекодирование......................................66 Работа со стеком......................................68 Передача параметров....................................70 Арифметические команды................................72 Команда сложения.....................................72 Команда вычитания....................................74 Арифметика с одним операндом............................74 Команда сравнения.....................................74 Десятичная коррекция ..................................75 Символьная коррекция: сложение и вычитание...................76 Команда умножения....................................77 Символьная коррекция: умножение..........................78 Команда деления......................................79 Символьная коррекция: деление............................81 Команда преобразования.................................82 Арифметический пример.................................82 Логические команды....................................83 Команды сдвига ......................................85 Команды обработки строк................................88 Команды загрузки и записи...............................89 Префикс REP........................................90 Пересылка строки.....................................91 Команды сканирования и сравнения..........................91 Команды передачи управления..............................93 Близкие и далекие переходы...............................93 Адресация переходов ...................................94 Безусловные переходы..................................95 Условные переходы....................................96 Проверка кода условия..................................97 Управление циклом...................................100 Команды управления микропроцессором......................102 Установка флагов ....................................103 Специальные команды..................................103 Глава 5. DOS и ассемблер..................................... 105 Система DOS ......................„................. 105 Файловая система..................................... 106 Имена файлов....................................... 107 Каталог........................................... 108 Командный процессор.................................. 108 Функции DOS...................................... . 112 Блок управления файлов................................ 115 Файлы типов .СОМ и .ЕХЕ............................... 120 Создание программы на языке ассемблера..................... 123 Редактор строк...........................•.......... 123 Ассемблер и Макроассемблер............................. 127 Таблица символических имен............................. 130 446 Перекрестные ссылки..................................132 Редактор связей...................................... 134 Много модульность....................................134 Операторы EXTRN и PUBLIC .............................135 Операция связывания..................................138 Карта связей........................................139 Отладчик..........................................140 Преобразование файла типа .ЕХЕ в файл типа .СОМ ...............145 Глава 6. Элементы Макроассемблера..............................147 Макрокоманды......................................148 Параметры макрокоманд................................151 Условное транслирование................................153 Макрокоманды повторения..............................157 Операторы в макрокомандах.............................158 Оператор INCLUDE....................................159 Сегменты .......................'...................160 Структуры.........................................165 Записи...........................................169 Глава 7. Арифметический сопроцессор 8087.........................173 Работа микросхемы 8087................................173 Типы данных сопроцессора 8087...........................175 Представление данных с плавающей точкой.....................178 Форматы данных сопроцессора 8087.........................182 Определение действительных чисел..........................184 Программная модель сопроцессора 8087......................186 Регистровый стек.....................................186 Управляющее слово...................................187 Слово состояния.....................................190 Набор команд сопроцессора 8087...........................191 Команды пересылки данных..............................192 Команды управления ..................................195 Арифметические команды...............................197 Команды сравнения...................................199 . Трансцендентные и другие функции.........................201 Примерь...........................................204 Степени числа 10.....................................205 Число 10 в степени X...................................206 Индикация чисел с плавающей точкой........................207 Квадратное уравнение.............................'.....208 Синус угла..................................:......209 Отладка программ с сопроцессором 8087......................211 Глава8. Персональная.ЭВМфирмы IBM...........................213 Аппаратура системы...................................214 Динамик..........................................215 Клавиатура.................................'........218 Время суток........................................222 Системные возможности................................227 Дисплейные адаптеры..................................227 Адаптер монохромного дисплея и устройства печати...............227 Адаптер цветного графического монитора.....................229 Текстовый режим.....................................230 Графический режим...................................234 Цвета в графическом режиме.............................236 447 Графика высокого разрешения............................ 236 Адаптер параллельного печатающего устройства.................. 236 Адаптер асинхронной связи............................... 238 Адаптер управления играми.............................. 239 Адаптер дисковода.................................... 240 Прямой доступ в память................................ 242 Глава 9. Базовая система ввода-вывода.....................-.....243 Замечания к листингу программ BIOS........................245 Самопроверка при включении питания........................246 Прерывания программы BIOS . . ...........................249 Драйверы устройств...................................249 Прерывания, обслуживаемые программой пользователя ............250 Блоки параметров....................................250 Область данных BIOS...................................251 Программы драйверов устройств...........................252 Системный сервис....................................252 Печатающее устройство и асинхронная связь....................253 Клавиатура.........................................256 Данные клавиатуры...................................256 Структура программы клавиатуры BIOS......................258 Кассета...........................................259 Дисковые накопители..................................261 Области данных дискового драйвера BIOS.....................261 Команды чтения и записи................................263 Команда проверки....................................263 Команда форматирования ...............................264 Видеосредства.......................................265 Поля данных видеопрограммы BIOS.........................266 Функции видеопрограммы BIOS............................266 Установка режима....................................268 Сдвиг изображения....................................269 Чтение и запись символов................................270 Текст в графических режимах.............................271 Графика ..........................................273 Выдача на телетайп....................................273 Глава 10. Расширенные возможности ассемблера и подпрограммы на языке ассемблера........................................274 Расширение программы BIOS .............................274 Возврат в DOS с фиксацией программы в ОЗУ...................275 Загрузка в верхние адреса оперативной памяти..................281 Программы на языке ассемблера...........................286 Реализация оператора BLOAO языка Бейсик в виде программы на языке ассемблера ....................................286 Встроенные программы небольшого объема....................290 Компиляция программ, написанных на языках высокого уровня .......292 Выводы...........................................294 Список литературы........................................295 Приложение А. Набор команд микропроцессора 8088..................296 Приложение Б. Набор команд сопроцессора 8087.....................308 Приложение В. Примеры программ..............................314 Цена: 300руб. |
||||