10.3. Анализ расположения кода и областей данных программы

При программировании на низком уровне или использовании вставок машинных кодов в программу необходимо иметь средства анализа положения программы в ее данных в оперативной памяти. Системная библиотека Турбо Паскаля содержит набор средств для этого. Перечень специальных функций анализа памяти приведен в табл. 10.1.

Таблица 10.1

Функция : Тип -- Возвращаемое значение

CSeg : Word -- Содержимое регистра CS процессора

DSeg : Word -- Содержимое регистра DS процессора

SSeg : Word -- Содержимое регистра SS процессора

SPtr : Word -- Содержимое регистра SP процессора

При работе программы ее текущий исполнимый код находится в кодовом сегменте, что фиксируется в регистре CS, а статические переменные основного блока и типизированные константы располагаются в сегменте данных, который запоминается регистром DS. Локальные переменные и параметры процедур и функций при вычислениях располагаются в стеке, и сегмент стека содержится в регистре SS. Последний регистр – SP – содержит смещение указателя стека в сегменте SSeg.