Нам на паскале задали написать прогу(требуется создать DOS-программу для просмотра фрагментов содержимого оперативной памяти. Основная цель работы – научиться эффективно пользоваться четырехбайтными адресами реального режима процессоров i80x86.
) с такими требованиями:
-программа использует текстовый режим работы монитора;
-весь вывод на экран производится посредством прямой записи в видеопамять (в диапазон памяти адаптера CGA – сегмент $b800);
-программа выполняется в окне. Это окно исчезает после ее исполнения, при этом восстанавливается исходное содержимое экрана;
-окно состоит из двух полей: поля просмотра фрагмента содержимого памяти и -поля ввода базового адреса;
-после нажатия на ключевую комбинацию клавиш (например клавиша 'Ins' для сегментной части адреса и клавиша 'Del' для смещения) программа позволяет ввести базовый адрес (с которого начинается отображаемый диапазон);
-нажатие на стрелки вверх и вниз вызывает прокрутку содержимого оперативной памяти в окне просмотра;
-нажатие на клавиши 'PgUp' и 'PgDn' вызывает ускоренную прокрутку содержимого;
-в окне отображения выводится несколько (не менее четырех) строк формата: <адрес> - <серия слов>;
-детали ввода базового адреса и вывода дампа памяти оговариваются в вариантах.
Ну вот мое задание:
1) Базовый адрес задается в десятеричном виде одним компонентом – абсолютным номером ячейки и 2)Содержимое выводится в символьном виде сериями по 16 однобайтовых слов.
Я сделала все классно, а препод не принял.... Прикололся и говорит перепиши используя ассемблерные вставки... И еще требования:
-Программа предоставляет возможность переключать режимы вывода содержимого памяти во время работы.
-По нажатию функциональных клавиш программа должна перемещаться к указанным в варианте задания структурам данных DOS и демонстрировать их содержимое.
-Содержимое структур данных DOS производится как в любом из трех стандартных режимов, так и в режиме специфическом для данной структуры, то есть с интерпретацией данных в контексте их предназначения (в виде записи с именованными полями).
-Программа получает информацию о расположении структур данных DOS посредством системных запросов, выполняемых через программные прерывания.
-В управлении монитором наряду с прямым доступом к видеопамяти используются функции прерывания BIOS 10h. В частности через BIOS выполняется управление положением курсора.
Как, вообще не представляю?! Я в паскале то не ахти, а тут ещё ассемблер...
ОБЪЯСНИТЕ, ПОЖАЛУЙСТА!!
Программ на паскале с вставками на ассемблере, как это делать вообще |