Почему мы должны определить раздел .data и .text в сборке? - PullRequest
14 голосов
/ 31 августа 2011

Я читаю сборочную книгу.Книга объясняет, что в памяти компьютера есть разделы .text и .data.В примере в книге также используется следующий исходный код.

[SECTION .data]

[SECTION .text]

, поскольку приведенный выше фрагмент кода написан на ассемблере, у меня есть вопрос.в физической памяти (если так, то почему? И заботится ли процессор?)?или это только мы (люди) разделяем их на языке ассемблера?

1 Ответ

16 голосов
/ 31 августа 2011

Текстовый раздел приложения доступен только для чтения, а Данные - нет. Многие ОС загружают текстовый раздел в память только один раз, независимо от того, сколько раз было запущено приложение. Это уменьшает использование памяти и время запуска и является безопасным, потому что код не изменяется. Раздел данных содержит информацию, которая может быть изменена во время выполнения приложения, и этот раздел необходимо копировать для каждого экземпляра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...