康熙 发表于 2013-9-13 15:26:25

iar for stm8怎样嵌入汇编代码段

请教各位高手,iar for stm8怎样嵌入汇编代码段

发表于 2013-9-13 18:12:44

RE:iar for stm8怎样嵌入汇编代码段

使用asm或者__asm,推荐使用__asm

zykzyk-93033 发表于 2013-9-14 09:01:22

RE:iar for stm8怎样嵌入汇编代码段

asm是中端使能 失效 控制。
内嵌汇编
   1)、#pragma asm   /    #pragma endasm
   2)、#asm   /   #endasm
   3)、_asm("rim")
   
   #pragma asm                           
   。。。。
   #pragma endasm                        
      
:D

dzc2001 发表于 2013-9-16 12:39:48

回复:iar for stm8怎样嵌入汇编代码段

 asm("PUSH R10");
asm("PUSH R11");
asm("PUSH R12");   
asm("LDS R10,RevData");
asm("LDS R11,RevData+1");
asm("LDS R12,RevData+2");
asm("CLC");
asm("ROL r10");
asm("ROL r11");
asm("ROL r19");
asm("CLC");
asm("ROL r10");
asm("ROL r11");
asm("ROL r12");
asm("STS RevData,R10");
asm("STS RevData+1,R11");
asm("STS RevData+2,R12");
asm("POP R12");
asm("POP R11");
asm("POP R10");
asm("WFE");
或者:
__asm
    ("in R11,_SFR_IO_ADDR(PIND)" "\n\t"
    "swap R11" "\n"
    "out _SFR_IO_ADDR(PORTB),R11" "\n\t" );
asm
    ("in R11,_SFR_IO_ADDR(PIND)" "\n\t"
    "swap R11" "\n"
    "out _SFR_IO_ADDR(PORTB),R11" "\n\t" );
 
 
 
以上就是可以在IAR中使用的例子

温柔的武士刀 发表于 2013-9-16 21:14:54

RE:iar for stm8怎样嵌入汇编代码段

使用asm或者__asm,推荐使用__asm。
举个例子:
   __asm void SystemReset(void)
{
    MOV R0, #1      
}
IAR提供了完全可以访问底层的函数,建议不要频繁使用汇编。

xd1860 发表于 2015-6-18 13:25:24

为什么编译提示无效,要添加什么头文件么,还是直接写就可以

alvin_ 发表于 2015-6-18 13:36:13

不懂帮顶……
页: [1]
查看完整版本: iar for stm8怎样嵌入汇编代码段