Programowanie w asemblerze jest często kluczowym punktem wyjścia, gdy programiści uczą się swojego rzemiosła. Język asemblera (znany również jako ASM) jest językiem programowania dla komputerów i innych urządzeń i jest ogólnie uważany za wariant niskiego poziomu w porównaniu z bardziej zaawansowanymi językami, które oferują dodatkową funkcjonalność. Kiedy już napiszesz kod, asembler konwertuje go na kod maszynowy (jedynki i zera). Podczas gdy aplikacje do programowania w assemblerze stały się bardziej ograniczone, biorąc pod uwagę rosnącą złożoność procesorów, assembler pozostaje użyteczny do wielu celów, w tym pisania kodu dla samodzielnych plików wykonywalnych lub sterowników urządzeń.
Kroki
Część 1 z 3: Zapoznanie się z językiem asemblera
Krok 1. Przeczytaj o języku asemblera
Przed przystąpieniem do jakiejkolwiek próby pisania kodu, zawsze dobrze jest najpierw zrozumieć sam język. Istnieje wiele dostępnych zasobów, od podręczników po przewodniki online.
Krok 2. Poznaj podstawowe terminy
Na przykład chcesz wiedzieć, że IDE (zintegrowane środowisko programistyczne) zapewnia interfejs kodowania, który obsługuje takie rzeczy, jak edycja tekstu, debugowanie i kompilacja. Możesz także chcieć lepiej zrozumieć sposób, w jaki faktycznie działa asembler, na przykład fakt, że "rejestry" przechowują numery związane z kodem programu. Lepsze zrozumienie terminologii ułatwi poznanie samego procesu pisania kodu.
Krok 3. Zdecyduj, czy asemblery są dla Ciebie odpowiednie
Pamiętaj, że istnieje wiele języków programowania, w tym takie, które zapewniają znacznie większą funkcjonalność niż asembler. Jednak wciąż istnieje szereg zastosowań, w których asembler jest użyteczny - od tworzenia samodzielnych plików wykonywalnych dla oprogramowania układowego telefonu i systemów sterowania klimatyzacją po opracowywanie pewnych instrukcji specyficznych dla procesora.
Krok 4. Określ, którego asemblera chcesz użyć
Asemblery takie jak A86, NASM czy GNU generalnie wykonują mniej złożone funkcje i mogą być odpowiednim punktem wyjścia dla początkujących. Każdy asembler działa trochę inaczej, więc dalsze instrukcje będą działać przy założeniu, że używasz MASM (Microsoft Macro Assembler) - podstawowego asemblera, który współpracuje z systemami operacyjnymi Windows. Używa języka asemblera x86 i składni Intela.
Część 2 z 3: Pobieranie i instalowanie asemblera i środowiska IDE
Krok 1. Pobierz sam asembler
Możesz znaleźć najnowszą wersję MASM zawartą w Visual Studio Enterprise 2015 (kompleksowe IDE zawierające szereg narzędzi), ale bardziej podstawową oryginalną wersję (MASM 8.0). MASM 8.0 można pobrać bezpłatnie. Zauważ, że niektóre asemblery, takie jak Flat Assembler, mogą być używane w wielu systemach operacyjnych, w tym Windows, DOS i Linux. Inne asemblery, w tym Netwide Assembler (NASM) lub GNU Assembler (GAS) będą działać z systemami operacyjnymi Mac.
- Aby pobrać MASM 8.0, po prostu kliknij przycisk Pobierz u góry strony wymienionej w tym kroku.
- Wymagania systemowe będą się różnić w zależności od wybranego asemblera, ale MASM 8.0 wymaga systemu Windows 2000 z dodatkiem Service Pack 3, Windows Server 2003 lub Windows XP z dodatkiem Service Pack 2.
- Zainstalowanie MASM 8.0 będzie również wymagało wcześniejszego pobrania i zainstalowania programu Visual C++ 2005 Express Edition.
Krok 2. Pobierz IDE
Po prostu wyszukaj "Pobieranie WinAsm", aby znaleźć i zainstalować IDE WinAsm, które ogólnie działa dobrze z MASM. Inne IDE mogą być bardziej odpowiednie w zależności od używanego języka programowania. Jedną z popularnych alternatyw jest RadAsm.
Krok 3. Zainstaluj MASM 8.0
Możesz rozpocząć instalację od razu, klikając Uruchom po pobraniu programu. Możesz też zainstalować go później, w takim przypadku po prostu kliknij Zapisz. Po kliknięciu Uruchom, MASM 8.0 zostanie zainstalowany w katalogu „[Visual C++ Express]\bin” i oznaczony jako ml.exe.
Krok 4. Zainstaluj swoje IDE
Po pobraniu WinAsm po prostu rozpakuj pliki i skopiuj je do folderu „c:\program files\”. Możesz także umieścić skrót na pulpicie, aby uzyskać łatwiejszy dostęp.
Krok 5. Skonfiguruj swoje IDE
Najpierw uruchom program WinAsm. Jeśli umieściłeś skrót na pulpicie, po prostu kliknij go dwukrotnie. Zauważ, że ten proces będzie się różnił, jeśli używasz innego asemblera lub IDE.
Krok 6. Zintegruj WinAsm z MASM 8.0
Rozpocznij od kliknięcia na zakładkę WinAsm's Tools, wybierz Opcje z tej zakładki i na koniec wybierz zakładkę Pliki i Ścieżki. Następnie zmień pierwsze trzy wpisy (odnoszące się do ścieżek) na folder instalacyjny MASM. Po zakończeniu kliknij OK.
Po dostosowaniu informacji na karcie Pliki i ścieżki pierwsze trzy wpisy powinny wyglądać następująco. Ścieżka binarna powinna mieć postać C:\Masm32\Bin; ścieżka dołączania powinna mieć postać C:\Masm32\Include; a ścieżka biblioteki powinna mieć postać C:\Masm32\Bin
Część 3 z 3: Pisanie kodu
Krok 1. Zacznij pisać kod
Zacznij od uruchomienia WinAsm i kliknięcia zakładki Plik. Następnie wybierz Nowe projekty, a zobaczysz kilka opcji. Opcje te obejmują aplikację konsolową i standardowy plik EXE. Jeśli na przykład próbujesz utworzyć aplikację opartą na GUI (graficznym interfejsie użytkownika), wybierz tę drugą.
Krok 2. Użyj struktury programu do montażu
Typowa struktura może zawierać architekturę definiującą linię, sekcję danych (section.data) zawierającą zainicjalizowane dane lub stałe, sekcję bss (section.bss) deklarującą zmienne oraz sekcję tekstową (section.text), w której umieszczasz swoją rzeczywistą kod programu. Ta ostatnia sekcja zawsze zaczyna się od globalnej deklaracji _start. Każda sekwencja jest znana jako blok kodu.
Krok 3. Zrozum podstawowe polecenia
W języku asemblerowym istnieją trzy rodzaje instrukcji: instrukcje lub instrukcje wykonywalne (mówią procesorom, co mają robić za pomocą kodu operacji), dyrektywy asemblera lub pseudooperacje (opisują one proces asemblera dla asemblera) i makra (służą jako tekst- mechanizm substytucji).
Porady
- Pisanie efektywnego kodu w języku asemblerowym (lub jakimkolwiek innym) generalnie wymaga dość znacznej nauki. Szczególnie będziesz chciał nauczyć się wymaganej składni dla instrukcji asemblerowych i jak kompilować i linkować program asemblerowy.
- Jeśli napotkasz jakiekolwiek trudności podczas próby skonfigurowania konkretnego asemblera, rozsądnym rozwiązaniem może być dołączenie do forum, na którym można odpowiedzieć na konkretne pytania.
- Niektóre języki programowania mają możliwości mieszania w nich asemblacji, takie jak funkcja ASM ("") w C i C++. To dobry sposób na rozpoczęcie.
- Jeśli interesuje Cię IDE, które działa z nowszymi wersjami MASM, sprawdź Visual MASM na www.visualmasm.com/.