Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт авг 16, 2018 7:07 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 6 сообщений ] 
Автор Сообщение
 Заголовок сообщения: Re: Почему всё же eax?
СообщениеДобавлено: Вт фев 07, 2006 10:39 am 
Не в сети

Зарегистрирован: Ср май 25, 2005 8:52 am
Сообщения: 147
Johnny B писал(а):
Очень часто просто возникает желание его заюзать, т.к. по многим командам это даёт выигрыш, как по размеру(обычно команды с eax, в кач-ве параметра, на байт короче), так и по скорости(подозреваю).
Короче, приходится обходится другими регистрами.

Наверное, просто потому, что это самый "главный" регистр, его сделали показателем номера сисфункции. Это дает ускорение в ядре, а насчет приложений - для размеров исполняемых файлов Menuet это мелочь.

_________________
Vivat assembler et KolibriOS!


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 08, 2006 7:38 pm 
Johnny B
Вообще особенности логики данного финского мужика (ему более 40 лет от роду) мы уже не раз обсуждали на форуме, IRC, асе и в письмах. Так что думаю, возвращаться к этой теме не имеет смысла. Система работает, и перекраивать ее на 100% не имеет практического смысла.

Теперь насчет использования EAX.
Возможно, ты знаешь, но я напишу - есть команды работы со стеком.
PUSH, POP и остальные разновидности. Я уже не говорю о прямой работе с ESP.
Если подпрограмма достаточно большая и критичная по времени, то сохранение регистра в стеке на входе процедуры и восстановление на выходе, очень даже неплохое решение проблемы.
А иногда это единственно возможное решение.

willow
Ускорение в ядре это никакого не дает. С таким же успехом можно использовать область данных с параметрами, естественно хоть один регистр при этом придется использовать, для указания на месторасположения области данных.
Однократное применение регистра без всякого цикла погоду не делает.


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 08, 2006 10:30 pm 
На самом деле вызов fastcall не имеет смысла, все равно придется в большинстве случаяв сохранять в функции регистры через стек, на кой черт это делать если можно через стек передавать параметры? Прирост производительности можно проверить, он должен быть и мы можем его оценить!
2coremans Не придется ли вручную копировать стек? Вроде у нас нет теперь такого tss...


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 09, 2006 11:15 am 
Не в сети

Зарегистрирован: Ср май 25, 2005 8:52 am
Сообщения: 147
Как насчет этой статьи http://www.wasm.ru/article.php?article=1010002 . Тут большой простор для оптимизации и сокращению размера кода. Кое-что использую и сам.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 09, 2006 9:02 pm 
сейчас уже работает, лежал под принудительной перегрузкой.
"Преждевременная оптимизация корень всех зол"


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 09, 2006 10:32 pm 
Не в сети
Site Founder
Аватара пользователя

Зарегистрирован: Вс авг 08, 2004 8:55 am
Сообщения: 689
http://menuet.homelinux.net/Asm:Menuet_ ... timization :)


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 6 сообщений ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB