请教一个汇编指令

来源:百度知道 编辑:UC知道 时间:2024/05/13 15:32:23
shr ebx,1
请问是什么意思

这就是著名的逻辑右移指令,

将32位寄存器ebx的值,右移一位,高位用0填充

某些情况下,其实也相当于除以2(不考虑奇数,即末位为1)
很多优化编译器会把x/2编译为右移1位
因为移位操作速度相当地块,比除法快不知多少倍。

比如ebx=256(十进制),右移一位后变成(128)

对ebx里的值进行逻辑右移 1位
若ebx的值的二进制为 1001 0010 0010 0100 0000 0000 0000 0000 逻辑右移一位就变成: 0100 1001 0001 0010 0000 0000 0000 0000

将ebx寄存器中的内容右移一位