我的班级正在使用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
答案 0 :(得分:0)
最简单的方法是使用AND或OR操作将该位设置为您想要的位置。
如果要将高位设置为1,请使用input OR 1000000
如果要将其设置为0,请使用input AND 01111111
。
其余位将保持不变。