Скачиваний:
23
Добавлен:
11.05.2015
Размер:
998.91 Кб
Скачать

5.11.7. Регистры тестирования и модельно-специфические регистры

Практически все процессоры от 80586 и выше имеют несколько десятков модельно-специфических регистров, но их назначение существенно меняется даже в пределах семейства. Некоторые процессоры посредством этих регистров могут управлять внутренним КЭШем, другие — механизмами машинного контроля и т.д. Единственный регистр, который весьма широко используется — TSC (Time Stamp Counter). Каждый такт процессора увеличивает значение этого 64-битного регистра на 1. Помимо TSC, некоторые процессоры имеют также счетчики производительности, которые увеличиваются на 1 при возникновении некоторого события (обращения к КЭШу, операции умножения, обращения к сопроцессору и т.д.).

6. Debug — средство непосредственной коррекции и отладки загрузочного кода программ

6.1. Введение

DEBUG является небольшой программой, позволяющей:

  • обратиться к любым ячейкам памяти ЭВМ (прочитать и записать значение в шестнадцатеричном формате или формате команд 8088, 8086 процессора, прочитать в ASCII-модифицированном формате);

  • запустить на выполнение программу в кодах или выполнить одну или несколько команд процессора;

  • считать или записать в/из памяти любой файл;

  • считать или записать значения регистра процессора (реально DEBUG лишь эмулирует обращения к регистрам, т.е. значения в регистры загружаются лишь на время выполнения команды или программы, но этот факт «прозрачен» для пользователя);

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

DEBUG входит в комплект некоторых версий MS-DOS и Windows. Его функциональные аналоги входят также в комплекты некоторых других, MS-DOS-совместимых ОС.

Особенности DEBUG:

  • наиболее прост для начальных шагов;

  • небольшой размер;

  • возможность работы на самых ранних процессорах;

  • управляется из командной строки и, следовательно, может использоваться в пакетных файлах (в основном, не для отладки, а для модификации программ или секторов диска).

DEBUG редко используется для реальной работы по отладке программ. В основном, это связано с тем, что он предназначен лишь для работы с программами, ориентированными на процессоры 8086 / 8088.

Помимо DEBUG, существуют более мощные отладчики: Quaid Analyzer, AFDPro, различные клоны Turbo Debugger, SoftICE — под MS-системы; под UNIX — различные версии gdb.

Далее будут рассмотрены некоторые команды DEBUG для MS-DOS версии 6.20. Прочие версии отличаются незначительно. Команды для удобства рассмотрения разбиты на группы. Все числа в примерах записаны в шестнадцатеричной системе. Перед рассмотрением введем несколько понятий:

  • смещение, сегмент — одно число в диапазоне от 0000 до FFFF;

  • адрес — сегмент и смещение, разделенные двоеточием «:».

Ниже мы рассмотрим некоторые команды DEBUG, которые потребуются при изучении следующей главы.

6.1.1. Команды без аргумента

В ответ на приглашение DEBUG: наберите «?» и нажмите <enter>. В ответ будет выдана подсказка по командам:

-?

assemble A [адрес]

compare C диапазон адрес

dump D [диапазон]

enter E адрес [список]

fill F диапазон список

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

hex H значение1 значение2

Соседние файлы в папке Введение в вычислительную технику.