1.22.ARM汇编指令集10之杂项指令
来源:互联网 发布:加内特体测数据 编辑:程序博客网 时间:2024/06/07 06:35
这里记录的ARM杂项指令包括: SWI & MRS & MSR
* SWI (这个指令中关于立即数的详细作用等我以后用到再详细了解一下,这里先大概知道一下)
软中断指令,SWI指令用于产生软中断,从而实现在用户模式下变换到管理模式,CPSR保存到管理模式的SPSR中,执行转移到SWI向量,在其它模式下也可以使用SWI指令,处理用于的切换到管理模式。
指令格式:
SWI{cond} immed_24
其中:
immed_24: 24位立即数
eg:
SWI 0
SWI 0x123456
注:等以后用到这个指令之后再详细回来重写这个指令
* MRS
读状态寄存器指令,在ARM处理器中,只有MRS指令可以将状态寄存器(CPSR/SPSR)读出到通用寄存器。
指令格式:
MRS{cond} Rd,psr
其中:
Rd: 目标寄存器,不能为R15(PC)
psr: CPSR/SPSR
eg:
MRS R1,CPSR
* MSR
写状态寄存器指令,在ARM处理器中,只有MSR指令可以直接设置状态寄存器。
指令格式:
MSR{cond} psr_fields,#immed_8r
MSR{cond} psr_fields,Rm
其中:
psr: CPSR/SPSR
fields: 指定传送的区域。格式为下面的一种或多种,字母都是小写
c控制域屏蔽字节(psr[7~0])
x拓展域屏蔽字节(psr[18~8])
s状态域屏蔽字节(psr[23~19])
f标志域屏蔽字节(psr[31~24])
#immed_8: 要传送到状态寄存器指定域的8位立即数
Rm: 要传送到状态寄存器指定域的数据的源寄存器
eg:
MSR CPSR_c #0x03
MSR CPSR_cxsf,R3
注:只有在特权模式下才能修改状态寄存器(除了用户模式外的其它的6种模式)
程序中不能通过MSR指令直接修改CPSR的T控制位来实现ARM状态和Thumb状态的切换。
- 1.22.ARM汇编指令集10之杂项指令
- 【汇编指令】ARM指令集之PSR传送指令
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM 汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- ARM汇编指令集
- Vue2.0-上篇
- 1058. 选择题
- MVC使用PageList进行简单的分页
- Skyline Globe中3dml图层的遍历
- centos7 上面laravel不能访的一个小问题和PDO扩展的安装
- 1.22.ARM汇编指令集10之杂项指令
- iOS遇到的问题笔记
- IO流——利用字节流缓冲区复制MP3文件
- UI状态保持和恢复
- 百度之星1003 度度熊与邪恶大魔王 DP
- jq 常用方法总结
- 文章标题
- Unity 简单的文件写入与读取
- bailian4102:宠物小精灵之收服(二维费用的01背包)