MIPS组装创建角色检查器

时间:2013-03-03 01:39:24

标签: arrays string assembly mips

我正在寻找有关如何从用户获取字符串然后输出字符串中每个字母使用次数的帮助。

伪代码 字符串“请输入字符串:” 取字符串并保存到数组中, 检查字符值的ascii重复项,然后在输出相应的字母时输出。

示例:Hello World

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 个答案:

答案 0 :(得分:0)

您想要做的是:

  1. 创建一些空格(26 * 4字节)来存储结果并填充0
  2. 循环播放字符串中的每个字母,然后加载lb
  3. 确定字母的数值,从而确定存储位置(步骤1)。不要忘记大小写字母。
  4. 加载内存位置(4个字节,使用lw),将值增加1,然后再次使用sw
  5. 存储
  6. 遇到0时停止(不是字母'0')
  7. 在分析中,循环遍历字母表中的每个字母,从步骤1加载相应的内存位置,然后打印结果