gpt4 book ai didi

assembly - 汇编语言中的负运算和进位标志

转载 作者:行者123 更新时间:2023-12-01 16:35:06 24 4
gpt4 key购买 nike

当我用汇编语言对 A79CDB48h 进行负操作时,我将 CF(进位标志)设置为 1。有人可以解释为什么会这样吗

最佳答案

首先,假设我们正在处理 x86 架构,它的定义与 Intel reference 中的一样。手册。

 IF DEST = 0
THEN CF ← 0;
ELSE CF ← 1;
FI;
DEST ← [– (DEST)]

这种安排背后的一个可能原因是该功能可以作为广义加法/减法的副作用实现

 DEST ← [ TEMP - (DEST) ]

当操作码为 NEG 时,TEMP 可以是 [R/M] 或立即数 0。作为副作用,ALU 将计算 CF 和其余标志,就好像这些操作是在两个通用寄存器之间进行的一样。这种安排仅允许重新使用昂贵的硬件。后来的处理器只是简单地确认了规范,即使实现不是基于相同的微编码架构。

关于assembly - 汇编语言中的负运算和进位标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21088360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com