我正在尝试制作将余数除以分母作为以十为底的分数的东西。
因为我担心不喜欢未对齐的内存访问,所以我使用一个寄存器来缓冲最后八个计算数字。
但是,我找不到将缓冲区直接写入输出的任何方法。
我知道我可以将缓冲区移动到内存中并写入,但我不想这样做。
有没有办法将寄存器的值直接写入文件?
我在 64 位 Ubuntu 上使用带有 gcc-4.7 的 C++ 中的内联汇编。
编辑:
我很抱歉问了这样一个非常愚蠢的问题。
我正在玩内联汇编,并试图有效地将我生成的输出逐字节写入输出。我尝试通过将生成的字节转移到单个寄存器中,将该寄存器存储在内存中并将该内存地址处的 8 个字节写入输出(尽管我不确定这是否与字节序兼容)。
当我问这个问题时,我想到的是以某种方式省略了“将该寄存器存储在内存中”。最后,我只是将寄存器存储到一个缓冲区,每次它包含 8 个字节,当缓冲区被填满时,我一次打印整个缓冲区而不是 8 个字节。
我希望这能澄清我看似奇怪的问题背后的原因。