我正在火星模拟器中使用MIPS汇编,我正在尝试设置它,以便我可以输入任何2位数字(例如24)到键盘和显示MMIO模拟器中,然后从MMIO地址中取出它并把它放入我的寄存器进行操作。这种技术将使用我在某种程度上理解的轮询。
我可以使用以下代码加载单个字符并将其ascii值放入我的寄存器中(在.text中):
main:
lui $t0, 0xFFFF #$t0 = 0xFFFF0000
poll: # polling procedure
lw $t1, 0($t0)
andi $t1, $t1, 0x0001
beq $t1, $zero, poll
lw $a0, 4($t0) # load word into register $a0
在这种情况下,MMIO是否可以将输入视为立即输入并立即接收两个输入?如果没有,那么有没有任何已知的解决方法呢?感谢。