【问题标题】:How do I count the number of characters entered using MIPS?如何计算使用 MIPS 输入的字符数?
【发布时间】:2023-04-08 01:23:01
【问题描述】:

我提示用户输入最多 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: "

【问题讨论】:

    标签: assembly mips


    【解决方案1】:

    您可以检查您正在查看的寄存器中的字符是否在任何适用范围内:ASCII Values Table

    字符串的末尾应使用空字符“\0”存储,因此您可以查找它以找到长度。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-01
    • 2020-09-16
    • 1970-01-01
    • 2021-03-04
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多