这些值被加载到寄存器
中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中编写的中断处理程序。有人可以帮忙吗?
答案 0 :(得分:1)
我想通了,我会在这里发布,以防其他人有同样的问题。我假设.ktext在内存中有一个已定义的地址,但是当您定义.ktext时,您需要对该位置进行硬编码。我在哪里
.ktext
我应该放
.ktext 0x80000180
然后代码正确跳转到中断处理程序。花了一些时间才找到。