Переменные в программе.

 

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

Переменные в программе можно разбить на две большие группы. Во-первых, переменные, явно применяемые в программе исходя из ее логики, обычно такие переменные имеют имена и предназначены для хранения данных, имеющих предопределенный смысл (например, переменная для хранения кода нажатой клавиши при организации диалога с пользователем). Во-вторых, в программе очень часто необходимо иметь место для хранения временных данных (например, для хранения адреса возврата из подпрограммы, для хранения параметров некоторой процедуры или локальных переменных, используемых в подпрограммах). Можно, конечно, выделять таким переменным память так же, как и обычным, однако это приводит к существенному усложнению логики выполнения программы. Поэтому во всех микропроцессорах есть средства для хранения временных данных (во всяком случае для хранения временных переменных, нужных для организации работы подпрограмм). В микропроцессорах семейства i80х86 для хранения данных выделяется два сегмента – сегмент данных и сегмент стека.