Asembler
Z Wikipedii
Asemblery lub języki asemblerów (ang. assembly languages) to w informatyce rodzina języków programowania niskiego poziomu, w których zasadniczo jedno polecenie odpowiada jednemu rozkazowi procesora. Są to języki powstałe na bazie języka maszynowego poprzez zastąpienie liczb odpowiadających fragmentom rozkazów kodu maszynowego ich symbolicznymi odpowiednikami. Dzięki zamianie liczb na tzw. mnemoniki można pisać programy w miarę zrozumiałe dla człowieka, a jednocześnie bezpośrednio tłumaczone na kod maszynowy procesora, co pozwala zapewnić duży stopień kontroli programisty nad zachowaniem procesora.
Pierwszym asemblerem był skonstruowany przez Konrada Zuse - układ elektromechaniczny przygotowania taśmy perforowanej z programem dla maszyny Z4 (moduł Planfertigungsteil). Pozwalał na wprowadzanie i odczyt rozkazów i adresów w sposób zrozumiały dla człowieka.
Współcześnie praktycznie nie używa się asemblera do pisania całych programów dla komputerów osobistych. Jest on za to wciąż używany do pisania fragmentów wymagających bardzo wysokiej wydajności lub mających inne specjalne wymagania, np. dla oprogramowania mikrokontrolerów o niewielkich rozmiarach pamięci programu.
Rozszerzeniem Asemblera z zachowaniem wszystkich jego możliwości jest makroasembler.
Przykładowe polecenia dla procesora intel 8086 (oraz nowszych):
mov ax, $D625 ;wprowadź do rejestru ax liczbę szesnastkową 0D625 (54821 dziesiętnie) mov es, ax ;załaduj rejestr segmentowy "es" wartością znajdującą się w ax (0D625) mov al, 24 ;załaduj dolną (młodszą) połówkę rejestru ax (al) liczbą dziesiętną 24 mov ah, 0 ;wyzeruj górną (starszą) połówkę rejestru ax (ah) int 21h ;wywołaj przerwanie 21h
Asemblerem (ang. assembler) nazywa się również program tłumaczący zapis symboliczny na język maszynowy. Asembler jako język programowania pisany jest wielką literą ("język Asembler"), natomiast asembler jako program tłumaczący zbiór poleceń (napisanych w języku Asemblera) do postaci binarnej pisany jest małą literą.
[edytuj] Zobacz też
ABAP • Ada • AWK • Asembler • C • C++ • C# • COBOL • D • Forth • Fortran • Icon • Java • JavaScript • Lisp • Modula 2 • Oberon • Object Pascal • Objective-C • Pascal • Perl • PHP • PL/SQL • Python • REXX • Ruby • sh • Smalltalk • Snobol • SQL • Visual Basic • VB.NET
Akademickie
Comal • Eiffel • Haskell • Logo • MCPL • ML • Nemerle • Prolog • Scheme
Historyczne
ALGOL • APL • BASIC • Clipper • MUMPS • PLAN • PL/I • PL/M • SAS • Simula