[英]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.