C 和 ARM 汇编
来源:互联网 发布:windows loader中文版 编辑:程序博客网 时间:2024/04/19 07:38
1 在ARM C语言程序设计中使用关键字__asm来标识一段汇编指令程序,其格式如下:
__asm
{
}
2 在C++程序中使用C程序的用户自定义的头文件时,必须将其放在伪指令“extern ”C" { }"中。范例如下:
extern "C"{
#include "my_c_header.h"
}
3 C程序调用汇编程序
汇编程序的设计要遵循ATPCS规则,这样才能保证程序调用时参数的正确传递。
a. 在汇编程序中,使用EXPORT伪指令声明本程序,使得本程序段可以被别的程序调用。
b. 在C语言中,使用extern关键字声明引用该汇编程序。
c. 举例:
//C程序:
#include <stdio.h>
extern void strcopy(char *d,const char *s);
int main()
{
const char *srcstr = "First string - source";
char dststr [ ] = "Second string - destination";
printf("Before copying:\n");
printf("%s\n %s\n",srcstr,dststr);
strcopy(dststr,srcstr);
printf("%s\n %s\n",srcstr,dststr);
return 0;
}
//汇编程序
AREA scopy,CODE,READONLY
EXPORT strcopy ;使用EXPORT伪操作声明本汇编程序
strcopy ;寄存器R0存放第一个参数,即dststr
;寄存器R1存放第二个参数,即srcstr
LDRB r2, [r1], #1 ;把r1地址内的数据加载到r2
STRB r2, [r0], #1 ;把r2的数据存放到地址r0处
CMP r2,#0 ;检测R2的内容是否为0.
BNE strcopy ;r2不等于0;循环。
END
4 汇编程序调用C语言
在汇编程序中,使用IMPORT伪指令声明将要调用C程序。
- C 和 ARM 汇编
- ARM中C和汇编混合编程
- C和ARM汇编混合编程
- arm汇编和c混合编程
- ARM汇编和C混合编程-笔记
- ARM汇编, C语言和汇编混合编程
- arm汇编和neon汇编
- ARM中C和汇编混合编程及示例
- ARM中C和汇编混合编程及示例(转)
- ARM中C和汇编混合编程及示例
- ARM中C和汇编混合编程及示例
- ARM中C和汇编混合编程及示例
- ARM中C和汇编混合编程及示例
- ARM中C和汇编混合编程及示例
- ARM中C和汇编混合编程及示例
- ARM中C和汇编混合编程中的参数传递
- C和arm的汇编的互相调用
- ARM中C和汇编混合编程中的参数传递
- Hibernate基础之六:联合主键@EmbeddedId
- linux 守护进程编程
- 【phpcms-v9】phpcms-v9中model.class.php文件分析
- IIS如何设置中文域名虚拟主机头
- Sprint summary
- C 和 ARM 汇编
- Jquery 中的CheckBox、 RadioButton、 DropDownList的取值赋值
- linux系统时间修改及同步
- 【phpcms-v9】phpcms-v9的缓存结构
- C# 中 IList IEnumable 转换成 List类型
- bshare常用分享代码
- 分享新浪、腾讯微博QQ空间百度空间代码
- 网页文字滚动marquee
- attachEvent方法的作用