Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Написать программу на ассемблере, выводящую в текущее положение курсора символ @. Следующий символ @ выводить в позицию выше, ниже, левее или правее текущего символа, в зависимости от нажатия клавиш «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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!