Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб2.doc
Скачиваний:
12
Добавлен:
23.11.2019
Размер:
148.99 Кб
Скачать

Получение и корректировка содержимого регистров

Команда register (r) позволяет выводить на эк­ран и корректировать значения регистров и флагов состояния процессора. Эта команда также выдает ин­формацию о следующей выполняемой команде. После ввода команды r и нажатия клавиши [Enter] на экране появляется окно программы (рис.2).

Рис. 2

В двух первых строчках представлены шестнадцатеричные значения регистров процессора:

  • Регистры сег­ментов (DS, ES, SS, CS) содержат одно и то же значе­ние - 150B (у вас это может быть и другое число).

  • Значение регистра SP равно FFЕЕ,

  • Значение регистра IР — 0100.

  • В остальных регистрах записаны нули.

В правой части второй строки находятся значения восьми флагов состояния процессора (см. табл.2). При загрузке отладчика все флаги, кроме IF, сбрасываются.

Данное состояние регистров устанавливается всегда после загрузки программы DEBUG (отличие может быть только в значении сегментных регистров, которое указывает на адрес ближайшего свободного сегмента памяти).

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

Например: Адрес машинного кода команды, которая будет выполнять­ся следующей, фиксируется в регистрах CS и IР. В нашем примере — это адрес СS:IР = 150B:0100.

Этот адрес и выведен в начале третьей строки. В ней представлена и другая информация об этой команде. Так, следующий параметр — это машинный код команды, содержащийся в поле памяти, которое на­чинается с адреса, указанного в начале строки.

С помощью команды r можно изменить значение любого регистра. Для этого в командной строке необ­ходимо указать также имя изменяемого регистра.

Например: -r cx

СХ 0000

:

Отладчик в ответ вывел имя регистра, его значение, а в следующей строке — двоеточие, приглашающее ввести новое значение регистра, напри­мер, значение 89АВ:

-r cx

СХ 0000

: 89АВ

Если вновь воспользоваться командой -r без параметров, то можно убедится, что требуемое изменение выполнено.

Команда r с параметром f выводит на экран флаги состояния процессора:

Например: - r f

NV UP EI PL NZ NA PO NC -

Получив значения флагов, их можно изменить. Для этого вводится одно или несколько новых зна­чений. Новые значения вводятся в любом порядке через пробел или без разделителя.

Например: Устано­вим, значения флагов переполнения, знака и переноса:

Для этого после выведенной чер­точки ("— ") требуется ввести значения:

OV NO CY

и нажать клавишу [Enter].

Теперь можно повторно ввести команду r и убе­диться, что установки флагов изменены.

Для окончания работы с отладчиком, следует набрать команду q.

Задания для самостоятельной работы

1. Запустите отладчик и установите следующие зна­чения регистров (в шестнадцатеричной системе счис­ления):

DS = 1000 + N

SS = 3FA9; ВР = 4А8 + N;

где N — ваш порядковый номер в списке группы.

2. Установите флаги знака, нуля и четности.

3. С по­мощью команды r убедитесь, что установка выполне­на верно.

4. Верните флаги в исходное состояние.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]