装配转移右进位?

Assembly shift right with carry in?

我的 class 正在使用 Nasm 汇编,我试图找出不同的移位方式,我们知道指令 shr/sar、shl/sal、ror、rcr , rol, rcl。但是我会向右移动并将最左边的位设置为我想要的任何位置吗? 例如:

我有 11010011,向右移动会产生 _1101001 cf=1, 我可以将数字移到最左边的位吗? 谢谢!

编辑:

我唯一的想法是使用按位运算,如果最左边的位不是我想要的,我可以使用 not 运算符翻转它。 例如,数字最终为 1 1101001,我想要 0 1101001,

1 1101001 & 01101001 = 01101001 要么, 0 1101001 | 11101001 = 11101001

最简单的方法是使用 AND 或 OR 运算将位设置为您想要的值。

如果要将高位设置为1,使用input OR 1000000
如果要将其设置为 0,请使用 input AND 01111111.

其余位不变