Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4603025
  • 博文数量: 385
  • 博客积分: 21208
  • 博客等级: 上将
  • 技术积分: 4393
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-30 13:40
文章分类

全部博文(385)

文章存档

2015年(1)

2014年(3)

2012年(16)

2011年(42)

2010年(1)

2009年(2)

2008年(34)

2007年(188)

2006年(110)

分类:

2007-01-04 19:12:15

C语言和汇编混合编程

1、  C语言中内嵌汇编指令:采用__asm{ }asm{ }格式。比如:

void my_strcpy(const char *src, char *dest)

{

char ch;

__asm{

loop:

                     ldrb ch, [src], #1

strb ch, [dest], #1

cmp ch, #0

bne loop

}

}

2、  在汇编中使用C语言中全局变量。

方法:C语言代码中定义全局变量。在汇编中import这个变量即可使用

3、  C中调用汇编函数。

a)         C中声明函数原型,并加extern关键字。

b)        在汇编中用export导出函数名,并用函数名作为汇编代码段的标识,最后用    mov pc,lr返回。

c)        如果函数有不多于四个参数,对应的用R0-R3来进行传递,多于4个时借助栈,函数的返回值通过R0来返回。

4、  在汇编中使用C的函数

在汇编中import对应的C函数名即可。

阅读(1975) | 评论(0) | 转发(0) |
0

上一篇:加快Linux上网速度

下一篇:抢占,实时

给主人留下些什么吧!~~