Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 与ARMv7指令等效的x86_64指令_Assembly_X86_X86 64_Armv7_Instructions - Fatal编程技术网

Assembly 与ARMv7指令等效的x86_64指令

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,也有更好的方法来执行系统调用)。如果您正在开发驱动程序或操作系统内核,您应该系统地学习汇编,而不是逐

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

我从未使用过ARMv7 ASM编程


谢谢

相应的英特尔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