MASM StdOut 整数值而不是 ASCII 表示

发布于 2024-11-02 08:53:31 字数 295 浏览 0 评论 0原文

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

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

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

I'm writing on of my first assembly programs in MASM, and am trying to print out a number using StdOut. Here is my code (snippet):

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

The problem is, instead of printing out 65, it prints out the ASCII representation A. How can I make it print out an integral value?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

壹場煙雨 2024-11-09 08:53:31

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

StdOut takes a string argument, so you'll need to convert the dword to a decimal string. This is not hard to do by hand, or you can look for a library function to do it. The discussion at http://www.masm32.com/board/index.php?topic=16316.0 would suggest one of dwtoa, itoa, or crt_itoa, depending on what libraries you're linking with. (Note that the link is talking about ascii->integer, so it uses atoi and atodw.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文