IAR for stm8 如何嵌入汇编呢

[复制链接]
3464|11
 楼主| magicoctoy 发表于 2016-6-8 08:26 | 显示全部楼层 |阅读模式
IAR for stm8 如何嵌入汇编呢
tomyoct 发表于 2016-6-9 10:27 | 显示全部楼层
  1. if(temp>10) {
  2.    temp = 0;
  3.     asm("RLC $20");       //说明,在IAR中可以这样加入汇编指令 }
chrise23 发表于 2016-6-11 09:59 | 显示全部楼层
  1. u8 Temp=0; u8 Buffer[8]; void Test(void) {
  2.       asm("RLC Temp");   
  3.       asm("RLC Buffer ");     相当于Buffer[0]        asm("RLC Buffer+1 ");     相当于Buffer[1]          asm("RLC Buffer+2 ");     相当于Buffer[2]           asm("RLC Buffer+3 ");     相当于Buffer[3]           asm("RLC Buffer+7 ");     相当于Buffer[7]      }
MTCN2013 发表于 2016-6-11 21:56 | 显示全部楼层
使用asm或者__asm,推荐使用__asm
songlaijun 发表于 2016-6-12 19:16 | 显示全部楼层
asm是中端使能 失效 控制。不能用作嵌入汇编的吧
manaok12345 发表于 2016-6-13 09:00 | 显示全部楼层
内嵌汇编
   1)、#pragma asm   /    #pragma endasm
   2)、#asm   /   #endasm
   3)、_asm("rim")
   
   #pragma asm                           
   。。。。
   #pragma endasm
叶覃 发表于 2016-6-15 17:38 | 显示全部楼层
使用asm或者__asm,推荐使用__asm。
举个例子:
   __asm void SystemReset(void)
{
    MOV R0, #1        
}
IAR提供了完全可以访问底层的函数,建议不要频繁使用汇编
huafei123 发表于 2016-6-16 09:53 | 显示全部楼层
叶覃 发表于 2016-6-15 17:38
使用asm或者__asm,推荐使用__asm。
举个例子:
   __asm void SystemReset(void)

为什么不要频繁的使用汇编呢?
mdk55555 发表于 2016-6-18 07:55 | 显示全部楼层
一般都能在调试时通过view-》disassembly看到汇编的,你这应该是软件安装或者是设置有问题吧个人觉得。
haokeer 发表于 2016-6-20 11:07 | 显示全部楼层
另外,似乎也可以再option-》assembler下的list里面设置一下,让编译时生成汇编的代码文件来看。
maninman1981 发表于 2016-6-26 16:48 | 显示全部楼层
EWARM 内联汇编问题
  asm("    LDR     R0, [PC, #0x0C] ");
  asm("    LDRH    R2, [R0]        ");  
  asm("    BIC     R2, R2, #0x03   ");  
  asm("    STRH    R2, [R0]        ");      
  asm("    MOV      PC, #0          ");  
  asm("    DCD     0xA0000050      ");   
 楼主| magicoctoy 发表于 2017-4-16 22:46 | 显示全部楼层

是不是需要包含什么头文件呢,我的为什么不识别
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

236

帖子

1

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