![](/img/trans.png)
[英]x86 assembly - masm32: How to create an empty string variable to transfer input to and print
[英]x86 MASM Assembly - Empty Variable that Holds a String
下面是我声明为保存字符串的变量。
tempStr BYTE 30 DUP(?)
我会存储一串数字,它会正常输出。 但是如果我用较短的字符串再次存储它,它将包括我第一次存储它时所包含的部分内容。 一个例子如下:
输入1为tempStr:57894
输出1:57894
输入2为tempStr:137
输出2:13794
mov edx, OFFSET tempStr
mov ecx, (SIZEOF tempStr) - 1
call ReadString
etc
有没有一种简单的方法来解决这个问题,比如清除字符串变量的所有内容?
编辑:这已经解决了。 谢谢您的帮助!
如果ReadString没有ZERO终止字符串,你必须先用零清除它,例如
cld ; clear direction flag for REP = count up
lea edi, tempStr
mov ecx, (SIZEOF tempStr)
mov al, 0
rep stosb ; repeats a put-byte of AL ECX times starting from address EDI
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.