Динамическая память – это оперативная память ПК, представляемаяпрограммно при её работе , за вычетом сегмента данных 164 Кбайта,стёка(обычно 16 Кбайт) и собственно тела программы (>200-300Кбайт) Д.п. - это практически единственная возможность обработкимассивов данных большой размерности.Сегмент данных - это непрерывная область оперативной памяти вкоторой размещаются все переменные, объявленные в программе.Д. размещение данных – означает использование Д.П. непосредственнопри работе программы.ОЗУ ПК представляет собой совокупность ячеек для храненияинформации - байтов, каждый из которых имеет собственный номер.Эти номера – называются адресами ,позволяющими обращаться к любомуa`irs памяти.Указатели – гибкое средство управления Д.П.. Это переменная,которая в качестве своего значения содержит адрес байта памяти. ВПК адреса задаются сегментами и 16 разрядными смещениями.Сегмент – это участок памяти имеющий длину 65536(64Кбайта) иначинается с физического адреса , кратного 16.Смещение – указывает, сколько байт от начала сегмента нужноотступить, чтобы обратиться к нужному адресу. Адресноепространство 1 Мбайт – стандартная память ПК. Для адресации впределах 1 Мбайта нужно 20 двоичных разрядов, которые получаютсяиз 2-х 16 разрядных слов (сегмента и смещения типа word )=>содержимое сегмента смещается на 4 разряда , освободившиесяправые заполняются нулями.Структура памяти: SYS область – КУЧА – SYS областьI^:=2;{в область памяти I заносится 2}Функции:ADDR (x) – возвращает результат типа pointer,в котором содержитсяадрес аргумента,x- любой объект программы (переменная ,процедура, функция)CSEG- возвращает значение, хранящееся в регистре CSмикропроцессора. Результат в слове типа word.DSEG - возвращает значение, хранящееся в регистре DSмикропроцессора. Результат в слове типа word.MAXAVAIL-возвращает размер в байтах наибольшего непрерывногоучастка кучи .MAXAVAIL(LONGINT).За вызов процедуры NEW или GETMEM нельзя зарезервировать памятибольше, чем значение, возвращаемое этой функцией.MEMAIAIL(LONGINT)- возвращает размер в байтах общего свободногопространства кучиOFS(Х)-возвращает значение типа WORD, содержащее смещения адресауказанного объекта.(Х)-выражение любого типа или процедура.PTR(seg , ofs) - возвращает значение типа POINTER, по заданномусегменту и смещениюSEG(X) - возвращает значение типа WORD, содержащее сегмент адресауказанного объекта.SIZEOF(X)- возвращает длину в байтах внутреннего представленияуказанного объекта.X- имя переменной, функции или типа.Процедуры:DISPOSE- возвращает в кучу фрагмент динамической памяти ,которыйбыл ранее зарезервирован за типизированным указателем.DISPOSE(TP) – типизированный указательFREEMEM - возвращает в кучу фрагмент динамической памяти ,которыйбыл ранее зарезервирован за нетипизированным указателемFREEMEM(P,SIZE) – P-нетипизированный указатель ,SIZE-длиннаосвобождающегося размера.GETMEM(P,SIZE) – резервирует за нетипизированным указателемфрагмент Д,П, требуемого размера(не более 65521)MARK(PTR) – запоминает текущее значение указателя кучи. PTR-указатель любого типаNEW - резервирует фрагмент кучи для размещения переменной .NEW(TP) - тип указательRELISE(PTR) – освобождает участок кучи .PTR – указатель любоготипа,в котором предварительно было сохранено процедурой MARKзначение указателя кучи.Д.П. широко используется для временного запоминания данных приработе с графикой и звуком в ПК.