Я пытаюсь решить проблему, но сначала я тестирую инструкцию rol
, и я абсолютно уверен, что делаю что-то очень глупо, что делает мой тест не правильным.Сборка MIPS rotation ROL код
Вот отрывок:
li $t0, 101 ## our data
li $t1, 32 ## our loop because we will rotate 32 times later
loop:
## whatever the bit is, just print it or put it inside the asciiz
## and print it later, after we finish rotating,
## so we rotate starting with the first bit,
## and we put it as the first bit lsb
## first we rotate##
rol $t2, $t0, 1 ## rotate and store the new rotated inside $t7
and $t3, $t2, 1 ## now we AND to check our lsb if it one or not
li $v0, 1
move $a0, $t3 ## Print the result of AND
syscall
То, что я в основном пытаюсь сделать, чтобы повернуть MSB моего t0
к LSB, а затем его с операцией AND 1. Тем не менее, то, что я получаю 0 все время.
Надеюсь, кто-то может рассказать мне о моей ошибке и о том, как ее исправить.
Спасибо!
Примечания: Поворот настоящей команда, которая была введенный в MIPS32R2 для архитектуры MIPS ('ROTR'). – markgz