TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Параметры-значения 

             Параметры-значения передаются по значению или по  ссылке,  в
        зависимости  от  их  типа и размера.  В общем случае,  если пара-
        метр-значение занимает 1,  2 или 4 байта,  то значение помещается
        непосредственно в стек. В противном случае в стек помещается ука-
        затель на значение, а процедура или функция копирует затем значе-
        ние в локальную ячейку памяти.

             В процессоре 8086 не поддерживаются байтовые инструкции РUSН
        и РОР,  поэтому байтовые параметры всегда передаются в стеке, как
        слова. Младший байт слова содержит значение, а старший байт слова
        свободен (и неопределен).

             Значение или параметр целого типа передается как байт, слово
        или двойное слово. При этом используется такой же формат, как для
        представления переменной целого типа.  (Для двойных слов  старшее
        слово  помещается  в  стек перед младшим словом,  так что младшее
        слово размещается в более младших адресах.)

             Параметр символьного типа (Char) передается,  как  байт  без
        знака.

             Параметр булевского  типа (Boolean) передается,  как байт со
        значением 0 или 1.

             Параметр перечислимого типа передается,  как байт без знака,
        если нумерация не превышает 256.  В противном случае он передает-
        ся, как слово без знака.

             Параметр вещественного типа  (Real,  значения  с  одинарной,
        двойной  или  повышенной  точностью  или  сложного типа - Single,
        Double, Extended, Comp), передаются через стек как 4, 6, 8 или 10
        байт.  Это  является  исключением из того правила,  что 1-,  2- и
        4-байтовые значение передаются непосредственно в стеке.

             Параметр типа указатель передается  в  виде  двойного  слова
        (адрес сегмента помещается в стек перед смещением, так что часть,
        представляющая собой смещение,  заканчивается в самом младшем ад-
        ресе).

             Параметр строкового типа передается, как указатель на значе-
        ние.

             Параметр множественного типа передается в виде  байта  (если
        границы элемента  установлены  в  диапазоне  от 0 до 7) или слова
        (если границы элемента установлены в диапазоне от  0  до  15).  В
        противном  случае оно передается в виде указателя на "неупакован-
        ное" множество длиной 32 байта.

             Массив или запись из 1,  2 или 4 байт помещается  непосредс-
        твенно в стек.  Другие массивы и записи передаются, как указатели
        на значения.

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz