Есть обработчик прерывания (таймера), который находится в сегменте кода некоторой программы. Подскажите, каким образом определяется положение сегмента данных моей программы в этом обработчике? Т. е., в примере ... int data ... void interrupt timer_handler() { asm { mov ax, seg data mov ds, ax } } не могу понять, как этот "обработчик" (скорее, как я догадываюсь, компилятор) узнает сегмент переменной data. Что-ли на основе CS высчитывает (при исполнении обработчика это, кажется, единственное, что связывает мою программу и обработчик). Если можно, объясните поподробней Заранее спасибо