首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» CM3 中一些前卫的指令
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
CM3 中一些前卫的指令
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2014-11-24 12:55
|
只看该作者
CM3 中一些前卫的指令
寄存器
,
特权
,
通道
,
用户
这里列出几条从v6 和v7 开始才支持的最新指令。
4.4.1 MRS和 MSR
虽然名字与以前的ARM 相同,但功能变了。这两条指令是访问特殊功能寄存器的“专用通道”——
当然必须在特权级下使用,除了APSR 可以在用户级下访问外。 指令语法如下:
MRS <Rn>, <SReg>
;加载特殊功能寄存器的值到Rn
MSR <Sreg>,<Rn>
;存储Rn的值到特殊功能寄存器 SReg 可以是下表中的一个:
表4.31 MRS/MSR 可以使用的特殊功能寄存器
符号 功能
IPSR 当前服务中断号寄存器
EPSR 执行状态寄存器(读回来的总是0)。它里面含T 位,在CM3 中T 位必须是1,所以在更改EPSR
时要格外小心——译注。 APSR 上条指令结果的标志 IEPSR IPSR+EPSR
IAPSR IPSR+APSR
EAPSR EPSR+APSR
PSR xPSR = APSR+EPSR+IPSR
MSP 主堆栈指针 PSP 进入堆栈指针 PRIMASK 常规异常屏蔽寄存器
BASEPRI 常规异常的优先级阈值寄存器
BASEPRI_MAX 等同BASEPRI,但是施加了写的限制:新的优先级比较比旧的高(更小的数) FAULTMASK fault 屏蔽寄存器(除了包含PRIMASK 的全部功能外,还能除能硬fault) CONTROL 控制寄存器(堆栈选择,特权等级设置)
下面给出一个指定PSP 进行更新的例子:
LDR
R0,
=0x20008000
MSR
PSP,
R0
BX
LR
;如果是从异常返回到线程状态,则使用新的 PSP的值作为栈顶指针
4.4.2 IF-THEN
IF-THEN(IT)指令围起一个块,里面最多有 4 条指令,它里面的指令可以条件执行。
IT 指令已经带了一个“T”,因此还可以最多再带 3 个“T”或者“E”。并且对 T 和 E 的顺序没有 要求。其中 T 对应条件成立时执行的语句,E 对应条件不成立时执行的语句。在 If-Then 块中的指令 必须加上条件后缀,且 T 对应的指令必须使用和 IT 指令中相同的条件,E 对应的指令必须使用和 IT 指令中相反的条件。
IT 的使用形式总结如下:
IT <cond>
;围起1条指令的IF-THEN块
IT<x> <cond>
;围起2条指令的IF-THEN块
IT<x><y> <cond>
;围起3条指令的IF-THEN块
IT<x><y><z> <cond>
;围起4条指令的IF-THEN块
其中<x>, <y>, <z>的取值可以是“T”或者“E”。而<cond>则是在表 4.26 中列出的条件(AL 除外 )。
[译注 17]:IT 指令使能了指令的条件执行方式,并且使 CM3 不再预取不满足条件的
指令。又因为它在使用时取代了条件转移指令,还避免了在执行流转移时,对流水线的 清洗和重新指令预取的开销,所以能优化C 结构中的微小if 块和很多“?:”运算符
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议