Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2010, 14:20   #11
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Тогда и "add" - это тоже команда сложения...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 12.09.2010, 14:20   #12
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Ваш ассемблерный код более медленный.
Можете посмотреть, код, который генерирует компилятор, при сложении.
Или, тупо попробовать свою функцию в цикле, скажем от 1 до 10 000 000 с замером времени и сравнить с простым сложением.
_Engine_ вне форума Ответить с цитированием
Старый 12.09.2010, 14:21   #13
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Можете посмотреть, код, который генерирует компилятор, при сложении.
А где его смотреть?
_-Re@l-_ вне форума Ответить с цитированием
Старый 12.09.2010, 14:21   #14
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Inc в принципе не просто сложение. Я бы сказал, что это "железная" функция.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 12.09.2010, 14:22   #15
DRAgon™
Форумчанин
 
Аватар для DRAgon™
 
Регистрация: 14.03.2010
Сообщений: 362
По умолчанию

Может скинуть книжку по паскалю? Там в одной главе про asm есть что-то
Чем больше моя слава, тем я больше тупею; и таково, несомненно, общее правило.(А.Эйнштейн)
DRAgon™ вне форума Ответить с цитированием
Старый 12.09.2010, 14:22   #16
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Я бы сказал, что это "железная" функция.
Железная в смысле самая наибыстрейшая функция?
Цитата:
ожет скинуть книжку по паскалю? Там в одной главе про asm есть что-то
Есть у меня книга такая. Автор- Фаронов.
_-Re@l-_ вне форума Ответить с цитированием
Старый 12.09.2010, 14:25   #17
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
А где его смотреть?
Ctrl+Alt+C
_Engine_ вне форума Ответить с цитированием
Старый 12.09.2010, 14:29   #18
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Не понял...не получилось...
Когда это нужно нажимать-то?
_-Re@l-_ вне форума Ответить с цитированием
Старый 12.09.2010, 14:29   #19
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

procedure TForm1.FormCreate(Sender: TObject);
var
t, z, q, t1 : Integer;

Function Add(Z,Q:Integer):Integer;
Var T:Integer;
Begin
asm
mov eax,0
add eax,z
add eax,q
mov t,eax
end;
Result:=T;
End;


begin
t1 := GetTickCount;
for q := 1 to 100000000 do
t := z+q;
ShowMessage('Время = ' + IntToStr(GetTickCount - t1));
ShowMessage(IntToStr(t));
t1 := GetTickCount;
for q := 1 to 100000000 do
t := Add(z, q);
ShowMessage('Время = ' + IntToStr(GetTickCount - t1));
ShowMessage(IntToStr(t));
end;
_Engine_ вне форума Ответить с цитированием
Старый 12.09.2010, 14:29   #20
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Не понял...не получилось...
Когда это нужно нажимать-то?
Ставишь бреакпоинт на нужной строке, запускаешь программу, потом Ctrl+Alt+C
_Engine_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой код клавиши?? 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