Как умножить значения с плавающей запятой без MULS в MIPS? - PullRequest
0 голосов
/ 01 декабря 2019

Я хочу сделать следующую операцию:

0.1xA ^ 2 #A, представляющий целое число, в то время как 0.1 - число с плавающей запятой.

Мне не разрешено использовать инструкции умножения, деления или сдвига.

.data
num1:       .float 0.1

.text
main:
#A
li $v0, 5
syscall
move $t0, $v0   #A is stored in t0    


li $t3, 0
li $s5, 0

#Finds A^2
Loop1:   
bge $t3, $t0, Quit1
add $s5, $s5, $t0
addi $t3, $t3, 1
j Loop1

Quit1:
li $t3, 0
li $s4, 0

mtc1    $s5,  $f10 #s5 is result of A^2
cvt.s.w $f10, $f10

lwc1    $f18, num1

Я нашел квадрат выше, и я преобразовал A из целого в значение с плавающей точкой и сохранил 0,1в регистр $ f18. Тем не менее, я не уверен, как умножить 0,1xA без использования умножения или сдвига инструкции.

...