如果我执行以下操作(其中 cx
在移位之前有 0b1011 或十进制 11):
shl cx, 1
在shl
之后,应该设置进位标志。因为 shl
会将 0b1011 移动到 0b0110,而 1 将位于 CF
中。
我的问题是:如何访问进位标志中的值?假设我想将它附加到寄存器 bx
中,显然 mov bx, cf
不起作用,那么你会如何做呢?
最佳答案
这就是“add-with-carry”的用途:
adc bx, 0 ; adds "0" plus the value of CF to bx
如果您想设置一个(字节)寄存器完全等于进位标志的值,请使用“set-if-carry”:
setc bl ; BL = CF ? 1 : 0
关于assembly - 进位标志值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21865660/