您的位置:首页 > 其它

ARM基础:C程序调用汇编

2014-11-21 08:43 225 查看
/******************************************************************************************************************
参考:
说明:这个是存到一个变量中,以后再补充一个返回值保存到指针中的。

******************************************************************************************************************/

//startup.s
AREA asmfile, CODE, READONLY
EXPORT asmSum1
IMPORT Main
ENTRY
START
b Main
asmSum1
add r0, r0, r1

over
mov pc, lr

END

//main.c
#include <stdio.h>

extern int asmSum1(int src, int dest);

int Main()
{
int s = 2;
int d = 3;
int c = asmSum1(s, d);
//see c
return 0;
}



2.0 题目:设计一个函数,原型为 void asmSum1(int src, int dest, int *psum);在汇编中定义,并且通过psum指针接收结果;

//main.c
#include <stdio.h>

extern int asmSum1(int src, int dest,int* san);

int Main()
{
int s = 2;
int d = 3;
int psum[1];
int c = (int)psum;
asmSum1(s, d, psum);
//see c
return 0;
}

@@startup.s
AREA asmfile, CODE, READONLY
EXPORT asmSum1
IMPORT Main
ENTRY
START
b Main
asmSum1
add r0, r0, r1
str r0, [r2]

over
mov pc, lr

END

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: