装配转移右进位?
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
.
其余位不变
我的 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
.
其余位不变