Нужно сделать первую букву заглавной, а последующие - строчными - Assembler
Формулировка задачи:
До этого переводила все буквы из заглавных в строчные,а теперь нужно как то подкорректировать данный код под новое задание. Сделать первые буквы в словах заглавной, а последнующие строчные
Помогите пожалуйста не очень разобралась ещё в данном языке)))
DATASG SEGMENT PARA
MYTEXT DB 'MY NAME IVANOV IVAN' ,13,10, '$'
DATASG ENDS
STACKSG SEGMENT 'Stack'
DB 12 DUP(?)
STACKSG ENDS
CODESG SEGMENT PARA 'Code'
BEGIN PROC FAR
ASSUME SS:STACKSG, CS:CODESG, DS:DATASG
PUSH DS ; сохраняем сегмент данных в стек
SUB AX, AX ; Обнуляем AX
PUSH AX ; сохраняем содержимое АХ в стек
MOV AX, DATASG ; заносим в сегментный
MOV DS, AX ; регистр DS адрес сегмента данных
LEA BX, MYTEXT ; заносим в BX адрес начального символа переменной Mytext
MOV CX, 19H ; Вносим в СХ значение 17Н - параметр цикла
MOV AH, 09H ;
MOV DX, OFFSET MYTEXT ;
INT 21H ; вывода на экран
MT1:
MOV AH, [BX] ; Метка1: заносим в АН код первого символа переменной Mytext
CMP AH, 41H ; Сравниваем значения регистра AH и кода символа 41Н (символа A)
JB MT2 ; преход к метке 2 если код, лежащий в AH больше 41H (символ старше A в таблице ASCII)
CMP AH, 5AH ; Сравниваем значения регистра AH и кода символа 5АН (символа Z)
JA MT2 ; преход к метке 2 если код, лежащий в AH меньше 5АH (символ младше Z в таблице ASCII)
CALL COR ; вызов процедуры COR
MT2:
INC BX ; Метка 2: увеличиваем значение в BX на 1
LOOP MT1 ; Цикл с параметром, лежащим в СХ, передающий управление коду под меткой 1.
LEA DX, MYTEXT ; Заносим в DX адрес переменной MYTEXT для вывода на экран
MOV AH, 09H ; оформляем функцию DOS
INT 21H ; вывода на экран
RET ; воврат
BEGIN ENDP
COR PROC NEAR ; Начало процедуры COR
NOP ; пауза
ADD AH, 20H ; прибавляем к коду символа смещение 20H по таблице ASCII
MOV [BX], AH ; занесение в ячейку с адресом, лежащим в BX, кода символа из AH
RET ; воврат
COR ENDP ; завершение процедуры
CODESG ENDS
END BEGINРешение задачи: «Нужно сделать первую букву заглавной, а последующие - строчными»
textual
Листинг программы
mov ax,@data mov ds,ax
Объяснение кода листинга программы
- Переменная
axиспользуется как регистр для хранения данных - Переменная
dsиспользуется как регистр для хранения сегмента данных - Команда
movиспользуется для копирования значения из регистраaxв переменнуюds