凌阳教育的个人空间 https://blog.eetop.cn/204849 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Thumb软件中断指令

已有 375 次阅读| 2016-1-20 15:37 |个人分类:linux技术

Thumb软中断指令的行为与ARM等价指令完全相同。进入异常的指令微处理器进入ARM执行状态。

二进制编码

Thumb软中断指令的二进制编码如图

说明

SWI指令引起SWI异常。这意味着:处理器状态切换到ARM状态;处理器模式切换到管理模式;CPSR保存到管理模式下的SPSR中;执行转移到SWI向量地址。处理器忽略immed_8,但immed_8出现在指令操作码的位[7:0]中,而异常处理程序用它来确定正在请求何种服务。这条指令不影响条件码标志。

这个指令将引起下列动作:

将下一条Thumb指令的地址保存在R14_svc

CPSR寄存器保存到SPSR_svc

微处理器关闭IRQ,清Thumb位,并通过修改CPSR的相关位进入监控模式。

强制将PC值被置为地址0x08,然后进入ARM指令SWI的处理程序。正常的返回将恢复Thumb执行状态。

汇编格式

SWI        <8位立即数>

其中:<8位立即数>为数字表达式,其取值为0~255范围内的整数。

凌阳教育,专注嵌入式人才培养多年,完善的培养方案,强大的师资,合理的课程安排,成功从小白蜕变为嵌入式工程师。想了解凌阳教育,或者获得更多嵌入式学习资料的免费下载,请点击www.sunplusedu.com访问凌阳教育官网


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 3

    评论
  • 3815

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 15:42 , Processed in 0.015415 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部