Pamięć Operacyjna
Adres
0 LDX [I] DA=30
1 LDA [X] DA=30
2 UNB [S] DA= w tym polu musimy wpisać liczbę 256-A=B
Gdzie A= liczba o ile chcemy przenieść komórek do tyłu
Czyli na przykład: 256-3=253
Dlaczego tak, wynika to ze sposobu obliczania RAE w adresowaniu względnym
kolejne komorki wypelnione zależnie od tego jakie jest DA i do jakich danych odnoszą się obliczone adresy
przykladowo dla DA 30 będą wartości w:
30 Adresowanie indeksowe tu sie skieruje i potraktuje DA jako kolejny adres i przeskoczy do 50
50 dopiero tu jest dana uzyta do LDX zapisałem tam 10, można to zmienić ale wtedy i LDA skieruje się gdzie indziej bo ma adresowanie indeksowe
polegające na sumie DA i RI
40 Tu jest dana uzywana przez LDA, bo z indeksowego jest DA + IR czyli 30+10, chyba ze ktoś coś zmieni i tu zapisałem 19 mozna zmieniać bez myslenia
bo do niczego sięjuż tego nie wykorzysta w tym przypadku
Pamięć Mikroprogramu:
Adres
0 Test sprawdzający czy nie ma przerwania (a w naszym labsagu nigdy nie będzie :P) potem skaczemy na 48
8 Zawsze pozytywne (przeskakuje się tu po obliczeniu adresu przy wykonywaniu LDA)
9 Zawsze pozytywne (przeskakuje się tu po obliczeniu adresu przy wykonywaniu LDX)
16 Zawsze pozytywne (przeskakuje się tu po obliczeniu adresu przy wykonywaniu UNB)
48 Mikroprogram pobrania rozkazu
49 Dekodowanie rozkazu, podniesienie licznika rozkazu i obliczenie jego adresu efektywnego
50 Używane tylko jak występuje adresowanie pośrednie, współczynnik I oznaczony na 1 (w podglądzie rozkazu bedzie I=0001h) lub będziemy mieli dopczynienia z rozkazem rozszerzonym.
51 Ogólnie rzecz biorąc jest tu przeskok do komórki PM o adresie zapisanym w OP rozkazu (w przypadku tego programu wystarczy do RAPS wpisać 9, bo kod LDX jest równy 9
lub jak kto woli patrzeć w podgląd, tylko pamietajac ze podnieslismy licznik rozkazów wiec trzeba zajrzec do adresu 0 a nie 1 w PAO, bedzie OP=0009h)
Z grubsza adres 50 i 51 jest po to by danej w komórce pamięci nie traktować jako daną tylko potraktować jako adres danej, bo to adresowanie pośrednie,
czyli adres kom. w PAO zawiera nie dana a adres innej komórki w PAO gdzie dopiero znajdziemy daną
52 LDX - Pobranie danej z obliczonego adresu i załadowanie jej do RI
53 Koniec mikroprogramu i przeskakujemy do adresu 0 i znow zabawa z pobieraniem adresu i obliczeniem jego adresu efektywnego
54 LDX - Pobranie danej z obliczonego adresu i załadowanie jej do A
55 Koniec mikroprogramu i przeskakujemy do adresu 0 i znow zabawa z pobieraniem adresu i obliczeniem jego adresu efektywnego
56 UNB czyli skok o A miejsc w tył. Zastanówmy się teraz dlaczego w polu DA rozkazu tego wpisaliśmy 253 (czyli skok o 3 w tył). Otórz jest to bardzo proste.
Z definicji rozkazu wynika, że ładuje on wartość RAE do LR. Czyli w RAE musimy otrzymać wynik o 3 mniejszy od LR. Jak tego dokonać?
Zadajmy sobie pytanie jak obliczane jest RAE w przypadku adresacji względnej (bit S=1). W tym przypadku RAE=LR+DA. Czyli mamy w tym przypadku takie cóś: LR=2 i DA=253 (bo tyle jest przy rozkazie).
Czyli mamy 253+2=255. A w tym przypadku 2-3=-1 czyli po cofnięciu się o 3 z komórki 2 przechodzimy do komórki 255. Spójrzmy teraz na inny przykłąd, kiedy będziemy musieli się cofnąć np. 1 w tył.
Mamy wtedy pole DA=255, czyli przy obliczaniu RAE wyjdzie nam LR+DA=2+255=257? Nie zapominajmy, że w labsagu mamy komórki tylko od 0 do 255, także nie ma komórki 257.
Przy obliczaniu RAE zawsze stosujemy operację mod 256 do wyniku, czyli: 257 mod 256 = 1, czyli cofamy się o 1.
W pierwszym wypadku po zastosowaniu tej operacji wynik się nie zmienił bo 255 mod 256 = 255, także jeżeli nie wyjdzie wynik powyżej 255 to nie ma się co tym martwić.
Kolejnosc wykonywania (RAPS):
0 --> 48
48 - 51
51 --> 9
9 --> 52
52 - 53
53 --> 0
0 --> 48
48 - 49
49 --> 8
8 --> 54
54 - 55
55 --> 0
0 --> 48
48 - 49
49 --> 16
16 --> 56
56 - 57
Tak na podsumowanie, jest to troche skrótowo napisane, ale warto usiąść "pobawić" się labsagiem i ogarnac co jak przeskakuje i
oczywiscie zmienic odpowiednio pamiec dla odpowiedniego DA i moze komuś sie uda ogarnac UNB. Pobranie mikrorozkazu możecie obczaić z filmików labsaga z zadaniami do Miktusa.
By Tomasz Śniady i Franek :D
Wyszukiwarka
Podobne podstrony:
Lab Instrukcje sterujace w CLab 4 Instrukcja wykonania cwiczeniaLAB 2 Instrukcja wykonania cwiczeniaLab 1 Instrukcja wykonania cwiczenia Stal weglowa i stopowaBIOLOGIA lab instrukcje 2012TB (Lab) Instrukcja nr 3CIM Lab Instruction for KSPT 2013LAB 3 Instrukcja wykonania cwiczenia ulepszanie cieplne stalimte lab instrukcja zszywkaINSTRUKCJA 3 FIZYKA labLab ME MI1 instrukcja 12 ELab ME SPS instrukcja 10 11MSIB Instrukcja do Cw Lab krystalizacjaTM Lab Voicebox instrukcjaLAB POD ELEKTRONIKI RD instrukcja wzmacniacz operacyjnyLab MP Turbiny 1 i 2 Instrukcjainstrukcje lab przewodnosc(1)więcej podobnych podstron