Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример выполнения работы



Написать программу на ассемблере, выводящую в текущее положение курсора символ @. Следующий символ @ выводить в позицию выше, ниже, левее или правее текущего символа, в зависимости от нажатия клавиш «8», «2», «4», «6» на цифровой клавиатуре. Вывод осуществлять непрерывно с некоторой задержкой. Нажатие клавиши “0” завершает выполнение программы.

В программе необходимо вести отсчёт времени для задержки вывода символа @. Для этого необходимо изменить подпрограмму обработки прерывания от таймера 08h. Так как эта подпрограмма выполняет важные операции по управлению компьютером, для получения временного интервала используется прерывание 1Ch. Это прерывание вызывается из подпрограммы обработки прерывания 08h и содержит только команду iret. Предназначено оно специально для пользовательских программ, которым необходимо следить за интервалами отсчёта таймера.

Текст программы представлен в листинге 7.4.

Листинг 7.4. Код программы

Data segment

DIRECT db 1; направление перемещения

EXIT db 0; признак завершения программы (не 0)

SYM db "@"; символ, выводимый на экран

ATRIBUT1 db 14; атрибут символа (жёлтый)

ATRIBUT2 db 10; атрибут символа (зелёный)

POS dw 3840; позиция начального вывода символа

OLD_CS dw?; адрес сегмента старого вектора 1Сh

OLD_IP dw?; адрес смещения старого вектора 1Сh





Дата публикования: 2014-11-28; Прочитано: 384 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...