Autor : M. Rozycki
From macro@amg.gda.pl Thu Jan 14 13:53:03 1999
Path: news.man.poznan.pl!news.task.gda.pl!amedec!macro
From: "Maciej W. Rozycki" < macro@amg.gda.pl >
Newsgroups: pl.comp.os.linux
Subject: Re: Assembler SPRAC, Motorola, x86
Date: Wed, 13 Jan 1999 15:42:10 +0100
Organization: Medical University of Gdansk
Lines: 47
Message-ID: <Pine.OSF.4.05.9901131520310.26473-100000@amedec.amg.gda.pl>
References: <77cui6$lc0$1@sunflower.man.poznan.pl>
77hmar$4hp$10@sunrise.pg.gdaReply-To: "Maciej W. Rozycki" <macro@amg.gda.pl
>
NNTP-Posting-Host: amedec.amg.gda.pl
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Trace: korweta.task.gda.pl 916238531 10610 153.19.64.1 (13 Jan 1999 14:42:11 GX-Complaints-To: abuse@task.gda.pl
NNTP-Posting-Date: 13 Jan 1999 14:42:11 GMT
In-Reply-To: <77hnhf$2ll$1@sunflower.man.poznan.pl>
Xref: news.man.poznan.pl pl.comp.os.linux:45032
On 13 Jan 1999, Arkadiusz Danilecki wrote:
- Ha, ha. Myslisz ze mam w domu SPARCA albo motorole? A jesli mozna w
- gcc generowanie asma na okreslona maszyne, to skad bede wiedzial do
Oczywiscie, ze mozna -- skompiluj sobie asembler (binutils) i kompilator
skrosny. Nalezy dac opcje --target skryptowi `./configure'. Dodatkowo, w
przypadku gcc/egcs, potrzebne sa dodatkowe dzialania, ktore sa opisane w
`info gcc'.
Jesli chcesz tworzyc programy, ktore mozna bedzie uruchamiac pod jakims
systemem operacyjnym, to bedziesz tez potrzebowal odpowiednich bibliotek
(przede wszystkim libc) dla poszczegolnych platform -- mozna uzyc gotowych
binariow (np. RPM), ale trzeba je recznie zainstalowac w innych
katalogach. Jesli programy maja byc przeznaczone dla systemow
wbudowanych, to byc moze obejdziesz sie bez bibliotek.
- czego jest jakas instrukcja, albo jakis rejestr?
Na RISCach wiekszosc rejestrow jest "do wszystkiego". Np. MIPS R3000 ma
32 rejestry staloprzecinkowe, z ktorych wszystkie zachowuja sie tak samo
we wszystkich rozkazach, z dwoma wyjatkami -- r0 przy odczycie zawsze
zwraca zero, a zapis jest ignorowany oraz r31, w ktorym umieszczany jest
adres powrotu po wykonaniu rozkazow typu jal (odpowiednik call na ia32).
Wykorzystanie poszczegolnych rejestrow jest okreslone przez specyfikacje
MIPS ABI (Application Binary Interface) i do niej nalezy sie stosowac w
przypadku typowych zastosowan, ale ograniczen sprzetowych nie ma. Ta
specyfikacja mowi m.in., ktory z rejestrow ma sluzyc jako wskaznik stosu,
wskaznik ramy, wskaznik danych lokalnych, ktore maja byc zachowane przez
wolajacego, ktore przez wolanego, etc. Sprzet nie narzuca zadnych
ograniczen w tym wzgledzie.
- PS : asm pod x86 w gcc juz zaczalem lapac, chodzi mi o informacje o
- asmie na inne maszyny, opisy instrukcji rejestrow, architektury
- itp....
Musisz poszukac w sieci dokumentacji odnosnie poszczegolnych procesorow
np. u producentow. Tam tez pewnie znajdziesz specyfikacje ABI, ktore
umozliwia Ci tworzenie poprawnych zrodel (Linux jest zgodny z
poszczegolnymi ABI).
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +