【计算机三级嵌入式】考前学习笔记(二)——基本寻址方式、ARM指令集与伪指令介绍

本文详细介绍了ARM指令集的分类及格式,包括数据处理类指令、程序状态寄存器访问指令、分支指令、加载/存储指令等内容,并阐述了ARM汇编器所支持的伪指令。

ARM指令分类及指令格式

ARM处理器支持32位的ARM指令集,也支持16位的Thumb指令集,从ARMv6开始,新的ARM处理器支持16/32位的Thumb-2指令集,二ARMv7-M仅支持Thumb-2

ARM指令分类

ARM微处理器的指令集可以分为分支指令、数据处理指令、程序状态寄存器(CPSR)处理指令、加载/存储指令、协处理器指令和异常产生指令六大类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ARM指令格式

指令基本格式

<opcode>{
   
   <cond>}{
   
   S}  <Rd>,<Rn>{
   
   <op2>}

其中<>为不可省略,{}为可以省略,opcode。cond与S之间没有分隔符,{S}与Rd之间用空格隔开
在这里插入图片描述

指令的条件域

指令的条件域:当处理器工作在ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有条件地执行。当指令的执行满足条件时,指令被执行,否则指令被忽略。
每一条ARM指令包含4位的条件码,位于指令的最高4位[31:28]。条件码共有16种,每种条件码可用两个字符表示,这两个字符可以添加在指令助记符的后面与指令同时使用。例如,跳转指令B可以加上后缀EQ变为BEQ表示"相等则跳转”,即当CPSR中的Z标志置位时发生跳转。指令的条件码见下图:
在这里插入图片描述

移位操作

在这里插入图片描述

ARM指令的寻址方式

立即寻址
立即寻址也称为立即数寻址,是一种特殊的寻址方式,操作数本身就在指令中给出,只寻取出指令也就取到了操作数,这个操作数被称为立即数
寄存器间接寻址
寄存器间接寻址就是以寄存器中的值作为操作数地址,而操作数本身存放在存储器中,用于间接寻址的寄存器必须用[]括起来。[]可以理解为将寄存器中的内容读取为立即数
寄存器寻址
寄存器寻址就是利用寄存器中的数值作为操

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值