MDK中嵌入汇编方法

Posted cloneycs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MDK中嵌入汇编方法相关的知识,希望对你有一定的参考价值。

在MDK中编写程序时C代码不能满足我们的需求,需要用到汇编,因此MDK支持C代码中嵌入汇编的功能。

MDK支持两种嵌入汇编的方法:内联嵌入和汇编函数。这两种嵌入汇编的方法均需要用到关键字__asm。

内联嵌入方法:

void name(void)
{
    __asm{
           ;所嵌入的汇编代码
    }       
}

这种嵌入方法支持直接访问C代码中的变量,同时编译器会对此进行相应的优化。

该方法不能直接访问CPU内部寄存器。

汇编函数方法:

__asm void name(void){
     ;所嵌入的汇编代码  
}

这种嵌入方法不能直接访问C代码中的变量,并且函数的返回需自行实现,不过编译器不会对所写汇编代码进行优化。

该方法可访问CPU内部寄存器,可通过操作寄存器读取传入参数,输出返回值。

以上是关于MDK中嵌入汇编方法的主要内容,如果未能解决你的问题,请参考以下文章

keil mdk 启动程序(汇编语言写的)仿真时没法跟踪。 怎样让它自动跟踪代码? 像C语言一样

嵌入式编程第三篇:MDK中链接脚本解析

教程如何用GCC“零汇编”白嫖MDK

嵌入式软件中GCC编译,汇编,链接,调试的作用

怎么让keil MDK 不把把宏定义给优化掉了

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段