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语言一样
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段