Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Преобразование больших букв в строчные

15K
25 мая 2006 года
DaBagger
13 / / 25.05.2006
Здравствуйте уважаемые форумчане!
Помогите пж-та бедному чайнику. Есть код преобразования строчных букв в большие:
input: ; Цикл ввода (посимвольно)
mov ah, 01h
int 21h
cmp al, 0Dh ; Проверка: не нажат ли Enter?
je next
mov StringS[si], al ; Заносим ASCII в строкуМ
cmp al, 61h ; Если ASCII < 61h (т.е < 'а')
jl nots
cmp al, 7ah ; Если ASCII > 7ah (т.е > 'z')
jg nots
sub al, 20h ; НЕТ? Тогда получаем ASCII большой буквы
mov StringB[si], al ; И заносим его в строкуБ
nots:
mov StringB[si], al ; Если ДА, то заносим ASCII в строкуБ без изменений
inc si
loop input

Необходимо сделать преобразование больших в строчные.
5.2K
26 мая 2006 года
MIKE 247
31 / / 30.04.2005
по-моему, самый простой способ, по крайней мере, самый короткий вызвать команду setbit (как-то так называется в Tasme) или сложить командой and исходное число с маской 11111111b, всё дело в пятом бите: он должен быть равен нулю для заглавных букв и 1 для строчных.
10K
28 мая 2006 года
Amellion
28 / / 01.03.2006
Цитата:
Originally posted by MIKE 247
по-моему, самый простой способ, по крайней мере, самый короткий вызвать команду setbit (как-то так называется в Tasme) или сложить командой and исходное число с маской 11111111b, всё дело в пятом бите: он должен быть равен нулю для заглавных букв и 1 для строчных.



А с рускими малость веселее.В 866 разбиваются на две части:
1) 80h - 0AFh (А - п)
2) 0E0h-0EFh. (р - я)

(Хотя для многих это неважно :) )

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог