Wykład
Temat:
Model programowy komputera I:
format rozkazów, lista rozkazów, tryby adresowania.
Zawartość wykładu:
1. Pojęcie modelu programowego komputera
2. Format słowa rozkazu wewnętrznego
3. Lista rozkazów wewnętrznych komputera
4. Tryby adresowania danych i rozkazów
5. Przykład formatu słowa rozkazowego współczesnego procesora
Pojęcie modelu programowego komputera
Model programowy komputera wyjaśnia sposób wykonywania programu w
komputerze.
Jest to zbiór informacji o komputerze, który jest potrzebny do zrozumienia działania
programów użytkowych w języku wewnętrznym komputera ( tym samym napisania
takich programów).
Model programowy komputera, który obejmuje sposób działania wszystkich rozkazów
wewnętrznych komputera (całą listę rozkazów) jest równoważny architekturze
komputera.
Model programowy komputera obejmuje model programowy procesora i model
współpracy z urządzeniami zewnętrznymi.
Model programowy komputera opiera się o znajomość podstawowego schematu
blokowego procesora oraz schematu podłączenia do procesora pamięci operacyjnej i
układów wejścia/wyjścia.
Znajomość podstawowego schematu blokowego procesora i komputera jest niezbędna
dla zrozumienia formatu i listy rozkazów wewnętrznych.
Uproszczony schemat blokowy mikroprocesora 8-bitowego
Zespół rejestrów Układ arytmetyczno logiczny (ALU) Sprzężenie z szynami
Układ sterowania
uniwersalnych zewnętrznymi
i specjalnych
Wewnętrzna szyna danych
Zewnętrzna
szyna
danych
Rejestr rozkazów
Selektor rejestru
(RR)
Akumulator (A)
Rejestr danych (B)
Rej. adresowy
Dekoder rozkazów
Rej. stanu proc.
Rej. wsk. proc.
Licznik rozk. (LR)
ALU
Taktowanie
Generator Układ
sygnałów następnika
Przerwania
sterujących
Zewnętrzna
Rejestr warunków
szyna
adresowa
Wewnętrzna szyna adresowa
Zewnętrzna
szyna
Wewnętrzna szyna sterowania
sterowania
danych (RBD)
Rejestr buforowy
adresu (RBA)
Rejestr buforowy
Na schemacie blokowym procesora (mikroprocesora) wyróżnione są cztery
podstawowe podzespoły:
" układ sterowania,
" zespół rejestrów uniwersalnych i specjalizowanych,
" układ arytmetyczno-logiczny
" układ sprzężenia z zewnętrzną szyną systemową.
Te podzespoły podłączone są do trzech szyn procesora: wewnętrznej szyny danych,
szyny adresowej i szyny sterującej.
Poprzez rejestr buforowy danych i rejestr buforowy adresów, szyna danych i szyna
adresowa wraz z szyną sterującą wychodzą na zewnątrz procesora by stworzyć tam
zewnętrzne szyny, do których podłącza się bloki pamięci operacyjnej i układy
wejścia/wyjścia.
Na schemacie występuje jeden wykonawczy układ arytmetyczno-logiczny z
rejestrem bitów warunków, wytwarzanych przez testy wyniku operacji arytmetycznej:
wynik zerowy, wynik z nadmiarem, wynik z przeniesieniem, wynik ujemny, wynik w
podwójnej precyzji, itp.
W bardziej rozbudowanych procesorach występuje więcej układów wykonawczych,
identycznych lub wyspecjalizowanych dla określonych operacji np. przesuwanie,
porównywanie, mnożenie, dzielenie, operacje zmienno-przecinkowe, operacje na
adresach itp., które są równolegle podłączone do szyn wewnętrznych.
Zespół rejestrów uniwersalnych zawiera pewną liczbę rejestrów wykorzystywanych
dla przechowywania danych.
Rejestry specjalne zawierają rejestry adresowe, rejestr wskaznika stosu i rejestr stanu.
Zespół rejestrów adresowych jest wykorzystywany w operacjach modyfikacji adresu
zawartego w rozkazie.
Rejestr rozkazów należący do układu sterowania przechowuje słowo rozkazu
wewnętrznego podczas wykonania.
Słowo rozkazu jest dekodowane przez dekoder rozkazu. W wyniku dekodowania,
kody binarne operacji zawarte w słowie rozkazu zostają zamienione na sygnały
logiczne, które podawane są do generatora sygnałów sterujących.
Generator sygnałów sterujących realizuje kombinacje logiczne tych sygnałów z
innymi sygnałami, takimi jak sygnały taktujące, wartości warunków i stany przerwań.
W wyniku tych kombinacji logicznej powstają sygnały sterujące, które są
rozprowadzane poprzez szynę sterującą do wszystkich elementów wykonawczych
komputera.
Format słowa rozkazu wewnętrznego
Budowę słowa rozkazu wewnętrznego i sposób dekodowania określa tzw . format
rozkazu (ang. instruction format).
Format rozkazu podaje długość słowa rozkazu, podział na pola bitowe oraz sposób
interpretacji (traktowania) poszczególnych pól.
Pola bitowe słowa rozkazowego służą do:
" zakodowania w nich operacji do wykonania w rozkazie
" zakodowania sposobu dekodowania rozkazu
" umieszczenia bitów danych.
Najprostszy format rozkazu składa się z dwu pól:
" pola części operacyjnej
" pola części adresowej.
Część Część
operacyjna adresowa
Bity określające Bity określające
operacje podzespołów adres podzespołów
mikroprocesora mikroprocesora
Najprostszy format rozkazu
Słowo rozkazowe w komputerze może mieć stałą lub zmienną długość.
Długość słowa rozkazowego zależy od jego części operacyjnej i może być określona
dopiero po jej zdekodowaniu.
7 0 7 0
Kod operacyjny Operand
0 7 0
7
Kod operacyjny Adres operandu
0 7 0 7 0
7
Kod operacyjny Adres operandu Adres operandu
Stała i zmienna długość słowa rozkazu.
Część operacyjna może składać się z jednego lub wielu pól.
W każdym polu zakodowano binarnie wykluczające się operacje, które mają być
wykonane w ramach danego rozkazu.
W polu części adresowej umieszczone być mogą adresy argumentów operacji z części
operacyjnej ( binarne numery komórek pamięci albo rejestrów) albo też tzw.
argumenty natychmiastowe czyli dane binarne, bezpośrednio użyteczne dla operacji
rozkazu.
Część adresowa
Część operacyjna
Pole A Pole B Pole C Ciąg bitów
Budowa słowa rozkazowego
Format rozkazu może być stały lub zmienny.
Przy stałym formacie, długość i podział na pola jest identyczny dla wszystkich
rozkazów wewnętrznych komputera.
Dekodowanie wszystkich pól słowa rozkazowego może odbywać się jednocześnie, tzn.
wszystkie bity są podane na wejścia wszystkich dekoderów pól.
Strukturę dekodera rozkazu stanowi wiele dekoderów pól pracujących równolegle
(każde wytwarza jeden sygnał aktywujący jakąś operację w komputerze).
Sposób dekodowania rozkazu o stałym formacie
Część adresowa
Część operacyjna
Pole A Pole B Pole C Ciąg bitów
DekC
DekA
DekB
Przy zmiennym formacie rozkazu, zarówno długość słowa rozkazu jak i sposób
podziału na pola są różne dla różnych rozkazów.
Przy zmiennym formacie rozkazu, dekodowanie rozkazu następuje stopniowo, jedna
faza dekodowania po drugiej.
W każdej fazie dekoduje się ustalone pola rozkazu. Wartości kodu w tych polach
decydują o tym jakie pola dekodować w następnej fazie, a więc na wejścia jakich
dekoderów dopuścić bity kolejne dekodowane w następnej fazie.
Przy stwierdzeniu odpowiednich kodów w odpowiednich polach, dekodowanie
bieżącego rozkazu ustaje i pobierany jest nowy rozkaz (poprzez odpowiednie sygnały
z generatora sygnałów sterujących).
Strukturę dekodera stanowi drzewo dekoderów z bramkami dopuszczającymi
odpowiednie bity do odpowiednich dekoderów.
Sposób dekodowania rozkazu o zmiennym formacie
Część operacyjna
Część adresowa
Faza I Faza II Faza III
Ciąg bitów
Faza I
Selektor Selektor
Selektor Selektor
Faza II Faza III
Faza II Faza III
Lista rozkazów komputera
W komputerze o modelu von Neumana, wykonanie wszelkich programów (nawet
napisanych w językach wysokiego poziomu) sprowadza się do wykonania ciągu
rozkazów wewnętrznych składających się na program.
Rozkazy wewnętrzne wyrażają prawie wszystkie operacje, które komputer może
wykonać. Nie dotyczy to operacji, które nie są programowalne przez użytkownika
komputera, tzn. jak to się mówi są zaszyte lub zrealizowane w sprzęcie (ang.
hardwired) , np. obsługa przerwań, obsługa pamięci podręcznej.
Zbiór wszystkich rozkazów wewnętrznych, w które wyposażono dany komputer ,
rozumiany jako zbiór operacji tych rozkazów, nazywamy listą rozkazów komputera
(ang. computer instruction list lub computer instruction set).
Typy rozkazów wewnętrznych komputera
Ze względu na rodzaj operacji wykonywanej w rozkazie wyróżniamy następujące typy
rozkazów wewnętrznych komputera:
" rozkazy arytmetyczno-logiczne
" rozkazy przesyłania danych
" rozkazy operacji na bitach
" rozkazy sterujące programem
" rozkazy systemowe.
W rozkazie wewnętrznym jest zawsze określona operacja, która ma być wykonana.
W zależności od konkretnego rozkazu mogą tam być też podane:
" adresy argumentów operacji,
" tryb adresowania czyli sposób wyliczenia finalnego adresu argumentów operacji na
podstawie adresu zawartego w rozkazie (możliwa jest modyfikacja adresu przy
użyciu informacji zapamiętanych w komputerze danych),
" dane natychmiastowe.
Rozkazy wewnętrzne mają postać bardzo niewygodną dla człowieka.
Aby ułatwić pisanie programów niskiego poziomu przez programistów wprowadzono
symboliczne języki programowania tzw. języki asemblerowe.
W językach asemblerowych program wyraża się w postaci instrukcji
odpowiadających rozkazom języka wewnętrznego zapisanych symbolicznie.
Rozkaz asemblera zawiera:
" symbol operacji wykonywanej przez rozkaz (skrót mnemonik),
" symbol trybu adresowania, wartości i symboli adresów używanych przez rozkaz
(etykiety)
" symbole i wartości danych (stałe i zmienne).
Wartości adresów i danych mogą być zapisywane w różnych zapisach: dziesiętnym,
szesnastkowym, ósemkowym lub binarnym. lecz zawsze z określeniem rodzaju
użytego zapisu (identyfikator).
Typy rozkazów wewnętrznych na przykładzie komputerów
personalnych typu IBM PC.
Rozkazy arytmetyczno-logiczne
Rozkazy arytmetyczno logiczne składają się trzech podstawowych grup rozkazów:
" rozkazy arytmetyczne,
" logiczne
" przesunięć.
Rozkazy arytmetyczne
ADD Obliczenie sumy argumentów (od ang. addition).
SUB Obliczenie różnicy argumentów (od ang. subtraction).
MUL Obliczanie iloczynu z podwójną lub pojedynczą dokładnością
(od ang. multiplication).
DIV Obliczenie ilorazu (od ang. division).
ABS Obliczenie wartości bezwzględnej (od ang. absolute value).
NEG Zmiana znaku liczby (od ang. negate sign).
INC Zwiększ o 1 (od ang. increment).
DEC Zmniejsz o 1 (od ang. decrement).
Rozkazy logiczne
AND Wykonanie operacji AND na argumentach.
OR Wykonanie operacji OR na argumentach.
EXOR Wykonanie operacji EXOR na argumentach.
NOT Wykonanie operacji NOT na argumentach.
Rozkazy przesunięć
SHL/SHR Przesunięcie logiczne w lewo / w prawo.
(od ang. shift left / shift right).
SAL/SAR Przesunięcie arytmetyczne w lewo / w prawo.
(od ang. shift arithmetical left / shift arithmetical right).
ROL/ROR Wykonanie rotacji w lewo / w prawo.
(od ang. rotate left / rotate right).
Rozkazy przesyłania danych
MOV Przesłanie danych między rejestrami lub między rejestrem a pamięcią
(od ang. move).
STR Przesłanie danych między pamięcią a rejestrem.
(od ang. store).
MOVSX Przesłanie bajtu, słowa, podwójnego słowa z rozszerzeniem znaku.
(od ang. move single/double).
LEA Aadowanie adresu efektywnego z pamięci do rejestru
(od ang. load efective address).
PUSH Umieszczenie danych z rejestru na stosie. (wepchnij)
PUSHA Umieszczenie zawartości wszystkich rejestrów na stosie
(wepchnij wszystkie).
IN, OUT Wejście, wyjście danych z urządzeń wejścia-wyjścia
Rozkazy operacji na bitach
BTS Testowanie i ustawienie bitu. Kopiowana jest bieżąca wartość bitu do
znacznika CF, a bit jest ustawiany na l. (od ang. bit test).
BSP Sprawdzanie bitów w przód. Sprawdzane jest słowo lub podwójne słowo w
poszukiwaniu bitu l a numer pierwszego bitu l jest zapisywany w rejestrze
(od ang. bit set prime).
CLR Wyzeruj zawartość rejestru. (od ang. clear).
SET Wstaw same jedynki do rejestru (ustaw na 1).
Rozkazy sterujące programem
JMP Skok bezwarunkowy (od ang. jump).
JE/JZ Skok warunkowy, jeśli równy (lub jeśli zero)
(od ang. jump if equal, jump if zero).
CALL Wywołanie podprogramu (wywołaj).
RET Powrót z podprogramu (od ang. return).
LOOPE/ LOOPZ Wykonanie pętli, jeśli równy /jeśli zero,
skok warunkowy z badaniem zawartości w rejestru ECX po
dekrementacji. (od ang. loop if equal, loop if zero).
INT / INTO Przerwanie programowane / przerwanie w razie nadmiaru.
(od ang. interrupt, interrupt if overflow).
SKIP Pominięcie wykonania następnego rozkazu rozkazu (przeskocz).
HALT Zatrzymaj wykonywanie programu
Rozkazy systemowe
LMSW Aadowanie słowa stanu procesora do rejestru stanu z pamięci lub rejestru,
przełącz do trybu syst. operacyjnego (od ang. load machine status word register).
SGDT Zapisanie wskaznika globalnej tablicy deskryptorów w pamięci
(od ang. store global descriptor table register).
LGDT Aadowanie wskaznika globalnej tablicy deskryptorów z pamięci
(od ang. load global descriptor table register).
LSL Aadowanie granicy segmentu do rejestru. (od ang. load segment limit).
LDS Aadowanie z pamięci rejestru wskaznika segmentu DS (od ang. load DS).
ENTER Utworzenie w stosie ramki dla parametrów procedury z języka wysokiego
poziomu
ESC Skierowanie programu do koprocesora numerycznego (od ang. escape).
WAIT Czekaj na zmianę stanu wejścia BUSY (czekaj)
Tryby adresowania danych i rozkazów
Bardzo często zawartość pola adresowego rozkazu nie jest bezpośrednio użyta jako
adres danej lub rozkazu lecz procesor wykonuje na nim tzw. operacje adresujące
(ang. addressing operations) , które przekształcają zawartość pola adresowego zanim
zostanie wykorzystana jako ostateczny adres argumentu rozkazu.
Rodzaj operacji, którą procesor wykonuje na zawartości pola adresowego rozkazu jest
nazywany trybem adresowania (ang. addressing mode).
Tryb adresowania dla rozkazu jest zwykle określony w jednym lub kilku polach
należących do pola kodu operacji rozkazu.
W niektórych przypadkach rozkazów, tryb adresowania wynika bezpośrednio z kodu
operacji rozkazu.
Podstawowe tryby adresowania
Adresowanie natychmiastowe
Kod operacji Operand
W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand (ang.
operand) czyli daną dla rozkazu. Długość operandu zależy od kodu operacji lub od
kodu operacji i dodatkowego pola sterującego w rozkazie.
Ten tryb adresowania stosujemy, gdy np. chcemy bezpośrednio z rozkazu ( bez
odwoływania się do pamięci) załadować do rejestru prostą daną bajt lub parę bajtów.
Adresowanie bezpośrednie (bezwzględne)
Pamięć
Kod operacji Adres
Operand
Adresowanie bezpośrednie jest najbardziej podstawowym trybem adresowania. W
tym trybie zawartość pola adresowego stanowi już finalny adres argumentu rozkazu w
pamięci operacyjnej i nie podlega przekształceniu.
Ten tryb stosujemy, gdy nie zależy nam na tym, aby nasz program był przesuwalny w
pamięci operacyjnej, lecz jest przeznaczony do wykonania przy zapisie w ściśle
określone miejsce w pamięci.
Adresowanie pośrednie
Pamięć
Kod operacji Adres pośredni
Adres
Operand
Przy adresowaniu pośrednim rozkaz zawiera adres komórki pamięci operacyjnej, w
której zawarty jest finalny adres operandu rozkazu.
W tym przypadku komórka pamięci wskazana przez adres rozkazu pośredniczy w
określeniu finalnego adresu.
Tryb pośredni stosujemy, gdy chcemy, aby finalny adres operandu rozkazu mógł być
dynamicznie wstawiony do komórki pośredniczącej w adresowaniu w czasie
wykonywania programu.
Może tak być, gdy ten adres zależy od jakichś testów na wyniku operacji
poprzedzającego rozkazu.
Adresowanie indeksowe
Kod operacji Adres bazowy
Pamięć
Rejestr indeksowy
Przesunięcie
Przesunięcie
Operand
Adresowanie indeksowe jest inaczej nazywane modyfikacją adresu przez
indeksowanie.
W tym trybie wykorzystuje się specjalne rejestry procesora tzw. rejestry indeksowe
(ang. index registers), które zawierają przesunięcie, który trzeba dodać do adresu
istniejącego w rozkazie aby wyliczyć adres finalny operandu.
Ten tryb adresowania pozwala przesunąć adres zawarty w rozkazie o wartość rejestru
indeksowego.
Używając tego trybu we wszystkich rozkazach programu, można osiągnąć możliwość
wykonania programu przy załadowaniu w dowolne miejsce pamięci. W tym celu
należy napisać program wstawiając do rozkazów programu adresy, które odpowiadają
umieszczeniu pierwszej instrukcji programu pod adresem zerowym w pamięci.
Następnie wiedząc, pod jakim finalnym adresem jest umieszczony pierwszy rozkaz
programu, umieszczamy ten adres w rejestrze indeksowym.
Dzięki operacji indeksowania rozkazów programu, wszystkie adresy operandów
zostaną przesunięte o tę sama wartość stad nazwa zawartości rejestru indeksowego :
przesunięcie.
Taka organizacja przesuwalności programu w pamięci nosi nazwę dynamicznej
relokacji programu w pamięci.
Rejestrów indeksowych w procesorze jest zwykle wiele, gdyż mogą one być
przydzielone różnym programom lub fragmentom programów, które są wykonywane
w tym samym okresie czasu.
Rejestr indeksowy do użycia, może być określony przy pomocy specjalnego pola
wspomagającego kodowanie trybu adresowania w innym polu rozkazu.
Adresowanie względne
Kod operacji
Przesunięcie
Licznik rozkazów
Następna instrukcja
Operand
Przesuni
ę
cie
Adresowanie względne polega na modyfikacji adresu zawartego w rozkazie przez
aktualną zawartość licznika rozkazów.
Ten tryb adresowania dostarcza innego sposobu osiągnięcia dynamicznej
przesuwalności adresów dostępu do danych, tj. gdy nie chcemy lub nie możemy znać
przesunięcia całości programu w stosunku do adresu zerowego.
Przy adresowaniu względnym, finalny adres danej jest wyliczany względem bieżącej
zawartości licznika rozkazów, a więc do rozkazu wstawiamy przesunięcie danej w
programie względem adresu następnego rozkazu, np. n komórek w przód lub w tył.
Musimy tylko zapewnić, aby dana została umieszczona w spodziewanym miejscu
pamięci, a ściślej w spodziewanej odległości od rozkazu, który z tej danej korzysta.
Można to osiągnąć przez zaplanowanie w jakiej odległości od danego rozkazu, będzie
umieszczony obszar danych programu.
Adresowanie pośrednie indeksowe
Pamięć
Kod operacji Adres pośredni
Adres bazowy
Rejestr indeksowy
Operand
Adresowanie pośrednie indeksowe zapewnia jednoczesną możliwość zastosowania w
programie adresowania pośredniego z modyfikacją adresu odczytanego z komórki
pośredniczącej poprzez zawartość rejestru indeksowego.
Umieszczony w rozkazie adres wskazuje na komórkę przechowującą adres danej,
który może być tam wstawiany dynamicznie jako wynik obliczeń programu. Do tego
adresu stosowane jest następnie indeksowanie poprzez zawartość rejestru
indeksowego.
Zawartość rejestru indeksowego może też być wstawiona dynamicznie w wyniku
działania innej części programu. W zależności od zawartości rejestru indeksowego
trafiamy zatem do innej komórki zawierającej operand.
Adresowanie pośrednie indeksowe pozwala na dwupoziomowe dynamiczne określanie
adresu danych w wyniku obliczeń wykonanych w poprzedzających fragmentach
programu, metodą wpisania pewnego adresu bazowego a następnie modyfikacji tego
adresu bazowego przez rejestr indeksowy.
Adresowanie indeksowe pośrednie
Pamięć
Kod operacji Adres bazowy
Rejestr indeksowy
Przesunięcie Adres
Operand
Adresowanie indeksowe pośrednie zapewnia najpierw modyfikację adresu zawartego
w rozkazie przez zawartość rejestru indeksowego a następnie tak otrzymany adres jest
stosowany do wskazania komórki pamięci, w której jest przechowywany finalny adres
operandu rozkazu.
Adresowanie indeksowe pośrednie pozwala na dynamiczne określanie adresów
danych w programie w czasie wykonania programu, przy zapewnieniu przesuwalności
w pamięci całego programu.
Dla dynamicznego określanie adresów danych w programie, program piszemy
począwszy od adresu zerowego w pamięci stosując adresowanie indeksowe do
wszystkich rozkazów z wyjątkiem tych, które działają na danych wybieranych
dynamicznie.
Te rozkazy adresujemy poprzez użycie adresowania pośredniego indeksowego,
umieszczając adres komórki pośredniczącej (względem adresu zero) w bieżącym
rozkazie.
Po załadowaniu programu do pamięci, wpisywana jest do rejestru indeksowego
wartość przesunięcia początku programu w stosunku do adresu zerowego ( robi to
program ładujący).
W trakcie wykonywania programu wszystkie adresy programu , łącznie z tymi, gdzie
zastosowano adresowanie pośrednie oraz tymi. które wpisują adres danej do komórki
pośredniczącej, zostaną zmodyfikowane.
Adresowanie rejestrowe
Mikroprocesor
Kod operacji Numer rejestru Zespół
rejestrów
Operand
Adresowanie rejestrowe stosuje się, gdy dana dla rozkazu jest przechowywana w
rejestrze. Część adresowa rejestru zawiera wtedy jedno lub więcej pól, w których
znajdują się identyfikatory rejestrów. Adresowanie rejestrowe jest często stosowane w
tym samym rozkazie razem z innymi trybami adresowania dotyczącymi pamięci
operacyjnej. Wówczas rozkaz dotyczy zarówno pamięci operacyjnej jak i rejestrów
procesora.
Adresowanie pośrednie rejestrowe
Kod operacji Numer rejestru
Pamięć
Mikroprocesor
Zespół
Operand
rejestrów
Adres
Adresowanie pośrednie rejestrowe polega na tym, że jako miejsce pobrania
finalnego adresu operandu rozkazu stosuje się rejestr procesora, którego identyfikator
umieszczony jest w polu adresowym rozkazu.
Przy pomocy trybu adresowania pośredniego rejestrowego można dynamicznie
określić finalny adres operandu poprzez odpowiednie załadowanie zawartości rejestru,
w zależności od przebiegu obliczeń w programie.
Przykład formatu słowa rozkazu wewnętrznego procesora Pentium
Bajty 1 lub 2 0 lub 1 0 lub 1 0, 1, 2 lub 4 0, 1, 2 lub 4
Sterowanie
Kod operacji MOD/RM Przesunięcie Natychmiastowy
modyfikacją
Modyfikacja Rejestr/Operacja Rejestr/Operacja Skala Rejestr indeksowy Rejestr bazowy
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
Pole Kod operacji o długości 1-2 bajtów określa operację podstawowa wykonywaną
w rozkazie. Pola MOD/RM oraz Sterowanie modyfikacją , o długości 0-1 bajt
każde, określają tryb i szczegóły modyfikacji adresu wykonywanej na adresach
argumentu (ów). Pole Przesunięcie zawiera przesunięcie adresu, o ile pola związane
z modyfikacją wskazują na użycie przesunięcia dla określenia adresu argumentu (ów).
Pole Natychmiastowy zawiera dane o długości 1-4 bajtów, o ile pola związane z
modyfikacją wskazują na użycie argumentu natychmiastowego.
Wyszukiwarka
Podobne podstrony:
biologia model PR (2)wos model PRmatematyka model PRfizyka model prlacina model PRModel pr II(TAK9)Model pr III(TAK10)fizyka model PRgeografia model PRcke 2014 15 model PR odpowiedzi?????polski model PRwięcej podobnych podstron