이 코드를 ARM 어셈블리 명령어로 변경하는 방법은 무엇입니까? 이 코드를 android kernel에서 실행하고 싶습니다. 그러나 ARM 어셈블리 명령어를 사용하는 방법을 모르겠습니다.이 코드를 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); \
}
고맙습니다. 당신은 여기에 대한 개요 얻을 수
swi 0 ; 0 is the interrupt vector for "syscall"
:
이 코드는 userspace에서 kernel syscalls를 호출하기위한 것입니다. 커널에서 syscall을 호출하고 싶습니까? 이 코드는 사용중인 ABI에 따라 ARM 어셈블리에서 다양한 방식으로 구현할 수 있습니다. – werewindle
ARM 어셈블리 명령어를 사용하는 방법을 배워야 할 것 같네요. 코드를 작성할 수 있지만 지침을 사용하는 방법을 모르는 경우 여기에서 다시 변경 사항을 요청합니다. –