装配右移带进?

时间:2015-05-11 18:50:09

标签: nasm

我的班级正在使用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

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用AND或OR操作将该位设置为您想要的位置。

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

其余位将保持不变。