Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Exception MIPS程序集存储浮点数时出错_Exception_Ip Address_Mips - Fatal编程技术网

Exception MIPS程序集存储浮点数时出错

Exception MIPS程序集存储浮点数时出错,exception,ip-address,mips,Exception,Ip Address,Mips,为什么这段代码在存储浮点数时出现异常。我想不出这个问题。代码如下: li $t1,0 Loop: add $t0,$t1,$s0 li $v0,6 syscall mov.s $f1,$f0 swc1 $f1,0($t0) addi $t1,$t1,4 beq $t1,20,Mult j Loop 您可能在执行swc1$f1,0($t0)时遇到未对齐异常。 指令swc1需要第二个参数是在字边界对齐的有效内存地址。这意味着此有效内存地址的两个最低有效位(在您的情况下,存储在$t0的

为什么这段代码在存储浮点数时出现异常。我想不出这个问题。代码如下:

li $t1,0

Loop:

add $t0,$t1,$s0

li $v0,6
syscall
mov.s $f1,$f0

swc1 $f1,0($t0)

addi $t1,$t1,4

beq $t1,20,Mult

j Loop

您可能在执行
swc1$f1,0($t0)
时遇到未对齐异常。 指令
swc1
需要第二个参数是在字边界对齐的有效内存地址。这意味着此有效内存地址的两个最低有效位(在您的情况下,存储在
$t0
的地址)需要为零

您发布的代码没有显示
$s0
的初始化,这可能至少有两个最低有效位中的一个为1

要修复代码,请确保
$s0
以零开头,以便
swc1
中使用的有效内存地址是字对齐的

如果
$s0
的初始化是使用
la$s0完成的,则在声明用于存储数据的缓冲区时,您可能需要使用
.align 2
指令,例如:

label: .align 2
       .space ...