ARM汇编代码和SVC编号

大熙

在ARM汇编代码中,我可以看到类似这样的内容(尤其是在shellcode中)

svc 0x0090003f
svc 0x001ff3bf
swi 0x0900ff0b

我知道'svc(或swi)'是'supervisor call',例如Intel的'int 0x80'或'SYSENTER'。但是,如何解释“ svc”数字?我在哪里可以得到它的信息清单?拇指“ svc”指令呢?

手臂说明手册似乎并没有解释这些...

有人能帮我吗?先感谢您。

鲁斯兰·杰拉西莫夫(Ruslan Gerasimov)

6.2.8。SVC处理程序

发生异常时,异常处理程序可能必须确定处理器是处于ARM还是Thumb状态。

尤其是SVC处理程序,可能必须读取处理器状态。这是通过检查SPSR T位完成的。该位设置为Thumb状态,清除为ARM状态。

ARM和Thumb指令集都具有SVC指令。从Thumb状态调用SVC时,必须考虑以下因素:

指令地址位于lr-2,而不是lr-4。

该指令本身是16位的,因此需要半字加载,请参见图6.3。

在ARM状态下,SVC号保持为8位,而不是24位。

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0203j/Cacdfeci.html上了解更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ARM汇编代码

来自分类Dev

简单的ARM汇编代码分析

来自分类Dev

汇编格式和代码结构

来自分类Dev

结合C和汇编代码

来自分类Dev

混合c和汇编(ARM)子例程

来自分类Dev

ARM中的Linux进程上下文和SVC调用

来自分类Dev

汇编程序例程的C代码-ARM

来自分类Dev

ARM汇编程序未在寄存器中存储完整编号

来自分类Dev

用gcc和as在ARM上汇编MULS指令

来自分类Dev

ARM 汇编中的 ROM 与 RAM 和 AREA 指令

来自分类Dev

将C代码转换为ARM Cortex M3汇编代码

来自分类Dev

ARM GCC内联汇编

来自分类Dev

ARM汇编“ retne”指令

来自分类Dev

ARM CPU模式SVC指令

来自分类Dev

ARM CPU模式SVC指令

来自分类Dev

研究简单的代码反汇编输出和内存映射

来自分类Dev

在简单的32位内核中混合C和汇编代码

来自分类Dev

汇编器和C代码之间的链接错误(MinGW)

来自分类Dev

C ++中的汇编字符串和等效代码

来自分类Dev

如何更改汇编代码 %hi 和 %lo 以在“MARS”中运行?

来自分类Dev

运行汇编程序和运行 shellcode.c 中的反汇编代码的区别

来自分类Dev

将arm的汇编代码插入C函数中,如何插入外部变量?

来自分类Dev

ARM内联汇编代码在运行时无法正常工作

来自分类Dev

ARM内联汇编代码在运行时无法正常工作

来自分类Dev

将arm的汇编代码插入C函数中,如何插入外部变量?

来自分类Dev

将代码,编号和版本分成小列

来自分类Dev

ARM汇编中的str解释

来自分类Dev

ARM汇编:.LANCHOR0

来自分类Dev

ARM汇编中str的说明