【发布时间】:2012-05-05 10:35:56
【问题描述】:
我还在研究 x86 汇编,所以我编写了这个小程序,将 6 和 7 相乘,将数据移动到 EAX,然后打印结果。它编译良好,运行良好,但不是打印 42,而是打印 40 秒 ASCII 字符。我在这个论坛上有如何打印单字符数字,但现在我需要弄清楚如何打印多位数字。这是我的代码:
.386
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
.data
adrs dd 0
.code
start:
mov eax, 6
mov ebx, 7
imul eax, ebx
add eax, 48
mov adrs, eax
invoke StdOut, addr adrs
invoke ExitProcess, 0
end start
所以总而言之,我需要了解如何将数据拆分为单个字符,以便我可以打印它们。任何帮助都会很棒。
问候,
程序
【问题讨论】:
-
This question 应该会有所帮助。
-
我似乎无法理解那篇文章(代码没有意义。我是一个绝对的初学者)。
-
重复将您的号码除以 10。收集剩余物。添加 '0' 的 ASCII 码,打印。
-
噢噢噢噢。谢谢!那是完美的。如果您愿意,请将其发布为答案,以便我可以投票。