PIC汇编GPASM错误“覆盖以前的地址内容”

时间:2013-12-06 16:51:50

标签: assembly microcontroller pic

我正在尝试为Ikea Dioder v2(3个按钮和色轮,项目显示在http://www.vagrearg.org/content/skilt20)构建组装固件:

https://github.com/openspaceaarhus/ikea-sign/blob/master/idh-firmware.asm#L430

汇编程序gpasm是gputils的一部分,可以在http://sourceforge.net/projects/gputils/

找到
>gpasm -v
gpasm-1.2.0 #980 (May 17 2013)

>gpasm -DCOD=1 -p16f684 -o idh-firmware-16f684.hex idh-firmware.asm
idh-firmware.asm:430:Error[118]   Overwriting previous address contents (0020)

源代码提到了一些我不理解的“跳桌错位”(我知道C但没有asm)。这可能与错误有关吗?

1 个答案:

答案 0 :(得分:-1)

看起来有些跳转表错位可能是罪魁祸首。 您是否查看了列表,就像在idh-firmware.asm第121行中所说的那样?

这样的错误意味着不同代码片段的汇编器输出重叠。

看起来是在地址

上添加的
RAM_B0_START        equ        0x0020

它还可能与配置(绝对/可重定位代码)有关:

; Running variables
IFDEF COD        ; {
                org        0x0020
ELSE                ; }{
databank        udata                0x0020
ENDIF                ; }