|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.09.2010, 14:36 | #21 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Ты кой-чего попутал...Ты то про Delphi говоришь...А мы про Turbo Pascal..Про Делфи то я знаю...
|
12.09.2010, 14:36 | #22 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Borland Pascal v7 генерирует такой код при операции T := Z+Q:
Код:
1) происходит сохранение всех регистров Код:
Код:
Код:
Код:
Код:
Подводя итог: Паскалевская конструкция T := Q+Z; является оптимальной по скорости. Вызов внешней функции - дело не благородное и долгое. Такую примитивную операцию как сложение заменять ассемблерной вставкой не имеет никакого смысла. Я кончил.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
12.09.2010, 14:37 | #23 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Ну ладно...Спасибо..
|
12.09.2010, 14:42 | #24 |
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
Tronix, молодца!!! Все это же самое я высказал в своем посте (№7) одним предложением...
Перемешивай дело с бездельем и не сойдешь с ума...
|
12.09.2010, 14:45 | #25 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Я видел ваш пост, просто расписал поподробнее. А то дискуссия слишком затянулась
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
12.09.2010, 15:01 | #26 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
конечно, не так всё ужасно в случае использования ассемблерных вставок, но я согласен с предыдущими высказываниями — это далеко не всегда даёт выигрыш!
В подтверждение всего вышесказанного просто покажу ассемблерный код, который генерит TurboPascal в этих двух случаях: Код:
Код:
|
12.09.2010, 16:27 | #27 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
А как вы это сделали, Serge_Bliznykov?
|
12.09.2010, 16:35 | #28 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
откомпилировал TPC.exe с опцией -V
(это означает -V = Debug information in EXE ) потом открыл в TurboDebugger. ну, потом в TD переключил на отображение ассемблерного кода (он "увидел" отладочную информацию и, по умолчанию, начал показывать чистый код на Pascal, пришлось принудительно включить отображение - главное меню - View - CPU) и всё... |
12.09.2010, 16:57 | #29 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Нифига не понял...Как эту опцию включить?
|
12.09.2010, 17:25 | #30 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
какую опцию?!
Идём в командную строку и пишем: Код:
получаем файлик C:\TP\PAS\hTest.EXE Запускаем TurboDebugger (конкретно запускаем TD.EXE) и загружаем туда наш файлик C:\TP\PAS\hTest.EXE Какой из пунктов Вам не совсем ясен? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой код клавиши?? | RAVAL)) | Общие вопросы Delphi | 10 | 28.10.2015 12:24 |
Узнать, на какой странице выполняется код | Winlook | PHP | 1 | 27.03.2010 04:44 |
какой будет код вычисления для D | Витас | Помощь студентам | 1 | 22.03.2010 15:37 |
Имеется ли у вас какой ассемблерный код? | rusell | Помощь студентам | 5 | 04.11.2009 16:11 |
Модернизировать код, сделать его быстрее | Rusl92 | Общие вопросы Delphi | 5 | 03.11.2008 19:23 |