- •Оглавление
- •Описание лабораторных работ
- •Работа с файлами в среде debug
- •Работа с ячейками памяти посредством debug
- •Завершить работу с отладчиком и вернуться в Windows;
- •Выключить компьютер;
- •Оформить отчет и защитить работу.
- •Работа с системной областью rom bios в оперативной памяти
- •Выключить компьютер.
- •Ответить на контрольные вопросы;
- •Выключить компьютер.
- •Работа с программами
- •Выключить компьютер.
- •Работа с видеопамятью
- •Выключить компьютер.
-
вывести дамп для записанных адресов памяти и найти соответствующие коды в ячейках;
-
запустить программу на исполнение, посмотреть результат ее выполнения;
-
начиная с адреса CS:200, ввести непосредственно в ячейки ОЗУ коды команд программы, записанные по п. 3, заменив при этом код символа 41H на 34H;
-
запустить вторую программу и сравнить результат с полученным ранее по п. 5;
-
с помощью команды отладчика сравнить две области памяти с введенными программами. Результат сравнения записать в тетрадь;
-
вычислить длину программы, записанную в п.8, с помощью команды Н (Hexarithmetic).
-
сохранить программу, выполненную в п.8;
-
проверить результат записи программы (путь файла, имя файла, размер) в любом из проводников операционной системы;
-
самостоятельно составить программу, которая выполняет решение следующего выражения: 795-(293+147). Данные представлены в десятичном виде, т.е. необходимо самостоятельно перевести данные в шестнадцатеричную систему). Результат поместить в регистр ВХ. Программу сохранить на диске.
-
выйти из программы-отладчика в среду MS-DOS;
-
Выключить компьютер.
Оборудование и программное обеспечение
-
IBM - совместимый персональные компьютеры (Pentium II и выше);
-
операционная система Windows 98 и выше;
-
манипулятор "мышь".
Замечание. Изучать среду DEBUG и работать в среде можно практически на любом IBM PC от 80286 и выше с Windows и без нее в операционной системе MS-DOS. В этом случае не гарантируется правильность результатов выполнения некоторых пунктов заданий в лабораторных работах.
Методические указания
-
В создаваемых программах при выводе на экран символьной информации с помощью функции-прерывания MS-DOS INT 10 (п. 3) следует учитывать, что каждое обращение к этой функции сопровождается выводом символа, код которого помещен в регистр АХ, и перемещением курсора в следующую позицию.
-
При запуске программы на исполнение из отладчика в команде запуска всегда необходимо учитывать начальный адрес размещенной в памяти программы. Так для программ из п.п. 3 и 8 начальные адреса в команде запуска будут различными.
-
При сохранении программы на диске в регистре СХ хранится размер программы в байтах. Он будет равен разности конечного и начального смещений.
-
Регистры DS, ES, SS и CS содержат один и тот же адрес сегмента. Это потому, что DEBUG рассматривает весь введенный код как программу .СОМ, хранящую данные, стек и код в одном сегменте. При написании программы .ЕХЕ стек, данные и код хранятся в отдельных сегментах с разными адресами.
Контрольные вопросы
-
Какие команды отладчика служат для ввода программы в кодах и на языке ассемблера? Записать формат этих команд.
-
Начиная с какого адреса в памяти по умолчанию размещается набираемая программа?
-
Как запустить из памяти на исполнение программу с начальным относительным адресом 0580?
-
Предположим, введена такая команда DEBUG:
Е CS:100 B8 45 01 05 25 00
Значение 45 на самом деле должно было быть 54. Укажите команду, изменяющую только этот байт, которая исправляет сделанную ошибку.
-
Каково назначение инструкции INT?
ЛАБОРАТОРНАЯ РАБОТА №6
Работа с видеопамятью
Цели работы:
-
получить навыки в работе с текстовым дисплейным буфером памяти;
-
изучение возможностей базовой системы ввода-вывода при выводе текстовой информации на экран монитора.
Задание и порядок выполнения работы
При подготовке к работе необходимо:
-
просмотреть указанное ниже задание к данной работе и контрольные вопросы, после чего найти соответствующие теоретические положения в разделах 1, 2 настоящего пособия, а также в материалах курса "Элементы и узлы персональных компьютеров", и изучить их;
-
ответить на контрольные вопросы;
-
в тетради для лабораторных работ заготовить отчет по лабораторной работе, в который предварительно занести название и цели работы, требуемые для выполнения теоретические данные, записи команд и последовательность действий в соответствии с заданием.
В лаборатории:
-
по указанию преподавателя включить компьютер и загрузить операционную систему Windows;
-
войти в виртуальный реальный режим MS-DOS Prompt и запустить отладчик DEBUG;
-
просмотреть дамп памяти по адресу B800:0000. Объяснить наличие за каждым символом в этой области байта атрибутов 07Н (см. Приложение 4).
-
заполнить область памяти, являющуюся текстовым дисплейным буфером, следующей командой:
F B800:0000 L1000 41 05 41 15 41 85
(здесь 41H - код символа на экране, 05H, 15H, 85H - коды признаков символа: 1-я тетрада – цвет фона, 2-я – цвет символа).
Результат записать в тетрадь.
-
для иллюстрации работы команды, записанной в п. 11, выполнить ее отдельно в следующем порядке:
F B800:0000 L1000 20 07 ; очистка экрана (пробел, черный фон)
F B800:0900 L0C 50 15 72 50 69 20 6d 85 65 35 72 40
-
Результаты действия записать в тетрадь;
-
Написать команды для вывода пяти символов «сердца» (код 03) в текстовом режиме ярко-зеленым цветом на белом фоне.
-
Вывести на экран символ «Д», используя функцию BIOS через прерывание INT 10H.
MOV AH, 02 ; системная функция 02 –
вывод символа на экран
MOV DL, 84 ; ASCII-код буквы "Д"
INT 21H ; прерывание для вывода "Д"
INT 20H ; выход из программы.
-
Вывести на экран символы, составляющие ваше имя (см. Приложение 1), воспользовавшись следующими командами п.7.
-
Написать программу для очистки экрана. Начальное значение строки и столбца заносится в регистр DX, цвет фона и символов 07 – в регистр BH, 0600H - в AX.
MOV AX,0600H ;AH 06 (прокрутка), AL 00 (весь экран)
MOV BH,07 ;Нормальный атрибут (черно/белый)
MOV CX,0000 ;Верхняя левая позиция
MOV DX,184FH ;Нижняя правая позиция
INT 10H ;Передача управления в BIOS
-
Используя данные лабораторной работы №3 (о состоянии оборудования), объяснить число нижней правой позиции экрана (184FH).
-
Самостоятельно очистить экран, выбрав другие цвета фона и символов (Приложение 4).
-
Программа, приведенная ниже, использует команду INT 10Н для установки графического режима, выбора зеленого фона и вывода на экран точек (40 строк по 320 столбцов). В программе происходит увеличение значения цвета на 1 для каждой строки. Так как в определении цвета участвуют только три правых бита, цвета повторяются через каждые семь строк.
MOV AH,00 ;Устан. режима графики
MOV AL,0DH для EGA (CGA=04)
INT 10H
MOV AH,0BH ;Установить палитру
MOV BH,00 ;Фон
MOV BL,02 ;Зеленый
INT 10H
MOV BX,00 ;Начальные цвет,
MOV CX,00 ;столбец
MOV DX,00 ;и строка
A50: MOV AH,0CH ;Функция вывода точки
MOV AL,BL ;Установить цвет
INT 10H ;BХ, СХ и DХ сохраняются
INC CX ;Увеличить столбец
CMP CX,320 ;Столбец 320?
JNE A50 ;Нет - цикл,
MOV CX,00 ;Да - сбросить
INC BL ;Изменить цвет
INC DX ;Увеличить строку
CMP DX,40 ;Строка 40?
JNE A50 ;Нет - цикл,
RET ;Да - завершить
