Assembler - jak zacząć?

1

Chciałbym się nauczyć assemblera, tylko że jest wiele assemblerów, a do tego większość kursów jest przeznaczona na procesory 32 bitowe, a ja mam 64 bitowy. Od czego powinienem zacząć żeby się nie pogubić i czy zabieranie się za assemblera to dobry pomysł jeżeli nie jest się PRO w programowaniu w językach wysokiego poziomu?

3

Jak chcesz programowac niskopoziomowo, to po co CI znajomosc jezykow wysokopoziomowych? Najlepiej zaczac od x86 moim zdaniem, mozesz sobie na wirtualce zainstalowac i tam programowac. Materialy to na poczatek bym polecialy videocasty Gynvaela, a potem? Manuale Intela/AMD razem.

0

Asembler Sztuka Programowania by Randal Hyde dostępna na Helionie.
Tam jest omówiony HLA ale bardzo dobrze tak że wszystko zrozumiesz.

0

Widziałem kanał Gynvaela, bardzo fajnie się go ogląda. A z tą książką to chyba jeszcze się wstrzymam(90 zł piechotą nie chodzi).

Najlepiej zaczac od x86 moim zdaniem, mozesz sobie na wirtualce zainstalowac i tam programowac.

A mógłbyś rozwinąć o jaki program ci chodzi, bo nie jestem za bardzo zorientowany?

0

Same problemy, obejrzałem 2 filmiki Gynveala i chciałem napisać prosty program (ten z wypisywanie literki H), ale o uruchamia wszystko z jakiejś konsoli której ja nie mam, myślałem że chodzi o cmd.exe, ale nie mogę z niego przejść na partycje D(próbowałem cd D:), a to właśnie tam mam nasm i ten jego loader.
Zainstalowałem też Virtualbox, ale kiedy próbuje uruchomić skonfigurowany system z bootowaniem z sieci, to wywala błąd "Unable to load .."
Dlaczego posiadacze systemów 64 bitowych mają tak utrudnioną naukę assemblera?

2

@Jestem randomem To ty się może lepiej naucz używać komputera. W cmd.exe przejście do innej partycji robi się za pomocą samej jej nazwy z dwukropkiem...

d:

A jak tak ci brakuje innej konsoli to co za problem zainstalować Cygwina i Console2?

3

Dlaczego posiadacze systemów 64 bitowych mają tak utrudnioną naukę assemblera?

Nie mają, możesz bez problemu pisać i uruchamiać na swoim komputerze również programy 32bitowe.

0

Ja przygodę z programowaniem zaczynałem od tutriali Iczeliona (w oryginale), a potem doszedł jeszcze asembler 16-bit (niestety w systemach 64-bit tryb 16-bitowy jest chyba tylko emulowany). Z asemblerów najbardziej przypadł mi swego czasu (gdy jeszcze asembler był moim głównym językiem programowania) do gustu FASM (flatassembler.net - nota bene napisany przez doktoranta matematyki z UJotu).

Bardzo pouczające, choć może nie do końca legalne, jest disasemblowanie i ogólnie grzebanie w gotowych binarkach :] Ewentualnie można pościągać sobie jakieś crackmesy do zabawy, to nie powinno być w żaden sposób zakazane.

2

Dlaczego posiadacze systemów 64 bitowych mają tak utrudnioną naukę assemblera?

• w 64-bitowych Windowsach działają programy 64- i 32-bitowe.
• w 32-bitowych Windowsach działają programy 32- i 16-bitowe.
• w 16-bitowych Windowsach działają programy 16- i 32-bitowe ;-)

Trzeci punkt pomińmy, bo to prehistoria.

Dochodzi jeszcze jedna kwestia: system operacyjny dla jakiego napisany jest program.
16- i 32-bitowe programy mogą być zarówno "dosowe" jak i "windowsowe", czyli przeznaczone dla systemu MS-DOS albo Windows.
Dlatego pierwsze dwa punkty należy trochę rozwinąć:

• w 64-bitowych Windowsach działają 64-bitowe programy windowsowe i 32-bitowe programy windowsowe.
• w 32-bitowych Windowsach działają 32- i 16-bitowe programy windowsowe, oraz 32- i 16-bitowe programy DOS-owe.

Wniosek: na 64-bitowym systemie nie będą działać programy 16-bitowe, ani programy DOS-owe niezależnie od ich bitowości.

Każdy program z wymienionych rodzajów może być napisany w asemblerze. Użyty język programowania nie ma znaczenia, znaczenie ma charakter wynikowego programu wykonywalnego.

Jedyną możliwością uruchamiania 16-bitowych programów pod 64-bitowym systemem to emulator np. DOSBox albo maszyna wirtualna (VirtualBox, VMware, Virtual PC) z DOS-em albo 16 lub 32-bitową windą.

0

Ja od siebie dorzuce genialna wg mnie ksiazke pt.: "Programming from the ground up", ktora jest wprowadzeniem do programowania, w GNU Asemblerze. Ksiazka dostepna za darmo w Internecie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1