2013-03-03 28 views
0

我正在尋找如何從用戶採取一個字符串,然後輸出每個字母在字符串中使用的次數的幫助。MIPS大會創建字符檢查器

僞代碼 字符串「請輸入一個字符串:」 取字符串並保存到數組中, 支票字符值的ASCII重複,然後當相應的字母是輸出輸出。

例如:你好世界

A: 
B: 
C: 
D: 1 
E: 1 
... 
H: 1 
... 
W: 1 

代碼

.data 
intro: .asciiz "Letter Checker Program" 
question: .asciiz "\nPlease enter a string for evaluation: " 

string: .space 1024 
alphabet: .space 26 


.text 

main: 
jal setup 
#jal analyze 
#jal results 

li $v0, 10 
syscall 

setup: 
li $v0, 4 # outputing name and program information 
la $a0, intro 
syscall 

li $v0, 4 # asksing for string input 
la $a0, question 
syscall 

li $v0, 8 
la $a0, string 
li $a1, 1024 
syscall 

jr $ra  # return 

analyze: 

loop: 

循環:

結果:

+1

你可以發佈你已經嘗試過嗎?這樣,我們可以幫助更好。 – Patrik 2013-03-03 10:50:32

+0

。數據 介紹:.asciiz信 「檢查程序」 問題:.asciiz 「\ n請輸入一個字符串的評價:」 字符串:。空間1024 字母:。空間26 。文字 主: \t JAL設置 \t #jal分析 \t #jal結果 \t李$ V0,10 \t系統調用 \t 設置: \t李$ V0,4 \t#outputing名稱和節目信息 \t la $ a0,介紹 \t系統調用 \t \t li $ v0,4 \t #asksing字符串輸入 \t LA $ A0,質疑 \t系統調用 \t \t李$ V0,8 \t LA $ A0,串 \t李$ A1,1024 \t系統調用 \t \t JR $ RA \t \t #返回 \t 分析: 循環:\t \t \t \t #回覆: \t #結果: – 2013-03-04 07:38:14

回答

0

你想要做的是:

  1. 創建一些空間(26 * 4個字節)來存儲結果,並用0
  2. 遍歷該串中每一個字母填充和加載與lb
  3. 確定信的數值,因此,存儲位置(步驟1)。不要忘記大小寫字母。
  4. 負載該內存位置(4個字節,使用lw),增加與值1,並用sw
  5. 停止當遇到0再次存儲(而不是字母「0」)
  6. 在分析,循環過在字母表中的每一個字母,從第1步加載相應的內存位置,並打印結果