携带旗帜的价值

use*_*189 4 x86 assembly masm

如果我执行以下操作(在cx班次之前,其中有0b1011或11的十进制数):

 shl cx, 1
Run Code Online (Sandbox Code Playgroud)

之后shl,应设置进位标志.作为shl将移动0b1011到0b0110和1将在CF.

我的问题是:如何访问进位标志中的值?假设我想将它附加到注册bx,显然mov bx, cf不起作用,那么你会怎么做呢?

Ker*_* SB 8

这就是"附加携带"的用途:

adc bx, 0   ; adds "0" plus the value of CF to bx
Run Code Online (Sandbox Code Playgroud)

如果要将(字节)寄存器设置为与进位标志的值完全相等,请使用"set-if-carry":

setc bl     ; BL = CF ? 1 : 0
Run Code Online (Sandbox Code Playgroud)