首页 > 解决方案 > 如何在 MIPS 中将没有 mul.s 的浮点值相乘?

问题描述

我想做以下操作:

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 的平方,并将 A 从整数转换为浮点值并将 0.1 存储到寄存器 $f18 中。但是,我不确定如何在不使用乘法或移位指令的情况下乘以 0.1xA。

标签: cassemblymipsmips32

解决方案


推荐阅读