Книга предназначена для читателей-программистов, желающих изучить язык ассемблер и возможности микропроцессоров 8088 с целью написания более мощных, быстрых и коротких программ. "Гроссмейстер" программирования Питер Нортон делится своим богатым опытом с читателями. Книга существенно расширяет кругозор пользователей IBM PC.
Название: Язык ассемблера для IBM PC Автор: Нортон П., Соухэ Д. Издательство: Издательство "Компьютер", Финансы и статистика Год: 1992 Страниц: 352 Формат: DJVU Размер: 4,17 МБ ISBN: 5-279-00936-9 Качество: Отличное
Содержание:
Почему именно Ассемблер? Dskpatch Требования к конфигурации компьютера Организация этой книги Часть I. Язык машины Глава 1. DEBUG и арифметика Шестнадцатеричные числа Debug Шестнадцатеричная арифметика Перевод шестнадцатеричных чисел в десятичную форму Пятизначные шестнадцатеричные числа Перевод десятичных чисел в шестнадцатеричную форму Отрицательные числа Биты, байты, слова и двоичная система счисления Дополнительный код - особый тип отрицательного числа Итог Глава 2. Арифметика микропроцессора 8088 Регистры как переменные Память и микропроцессор 8088 Сложение, метод микропроцессора 8088 Вычитание, метод микропроцессора 8088 Отрицательные числа в микропроцессоре 8088 Байты в микропроцессоре 8088 Умножение и деление, метод микропроцессора 8088 Итог Глава 3. Вывод символов на экран INT - мощное прерывание Грациозный выход - INT 20h Программа из двух строк - соединение частей вместе Ввод программ Использование команды MOV для пересылки данных между регистрами Вывод на экран строки символов Итог Глава 4. Вывод на экран двоичных чисел Циклический сдвиг и флаг переноса Сложение с использованием флага переноса Организация циклов Вывод на экран двоичного числа Команда обхода Итог Глава 5. Вывод на экран чисел в шестнадцатеричной форме Операция сравнения и биты состояния Вывод на экран одной шестнадцатеричной цифры Еще одна инструкция сдвига Логика и AND Сборка всех частей программы вместе Итог Глава 6. Ввод символов с клавиатуры Ввод одного символа Считывание шестнадцатеричного числа, состоящего из одной цифры Считывание двузначного шестнадцатеричного числа Итог Глава 7. Процедуры - двоюродные сестры подпрограмм Процедуры Стек и адрес возврата Использование инструкций PUSH и POP Более простой способ считывания шестнадцатеричных чисел Итог Часть II. Язык ассемблера Глава 8. Добро пожаловать в ассемблер! Создание программы без использования Debug Создание исходных файлов Компоновка Обратно в Debug Комментарии Метки Итог Глава 9. Ассемблер и процедуры Процедуры ассемблера Процедуры, выводящие на экран шестнадцатеричные числа Начала модульного конструирования программ Структура программы Итог Глава 10. Вывод на экран десятичных чисел Вспоминаем перевод чисел Некоторые трюки Внутренняя работа Итог Глава 11. Сегменты Секционирование памяти микропроцессором 8088 Псевдооператоры сегментов Псевдооператор ASSUME "Близкие" и "дальние" вызовы процедур Подробнее об инструкции INT Вектора прерываний Итог Глава 12. Коррекция курса Дискеты, сектора и Dskpatch План игры Итог Глава 13. Модульное конструирование Раздельное ассемблирование Три Закона Модульного Конструирования Итог Глава 14. Дампирование памяти Режимы адресации Добавление в дамп символов Дампирование 256 байт памяти Итог Глава 15. Дампирование сектора диска Облегчение жизни Формат файла для Make "Починка" Disp_sec Считывание сектора Итог Глава 16. Улучшение изображения сектора Добавление графических символов Добавление к изображению адресов Добавление горизонтальных линий Добавление к изображению чисел Итог Часть III. ROM BIOS IBM PC Глава 17. Подпрограммы ROM BIOS VIDEO_IO, подпрограммы ROM BIOS Движение курсора Применение изменяемых переменных Построение заголовка Итог Глава 18. Окончательный вариант WRITE_CHAR Новая процедура WRITE_CHAR Стирание до конца строки Итог Глава 19. Диспетчер Dispatcher Считывание других секторов Философия следующих глав Глава 20. Вызов программистам Псевдокурсор Простейшее редактирование Другие изменения и дополнения к Dskpatch Глава 21. Псевдокурсоры Изменение атрибута символа Итог Глава 22. Простейшее редактирование Перемещение псевдокурсоров Простейшее редактирование Итог Глава 23. Шестнадцатеричный и десятичный ввод Шестнадцатеричный ввод Десятичный ввод Итог Глава 24. Улучшенный ввод с клавиатуры Новая процедура READ_STRING Глава 25. В поисках ошибок Исправление DISPATCHER Итог Глава 26. Запись модифицированных секторов на диск Запись на диск Некоторые приемы отладки Построение карты загрузки Трассировка ошибок Symdeb Символьная отладка Экранный свопинг Итог Глава 27. Другая половина сектора Скроллинг половины сектора Итог Часть IV. Дополнение к сказанному Глава 28. Перемещение Программы, состоящие из нескольких сегментов Перемещение .СОМ-программы в сравнении с .ЕХЕ-программами Глава 29. Подробнее о сегментах и ASSUME Переприсвоение сегментов Еще один взгляд на ASSUME Фазовые ошибки Послесловие Приложение A. Руководство по диску Примеры к главам Улучшенная версия Dskpatch Приложение B. Листинг DSKPATCH Описание процедур CURSOR.ASM DISKJO.ASM DISPATCH.ASM DISP_SEC.ASM DSKPATCH.ASM EDITOR.ASM KBDJO.ASM PHANTOM.ASM VIDEOJO.ASM Листинг процедур Dskpatch DSKPATCH Make File CURSOR.ASM DISK IO.ASM DISPATCH.ASM DISP_SEC.ASM DSKPATCH.ASM EDITOR.ASM KBD_IO.ASM PHANTOM.ASM VIDEOJO.ASM Приложение C Порядок загрузки сегментов Фазовые ошибки трансляции Сообщение "File Cannot be Converted" Приложение D. Сообщения об ошибках MASM LINK EXE2BIN