Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_Arkhitektura_EVM.doc
Скачиваний:
10
Добавлен:
26.02.2016
Размер:
189.95 Кб
Скачать

Практическая работа №3 « Модификация первой программы»

Цель работы: Отработать навыки модификации программного продукта в соответствии с поставленной задачей.

Материально-техническое оснащение:

ПК, текстовый редактор, служебные программы Tasm.exe, Tlink.exe, TD.exe.

Теория.

Прерывание типа 21h (вызов функций) предоставляет множество удобных возможностей взаимодействия с клавиатурой, дисплеем, диском и т. д.. Наиболее полезные функции, вызываемые с помощью прерывания типа 21h, перечислены в таблице.

Регистр AH

Операция

Дополнительные входные регистры

Выходные регистры

1

Ожидание набора символа на клавиатуре и последующее его изображение на экране (с проверкой на Ctrl-Break)

Не используются

(AL)=символ

7

Ожидание набора символа на клавиатуре и без последующего его изображения на экране (без проверки на Ctrl-Break)

Не используются

(AL)=символ

8

То же, что функция 7, но с проверкой на Ctrl-Break

Не используются

(AL)=символ

А

Чтение клавиатурной строки в буфер

адрес буфера, первый байт буфера = размер буфера

Второй байт буфера=число фактически прочитанных символов

2

Изображение символа (с проверкой на Ctrl-Break)

(DL)=символ

Не используются

9

Изображение строки

(DS:DX)=адрес строки, которая должна заканчиваться знаком $

Не используются

Завершение программы и выход в DOS

Не используются

Не используются

Ход работы.

  1. Перепишите таблицу в тетрадь.

  2. Задача. Модифицируйте Вашу первую программу таким образом, чтобы компьютер задавал пользователю вопрос. Пользователь вводил с клавиатуры ответ, и в зависимости от полученного ответа ПК выдавал на экран то или иное сообщение.

  3. В Вашей первой программе определите в сегменте данных три строки:

  • вопрос

  • первый ответ

  • второй ответ

  1. После вывода на экран вопроса введите команды для чтения символа с клавиатуры

  2. Введите команды для сравнения введенного символа с ожидаемым:

Cmp al,’y’

Je метка1

Здесь вывод ответа1

Jmp метка2

Метка1:

Здесь вывод ответа2

Метка2:

Завершение программы

  1. Получите исполняемый модуль с помощью служебных программ.

  2. Запустите полученную программу на выполнение, если Вас не устраивает результат, найдите и исправьте логические ошибки с помощью отладчика.

Заключение.

  1. Перепишите программу с использованием стандартных директив определения сегментов, если Вы писали программу с помощью упрощенных директив или наоборот.

  2. Сделайте вывод о применении директив определения сегментов.

  3. Обобщите все возникшие в процессе создания программы ошибки.

Контрольные вопросы.

  1. Что такое код типа прерывания? Их место расположение в памяти?

  2. Каково назначение прерываний?

  3. Как осуществить чтение символа с клавиатуры?

  4. Как осуществить вывод символа на экран?

Литература.

1. Л. Скэнлон Персональные ЭВМ IBM PC XT. Программирование на языке ассемблера. М, Радио и связь, 1989 г.

2. В.Юров, С.Хорошенко. Ассемблер: учебный курс - СПб:ПитерКом,1999г.

3. Я. Белецкий Турбо Ассемблер версия 2.0, М, Машиностроение, 1994 г.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]