共2条
1/1 1 跳转至页
BIN,HEX 关于BIN,HEX和反汇编的一个问题
问
我想问一下,对于用ASM编译好的HEX文件,或者是从EPROM里读出来的HEX文件,用相应的反汇编工具汇编出来,应该语句是一样的吧?就是说和源程序相比是没有损失或变化的,同样的用BIN2HEX工具把BIN格式文件转换成HEX后,再反汇编也是上边的结果。只有从EXE文件反编译出来的东西才会和源文件不同,这样说是否正确?
答 1:
研究这个干吗?很有前途么?网上的源代码数都数不清,要什么没有?干吗非要做一些费力不讨好的东东呢?
不解~~ 答 2: 不明白楼主的问题 答 3: 语句是一样的 答 4: 肯定有所不同 答 5: 已经明白了。这个问题我后来又考虑一下,再别的论坛上也问了一下,已经弄明白了。因为对于汇编成的HEX语言,实际上是机器语言,可以被机器理解和直接执行的。汇编的过程实际上应该就是汇编工具把汇编语言翻译成机器语言的过程。
为了验证这个想法,昨天写了一小段Z80的程序,用TASM汇编成HEX文件,可以看到和书上的参考指令是对应的;然后又用DASMZ80反汇编成ASM文件,哈哈。果然和原来一样。 答 6: 反汇编之后和源程序相比,要少很多内容。首先所有注释不会存在,其次所有伪指令都不会出现,第三为便于阅读的标号等均消失。所有常数表必须知道这是常数表才可以反汇编成常数表,否则反汇编成一堆无意义指令,并可能导致其后所有指令错误。
从EXE文件反汇编,原则上与从HEX文件反汇编没有很大区别。但PC机需考虑的问题远比单片机要多,是非常困难的工作。 答 7: 难在代码数据自动分离否则就会产生很多火星人编出的代码. 答 8: tks谢谢各位解答,maychang 说的很有道理。
不解~~ 答 2: 不明白楼主的问题 答 3: 语句是一样的 答 4: 肯定有所不同 答 5: 已经明白了。这个问题我后来又考虑一下,再别的论坛上也问了一下,已经弄明白了。因为对于汇编成的HEX语言,实际上是机器语言,可以被机器理解和直接执行的。汇编的过程实际上应该就是汇编工具把汇编语言翻译成机器语言的过程。
为了验证这个想法,昨天写了一小段Z80的程序,用TASM汇编成HEX文件,可以看到和书上的参考指令是对应的;然后又用DASMZ80反汇编成ASM文件,哈哈。果然和原来一样。 答 6: 反汇编之后和源程序相比,要少很多内容。首先所有注释不会存在,其次所有伪指令都不会出现,第三为便于阅读的标号等均消失。所有常数表必须知道这是常数表才可以反汇编成常数表,否则反汇编成一堆无意义指令,并可能导致其后所有指令错误。
从EXE文件反汇编,原则上与从HEX文件反汇编没有很大区别。但PC机需考虑的问题远比单片机要多,是非常困难的工作。 答 7: 难在代码数据自动分离否则就会产生很多火星人编出的代码. 答 8: tks谢谢各位解答,maychang 说的很有道理。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |