Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.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
Assembly MIPS覆盖/存储变量中的值_Assembly_Mips - Fatal编程技术网

Assembly MIPS覆盖/存储变量中的值

Assembly MIPS覆盖/存储变量中的值,assembly,mips,Assembly,Mips,我在MIPS程序中设置值时遇到问题。 如果x!=y:z=78 w=5//转换为MIPS的指令 lw $t1,x lw $t2,y bne $t1,$t2, label label: lw $t3,z lw $t4,w li $t4,5 li $t3,78 直到我需要分别给z和w赋值78和5,所有的工作都正常。但是,这些变量中存储了一些值,所以当我尝试将它们设置为78或5时,它只会将其中的值加上78或5。有人能告诉我我做错了什么吗? 您不需要将新值存储到它们各自的变量中,您也不需要

我在MIPS程序中设置值时遇到问题。 如果x!=y:z=78 w=5//转换为MIPS的指令

lw $t1,x
lw $t2,y
bne $t1,$t2, label
label: 
lw $t3,z
lw $t4,w      
li $t4,5
li $t3,78
直到我需要分别给z和w赋值78和5,所有的工作都正常。但是,这些变量中存储了一些值,所以当我尝试将它们设置为78或5时,它只会将其中的值加上78或5。有人能告诉我我做错了什么吗?

  • 您不需要将新值存储到它们各自的变量中,您也不需要读取它们,因为您不需要它来计算新值(这是示例中的常量)
  • 另外,您的分支是错误的,两种可能的结果都只是执行下一条指令。您必须使用相反的比较并分支到零件后面的位置
i、 e:


非常感谢。非常有效谢谢你指出我的疏忽。
  lw $t1,x
  lw $t2,y
  beq $t1,$t2, skip # branch if condition not met
  li $t4,5
  li $t3,78
  sw $t3,z
  sw $t4,w      
skip: