gpt4 book ai didi

assembly - 在 MIPS 中实现 toUpper 函数

转载 作者:行者123 更新时间:2023-12-04 05:10:10 26 4
gpt4 key购买 nike

所以我试图在 MIPS 中实现一种 toUpper 函数。该函数可以访问两个变量:$a0 是字符串的起始地址,$a1 是字符串的长度。我正在尝试遍历字符串并将其转换为大写。有谁知道我哪里错了?

我想我在实际将起始地址中的第一个字符加载到变量中时遇到了麻烦。

to_upper:

li $t0, 0 #initialize counter
li $t1, 0

Loop:
addi $t0, $t0, 1

sgt $t5, $t0, $a1
beqi $t5, 1, Done

slti $t5, $t1, 97
beqi $t5, 1, Loop

sgti $t5,$t1, 122
beqi $t5, 1, Loop

subi $t1, $t1, 32

j Loop

Done:
jr $ra

最佳答案

最好放置

addi $t0, $t0, 1

在循环结束时。

所以,像这样:
...
Loop:
addi $t5, $a0, $t0
lb $t6, 0($t5)
...set $t6 to upper...
sb $t6, 0($t5)
addi $t0, $t0, 1
blt $t0, $a1, Loop
Done:
...

关于assembly - 在 MIPS 中实现 toUpper 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14990112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com