Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

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

Ответ
 
Опции темы
Старый 15.11.2017, 18:08   #1
MyName-Name-MyName
 
Регистрация: 15.11.2017
Сообщений: 7
Репутация: 10
По умолчанию ASM neg vs lea-not

Почему данный вариант

Код:

  mov esi, edx
  neg esi
  and esi, 15

Медленнее чем
Код:

  lea esi, [edx - 1]
  not esi
  and esi, 15

Порядком на 0.025000 если в цикле крутить 2000000000 раз
MyName-Name-MyName вне форума   Ответить с цитированием
Старый 16.11.2017, 12:16   #2
Mikl___
Профессионал
 
Регистрация: 11.01.2010
Сообщений: 1,114
Репутация: 896
По умолчанию

MyName-Name-MyName
для начала попробуй сравнить
Код:

lea esi,[edx]
neg esi
and esi,15

ну. наверное потому, что NOT это логическая команда, а NEG арифметическая (NEG ESI = MOV TEMP,0/SUB TEMP,ESI/MOV ESI,TEMP)
Mikl___ вне форума   Ответить с цитированием
Старый 16.11.2017, 12:37   #3
MyName-Name-MyName
 
Регистрация: 15.11.2017
Сообщений: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
для начала попробуй сравнить
Код:


Код:

lea esi,[edx]

Скорость стала равноценной!

Я сейчас просто ассемблер изучаю плавно переходя с c++ и смотрю какой asm код из кода c++ получается, по исходным кодам там не использовались скобки
MyName-Name-MyName вне форума   Ответить с цитированием
Старый 16.11.2017, 16:34   #4
Mikl___
Профессионал
 
Регистрация: 11.01.2010
Сообщений: 1,114
Репутация: 896
По умолчанию

MyName-Name-MyName,
тогда открой для себя блог Агнера Фога и немного переводов с этого блога на сайте wasm.in https://wasm.in/blogs/optimizacija-d...ium-chast-1.9/
Mikl___ вне форума   Ответить с цитированием
Старый 18.11.2017, 23:14   #5
7in
Евгений (Jin X)
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Адрес: Самара
Сообщений: 237
Репутация: 147
По умолчанию

MyName-Name-MyName, какой проц?

У меня на Intel Core i5-2500K оба варианта работают одинаково (в т.ч. с lea).
Тесты провожу в прикреплённой проге (Delphi).
Вложения
Тип файла: zip SpdTest.zip (4.3 Кб, 1 просмотров)
__________________
Делаю лабы на Asm: asmlabs.ru
Tell me would you kill to save a life? Tell me would you kill to prove you're right?
Crash, crash, burn, let it all burn, this hurricane's chasing us all underground...
7in вне форума   Ответить с цитированием
Старый 18.11.2017, 23:20   #6
7in
Евгений (Jin X)
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Адрес: Самара
Сообщений: 237
Репутация: 147
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
MyName-Name-MyName,
тогда открой для себя блог Агнера Фога и немного переводов с этого блога на сайте wasm.in https://wasm.in/blogs/optimizacija-d...ium-chast-1.9/
Я бы лучше почитал современные рукописи, т.к. со времён Pentium III много воды утекло (лет 15).
http://xk8.ru/agneroptasm
http://xk8.ru/agneroptc
http://xk8.ru/agneroptarch
Да, собственно: http://xk8.ru/agneropt
__________________
Делаю лабы на Asm: asmlabs.ru
Tell me would you kill to save a life? Tell me would you kill to prove you're right?
Crash, crash, burn, let it all burn, this hurricane's chasing us all underground...
7in вне форума   Ответить с цитированием
Старый 19.11.2017, 11:45   #7
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,165
Репутация: 1578
По умолчанию

Может проще взять мануал для проца и посмостреть времена?
waleri вне форума   Ответить с цитированием
Старый 20.11.2017, 18:55   #8
7in
Евгений (Jin X)
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Адрес: Самара
Сообщений: 237
Репутация: 147
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Может проще взять мануал для проца и посмостреть времена?
Это что за мануал такой?
Разве что... http://xk8.ru/agnerinstlat (опять Агнер)
__________________
Делаю лабы на Asm: asmlabs.ru
Tell me would you kill to save a life? Tell me would you kill to prove you're right?
Crash, crash, burn, let it all burn, this hurricane's chasing us all underground...
7in вне форума   Ответить с цитированием
Старый 20.11.2017, 20:45   #9
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,165
Репутация: 1578
По умолчанию

Цитата:
Сообщение от 7in Посмотреть сообщение
Это что за мануал такой
Такой, от Интела...
waleri вне форума   Ответить с цитированием
Старый 21.11.2017, 23:27   #10
7in
Евгений (Jin X)
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Адрес: Самара
Сообщений: 237
Репутация: 147
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Такой, от Интела...
Ссылочку можно?
__________________
Делаю лабы на Asm: asmlabs.ru
Tell me would you kill to save a life? Tell me would you kill to prove you're right?
Crash, crash, burn, let it all burn, this hurricane's chasing us all underground...
7in вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменить код asm x32 под asm x64 за вознаграждение Ecosasha Фриланс 2 28.11.2013 14:11
назначение функции LEA TotKtoNado Assembler 9 23.12.2011 04:49
lea goluzov Assembler 40 05.06.2011 16:25
wrong parameters lea dx, name Farrel Assembler 1 21.05.2011 23:18
LEA [FASM] m32 Assembler 10 03.10.2010 13:57




01:05.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru