首页
社区
课程
招聘
确定机器码的问题
发表于: 2010-7-15 17:35 3508

确定机器码的问题

2010-7-15 17:35
3508
89    /r     MOV r/m32,r32           Move
8A    /r     MOV r8,r/m8             Move
8B    /r     MOV r32,r/m32           Move
当mov eax, ebx时, 如何确定OP是89还是8b呢?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 58
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
1. 不同机器[CPU]的指令码是有差异的,这里以80x86为例

2. 这里列出各种mov指令的操作码
目的操作数        源操作数        字节数        操作码
8位寄存器             8位寄存器        2        8A
16位寄存器     16位寄存器        2        8B
32位寄存器     32位寄存器        2        8B
8位寄存器             存储器字节        2~7        8A
16位寄存器     存储器字         2~7        8B
32位寄存器     存储器双字        2~7        8B
AL                直接存储器字节        5        A0
AX                直接字          5        A1
EAX                直接双字        5        A1
存储器字节             8位寄存器        2~7        88
存储器字             16位寄存器        2~7        89
存储器双字             32位寄存器        2~7        89
直接存储器字节  AL                        5        A2
直接字          AX                        5        A3
直接双字             EAX                        5        A3
段寄存器             16位寄存器        2        8E
16位寄存器     段寄存器        2        8C
段寄存器             存储器字        2~7        8E
存储器字             段寄存器        2~7        8C

3. mov eax,ebx 符合上面描述的蓝色字体,那么操作码[OP]就是8B
2010-8-15 09:30
0
游客
登录 | 注册 方可回帖
返回
//