【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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【ARM】ARM其它指令
下一篇:【ARM】协处理器指令

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月29日 17时50分07秒