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

Блок 2. 1. В программе имеется циклический счётчик по К, считающий от 100 до 200



1. В программе имеется циклический счётчик по К, считающий от 100 до 200. При нажатии любой клавиши содержимое счётчика преобразуется в ASCII код и выводится в место экрана, определяемое следующим образом: номер строки равен К mod 20, а номер столбца К div 10. Для анализа нажатия клавиши использовать вектор 1Ch.

2. Посчитать за какое время процессор выполнить 15 миллиард команд: xor Si,Si. Для подсчёта времени использовать вектор 1Ch. Вывести на экран число тиков таймера, затраченное на операцию.

3. Очистить экран. Заполнить его символом «Ф» (атрибут 5). Перехватив прерывание печати экрана Print Screen (Int 5h), менять атрибуты всех строк экрана циклически от 1 до 15. Каждое нажатие клавиши Print Screen вызывает изменение атрибута.

4. Выводить ежесекундно в правом верхнем углу экрана системное время «часы:минуты:секунды».При нажатии любой клавиши менять положение вывода на левый нижний угол и наоборот. Для анализа нажатия клавиши использовать вектор 1Ch.

5. Вывести несколько строк произвольного текста, содержащие лишь цифры. Каждые 10 секунд каждая цифра в тексте увеличивается на 1 циклически (цифра 9 заменяется нулем).

6. В программе имеется циклический счётчик, считающий от 21h до e0h. Его значение преобразуется в ASCII код и выводится в левом верхнем углу экрана каждые 700мс. При нажатии цифровой клавиши это начальное время вывода увеличивается во столько раз, какая клавиша была нажата. Для анализа нажатия клавиши и подсчёта числа тиков таймера использовать вектор 1Ch.

7. Заполнить экран произвольной информацией. Перехватить прерывание 1Ch, по нажатию клавиши «a» осуществить замену всех букв «а» на цифру «0», при нажатии «b» – всех букв «b» в тексте на цифру «0» и т.д. Обратного преобразования цифры в буквы не производить (когда будут нажаты все буквы на клавиатуре на экране останутся одни нули и прочие символы, которые были введены ранее).

8. Очистить экран. Вывести несколько строк произвольного текста. Перехватить прерывание печати экрана Print Screen (Int 5h). Первый вызов этого прерывания меняет местами попарно соседние строки, повторное нажатие приводит экран в исходное состояние и т.д.

9. Очистить экран. Заполнить его произвольной информацией. Перехватить прерывание печати экрана Print Screen (Int 5h). Первый вызов этого прерывания переставляет в обратном порядки буквы каждой строки, повторное нажатие приводит экран в исходное состояние и т.д.

10. Выводить последовательно символы от «0» до «9» в правый нижний угол экрана. При нажатии какой-либо буквы на клавиатуре менять темп вывода. Значение задержки между выводом очередного символа определять следующим способом: введённую букву преобразовать в ASCII код и умножить на 28 (в зависимости от тактовой частоты процессора данное значение может быть откорректировано в большую или меньшую сторону в процессе отладки), это и будет число повторений цикла задержки. Для анализа нажатия клавиши использовать вектор 1Ch.

11. Выводить в одно место экрана поочерёдно символы «0» и «1». Задержка между выводом каждого символа составляет 1с. При нажатии цифровой клавиши выводить далее цифру, соответствующую ей и последующую (считать что за цифрой «9» следует «0»). Для анализа нажатия клавиши использовать вектор 1Ch.

12. Выводить в одно место экрана введённый символ до тех пор пока не будет введён другой символ. Менять при выводе атрибут символа если была нажата цифровая клавиша (значение нового атрибута вычислять как остаток от деления на 15 суммы текущего значения атрибута и значения введенной цифры). Для анализа нажатия клавиши использовать вектор 1Ch.

13. Выводить в левом верхнем углу символ «*». В зависимости от нажатия клавиш «1», «2», «3», «4» на цифровой клавиатуре менять атрибут вывода символа следующим образом: «1» соответствует зеленому цвету, «2» – красному, «3» – синему, «4» – оранжевому. Вывод осуществлять непрерывно с некоторой задержкой. Задержка между выводом каждого символа определяется нажатием цифровой клавиши, следующим способом: введённую цифру умножить на 29 (в зависимости от тактовой частоты процессора данное значение может быть откорректировано в большую или меньшую сторону в процессе отладки), это и будет число повторений цикла задержки. Для анализа нажатия клавиши использовать вектор 1Ch.

14. Выводить в центр экрана цифру знак «#». Переводить этот символ в позицию выше, ниже, левее или правее текущего символа, в зависимости от нажатия клавиш «W», «A», «S», «D». Вывод осуществлять непрерывно с некоторой задержкой. Задержка между выводом каждого символа определяется нажатием цифровой клавиши, следующим способом: введённую цифру умножить на 29 (в зависимости от тактовой частоты процессора данное значение может быть откорректировано в большую или меньшую сторону в процессе отладки), это и будет число повторений цикла задержки. Для анализа нажатия клавиши использовать вектор 1Ch.

15. В программе имеются три циклических счётчика, считающих от 0 до 23, от 0 до 79 и от 0 до 15. Их значение определяет соответственно строку, столбец и атрибут для вывода символа на экран. При нажатии какой-либо клавиши выводить на экран символ «*» в положение и с атрибутом, определяемыми состоянием счётчиков на момент вывода. Для анализа нажатия клавиши использовать вектор 1Ch.

16. В программе имеется циклический счётчик, считающий от 0 до 255. В центре экрана постоянно выводится символ «*». Каждую секунду атрибут вывода символа меняется на значение счетчика. Счетчик продолжает считать. Для подсчёта числа тиков таймера использовать вектор 1Ch.

17. Посчитать за какое время процессор выполнить 7 миллиардов команд mov di,100h; add di,200h; sub di,300h. Для подсчёта времени использовать вектор 1Ch. Вывести на экран число тиков таймера, потраченное на операцию.

18. Очистить экран. Вывести несколько строк произвольного текста (атрибут 7). Перехватив прерывание печати экрана Print Screen (Int 5h), менять атрибуты строк циклически последовательно на 14, затем снова возвращать атрибут 7. Каждое нажатие клавиши Print Screen вызывает переход на следующую строку.

19. Выводить ежесекундно в правом верхнем углу экрана системное время «часы:минуты:секунды». Нажатая цифра «1» на клавиатуре меняет формат вывода на «00часов 00минут 00секунд» и наоборот. Для анализа нажатия клавиши использовать вектор 1Ch.

20. Выводить последовательно цифры от 0 до 9 в одно место экрана. При нажатии на клавиатуре какой-либо цифры удваивать темп вывода, при нажатии буквы - уменьшать его в 4 раза. Для анализа нажатия клавиши использовать вектор 1Ch.

21. Выводить в центр экрана символ, нажатый на клавиатуре. Если нажата цифра, менять атрибут вывода на значение, соответствующее этой цифре. Для анализа нажатия клавиши использовать вектор 1Ch.

22. Выводить в одно место экрана символ следующий по алфавиту за нажатым на клавиатуре символом. Менять при выводе атрибут символа циклически от 1 до 15 (время задержки для изменения атрибута подобрать самостоятельно). Для анализа нажатия клавиши использовать вектор 1Ch.

23. Выводить в текущее положение курсора символ «#» (атрибут 14). Следующий символ «#» выводить в позицию выше, ниже, левее или правее текущего символа, в зависимости от нажатия клавиш «8», «2», «4», «6» на цифровой клавиатуре (при этом не стирать ранее введенные символы, а просто уменьшать на 1 атрибут их вывода, когда атрибут станет равен нулю, не менять его значение). Для анализа нажатия клавиши использовать вектор 1Ch.

24. Выводить в текущее положение курсора символ, введённый с клавиатуры. Этот же символ выводить в позицию выше, ниже, левее или правее текущего символа, в зависимости от нажатия клавиш «8», «2», «4», «6» на цифровой клавиатуре. С клавиатуры можно ввести любую латинскую букву, при этом, выводимый символ изменяется на введённый символ. Вывод осуществлять непрерывно с некоторой задержкой. Задержка между выводом каждого символа определяется нажатием цифровой клавиши, следующим способом: введённую цифру умножить на 29, это и будет число повторений цикла задержки. Если нажат пробел, возвращать символ в исходное положение. Для анализа нажатия клавиши использовать вектор 1Ch.

25. В программе имеются два циклических счётчика, считающих от 0 до 23 и от 0 до 79. Их значение определяет соответственно строку и столбец для вывода символа на экран. При нажатии какой-либо клавиши на экран выводится символ % в положение, определяемое состоянием счётчиков на момент вывода. Если нажат пробел, то увеличивать значение атрибута выводимого символа на единицу (циклически от 0 до 15). Для анализа нажатия клавиши использовать вектор 1Ch.





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



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