Assembly 如何在Mips中修改.text段内的.data值?
我在.data段声明了一个Mips中的全局变量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
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