Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Jul 10, 2020 1:53 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Tue Feb 07, 2006 10:39 am 
Offline

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

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

_________________
Vivat assembler et KolibriOS!


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

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

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


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


Top
   
 Post subject:
PostPosted: Thu Feb 09, 2006 11:15 am 
Offline

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


Top
   
 Post subject:
PostPosted: Thu Feb 09, 2006 9:02 pm 
сейчас уже работает, лежал под принудительной перегрузкой.
"Преждевременная оптимизация корень всех зол"


Top
   
 Post subject:
PostPosted: Thu Feb 09, 2006 10:32 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 690
http://menuet.homelinux.net/Asm:Menuet_ ... timization :)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 6 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited