🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

3 total messages Started by Guest Thu, 29 Jan 1998 10:47
asm(...)
#1037
Author: Guest
Date: Thu, 29 Jan 1998 10:47
7 lines
658 bytes
W jednym z programow spotkalem sie z taka konstrukcja:

register struct foo *bar asm("%eax");

Wiem co oznacza deklaracja register to wiem, ale co daje w tym przypadku asm(...)

Marcin
Re: asm(...)
#1038
Author: Tomasz Wysocki
Date: Fri, 30 Jan 1998 23:36
31 lines
1719 bytes
Guest <guest@manjak.knm.org.pl> napisał(a) w artykule
<199801291047.LAA07967@manjak.knm.org.pl>...
> W jednym z programow spotkalem sie z taka konstrukcja:
> 
> register struct foo *bar asm("%eax");
> 
> Wiem co oznacza deklaracja register to wiem, ale co daje w tym przypadku
asm(...)

Jest to jedno z rozszerzen gcc ktore umozliwia nadanie identyfikatorowi
wystepujacemu w programie odpowiadajacego mu identyfikatora w kodzie
assemblerowym.

Mozna w ten sposob zmienic zachowanie kompilatora i funkcji func nadac
nazwe FUNC a nie _func. 
Przyklad:
 extern func () asm ("FUNC");

Dotyczy to zarowno identyfikatorow zmiennych jak i funkcji.
Dodatkowym rozszerzeniem tego mechanizmu jest zmuszenie kompilatora do
uzywania okreslonego rejestru dla danej zmiennej:
Wówczas:
     register struct foo *bar asm ("%eax");
nakazuje umieszczenie wskaznika bar nie na stosie (dla zmiennych lokalnych)
ani nie w segmencie danych (dla zmiennych globalnych) lecz w okreslonym
rejestrze.
W naszym przypadku bedzie to %eax. 

A jak chcemy optymalizowac recznie to i tak najlepszy jest assembler.

mailto:tawek@friko2.onet.pl
Re: asm(...)
#1039
Author: Krzysztof G. Baranowski
Date: Tue, 03 Feb 1998 11:11
14 lines
1321 bytes
While testing the million monkey theory, Guest wrote:
>W jednym z programow spotkalem sie z taka konstrukcja:
>register struct foo *bar asm("%eax");
>Wiem co oznacza deklaracja register to wiem, ale co daje w tym przypadku asm(...)
info gcc -> C Extensions -> Explicit Reg Vars

Tam jest wszystko opisane.

Pozdrawiam,
Kris
-- 
Krzysztof G. Baranowski - Prezes Klubu Nieszkodliwych Manjaków
"Smith & Wesson - The original point and click interface..."
http://www.knm.org.pl/              <prezes@manjak.knm.org.pl>
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads