如何将此代码更改为ARM汇编指令? 我想在android kernel中运行这段代码。但是我不知道如何使用ARM汇编指令。
#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
type name(type1 arg1,type2 arg2,type3 arg3) \
{ \
long __res; \
__asm__ volatile ("int $0x80" \
: "=a" (__res) \
: "0" (__NR_##name),"b" ((long)(arg1)),"c" ((long)(arg2)), \
"d" ((long)(arg3))); \
__syscall_return(type,__res); \
}
非常感谢。
答案 0 :(得分:2)
你在ARM上需要的是“软件中断”指令,它大致相当于x86上的'int':
swi 0 ; 0 is the interrupt vector for "syscall"
您可以在此处获得概述:OSDev Wiki on ARM
可以在此post
中找到ARM / Android的“hello,world”