打印

IAR for stm8 如何嵌入汇编呢

[复制链接]
2734|11
手机看帖
扫描二维码
随时随地手机跟帖
沙发
tomyoct| | 2016-6-9 10:27 | 只看该作者
if(temp>10) { 
   temp = 0;
    asm("RLC $20");       //说明,在IAR中可以这样加入汇编指令 }

使用特权

评论回复
板凳
chrise23| | 2016-6-11 09:59 | 只看该作者
u8 Temp=0; u8 Buffer[8]; void Test(void) { 
      asm("RLC Temp");   
      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

使用特权

评论回复
5
songlaijun| | 2016-6-12 19:16 | 只看该作者
asm是中端使能 失效 控制。不能用作嵌入汇编的吧

使用特权

评论回复
6
manaok12345| | 2016-6-13 09:00 | 只看该作者
内嵌汇编
   1)、#pragma asm   /    #pragma endasm
   2)、#asm   /   #endasm
   3)、_asm("rim")
   
   #pragma asm                           
   。。。。
   #pragma endasm

使用特权

评论回复
7
叶覃| | 2016-6-15 17:38 | 只看该作者
使用asm或者__asm,推荐使用__asm。
举个例子:
   __asm void SystemReset(void)
{
    MOV R0, #1        
}
IAR提供了完全可以访问底层的函数,建议不要频繁使用汇编

使用特权

评论回复
8
huafei123| | 2016-6-16 09:53 | 只看该作者
叶覃 发表于 2016-6-15 17:38
使用asm或者__asm,推荐使用__asm。
举个例子:
   __asm void SystemReset(void)

为什么不要频繁的使用汇编呢?

使用特权

评论回复
9
mdk55555| | 2016-6-18 07:55 | 只看该作者
一般都能在调试时通过view-》disassembly看到汇编的,你这应该是软件安装或者是设置有问题吧个人觉得。

使用特权

评论回复
10
haokeer| | 2016-6-20 11:07 | 只看该作者
另外,似乎也可以再option-》assembler下的list里面设置一下,让编译时生成汇编的代码文件来看。

使用特权

评论回复
11
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      ");   

使用特权

评论回复
12
magicoctoy|  楼主 | 2017-4-16 22:46 | 只看该作者

是不是需要包含什么头文件呢,我的为什么不识别

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

236

帖子

1

粉丝