【ARM】异常产生指令
发布日期:2021-06-29 20:47:48
浏览次数:2
分类:技术文章
本文共 656 字,大约阅读时间需要 2 分钟。
00. 目录
文章目录
01. 异常产生指令概述
ARM 指令集中提供了两条产生异常的指令,通过这两条指令可以用软件的方法实现异常。如表 3-15 所示为 ARM 异常产生指令。
02. 软件中断指令
软件中断指令(Software Interrupt,SWI)用于产生软中断,从而实现从用户模式变换到管理模式,CPSR 保存到管理模式的 SPSR 中,执行转移到 SWI 向量,在其他模式下也可以使用 SWI 指令,处理器同样切换到管理模式。
2.1 指令的语法格式
SWI{}
2.2 应用示例
① 下面指令产生软中断,中断立即数为 0。
SWI 0;
② 产生软中断,中断立即数为 0x123456。
SWI 0x123456;
③ 使用 SWI 指令时,通常使用以下两种方法进行参数传递。
指令 24 位的立即数指定了用户请求的类型,中断服务程序的参数通过寄存器传递。
@ 下面的程序产生一个中断号为 12 的软中断。MOV R0,#34 ;设置功能号为 34SWI 12 ;产生软中断,中断号为 12
另一种情况,指令中的 24 位立即数被忽略,用户请求的服务类型由寄存器 R0 的值决定,参数通过其他寄存器传递。
@ 下面的例子通过 R0 传递中断号,R1 传递中断的子功能号。MOV R0,#12 ;设置 12 号软中断MOV R1,#34 ;设置功能号为 34SWI 0
03. 附录
11.1 ARM Architecture Reference Manual
转载地址:https://dengjin.blog.csdn.net/article/details/106853478 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月29日 17时50分07秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Jupyter Notebook使用
2021-07-03
Matplotlib学习笔记
2021-07-03
Numpy学习笔记
2021-07-03
Pandas学习笔记
2021-07-03
Hadoop学习笔记:一、认识大数据生态体系
2021-07-03
Hadoop学习笔记:三、初步认识HDFS
2021-07-03
Hadoop学习笔记:四、HDFS高级部分
2021-07-03
Hadoop学习笔记:五、MapReduce
2021-07-03
Hadoop学习笔记:六、资源调度器Yarn
2021-07-03
Hadoop学习笔记:二、Hadoop环境安装配置
2021-07-03
彻底搞懂Python一切皆对象!!!
2021-07-03
【成长之路】本科比赛经验分享
2021-07-03
【成长之路】本科比赛作品设计经验分享
2021-07-03
Qt设置QTextEdit和QLabel的字体颜色
2021-07-03
Qt phonon多媒体框架
2021-07-03
linux下Mplayer安装与设置指南(以及如何加载显示中文字幕)
2021-07-03
Qt多媒体播放phonon
2021-07-03
Mysql group by 详解
2021-07-03
Qt学习笔记
2021-07-03
Qt主题风格设置
2021-07-03