-
-
[分享]JNI 下C与汇编交互DEMO
-
发表于:
2017-10-29 10:51
3022
-
本DEMO现实了在汇编里引用aa和bb 两个int 变量然后调用
MyAdd(int a,int b
)函数时间两个数相加并且返回结果,DEMO孙虽然简单,但是大体包含了asm嵌入用法。
JNIEXPORT int JNICALL MyAdd(int a,int b
)
{
JNIEXPORT jint JNICALL Java_com_so_SoActivity_AsmTest(JNIEnv *env, jobject thiz)
//%0表示输入输出列表的第几个变量,序号从0开始
"mov r0,%0\n"//传入 MyAdd
第一个参数(aa)
"mov r1,%1\n"
传入
MyAdd
第二个参数(bb)
"BLX MyAdd\n"
//调用函数
MyAdd
"mov %0,r0\n"//
MyAdd返回值赋值给cc
:"=r"(cc)//C语言输出 列表
:"r"(bb),"r"(aa)//
C语言
输入
列表
:"r0","r3","r4"//可能改变的值
);
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课