打印

51反汇编异常

[复制链接]
1436|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
duojinian|  楼主 | 2010-11-28 23:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.51系列MCU的十六进制代码如下:
0B B6 AD 07 AF 05 1D EF

60 12 7F 13 12 09 6D 12  

09 5C 12 09 5C 7F 13 12  

09 6D 80 E8 22 FF FF FF

FF FF

2.反汇编后代码如下:

Q0000:        INC   R3                           ;0000   0B
              CJNE  @R0,#0ADH,Q000B              ;0001   B6 AD 07   //问题: 这里的标号出现异常。请教原因。
Q0004:        MOV   R7,05H                       ;0004   AF 05
              DEC   R5                           ;0006   1D
              MOV   A,R7                         ;0007   EF
              JZ    Q001C                        ;0008   60 12
              MOV   R7,#13H                      ;000A   7F 13
              LCALL Q096D                        ;000C   12 09 6D
              LCALL Q095C                        ;000F   12 09 5C
              LCALL Q095C                        ;0012   12 09 5C
              MOV   R7,#13H                      ;0015   7F 13
              LCALL Q096D                        ;0017   12 09 6D
              SJMP  Q0004                        ;001A   80 E8
Q001C:        RET                                ;001C   22

              MOV   R7,A                         ;001D   FF
              MOV   R7,A                         ;001E   FF
              MOV   R7,A                         ;001F   FF
              MOV   R7,A                         ;0020   FF
              MOV   R7,A                         ;0021   FF

相关帖子

沙发
HWM| | 2010-11-29 01:07 | 只看该作者
从内容上看,反汇编没错。

CJNE  @R0,#0ADH,Q000B              ;0001   B6 AD 07

其中 offset 是 07,取指完 PC 值是 0004,0004+07 = 000B。

至于为何会跳入到指令的腰上,这要看原始数据的来源。

使用特权

评论回复
板凳
ejack| | 2010-11-29 08:12 | 只看该作者
本帖最后由 ejack 于 2010-11-29 08:16 编辑

碰到这类问题首先怀疑常量数据被当做指令解析。
反汇编时应顺序推导,否则很容易被常量所干扰——如果源程序的常量分散定位或者很小的话。

不过你这个例子的确奇怪……从汇编来看流程正确并且表达明确……

使用特权

评论回复
地板
5880527| | 2010-11-29 08:54 | 只看该作者
可能附近有表

使用特权

评论回复
5
HWM| | 2010-11-29 10:09 | 只看该作者
to 5,6L:

“经过我们处理得到的汇编代码,可以100%编译回去并得到一字不差的机器码”???

你倒是一点都不浪费啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

542

帖子

1

粉丝