繁体   English   中英

如果在MIPS中超过.space会发生什么?

[英]What will happen if .space is exceeded in MIPS?

我是汇编编程的新手,并试图通过遵循别人的代码来学习。 因此出现了一个问题,如果我们超出.space保留的空间,将会发生什么? MARS 4.5会在运行时为我们分配额外的空间,还是保留后再覆盖字节?

.data
input:  .space 4
.text
li $v0, 8
li $a1, 6 #intentionally, allows to read more than 4 bytes.
la $a0, input
syscall

在实际程序中,通常您的代码将与其他也会链接到.data代码链接,因此input+4将是其他一些label +保留空间的位置。

如果不是,则.data所在的内存映射可能是虚拟内存页面的总数,因此实际上存在未使用的填充,直到4096字节的倍数为止。 (但这仅适用于使用虚拟内存的系统;否则,其他部分可能会在此之后开始;链接后检查其他符号的地址)

特别是在MARS上,请参阅设置->内存配置以准确查看每个部分在内存映射中的开始位置。

暂无
暂无

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

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