img020

img020



FFFF3

10

starszy bajt danej wpisywanej do SP

FFFF4

FB

El (odblokowanie przerwań)

FFFF5

9C

PUSHF (zapisz na stosie rejestr statusowy)

FFFF6

9D

POPF (odczytaj ze stosu rejestr statusowy)

FFFF7

BA

MOV DX,#C84AH

FFFF8

4A

młodszy

FFFF9

C8

starszy bajt zapisywany do DX

FFFFA

EF

OUTW

FFFFB

EA

JMP (skok bezwzględny poza segment)

FFFFC

00

młodszy bajt przesunięcia

FFFFD

04

starszy bajt - ładowane do IP

FFFFE

00

młodszy bajt segmentu

FFFFF

00

starszy bajt - ładowane do CS

r


Pierwszym rozkazem jest załadowanie wskaźnika stosu SP. Jest to oczywiście przesunięcie , które należy odnieść do zawartości rejestru segmentowego stosu SS. Ponieważ po wyzerowaniu SS=0 więc pierwsze 16- bitowe słowo zapisywane będzie na stosie pod lokacjami OOFFE i ))FFF. Stos będzie rozbudowywał się od ostatniej lokacji wgłąb dysponowanego obszaru pamięci RAM. Procesor rozpoczyna pracę od załadowania SP, aby w przypadku akceptacji przerwania, zapisać 6- bajtową informację do lokacji obsadzonych przez pamięć RAM.

Przerwania maskowalne odblokowuje instrukcja El. Po jej wykonaniu zapali się dioda INTE na CPU. Przerwania niemaskowalne pP. przyjmuje zawsze. Oba przerwania są akceptowane po zakończeniu aktualnie wykonywanej instrukcji.

Dlatego też przerwanie NMI (niemaskowalne) zostanie zaakceptowane po rozkazie MOV SP (z przedrostkiem). Oczywiście dla prawidłowej obsługi przerwań konieczna jest obecność właściwych wektorów, w tabeli wektorów przerwań i procedur obsługi rozpoczynających się od adresów zawartych w tych wektorach.

Instrukcja PUSHF i POPF zostały umieszczone w celu zaobserwowania stanu początkowego obu bajtów rejestru statusowego. Rozkaz POPF nie jest do tego konieczny, ale został wstawiony w celu przywrócenia poprzedniej wartości rejestru SP.

W celu obserwacji operacji w 64kB przestrzeni we-wy umieszczono instrukcję OUT W (rozmiar słowa, port wyjścia adresowany przez rejestr DX uprzednio zapisany). Zapisuje ona stan początkowy obu bajtów akumulatora (AL. i AH) pod lokacjami (DX) i (DX+1). Mimo określenia 16- bitowego rozmiaru pP. 8086 przy operacjach we-wy operuje zawsze bajtami korzystając wyłącznie z bitów 0-7 szyny danych (dla 8088 nie ma innej możliwości).

Nastawione rozkazy kończy instrukcja skoku bezwarunkowego, pozasegmentowego. W przeciwieństwie do skoków wewnątrzsegmentowych (tzw. bliskich), gdzie stosuje się adresację względną w stosunku do bieżącego stanu IP (za KO 1 bądź 2 bajty przesunięcia w kodzie U2), rozkaz skoku dalekiego (poza segment) ustala bezpośrednio nowe wartości dla rejestrów IP oraz CS (4 bajty za KO).

Procesor akceptuje żądanie zawieszenia HOŁD po każdym cyklu magistrali (dokładniej po każdym cyklu magistrali pP. 8086 dlatego nie akceptuje HOŁD w trakcie przesyłania 16- bitowego słowa).

Jeśli chcemy „ochronić” dany rozkaz to umieszczamy przed nim przedrostek LOCK. Ma to znaczenie, gdy magistralę może przejąć inny pP., a dotyczy instrukcji


Wyszukiwarka

Podobne podstrony:
jaja2 Proces taki zachodzi w 1-3 jajach na 10 tysięcy. Należy używać jaj do 3 tygodni od zniesienia.
Untitled23 38 5. Działanie mikrokontrolera I Mniej znaczący bajt adresu jest wpisywany do zatrzasku
Untitled23 38 5. Działanie mikrokontrolera Mniej znaczący bajt adresu jest wpisywany do zatrzasku op
Gennep Obrz?dy przej?cia1 10. Wnioski l tak oto doszliśmy do końca krótkiego przeglądu ceremonii,
Iglaki6 Starsze egzemplarze mają tendencję do odkształcania się pod ciężarem śniegu,
Image144 stany: A = 1, B — C — ... / = 0. Następnie informacja jest wpisywana do rejestru. Po ośmiu
10 Czy oznakowano znakami bezpieczeństwa do ewakuacji oraz miejsca lokalizacji kluczy
img059 (31) wycnowawczego niejako podsumować, tak aby mieć obraz całości w odniesieniu do danej osob
KLUB MATEMATYKA (10) Dopasowywanie ^ Pokoloruj i dopasuj karty do serc tak, żeby iloczyn cyfr umiesz

więcej podobnych podstron