如何将寄存器的值分配给CF?

时间:2017-04-11 20:47:59

标签: assembly x86-64 cpu-registers carryflag

说我需要保存并恢复CF中的值。

我知道一种方法是使用pushfpopf。但这对我来说太贵了,因为我需要CF。

我正在尝试使用一个寄存器来执行此操作。为了保存,我使用了setc %r12b。但是,我不知道如何检索此值,即如何执行 mov %r12b CF之类的操作?

非常感谢!

1 个答案:

答案 0 :(得分:0)

正如@Jester所说,你可以做shr %r12b,因为

  

对于每个班次计数,目的地的最低有效位   操作数移入CF标志,最重要的位是   根据指令类型设置或清除。

http://felixcloutier.com/x86/SAL:SAR:SHL:SHR.html