ARM基础知识

处理器有8种工作模式,如用户模式、中断模式和特权模式。ARM7采用3级冯·诺依曼架构流水线,而ARM9采用5级哈佛架构,允许同时访问指令和数据存储器。指令包括算术、逻辑和数据搬移,影响当前程序状态寄存器(CPSR)。
摘要由CSDN通过智能技术生成
处理器的工作模式:
8 种工作模式:
user 模式: 大部分时间, 处理器工作在该模式, 不是特权模式
fiq 模式: 快中断模式 特权模式
irq 模式: 中断模式 特权模式
supervisor 模式: 特权模式 reset 后,处理器进入该模式
abort 模式: 存取异常, 特权模式,
undef 模式: 未定义指令模式, 特权模式
system 模式: 特权模式, user 模式不能执行的指令, system 模式下可以执行
monitor 模式: cortex-a 处理器独有的模式 , 监视模式
复位: 上电复位 reset 按钮复位 看门狗复位
中断: 硬件产生的,
异常:软件产生的,
流水线:
arm7:
冯。诺伊曼架构 3 级流水线
3 级流水线:
fetch ------------- 抓取机器码到 cpu pc
decode ----------- 译码, pc-4
execute------------- 执行 pc-8
cpi --------- cycles per instruction 每条指令的周期数
arm9
哈佛架构 5 级流水线
哈佛架构相比冯。诺伊曼架构:
增加了可用的存储器宽度
指令存储器接口
数据存储器接口
可以实现对指令和数据存储器的同时访问
arm 指令:
cpsr 当前程序状态寄存器
cmp r0, r1 // r0 - r1 --------------> 会影响 cpsr n z c v
sub r2,r3,r4 // r3-r4--->r2
mov r0,3 //3----->r0
比较指令一定影响 cpsr n z c v
其他指令后跟 s 会影响 cpsr n z c v
指令机器码:
mov r1,r2,lsl #2 指令机器码 0xe1a01102
r2 寄存器的值逻辑左移 2 位 到 r1 寄存器 (r2 << 2) -----------> r1
查看 arm 手册 ,了解到该条指令的机器码的构成如下
bit31---bit28 :条件码 1110
bit27---bit21: 0001 101
bit20: (指令后跟 s 0
bit19---bit16: 0000
bit15---bit12 : 目的寄存器的序号 0001

 

bit11---bit7: 左移的立即数 00010
bit6--bit4: 000
bit3---bit0: 第二操作寄存器的序号 0010
bit31-----------------------bit0:
1110 0001 1010 0000 0001 0001 0000 0010 --------------0xe1a01102
数据处理指令: 算术指令: ADD ADC SUB SBC RSB RSC
sbc r5,r1,r3 ========== r1-r3-!c------------->r5
rsb ----------------- 逆向减法
rsb r0,r1,#100 ============= 100 - r1 ------------> r0
逻辑指令: AND ORR EOR BIC
and 位与
orr 位或
eor 位异或
bic 位清除
比较指令: CMP CMN TST TEQ
cmp r0,r1 //r0 -r1 --------->cpsr
cmn r0,r1 //r0 +r1 --------->cpsr
tst r0,# 1 << 15) //r0 and r1 ----------------> cpsr 通常可以判断寄存器 r0 的某些位是 1 还是 0
teq r0,r1 // r0 ^ r1 -------------->cpsr 相等测试
数据搬移: MOV MVN
mov r0,#1 1------------------->r0
mvn r0,#1 (~1) -------------------------->r0
指令格式:
< 指令 >{}{S} Rd, Rn, Operand2
任何指令后可以跟条件码, 指令后可以跟 s (影响 cpsr
比较指令一定影响 cpsr
Rd ---------- 目的寄存器
比较指令没有目的寄存器
Rn ------------ 第一操作寄存器
add r0,r1,r2
数据搬移指令没有第一操作寄存器
mov r0, #3
mov r0,r1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值