1

私は前に何をしましたか

文字列内の特定の場所にある文字を単純に置換または上書きしようとしていました。私はこのコードを書きました:

INCLUDE Irvine32.inc
.data
myMessage BYTE 'This is a string',0


.code
main PROC
call Clrscr  
mov esi, OFFSET myMessage
inc esi
inc esi
inc esi
mov ebx, 'a'
mov [esi], ebx
mov  edx, OFFSET myMessage
call WriteString
call crlf

exit
main ENDP

END main

問題

このプログラムの期待される出力は「Thia is a string」ですが、「Thia」と出力されます。この文字列の特定の場所で文字を上書きすると、WriteString の呼び出しを使用して文字列を印刷すると、その文字列の印刷は、バイトが置き換えられた場所で停止します。これはどのように解決できますか?

4

0 に答える 0