/******************************************************************************************************************
参考:
说明:这个是存到一个变量中,以后再补充一个返回值保存到指针中的。
******************************************************************************************************************/
//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
调试截图:

本文介绍如何在汇编语言中保存数据到指针,通过C语言调用汇编函数,并展示了实际应用案例。重点在于汇编与C语言的结合,提升程序性能。
8140

被折叠的 条评论
为什么被折叠?



