打印

PIC18F系列 MPLAB汇编 怎么添加多个ASM源文件同时编译!

[复制链接]
4298|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我现在 有两个 ASM汇编源文件 可是编译的时候 如果 在另一个源文件 开头 写入OGR  出错

Error - section '.org_0' type is non-overlay and absolute but occurs in more than one input file.什么意思呢?

没有ORG 一样出错 !!什么原因?

未命名.jpg (100.36 KB )

未命名.jpg
沙发
zhoujunfeng| | 2014-4-28 16:18 | 只看该作者
文件中声明 GLOBAL 函数名

使用特权

评论回复
板凳
yewuyi| | 2014-4-29 09:53 | 只看该作者
1、在ASM中,ORG只有在主函数开始或者中断函数入口等极少情况下才写,多数情况下都直接线性排序编译链接下去,不必再写ORG定位地址了。
2、一般汇编程序就不再用多文件编译的方式,基本都是单个文件,把所有的代码都写一个文件里面。

直接用PICC写C代码就是了,PICC自己帮你做好了连接文件。

使用特权

评论回复
地板
zhoujunfeng| | 2015-4-24 23:48 | 只看该作者
汇编文件比较大的时候,建议用多个文件。
子文件里面用GLOBAL 声明函数 例如 GLOBAL  BINTOBCD,TWOBINTOBCD
调用的文件用EXTERN 标记要使用的函数 例如:EXTERN BINTOBCD,TWOBINTOBCD 这样在该文件中就可以调用这两个函数了。主要PAGESEL的选择及回复。

使用特权

评论回复
5
zhoujunfeng| | 2015-4-24 23:49 | 只看该作者
注意PAGESEL的选择及回复。

使用特权

评论回复
6
wenzong| | 2015-5-4 09:49 | 只看该作者
zhoujunfeng 发表于 2015-4-24 23:48
汇编文件比较大的时候,建议用多个文件。
子文件里面用GLOBAL 声明函数 例如 GLOBAL  BINTOBCD,TWOBINTOBCD ...

这样编译可以通过,但是会出现警告
Warning[205] F:\ASM\TFT_TEST_2\TFT480X272.ASM 13 : Found directive in column 1. (extern)
Warning[205] F:\ASM\TFT_TEST_2\TFT480X272.ASM 14 : Found directive in column 1. (extern)
Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p18F25K80 "Fun.asm" /l"Fun.lst" /e"Fun.err" /o"Fun.o" /rDEC /w1
Warning[205] F:\ASM\TFT_TEST_2\FUN.ASM 3 : Found directive in column 1. (global)
Warning[205] F:\ASM\TFT_TEST_2\FUN.ASM 4 : Found directive in column 1. (global)

使用特权

评论回复
7
zhoujunfeng| | 2015-8-14 11:07 | 只看该作者
打个空格在警告的那一行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

17

帖子

0

粉丝