打印
[ZLG-MCU]

急!请教如何在C源程序中加入汇编代码

[复制链接]
1319|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
坚持梦想|  楼主 | 2008-3-29 23:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    如何在IAR开发环境下的C源程序中加入汇编代码?因为读取外设的需要,最好是用ARM指令直接操作硬件。
  试了几种方法,都不行,现在不知道要怎么进行下去。急求高手赐教。。
        

相关帖子

沙发
zlgarm| | 2008-3-31 08:41 | 只看该作者

各种编译器嵌入汇编

IAR:
long longMul(long lX, long lY)
{
    __asm("    smull   r0, r1, r0, r1 "
          "    lsrs    r0, r0, #16 "
          "    orr     r0, r0, r1, lsl #16 "
          "    bx      lr");

    return(0);  /* 不会跑到这里,用于防止编译警告!*/
}


GCC:
static long __attribute__((naked)) longMul(long lX, long lY)
{
    __asm("    smull   r0, r1, r0, r1 "
          "    lsrs    r0, r0, #16 "
          "    orr     r0, r0, r1, lsl #16 "
          "    bx      lr");

    return(0); /* 不会跑到这里,用于防止编译警告!*/
}


Keil:
__asm long longMul(long lX, long lY)
{
    smull   r0, r1, r0, r1;
    lsrs    r0, r0, #16;
    orr     r0, r0, r1, lsl #16;
    bx      lr;
}


(zlgarm_zsg)

使用特权

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

本版积分规则

12

主题

39

帖子

0

粉丝