我正在写MASM中的第一个汇编程序,并尝试使用StdOut
打印一个数字。这是我的代码(片段):
.data
Su dword 0
.code
start:
mov Su, 65
invoke StdOut, addr Su
invoke ExitProcess, 0
end start
问题是,它打印出ASCII表示65
,而不是打印出A
。如何使其打印出一个整数值?
答案 0 :(得分:2)
StdOut
接受一个字符串参数,因此您需要将dword转换为十进制字符串。这不难手工完成,或者您可以寻找库函数来完成它。 http://www.masm32.com/board/index.php?topic=16316.0上的讨论会建议dwtoa
,itoa
或crt_itoa
中的一个,具体取决于您要链接的库。 (注意链接是关于ascii->整数,所以它使用atoi和atodw。)