Язык ассемблера MIPS (Power2)
В настоящее время я ищу лучший метод для выполнения функции n power2. Короче, код в MIPS должен вычислять 2n. n является положительным числом, хранящимся в $a0
, Тем не менее, на данный момент мои результаты приходят на одну мощность меньше.
Моя попытка
main:
# initialize
la $a0,3 #n counter
li $s0,2 #base number
li $s1,0 #calculated value
While:
beq $a0,$zero,exit #Checks if n is zero, if yes exit program
sllv $s1,$s0,$a0 #Shift left logical by n, this should do the math 2^n
exit:
1 ответ
"Ошибка" не очень информативное утверждение. Во всяком случае, правильный синтаксис для beg $a0,$zero,j Exit
является beq $a0, $zero, exit
но вам даже не нужна эта проверка. Вы должны загрузить $s0
с 1
не 0
поскольку 2^0
является 1
а также sll $s0, 2, $a0
должно быть sllv $s0, $s0, $a0
,