2014-02-21 6 views
0

Я пробовал этот простой ассемблерный код, который принимает и печатает введенную строку. Интересно, как я собираюсь преобразовать строку в строчный вывод, если я вводим строку в верхнем регистре или наоборот. Я новичок в языке ассемблера, который часто меня смущает код. Благодарю.Преобразование строки вывода в нижний регистр или в верхний регистр в языке сборки

вот код:

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: $" 

ответ

0

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

Чтобы преобразовать в верхний регистр, если значение символа находится между 97 и 122, вычесть 32 из него.

От 1-го символа и длины входной строки (пока вы не нажмете «$», сделайте сравнение.

Смежные вопросы