我想知道这个x86寄存器标志在DOS/Windows程序Debug中意味着什么:
辅助进位(AC = 1
or NA = 0
)
和普通carry的意思一样吗? (CY = 1
or NC = 0
)
当指令导致位 3 进位或借位时,辅助进位标志被设置。与 CY 的想法相同,但针对字节中低半字节的高位。缩写AC是旧式的,该标志在Intel处理器手册中被命名为“AF”,是“Adjust Flag”的缩写。它被一些执行 BCD 计算调整的 x86 指令使用,例如 AAC(加法后的 Ascii 调整)和 DAA(加法后的十进制调整)。这些指令可以追溯到计算的石器时代,当时以 BCD 编码提供操作数仍然很常见。它在半字节中编码十进制数字。就像十进制 99 的 BCD 码是 10011001 一样。
当时,处理器为涉及 BCD 的计算提供专用硬件支持是很常见的。那是古老的历史,程序员习惯于用二进制编码数字。嗯,最重要的是编译器。值得注意的是,这些指令不再出现在 x64 指令集中。为更有用的 64 位特定操作码腾出空间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)