Мне нужно написать ассемблерный код для замены каждого алфавита c символа в строке на прописные буквы. И если есть какие-либо не алфавитные c символы, их следует заменить на пробел (⌴).
Я сделал заглавную часть, но я понятия не имею, как сделать изменение не алфавитного c символов в пробел.
Например:
Для кода, который я написал, я могу получить такой вывод:
AbcUniversity $ → ABCUNIVERSITY $
Когда я меняю str на 02A / b c Un1versity * \
, вывод должен выглядеть следующим образом:
02A / b c Un1versity * \ $ → AB C UN VERSITY $
Как я могу это сделать, кто-нибудь может мне помочь?
code segment
init:
mov ax, data
mov ds, ax
mov si, offset str
islower:
mov al, [si]
cmp al, '$'
je terminate
cmp al, 61h
jge modifyiflower
jmp nextchar
modifyiflower:
cmp al, 7ah
jle toUpper
jmp nextchar
toUpper:
sub al, 20h
mov [si], al
nextchar:
inc si
jmp islower
terminate:
hlt
code ends
data segment
str db "02So/Ntr U1vity*\$"
data ends
end init