uboot中 内嵌汇编
来源:互联网 发布:淘宝网上购买组装电脑 编辑:程序博客网 时间:2024/05/27 09:45
内嵌汇编语法:
__asm__ __violate__ ("movl %1,%0" : "=r" (result) : "m" (input));
movl %1,%0 是指令模板;%0 和 %1 代表指令的操作数,称为占位符,内嵌汇编靠它们将C 语言表达式与指令操作数
相对应。
指令模板后面用小括号括起来的是 C 语言表达式,本例中只有两个:result 和 input ,他们按照出现的顺序分别与指
令操作数 %0 、%1 对应;注意对应顺序:第一个 C 表达式对应 %0 ;第二个表达式对应 %1 ,依次类推,操作数至多有10
个,分别用 %0, %1 …. %9 表示。
__asm__ __volatile__(
"mrc p15, 0, %0, c1, c0, 0 @ read control reg\n"
: "=r" (value),"+r"(b),"+&r"(e),
:
: "memory");
r代表是以寄存器方式操作,=代表该变量只写,+代表可读可写,+&r代表输出时不使用输入部分使用过的寄存器。
读写寄存器实例
static unsigned long read_p15_c1 (void)
{
unsigned long value;
__asm__ __volatile__(
"mrc p15, 0, %0, c1, c0, 0 @ read control reg\n"
: "=r" (value)
:
: "memory");
return value;
}
/* write to co-processor 15, register #1 (control register) */
static void write_p15_c1 (unsigned long value)
{
__asm__ __volatile__(
"mcr p15, 0, %0, c1, c0, 0 @ write it back\n"
:
: "r" (value)
: "memory");
read_p15_c1 ();
}
- uboot中 内嵌汇编
- IAR中C内嵌汇编格式
- 内嵌汇编(C++中嵌入汇编语句)
- uboot中常用汇编指令汇总解析
- uboot中常用汇编指令汇总解析
- VB内嵌汇编
- gcc内嵌汇编
- 内嵌汇编
- 内嵌汇编
- GCC内嵌汇编
- VB内嵌汇编
- VC内嵌汇编
- 内嵌汇编简介
- GCC内嵌汇编
- Linux内嵌汇编
- 关于内嵌汇编
- GCC内嵌汇编
- c内嵌汇编
- 选择排序之java实现
- ios学习笔记(二)-----ios中对文件的操作
- 强大的 mysql管理工具之 Mysql Query Browser
- sar 收集汇报系统性能的信息
- android分页封装
- uboot中 内嵌汇编
- Words of Programmers
- C语言第五堂课后作业
- The Prisoner of Zenda——4、My adventures begin
- 使用 symbolicatecrash转化crash日志
- 比较全面的gdb调试命令
- 问题十七:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- Fedora如何设置启动默认进入文本模式
- 如何使用真机抓包