Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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中修改.text段内的.data值?_Assembly_Compiler Construction_Mips_Code Generation - Fatal编程技术网

Assembly 如何在Mips中修改.text段内的.data值?

Assembly 如何在Mips中修改.text段内的.data值?,assembly,compiler-construction,mips,code-generation,Assembly,Compiler Construction,Mips,Code Generation,我在.data段声明了一个Mips中的全局变量 .data globalVariable: .word 10 如何访问和修改.text段中的内容?什么是“如何访问和修改.text段中的内容?”应该是什么意思?例如,如果您正在开发编译器,您应该在.data区域分配全局变量,而不是将它们保留在堆栈中。按照这种方法,您必须在运行时更改.data值的内容。这就是我想问的。抱歉,如果不清楚,您也可以从堆中分配它们。是的,但是文本segmenr在哪里发挥作用?确实可以,@FrankC。但是,在开

我在.data段声明了一个Mips中的全局变量

.data
   globalVariable:  .word  10

如何访问和修改.text段中的内容?

什么是“如何访问和修改.text段中的内容?”应该是什么意思?例如,如果您正在开发编译器,您应该在.data区域分配全局变量,而不是将它们保留在堆栈中。按照这种方法,您必须在运行时更改.data值的内容。这就是我想问的。抱歉,如果不清楚,您也可以从堆中分配它们。是的,但是文本segmenr在哪里发挥作用?确实可以,@FrankC。但是,在开发编译器时,管理堆中分配的全局变量可能会变得混乱,包括在执行递归时。
.data
   globalVariable:  .word  10

.text

   #access
   lw $a0, globalVariable 

   #modify
   la $a0, globalVariable #get address
   li $a1, 11 #new value
   sw $a1 0($a0) #save new value

   lw $a2, globalVariable  #get new value