[PIC®/AVR®/dsPIC®产品] XC8 C语言反汇编问题

[复制链接]
1334|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,软件已经**过了,可能没有**成功。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

43

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部