PN sciaga


Instrukcji koprocesora arytmetycznego: FABS, FADD/FADDP, FSUB/FSUBP, FMUL/FMULP, FDIV/FDIVP, FIDIV/FIMUL

Operacje arytmetyczne: ADC ax, 5; ADD ax, bx; SUB ax,bx; SBB ax,bx; MUL ax, 2; DIV ax; IDIV ax

Operacje logiczne: NOT al; OR ax, bx; XOR ax, bx; AND ax, bx; TEST edx,ebx

Operacje bitowe: SHR al,1; SHL al, 1; SAR al, 1; SAL al, 1; ROR al, 1; ROL al, 1

Instrukcje asemblerowe, które zmieniają wskaźnik stosu: -CALL odkłada na stosie adres powrotu i zmienia wskaźnik stosu;

-RET pobiera ze stosu adres powrotu i zmienia wskaźnik stosu;

-MOV (1 mov sp, 1023) pozwala dowolnie zmieniać wskaźnik stosu;

-INC (inc sp) zwiększa o jeden wskaźnik stosu;

-DEC (dec sp) zmniejsz o jeden wskaźnik stosu;

-ADD sp, 8 zmniejsza stos o 8 bajtów

-IRET to samo co ret tylko jeszcze wykonuje popf

-PUSH src; kładzie na stosie słowo z src (np. ax, si)
-PUSHA odkłada na stos rejestry w kolejności ax, cx, dx, bx, sp, bp, si, di
-PUSHF kładzie flagi na stosie
-POP desc ściąga słowo ze stosu i przepisuje wartość do desc (np. cx)
-POPA ściąga ze stosu rejestry ogólnego przeznaczenia: di, si, bp, sp, bx, dx, cx, ax
-POPF zdejmuje ze stosu słowo i kopiuje do dolnych rejestru

Zadania wykonywane przez moduł Start Up: Kod ten przygotowuje środowisko pracy, inicjalizuje stos potrzebnymi zmiennymi i ustawia wskaźnik stosu w taki sposób, żeby nie zniszczyć ważnych informacji które są na nim zapisane podczas wykonywania programu. 1) Ustawia obsługę dzielenia przez zero; 2) Ustala rozmiar zmiennych środowiskowych; 3) Zeruje niezainicjowane dane; 4) Przygotowuje argumenty dla funkcji main 5) Wywołuje funkcję main przekazując jej oczekiwane parametry

Zadania wykonywane przez moduł Exit:

- Generuje kod kończący program w MS-DOS.; - Pozwala na przekazanie kodu powrotu.; - Kod powrotu jest przekazywany przez AL.; - Przywrócenie oryginalnej funkcji obsługi przerwania dzielenia przez zero; - Zwrócenie wartości main do systemu; - Zamknięcie plików;

Funkcje stosu: - zabezpieczanie wartości rejestru(ów) przed zniszczeniem; -przechowywanie adresu powrotu; - przekazywanie argumentów do funkcji;

-przechowywanie zmiennych lokalnych;

- wymiana wartości między rejestrami;

Setvect(); i jej argumenty: Gdy się ustawiło własne funkcje obsługi przerwań, to trzeba je pod koniec programu usunąć- przywrócić standardowe. setvect() podaje się wtedy adresy oryginalnych funkcji obsługi przerwań wcześniej zapamiętany. setvect(numer_przerwania, oryginalna_funkcja_obsługu_przerwania);

Po co są przerwania programowe? - Realizują funkcje BIOS'u/firmware'u; - Realizują funkcje systemu; - Są wywoływane z kodu programu w celu wywołania jakiejś pożądanej przez programistę instrukcji przerwania.

Dyrektywy asemblera: Są informacją dla assemblera (programu generującego kod wykonywalny) w jaki sposób program ma być tłumaczony.

.MODEL - powoduje wybranie standardowego modelu pamięci używanego przez program.
ASSUME - przypisuje etykietę do wskazanego rejestru segmentowego
SEGMENT,ENDS - służą do deklaracji segmentów
GROUP- grupuje kilka segmentów
LABEL - tworzy etykiety przyporządkowując im aktualną wartość adresu

Różnice w treści asemblerowej funkcji obsługi przerwań sprzętowych od zwykłej funkcji:

Funkcje obsługi przerwań sprzętowych wykonują się gdy nadejdzie przerwanie sprzętowe często przerywając działanie programu użytkownika. - Nie przyjmują argumentów; - Nie zwracają argumentów; - Kończą się instrukcją IRET; - Przed rozpoczęciem pracy powinny zachować stan rejestrów na stosie, a po jej wykonaniu, zachowany stan przywrócić.

W jakim celu programista używa następujących instrukcji: - or ax, ax ustawia flagi, Z jeżeli w AX jest 0, S w zależności czy liczba jest dodatnia/ujemna;

- xor ax, ax zeruje zmienną ax;

- xchng ax,ax odpowiednik funkcji NOP(pustej); zamienia zawartość ax z ax ;

- cbw - konwertuje bajt z rejestru al na słowo w rejestrze ax;

- call wykonuje wywołanie funkcji;

- wait oczekiwanie, aż FPU skończy pracę;

- enter rezerwuje pamięć na stosie;

- leave Zwalnia pamięć zarezerwowaną na stosie dla zmiennych lokalnych utworzoną przez ostatnią instrukcję enter;

W jaki sposób funkcje języka C zwracają wartości typu: char do al. (1B); int do ax (2B); long do eax (4B); char* dla small ax (2B) a dla large eax (4B)

Co musi zrobić programista asemblera by wywołać przerwanie programowe.

- Trzeba uzupełnić argumenty przerwania w odpowiednich rejestrach; - INT <numer przerwania>, gdzie numer przerwania to liczba 0255 np. INT 10h
Cechy programu z rozszerzeniem .COM: - składa się tylko z 1 segmentu; - rozmiar max. 64kb (kod+dane); - Wykonywany od instrukcji 100H; - cały kod bezpośrednio ładowany do pamięci operacyjnej

Makro: to stała symboliczna przydzielana pewnemu ciągowi instrukcji. Po zdefiniowaniu makro może być użyte dowolną liczbę razy, a jedno wywołanie powoduje wstawienie do kodu programu instrukcji zawartych w makrze.

Instrukcji koprocesora arytmetycznego: FABS, FADD/FADDP, FSUB/FSUBP, FMUL/FMULP, FDIV/FDIVP, FIDIV/FIMUL

Operacje arytmetyczne: ADC ax, 5; ADD ax, bx; SUB ax,bx; SBB ax,bx; MUL ax, 2; DIV ax; IDIV ax

Operacje logiczne: NOT al; OR ax, bx; XOR ax, bx; AND ax, bx; TEST edx,ebx

Operacje bitowe: SHR al,1; SHL al, 1; SAR al, 1; SAL al, 1; ROR al, 1; ROL al, 1

Instrukcje asemblerowe, które zmieniają wskaźnik stosu: -CALL odkłada na stosie adres powrotu i zmienia wskaźnik stosu;

-RET pobiera ze stosu adres powrotu i zmienia wskaźnik stosu;

-MOV (1 mov sp, 1023) pozwala dowolnie zmieniać wskaźnik stosu;

-INC (inc sp) zwiększa o jeden wskaźnik stosu;

-DEC (dec sp) zmniejsz o jeden wskaźnik stosu;

-ADD sp, 8 zmniejsza stos o 8 bajtów

-IRET to samo co ret tylko jeszcze wykonuje popf

-PUSH src; kładzie na stosie słowo z src (np. ax, si)
-PUSHA odkłada na stos rejestry w kolejności ax, cx, dx, bx, sp, bp, si, di
-PUSHF kładzie flagi na stosie
-POP desc ściąga słowo ze stosu i przepisuje wartość do desc (np. cx)
-POPA ściąga ze stosu rejestry ogólnego przeznaczenia: di, si, bp, sp, bx, dx, cx, ax
-POPF zdejmuje ze stosu słowo i kopiuje do dolnych rejestru

Zadania wykonywane przez moduł Start Up: Kod ten przygotowuje środowisko pracy, inicjalizuje stos potrzebnymi zmiennymi i ustawia wskaźnik stosu w taki sposób, żeby nie zniszczyć ważnych informacji które są na nim zapisane podczas wykonywania programu. 1) Ustawia obsługę dzielenia przez zero; 2) Ustala rozmiar zmiennych środowiskowych; 3) Zeruje niezainicjowane dane; 4) Przygotowuje argumenty dla funkcji main 5) Wywołuje funkcję main przekazując jej oczekiwane parametry

Zadania wykonywane przez moduł Exit:

- Generuje kod kończący program w MS-DOS.; - Pozwala na przekazanie kodu powrotu.; - Kod powrotu jest przekazywany przez AL.; - Przywrócenie oryginalnej funkcji obsługi przerwania dzielenia przez zero; - Zwrócenie wartości main do systemu; - Zamknięcie plików;

Funkcje stosu: - zabezpieczanie wartości rejestru(ów) przed zniszczeniem; -przechowywanie adresu powrotu; - przekazywanie argumentów do funkcji;

-przechowywanie zmiennych lokalnych;

- wymiana wartości między rejestrami;

Setvect(); i jej argumenty: Gdy się ustawiło własne funkcje obsługi przerwań, to trzeba je pod koniec programu usunąć- przywrócić standardowe. setvect() podaje się wtedy adresy oryginalnych funkcji obsługi przerwań wcześniej zapamiętany. setvect(numer_przerwania, oryginalna_funkcja_obsługu_przerwania);

Po co są przerwania programowe? - Realizują funkcje BIOS'u/firmware'u; - Realizują funkcje systemu; - Są wywoływane z kodu programu w celu wywołania jakiejś pożądanej przez programistę instrukcji przerwania.

Dyrektywy asemblera: Są informacją dla assemblera (programu generującego kod wykonywalny) w jaki sposób program ma być tłumaczony.

.MODEL - powoduje wybranie standardowego modelu pamięci używanego przez program.
ASSUME - przypisuje etykietę do wskazanego rejestru segmentowego
SEGMENT,ENDS - służą do deklaracji segmentów
GROUP- grupuje kilka segmentów
LABEL - tworzy etykiety przyporządkowując im aktualną wartość adresu

Różnice w treści asemblerowej funkcji obsługi przerwań sprzętowych od zwykłej funkcji:

Funkcje obsługi przerwań sprzętowych wykonują się gdy nadejdzie przerwanie sprzętowe często przerywając działanie programu użytkownika. - Nie przyjmują argumentów; - Nie zwracają argumentów; - Kończą się instrukcją IRET; - Przed rozpoczęciem pracy powinny zachować stan rejestrów na stosie, a po jej wykonaniu, zachowany stan przywrócić.

W jakim celu programista używa następujących instrukcji: - or ax, ax ustawia flagi, Z jeżeli w AX jest 0, S w zależności czy liczba jest dodatnia/ujemna;

- xor ax, ax zeruje zmienną ax;

- xchng ax,ax odpowiednik funkcji NOP(pustej); zamienia zawartość ax z ax ;

- cbw - konwertuje bajt z rejestru al na słowo w rejestrze ax;

- call wykonuje wywołanie funkcji;

- wait oczekiwanie, aż FPU skończy pracę;

- enter rezerwuje pamięć na stosie;

- leave Zwalnia pamięć zarezerwowaną na stosie dla zmiennych lokalnych utworzoną przez ostatnią instrukcję enter;

W jaki sposób funkcje języka C zwracają wartości typu: char do al. (1B); int do ax (2B); long do eax (4B); char* dla small ax (2B) a dla large eax (4B)

Co musi zrobić programista asemblera by wywołać przerwanie programowe.

- Trzeba uzupełnić argumenty przerwania w odpowiednich rejestrach; - INT <numer przerwania>, gdzie numer przerwania to liczba 0255 np. INT 10h
Cechy programu z rozszerzeniem .COM: - składa się tylko z 1 segmentu; - rozmiar max. 64kb (kod+dane); - Wykonywany od instrukcji 100H; - cały kod bezpośrednio ładowany do pamięci operacyjnej

Makro: to stała symboliczna przydzielana pewnemu ciągowi instrukcji. Po zdefiniowaniu makro może być użyte dowolną liczbę razy, a jedno wywołanie powoduje wstawienie do kodu programu instrukcji zawartych w makrze.

Instrukcji koprocesora arytmetycznego: FABS, FADD/FADDP, FSUB/FSUBP, FMUL/FMULP, FDIV/FDIVP, FIDIV/FIMUL

Operacje arytmetyczne: ADC ax, 5; ADD ax, bx; SUB ax,bx; SBB ax,bx; MUL ax, 2; DIV ax; IDIV ax

Operacje logiczne: NOT al; OR ax, bx; XOR ax, bx; AND ax, bx; TEST edx,ebx

Operacje bitowe: SHR al,1; SHL al, 1; SAR al, 1; SAL al, 1; ROR al, 1; ROL al, 1

Instrukcje asemblerowe, które zmieniają wskaźnik stosu: -CALL odkłada na stosie adres powrotu i zmienia wskaźnik stosu;

-RET pobiera ze stosu adres powrotu i zmienia wskaźnik stosu;

-MOV (1 mov sp, 1023) pozwala dowolnie zmieniać wskaźnik stosu;

-INC (inc sp) zwiększa o jeden wskaźnik stosu;

-DEC (dec sp) zmniejsz o jeden wskaźnik stosu;

-ADD sp, 8 zmniejsza stos o 8 bajtów

-IRET to samo co ret tylko jeszcze wykonuje popf

-PUSH src; kładzie na stosie słowo z src (np. ax, si)
-PUSHA odkłada na stos rejestry w kolejności ax, cx, dx, bx, sp, bp, si, di
-PUSHF kładzie flagi na stosie
-POP desc ściąga słowo ze stosu i przepisuje wartość do desc (np. cx)
-POPA ściąga ze stosu rejestry ogólnego przeznaczenia: di, si, bp, sp, bx, dx, cx, ax
-POPF zdejmuje ze stosu słowo i kopiuje do dolnych rejestru

Zadania wykonywane przez moduł Start Up: Kod ten przygotowuje środowisko pracy, inicjalizuje stos potrzebnymi zmiennymi i ustawia wskaźnik stosu w taki sposób, żeby nie zniszczyć ważnych informacji które są na nim zapisane podczas wykonywania programu. 1) Ustawia obsługę dzielenia przez zero; 2) Ustala rozmiar zmiennych środowiskowych; 3) Zeruje niezainicjowane dane; 4) Przygotowuje argumenty dla funkcji main 5) Wywołuje funkcję main przekazując jej oczekiwane parametry

Zadania wykonywane przez moduł Exit:

- Generuje kod kończący program w MS-DOS.; - Pozwala na przekazanie kodu powrotu.; - Kod powrotu jest przekazywany przez AL.; - Przywrócenie oryginalnej funkcji obsługi przerwania dzielenia przez zero; - Zwrócenie wartości main do systemu; - Zamknięcie plików;

Funkcje stosu: - zabezpieczanie wartości rejestru(ów) przed zniszczeniem; -przechowywanie adresu powrotu; - przekazywanie argumentów do funkcji;

-przechowywanie zmiennych lokalnych;

- wymiana wartości między rejestrami;

Setvect(); i jej argumenty: Gdy się ustawiło własne funkcje obsługi przerwań, to trzeba je pod koniec programu usunąć- przywrócić standardowe. setvect() podaje się wtedy adresy oryginalnych funkcji obsługi przerwań wcześniej zapamiętany. setvect(numer_przerwania, oryginalna_funkcja_obsługu_przerwania);

Po co są przerwania programowe? - Realizują funkcje BIOS'u/firmware'u; - Realizują funkcje systemu; - Są wywoływane z kodu programu w celu wywołania jakiejś pożądanej przez programistę instrukcji przerwania.

Dyrektywy asemblera: Są informacją dla assemblera (programu generującego kod wykonywalny) w jaki sposób program ma być tłumaczony.

.MODEL - powoduje wybranie standardowego modelu pamięci używanego przez program.
ASSUME - przypisuje etykietę do wskazanego rejestru segmentowego
SEGMENT,ENDS - służą do deklaracji segmentów
GROUP- grupuje kilka segmentów
LABEL - tworzy etykiety przyporządkowując im aktualną wartość adresu

Różnice w treści asemblerowej funkcji obsługi przerwań sprzętowych od zwykłej funkcji:

Funkcje obsługi przerwań sprzętowych wykonują się gdy nadejdzie przerwanie sprzętowe często przerywając działanie programu użytkownika. - Nie przyjmują argumentów; - Nie zwracają argumentów; - Kończą się instrukcją IRET; - Przed rozpoczęciem pracy powinny zachować stan rejestrów na stosie, a po jej wykonaniu, zachowany stan przywrócić.

W jakim celu programista używa następujących instrukcji: - or ax, ax ustawia flagi, Z jeżeli w AX jest 0, S w zależności czy liczba jest dodatnia/ujemna;

- xor ax, ax zeruje zmienną ax;

- xchng ax,ax odpowiednik funkcji NOP(pustej); zamienia zawartość ax z ax ;

- cbw - konwertuje bajt z rejestru al na słowo w rejestrze ax;

- call wykonuje wywołanie funkcji;

- wait oczekiwanie, aż FPU skończy pracę;

- enter rezerwuje pamięć na stosie;

- leave Zwalnia pamięć zarezerwowaną na stosie dla zmiennych lokalnych utworzoną przez ostatnią instrukcję enter;

W jaki sposób funkcje języka C zwracają wartości typu: char do al. (1B); int do ax (2B); long do eax (4B); char* dla small ax (2B) a dla large eax (4B)

Co musi zrobić programista asemblera by wywołać przerwanie programowe.

- Trzeba uzupełnić argumenty przerwania w odpowiednich rejestrach; - INT <numer przerwania>, gdzie numer przerwania to liczba 0255 np. INT 10h
Cechy programu z rozszerzeniem .COM: - składa się tylko z 1 segmentu; - rozmiar max. 64kb (kod+dane); - Wykonywany od instrukcji 100H; - cały kod bezpośrednio ładowany do pamięci operacyjnej

Makro: to stała symboliczna przydzielana pewnemu ciągowi instrukcji. Po zdefiniowaniu makro może być użyte dowolną liczbę razy, a jedno wywołanie powoduje wstawienie do kodu programu instrukcji zawartych w makrze.



Wyszukiwarka

Podobne podstrony:
Metodyka PN sciaga
sciaga z charakterystyki PN
1 sciaga ppt
metro sciaga id 296943 Nieznany
ŚCIĄGA HYDROLOGIA
PN 60 B 01029
PN B 02481 Geotechnika Terminologia podstawowa,symbole liter
AM2(sciaga) kolos1 id 58845 Nieznany
Narodziny nowożytnego świata ściąga
finanse sciaga
Jak ściągać na maturze
Ściaga Jackowski
A Biegus projektowanie konctrukcji stalowych wg PN EN 1993 1 1 cz 1
5817 PN EN ISO IV 2007
Aparatura sciaga mini
OKB SCIAGA id 334551 Nieznany
Przedstaw dylematy moralne władcy i władzy w literaturze wybranych epok Sciaga pl
fizyczna sciąga(1)

więcej podobnych podstron