作者 主题:8051:开源反汇编程序 (Read 707 times)

0位成员和16位客人正在查看此主题。

 离线 Sandeepkumar

  • 新手
  • 帖子:2
  • 国家:  在
8051:开源反汇编程序
« 上: 2020年12月8日,下午12:55:40»
问候
我有一个AT89S52单片机开发板,用于学习微控制器。我是电子和类似行业的新手,但是我有编写程序的经验。我有一些闲暇时间,所以看了无数Ben Eater视频,并学习了为开发板制作好的汇编语言程序。我还决定为此做一个汇编器。 (我在编译器/汇编器中的想法/知识为零)。因此,我开始研究汇编程序的工作原理。到现在为止,我已经制作了一个反汇编程序(它将十六进制文件转换为asm文件)。是的,我被束缚了,但我至少做了点什么。一世'd感谢您看一下它(它是开源的),并给我一些有关汇编程序的提示和建议。

原谅我没有记录和评论代码 :-\

链接到反汇编程序页面:
//github.com/w0qs1/disgeek51
« 上次编辑:2020年12月8日,下午12:57:44 by Sandeepkumar »
 

 线上 新脑

  • 超级贡献者
  • ***
  • 帖子:1008
  • 国家:  SE
回复:8051:开源反汇编程序
« 在以下方面回复#1: 2020年12月8日,下午02:54:35»
它是开源的
谢谢你的努力!
我对8051的使用经验为零,但是我对某些软件的许可证有了解:
这不是真正的开放源代码,除非您声明其所使用的许可证(例如BSD,MIT),并可能在存储库中放入相应的许可证文件。
现在的样子,可能唯一允许使用该代码执行的操作就是读取它。

免责声明:IANAL,TINLA。
Nandemo wa shiranai wa yo,shitteru koto dake。
 
以下用户感谢这篇文章: Sandeepkumar

 离线 马克

  • 支持者
  • ****
  • 帖子:1714
  • 国家:  我们
回复:8051:开源反汇编程序
« 在以下方面回复#2: 2020年12月8日,下午04:52:28»
如果您不了解它,则可能需要看一下SDCC,以了解其工作原理。 除了是C编译器外,它还包含一个8051/8052汇编器和反汇编器。  All open source.

  //sourceforge.net/projects/sdcc/
 
以下用户感谢这篇文章: Sandeepkumar

 离线 皮博迪

  • 经常贡献者
  • **
  • 帖子:919
  • 国家:  我们
回复:8051:开源反汇编程序
« 在以下方面回复#3: 2020年12月8日,下午05:06:45»
还有Naken汇编器,其中包括用于8051和许多其他处理器的反汇编器。 很小,非常快的命令行。

//www.mikekohn.net/micro/naken_asm.php
 
以下用户感谢这篇文章: Sandeepkumar

 离线 布鲁斯胡特

  • 超级贡献者
  • ***
  • 职位:1855
  • 国家:  nz
  • 前身为SiFive,Samsung R&D
回复:8051:开源反汇编程序
« 在以下方面回复#4: 2020年12月9日,上午12:15:34»
快速浏览。看起来不错。您可能可以重构某些内容并将其缩短一些,但是's fine.

汇编程序正好相反:-)您已经在操作码定义文件中获得了所需的所有信息。

一种方法是将操作码定义读入数组,但替换诸如"code addr" with a regexp that matches a 代码添加器ess.

然后,您可以采用汇编语言的每一行,剥离注释并将空格运行分别转换为单个空格,然后针对汇编语言行测试每个操作码的正则表达式匹配。
 
以下用户感谢这篇文章: Sandeepkumar

 离线 Sandeepkumar

  • 新手
  • 帖子:2
  • 国家:  在
回复:8051:开源反汇编程序
« 在以下问题上回复#5: 2020年12月9日,上午06:02:16»
我以为SDCC只是C编译器。在开始我自己的程序之前,我可能已经问过这个论坛 :palm:
谢谢
 


分享我

 掘客    脸书    SlashDot    美味的    Technorati    推特    谷歌    雅虎
中频