Проверка состояния регистра клавиатуры (клавиша Shift)
В области данных BIOS по адресу 417Н хранится первый байт состояния регистра клавиатуры. Убедитесь, что Num Lock и Caps Lock выключены, и просмотрите содержимое байта по этому адресу командой D 40:17.
Результат будет похож на
0040:0017 00 00 ...
Теперь включите Num Lock и Caps Lock и введите вновь команду D 40:17. Результат должен начинаться с 60 00.
Проверка состояния видеоустройства
В области данных BIOS по адресу 449Н находится первая область видеоданных (Video Data Area). Введите команду D 40:49. Первый показанный байт указывает на текущий видеорежим (например, 03 - цветной), а второй – число столбцов на экране (например, 50 означает режим с 80 столбцами). Число строк хранится по адресу 40:84Н.
Упражнение 2: Просмотр ROM BIOS
Сведения об авторском праве BIOS системы встроены в ROM BIOS no адресу FE00:0. В зависимости от производителя компьютера будут выведены различные строки, после которых будет указан семизначный серийный номер. Строка, указывающая на авторство BIOS, легко читается в виде ASCII-последовательности, а серийный номер – в виде шестнадцатеричного числа. Строка с указанием авторских прав может быть длиннее, чем показанный участок памяти; в этом случае для просмотра не показанной части снова введите D и нажмите <Enter>.
Проверка даты производства BIOS
Эта дата, записанная в виде мм/дд/гг, начинается с адреса FFFF5H. Для ее просмотра введите команду D FFFF:5. Знание этой даты полезно при определении возраста и модели компьютера.
|
|
Используя команду D, вы можете просмотреть содержимое любой области памяти. Можно также последовательно просматривать память, просто повторно вводя D – DEBUG будет выводить 128 байт, следующих за последними просмотренными.
Для завершения работы с DEBUG введите Q.
Упражнение 3: Использование непосредственных данных
Воспользуемся DEBUG для ввода первой из двух программ непосредственно в память и наблюдения за ее выполнением. Обе программы включают простые инструкции машинного языка в виде, в котором они находятся в памяти, и позволяют продемонстрировать эффект их выполнения. Выполнение упражнения начинается с команды Е (Enter, ввести).
Первая программа использует непосредственные данные - данные, определенные в теле инструкций. Далее показан как машинный код и соответствующий символьный код с комментариями для улучшения восприятия. Первой инструкции, В82301, соответствует символьный код MOV АХ,0123, заносящий (копирующий) значение 0123Н в регистр АХ (непосредственные данные записываются в прямой, с непереставленными байтами, форме). MOV – инструкция, АХ – ее первый операнд, непосредственное значение 0123Н – второй.
Машинная Символьный код Пояснение
|
|
инструкция
В82301 MOV AX,0123 Переслать значение 012Зh в АХ
052500 ADD AX,0025 Прибавить значение О025h к АХ
8ВD8 MOV BX,AX Переслать содержимое АХ в ВХ
03D8 ADD BX,AX Прибавить содержимое АХ к ВХ
8BCB MOV CX,BX Переслать содержимое BХ в CХ
2BС8 SUB CX,AX Вычесть содержимое AХ из СХ
2ВС0 SUB AX,AX Вычесть содержимое АХ из АХ (очистка АХ)
90 NOP Нет операции
EBEE JMP 100 Переход к началу программы.
Из примера видно, что машинные инструкции имеют длину 1, 2 или 3 байта. Первый байт указывает, собственно, операцию, а все последующие – ее операнды (непосредственные значения, ссылки на регистры или адреса в памяти). Исполнение программы начинается с первой машинной инструкции и последовательно проходит через все инструкции одну за другой.
Ввод инструкций программы
Для того чтобы ввести свою программу непосредственно в память, вводите только машинный код, символьный код и комментарии водить не нужно. Введите команду Е и следующие символы, как показано ниже.
Е CS:100 B8 23 01 05 25 00 (и нажмите <Enter>)
CS:100 указывает начальный адрес области, в которой будет храниться введенный код (обычный начальный адрес для машинного кода в программе DEBUG). Команда Е сохранит следующие за ней байты в адресах от CS:100 до CS:105.
Следующая команда Е сохранит еще 6 байт в адресах от CS:106 до CS:10B.
Е CS:106 8В D8 03 D8 8В СВ (нажмите <Enter>)
Последняя команда Е сохраните 6 байт в адресах от CS:10С до CS:111.
Е CS:10C 2В С8 2В С0 ЕВ ЕЕ (нажмите <Enter>)
Если вы введете неправильную строку, просто повторите ввод правильно.
Дата добавления: 2018-04-04; просмотров: 780; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!