Ассемблер и программирование для IBM PC



       

Питер Абель. Ассемблер и программирование для IBM PC - часть 4


Ассемблер для IBM PC 7

Повторение: REPT, IRP и IRPC Условные директивы Директива EXITM Макрокоманды, использующие IF и IFNDEF условия Макрокоманды, использующие IFIDN условие Основные положения на память Вопросы для самопроверки

21. Связь между подпрограммами

Введение Межсегментные вызовы Атрибуты EXTRN и PUBLIC Программа: Использование EXTRN и PUBLIC для меток Программа: Использование PUBLIC в кодовом сегменте Программа: Общие данные в подпрограммах Передача параметров Связь Бейсик-интерпритатор - ассемблер Связь Паскаль - ассемблер Связь C - ассемблер Основные положения на память Вопросы для самопроверки

22. Загрузчик программ

Введение COMМAND.COM Префикс программного сегмента Выполнение COM-программы Выполнение EXE-программы Пример EXE-программы Функция загрузки или выполнения программ

23. BIOS и DOS прерывания

Введение Обслуживание прерываний BIOS прерывания DOS прерывания Функции DOS INT 21H Резидентные программы Порты Генерация звука

24. Справочник по директивам ассемблера

Введение Индексная память Команды ассемблера Директивы ассемблера

25. Справочник по командам ассемблера

Ассемблер для IBM PC 8

Введение Обозначение регистров Байт режима адресации Двухбайтовые команды Трехбайтовые команды Четырехбайтовые команды Команды в алфавитном порядке

Приложения

1. ASCII коды 2. Шестнадцатерично-десятичные преобразования 3. Зарезервированные слова 4. Режимы ассемблирования и компановки

Ответы на некоторые вопросы

Индексный указатель

Ассемблер для IBM PC 9

------------------------------------------------------------

Предисловие

Появление микропроцессоров в 60-х годах cвязано с разра боткой интегральных схем (ИС). Интегральные схемы объединяли в себе различные элэктронные компоненты в единый элемент на силиконовом "чипе". Разработчики установили этот крошечный чип в устройство, напоминающие сороконожку и включили его в функционирующие системы. В начале 70-х микрокомпьютеры на процессоре Intel 8008 возвестили о первом поколении микро процессоров. К 1974 году появилось второе поколение микропроцессоров oбщего назначения Intel 8080. Данный успех побудил другие фирмы к производству этих или аналогичных процессоров. В 1978 году фирма Intel выпустила процессор третьего поколения - Intel 8086, который обеспечивал некоторую совмес тимость с 8080 и являлся значительным продвижением вперед в данной области. Для поддержки более простых устройств и обес печения совместимости с устройствами ввода/вывода того времени Intel разработал разновидность процессора 8086 - процессор 8088, который в 1981 году был выбран фирмой iВМ для ее персональных компьютеров. Более развитой версией процессора 8088 является процесcор 80188, а для процессора 8086 - процессоры 80186, 80286 и 80386, которые обеспечили дополнительные возможности и повы cили мощность вычислений. Микропроцессор 80286, установлен ный в компьютерах IBM AT появился в 1984 году. Все эти процессоры имеют отношение к развитой архитектуре процессо ров фирмы Intel и обозначаются как iAPX 86, iAPX 88, iAPX 86, iAPX286 и iAPX386, где APX - Intel Advanced Processor Architecture. Распространение микрокомпьютеров послужило причиной пеpе смотра отношения к языку ассемблера по двум основным причи нам. Во-первых, программы, написанные на языке ассемблера, требуют значительно меньше памяти и времени выполнения. Во-вторых, знание языка ассемблера и результирующего машин ного кода дает понимание архитектуры машины, что вряд ли обеспечивается при работе на языке высокого уровня. Хотя большинство специалистов в области программного обеспечения ведут разработки на языках высокого уровня, таких как Паскаль или С, что проще при написании программ, наиболее мощное и эффективное программное обеспечение полностью или частично написано на языке ассемблера. Языки высокого уровня были разработаны для того, чтобы избежать специальной технической особенности конкретных компьютеров. Язык ассемблера, в свою очередь, разработан для конкретной специфики компьютера или точнее для специфики процессора. Следовательно, для того, чтобы написать програм му на языке ассемблера для конкретного компьютера, следует знать его архитектуру и данная книга содержит весь необходи мый базовый материал. Для работы кроме этого материала и cоответствующих знаний необходимы следующее:




Содержание  Назад  Вперед