У меня есть цикл for
, который проверяет наличие Char в строке и сохраняет его индекс в другом виде:
Псевдокод:
for (x = 0; x < string.len(); x++) {
if (string[x] == "A") {
new_string.append(x)
}
}
Это то, что я пробовал в MIPS
MIPS:
add $t0, $zero, $zero # $t0 is the counter
loop:
blt $s2, $t0, Exit # $s2 have the string.len()
add $s0, $s1, $t0 # point to the X char
# ($s1 is the string address)
lb $t1, 0($s0)
bne $t1, 0x41, endLoop # if $t1 != "A" continue
sb $t0, 0($s4) # store in newstring the X value
addi $s4, $s4, 1 # point to the next space of newstring
endLoop:
addi $t0, $t0, 1 # increment X
j loop
Exit:
В этом режиме я буду хранить цифру в буфере с sb $t0, 0($s4)
.Мне нужно преобразовать это значение в представление ASCII.
Максимальная длина входной строки может быть 256. Поэтому мне нужно представление, учитывающее этот предел.
Мне нужно представление ASCIIпотому что выходная строка будет обрабатываться другой функцией, которая шифрует входную строку, со свойством ASCII.