2012-10-03 87 views
0

我正在編寫一個用戶輸入字符串的程序。該字符串默認存儲在$ v0寄存器中,但是我想將$ v0中的數據複製到String標籤,所以如果我在程序中將$ v0用於其他目的,則用戶輸入不會損壞。我弄清楚如何去做。如果有人能告訴我如何去做,我會很高興。如何在字符串標籤中存儲字符串

問候

+0

哪'syscall'是你在用嗎?你可以發佈你到目前爲止的任何代碼嗎? –

回答

0

垃圾消息,服務於讀出來自用戶的字符串是服務,這需要作爲參數:

  • $a0:一個指向緩衝區的指針,其中字符串將寫入
  • $a1:緩衝區的大小

一旦系統調用的回報,緩衝區將與輸入文本(最多至最大的$a1字節)被ovewritten,$v0不受影響

實例:

.data 
buffer: .space 128 

.text 
    la $a0, buffer 
    li $a1, 128 # maximum number of bytes to be read 
    li $v0, 8 
    syscall 
+0

li $ a1,128在做什麼?你從哪裏將用戶輸入從$ v0複製到緩衝區? – user1698102

+0

@ user1698102:從鍵盤讀取一個字符串的'syscall'在'$ a0'中接收一個指向將存儲字符串的緩衝區的指針,並在'$ a1'中接收該緩衝區的大小(也就是最大數量字節從控制檯讀取)。您不必使用'$ v0'從鍵盤讀取字符串。請注意'$ v0'只是另一個寄存器(32位寬),所以它實際上不能保存實際讀取的字符串。 – gusbro