繁体   English   中英

.space在mips中有什么作用?

[英]what does .space do in mips?

我遇到了一个分配问题,在该分配中,我们已将这些数字放入数组中,并在不使用循环的情况下将其添加。 我已经解决了这个问题,但是.space使我感到困惑。 通过使.space 20,我可以为5个单词腾出空间,还是在做其他事情。

  .data array: .space 20 .text addi $s0, $zero, 2 addi $s1, $zero, 12 addi $s2, $zero, -5 addi $s3, $zero, 7 addi $s4, $zero, 4 addi $t0, $zero,0 #index initialized at 0 sw $s0,array($t0) addi $t0, $t0, 4 sw $s1,array($t0) addi $t0, $t0, 4 sw $s2,array($t0) addi $t0, $t0, 4 sw $s3,array($t0) addi $t0, $t0, 4 sw $s4,array($t0) addi $t0, $t0, 4 

.space Len指令指示汇编程序保留Len字节。 由于每个字都有4个字节,因此当Len为20时,您将指示汇编程序保留5个字。

例如,如果您有

.data
array: .space 20
other_data: .asciiz 'This is other data'

那么other_data将是array地址之后的20个字节。

由于MIPS中的体系结构限制,如果您希望逐字访问(在您的特定示例中,则不需要),则可能还需要指示汇编程序在数组标签之前对齐保留的内存( .align 2 )。它,它应该已经对齐)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM