首页
社区
课程
招聘
[讨论]在x86_32架构下,指令的最大长度
发表于: 2014-7-15 17:19 7193

[讨论]在x86_32架构下,指令的最大长度

2014-7-15 17:19
7193
最近对x86_32架构下的许多程序进行了指令长度统计,结果表明所有程序所涉及的指令长度范围均为:1~11字节。
而根据INTEL 开发者手册上介绍的指令的最大长度限制为15字节。
但是,在什么情况或者架构上才会有12~15字节长度的指令呢?
还有,是否可以断定在X86_32架构下指令的最大长度为:11字节?如果是,有木有计算依据?
本来将这些问题电邮了一位搞体系结构的老师,结果,尼玛得到的回复是:google之。
只能求助对指令集结构比较熟的大神指导了!
以上问题的答案我已经get了。
补充一个问题,反正我没google到,cpu在取指阶段,从PC指示的内存地址一次性取多长的指令?15字节?求比较官方的依据。。。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
2
lock add dword ptr es:[eax+ecx*8+0x11223344], 0x12345678
在16 位模式下是15 bytes:
26 66 67 F0 81 84 C8 44 33 22 11 78 56 34 12
2014-7-15 17:51
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
3
这种问题google都不用,百度就可以解答。。。
链接:解开 x86/x64 指令长度的迷惑
2014-7-15 17:58
0
雪    币: 14
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
当时没找到。
看完已经明白了
x86指令集 :
16位,最大长度15字节
32位,最大长度13字节
64位,最大长度14字节
2014-7-15 19:00
0
雪    币: 14
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
[QUOTE=ccfer;1301117]lock add dword ptr es:[eax+ecx*8+0x11223344], 0x12345678
在16 位模式下是15 bytes:
26 66 67 F0 81 84 C8 44 33 22 11 78 56 34 12...[/QUOTE]
谢谢!
cpu取值阶段一次从内存中取多少字节的指令数据?15字节?
2014-7-15 19:03
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
楼主,1字节等于8位 32位CPU可以最大执行32位的指令 指令过大无法执行 而16位的CPU却可以20位寻址.可以利用段加偏移地址即可 是运算出来的..64位也就可以运行64位的指令 
2014-7-15 21:36
0
雪    币: 517
活跃值: (84)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
7
mik的x86/x64教程已经讨论过这个问题了,也有定论了,15 bytes。
2014-7-16 10:47
0
游客
登录 | 注册 方可回帖
返回
//