Asembler - pojęcie związane z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim pojęcia tego używa się zarówno dla niskopoziomowych języków programowania bazujących na bezpośrednich operacjach procesora (zwanych czasami językami asemblerów - ang. assembly languages), jak i dla programów tworzących kod maszynowy na podstawie kodu źródłowego w tym języku.
Asemblery lub języki asemblerów 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żliwe jest tworzenie programów, których kod źródłowy może być zrozumiały dla człowieka, a jednocześnie bezpośrednio tłumaczony 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.
Składnia języka asemblerowego różni się w zależności od używanego asemblera (programu tłumaczącego, patrz niżej) oraz implementacji sprzętowej - przede wszystkim od architektury procesora. Do najpopularniejszych odmian tego języka - ze względu na popularność architektury Intela znanej pod nazwą x86, zaliczyć można Asembler x86.
Współcześnie praktycznie nie używa się asemblera do pisania całych programów dla komputerów osobistych. Jest on wciąż używany jedynie 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 lub istotnych, niewielkich fragmentów systemów operacyjnych.
MC68000 – mikroprocesor CISC amerykańskiej firmy Motorola. Rozpoczął on udaną serię M68000 (znaną także jako 68k). Debiutował w roku 1979. Zasilany jest napięciem 5V. Nazwa procesora 68000 pochodzi od liczby tranzystorów jaką posiadał pierwszy model tego mikroprocesora.
Jest to 32-bitowy procesor (32-bitowy licznik programu, 32-bitowa przestrzeń adresowa i 32-bitowe rejestry), jednak z 16-bitową szyną danych. Poza tym procesor ma 24-bitową szynę adresową, wobec czego najstarszy bajt wszystkich rejestrów adresowych (w tym licznika programu) nie ma żadnego znaczenia.
Należy dodać, że szyna adresowa jest w rzeczywistości 23-bitowa, brakuje najmłodszego bitu. Z tego powodu mikroprocesor może generować („wystawiać”) tylko parzyste adresy. Magistrala danych jest wewnątrz CPU buforowana przez szesnastobitowy bufor, do którego wstępnie odczytywane są dane z pamięci. W przypadku żądania odczytu bajtu spod nieparzystego adresu procesor podejmuje przetwarzanie młodszej części tego bufora, starszej zaś w przeciwnym wypadku. Odczyt słowa spod nieparzystego adresu jest niemożliwy – wymagałoby to obecności dwóch buforów danych i rozłożenia całej operacji na kilka kroków, czego procesor 68000 nie potrafi. Dalsze modele procesorów z tej serii są pozbawione tej niedogodności.
Copyright © 2005 - 2010. Dawid "Spanner" Baruch. Wersja v.3.0.0