assembler86 5

assembler86 5



190


7. Wybrane techniki programowania


Offsc!


Stos


SP, nowe BP


+ 2 +4 + + + 10 + 12 + 14 + 16 + 18 + 20 + 22 + 24 + 26


BP (poprzednia wartość)


BAJT


DI


SI


CX


BX


IP


CS


OFFSET WYNIK


LENGHT TABLICA


OFFSET TABLICA


SLOWO_2 (HIGH) SLOWOJ2 (IX)W)


SŁOWO


Stan rejestrów w chwili wywołania


Adres

powrotu


Parametry


Rys. 7.4. Zawartość stosu

7.2. Przerwania sprzętowe i programowe

Przerwanie (ang. intemipt) jest zewnętrznym lub wewnętrznym zdarzeniem, które przerywa realizowany program i przekazuje sterowanie do specjalnego podprogramu obsługi przerwania. Przerwania zewnętrzne umożliwiają optymalną obsługę urządzeń zewnętrznych takich jak: zegar, klawiatura, układy standardowych i niestandardowych wejść-wyjść itp., bez konieczności ciągłego, sekwencyjnego przeglądania (ang.polling)

Procesor 8086/8088


Rozkaz INI' n


Rozkaz INTO


Układ sterowania systemem przerwań


Błąd przy dzieleniu


Praca krokowa


INTR

8259A

IR0

IR1

IR7


Zewnętrzne

urządzenia

przerywające


Magistrala danych

Rys. 75. Źródła przerwań

powered by

7.2. Przerwania sprzętowe i programowe


Mi sfól

stanu odpowiednich wejść. Procesor może generować także przerwania wewnętrzne, np. po wystąpieniu błędu przy realizacji rozkazu dzielenia. Możliwe źródła przerwań dla mikroprocesorów 8086/8088 przedstawiono na rys. 7.5. Spotykane w systemach mikrokomputerowych struktury systemu przerwań (zewnętrznych) są opisane np. w literaturze poz. [8],[10],[12]. Struktury różnią się między sobą głównie sposobem identyfikowania źródła przerwania i wyszukania adresu obsługi oraz sposobem określania priorytetu obsługi. W mikroprocesorach 8086/8088 występują dwa zewnętrzne wejścia przerywające.

NMI (przerwanie niemaskowalne) mające najwyższy priorytet i zawsze przerywające program, wykorzystywane zazwyczaj do meldowania o różnych sytuacjach wymagających natychmiastowej obsługi, np. zanik napięcia zasilania lub błąd parzystości pamięci operacyjnej.

INTR (przerwanie maskowalne - zob. znacznik IF), do którego standardowo przyłącza się sterownik przerwań 8259A (ang. programmable interrupt controler ) obsługujący do ośmiu zewnętrznych źródeł przerwań z urządzeń. W przypadku większej liczby tych urządzeń, jest możliwe kaskadowe łączenie układu 8259A. Podstawowym zadaniem sterownika jest przyjęcie przerwania od urządzenia żądającego obsługi oraz zgodnie z zaprogramowanym priorytetem przekazanie go do procesora. Procesor po przyjęciu przerwania zapytuje sterownik przerwań o typ przerwania określający miejsce w wektorze przerwań, gdzie znajduje się adres procedury obsługi. Wektor przerwań

Pamięć

operacyjna

r*


00400H

003FCH


typ 255


Przerwania do

dyspozycji

użytkownika




4-bajiowy wektor

przerwania

SEGMENT

OFFSET

Adres procedury obsługi przerwania


Typy przerwań rezerwowane przez firmę Intel


L


00010H 0000CH 00008II 00004H 00000H


typ 4 (a)


typ 3 (b)


typ2(c)


typl(d)


typ 0 (e)


r


j


(a)    Rozkaz INTO

(b)    Przerwanie od punktu kontrolnego

(c)    Przerwanie NMI

(d)    Praca krokowa

(e)    Błąd przy dzieleniu


%s. 7.6. Wektor przerwań procesorów 8086/8080


Wyszukiwarka

Podobne podstrony:
assembler?86? 3 186 7. Wybrane techniki programowania Przykład • •• ASSUME SS:STOS MOV AX, STOS MO
assembler?86? 7 194 7. Wybrane techniki programowania WEKTOR_P 32 EQU STOS WORD PTR ES:32*4 SEGMEN
assembler?86? 2 184 7. Wybrane techniki programowania Z tworzeniem podprogramów zasadniczo są zwią
assembler?86? 6 192 7. Wybrane techniki programowania to wydzielony fragment pamięci operacyjnej (
assembler?86? 8 196 7. Wybrane techniki programowania TAB 3 TAB 4 Rys. 7.8. W przypadku, gdy tabli
assembler?86? 9 198 7. Wybrane techniki programowania CLD PI:    MOVSB ; modyfikacj
assembler?86? 4 188 7. Wybrane techniki programowania Opisany mechanizm jest bardzo skutecznym nar
Ewolucja technik programowania■Zestawienie cech wybranych języków programowania Language
assembler?86? 5 ■210    8. Uruchamianie programów asemblerowych o rozszerzeniu EXE
assembler?86? 5 230 8. Uruchamianie programów asemblerowych BREAKPOINT ENTRY MENU BR# Break
assembler?86? 5 250 9. Wykorzystanie procedur systemowych w programach użytkowych numer kanału. Je
img189 (9) r4.7 Frasprogramme mit Unterprogramm - Technik L 4.7.3 Programmier-iibung: Unter*
Metody numeryczne w inżynierii produkcji Ocena z prezentacji projektu Techniki programowania II Oce
Slajd8 (28) RPC - Zalety Znana i powszechnie wspierana technika programowania (przede wszystkim komu

więcej podobnych podstron