c语言与ARM汇编混合编程的小问题

void Delay_1us() //用汇编实现1us定时
{
__asm
{
MOV R2,#8
LOOP NOP
NOP
NOP
NOP
NOP
SUBS R2,R2,#1
BNE LOOP
}
}

这段代码中我明明设置了标签LOOP,可是编译后却告诉我没有设置标签,纠结了好久,
能告诉我应该怎么设置标签么?最好给出可行代码,谢谢!
各种不同的C编译器对于嵌入汇编的关键字要求都是不同的。
你可以在LOOP前加上下划线 如 _LOOP
或陵册者直接用地址的方式,比如$符号式指本指令地址,而 BNE $则是跳转到本指令(死循环)。那么转尺历宏到上一条指令(SUBS那里)就是BNE $-1,烂念转到你要去的那个地方就是BNE $-6