|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Май 8, 2004 20:10:38 Из Зубкова вычитал про передачу пареметров по имени суть понял, но не понял следующие слова автора: Место:5.2.1 процедуры и функции: "Примерно так же поступают языки программи- рования высокого уровня, поддерживающие этот механизм: процедура получает адрес специаль- ной функции-заглушки, которая вычисляет адрес передаваемого по имени параметра" Я не понимаю как это могло быть реализовано может кто-то приведет примерный код. А то я не врубаюсь в Передачу параметров с от- ложенным вычислением. Буду также рад коду и на это случай. +P.S.: По мимо прочего хотел бы привести ст- рочки кода, которые я встретив в описании мак- роопределений: cmp al,10 sbb al,69h das Именно этими строчками меня и потряс Зубков, т.к. лучше думаю и быть не может! |
|
|
Дата: Май 9, 2004 12:15:43 Ничерта не понял. Что за передача параметров по имени? У этого есть человеческое описание? Сильно подозреваю, что подобную терминологию ввел Зубков и взял он ее, как и большую часть терминов в своем творении, с неба. Приведи пример такой передачи параметров. |
|
|
Дата: Май 9, 2004 14:06:56 · Поправил: Anonimka EvilsInterrupt Предлагаю тебе эту главу пропустить, там много ненужного. Вообще, на мое мнение, есть всего три типа передачи параметров: по значению, по ссылке, по-идиотски. n0p А там имеется ввиду примерно такое (только не ржать): pass_parameter macro param mov ax,param endm pass_parameter my_param call my_proc |
|
|
Дата: Май 9, 2004 15:48:57 может это аналог в С - void Some_func(nParams, ...)а функция сама должна вычислять сколько у нее параметров, их тип и адреса |
|
|
Дата: Май 9, 2004 18:56:26 Anonimka Как ни сдерживался, но не смог удержаться. Может я выпил слишком много коньяку, но на данный момент до меня не доходит практическая ценность сего метода.. :) |
|
|
Дата: Май 9, 2004 19:04:49 DaemoniacaL Буду рад конкретизации All А вообще вместо mov ax,param может быть и более длинный код! |
|
|
Дата: Май 9, 2004 19:39:34 n0p Не доходит, потому что "очень трудно искать черную кошку в темной комнате, особенно если ее там нет" (с) он самый. А вообще, ценность может быть и есть, но она появляется только когда макрос становится более-менее содержательным. И еще, обзывать такую настолько общую весчь, как использование макрооператора для передачи параметров, _методом_ этой передачи, по-моему, просто глупо. |
|
|
Дата: Май 9, 2004 20:03:29 Место:5.2.1 процедуры и функции: "Примерно так же поступают языки программи- рования высокого уровня, поддерживающие этот механизм: процедура получает адрес специаль- ной функции-заглушки, которая вычисляет адрес передаваемого по имени параметра" А как конкретней? |
|
|
Дата: Май 9, 2004 20:51:21 EvilsInterrupt Предпологаю что передача параметров по имени выглядит так: В программе есть таблица в которой хранятся имена и адреса некоторых объектов, а в функцию вместо объекта или его адреса передается его имя(возможно вместе с адресом функции для поиска объекта). |
|
|
Дата: Май 9, 2004 20:56:00 Black_mirror Очевидно. Но зачем такой изврат в compile-time? |
|
|
Дата: Май 9, 2004 21:30:34 Спасибо! А Передача параметров с отложенным вычислением? |
|
|
Дата: Май 10, 2004 00:55:22 · Поправил: de_vastator Вроде бы когда до функции доходит дело - все передаваемые ей данные помещаются в стек ... может Зубков про это ? |
|
|
Дата: Май 10, 2004 09:14:50 de_vastator Нет, по Зубкову про то что ты говоришь называется передача парметров через стек! А лучше открой и посмотри много интересного увидишь, взять хотя бы передачу в потоке кода! |
|
|
Дата: Май 10, 2004 11:38:35 EvilsInterrupt Там же ясно написано, что при передачи параметра отложенным вычислением, передается не сам параметр, а адрес функции, возвращаемое значение которой и является параметром процедуры. |
|
|
Дата: Май 10, 2004 11:41:31 Oleg_SK А код слабо слабать? :))) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.076 |