Реклама:

(Эверт Ваттель, Свободный университет Амстердама, Голландия)

В каждом компьютере есть уровень архитектуры набора команд (Instruction Set Architecture, ISA), который представляет собой совокупность регистров, команд и других элементов, доступных программистам, пишущим на языках низкого уровня. Уровень ISA часто называют машинным языком, но это не совсем точное определение. Программа, написанная на машинном языке, являет собой длинный список двоичных чисел, описывающих исполняемые команды и их операнды, в котором одно число соответствует одной команде. Писать программы с операторами в виде двоичных чисел очень сложно, поэтому во всех машинах предусмотрен язык ассемблера - символическое представление архитектуры набора команд, в котором двоичные числа заменены именами наподобие ADD, SUB и MUL. В этом приложении содержится краткое руководство по программированию на языке ассемблера процессора 8088 компании Intel. Этот язык был реализован в первых машинах IBM PC, и именно на его основе развился современный язык ассемблера Pentium. Помимо прочего, в приложении описываются некоторые инструментальные средства, доступные в Интернете и способные помочь в процессе обучения программированию на языке ассемблера.

Назначение этого приложения не в том, чтобы готовить профессиональных программистов, пишущих на ассемблере, а в том, чтобы помочь читателю освоить архитектуру вычислительных систем через практические примеры. Именно по этой причине в качестве основы для изложения материала выбрана такая простая машина, как 8088 производства Intel. Сами по себе модели 8088 встречаются сейчас очень редко, но программы, написанные для них, можно выполнять и на современных системах Pentium, что позволяет читателю воочию наблюдать результаты своей работы. Скажем больше - значительная часть команд ядра Pentium совпадает с аналогичными командами 8088; различие между ними сводится лишь к разрядности регистров (32 и 16 бит соответственно). Таким образом, это приложение можно рассматривать как введение в курс программирования на языке ассемблера Pentium.

Чтобы программировать любую машину на ее ассемблере, программист должен хорошо разбираться в уровне архитектуры набора команд такой машины. По этой причине разделы "Основные понятия", "Процессор 8088", "Память и адресация" и "Набор команд 8088" посвящены детальному рассмотрению архитектуры, организации памяти, режимам адресации и командам 8088. В разделе "Ассемблер" содержится описание программного обеспечения, предназначенного для программирования на ассемблере. К этому программному обеспечению, которое распространяется совершенно бесплатно, мы будем обращаться впоследствии при изучении примеров программ. Следует учесть, что в ассемблерах других процессоров могут применяться оригинальные нотации, и к этому нужно быть готовым. В разделе "Трассер" рассматриваются программные средства интерпретации (трассировки, отладки), помогающие начинающим программистам устранять ошибки в программах. Раздел "Подготовительные действия" посвящен установке программного обеспечения и базовым приемам работы с ним. Наконец, в разделе "Примеры" содержатся готовые программы, примеры, задачи и их решения.

Вопросы и заданияB || Оглавление || Основные понятия