|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.09.2010, 14:20 | #11 |
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
Тогда и "add" - это тоже команда сложения...
Перемешивай дело с бездельем и не сойдешь с ума...
|
12.09.2010, 14:20 | #12 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
Ваш ассемблерный код более медленный.
Можете посмотреть, код, который генерирует компилятор, при сложении. Или, тупо попробовать свою функцию в цикле, скажем от 1 до 10 000 000 с замером времени и сравнить с простым сложением. |
12.09.2010, 14:21 | #13 | |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
|
|
12.09.2010, 14:21 | #14 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Inc в принципе не просто сложение. Я бы сказал, что это "железная" функция.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
12.09.2010, 14:22 | #15 |
Форумчанин
Регистрация: 14.03.2010
Сообщений: 362
|
Может скинуть книжку по паскалю? Там в одной главе про asm есть что-то
Чем больше моя слава, тем я больше тупею; и таково, несомненно, общее правило.(А.Эйнштейн)
|
12.09.2010, 14:22 | #16 | ||
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
Цитата:
|
||
12.09.2010, 14:25 | #17 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
|
12.09.2010, 14:29 | #18 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Не понял...не получилось...
Когда это нужно нажимать-то? |
12.09.2010, 14:29 | #19 |
Форумчанин
Регистрация: 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; |
12.09.2010, 14:29 | #20 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой код клавиши?? | 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 |