如何计算使用MIPS输入的字符数?

时间:2015-04-01 18:15:51

标签: assembly mips

我提示用户输入最多40个字符的字符串。如何计算用户输入的字符数?当我计算每个字符时,我需要存储数字,大写和小写字母,空格和任何其他字符的数量。我该如何识别这些角色之间的区别?

.text                # beginning of code
.globl main          # beginning of main

main:                # main procedure
   li  $v0, 4        # print_string service number
   la  $a0, prompt00 # load address of prompt
   syscall           # print prompt

   li  $v0, 8        # read_string service number
   la  $a0, buffer   # load address of buffer
   la  $a1, 40       # max length of 40
   syscall           # read_string

   li $v0, 4         # print_string service number
   la $a0, buffer    # load address of buffer
   syscall           # print buffer

   li  $v0, 10       # using service 10, terminate
   syscall           # terminate

.data                # beginning of data area

   buffer:           # container for input string
      .space  40     # max length of 40 characters
   newline:          # variable to represent a newline
      .asciiz "\n"   # a newline character

   prompt00: .asciiz "Enter up to 40 characters: "

1 个答案:

答案 0 :(得分:2)

您可以查看您正在查看的注册表中的字符是否属于任何适用范围:ASCII Values Table

字符串应该在末尾以空字符'\ 0'存储,因此您可以查找它以查找长度。