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

怎么查找汇编语言对应的机器码?例如mov ax,0对应的16进制机器码?

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

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

  方法示例(使用OllyDBG):

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

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-27
你找任何介绍汇编语言的书上都有指令集,上面都会列出每条指令的机器码。
第2个回答  2016-01-22
其实,编译程序中包含一个指令助记符-机器指令的对照表,就像你查字典能查到读音和字义一样,通过对照表可以很方便地找到对应的机器码。
第3个回答  2016-03-03
一般直接插手测

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

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

需要手工计算跳转位置才能得到正确的值
第4个回答  2016-02-02
这个得找本书才行。而且汇编指令可能对应多个机器码。
如果用dos模拟器,可以用debug自己汇编和反汇编看看。一个是A指令,一个是U指令。

怎么查找汇编语言对应的机器码?
汇编语言有许多种。 不同的 CPU 的机器码,也不一样。比如,汇编语言 PUSH 的机器码,就有很多种形式 稳妥的方法,就是到它们的官网去查。 另外,机器码,人是看不懂的。机器码是由 CPU 来执行的,你查出来,也没有什么用。

电脑机器码怎么看
1. 使用编程语言查看:对于一些编程语言来说,可以直接通过编写代码来查看机器码。例如,在C语言中使用编译器编译程序时,编译器会将源代码转换为机器码,可以在编译过程中观察或输出这些机器码。2. 使用反汇编工具:对于已经编译成可执行文件的程序,可以使用反汇编工具来查看其机器码。这些工具能够将可执...

汇编指令对应机器码表
直接标志转移指令提供8位寻址方式。JC指令对应机器码72,表示在有进位时转移;JNC指令对应机器码73,表示在无进位时转移;JZ\/JE指令对应机器码74,表示在结果为零时转移;JNZ\/JNE指令对应机器码75,表示在结果不为零时转移;JS指令对应机器码78,表示在结果为负时转移;JNS指令对应机器码79,表示在结果...

MCS-51单片机机器码
想要得到汇编语言所对应的机器码,一般有两种方法:人工查表、利用编译软件。当然,现在还可以上网,求助别人。在我的空间,上传了一个指令表,你可以去看看:http:\/\/hi.baidu.com\/%D7%F6%B6%F8%C2%DB%B5%C0\/album\/item\/6ecff2e8fa6bcc0ab90e2de6.html 从表中可以查出:DA A : DA M...

机器码和汇编语言之间是什么关系?
机器码和汇编语言之间是一一对应的关系。汇编程序中存有汇编指令(助记符)和机器码(机器指令)之间一一对应关系的对照表。通过扫描查找对照表可以将汇编指令序列快速地翻译为机器码序列,这样就把你的汇编源程序翻译为目标程序,进而通过链接后生成可执行的机器码文件(如exe文件)。

怎么把 汇编代码 转成 机器码
你可以这样写一个程序:.386 .code .startup mov eax, 0040100FH jmp eax add edx, 4 end 用TASM汇编程序汇编,在命令行里加上 \/l 选项,汇编后查阅生成的.lst文件,可以得到这三条指令的十六进制的机器代码为:B8 0040100F (按字节拆开是 B8 0F 10 40 00)FF E0 83 C2 04 ...

如何察看汇编程序的2进制代码?
假设你是用debug命令 debug program.exe -u 100 “100”是你要开始反汇编的地址,也可以不写地址,那么意思就是从当前地址开始反汇编。显示结果格式如下:0B78:0001 1F POP DS 0B78:0002 BA0E00 MOV DX,000E 0B78:0005 B409 MOV AH,09 0B78:0007 CD21 INT 21...

求汇编语言与机器码对照表,"eb 58 90"是什么指令?
eb 58是一条jmp指令,pe头文件里经常见这玩意,直接用debug的u命令就可以看到了。文档可以看《Intel® 64 and IA-32 Architectures Software Developer Manuals》的卷2附录,里面有详细的操作码映射表,需要做一点功课,不然不容易看懂。90是一个nop空操作,用来填空间用的。

编程代码和机器码有关系吗?
机器码 难理解又难记,书写 调试的时候又容易出错,后来就出现了汇编语言,他是机器语言助记符 每一天条汇编指令 都有相对应的 机器代码。在学习汇编的同时也可以 学习机器语言 在cmd 可以输入C:\\Users\\ADMINI~1>debug e:\\1.exe 1.exe 代表的 汇编程序 然后用u命令 出现如下-u 0B2B:0100 ...

如何将汇编语言转换成机器语言
采用助记符表达指令操作码,采用标识符表示指令操作数。作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。常用的高级语言编译器有Microsoft公司的MASM系列和Borland公司的TASM系列编译器,还有一些小公司推出的或者免费的汇编软件包等。

相似回答