Asembler x86/Zaawansowana architektura: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Linia 34:
*<font color ="green">Type</font> - ta flaga determinuje typ segmentu. Może oznaczać, że dany segment (również deskryptor segmentu) jest albo Deskryptorem Segmentu Kodu (ang. Code Segment Descriptor - CSD) albo Deskryptorem Segmentu Danych (ang. Data Segment Descriptor - DSD) albo Deskryptorem Segmentu Stanu Zadania (ang. Task State Segment Descriptor - TSSD).
*<font color ="green">DPL</font> - (ang. Descriptor Privilege Level) służy do ograniczenia dostępu do danego segmentu. DPL reprezentuje '''minimalny''' stan uprzywilejowania CPU wymagany do użycia tego segmentu. Dla przykładu jeśli pole DPL danego segmentu ma wartość 0 wówczas jest adresowalne tylko dla programu z CPL równym 0 ( czyli działającego w trybie jądra). Jeśli DPL wynosi 3 wówczas rejestr jest dostępny dla każdej wartości CPL (zarówno w trybie użytkownika jak i jądra).
*<font color ="green">P </font>- (ang. SemgnetSegment-Present Flag) jeśli ta flaga jest równa 0 to dany segment nie jest w ogóle w pamięci operacyjnej, czyli jest odłożony na dysku twardym w postaci pliku wymiany ( za ten mechanizm odpowiada pamięć wirtualna).
*<font color ="green">D</font> lub <font color ="green">B</font> - flaga nazywana D lub w zależności od tego czy dany segment jest segmentem kodu czy danych. Znaczenie tego pola zależy ściśle od kontekstu w jakim został użyty.
**<font color="green">D</font> - Ta flaga w deskryptorze segmentu kodu mówi nam o "szerokości stosu". Jeśli flaga jest wyzerowana, szerokość stosu wynosi 16 bit (czyli ESP jest inkrementowany i dekrementowany o 2 bajty). Jeśli jest ustawiona na 1, szerokość wynosi 32 bity (analogicznie ESP rośnie lub maleje o 4 bajty).