Преобразувайте изходен низ в малки / главни букви в асемблерния език

Опитах този прост код за сглобяване, който приема и отпечатва въведения низ. Чудя се как ще преобразувам низ в изход с малки букви, ако въвеждам низ с главни или обратното. Аз съм начинаещ в асемблерния език, който кодовете често ме карат да обърквам. Благодаря.

ето кода:

org 100h  

mov dx, offset question1
mov ah, 09
int 21h

mov dx, offset temp1
mov ah,0ah
int 21h  

mov dx, offset msg
mov ah, 09
int 21h  

mov dx, offset msg1
mov ah, 09
int 21h 

mov dx, (offset temp1)+2
mov ah,09
int 21h   


ret
question1 db 10,13, "Enter your Name: $" 
temp1 db 20,0, 21 dup ('$')

msg db 10,13, "$" 
msg1 db 10,13, "You Are: $" 

person user2123999    schedule 21.02.2014    source източник


Отговори (1)


По същество, от началото на низа до края, за да преобразувате в малки букви, ако стойността е между 65 и 90 (десетична), добавете 32 към нея.

За да конвертирате в главни букви, ако стойността на знака е между 97 и 122, извадете 32 от нея.

От първия знак и за дължината на въведения низ (докато натиснете '$', направете сравнение.

person Brian Wren    schedule 21.02.2014