Zauważ stan bitu IF składany na stosie w trakcie wejścia w obsługę przerwania i stan IF w pP. podczas obsługi (przy pomocy sekwencji PUSHF, POPF).
8. programowa praca krokowa Począwszy od adresu 00400H wpisz program
Ustawienie bitu T
►
NOP
NOP
NOP
NOP
JMP
Bit T można ustawić tylko przy pomocy stosu (skorzystaj z podanych instrukcji). Jako wektor obsługi pracy krokowej podaj adres 00700 (format wartości wpisywanych pod lokacje 4, 5, 6, 7 wg punktu 6). Od adresu 700 napisz „pseudoprocedurę” obsługi pracy krokowej NOP, NOP, PUSHF, POPF, NOP, NOP, IRET. Używając konsoli prześledź działanie pP. Zauważ jakie wartości bitów I, T są we wnętrzu pP. w czasie procedur śledzenia (widać je podczas wykonania pary instrukcji PUSHF, POPF).
9. Przesłania blokowe.
Zrealizuj przesłanie blokowe dziesięciu bajtów danych z pamięci od adresu 00500h pod adres 00600h.
Przesłanie blokowe poprzedź przedrostkiem LOCK.
Po wpisaniu programu w trakcie krakowania przesłania spróbuj zrealizować żądanie oddania magistrali przez procesor konsoli sterującej (przycisk HOŁD konsoli).
Zgłoś przerwanie przyciskiem nr 14 na symulatorze przerwań a następnie po powrocie procesora z obsługi przerwania ponownie zażądaj zwolnienia magistrali. Zauważ iż tym razem procesor odda magistralę, dzieje się tak dlatego że podczas składania na stos adresu powrotu z przerwania procesor zapamiętuje tylko jeden przedrostek.
Rozkazy użyteczne przy realizacji programu.
kod bajt2 |
bajt3 | |
MOV AX,nm. |
B8 m. |
n |
MOV DS.,AX |
8ED8 | |
MOV ES,AX |
8E CO | |
MOV SI, n m. |
BE m. |
n |
MOV DI, n m. |
BF m. |
n |
REP |
F3 | |
LOCK |
F0 | |
MOVSB |
A4 |