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