2009-10-28 132 views
0

我正在爲使用MIPS架構的程序集編寫一個程序,而且我很難弄清楚如何獲取用戶的輸入字符並將其存儲在寄存器中以進行處理。程序集編程和中斷處理

該程序將打開一個控制檯,輸出一條消息,然後用戶可以輸入一個字符,然後這決定了程序中接下來應該發生的事情。

就像我說的,我很難找出如何抓住角色,以便我可以在程序中採取行動。

感謝

+0

這是什麼都與中斷處理呢?你的問題有點含糊...... – Artelius 2009-10-28 01:43:28

+0

我的理解是,程序將處於無限循環,然後當用戶按下一個鍵時,這將導致中斷,更改寄存器,然後說中斷將不得不被處理並控制回到現場發生的循環。 對不起,我的問題含糊不清。我不確定如何進一步澄清。 謝謝 – ihtkwot 2009-10-29 01:54:02

+0

我想我的問題是使用MIPS架構,我需要修改哪些寄存器,以便識別,存儲和處理來自鍵盤的輸入。 希望這更清楚。 – ihtkwot 2009-10-29 01:58:30

回答

0

這是一個非常好的起點:MIPS Quick Tutorial

下面是本教程

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 

你會不會直接與中斷,帶你任意組裝工作的一個片段寫在用戶空間。

0

編寫異常代碼。中斷(例外)服務例程從0x80000180開始(在QtSpim,PCSpim上) 讀取鍵盤寄存器。數據在0xFFFF0004。抓住字符。然後從異常中返回。

或者,您可以在0xFFFF0000處輪詢鍵盤狀態。當就緒位打開時,讀取數據。

jjc.hydrus.net/cs61c/handouts/interrupts2.pdf