ПРАКТИЧЕСКАЯ РАБОТА Программма-отладчик как средство практического изучения организации ЭВМ
учебно-методический материал на тему

Родионов Владимир Иванович

Системный отладчик DEBUG является утилитой MS DOS и используется для:
- отладки загpузочных модулей пpогpамм;
- выполнения опеpаций с памятью и поpтами компьютеpа.

Скачать:

ВложениеРазмер
Microsoft Office document icon pr_rab_otl.doc190 КБ

Предварительный просмотр:

ПРАКТИЧЕСКАЯ РАБОТА

  Программма-отладчик как средство практического изучения организации ЭВМ

1. Цель pаботы: изучение основных инструкций отладчика Debug, ознакомлении со структурой микроЭВМ IBM PC и освоении особенностей выполнения этих инструкций. 

2. Введение

Системный отладчик DEBUG является утилитой MS DOS и используется для:
- отладки загpузочных модулей пpогpамм;
- выполнения опеpаций с памятью и поpтами компьютеpа.

3. Порядок выполнения:

Сведения из теории

1.Состав и структура IBM PC

Структурную схему персональных компьютеров типа IBM PC различных модификаций можно представить в обобщенном виде, как показано на рисунке 1.1.

ris8_1.JPG

Рисунок 1.1

Персональный компьютер построен по модульному принципу, т.е. в его состав могут входить различные модули-устройства в зависимости от желания и финансовых возможностей покупателя. Отдельные модули соединяются между собой при помощи системной шины. На рисунке 1.1 показан минимальный комплект, включающий центральный процессор, оперативную память, дисплей с клавиатурой, накопители на гибких и жестких дисках, принтер и другие устройства. Центральный процессор, постоянная и оперативная память подсоединяются к общей шине непосредственно, а остальные устройства - при помощи контроллеров. В современных компьютерах для повышения производительности используют несколько шин различных типов.
Конструктивно обычно процессор, оперативная память, накопители на дисках и контроллеры остальных устройств объединены в один электронный блок. При этом процессор, а также оперативная и постоянная память располагаются на так называемой системной, или материнской плате, к которой с помощью штепсельных разъемов подсоединяются остальные устройства.

2. Структура микропроцессора

Основу компьютера составляет микропроцессор, упрощенная структура которого показана на рисунке 1.2. [Здесь приведена структурная схема процессора Intel 80286.] Для этого компьютера данные и команды имеют в основном формат длиной 2 байта (16 бит), а оперативная память может быть емкостью до 1 Мбайт.

ris8_2.JPG

Рисунок 1.2

Устройство управления дешифрирует команды и вырабатывает сигналы управления различными блоками процессора, а также блоками остальных устройств. Основой блока управления служит микропрограммная память, на адресный вход которой подается код операции из регистра команд.

Арифметико-логическое устройство (АЛУ) служит для выполнения арифметических и логических операций. Помимо результата операции, который сохраняется в регистре или памяти, АЛУ определяет ряд признаков результата, или флагов, которые фиксируются на специальном регистре – регистре флагов. Они будут описаны ниже.

В качестве регистра команд используется блок очереди команд; он позволяет хранить шесть очередных байтов команды. Очередь команд заполняется автоматически, как только освобождаются 2 байта в регистрах этого блока. Этот блок позволяет разместить в нем длинную команду и совместить во времени выполнение одной команды и выборку из основной памяти (ОП) следующей команды.

Для формирования исполнительного адреса памяти [он определяется сложением начального адреса сегмента, находящегося в регистре, и смещения в команде (см. ниже)] служит сумматор адресов. Буферы адреса/состояния и адреса/данных обеспечивают связь микропроцессора с другими устройствами. Шина адреса/данных имеет разрядность 16 бит. По этой шине передаются данные или младшие 16 бит адреса. Для передачи старших четырех бит адреса используется шина адреса/состояния.

Микропроцессор содержит 14 программно-доступных регистров, т.е. регистров, имеющих адреса, к которым можно обратиться из программы:

  • общие регистры, или регистры общего назначения (AX, CX, DX, BX);
  • адресные регистры (SP, BP, SI, DI);
  • сегментные регистры (CS, SS, DS, ES);
  • регистр флагов (признаков результата);
  • счетчик команд (IP).

Программно-доступные регистры позволяют хранить слова длиной 16 бит. Формат и адреса программно-доступных регистров приведены на рисунке 1.3. Общие регистры, иногда называемые также регистрами общего назначения (AX, CX, DX, BX), используются в качестве сверхоперативной памяти. Они допускают обращение как ко всему регистру (два байта), так и отдельно к старшему (Н) и младшему (L) байтам. Например, регистр АХ состоит из регистров АН (старший байт) и АL (младший байт). При этом регистр АХ имеет адрес 000, а регистры АН и AL - адреса 100 и 000, соответственно.

Регистры SP, BP, SI и DI обычно используются для хранения адресной информации, необходимой для определения адреса при различных режимах адресации.

Указатель команд (IP), называемый также счетчиком команд, предназначен для хранения адреса выполняемой команды. Более точно, в нем хранится не полный адрес, а только смещение в текущем сегменте (см. ниже).

Регистр флагов служит для хранения признаков результата выполнения команды. Эти признаки используются для организации условных переходов в программах. На рисунке 1.3 показано, что в регистре флагов используются только 8 разрядов.

ris8_3.JPG

Рисунок 1.3

Обозначение флагов

Флаг

Установлен

Сбpошен

Описание

CF

CY

CN

Флаг пеpеноса. Устанавливается в состояние 1, если аpифметическая опеpация вызвала пеpенос (пpи сложении) или заем (пpи вычитании) из стаpшего бита pезультата. В пpотивном случае флаг CF сбpасывается

PF

PO

PE

Флаг четности. Во многих командах устанавливается в 1, если младшие восемь бит pезультата содеpжат четное число единичных бит. В пpотивном случае флаг PF сбpасывается в 0.

AF

AC

NA

Флаг вспомогательного пеpеноса.Устанавливается в 1, если аpифметическая опеpация вызвала пеpенос (пpи сложении) или заем (пpи вычитании) из младшей тетpады. В пpотивном случае флаг CF сбpасывается в 0. Пpогpаммно этот флаг недоступен.

ZF

ZR

NZ

Флаг нуля. Большинством команд устанавливается в 1, когда pезультат опеpации pавен 0.

SF

NG

PL

Флаг знака. Большинство команд устанавливают флаг SF в то же состояние, в каком находится стаpший бит pезультата.

IF

EI

DI

Флаг пpеpывания. Пpи установленном флаге IF пpоцессоp pаспознает и обpабатывает внешние аппаpатные пpеpывания. Пpи IF=0 пpоцессоp игноpиpует аппаpатные пpеpывания.

DF

UP

DN

Флаг напpавления обpаботки цепочек.Пpи DF=0 после выполнения цепочечной опеpации пpоизводится автоматический инкpемент, а в состоянии DF=1 - автоматический декpемент индексных pегистpов ESI/SI и EDI/DI, адpесующих цепочки.

OF

NV

OV

Флаг пеpеполнения. Флаг OF устанавливается в 1,если в аpифметических опеpациях со знаковыми опеpандами pезультат пpевышает диапазон пpедставимых чисел.В пpотивном случае OF сбpасывается в 0.

Сегментные регистры (DS, CS, ES, SS) служат для сегментной организации оперативной памяти. При этом общее пространство памяти в 1 Мбайт делится на сегменты по 64 Кбайт каждый. Расположение сегмента в памяти жестко не фиксируется и задается при помощи сегментных регистров. В этом случае адрес ячейки оперативной памяти определяется адресом сегмента и смещением, которое указывается в команде. Сегментная организация памяти позволяет обеспечить перемещаемость программных модулей, т.е. возможность их записи на любое свободное место в оперативной памяти. Назначение сегментных регистров:

CS - сегмент кода (программы), используется для задания начального адреса сегмента памяти, в котором записана программа;

DS - сегмент данных, задает начальный адрес сегмента памяти, в котором записаны данные для активной программы;

            SS - сегмент стека, используется при организации стековой памяти;

ES - дополнительный сегмент, используется для временного хранения других сегментов, например, при выводе данных на терминал.

Как указано выше, емкость оперативной памяти этого компьютера составляет 1Мбайт, и адрес должен быть 20-битным, а разрядность регистров (в том числе сегментных регистров и регистров смещения) равна 16 бит. Поэтому для формирования исполнительного адреса памяти производится суммирование адреса сегмента и смещения, при этом адрес сегмента сдвигается влево на четыре бита.

Пусть, например, в регистре сегмента записан адрес сегмента 0000 0001 0001 0000, а смещение равно 0000 0011 0000 0000.

Тогда адрес памяти будет равен:

0000 0001 0001 0000

+ 0000 0011 0000 0000

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

0000 0001 0100 0000 0000

или в шестнадцатеричном виде 0 1 4 0 0

Для удобства ввода информации с клавиатуры она представляется в шестнадцатеричной системе счисления.

Общие сведения об отладчике Debug

Программа Debug (отладчик) предназначена для отладки программ, написанных на языке Ассемблера или на машинном языке. Отладчик позволяет вводить в оперативную память целые программы или отдельные команды, выполнять их в автоматическом или пошаговом режиме, а также анализировать результаты их выполнения путем просмотра содержимого ячеек оперативной памяти и регистров процессора. Перечень основных инструкций (команд) отладчика и их функции приведены в таблице 1.1.

Таблица 1.1

Инструкция

Функция

A [адрес]

[адрес] = [смещение] или

[сегмент:смещение]

Ассемблировать набор команд. Нажать “Enter” на пустой строке для окончания ввода.

U [адрес] или

U [диапазон]

Дизассемблировать. Отображает мнемонику кода операции, записанного по указанному адресу или 128 байтов, начиная с последнего адреса после предыдущего ассемблирования.

D [диапазон]

[диапазон]=[адрес, адрес] или

[адрес, L количество байт]

Выдать на экран содержимое памяти из заданного диапазона в шестнадцатеричном (и символьном) виде. Cодержимое каждого байта выдается на экран в виде двух шестнадцатеричных цифр.

Например: D 400,407 или D 400 L8 или D 1000:400,407 - выдать на экран содержимое восьми ячеек памяти, начиная с адреса 400.

E адрес [байты]

Вводит байты или строки в оперативную память.

Например: E 400 12 34 56 78 9A (ввести цифровые данные) или E 400 “ABCDEF” (ввести символьные данные)

F диапазон [байты]

Заполняет память по заданному «образцу байтов».

Например: F 400,407 12 34 (заполнить байты 400...407 данными 1 2 3 4), или F 400,407 “XYZ”, или F 400 L8 “XYZ” (заполнить 8 байтов, начиная с адреса 400, символами XYZ)

G [=адрес] [[адрес]...]

Выполняет команду, адрес которой указан в CS:IP, с возможными контрольными точками в указанных адресах. Например: G 1005 - выполнить с текущего адреса до IP = 1005. При написании инструкции не забудьте знак «равно».

Т [=адрес] [число шагов]

Трассировка. Пошаговое выполнение программы, начиная с адреса, указанного в команде Т или в CS:IP. На каждом шаге выполняется одна команда с выдачей на экран содержимого регистров. Например: T 5 - выполнить пять команд в пошаговом режиме. Т=1000 5

P [=адрес] [число шагов]

Трассировка. Исключить пошаговое выполнение вызова процедур и т.п.

I [порт]

Ввод. Отображает значение, считанное из указанного порта (при вводе).

O [порт]

Вывод байта в указанный порт.

N [диск:] путь [параметры]

Имя. Устанавливает имя файла и параметры командной строки.

L [адрес]

Загрузка. Загружает файл по указанному адресу или в CS:100H

W [адрес]

Запись фрагмента оперативной памяти в виде файла с именем, введенным в команде N. Размер записываемого фрагмента содержится в BX:CX.

R [регистр]

Ввод или отображение значений в регистрах.

Например: R- отобразить содержимое регистра;

R AX - отобразить содержимое регистра АХ или R IP - отобразить содержимое регистра IP.

После отображения содержимого можно ввести новое значение, нажав перевод каретки (после вывода символа “ : ”).

S [диапазон]

Поиск в памяти. Указывает адрес, по которому содержатся указанные байты или строка.

Например: S 1000 L4F “AGA” - найти адрес, по которому содержится строка “AGA”; поиск вести, начиная с адреса 1000 и до адреса 1000 + 4F = 104F.

Q [выход]

Завершение работы с отладчиком.


По теме: методические разработки, презентации и конспекты

База данных MS Access Практические работы (методические указания по проведению практических работ для специальностей юридического профиля)

Методическое пособие предназначено для студентов СПО юридического профиля, содержит восемь лабораторно - практических работ. Каждая практическая работа содержит теоретический материал, указания для вы...

Комплект методических материалов для практических работ по МДК 01.01 Практические основы бухгалтерского учета имущества организации

Комплект методических материалов для практических работ по МДК 01.01 Практические основы бухгалтерского учета имущества организации для специальности 080114 Экономика и бухгалтерский учет...

Методическое указание по выполнению практической работы по дисциплине "Технические средства информатизации"

Методические указания предназначены для студентов среднего профессионального образования второго курса  изучающих дисциплину «Технические средства информатизации».Целью методических указаний явля...

Практическая работа №2. Создание рамки средствами MS Visio

ЗаданиеОформите рамку чертежа и основную надпись (штамп)...

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ВЫПОЛНЕНИЮ ПРАКТИЧЕСКИХ РАБОТ по учебной дисциплине ОП.09 ЭКОНОМИКА ОРГАНИЗАЦИИ программы подготовки специалистов среднего звена по специальности 08.02.06 Строительство и эксплуатация городских путей сообщения

 Методические рекомендации по выполнению практических работ составлены в соответствии с Федеральным государственным образовательным стандартом, рабочим учебным планом, рабочей программой п...

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ВЫПОЛНЕНИЮ ПРАКТИЧЕСКИХ РАБОТ по учебной дисциплине ОП.11 ЭКОНОМИКА ОРГАНИЗАЦИИ программы подготовки специалистов среднего звена по специальности 08.02.08 Монтаж и эксплуатация оборудования систем газоснабжения

 Методические рекомендации по выполнению практических работ составлены в соответствии с Федеральным государственным образовательным стандартом, рабочим учебным планом, рабочей программой п...

Практическая работа №15. Окно авторизации средствами MS Access 2013

Данная практическая работа показывает один из способов реализации окна авторизации средставми MS Access 2013...