欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

请求赞助翻译一个 32 位汇编指令到机器码

更新时间: 2014-01-05 03:16:46 责任编辑: Author_N1

 

请求协助翻译一个 32 位汇编指令到机器码.
我编一个动态内存固定需要 mov mov [0003B5B0], ebx 这样的代码, 我查询 80x86 Opcodes 表认为这是个 Mov Mem,Reg 格式的代码, 该翻译成 1000100woorrrmmm 模样, 但是我看不懂 80x86 Opcodes 表中如下的说明:

oo : Function  

• 00 : If mmm = 110, then a displacement follows the operation; otherwise, no displacement is used 

• 01 : An 8-bit signed displacement follows the opcode 

• 10 : A 16-bit signed displacement follows the opcode 

• 11 : mmm specifies a register, instead of an addressing mode 

mmm : Function  

• 000 : DS:[BX+SI] 

• 001 : DS:[BX+DI] 

• 010 : SS:[BP+SI] 

• 011 : SS:[BP+DI] 

• 100 : DS:[SI] 

• 101 : DS:[DI] 

• 110 : SS:[BP] 

• 111 : DS:[BX] 

请告诉我这句怎么翻译成机器码.
--参考方法--
89 1d b0 b5 03 00

opcode    ModR/M      displacement
10001001  00 011 101  b0 b5 03 00

在32位模式下:
Mod=00 RM=101 有效地址在附加的32位displacement中给出。
reg=011 ebx

--参考方法--
命令行工具disasm反汇编由命令行参数给出的起始地址和字节序列内容。
C:\>disasm 1000 89 1d b0 b5 03 00
00001000 891db0b50300     mov     [0003b5b0],ebx

http://download.csdn.net/detail/zhao4zhong1/6312905
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:16:46
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20337/
本文WWW.DOC100.NET DOC100.NET版权所有。