在内存中初始化.space以进行组装

时间:2015-10-27 04:24:15

标签: assembly mips spim

如何将此.space初始化为零?我希望每一位都是0

我的代码子程序:

.data
.align 2
memspace: .space 256
.text
la   $t7, memspace
move $t2, $zero
add  $t2, $t2, 64         # should this be 256 / 4? confused
loop:
    beq  $t2, $zero, done
    sw   $t0, ($t7)
    addi $t7, $t7,   4
    addi $t2, $t2,   -1
    j loop
done:
    jr $ra

我肯定做错了,因为当我使用xspim并查看我的数据段时,我看不到256的保留空间。我觉得我的$t寄存器对实际的内存位置没有任何作用。我现在真的很困惑。我应该使用堆栈指针吗?

1 个答案:

答案 0 :(得分:0)

你想要

memspace: .space 0:256

这会将所有内容初始化为0,但我相信0是默认值。 见How to initialise a huge array in MIPS assembly?