可以把一个汇编程序分在多个文件里吗

[复制链接]
4452|24
 楼主| chenho 发表于 2011-9-22 20:18 | 显示全部楼层 |阅读模式
IDE66可以把一个汇编程序分在多个文件里吗?
tian111 发表于 2011-9-22 20:23 | 显示全部楼层
当然可以的啊。最后就看你如何连接起来了。
gongche 发表于 2011-9-22 20:29 | 显示全部楼层
你试试不就行了?
huanghuac 发表于 2011-9-22 20:32 | 显示全部楼层
能够的,可以定义很多宏在其他文件里面,然后主程序调用
happy_10 发表于 2011-9-22 20:35 | 显示全部楼层
用INCLUDE加进来就行了.
 楼主| chenho 发表于 2011-9-22 20:39 | 显示全部楼层
好像不行,我试了
 楼主| chenho 发表于 2011-9-22 20:43 | 显示全部楼层
把子程序放在同一个文件里就可以,把它放到另外的以.asm结尾的文件里,就不对了
huanghuac 发表于 2011-9-22 20:45 | 显示全部楼层
程序一直都是在这个文件里执行不会到主函数在的文件?
 楼主| chenho 发表于 2011-9-22 20:49 | 显示全部楼层
我在主函数文件里也用INCLUDE加进来了。
冰清玉洁 发表于 2011-9-22 20:54 | 显示全部楼层
INCLUDE的都是在同一个文件夹下的文件,才能包含
 楼主| chenho 发表于 2011-9-22 20:58 | 显示全部楼层
文件就是在同一个文件夹下啊
wenfen 发表于 2011-9-22 21:01 | 显示全部楼层
不会吧……
linbei1988 发表于 2011-9-23 08:34 | 显示全部楼层
MPLAB行,你这个不知道
neyo.zhong 发表于 2011-9-23 11:50 | 显示全部楼层
将所有RAM定义放在一个头文件里,所以的asm文件都include这个头文件
neyo.zhong 发表于 2011-9-23 12:00 | 显示全部楼层
但是要注意几个问题:
1.ROM BANK:跨BANK调用的话,不能使用call和rtni,只能用jmp
2.如果有表的话,要注意该表不能超过x00H~xffH的范围,也就是说假如该表起始位置位于61AH,那么这个表最大不能超过6FFH,也就是说表最大不能超过256。因此需要对表起始地址进行设定 ORG
3.由于将程序为几个asm文件组成,所以如果要查看每个子程序所在地址,需要用文本编辑器打开list文件来查看
readdai 发表于 2011-9-23 19:16 | 显示全部楼层
应该可以吧,
先试一试简单的,将原程序中的一个子函数,独立出来,命名一个.asm文件,然后,原来程序里include进来。
独立出来的.asm文件也要include包含单片机信息的头文件,原来程序里可以再弄个extern+(你独立出来的子函数的标号或者说函数名)申明一个外部函数看看,可行否。   独立出去的程序用到的变量什么的注意一下,有必要申明的就申明下。
Pony279 发表于 2011-9-23 20:23 | 显示全部楼层
应该可以吧,学x86汇编的时候都可以
可能规则会有些区别吧,去找相关的说明文档看看咯~
404870852 发表于 2011-9-24 10:30 | 显示全部楼层
好好!
 楼主| chenho 发表于 2011-9-26 21:02 | 显示全部楼层
我还以为没有什么特别要注意的呢
gongche 发表于 2011-9-26 21:06 | 显示全部楼层
能啊,主程序调用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

748

主题

9853

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部