Turbo Assembler 3.0. Руководство пользователя

Строки


Строковые параметры, независимо от размера, обычно никогда не заносятся в стек. Вместо этого Турбо Паскаль заносит в стек указатель (дальнего типа) на строку. Вызываемая подпрограмма не должна изменять строку, на которую ссылается указатель. Если это необходимо, подпрограмма может создать и работать с копией стро- ки.

Единственное исключение из этого правила - это случай, когда подпрограмма в перекрываемом (оверлейном) модуле A передает как параметр-значение строковую константу подпрограмме в перекрывае- мом модуле B. В этом контексте перекрываемый модуль означает лю- бой модуль, скомпилированный с директивой {$O+} (допускаются оверлеи). В этом случае перед тем, как будет сделан вызов и адрес стека будет передан программе в модуле B, в стеке для строковой константы резервируется временная память.



Содержание раздела