首页
社区
课程
招聘
[求助]SHL与SHR指令是什么意思?
2007-2-5 11:31 20601

[求助]SHL与SHR指令是什么意思?

2007-2-5 11:31
20601
我在看汇编代码的时候,遇到SHR和SHL指令,不知道是什么意思.
例如:EAX = 73
SHL EAX , 4
这条指令执行完了之后 EAX = 730了.
是怎么计算的阿?
帮帮我.谢谢

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
打赏
分享
最新回复 (6)
雪    币: 242
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
老神树 2007-2-5 12:18
2
0
Originally posted by whjh
我在看汇编代码的时候,遇到SHR和SHL指令,不知道是什么意思.
例如:EAX = 73
SHL EAX , 4
这条指令执行完了之后 EAX = 730了.
是怎么计算的阿?
........


SHL -逻辑左移
SHR -逻辑右移

crackmes.ys168.com 资料区有个“intel汇编指令集.zip”,下载看看就明白了。
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
KAN 6 2007-2-5 12:20
3
0
shl eax(2),2

eax=2*2*2

shr eax(8),2

eax=8/2/2
雪    币: 309
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
mingren 1 2007-2-5 13:15
4
0
逻辑左移SHL(Shift Logical Left)和逻辑右移SHR(Shift Logical Right)。

逻辑左移一次.等于*2

逻辑左移4次 等于 2*2*2*2=16

73(115)*16=1840(730)
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
fonge 5 2007-2-5 13:22
5
0
shl是逻辑向左移的意思,那个l->left

++++++++++++++++++++++++++++++++++
73H的二进制为01110011
向左移4位(shl 73,4)即011100110000所以
执行完之后正是730
左移了四位

雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
fonge 5 2007-2-5 13:30
6
0
好像我算错了
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
whjh 2007-2-5 14:01
7
0
谢谢各位的帮忙 我明白了.
游客
登录 | 注册 方可回帖
返回