Команда D (Display - показать) в программе DEBUG
Эта команда выводит содержимое указанной области памяти на экран. Следующие три примера используют команду D для просмотра одного и того же участка памяти, начинающегося со смещения ЗС1H в сегменте кода (CS):
D CS:3C1 (команда набрана заглавными буквами с пробелом);
DCS:3C1 (команда набрана заглавными буквами без пробела);
dcs:3cl (команда набрана строчными буквами без пробела);
В результате выполнения команды получается восемь строк. В левой части каждой из них будет указан адрес первого слева показанного байта в форме сегмент: смещение. Основную часть строки, в центре, занимает шестнадцатеричное представление параграфа, начинающегося с указанного в начале строки байта. Справа на экран выведены в ASCII-форме символы этого параграфа, которые можно вывести на экран, для облегчения интерпретации шестнадцатеричной записи.
Команда D выводит 8 строк данных, в каждой из которых по 16 байт (32 шестнадцатеричных разряда), всего – 128 байт, начиная с указанного адреса.
Адрес слева относится только к первому байту в строке, адреса последующих байтов могут быть легко найдены простым счетом: например, если адрес первого байта – 0159:0240Н, то одиннадцатый байт в строке имеет адрес 0159:024АН. Шестнадцатеричное представление содержит два знака для каждого байта, байты разделяются пробелами для улучшения читаемости. Кроме того, восьмой и девятый байты разделяет дефис. Поэтому, например, если требуется найти байт со смещением хх13Н, начните с байта хх10Н и найдите третий после него байт.
|
|
Команда D также показывает содержимое регистров и состояние флагов в регистре Flags.
Упражнение 1: просмотр области данных BIOS
Первое упражнение показывает содержимое области данных BIOS в памяти, начиная с адреса 400Н или, более точно, с адреса сегмента 40[0]Н. BIOS инициализирует значения в этой области памяти при включении компьютера и меняет их в ходе выполнения программ.
Просматривайте эти значения при помощи адреса из двух частей: в качестве адреса сегмента (то есть 400, с отброшенным младшим разрядом), и nn в качестве смещения от начала сегмента. Воспринимайте адрес 40:nn как сегмент 40[0]Н плюс смещение nnН.
Проверка параллельных и последовательных портов
Первые 16 байт области данных BIOS содержат адреса параллельных и последовательных портов. Введите следующую команду:
D 40:00 (и нажмите <Enter>)
Первые четыре выведенных слова указывают на адреса портов от СОМ1 до COM4. Если на компьютере два последовательных порта, первые два слова, вероятно, содержат F803 и F802 в обращенной (с переставленными байтами) последовательности. Последовательные порты имеют адреса 03F8 и 02F8. Следующие 4 слова указывают на параллельные порты от LPT1 до LPT4. Для системы с одним параллельным портом первое слово, вероятно, содержит 7803, т.е. адрес порта – 0378.
|
|
Проверка оборудования системы
Слово состояния оборудования в области данных BIOS предлагает базовую информацию о присутствующих в системе устройствах. Это слово, расположенное по адресу 410Н - 411Н, можно просмотреть командой
D 40:10 (и нажмите <Enter>)
Выведенные строки должны начинаться так:
0040:0010 хх хх ...
Допустим, что слово содержит 23 44 в шестнадцатеричной форме. Чтобы интерпретировать его, переставим байты (44 23) и преобразуем в двоичную форму:
Двоичное значение: 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1
Позиция бита: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Эти биты означают:
Биты Устройство
15, 14 Число параллельных (принтерных) портов = 1 (двоичное 01)
11 – 9 Число последовательных портов = 2 (двоичное 010)
7,6 Число дисководов = 1 (00 = 1,01 = 2, 10 = 3, 11 = 4)
5,4 Начальный видеорежим = 10 (01 = 40x25 цветной,
10 = 80x25 цветной, 11 = 80x25 монохромный)
1 1 = присутствует математический сопроцессор
0 1 = присутствует привод для дискет
Неописанные биты не используются.
Дата добавления: 2018-04-04; просмотров: 789; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!