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 是一个字符串”,但它输出的是“Thia”。现在,无论我在这个字符串的特定位置覆盖一个字符,当我使用对 WriteString 的调用打印它时,该字符串的打印都会在字节被替换的位置停止。如何解决?

4

0 回答 0