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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2017, 18:03   #1
Wallington
 
Регистрация: 18.01.2017
Сообщений: 5
По умолчанию Ввести строку символьных данных, задавая буфер равный 24 байт. ассемблер

Ввести строку символьных данных, задавая буфер равный 24 байт.
Проанализировать встречающиеся символы .
Выдать одно из сообщений:
"Цифровые символы "
"Cимволы латинского регистра"
"Символы и латинского регистра и цифровые".
Wallington вне форума Ответить с цитированием
Старый 18.01.2017, 19:23   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

что за хрень?
Может поздороваешься и скажешь пожалуйста?
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 20.01.2017, 10:46   #3
Wallington
 
Регистрация: 18.01.2017
Сообщений: 5
По умолчанию

Простите пожалуйста, торопился! Здравствуйте и помогите пожалуйста!)
Wallington вне форума Ответить с цитированием
Старый 20.01.2017, 11:05   #4
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Если не считать некоторых спец/символов, то ASCII-коды латиницы лежат в диапазоне 41h-7Ah (А-z соответственно). Значит, чтобы проверить введённую строку, нужны 2 проверки: больше(41h) и меньше(7Ah).

Но это-же можно проделать и одной проверкой, если отнять от проверяемого символа 41h, и просто проверить на меньше/равно 39h (7Ah-41h=39h). Проверяемый диапазон остался тот-же, зато одна проверка вылетела в штрафбат.

Точно так-же и с цифрами, которые заняли в ASCII-таблице позиции от 30h, до 39h (цифры 0-9). Нужно отнять от символа 30h, и проверить на меньше/равно 09h (39h-30h=09h). В итоге получаем всего 2 проверки, вместо четырёх.

В качестве флага можешь использовать регистр(ВХ), который будешь INC'ременировать.
Например, BH пусть будет флагом цифр, а BL - флагом латиницы.
Проходишься 1 раз по-строке, и проверяешь по окончании флаги.

Не понятно, что означает у тебя 'WinASM' - это IDE, или программа под винду.
Сам что-нибудь из этого сможешь сделать?
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 22.01.2017, 14:53   #5
Wallington
 
Регистрация: 18.01.2017
Сообщений: 5
По умолчанию

Большое спасибо. Попробую сделать по вашему совету. (но был бы рад полному коду) Win asm у меня программа под винду.
Wallington вне форума Ответить с цитированием
Старый 22.01.2017, 15:03   #6
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Wallington Посмотреть сообщение
но был бы рад полному коду
..я тоже был-бы рад, например штуке баксов.
Но чтобы их получить нужно-же хоть что-то сделать!?
Введи хоть самостоятельно строку в буфер, а дальше посмотрим..
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как ввести символьную строку и переписать в новую строку без пробелов? Таатта Паскаль, Turbo Pascal, PascalABC.NET 1 05.12.2013 16:32
задавая значение одной ячейки копировать всю строку ok_7126 Microsoft Office Excel 15 10.01.2013 01:11
Найти байт максимальным количестов единиц и байт с максмальным количеством нулей и разность (ассемблер) Beren42 Помощь студентам 0 15.12.2010 20:32
Ввести строку символьный данных Асемблер Max3 Помощь студентам 0 16.05.2010 19:41