Мои Конспекты
Главная | Обратная связь


Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Использование отладчика



Отладчик Turbo Debuger предоставляет широкие возможности для отладки про-

грамм,использующих сопроцессор.Для наблюдения за состоянием регистров,со-

ставляющих программную модель сопроцессора в среде Turbo Debuger,необходи-

мо открыть специальное окно Numeric processor.Для этого выберите пункт главного

меню View >Numeric processor или нажмите сочетание клавиш Alt+V и далее N.По

умолчанию окно появится в компактном виде.Для того чтобы раскрыть его пол-

ностью,щелкните мь шью на стрелке в правом верхнем углу окна.

В заголовке окна отображаются четыре сообщения.

Модель сопроцессора (автоматически определяется отладчиком).

«IPTR=...» — сообщение о текущем содержимом указателя команд.Этот указа-

тель содержит физический (20-разрядный)адрес памяти,по которому распо-

ложена последняя выполнявшаяся инструкция сопроцессора.

ж «OPTR=...» — coo эщение об адресе памяти,к которому обращалась последняя

команда сопроцессора (если она имела адресный операнд).

9 «OPCODE=...» — |сообщение о коде операции последней исполняемой коман-

ды сопроцессора.Интересно отметить то,как формирует отладчик код опера-

У!Ы отмечали,что машинный код операции всех команд со-

сется с одинаковой последовательности битов — 11011,

ции в этом поле,

процессора начи

поэтому в поле OPCODE эти биты отбрасываются.Например,код команды fid —

Od906h (в двоичнфм виде — 1101 1001 0000 ОНО).Убираем пять битов,одина-

ковых для кода операции каждой команды сопроцессора,и получаем то,чтовидим в поле OPCODE заголовка окна Numeric processor,— 0106h (0000 0001 0000

ОНО).

В окне Numeric processor выделяются три области.Сразу заметим,что в отличие

от областей окна CPU области окна Numeric processor нельзя раскрывать отдельно.

Основную часть окна Numeric processor занимает область Registers,которая отража-

ет состояние восьми регистров стека сопроцессора ST(0)...ST(7).Указываются только

логические номера регистров.Наиболее полная информация о регистрах стека

предоставляется,если окно Numeric processor развернуто.Рассмотрим поля Registers,

описывающие состояние каждого из регистров стека сопроцессора.Первое поле

показывает состояние регистра.Возможные значения в этом поле следующие:

EMPTY -«пустой »;

VALID — в регистре корректное вещественное число;;

ZERO — в поле нулевое значение;

NaN — в регистре находится специальное численное значение — нечисло (Not

a Number).

Второе поле показывает логический номер регистра стека.Третье поле содер-

жит значения в регистре в виде 80-разрядного числа с плавающей точкой.Четвер-

тое поле показывает содержимое регистра стека в шестнадцатеричном виде.

В ходе отладки вы можете влиять на содержимое регистров стека.Для этого

в области Registers можно вызвать контекстное меню,активизируемое правой кноп-

кой мыши.В меню три команды:

в ZERO — обнуление содержимого регистра;

• EMPTY — освобождение регистра стека,при этом содержимое самого регистра

стека не изменяется,а изменению подвергается только тег в регистре тегов,

в который заносится значение lib;

it CHANGE — запись в регистр стека некоторого значения,которое должно быть

в допустимом формате в соответствии с синтаксисом ассемблера.

Следующую область окна Numeric processor условно можно назвать Control.Об-

ласть Control содержит совокупность полей,названия которых совпадают с назва-

ниями битов или полей битов в регистре управления сопроцессором CWR.Пере-

числим эти поля:

.1 1 IM — маска недействительной операции;

DM — маска денормализованного операнда;

ZM — маска деления на нуль;

ОМ — маска переполнения;

-UM — маска отрицательного переполнения;

РМ — маска точности;

IEM — маска запроса на прерывание (для i8087);

.PC — поле управления точностью;

RC — поле управления округлением;

1C — поле управления значением бесконечности. Контекстное меню области Control содержит всего одну команду — Toggle.Ее

назначение — циклическое изменение содержимого активного (в котором нахо-

дится курсор)поля.

Третья область ок та Numeric processor — Status — содержит совокупность полей,

названия которых совпадают с названиями битов или полей битов в регистре со-

стояния сопроцессор 1SW R:

IE — ошибка недействительной операции;

'DE — ошибка дено{>мализованного операнда;

-ZE — ошибка делещия на нуль;

ОЕ — ошибка переполнения;

UE — ошибка отрицательного переполнения;

-РЕ — ошибка точности;

• IR — маска запросу на прерывание;

-СС — код условия (состояние битов СЗ,С2,С1,СО);

-ST — указатель вер шины стека (поле ТОР регистра SWR).

Контекстное меню области Status содержит всего одну команду — Toggle.Ее на-

значение — цикличес кое изменение содержимого активного поля.

Сам процесс отладки программы ничем не отличается от процесса отладки про-

граммы для основного процессора.




Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.