|
楼主 |
发表于 2010-10-2 15:28:59
|
显示全部楼层
回复【1楼】machao
-----------------------------------------------------------------------
对不起,马老师,我没有表达清楚!
重新描述一下:
在ICCAVR中,如果用下面的程序
#include <iom16v.h>
void main( void )
{
asm("sbi PORTD,0 ");
}
就会出现如下错误:
!E main.s(18): absolute expression expected
但是如果用下面的程序,就不会报错, 看起来像是程序不识别变量PORTD,需要自己去指定地址。
#include <iom16v.h>
void main( void )
{
asm("PORTD=0x12");
asm("sbi PORTD,0 ");
}
在汇编头文件aiom16.s中,含有PORTD=0x12语句,那么如果能够将汇编头文件aiom16.s在上述程序中包含进来,
就不需要在程序中写asm("PORTD=0x12"); 这样的语句了。同理在<iom16v.h>头文件中的变量也可以拿来用了。
问题是如何将汇编头文件aiom16.s在上述程序中包含进来呢? |
|