Assembly ASM上的SHR是什么意思

Assembly ASM上的SHR是什么意思,assembly,x86,Assembly,X86,我对SHR的意思感到困惑 SHR CL, 1 最初CL为0x2A,SHR后为0x15 SHR 42,1=21 将这两个值都用二进制表示,而不是十六进制数,这使指令的作用更加明显。 当第一个数字除以第二个数字时,注意不同模式的额外点。简单地说,向右移动。第二个操作数定义要右移的位数。因此: CL=42(十六进制)=0100 0010(二进制) 右移一次,所有位都向右移动。最低有效位(最右边)进入进位标志,最高有效位(最左边)追加零。因此,该值变为: 0010 0001(十六进制21)->最右边的

我对SHR的意思感到困惑

SHR CL, 1
最初CL为
0x2A
,SHR后为
0x15

SHR 42,1=21


将这两个值都用二进制表示,而不是十六进制数,这使指令的作用更加明显。
当第一个数字除以第二个数字时,注意不同模式的额外点。

简单地说,向右移动。第二个操作数定义要右移的位数。因此:

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

右移一次,所有位都向右移动。最低有效位(最右边)进入进位标志,最高有效位(最左边)追加零。因此,该值变为:


0010 0001(十六进制21)->最右边的0指向进位标志。

汇编程序与Javascript有什么关系?我只是试图将代码从汇编转换为Javascript。为什么不在文档中查找您正在使用的任何指令集第一环。shr将立即数指定的计数的字节、字或长数值右移(无符号除法),并将商分别存储在该字节、字或长数值中。你真的应该在你的问题上投入更多的精力。答案可以通过简单的谷歌搜索找到,搜索关键词是:shr assembly。所以这个问题不费吹灰之力,而且质量很低。看起来像除法。可以这样使用,对吧,但这只是一个副作用,是计算机处理二进制数的结果,其副作用大约相当于从十进制数中去掉尾随数字是一个(整数)除以10。我不知道为什么几乎所有语言都有移位运算符/指令,人们在学习语言时都会遇到移位,为什么人们总是问移位