论坛风格切换切换到宽版
  • 4486阅读
  • 13回复

这个程序怎么解释啊?请教各位老师!!! [复制链接]

上一主题 下一主题
离线ba8dr
 
发帖
21
只看楼主 倒序阅读 0楼 发表于: 2010-10-29
本人单片机方面是个菜鸟,这是xd-d6民用电台的程序,想修改。我读出二进制后反汇编出来的结果。想找到控制显示的部分进行修改。望能得到指教。
附件: xd-d6.doc (0 K) 下载次数:152
离线BD7QX
发帖
301
只看该作者 1楼 发表于: 2010-10-29
不知道xd-d6电台用的是什么显示方式(led or lcd?),感觉反汇编的有点不太对径,程序真正的代码量只到第22页比较少,全程只有1个push指令,没有pop指令。进入中断程序也没push和pop。另外有显示电路就一定会有一个对应的显示代码段定义(用多个db xx指令定义),在程序里偶尔在不同代码里出现一条db指令,也没有对应的io口对显示操作,不符合正常程序的控制要求。应些结论是读出的二进制代码程序有误或是程序是经过简单加密了(打乱地址线写入的)。
离线bi7nv
发帖
3334
只看该作者 2楼 发表于: 2010-10-29
你这样反汇编出来的结果是错的,发个原文件上来看一下?
离线ba8dr
发帖
21
只看该作者 3楼 发表于: 2010-10-29
谢谢楼上的两位老师解答
谢谢楼上的两位老师解答,我也感觉没有找到相应的操作端口,只是自己不懂不敢断定。cpu用的是80c35,软件存在27c16内,显示用的7段led。现在附上原二进制码文件。我是用wave软件进行反汇编的。
离线ba8dr
发帖
21
只看该作者 4楼 发表于: 2010-10-29
二进制文件在这里
二进制文件在这里,麻烦老师细读。
附件: xd-d6.rar (0 K) 下载次数:53
离线bi7nv
发帖
3334
只看该作者 5楼 发表于: 2010-10-29
'
不知道xd-d6电台用的是什么显示方式(led or lcd?),感觉反汇编的有点不太对径,程序真正的代码量只到第22页比较少,全程只有1个push指令,没有pop指令。进入中断程序也没push和pop。另外有显示电路就一定会有一个对应的显示代码段定义(用多个db xx指令定义),在程序里偶尔在不同代码里出现一条db指令,也没有对应的io口对显示操作,不符合正常程序的控制要求。应些结论是读出的二进制代码程序有误或是程序是经过简单加密了(打乱地址线写入的)。
'
说的不错!如果是8031的cpu 用prom做存储的话应该是 经过简单加密了(打乱地址线写入的)。这就要看电路图是不是打乱地址线,如果是的话,就要把程序写到rom里,再找出正切的地址线再读出来就对了。
ps:以前就发现老外这样加密的。
离线ba8dr
发帖
21
只看该作者 6楼 发表于: 2010-10-29
楼上的意思是不是要线路图
楼上的意思是不是要线路图,有时间我看能不能把电路图画下来。此电台控制部分只有五个七段led显示,五个按钮开关。
离线BD7QX
发帖
301
只看该作者 7楼 发表于: 2010-10-30
'
谢谢楼上的两位老师解答,我也感觉没有找到相应的操作端口,只是自己不懂不敢断定。cpu用的是80c35,软件存在27c16内,显示用的7段led。现在附上原二进制码文件。我是用wave软件进行反汇编的。
'
看了下80c35的pdf了,这个cpu和80c31不是同一个系列的cpu,指令代码也不一样,是不能用51的工具来反汇编的。这种cpu我没用过不太了解,楼主爱莫能助了。
离线XLDZZ
发帖
443
只看该作者 8楼 发表于: 2010-10-30
是oki的产品
离线ba8dr
发帖
21
只看该作者 9楼 发表于: 2010-11-02
谢谢各位老师指教
谢谢各位老师指教,看来只能通过硬件的手段来该显示了。
离线ba8dr
发帖
21
只看该作者 10楼 发表于: 2010-11-02
但是有些书上说8051与80C35是一样的
但是有些书上说8051与80c35是一样的。
  mcs-51 单片机包含mcs-51 和mcs-52 两个子系列。mcs-51 子系列的产品有: 8031
(片内无rom)、8051(片内有4kb 掩膜rom)和8751(片内有4kbeprom),它们均
属hmos 型。80c31、80c35 和87c51 单片机是与之相对的chmos 型产品,即低耗产品。
mcs-51 子系列产品在结构上除rom 不同及芯片的制造工艺有hmos 与chmos 之分外,
其他内部结构均相同。mcs-52 子系列与mcs-51 子系列的不同之处是片内rom 由4kb 增
至8kb,片内ram 由128b 增至256b,中断源增加了1~2 个。基于上述情况,本书只介绍
mcs-51 子系列单片机。
离线hodn
发帖
3791
只看该作者 11楼 发表于: 2010-11-02
找指令系统的资料吧,
离线hodn
发帖
3791
只看该作者 12楼 发表于: 2010-11-02
我也冒充高手
inc   a                  
            jbc   20h.0,
            nop                    
            mov   r7,a              
            nop                    
            mov   r7,a                
            nop                    
            mov   r7,a              
            nop                    
            mov   r7,a              
            nop                    
            mov   r7,a              
            nop                    
            mov   r7,a                
            subb a,r1                
            inc   @r1                
            cjne r7,#00h,qffac          
q0015:         subb a,@r1                
            cjne r5,#10h,qffd1          
            jnb   f0h,qffc8            
            rr   a                  
            jz   q0015                
            reti
离线bi7nv
发帖
3334
只看该作者 13楼 发表于: 2010-11-02
'
但是有些书上说8051与80c35是一样的。
  mcs-51 单片机包含mcs-51 和mcs-52 两个子系列。mcs-51 子系列的产品有: 8031
(片内无rom)、8051(片内有4kb 掩膜rom)和8751(片内有4kbeprom),它们均
属hmos 型。80c31、80c35 和87c51 单片机是与之相对的chmos 型产品,即低耗产品。
mcs-51 子系列产品在结构上除rom 不同及芯片的制造工艺有hmos 与chmos 之分外,
其他内部结构均相同。mcs-52 子系列与mcs-51 子系列的不同之处是片内rom 由4kb 增
至8kb,片内ram 由128b 增至256b,中断源增加了1~2 个。基于上述情况,本书只介绍
mcs-51 子系列单片机。
'
8051与80c35是一样的话。用prom做存储的话应该是 打乱地址线写入的。