错误:未定义的符号:ADtoDBM

时间:2015-06-25 20:19:57

标签: assembly undefined-symbol

我已经对这个错误进行了大约6个小时的排除故障,我无法弄明白。我有一个非常相似的项目,工作得很好,但我无法正确组装。我得到4个错误,都说“Undefined symbol:ADtoDBM”

.macro cpsne
       cp   @0, @1
       in   r0, SREG
       sbrc     r0, 1
.endmacro

.macro  Output
    ldi     r16, @0
    rcall       SerialPutChar
.endmacro 

.macro LONGRCALL
    ldi     ZH, high(@0) ;the error points me to this line
    ldi     ZL, low(@0) ;the error points me to this line
    icall
.endmacro

.macro  SRAMToEE
    lds     r16, @0
    out     EEDR, r16
    sts     @1, r16
    ldi     r16, @1
    out     EEARL, r16
    rcall       EEWrite
.endmacro

我在宏LONGRCALL下标记了引发错误的2行。

它还指向了其他2个位置,其中一个位于此处,另一个位置完全相同。

Filter_SS:
    ldi     r17, 'S'
    cpse        r16, r17
     rjmp       Filter_SF

    rcall       QueueInit       
    LONGRCALL   ADtoDBM ;error points to this line.
    clr     r18
    longrcall   HexToBCD
    mov     r16, r12
    mov     r17, r13
    rcall       hex2Ascii
    mov     r16, r21
    rcall       SerialPutChar
    mov     r16, r20
    rcall       SerialPutChar
    mov     r16, r19
    rcall       SerialPutChar
    ldi     r16, '.'
    rcall       SerialPutChar
    mov     r16, r18
    rcall       SerialPutChar

    rjmp        prompt

ADtoDBM指向另一个发布在

下面的源文件
ADtoDBM:

lds r16, InputStatus
sbrs    r16, 0
rjmp    ADtoDBMStart
ldi r16, 0x0f   ; HEX for 9999  
ldi r17, 0x27 
ret

我没有写这段代码。大约15年前,它写的是我们制造但不再使用的旧产品。任何帮助表示赞赏 谢谢,

塔克

0 个答案:

没有答案