Главная » 2013»Май»29 » Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера
21:56
Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера
В книге автора из США рассмотрен широкий круг вопросов, связанных с программированием на языке ассемблера для персональных ЭВМ IBM PC и XT. Приведены полные системы команд микропроцессоров Intel 8088 и 8087. Рассмотрены вопросы использования ресурсов операционной системы DOS и управления внешними устройствами, работа с клавиатурой и звуковым генератором, программы обработки прерываний системы ввода-вывода. Приведено большое число примеров и задач с решениями. Для программистов.
Название: Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера Автор: Скэнлон Л. Издательство: Радио и связь Год: 1991 Страниц: 336 Формат: DJVU Размер: 6,45 МБ ISBN: 5-256-00956-7 Качество: Отличное
Содержание:
Предисловие к русскому изданию Предисловие. Зачем нужен язык ассемблера? Введение. Интенсивный курс систем счисления для ЭВМ 8.1. Двоичная система счисления Восемь битов образуют байт Сложение двоичных чисел Числа со знаком 8.2. Шестнадцатеричная система счисления Применение шестнадцатеричных чисел Упражнения Глава 1. Введение в программирование на языке ассемблера 1.1. Что такое язык ассемблера? 1.2. Происхождение микропроцессора 8088 1.3. Общие сведения о микропроцессоре 8088 Адресация Возможности программирования Область портов ввода-вывода Распределение памяти Прерывания Адресная шина и шина данных 1.4. Внутренние регистры Регистры данных Регистры сегментов Регистры указателей и индексов Указатель команд Флаги Упражнения Глава 2. Пользование Ассемблером 2.1. Что такое Ассемблер? 2.2. Разработка программы на языке ассемблера Редактор Ассемблер Загрузчик LINK Отладчик DEBUG Разработка программы методом «сверху вниз» 2.3. Операторы исходной программы Константы в операторах исходной программы 2.4. Команды языка ассемблера Поле метки Поле мнемокода Поле операнда Поле комментариев 2.5. Псевдооператоры Псевдооператоры данных Псевдооператоры управления листингом 2.6. Операции Арифметические операции Логические операции Операции отношения Операции, возвращающие значения Операции присваивания атрибутов 2.7. Ввод, трансляция и исполнение программы Создание рабочего диска Ассемблера Пример программы Ввод программы Трансляция программы Листинг исходной программы Создание исполняемого файла Исполнение программы Другие виды листинга 2.8. Модели структуры программы 2.9. Дополнительные псевдооператоры Псевдооператоры данных Условные псевдооператоры Листинговые псевдооператоры 2.10. Обзор ключевых моментов Упражнения Глава 3. Система команд микропроцессора 8088 3.1. Об этой главе 3.2. Режимы адресации Регистровая и непосредственная адресация Режимы адресации памяти 3.3. Типы команд 3.4. Команды пересылки данных Команды общего назначения Команды ввода-вывода Команды пересылки адреса Команды пересылки флагов 3.5. Арифметические команды Форматы арифметических данных Команды сложения Команды вычитания Команды умножения Команды деления Команды расширения знака 3.6. Команды манипулирования битами Логические команды Команды сдвига и циклического сдвига 3.7. Команды передачи управления Команды безусловной передачи управления Команды условной передачи управления Команды управления циклами 3.8. Команды обработки строк Префиксы повторения Команды пересылки строк Команды сравнения строк Команды сканирования строк Команды загрузки и сохранения строки 3.9. Команды прерывания 3.10. Команды управления микропроцессором Команды управления флагами Команды внешней синхронизации Команда холостого хода 3.11. Обзор ключевых моментов главы Упражнения Глава 4. Операции над числами повышенной точности 4.1. Умножение Умножение двух 32-битовых чисел без знака Умножение двух 32-битовых чисел со знаком 4.2. Деление 4.3. Извлечение квадратного корня Упражнения Глава 5. Манипулирование структурами данных 5.1. Неупорядоченные списки Добавление элемента к неупорядоченному списку Удаление элемента из неупорядоченного списка Поиск максимума и минимума в неупорядоченном списке 5.2. Сортировка неупорядоченных данных Пузырьковая сортировка 5.3. Упорядоченные списки Поиск в упорядоченном списке Вставка элемента в упорядоченный список Удаление элемента из упорядоченного списка 5.4. Табличные функции Табличные функции в качестве замены формул Табличные функции и преобразование кодов Таблицы переходов 5.5. Текстовые файлы Упражнения Глава 6. Пользование системными ресурсами 6.1. Память вычислительной системы 6.2. Прерывания системы BIOS Векторы прерываний микропроцессора 8088 Векторы прерывания микроконтроллера 8259 Входные точки системы BIOS Вызовы процедур пользователя Указатели системных таблиц 6.3. Прерывания операционной системы DOS Тип 21 (вызовы функций) Программа выдачи сообщений об ошибках операционной системы DOS версии 2 6.4. Работа с клавиатурой Система ASCII Принцип действия клавиатуры ЗВМ IBM PC Коды символов и scan-коды Прерывания для работы с клавиатурой 6.5. Преобразование чисел из ASCII-кодов в двоичную систему Преобразование строки ASCII-кодов в двоичное число Преобразование двоичного числа в строку ASCII-кодов Упражнения Глава 7. Простые способы получения графических изображений 7.1. Режимы изображения 7.2. Изображаемые символы Набор символов Команды дисплея Простые приемы построения изображений 7.3. Основы оживления изображений Старый трюк с движением «рожицы» 7.4. Создание сложных изображений с помощью таблицы образа Универсальная процедура изображения Упражнения Глава 8. Да будет звук! 8.1. Принцип работы динамика 8.2. Программирование динамика Процедура ВЕЕР системы BIOS Более универсальный генератор звуков 8.3. Музыка, музыка, музыка Процедура исполнения мелодии Музыка с клавиатуры Глава 9. Макроопределения 9.1. Введение в макроопределения Сравнение макроопределений и процедур Макроопределения ускоряют программирование Состав макроопределений 9.2. Псевдооператоры Макроассемблера Псевдооператоры общего назначения Псевдооператоры повторения Условные псевдооператоры Псевдооператоры управления листингом 9.3. Операции в макроопределениях 9.4. Задание макроопределений в исходных программах 9.5. Библиотека макроопределений Создание библиотеки макроопределений Указание для задания макроопределений Считывание библиотеки макроопределений в программу Описание макроопределений Текст макроопределений Глава 10. Библиотеки объектных модулей 10.1. Составление библиотеки объектных модулей 10.2. Выполнение операций над библиотекой объектных модулей Как получить каталог библиотеки 10.3. Пользование библиотеками объектных модулей Глава 11. Структурное программирование 11.1. Структурные операторы и структуры логики управления Условия в структурах логики управления 11.2. Структура IF Структура IF с частицей ELSE Функционирование структуры IF Варианты операнда 11.3. Структура DO Структура DO UNTIL Структура DO WHILE Структура DO COMPLEX Дополнительные операнды 11.4. Структура SEARCH Структура SEARCH UNTIL Структура SEARCH WHILE Структура SEARCH COMPLEX Дополнительные операнды 11.5. Ограничения на использование условий NCXZ и CXZ 11. 6. Составление структурированных программ Процедура Использование программы SALUT Переформатирование исходных текстов программой SALUT Глава 12. Математический сопроцессор 8087 12.1. Внутренние регистры Стек сопроцессора 8087 Формат чисел с плавающей точкой 12.2. Типы данных 12.3. Система команд 12.4. Программирование сопроцессора 8087 на макроассемблере Константы Псевдооператоры определения данных 12.5. Заключение Ответы к упражнениям Приложение А. Преобразование шестнадцатеричных чисел в десятичные и обратно Приложение Б. Набор ASCII-символов персональной ЭВМ IBM PC Приложение В. Времена исполнения команд микропроцессором 8088 Приложение Г. Система команд микропроцессора 8088 Приложение Д. Руководство по пользованию диском Указатель терминов Указатель команд и псевдооператоров