• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

使用keil开发stm32如何嵌入汇编?

DengQilong 2017-12-09 浏览量:1988

这2种是定义函数或者在C函数中嵌入汇编

__asm int __rt_ffs(int value)

{
    CMP     r0, #0x00
    BEQ     exit

    RBIT    r0, r0
    CLZ     r0, r0
    ADDS    r0, r0, #0x01

exit
    BX      lr

}

int __rt_ffs(int value)

{
    if (value == 0) return value;

    asm("RBIT %0, %1" : "=r"(value) : "r"(value));
    asm("CLZ  %0, %1" : "=r"(value) : "r"(value));
    asm("ADDS %0, %1, #0x01" : "=r"(value) : "r"(value));

    return value;
}


那么如何在C中引用汇编中定义的变量呢?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 在c++ builder下直接用就行
    main()
    {
        int a=0;
        __asm
        {
            MOV EAX,a
            INC EAX
            MOV a,EAX
        }
    }
    • 发布于 2017-12-11
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :输出电流范围不一样, DM135:输出电流为:±4.0%@Iout=10~50mA ±6.0%@Iout=5~10mA DMI135B:输出电流为:±4.0%@Iout=20~60mA ±6.0%@Iout=5~20mA 回复

其他答案 数量:1
  • 用__asm函数指令就可以了,__asm指令里面的语句就是汇编得形式。

    • 发布于2018-01-30
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :尺寸依据图纸说明,不是参考图和平台参数信息。 回复

相关问题

问题达人换一批

使用keil开发stm32如何嵌入汇编?