1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| 寄存器寻址:直接从寄存器拿值 @add r1,r2,r3 寄存器移位寻址
@mov r1,r2,lsl #1 @先从r2找到要移位的数,再从机器码找到移动位数,再mov
@寄存器间接寻址 str r1,r[2]
@。。。
@基址加变址寻址 mov r1,0xffffffff mov r2,#0x40000000 mov r3,#4 str r1,[r2,r3] @将r1寄存器中的数据写入到r2 + r3 指向的内存空间
str r1,[r2,r3,lsl #1] @将r1寄存器的值写到r2 + r3 << 1
@基址加变址索引方式,前索引 mov r1,0xffffffff mov r2,#0x40000000 str r1,[r2,#8] @ 将r1寄存器的值写到r2 + 8 @基址加变址索引方式,后索引 mov r1,0xffffffff mov r2,#0x40000000 str r1,[r2],#8 @ 将r1寄存器的值写到r2 ,并将r2加8
@基址加变址索引方式,自动索引 mov r1,0xffffffff mov r2,#0x40000000 str r1,[r2,#8]! @ 将r1寄存器的值写到r2 + 8,并将r2加8
|