数字实验室模拟火星模拟器键盘的使用



我无法控制Mars 4.2的数字实验室模拟工具的键盘。

根据帮助中的指示"地址0xFFFF0014处的字节值:接收按键的行和列,如果未按键,则为0"。然而,如果你读取了那个记忆位置,它就不起作用了。下一个简单的序列应该读取键盘,但它不工作

ini:
lui $1,0xffff
lw $2,0x0014($1)

j ini

无论按下工具的任何键,它总是返回0。

我对这个工具的七段数字没有任何问题。通过地址0xFFFF0012使用它非常容易。然而,没有办法与这个工具的键盘

有人知道如何阅读火星4.2数字实验室模拟人生的键盘吗?

非常感谢

我自己回答。

在读取键之前,您必须选择行。下一个序列检查三行(并且有效(:

sub $0,$0,$0
lui $2,0xffff       # Base address IO

main:
addi$3,$0,0x01#第1行的位0=1sb$3,0x0012($2(#选择行1(在端口0xFFFF 0012上写入(lb$4,0x0014($2(#$4=第1行按键的代码(如果未按下,则$4=0(bne$4,$0,row1#如果按了第1行的某个键->转到第1行#第2排测试addi$3,$0,0x02#第1位=第2行的1sb$3,0x0012($2(
lb$4,0x0014($2(
bne$4,$0,row2#第3排测试addi$3,$0,0x04#第3行的位2=1sb$3,0x0012($2(
lb$4,0x0014($2(
bne$4,$0,row3#第4排测试addi$3,$0,0x08#第4行的位3=1sb$3,0x0012($2(
lb$4,0x0014($2(
bne$4,$0,row4j主row1:#$4具有该行的按键代码第2行:#$4有这一行的按键代码第3行:#$4有这一行的按键代码第4行:#$4有这一行的按键代码

最新更新