我正在为一个类使用 MIPS 体系结构编写一个汇编程序,但我无法弄清楚如何获取用户输入的字符并将其存储在寄存器中以进行处理。
该程序将打开一个控制台,输出一条消息,然后用户可以输入一个字符,然后这将确定程序中接下来应该发生的事情。
就像我说的那样,我很难弄清楚如何抓住角色,以便我可以在程序中对它采取行动。
谢谢
这是一个很好的起点:MIPS 快速教程
这是教程中的一个片段
li $v0, 5 # load appropriate system call code into register $v0;
# code for reading integer is 5
syscall # call operating system to perform operation
sw $v0, int_value # value read from keyboard returned in register $v0;
# store this in desired location
您将不会直接使用您在用户空间中编写的任何程序集来处理中断。
编写异常代码。中断(异常)服务例程从 0x80000180 开始(在 QtSpim、PCSpim 上)读取键盘寄存器。数据位于 0xFFFF0004。抓住炭。然后从异常中返回。
或者,您可以在 0xFFFF0000 处轮询键盘状态。当就绪位打开时,读取数据。
jjc.hydrus.net/cs61c/handouts/interrupts2.pdf