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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2009, 14:23   #11
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Ну это способ должен быть быстрым, если верить тесту
xor eax, eax
xchg [eax], eax

Последний раз редактировалось MalCer; 20.06.2009 в 14:25. Причина: глупость
MalCer вне форума Ответить с цитированием
Старый 20.06.2009, 14:38   #12
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Ну вот в том-то и вопрос - мы добавили еще одну команду в более медленный вариант, почему на некоторых процах он выполняется быстрее?
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 20.06.2009 в 15:06.
Goodwin98 вне форума Ответить с цитированием
Старый 20.06.2009, 16:45   #13
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Что-то я не пойму. Какой смысл сравнивать два куска кода, если они НЕ взаимозаменяемы ?
alexBlack вне форума Ответить с цитированием
Старый 20.06.2009, 17:02   #14
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
Что-то я не пойму. Какой смысл сравнивать два куска кода, если они НЕ взаимозаменяемы ?
Для общего развития.
К тому же почему они не взаимнозаменяемы? Это ТОТ ЖЕ самый код, только в него добавили мусорную команду (необязательно cmp).
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 20.06.2009, 19:08   #15
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от Goodwin98 Посмотреть сообщение
Для общего развития.
понимаю...
Цитата:
К тому же почему они не взаимнозаменяемы? Это ТОТ ЖЕ самый код, только в него добавили мусорную команду (необязательно cmp).
cmp меняет те-же флаги, что и sub(sbb). Значит, если использовать ее между двумя sbb потенциально возможно искажение результата.
alexBlack вне форума Ответить с цитированием
Старый 21.06.2009, 04:14   #16
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
cmp меняет те-же флаги, что и sub(sbb). Значит, если использовать ее между двумя sbb потенциально возможно искажение результата.
А какие флаги влияют на работу sbb, кроме флага переноса, который в данном примере будет постоянно выключен ?
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4

Последний раз редактировалось Goodwin98; 21.06.2009 в 04:30.
Goodwin98 вне форума Ответить с цитированием
Старый 21.06.2009, 08:41   #17
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Почему же постоянно. Это зависит от входных данных. Первая sbb вполне может его установить, а cmp сбросить. Вот, например:

Код:
   asm
     xor eax, eax
     mov edx, 2
     mov ecx, 1

     sbb eax,ecx
     //cmp ecx,1
     sbb edx,ecx

     mov C, edx   //=0
                       // с командой cmp =1
   end;
alexBlack вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Время выполнения макроса... nikolai_P Microsoft Office Excel 9 03.04.2013 00:59
Посчитать время выполнения процедуры SeЯgey Помощь студентам 1 24.05.2009 18:38
определить время выполнения процедуры? Bezdar Microsoft Office Excel 4 20.01.2009 13:57
Цикл, время выполнения шага KiDoki Общие вопросы Delphi 9 19.12.2008 22:37
Как замерить время выполнения программы Gracel Общие вопросы Delphi 5 12.06.2007 22:16