LISTA ROZKAZÓW
Rozkazem (instrukcją maszynową) nazywamy najprostszą operację, której wykonania programista może zażądać od procesora.
Sposób realizacji rozkazu nie jest istotny dla użytkownika systemu i z reguły nie jest znany. Został on po prostu wyznaczony przez projektanta mikroprocesora.
Tworzenie programów bezpośrednio przy pomocy rozkazów jest nazywane programowaniem w asemblerze. Jest to program do pisania programów efektywnych, ale jest dość żmudny i nie nadaje się do tworzenia bardziej rozbudowanych programów. W takich wypadkach używamy tzw. języków wysokiego poziomu (np. Pascal, C++ itp.)
Listą rozkazów nazywamy zestaw wszystkich instrukcji maszynowych (rozkazów), jakie potrafi wykonać dany procesor.
Rozkazy tworzące listę rozkazów możemy podzielić na grupy w zależności od ich przeznaczenia:
- rozkazy przesłań - są najczęściej wykonywanymi rozkazami. Nie zmieniają one wartości informacji, natomiast przenoszą ją z miejsca na miejsce.
- rozkazy arytmetyczne i logiczne - służą do przetwarzania informacji, czyli w wyniku ich wykonania jest ona zmieniana.
- rozkazy sterujące - rozkazy te pozwalają zmieniać kolejność wykonywania instrukcji programu np. rozkazy skoku, bezwarunkowe i warunkowe wywołania programów czy też instrukcje pętli.
- pozostałe instrukcje to instrukcje charakterystyczne dla danego typu procesora np. sterowanie pracą koprocesora, rozkazy testujące, operacje w trybie chronionym.
SPOSÓB PREZENTOWANIA ROZKAZU
Lista rozkazów procesora powinna zawierać następujące informacje:
Rozkazy przechowywane są w postaci binarnej, jednak dla większej czytelności stosuje się zapis symboliczny. Składa się on z mnemonika (nazwy rozkazu) i argumentu.
Mnemonik jest skrótem, który sugeruje rodzaj operacji wykonanej przez rozkaz. W większości są to skróty angielskich nazw.
Kod rozkazu:
- musi zawierać określenie rodzaju wykonywanej operacji, czyli tzw. kod operacji. Kod operacji musi być określony w początkowej części (pierwszym bajcie lub bajtach) kodu rozkazu w celu określenia, w jaki sposób ma przebiegać dalsza realizacja rozkazu przez mikroprocesor.
- może zawierać operandy i/lub adresy operandów wykonywanych operacji (dotyczy to także adresów wyników). Oczywiście w przypadku rozkazów wymagających argumentów informacja ta musi być zawarta w rozkazie.
- Opis działania rozkazu.
Symbolicznie działanie rozkazu możemy zapisać:
(PC) << (PC) + OFFSET
Słownie opis tego układu byłby następujący:
Wykonaj skok i pobierz kod rozkazu z komórki
pamięci o adresie równym etykieta.
- Format rozkazu.
W formacie rozkazu oprócz sposobu rozmieszczenia informacji w kodzie rozkazu zawarta jest również informacja o jego długości.
- Ustawiane flagi.
- Szybkość wykonywania rozkazu.
PRZYKŁADOWE ROZKAZY
Przykładowe rozkazy:
- MOV
Instrukcja MOV przesyła dane pomiędzy dwoma miejscami. Obydwa argumenty muszą być tego samego rozmiaru.
Składnia:
MOV mem, accum (prześlij zawartość akumulatora do komórki o podanym adresie)
Format:
gdzie: address low, address high - przemieszczenie względem początku segmentu
w=1 - operacja na słowach
w=0 - operacja na bajtach
- ADC
Instrukcja ADC sumuje dwie liczby umieszczone we wskazanych miejscach oraz bit CY (przeniesienia). Należy ona do grupy instrukcji arytmetycznych.
- LOOP etykieta
|