i funkcja Ackermana ?
Widzisz wersję archiwalną tematu "i funkcja Ackermana ?" z forum pl.comp.programming
Marcin - 31 Paź 2004, 03:54
Witam !
Czy widział ktoś może implementację tego algorytmu w Assemblerze ? Bardzo mi jest to potrzebne na wykład z Podstaw syst. op. Znalazłem w sumie tylko to, ale komentarze są po niemiecku i nie za bradzo rozumiem, nawet czy to jest to ??
http://www.fh-wedel.de/~bek/asm/uebws03/ueb06c.html
na dodatek potrzebowałbym to w jak najprostszej postaci, a tutaj jak widzę są jakieś zabezpieczenia stosu itd, a ja potrzebuje sam algorytm na czysto
Damian Sobota - 31 Paź 2004, 07:29
Witam ! Czy widział ktoś może implementację tego algorytmu w Assemblerze ? Bardzo mi jest to potrzebne na wykład z Podstaw syst. op. Znalazłem w sumie tylko to, ale komentarze są po niemiecku i nie za bradzo rozumiem, nawet czy to jest to ??
http://www.fh-wedel.de/~bek/asm/uebws03/ueb06c.html
na dodatek potrzebowałbym to w jak najprostszej postaci, a tutaj jak widzę są jakieś zabezpieczenia stosu itd, a ja potrzebuje sam algorytm na czysto
Google wypluło mi to:
http://www.nist.gov/dads/HTML/ackermann.html
oraz na jakies stronie znalazłem kod w C:
unsigned int Ack(unsigned int x, unsigned int y) { return (x0) ? Ack(x-1, (y0) ? Ack(x, y-1) : 1 ) : y+1;
}
Zapisanie tego w asmie nie powinno Ci sprawić problemów.
I w ogóle przeszukaj Google pod hasłem Ackerman('s) Function.
seeman...@o2.pl - 31 Paź 2004, 09:39
Google wypluło mi to: http://www.nist.gov/dads/HTML/ackermann.html
oraz na jakies stronie znalazłem kod w C:
unsigned int Ack(unsigned int x, unsigned int y) { return (x0) ? Ack(x-1, (y0) ? Ack(x, y-1) : 1 ) : y+1; }
Zapisanie tego w asmie nie powinno Ci sprawić problemów.
I w ogóle przeszukaj Google pod hasłem Ackerman('s) Function.
Inplementację w C znam dobrze, jednak o asmie nie mam pojęcia :( więc jest
Damian Sobota - 31 Paź 2004, 10:00
| Google wypluło mi to: | http://www.nist.gov/dads/HTML/ackermann.html
| oraz na jakies stronie znalazłem kod w C:
| unsigned int Ack(unsigned int x, unsigned int y) | { | return (x0) ? Ack(x-1, (y0) ? Ack(x, y-1) : 1 ) : y+1; | }
| Zapisanie tego w asmie nie powinno Ci sprawić problemów.
| I w ogóle przeszukaj Google pod hasłem Ackerman('s) Function.
Inplementację w C znam dobrze, jednak o asmie nie mam pojęcia :( więc jest
Wydaje mi się, że do implementacji tej funkcji w assemblerze nie potrzeba żadnej zaawansowanej wiedzy. Wystarczy tylko kilka instrukcji, np. call, mov, j** (warunki), ret, pop, push itp.
Znajdź jakiś kurs asma (w google jest tego pełno, również po polsku), a poradzisz sobie. To nie jest trudne.
Łukasz Nowicki - 31 Paź 2004, 11:02
Czy widział ktoś może implementację tego algorytmu w Assemblerze ?
Ackermann Proc Near C, m:dword, n:dword
Inc eAx
Dec eCx invoke Ackermann, eCx, 1
Dec Cx invoke Ackermann, m, eCx Mov eCx, m Dec eCx invoke Ackermann, eCx, eAx
Ret Ackermann Endp
Dla wywołania np. Ackermann(3,2), należy: invoke Ackermann, 3, 2
Piotr Wyderski - 31 Paź 2004, 11:14
Inplementację w C znam dobrze, jednak o asmie nie mam pojęcia :( więc jest
Tak, kompilator: gcc -S
Pozdrawiam Piotr Wyderski
Damian Sobota - 31 Paź 2004, 11:58
| Inplementację w C znam dobrze, jednak o asmie nie mam pojęcia :( więc jest
Tak, kompilator: gcc -S
To może od razu ostrzec kolegę, że to i tak nie będzie asm pod Intele?
Piotr Wyderski - 31 Paź 2004, 12:05
To może od razu ostrzec kolegę, że to i tak nie będzie asm pod Intele?
A pod co? :-)
Pozdrawiam Piotr Wyderski
Marcin - 31 Paź 2004, 15:27
| Czy widział ktoś może implementację tego algorytmu w Assemblerze ? Ackermann Proc Near C, m:dword, n:dword
Inc eAx
Dec eCx invoke Ackermann, eCx, 1
Dec Cx invoke Ackermann, m, eCx Mov eCx, m Dec eCx invoke Ackermann, eCx, eAx
Ret Ackermann Endp
Dla wywołania np. Ackermann(3,2), należy: invoke Ackermann, 3, 2
Dzięki :) A invoke to coś takiego jak Call ??
Damian Sobota - 1 Lis 2004, 07:23
| To może od razu ostrzec kolegę, że to i tak nie będzie asm pod Intele?
A pod co? :-)
Czepiasz się słówek :). Wiesz dobrze, że chodziło mi, że to nie jest asm w składni Intelowskiej, tylko AT&T.
Piotr Wyderski - 1 Lis 2004, 07:59
Wiesz dobrze, że chodziło mi
Nie, nie wiem dobrze, nie siedze w Twojej glowie.
że to nie jest asm w składni Intelowskiej, tylko AT&T.
No i co z tego, skoro ta ostatnia jest nawet lepsza? I -- jak zauwazyles -- jest to tylko skladnia; asembler tak czy inaczej bedzie na rodzine IA-32...
Pozdrawiam Piotr Wyderski
Damian Sobota - 1 Lis 2004, 11:17
A to już kwestia gustu. OT.
I -- jak zauwazyles -- jest to tylko skladnia; asembler tak czy inaczej bedzie na rodzine IA-32...
Dobrze. Ale mam do Ciebie, Piotrze, pytanie (bo widzę, że jesteś chyba najlepiej zorientowany w tych kwestiach na grupie). Mianowicie, czy znasz jakieś dobre opracowanie, powiedzmy swoiste wprowadzenie, które pozwoliłoby mi na zorientowanie się ogólnie w architekturach, assemblerach etc.? Tak żeby ta tematyka nie była już dla mnie jak za mgłą :). Nie musi być w języku polskim, może być po angielsku (dobrze by było, gdyby to była pozycja książkowa, chociaż strona internetowa też nie zaszkodzi).
Piotr Wyderski - 1 Lis 2004, 12:07
Mianowicie, czy znasz jakieś dobre opracowanie, powiedzmy swoiste wprowadzenie, które pozwoliłoby mi na zorientowanie się ogólnie w architekturach, assemblerach etc.?
To zalezy czego konkretnie bys sie chcial dowiedziec: jakie sie formalnie rozroznia architektury komputerow, jak sie projektuje strukture wewnetrzna danego ukladu w zaleznosci od jego przewidywanych zastosowan, jak sie analizuje istniejace systemy -- to wszystko sie miesci w Twoim pytaniu, a sa to zupelnie rozne rzeczy. Do kazdego z nich moge Ci podac troche literatury, ale takie ogolne wprowadzenie, to beda:
1. Biernat J., "Architektura komputerow" -- znajdziesz w niej sporo na temat budowy wewnetrznej maszyn cyfrowych opisane w dosc ogolny sposob.
2. Flores I., "Arytmetyka maszyn cyfrowych" -- ta ksiazka jest poswiecona implementacji jednostek arytmetyczno-logicznych, jest bardzo szczegolowa -- sztuczki, kruczki i inne sprytne chwyty.
3. Jest bardzo dobry, stary skrypt Politechniki Wroclawskiej, ale nie moge sobie teraz przypomniec jego tytulu, w czwartek rzuce okiem na polke.
Jesli interesuje Cie dosc szczegolowe wprowadzenie do rzeczywiscie istniejacych architektur rownoleglych, to polecam dwie ksiazki Horda:
1. "Parallel Supercomputing in SIMD Architectures", 2. "Parallel Supercomputing in MIMD Architectures".
Te ksiazki mi sie tak na szybko przyszly na mysl, jesli chodzi o dosc klasyczne architektury sprzetowe. Jesli interesuja Cie rowneiz mniej klasyczne (np. komputery macierzowe i wektorowe), albo zupelnie nieklasyczne (jak komputery przeplywowe, gdzie praktycznie nie istnieje cos takiego, jak program w klasycznym rozumieniu), to tez by sie cos ciekawego znalazlo.
BTW, asembler to rzecz wtorna wzgledem architektury; jesli bedziesz znal architekture, to sie szybko nauczysz jej jezyka wewnetrznego, w przeciwna strone to niestety nie dziala tak wydajnie. Dlatego skup sie raczej na budowie wewnatrznej danego ukladu, a asembler zawsze zostawiaj sobie na koniec.
Pozdrawiam Piotr Wyderski
C, zmienna w funkcji 'system()'
LNK2019 error: Typ Wyliczeniowy 'enum' dla funkcji klasy C++ pod VS2005
ES:BX w funkcji EXEC przerwania 21h (asembler x86)
C++, wskazniki do funkcji skladowej innej klasy, pytanie
mapa geologiczna sudetow
11 12 03 vilno cacib 400
rejestracja strony www
prasa w stargardzie szczecinskim
download;swords;and;sandals;2
co to poomocy
sitemap 9
ogromne czlonki
wwwdzwonki polifoniczne za 1
Katalog wypowiedzi z for internetowych ^^ Strona Główna
|
|