ARM基礎(chǔ):C程序調(diào)用匯編
/******************************************************************************************************************
參考:
說明:這個是存到一個變量中,以后再補充一個返回值保存到指針中的。
******************************************************************************************************************/
//startup.s
AREAasmfile,CODE,READONLY
EXPORTasmSum1
IMPORTMain
ENTRY
START
bMain
asmSum1
addr0,r0,r1
over
movpc,lr
END
//main.c
#include
externintasmSum1(intsrc,intdest);
intMain()
{
ints=2;
intd=3;
intc=asmSum1(s,d);
//seec
return0;
}
2.0題目:設(shè)計一個函數(shù),原型為 void asmSum1(int src, int dest, int *psum);在匯編中定義,并且通過psum指針接收結(jié)果;
//main.c
#include
externintasmSum1(intsrc,intdest,int*san);
intMain()
{
ints=2;
intd=3;
intpsum[1];
intc=(int)psum;
asmSum1(s,d,psum);
//seec
return0;
}
@@startup.s
AREAasmfile,CODE,READONLY
EXPORTasmSum1
IMPORTMain
ENTRY
START
bMain
asmSum1
addr0,r0,r1
strr0,[r2]
over
movpc,lr
END
調(diào)試截圖: