Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Evgen aka Chuma
Статус: 6-й класс
Рейтинг: 0
∙ повысить рейтинг »
cain52
Статус: 3-й класс
Рейтинг: 0
∙ повысить рейтинг »
Kdsfofwe21
Статус: 2-й класс
Рейтинг: 0
∙ повысить рейтинг »

∙ Assembler

Номер выпуска:1758
Дата выхода:11.04.2020, 21:15
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:83 / 24
Вопросов / ответов:1 / 1

Консультация # 198156: Уважаемые эксперты здравствуйте! Пожалуйста, ответьте на вопрос: Выполняю задание Вывод содержимого заданного участка памяти на дисплей посимвольно с заданным промежутком времени между выводами символов. Программу делаю в режиме так чтобы события обрабатывались в режиме прерывания программы. Фоновая задача - пустой цикл. Проблема след...

Консультация # 198156:

Уважаемые эксперты здравствуйте! Пожалуйста, ответьте на вопрос:

Выполняю задание Вывод содержимого заданного участка памяти на дисплей посимвольно с заданным промежутком времени между выводами символов. Программу делаю в режиме так чтобы события обрабатывались в режиме прерывания программы. Фоновая задача - пустой цикл.

Проблема следующая: зависаю в бесконечном цикле, прерывание не вызывается. Помогите пожалуйста решить проблему.

Дата отправки: 06.04.2020, 20:58
Вопрос задал: bobr (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Зенченко Константин Николаевич (Старший модератор):

Здравствуйте, bobr!

Смотрите приложение:

Код (Assembler) :: выделить код
;начальніе настройки регистров
CALL L0
;начальное значание
RD #48
WR R3
;в цикле заполняем память
L1:
RD R3
WR @R1+
ADD #1
WR R3
RD R2
SUB #1
WR R2
JNZ L1
;включаем дисплей
RD #11
OUT 11
RD #0
OUT 13
;ставим обработчик таймера
RD #23
WR 102
;начальніе настройки  таймера
CALL T0
;начальніе настройки регистров
CALL L0
;разрешаем прерівания и пустой цикл
EI
L2:
NOP
NOP
JMP L2
;обработчик таймера
T1:
;останов
RDI 1000
OUT 22
;сброс
RD 101
OUT 20
;вывод одного элемента
RD @R1+
OUT 10
;уменьшаем счетчик
RD R2
SUB #1
WR R2
;если ноль останавливаем программу
JZ T2
;настраиваем таймер
CALL T0
IRET
T2:
HLT
L0:
;начальный алрес в памяти
RD #80
WR R1
;количество символов
RD #6
WR R2
RET
T0:
;задержка
RD #300
OUT 21
;запуск
RDI 1111
OUT 22
RET


Удачи!

Консультировал: Зенченко Константин Николаевич (Старший модератор)
Дата отправки: 08.04.2020, 20:30
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное