请问Gorgon Meducer 如何通过宏引用插入汇编代码段?
#asmgoto $+1
goto $+1
goto $+1
#endasm
目的是想将这段汇编代码直接插入到程序中。goto $+1 代表任意一条汇编指令,假定单片机只支持#asm...#endasm方式插入汇编语句
void main(void)
{
SysInit();
delayn //希望宏展开后变成以上汇编代码段
while(1);
}
void main(void)//希望宏展开后变成以上汇编代码段
{
SysInit();
#asm
goto $+1
goto $+1
goto $+1
#endasm
while(1);
}
我这样试了不行:
#definedelayn #asm\
goto $+1\
goto $+1\
goto $+1\
#endasm\
把汇编代码做成函数,再通过引用宏来调用应该可以,但我不想,因为堆栈不够。 看你是什么编译器了……
用asm("...")看看 回复【1楼】Gorgon Meducer 傻孩子
看你是什么编译器了……
用asm("...")看看
-----------------------------------------------------------------------
谢谢!
编译器 ICCAVR
没有其它方法了么? 没有
页:
[1]