ASR上的SHR是什么意思

maj*_*rif -2 x86 assembly

SHR意味着我很困惑,

SHR CL, 1
Run Code Online (Sandbox Code Playgroud)

最初CL是0x2ASHR之后就成了0x15.

SHR 42,1 = 21

Spy*_*ros 6

简单地说,Shift Right.第二个操作数定义要向右移位的位数.所以:

CL = 42(十六进制)= 0100 0010(二进制)

向右移一次,所有位都正确.最低有效位(最右边)进入进位标志,并且在最高有效位(最左边)附加零.因此价值变为:

0010 0001(21 in hex) - >最右边的0进入进位标志.