10.3. Анализ расположения кода и областей данных программы
При программировании на низком уровне или использовании вставок машинных кодов в программу необходимо иметь средства анализа положения программы в ее данных в оперативной памяти. Системная библиотека Турбо Паскаля содержит набор средств для этого. Перечень специальных функций анализа памяти приведен в табл. 10.1.
Таблица 10.1
Функция : Тип -- Возвращаемое значение
CSeg : Word -- Содержимое регистра CS процессора
DSeg : Word -- Содержимое регистра DS процессора
SSeg : Word -- Содержимое регистра SS процессора
SPtr : Word -- Содержимое регистра SP процессора
При работе программы ее текущий исполнимый код находится в кодовом сегменте, что фиксируется в регистре CS, а статические переменные основного блока и типизированные константы располагаются в сегменте данных, который запоминается регистром DS. Локальные переменные и параметры процедур и функций при вычислениях располагаются в стеке, и сегмент стека содержится в регистре SS. Последний регистр – SP – содержит смещение указателя стека в сегменте SSeg.