Программная модель процессора Intel 8086
АССЕМБЛЕР ДЛЯ IBM PC
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
Часть 1
Основы программирования
Лабораторная работа № 1
Разработка и отладка программы на языке Ассемблера
Цель:Изучить общие принципы построения программ на языке Ассемблера, выработать навыки подготовки, трансляции и отладки программ на языке Ассемблера.
Задачи:
ü научится инсталлировать программный пакет Borland Turbo Assembler 5.0;
ü получить практические навыки инсталляции программного продукта;
ü рассмотреть процессы ассемблирования, компоновки и выполнения программы на языке Assembler;
ü научиться создавать файл с текстом программы на языке ассемблера, создавать объектный код и исполняемый модуль *.EXE.
ü получить практические навыки ввода текста на языке Ассемблера, компиляции, компоновки и исполнения программы;
ü рассмотреть процесс отладки программы с помощью программ отладчиков debug фирмы Microsoft и Turbo Debugger фирмы Borland, получить практические навыки отладки программы написанной на языке Ассемблера с их помощью.
Теоретическая часть.
У существующих реализации ассемблера нет интегрированной среды, подобной интегрированным средам Pascal или С. Для выполнения функций по вводу кода программы, ее трансляции, редактированию и отладке используются отдельные служебные программы, которые входят в состав специализированных пакетов ассемблера. Традиционно на рынке ассемблеров для микропроцессоров фирмы Intel имеется два пакета:
ü MASM (Макроассемблер) фирмы Microsoft;
ü TASM (Turbo Assembler) фирмы Borland.
В эти пакеты входят трансляторы, компоновщики, отладчики и другие утилиты для повышения эффективности процесса разработки программ на ассемблере.
Для выполнения практических заданий мы будем пользоваться пакетом Turbo Assembler 5.0 фирмы Borland.
Программная модель процессора Intel 8086.
В IBM-совместимых компьютерах применяются процессоры, совместимые с семейством микропроцессора Intel 8086. Структурная схема базовой модели микропроцессора Intel 8086 приведена на рис. 1.1. [].
Условно процессор можно разделить на две части: исполнительный блок (Execution Unit) и устройство сопряжения с системной магистралью (Bus Interface Unit). В исполнительном блоке находятся: арифметический блок и регистры[1] общего назначения. Арифметический блок включает арифметико-логическое устройство, вспомогательные регистры для хранения операндов и регистр флагов. Устройство сопряжения с системной магистралью содержит управляющие регистры, конвейер команд, АЛУ команд, устройство управления исполнительным блоком процессора и интерфейс памяти, соединяющий внутреннюю магистраль процессора с системной магистралью. В языке программирования на Ассемблере в архитектуре процессора значение имеет только знание назначений регистров. Поэтому рассмотрим их более подробно.
Процессоры 8086, 8088 и 80286 имели 16-разрядные регистры. Регистры условно подразделяются на регистры общего назначения: AX[2], BX, DX, CX, регистры состояния: IP и управления: Flags, сегментные регистры: CS, DS, ES, SS и индексные регистры: SI, DI, SP, BP).