Я очень плохо знаком с программированием на MIPS и застрял в проблеме, которую пытался запрограммировать.Я понимаю, что то, что я пытаюсь сделать, может быть глупым, но терпите меня, пожалуйста!Вот описание того, что я пытаюсь сделать.
Допустим, у меня есть эта строка: "~~ Hello World!".Я хочу получить строку "Hello World!"сдвигая эту строку влево на два символа.Пока что моя ближайшая попытка выполнить такую операцию такова:
Пусть регистр $ t0 содержит строку "~~ Hello World!".Я хочу выполнить сдвиг влево на 2 бита для этой строки и сохранить его в регистре $ t1.
.data
output1: .asciiz "The value in $t1 is: "
.text
sll $t1, $t0, 2 # attempt at shifting left by 2 bits
li $v0, 4
la $a0, output1
syscall # print "The value in $t1 is: "
li $v0, 4
move $a0, $t1
syscall # print the contents of the register $t1
Однако, когда я собираю эти инструкции, я получаю адрес с ошибкой вне диапазона.Кто-нибудь может указать, где я иду не так, и, возможно, что я должен сделать, чтобы добиться этого?