Раздел 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