MIPS中断不会跳转到中断处理程序

时间:2016-04-30 22:03:07

标签: mips interrupt interrupt-handling

这些值被加载到寄存器

lui  $t0, 0xffff             # Loads receiver control
li   $t3, 0x00000002         # Loads the interrupt enable bit

此功能启用MMIO输入中断。它将循环直到游戏结束 并等到按下某个键。这将触发中断处理程序。

main:
beq  $s7, 1000, checkOver    # Every 1000 loops checks to see if the game is over
sw   $t3, ($t0)              # Enables interrupts
addi $s7, $s7, 1             # Adds one to the loop iterator
j    main                    # Loops in main until the game is over

然而,当我按下一个键时,我得到了这个错误

C:\ Users ****第41行:0x00400038处的运行时异常:外部中断

我收到此错误而不是代码转到我在.ktext中编写的中断处理程序。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我想通了,我会在这里发布,以防其他人有同样的问题。我假设.ktext在内存中有一个已定义的地址,但是当您定义.ktext时,您需要对该位置进行硬编码。我在哪里

.ktext

我应该放

.ktext 0x80000180

然后代码正确跳转到中断处理程序。花了一些时间才找到。