本文是基于韦东山视频的学习笔记
加减指令
ADD
就加啊。
add fp, sp, #0
fp = sp + 0
SUB
就减。
sub sp, sp, #12
sp = sp - 12
跳转指令
BL
branch and link
区别于B指令, 他不仅跳转,还会把返回地址(下一条指令的地址)保存在LR寄存器中。
读写指令
LDM
原型是LDR指令,M可以看作Many的意思,那就是LDM( R ),读内存,然后写入多个寄存器。
STM
原型是LDR指令,M可以看作Many的意思,那就是LDM( R ),读数据,然后写入多段内存。
最常用的是LDMIA (先读后增)和 STMDB(先减后存),在多个寄存器操作时,也有个规则,就是高寄存器对应高地址。具体下篇文章再揭晓。