栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

disassembly window(反汇编窗口) asm文件(汇编文件)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

disassembly window(反汇编窗口) asm文件(汇编文件)

将目标代码转换为汇编代码的过程,换句话说是将机器语言转换为汇编语言。
可执行文件(是机器语言)
反汇编器使用的汇编语言不同
通常使用的反汇编器不同获得的反汇编程序与源程序会存在有些不同,执行效果相同,但代码会发生改变,执行效果相同

反汇编是指将非汇编目标代码转变成汇编的过程.

你所看到的反汇编代码,其实是由C编译器将C语言代码直接编译成汇编代码的,并非由机器码反汇编成汇编.

这样做在调试阶段有非常大的意义,比如你写的代码,语法上一点错误都没有,但是逻辑上有了错误,往往你要找到这个逻辑错误是很难的,这时候在调试的时候单步执行反汇编代码就变的很有意义了,给你举个例子:将变量十进制码转成16进制,十进制码放在变量tmp中,如果代码这样写:
d=(tmp>>4)*10+tmp&0x0F;

假如你输入tmp变量存储的是十进制的23(存储为0x23),然后使用上句准换为16进制,那么d应该等于0x17,但实际上代码的结果却是0x07,原因就是虽然上句代码语法上没有错误,但是逻辑上有错,运算符’+‘的优先级是大于运算符’&'的,这就造成了运算结果出错,结合反汇编代码可以很容易查出这类错误.

反汇编和C代码中都可以设置断点,但调试反汇编可以获得更高的精度,因为一句C代码可能有数十条汇编代码组成,在C代码单步执行一次,可能执行了十几条汇编代码,而在反汇编界面单步调试,每次只执行一句汇编代码。

disassembly window 反汇编窗口

command window 命令窗口

call stack window 调用堆栈窗口

memory window 寄存器窗口

serial window 串口窗口

trace window 跟踪窗口

system viewer window 系统查看窗口

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/692015.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号