Иллюстрированный самоучитель по Assembler


Циклы - часть 7


mov BX,0                   ;Дескриптор клавиатуры

mov CX,80                ;Ввод максимум 80 байт

mov DX, offset buf    ;Адрес буфера ввода

int 21h

mov actlen,AX           ;Фактически введено

;Превратим строчные русские буквы в прописные

mov CX,actlen           ;Длина введенной строки

mov SI,0                     ;Указатель в буфере

filter: mov    AL,buf[SI] ;Возьмем символ

cmp AL,'a'                  ;Меньше 'a'?

jb  noletter                  ;Да, не преобразовывать

cmp AL,'я'                 ;Больше 'я'?

ja noletter                  ;Да, не преобразовывать

cmp AL,'п'                 ;Больше 'п'?

ja more                      ; Да, на дальнейшую проверку

sub AL,20h               ;'a'..'п'. Преобразуем в прописную

jmp store                   ;На сохранение в буфере

more: cmp AL,'p'      ;Меньше 'p1' (псевдографика)?

jb noletter                   ;>'п',<'p'. Не изменять




- Начало -  - Назад -  - Вперед -



Книжный магазин