请教pic编译出错原因

2019-03-25 19:49发布

红 {MOD}字体为出错提示,都是在调用函数时出错。
MPASM  5.20                           PIC.ASM   10-9-2009  10:55:46         PAGE  2

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0016   0586           00050         BSF RB,4
0017   0506           00051         BSF RB,0
Error[120]  : Call or jump not allowed at this address (must be in low half of page)0018   095B           00052         CALL DELAY                        00053         
0019   0486           00054         BCF RB,4
001A   0406           00055         BCF RB,0  
001B   0000           00056         NOP
                      00057
001C   0C00           00058         MOVLW  00H  
001D   0033           00059         MOVWF  U1
                      00060
001E   0C00           00061         MOVLW  00H
001F   0034           00062         MOVWF  D1   
                      00063        
Error[120]  : Call or jump not allowed at this address (must be in low half of page)
0020   0964           00064         CALL send8                        00065         
0021   0586           00066         BSF RB,4
0022   0506           00067         BSF RB,0   
Error[120]  : Call or jump not allowed at this address (must be in low half of page)
0023   095B           00068         CALL DELAY   
                      00069
0024   0486           00070         BCF RB,4
0025   0406           00071         BCF RB,0   
0026   0000           00072         NOP
                      00073
0027   0CA0           00074         MOVLW  0A0H  
0028   0033           00075         MOVWF  U1
                      00076
0029   0CA0           00077         MOVLW  0A0H
002A   0034           00078         MOVWF  D1   
                      00079
Error[120]  : Call or jump not allowed at this address (must be in low half of page)
002B   0964           00080         CALL send8  
                      00081
002C   0586           00082         BSF RB,4
002D   0506           00083         BSF RB,0  
Error[120]  : Call or jump not allowed at this address (must be in low half of page)
002E   095B           00084         CALL DELAY     
                      00085
002F   0486           00086         BCF RB,4
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
lovin_vivi
2019-03-26 06:05
1.注意microchip的系列单片机,ROM分块bank,或者翻译成扇区,调用别的扇区的函数不能直接用call。
所以写代码的时候要注意,最好将调用语句和函数头放在同一个bank中。
2。这是microchip最不好的设计之一,所以它的衍生后来者都去掉这一点,比如holtek,tenx等类microchip产品。

一周热门 更多>