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

pitsou7 2013-09-26 08:34:59
我编一个动态内存固定需要 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]

请告诉我这句怎么翻译成机器码.
...全文
204 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-09-29
  • 打赏
  • 举报
回复
命令行工具disasm反汇编由命令行参数给出的起始地址和字节序列内容。 C:\>disasm 1000 89 1d b0 b5 03 00 00001000 891db0b50300 mov [0003b5b0],ebx http://download.csdn.net/detail/zhao4zhong1/6312905
  • 打赏
  • 举报
回复
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

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧