程序如下(简单的延时程序);
! 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不就可以了么? |