任何人都可以告诉我纯粹的汇编代码以十进制格式显示寄存器中的值吗?请不要建议使用printf hack,然后使用gcc进行编译.
描述:
好吧,我做了一些研究和NASM的一些实验,并认为我可以使用c库中的printf函数来打印整数.我是通过使用GCC编译器编译目标文件来完成的,所有工作都很公平.
但是,我想要实现的是以十进制形式打印存储在任何寄存器中的值.
我做了一些研究,发现DOS命令行的中断向量021h可以显示字符串和字符,而2或9位于ah寄存器中,数据在dx中.
结论:
我找到的所有示例都没有显示如何在不使用C库的printf的情况下以十进制形式显示寄存器的内容值.有没有人知道如何在装配中这样做?
嗨有人可以帮我解决这个问题吗?我是汇编级编程的新手。
在我的 alp 代码中,我用代码定义了一个字节:
count db 0
Run Code Online (Sandbox Code Playgroud)
在程序的另一部分中,我尝试将值提取到 ah 寄存器中,并向其添加 1,如下所示:
mov ah,count
add ah,1
Run Code Online (Sandbox Code Playgroud)
现在,如何使用ah寄存器中新的增量值更新count识别的内存位置,以便我可以将其用作循环或任何其他目的的计数器?