Assembly 与ARMv7指令等效的x86_64指令
我正在尝试将一些ASM指令移植到C和ASM中的源代码中。 有人能帮我找到指令集并理解ARMv7指令的用法吗? 实际上我在处理中断,所以我想“翻译”: 我从未使用过ARMv7 ASM编程Assembly 与ARMv7指令等效的x86_64指令,assembly,x86,x86-64,armv7,instructions,Assembly,X86,X86 64,Armv7,Instructions,我正在尝试将一些ASM指令移植到C和ASM中的源代码中。 有人能帮我找到指令集并理解ARMv7指令的用法吗? 实际上我在处理中断,所以我想“翻译”: 我从未使用过ARMv7 ASM编程 谢谢 相应的英特尔INTS产品分别是iret和int。也就是说,中断处理是高度特定于CPU和平台的;一对一地翻译命令很可能不会产生一个工作程序。如果您正在开发一个应用程序,那么就不应该干扰中断(即使是int80h,也有更好的方法来执行系统调用)。如果您正在开发驱动程序或操作系统内核,您应该系统地学习汇编,而不是逐
谢谢 相应的英特尔INTS产品分别是
iret
和int
。也就是说,中断处理是高度特定于CPU和平台的;一对一地翻译命令很可能不会产生一个工作程序。如果您正在开发一个应用程序,那么就不应该干扰中断(即使是int80h,也有更好的方法来执行系统调用)。如果您正在开发驱动程序或操作系统内核,您应该系统地学习汇编,而不是逐行翻译
int
命令理论上可能存在于应用程序代码中-它调用中断,这是一种奇特但合法的与操作系统交互的方式。另一方面,iret
命令只能在中断处理程序中使用。它从未在内核空间之外使用过。如果问“这些指令是做什么的”,会不会更有成效?然后,您将学到一些东西,并且可能能够自己移植代码,而不仅仅是要求其他人为您执行翻译工作,即youiretq=中断返回;int=调用中断,第一个参数是IDT上的中断号。无论如何,谢谢……;)movs pc、lr
和svc#0。我不知道答案有什么帮助。平台是Android,CPU是ARMv7处理器版本0(v7l)。我还想知道该配置的ASM操作方法。我不是在要求翻译,如果仅凭这些信息很难做到的话。我想学习。问题不在于人们认为自己不知道,而在于我以前从未使用过手臂;)如果您正在开发一个应用程序,那么就不应该干扰中断(甚至int80h
——有更好的方法来执行系统调用)。如果您正在开发驱动程序或操作系统内核,您应该系统地学习汇编,而不是逐行翻译。
iretq
int $0x80
int $0x04