ARMx86学习

First Post:

Last Update:

Word Count:
290

Read Time:
1 min

ARMx86学习

寄存器

r0

r1

r2

r3

r4

r5

r6

r7

r8

r9

r10

r11

r12

sp

pc

指令

bl 相当于x86 call

b 相当于x86 return

add

sub

ldr

mov

beq

cmp

bne

str

STR{条件} 源寄存器,<存储器地址>

STR指令用亍从源寄存器中将一个32位的字数据传送到存储器中。该指令在程序设计中比较常

用,寻址方式灵活多样,使用方式可参考指令LDR。

指令示例:

STR R0,[R1],#8 ;将R0中的字数据写入以R1为地址的存储器中,并将新地址R1+8写入R1。

STR R0,[R1,#8] ;将R0中的字数据写入以R1+8为地址的存储器中。”

str r1, [r0] ;将r1寄存器的值,传送到地址值为r0的(存储器)内存中

堆栈结构

当一个函数调用使用少量参数(ARM上是少于等于4个)时,参数是通过寄存器进行传值(ARM上是通过r0,r1,r2,r3),而当参数多于4个时,会将多出的参数压入栈中进行传递(其实在函数调用过程中也会把r0,r1,r2,r3传递的参数压入栈)

打赏点小钱
支付宝 | Alipay
微信 | WeChat