Подтвердить что ты не робот

Почему нам нужно определить раздел .data и .text в сборке?

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

[SECTION .data]

[SECTION .text]

так как приведенный выше фрагмент кода написан на сборке, у меня есть вопрос.

Делайте .data и .text коды, разделенные в физической памяти (если да, то почему? и заботится ЦП?)? или просто мы (человек) отделяем их на ассемблере?

4b9b3361

Ответ 1

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