嗨,我试图在 MIPS 中创建一个自定义过程,以从 ieee-754 中的字符串解析浮点数(32 位)。我按照维基百科的步骤。问题是我无法处理整数部分可能大于 2^32 的事实,因为我在 mulou 指令中溢出:
int_part:
lb $t1, 0($a0)
add $a0, $a0, 1
beq $t1, '.', fract_part
mulou $s2, $s2, 10
add $s2, $s2, $t1
subi $s2, $s2, '0'
j int_part
在上面的代码中,id 喜欢将输入的整数部分存储在 $s2 中,因此我能够对其进行规范化,然后将其转换为二进制(如维基百科中所述)