2

如何将此代码更改为 ARM 汇编指令?我想在android内核中运行这段代码。但我不知道如何使用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); \
}

非常感谢。

4

1 回答 1

2

您在 ARM 上需要的是“软件中断”指令,它大致相当于 x86 上的“int”:

swi 0  ;  0 is the interrupt vector for "syscall"

您可以在此处获得概述:OSDev Wiki on ARM

ARM/Android 的“hello, world”可以在这篇文章中找到

于 2012-05-29T18:35:57.170 回答