硬件架构和汇编指令
一、硬件架构
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)寄存器里再跳转
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 一些简单的汇编指令
发表评论 取消回复