Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2010, 14:33   #1
AlexSun
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 12
Вопрос Работа с текстом

Прошу помощи сделать такое задание на ASM-80:
Код:
Есть текст. Сформировать исходный текст в обратном порядке, при этом все цифры заменить пробелом.
Опыт есть только по работе с числами, а тут текст.
Буду очень благодарен за готовый код, или хотя бы за подсказки с примером как собственно разворачивать массив и заменять в нем символы
Завтра нужно сдать.
AlexSun вне форума Ответить с цитированием
Старый 03.11.2010, 18:29   #2
AlexSun
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 12
По умолчанию

Появились вопросы:
1. Как читать массив с последнего элемента?
2. Как заменить один символ на другой? (Например первый 1, второй - 2. Проверяем равно ли 1, если да, меняем на 2, если нет - идем дальше. Вот как сделать это "меняем на 2"?).

Ну и так же как и раньше приветствуется готовый код программы
AlexSun вне форума Ответить с цитированием
Старый 03.11.2010, 21:04   #3
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

По идее это должен быть переворот текста в обратном порядке, на замену символов нет времени, нужно бежать. Нужно в строках m3 и m4 сделать сравнение если аккумулятор находится в диапазоне между 30h...39h, то это цифра и записать в аккумулятор 20h - это пробел

Код:
lxi h,lastbyteoftext
lxi d,text
mvi a,ff
xra d
xra e
inx d
dad d
mov a,h
cmp a
rlc
mov b,a
mov a,l
rlc
mov c,a
lxi h,lastbyteoftext
m1:ldax d
m3:
push b
mov b,m
mov m,a
mov a,b
m4:
stax d
pop b
dcx b
jnz m1
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 03.11.2010, 21:52   #4
AlexSun
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 12
По умолчанию

Спасибо огромное
Но не вышло у меня ничего (почти).
Сравнение - cpi, а как сравнить с диапазоном?
Код:
cpi 30h ; сравнить с 0
jnz metka ; пропустить если не 0
mvi a,20h ; записать пробел
metka:
AlexSun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с текстом fakir9999 Общие вопросы Delphi 3 04.06.2009 16:28
Работа с текстом MSD Общие вопросы Delphi 28 05.05.2009 17:56
работа с текстом... Poll Помощь студентам 5 23.01.2009 11:43
Работа с текстом Sanek_ntsk Общие вопросы C/C++ 10 12.01.2008 19:42