MIPS .data раздел на програмата?

Не разбирам за какво точно е секцията .data? Сравнимо ли е с желанието да кажете y = 8? Не бихте ли могли просто да заредите незабавна стойност 8 в някакъв регистър, който би бил същият?


person Spencer McCreary    schedule 29.10.2011    source източник
comment
Мога да предложа само тази връзка - MIPS сегмент от данни и текст   -  person    schedule 29.02.2012


Отговори (1)


Той е за съхраняване на, добре, хммм, данни.

Типичната програма ще има няколко раздела:

  • .text → за код (текст на програмата)
  • .rodata → за данни само за четене
  • .data → за данни
  • .bss → за неинициализирани данни
  • ...

C глобалните променливи и статичните локални променливи отиват на .data или .bss (те се създават при зареждане на програмата и се унищожават в края на програмата, техният живот е цялото изпълнение на програмата). C локалните променливи отиват в стека (те се създават при влизане във функцията и се унищожават при напускане на функцията), C ​​паметта, разпределена от malloc(), отива в купчината (те се създават и унищожават динамично от програмиста, животът им е динамичен) .

person ninjalj    schedule 29.10.2011