我正在努力学习NASM程序集,但我似乎正在努力解决高级语言中的问题.
我正在使用的所有教科书都使用字符串进行讨论 - 实际上,这似乎是他们最喜欢的东西之一.打印你好世界,从大写改为小写等
但是,我试图了解如何在NASM程序集中增加和打印十六进制数字,并且不知道如何继续.例如,如果我想在Hex中打印#1 - n,那么如果不使用C库(我能够找到使用的所有引用),我该怎么办呢?
我的主要想法是在.data部分有一个变量,我将继续增加.但是如何从此位置提取十六进制值?我似乎需要先将它转换为字符串......?
任何建议或示例代码将不胜感激.
给定寄存器中的数字(二进制整数),如何将其转换为十六进制ASCII数字字符串?
数字可以存储在存储器中或即时打印,但存储在存储器中并一次打印通常更有效.(您可以修改存储的循环,而不是一次打印一个循环.)
我们能否有效地处理与SIMD并行的所有半字节?(SSE2或更高版本?)