LAB8_SP2010 (Готовая лаба №8)
Описание файла
Файл "LAB8_SP2010" внутри архива находится в следующих папках: Готовая лаба №8, [СП] ЛР 8. Документ из архива "Готовая лаба №8", который расположен в категории "". Всё это находится в предмете "системное программирование" из 4 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "системное программирование" в общих файлах.
Онлайн просмотр документа "LAB8_SP2010"
Текст из документа "LAB8_SP2010"
2
2010 год 2 курс 4-й семестр Большаков С.А.Лабораторная работа № 8. (Вывод дампа памяти по введенному адресу) - 2010
Задание на ЛР: Разработать и отладить программу на языке Ассемблер для вывода на экран дампа оперативной памяти в шестнадцатеричном виде (распечатки содержимого) по адресу, задаваемому с клавиатуры в шестнадцатеричном виде (адрес FAR - пара чисел, например - 00EF:012A0). Вывод как в отладчиках.
Обязательные требования к ЛР: Должно быть выведено 16 строк дампа, в каждой строке выводиться по 24 байта (48 шестнадцатеричных цифры). Каждая выводимая строка дампа должна начинаться с соответствующего адреса ее расположения (он отделяется с помощью “: ” и пробел от строки). Перед дампом на экран в виде отдельной строки выводятся значения регистров сегментов и указателей: CS, DS, SS, ES, SP, SI, DI, BP и диапазон адресов выводимой памяти (значения регистров и адресов должны быть разделены пробелом и указано название регистра). Предусмотреть использование процедур при разработке программы. Организовать очистку экрана до вывода, после вывода нового дампа и после нажатия заданной клавиши выхода. По завершению программы выдается сообщение об ее успешном окончании.
Примечание 1: Для ввода адреса вывода дампа можно использовать процедуру или фрагмент программы из 7-й ЛР.
Примечание 2: Для ввода сообщений можно использовать процедуру или фрагмент программы из 7-й ЛР.
Примечание 3: Вывод дампа выполняется в двойном цикле.
Дополнительные требования к ЛР: Программа должна работать в циклическом режиме. Завершение цикла вывода дампов выполняется по знаку “*”. Предусмотреть прокрутку дампа вверх и вниз (по клавишам PGUP и PGDN). Выводить дамп в отдельном окне. Предусмотреть ввод всех регистров микропроцессора. Режим одновременного просмотра дампа памяти в символьном и шестнадцатеричном виде.
Контрольные вопросы по 8-й ЛР:
-
"Для чего нужна данная команда?". Для строки листинга указанной преподавателем?
-
Какую функцию выполняет команда LEA?
-
Что такое ближний (NEAR) и дальний (FAR) адрес?
-
Как задается ближний (NEAR) и дальний (FAR) адрес?
-
Какие способы вы можете назвать для очистки экрана (минимум 2)?
-
Как организовать в программе Ассемблера вложенный цикл (с помощью 2-х команд LOOP)?
-
Что необходимо сделать для подключения собственного обработчика прерывания?
-
Что необходимо сделать для вызова старого обработчика прерывания, если Вы загрузили новый?
-
Какими способами можно проверить наличие в памяти собственного обработчика прерывания?
-
Как при выводе дампа памяти проверить выход за границу сегмента?
-
Поясните назначение регистров IP и EIP? В чем их отличие?
-
В чем отличие между 16-ти и 32-ти разрядными приложениями?
-
Какие компиляторы нужно использовать для 16-ти и 32-ти разрядных приложений?
-
В чем специфика приложений под WINDOWS разработанных на языке Ассемблер?
Лабораторные работы выполняются студентами индивидуально. В тексте каждой программы в виде комментария должны быть отражены: ФИО, группа, номер варианта в группе и номер ЛР по общей нумерации в курсе СП. Результатом работы должен быть отлаженная программа (.COM кроме 6-й ЛР) и правильно оформленный отчет по каждой ЛР.