deelan В АСМе тоже можно посадить кучу переменных да хоть и на один адрес, только нужно самому следить за последовательным использованием этих переменных. Даже не важно локальные они или глобальные. Ну а Си-компилятор следит за этим автоматически. Есть процедуры динамически меняющие привязку переменных к физическим адресам. Вообще-то в спецификациях на компилятор это все должно быть... ЗЫ собственно в чем вопрос? Точный механизм на компилятор никто не опубликует, т.к. это в основном проприетарный продукт, а принципы - очевидны. При простом объявлении переменной, компилятор присвоит ей текущий свободный адрес, если переменная объявлена как динамическая, то он подставит кусок кода с вычисляемой относительной адресацией, ну и в таком же духе остальное. Можно поисследовать компилятор простыми фрагментами и поглядеть чего он там в АСМ перепишет...
Сообщение отредактировал Марк_Я - Sep 21 2007, 09:27
|