硬件架构和汇编指令
一、硬件架构
ARM芯片属于精简指令集计算机(RISC:Reduced Instruction Set Computing),

它所用的指令比较简单,有如下特点: ① 对内存只有读、写指令 ② 对于数据的运算是在CPU内部实现 ③ 使用RISC指令的CPU复杂度小一点,易于设计

CPU内部有寄存器 R0-R15。以及计算单元.

后三个为程序状态寄存器:

R13:别名SP(Stack Pointer),栈指针。用来保存栈的地址 R14:别名LR(Link Register),用来保存返回地址。(A函数到B函数,B函数完成后返回A) R15:别名PC(Program Counter),程序计数器,表示当前指令地址,写入新值即可跳转

二、一些简单的汇编指令
读内存:Load

LDR R0, [R1, #4] ; 读地址 ”R1+4 “ ,得到的四个字节数据存入R0

写内存:Stroe

STR R0, [R1, #4] ; 把R0的四个字节写入到”R1+4“中去

可以在LDR或STR后加H 、 B 来表示读写 半字(Half) 字节(Byte)

ADD R0, R1, R2 ; R0 = R1 + R2

ADD R0, R1, #1 ; R0 = R1 + 1

SUB R0, R1, R2 ; R0 = R1 - R2

SUM R0, R1, #1 ; R0 = R1 - 1

比较

CMP R0, R1 ;比较R0和R1,比较的结果保存在程序状态寄存器中 PSR

跳转

B :main ; Branch, 直接跳转

执行这条指令,会导致程序状态寄存器R15(PC)寄存器中被已写入一个数值。数值为main函数的地址。CPU会从这个地址开始执行程序

BL:main ; Branch and Link, 在函数之间的跳转时,先把返回值保存在R14(LR)寄存器里再跳转

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部