Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Poprawki:
- W operacjach arytmetycznych (3)
- mul al, bl ; unsigned multiply
- idiv al, bl ; singed division
- div al, bl ; unsigned div
- (z instrukcji podanych przez Śnieżka)
- mul bl
- idiv bl
- div bl
- (wg. Manuali Intela)
- 7. Zadania start up module.
- - Ustawienie rejestrów segmentowych,
- - Obliczenie ilości zmiennych środowiskowych i ustalenie rozmiaru. Zmienne środowiskowe zakończone '\0', zmienna środowiskowa o długości 0 kończy środowisko. Maksymalny rozmiar środowiska, 32k
- - Obliczenie rozmiaru pamięci, którą zamierzamy przechowywać
- - Przygotowanie zmiennych dla funkcji main oraz jej wywołanie
- (Trochę skrócone, trochę zmienione po spojrzeniu jeszcze raz w kod modułu)
- 10. Po co przerwania programowe?
- Przerwania programowe są wywoływane na poziomie programu, nie z zewnątrz (przez sprzęt). Pozwalają programiście na wykonywanie różnych funkcji przerwań BIOS/DOS, odpowiadających za przerwania np. klawiatury (INT 16H), karty graficznej (INT 10H). INT 3H jest przykładowo wykorzystywane przez debuggera, pozwalającym na ustawienie breakpoint, a INT 20H pozwala na zakończenie programu.
- (Zmienione po przeczytaniu wykładu 2 z ASK)
- 15. Cechy programu z rozszerzeniem .COM.
- - Program wykonywalny pod DOS
- - ORG 100h, adresy instrukcji/danych zaczynają się od adresu 100h
- - Posiada tylko jeden segment
- - Max. wielkość 64 kB
- - Wszystkie odwołania wewnątrz programu typu near
- - Nie posiada nagłówka oraz metadanych
- (Poprawione po przeczytaniu wikipedii xD)
- STOS
- int fun2 (char b1, char *b2, int *b3); (large)
- segment b3 ; bp + 14
- offset b3 ; bp + 12
- segment b2 ; bp + 10
- offset b2 ; bp + 8
- X | b1 ; bp + 6
- cs ; bp + 4
- adres powrotu z funkcji ; bp + 2
- bp ; bp + 0
- (Poprawka ze względu na wykład o stosie, zaznaczał tam nieważne danego jako X)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement