MIPS例外是什么意思

时间:2017-05-14 14:45:55

标签: exception assembly interrupt qtspim

我最近一直在学习大会,我似乎无法理解异常是如何运作的。更具体地说,我收到消息Exception 6发生并被忽略。有人可以解释这究竟是什么意思?我正在使用qtspim。

1 个答案:

答案 0 :(得分:0)

例外可能是由硬件或软件引起的。异常就像一个跳转到新地址的未调度函数调用。 程序可能会遇到错误情况,例如 一个未定义的指令。然后程序跳转到操作系统(OS)中的代码,操作系统可以选择终止程序。异常的其他原因是除以零,尝试读取一些不存在的内存,硬件故障,调试器断点和算术溢出。

处理器记录异常的原因和PC的值 在异常发生时。然后它跳转到异常处理函数。异常处理程序是检查的代码(通常在操作系统中) 异常的原因和适当的响应,然后返回到该程序 在异常发生之前执行。

在MIPS中,异常处理程序始终位于0x80000180。发生异常时,无论原因如何,处理器始终跳转到该指令地址。

MIPS架构使用专用寄存器,称为原因 注册,记录异常原因。

MIPS使用另一个名为 Exception的专用寄存器 程序计数器EPC)在a时存储PC的值 异常发生。处理器返回EPC之后的地址 处理异常。这类似于使用$ra存储旧的 jal指令期间PC的值。