MASM StdOut整数值而不是ASCII表示

时间:2011-04-18 14:59:10

标签: assembly stdout masm

我正在写MASM中的第一个汇编程序,并尝试使用StdOut打印一个数字。这是我的代码(片段):

.data
Su dword 0
.code
start:
        mov Su, 65
        invoke StdOut, addr Su
        invoke ExitProcess, 0
end start

问题是,它打印出ASCII表示65,而不是打印出A。如何使其打印出一个整数值?

1 个答案:

答案 0 :(得分:2)

StdOut接受一个字符串参数,因此您需要将dword转换为十进制字符串。这不难手工完成,或者您可以寻找库函数来完成它。 http://www.masm32.com/board/index.php?topic=16316.0上的讨论会建议dwtoaitoacrt_itoa中的一个,具体取决于您要链接的库。 (注意链接是关于ascii->整数,所以它使用atoi和atodw。)