簡體   English   中英

MIPS中.space {value} sbrk(分配堆內存)之間有什么區別

[英]What is difference between .space {value} sbrk (allocate heap memory) in MIPS

在 MIPS 中,我們可以通過將 $v0 設置為 9 的 using.space 來分配 memory。

.data
arr: .space 12 # array of 12

要么


li $v0, 9
li $a0, 12
syscall

我知道兩者都會給我 12 個字節的空間,sbrk 從堆中分配但實際上我不知道 does.space 做了什么。 你能解釋一下這兩者之間有區別嗎?

查看差異的最簡單方法是在十六進制編輯器中查看已編譯的可執行文件。 使用.space n時,您的文件大小增加了n個字節。 嘗試使用和不使用.space 12來組裝相同的程序,您會在帶有.space 12的版本的 hexdump 中看到 12 個額外的零。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM