我以前做过什么
我试图简单地替换或覆盖字符串中特定位置的字符。我写了这段代码:
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 是一个字符串”,但它输出的是“Thia”。现在,无论我在这个字符串的特定位置覆盖一个字符,当我使用对 WriteString 的调用打印它时,该字符串的打印都会在字节被替换的位置停止。如何解决?