-4

我正在尝试在 C 和 ASM 的源代码中移植一些 ASM 指令。谁能帮我找到一个指令集并了解 ARMv7 指令的用途?实际上我正在处理中断,所以我想“翻译”:

iretq
int $0x80
int $0x04

我从来没有在 ARMv7 ASM 中编程过。

谢谢!

4

1 回答 1

3

相应的英特尔指令分别是iretint。也就是说,中断处理是高度特定于 CPU 和平台的。一对一地翻译命令很可能不会产生一个工作程序。如果你正在开发一个应用程序,你不应该搞乱中断(即使是 int 80h - 有更好的方法来执行系统调用)。如果您正在开发驱动程序或操作系统内核,您应该系统地学习汇编,而不是逐行翻译。

int命令理论上可能存在于应用程序代码中——它调用一个中断,这是一种与操作系统交互的奇异但合法的方式。另一方面,该iret命令只能在中断处理程序中使用。它从未在内核空间之外使用过。

于 2013-10-27T16:15:42.050 回答