打印
[PIC®/AVR®/dsPIC®产品]

XC8 C语言反汇编问题

[复制链接]
1190|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xxqg1|  楼主 | 2015-9-14 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下(简单的延时程序);
!        tim = 50;
0x7BC: MOVLW 0x32
0x7BD: MOVWF __pcstackCOMMON
0x7BE: MOVF __pcstackCOMMON, W
0x7BF: MOVWF tim
!        while(tim-- > 0);
0x7C0: MOVLW 0x1
0x7C1: SUBWF tim, F
0x7C2: INCF tim, W
0x7C3: BTFSS STATUS, 0x2
0x7C4: GOTO 0x7C0
其中__pcstackCOMMON地址是0x70,tim地址是0x72;
问题:tim赋值为什么要额外的两条指令0x7BD: MOVWF __pcstackCOMMON;0x7BE: MOVF __pcstackCOMMON, W;直接给累加器,再给tim不就可以了么?
沙发
yklstudent| | 2015-9-14 11:05 | 只看该作者
优化了吗????????

使用特权

评论回复
板凳
xxqg1|  楼主 | 2015-9-14 11:12 | 只看该作者
yklstudent 发表于 2015-9-14 11:05
优化了吗????????

这个工程选择的是PRO,但是在编译时还是警告FREE,软件已经**过了,可能没有**成功。

使用特权

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

本版积分规则

15

主题

39

帖子

1

粉丝