РАССЫЛКИ ПОРТАЛА RFPRO.RU Лучшие эксперты по данной тематике Номер выпуска: | 1583 | Дата выхода: | 06.01.2016, 16:51 | Администратор рассылки: | Лысков Игорь Витальевич (Старший модератор) | Подписчиков / экспертов: | 16 / 7 | Вопросов / ответов: | 1 / 1 | Консультация # 188559: Программа CompModel некого Жмакина Задание: Вывод на дисплей трех текстов, хранящихся в памяти, с задержкой Используемые ВУ: Дисплей, таймер Пояснение: Первый текст вводится сразу при запуске программы, второй – через 15 с, третий – через 20 с после второго Два решения 1. Текст программы с программным анализом флагов готовности ВУ. Консультация # 188559: Программа CompModel некого Жмакина Задание: Вывод на дисплей трех текстов, хранящихся в памяти, с задержкой Используемые ВУ: Дисплей, таймер Пояснение: Первый текст вводится сразу при запуске программы, второй – через 15 с, третий – через 20 с после второго Два решения 1. Текст программы с программным анализом флагов готовности ВУ. 2. Текст программы с обработчиком прерывания.
Дата отправки: 27.12.2015, 16:37 Вопрос задал: emicent.lollipop (Посетитель) Всего ответов: 1 Страница онлайн-консультации » Консультирует Лысков Игорь Витальевич (Старший модератор): Здравствуйте, emicent.lollipop! Даю программу с обработчиком прерывания. По адресу 50 необходимо записать блок параметров, который задает, когда, где и что выводить на дисплей Каждый параметр состоит из 3 полей: 1) времени таймера, через сколько должен сработать следующий параметр 2) позиции на дисплее, вычисляется, как 16*строка+колонка 3) сама строка в коде ASCII, заканчивается нулем Все параметры идут подряд. Для последнего параметра поле времени таймера можно оставить равным 0, т.к. оно не нужно. Например, можно задать такой блок параметров: 15,1,49,50,51,52,0,20,17,65,66,0,0,33,57,0 Тогда выведутся: В первой строке со второй колонки текст "1234" и запустится таймер на 15 секунд Через 15 секунд во второй строке со второй колонки текст "AB" и запустится таймер на 20 секунд И наконец, через 20 секунд в третьей строке со второй колонки текст "9" После чего таймер остановится и произойдет останов
Код (Assembler): RDI #101 ;команда очистки out 11 ; дисплея RDI #102 ; команда сброса ошибки out 11 ; для дисплея RDI #11 ; команда разрешения МВУ out 11 ; для монитора с автоувеличением адреса RD #25 ; адрес обработчика прерывания таймера WR 102 ; запишем по адресу обработчика IRQ2 RDI #101 ; команда сброса ошибки out 20 ; сброс таймера 1 rdi #50 ;адрес блока параметров wr r1 ;будем адресовать через регистр r1 rdi #3 ;количество выводимых строк (параметров) wr r0 ;в регистре r0 call pr ;отработаем один параметр из блока EI ; разрешаем прерывания от устройств (таймера) LOOP: ; пустой цикл NOP ; вся работа в прерывании NOP JMP LOOP INT2: ;прерывание таймера 1 call pr ;отработаем очередной блок параметров IRET ;выход из прерывани pr: ;в r1 адрес параметра rd @r1+ ;первое значение загружаем в таймер out 21 rdi #50111 ; команда управления на таймер 1: ;коэффициент деления предделителя 50 ;направление счета - декремент ;разрешение прерывания от таймера ;включаем таймер out 22 ;команда таймеру rd @r1+ ;второе значение - позиция вывода на дисплее out 13 loop1:rd @r1+ ;далее строка jz next ;заканчивается нулем out 10 ;выводим на дисплей jmp loop1 next:jrnz r0,prret ;параметры закончились? rdi #0 ;да - останавливаем таймер out 22 hlt ;и останов nop nop prret: ;не закончились - выход и ждем срабатывания таймера ret
Оценить выпуск | Задать вопрос экспертам главная страница | стать участником | получить консультацию техническая поддержка | восстановить логин/пароль Дорогой читатель! Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно! МЫ РАБОТАЕМ ДЛЯ ВАС! |
Комментариев нет:
Отправить комментарий