0
文字列の小文字を大文字に変換する単純なプログラムを作成しようとしていますが、出力が全く得られません。大文字小文字の大文字の表示なし
入力:AABB 出力:たとえばAABB
私のミスがどこにあるか私は知らないが、とにかく、 私のコードは次のとおりです。
data segment
prompt db 0dh,0ah,"Your string: $"
str1 db 15 dup('$')
msg db 0dh,0ah,"Result after conversion: $"
data ends
code segment
assume cs:code,ds:data
START:
mov ax,data
mov ds,ax
mov dx,offset prompt
mov ah,09h
int 21h
mov ah,01h
lea dx,str1
read:
int 21h
mov bl,al
cmp al,0Dh
je display1
cmp al,61h
jl nexx
cmp al,7Ah
jg nexx
sub al,20h
mov [si],al
inc si
jmp read
display1:
lea dx,msg
mov ah,09h
int 21h
lea dx,str1
mov ah,09h
int 21h
mov ah,4ch
int 21h
nexx:
inc si
jmp read
code ends
end start
あなたは値を格納するのに 'si'を使いますが、アドレスをどこにロードするのか分かりません。 –
ボー、どこにロードすればいいですか? – user3848412
デバッガを使用してコードをシングルステップ実行し、問題を自分で見つけることができます。出力を与えても、どこに問題があるのかはほとんど分かりません。 –