Все выпуски  

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


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

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

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 19
∙ повысить рейтинг »
Evgen aka Chuma
Статус: 6-й класс
Рейтинг: 14
∙ повысить рейтинг »
Kdsfofwe21
Статус: 1-й класс
Рейтинг: 0
∙ повысить рейтинг »

∙ Assembler

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

Консультация # 194125: Здравствуйте! Прошу помощи в следующем вопросе: Учебная модель ЭВМ. Жмакина. В памяти размещен массив чисел – кодов ASCII. Отобразить на мониторе все цифры из этого массива. Логически понятно, что по таблице ascii нужно выводить на монитор только коды с 48 по 57, а остальное отсеивать. Сам пытался, но дело дальше этого не ушло,...

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

Здравствуйте! Прошу помощи в следующем вопросе:
Учебная модель ЭВМ. Жмакина.
В памяти размещен массив чисел – кодов ASCII. Отобразить на мониторе все цифры из этого массива.

Логически понятно, что по таблице ascii нужно выводить на монитор только коды с 48 по 57, а остальное отсеивать.

Сам пытался, но дело дальше этого не ушло, совсем не пойму как можно реализовать вывод только цифр.

RD #11 ; включаем дисплей и устанавливаем
OUT 11 ; флаг автоинкремента;
RD #0 ; задаём начальный адрес
OUT 13 ; выводимого слова;
RD 50 ; с какого адреса читаем в памяти
WR R0 ; пишем как адрес начала R0
OUT 10 ; после каждого слова вывод на дисп.
 
 
RD #14
WR R2 ; R2 - как счетчик


Заранее благодарен.

Дата отправки: 07.12.2018, 23:12
Вопрос задал: lmk (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, lmk!
Это замечательно, что пытаетесь сделать самостоятельно smile
Вот Вам исправленная программка. Чуток добавил, подчистил... smile

Код (Assembler) :: выделить код
CALL NEW
RD #40
WR R0 ;R0 - address
RD #3 ; задаем счетчик
WR R2 ;R2 - колво повторов

M1:RD @R0+ ;a = number
WR R3 ;сохраняем
SBI #48 ;<'0' ?
JS M2 ; да - на следующее
RD R3 ;восстанавливаем наше число
SBI #58 ;>='9'
JNS M2 ;да - на следующее
RD R3 ;имеем цифру! Она сохранена в регистре R3
OUT 10 ;  вывод на дисп.
M2:JRNZ R2,M1 ;по всем числам

HLT ;останавливаемся!

NEW:
; БЛОК ОЧИСТКИ ДИСПЛЕЯ
RD #101
OUT 11
RD #102
OUT 11
; КОНЕЦ БЛОКА ОЧИСТКИ
; БЛОК ПОДГОТОВКИ ДИСПЛЕЯ
RD #11 ; включаем дисплей и устанавливаем
OUT 11 ; флаг автоинкремента;
RD #0 ; задаём начальный адрес
OUT 13 ; выводимого слова;
RET ; возврат
; КОНЕЦ ПОДГОТОВКИ ДИСПЛЕЯ

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 08.12.2018, 13:29

5
Спасибо вам огромное!
-----
Дата оценки: 08.12.2018, 17:15

Рейтинг ответа:

НЕ одобряю +1 одобряю!


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

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

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


В избранное