怎么查找汇编语言对应的机器码?

怎么查找汇编语言对应的机器码?例如movax,0对应的16进制机器码?... 怎么查找汇编语言对应的机器码?例如mov ax,0对应的16进制机器码? 展开
 我来答
益达是谁
2016-04-10 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:60.6万
展开全部

  查找汇编语句对应机器码的方法通常是使用反汇编工具,例如IDA Pro,OllyDBG等。

  部分汇编语句(如NOP)和机器码是一一对应的关系,这种语句的编码可以通过查表获得。但像mov byte ptr[esi],90h这类使用操作数或者操作内存的指令一般没有固定编码,所以推荐使用上述反汇编工具。

  方法示例(使用OllyDBG):

     1:首先打开OllyDBG,依次单击 文件->打开 ,弹出以下窗口。选择一个应用程序,单击【打开】。

  2:打开后主窗口显示如下,下图中中间的绿色部分即为右侧汇编指令的机器码。

  注意事项:以上示例为win32平台的应用程序,不同平台的程序也会有不同的指令和反汇编工具,所以以上示例并不通用。建议搜索关键字:平台+反汇编工具(例如 linux 反汇编工具)。

zhxiufan
2013-07-27 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38386
国家科技进步奖

向TA提问 私信TA
展开全部
你找任何介绍汇编语言的书上都有指令集,上面都会列出每条指令的机器码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gcbjoy
2016-01-22 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:92%
帮助的人:2165万
展开全部
其实,编译程序中包含一个指令助记符-机器指令的对照表,就像你查字典能查到读音和字义一样,通过对照表可以很方便地找到对应的机器码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2925059
2016-03-03 · TA获得超过4137个赞
知道大有可为答主
回答量:1.1万
采纳率:51%
帮助的人:1752万
展开全部
一般直接插手测

此外还有一些工具可以帮助转换

特别需要注意的是,有些指令是和当前的ip有关系的,比如 jump

需要手工计算跳转位置才能得到正确的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thebabe
2016-02-02 · TA获得超过829个赞
知道小有建树答主
回答量:729
采纳率:66%
帮助的人:519万
展开全部
这个得找本书才行。而且汇编指令可能对应多个机器码。
如果用dos模拟器,可以用debug自己汇编和反汇编看看。一个是A指令,一个是U指令。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式