Есть ли способ убедиться, что мои байты загружаются правильно, когда я использую команду sb в MIPS? - PullRequest
0 голосов
/ 05 апреля 2019

Я кодирую в MIPS и пытаюсь заменить каждый соответствующий символ в строке другим символом, предоставленным пользователем.Моя проблема - фактическая замена.Я пытаюсь использовать sb, чтобы переместить заменяющего персонажа в правильное место, но, похоже, это не работает.

while:
        lb $t2, 0($t5)      #Loads the next byte of the string into 
                                 temporary storage

        beqz $t2, exit      #If the next byte is empty, we're done

        beq $t2, $t1, replacer  #If the next character matches, replace the 
                                 character
        replacerContinue:

        addi $t0, $t0, 1    #Increments the address for the modded array
        addi $t5, $t5, 1    #Increments original string
        j while

.
.
.
.


replacer:
        sb $t4, 0($t0)  <----   #Stores the replacement character at the bit 
                                 in the current offset for the modified string
        j replacerContinue
        syscall

Вот немного ключа для регистров, я знаю, что это немного беспорядок:

$ t0 = Модифицированная версия исходной строки, которая должна содержать новый символвместо старого символа

$ t1 = символ, который пользователь хочет заменить в строке

$ t2 = байт в строке для $ t5

$t4 = Символ, выбранный пользователем для замены старого символа на

$ t5 = Исходная строка.Он был введен пользователем ранее, и я храню его в компоненте .data

Я ожидал, что когда я использую sb $ t4, 0 ($ t0), он сохранит символ замены в соответствующемпятно старого символа (обратите внимание, что я увеличиваю адреса в конце цикла, поэтому мне не нужно добавлять смещение).

Вместо этого я не могу сказать, происходит ли что-нибудь.Я использую MARS, и когда я смотрю на значение регистра, чтобы увидеть, происходит ли замена в $ t0, он показывает только значение адреса.

Спасибо за вашу помощь.Дайте мне знать, если я смогу предоставить дополнительную информацию, или если вы заметите какие-либо плохие практики в написании моего кода.Я все еще очень плохо знаком с MIPS.

...