Asembler - Google

Asembler

Z Wikipedii

(Przekierowano z Assembler)
Skocz do: nawigacji, szukaj

Spis treści

Asembler – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera (ang. assembly language), popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.

[edytuj] Język asemblera

Języki asemblera (zwyczajowo asemblery) to rodzina języków programowania niskiego poziomu, których jedno polecenie odpowiada zasadniczo jednej instrukcji procesora. Języki te powstały na bazie języków maszynowych danego procesora poprzez zastąpienie kodów liczbowych instrukcji kodu maszynowego ich mnemonikami. Dzięki stosowaniu kilkuliterowych skrótów poleceń zrozumiałych dla człowieka pozwala to z jednej strony na tworzenie oprogramowania, z drugiej strony bezpośrednia odpowiedniość mnemoników oraz kodu maszynowy umożliwia zachowanie wysokiego stopnia kontroli programisty nad działaniem procesora. Składnia języka asemblera zależy od architektury procesora, ale i używanego asemblera, jednak zwykle autorzy asemblerów dla danego procesora trzymają się oznaczeń danych przez producenta.

Pierwotnie był to podstawowy język programowania procesorów zgodny z programowaniem imperatywnym, w mocno ograniczonych zakresie strukturalnym. Wraz z rozwojem mocy obliczeniowej procesorów i pojemności pamięci oraz pojawianiem się kolejnych jezyków interpretowanych i kompilowanych języki asemblerów straciły ma znaczeniu. Z tego powodu współcześnie nie korzysta się z nich do pisania całych programów na komputery osobiste. Jednak tam gdzie sprzęt nie pozwala na korzystanie z narzędzi wyższego poziomu, np. w przypadku programowania mikrokontrolerów, nadal znajdują one swoje zastosowanie. Korzysta się z także do pisania kluczowych fragmentów kodu wymagających najwyższej wydajności, również niewielkich fragmentów systemów operacyjnych.

[edytuj] Asembler

Asembler (ang. assemble – składać) to program dokonujący tłumaczenia języka asemblera na język maszynowy, czyli tzw. asemblacji. Jest to swoisty odpowiednik kompilacji dla języków wyższych poziomów. Program tworzony w innych językach programowania niż asembler jest zwykle kompilowany do języka maszynowego (wyniku pracy asemblera), a następnie zamieniany na kod binarny przez program asemblera.

Powtarzające się często schematy programistyczne oraz wstawiane fragmenty kodu doprowadziły do powstania tzw. makroasemblerów, które rozszerzają asemblery o obsługę makr przed właściwą asemblacją, co zbliża je nieco do pierwszych wersji języka C.

[edytuj] Przykład

Do najpopularniejszych odmian języka asemblera, ze względu na popularność architektury Intela znanej pod nazwą x86, zaliczyć można Asembler x86. Do najpopularniejszych asemblerów zalicza się NASM, TASM oraz MASM, jak również FASM i GASM.

[edytuj] Kod

Przykładowe polecenia (mnemoniki) w języku Asembler x86:

mov ax, 0D625h
mov es, ax       ; wprowadź do rejestru segmentowego ES wartość z AX wynoszącą D625 szesnastkowo (54821 dziesiętnie)
mov al, 24
mov ah, 0        ; załaduj do rejestru AX wartość 24 (wyzeruj AH – starszą połówkę rejestru AX i zapisz wartość 24 w młodszej AL)
int 21h          ; wywołaj przerwanie nr 33 (21 szesnastkowo)

[edytuj] Historia

Pierwszym asemblerem byÅ‚ skonstruowany przez Konrada Zuse w 1945 r. ukÅ‚ad elektromechaniczny przygotowania taÅ›my perforowanej z programem dla maszyny Z4 w postaci moduÅ‚u Planfertigungsteil, który umożliwiaÅ‚ wprowadzanie oraz odczyt rozkazów i adresów w sposób zrozumiaÅ‚y dla czÅ‚owieka[potrzebne ÅºródÅ‚o].

Pierwszym polskim asemblerem byÅ‚ SAS komputera XYZ z ok. 1958 r.[potrzebne ÅºródÅ‚o] Do pierwszych szerzej znanych w Polsce asemblerów należy PLAN, wykorzystywany w komputerach Odra, oraz MOTIS, stosowany w maszynach Mera 300.

[edytuj] Zobacz też

Wikibooks
Zobacz podręcznik na Wikibooks:
Asembler

[edytuj] Linki zewnętrzne


Starzak trzeci w Barcelonie
Marcin Starzak zajÄ…Å‚ trzeciÄ… lokatÄ™ w skoku w dal podczas mityngu lekkoatletycznego w Barcelonie.
LÅš: Serbia ostatnim finalistÄ…
Reprezentanci Serbii pokonali Francję 3:1 (25:20, 25:22, 12:25, 25:17) w meczu grupy A i to oni wywalczyli awans do wielkiego finału Ligi Światowej siatkarzy.
DPŚ: niesamowite emocje, "srebro" dla Polaków
Polscy żużlowcy nie obronili tytułu mistrzów świata. Podczas zawodów Drużynowego Pucharu Świata w Vojens złoty medal wywalczyli Duńczycy, a nasi reprezentanci uplasowali się na drugim miejscu. Na najniższym stopniu podium stanęli Szwedzi.
Piłkarskie ME U-19 kobiet: złoty medal dla Włoch
Reprezentacja Włoch zdobyła złoty medal piłkarskich mistrzostw Europy juniorek U-19 pokonując w finałowym meczu w Tours zespół Norwegii 1:0 (0:0).
ME koszykarek Dywizji B U-20: Polki wracajÄ… do elity
Młodzieżowa reprezentacja Polski koszykarek pokonała Słowację 60:41 w półfinale mistrzostw Europy U20 Dywizji B. Polki awansowały do finału i jednocześnie do Dywizji A, czyli do grona najlepszych zespołów w Europie.
Linki: Strona g³ówna