Konspekt 2 Flashcards
Ile bajtów ma jeden bit?
1
Ile bajtów ma jeden słowo?
2
Ile bajtów ma jeden podwójne-słowo?
4
Ile bajtów ma jeden poczwórne-słowo?
8
Ile bajtów ma jeden paragraf?
16
Ile bajtów ma jedna strona?
256
Ile bajtów ma jeden segment?
65536
Co to jest little Endian
Jest to zasada umieszczania danych w pamięci. Najmniej znaczący bajt umieszczany jest pod adresem wskazanym jako adres danej, a kolejne bajty pod następnymi starszymi adresami.
Odwrtna forma zapisu do little Endian?
Big Endian
Co to jest paragraf?
Jest to kolejno 16 bajtów komórek pamięci liczone od 0h.
Co to jest granica paragrafu?
Komórka pamięci gdzie zaczyna się paragraf i jej adres jest podzelny przez 16.
Dzięki czemu możliwa jest logiczna adresacja?
Dzięki segmentacji pamięci.
Co to jest segment?
Jest to fragment pamięci do której prozecor w danej chwili może mieć dostęp
Co to jest OFFSET?
Jest to adres komórki w obrębie danego segmentu.
Numer komórki w każdym segmencie to?
OFFSET
Jak przekształca się adres fizyczny na logiczny
(adres segmentu) * 10h + OFFSET
Czy komórka pamięci może mieć tylko jeden adres logiczny?
Nie, może mieć ich wiele, ponieważ segmenty na siebie nachodzą.
Co to jest AX?
Akumulator - służy do operacji arytmetycznych i logicznych
Co to jest BX?
Rejestr Bazowy - służy do adresowania pamięci
Co to jest CX?
Rejest zliczający - wykorzystywana jako licznik
Co to jest DX?
Rejestr danych - wykorzystywany przy operacjach dzielenia i mnożenia oraz wysylanie i odbieranie danych z portu.
Co to jest SP?
Wskaźnik stosu - przechowuje OFFSET do stosu
Co to jest BP?
Wskaźnik bazy - Służy do adresowania pamięci
Co to jest SI?
Indeks źródła - wskazuje obszar z którego pobierane są dane.
Co to jest DI?
Indeks przeznaczenia - wskazuje obszar do którego wysyłane są dane.
Co to jest CS?
Segment kodu - zawiera adres kodu w którym znajdują się aktualnie wykonywane rozkazy
Co to jest DS?
Zawiera adres segmentu, w którym znajdują się dane.
Co to jest IP?
Wskaźnik rozkazów zawierający offset aktualnie wykonywanej instrukcji.
Po co są flagi?
- Zawierają informację o tym co zaszło w wyniku wykonywanej operacji.
- Wpływają na jej przebieg.
Flaga PF
Ma 1 gdy liczba bitów o wartości 1 w mniej znaczącym bajcie jest parzysta.
Flaga CF
Przyjmuje wartość 1 gdy nastąpiło przeniesienie z bitu najbardziej znaczącego na zewnątrz lub porzyczna z zewnątrz.
AF
Ma 1 gdy przeniesienie z 3 na 4 lub pożyczka z 4 na 3
ZF
Przyjmuje wartość 1 gdu wynik ostatniej operacji arytmetycznej wynosi 0.
SF
Ma 1 gdy najbardziej znaczący bit ma 1
TF
Gdy 1 po każdej wykonanej instrukcji procesora następuje przerwanie pracy krokowej.
IF
jego wartość 1 ma być przerwanie sprzętowe wykonane natychmiast po zgłoszeniu.
DF
jeżeli jego wartość 1 to dane będą pobierane w kierunku malejących adresów pamięci
OF
przymyje 1 gdy po operacji arytmetycznej nastąpiło przepełnienie. Nastąpiło przeniesienie na bit znaku ale nie ma przeniesienia z bitu znaku na zewnątrz.
Co to jest Rozkaz? (Instrukacja maszynowa)
Jest to najprostsza operacja którą procesor potrafi wykonać.
Lista rozkazów ?
zestaw wszystkich instrukcji, jakie potrafi wykonać dany procesor.
Co to jest ADD?
Dodaje operand docelowy i źródłowy. dodaj do
Co to jest MOV?
Przeniesienia operandu źródłowego do operandu docelowego. przenieś do
Co oznacza INC
powiększ o jeden co
JAkie są trzy główne typy danych?
- Dane natychmiastowe
- Dane rejestrowe
- Dane pobierane z pamięci.
Co to jest Sub?
Odejmowanie
Ilu operandowe jest odejmowanie ?
dwuoperandowe
Co to jest MUL?
mnożenie liczb bez znaku.
Ile operandowe jest MUL?
jednooperandowe
Co to jest DIV?
Dzielenie liczb bez znaku
Ilu operandowe jest DIV?
Jedno
Ile operandowe są AND OR XOR NOT
AND, OR, XOR dwu NOT jedno
Ilu oberandowe jest NEG?
jedno
Co to jest INC I DEC
DEC - zmniejszenie operandu o 1
INC - zwiększenie operandu o 1
Do czego służy Debug?
Służy do uruchomienia programu w taki sposób, że pozwala na jego analiże i modyfikację w czasie jego działania.
Ile stosów w danym momencie może być aktywne?
Jeden.
W jakim systemie jest zorganizowany stos?
LIFO (Last IN, First OUT.)
Jakie rejestry są przeznaczone do obsługi stosu?
SS i SP
JAkiej wielkości dane można odkładać i zdejmować ze stosu
2 bajty
Do czego służy stos?
Służy do przekazywania danych z jednego do drugiego rejestru.
Co robi instrukcja PUSH
odkłada na stosie zawartość rejestru lub daną z pamięci
Co robi POP?
Zdejmuje ze stosu daną dwubajtową.
Co to jest przerwanie
jest to zdarzenie które przerywa wykonywany prhram i przekazuje sterowanie do specjalnego programu tzw procedury obsługi przerwania
Ile jest numerów przerwań?
256 ale nie wszystki wykorzytywane
Co może być źródłem przerwania
Sprzęt lub program.
Skrót architektury 8086
x86
Co oznacza bitowość procesora?
To jak długie ma słowo.
Jakie wartości możemy zapisać na jednym bajce?
0h do 255h
Ile bajtów adresuje 1mb
2^20 bajtów
Jaka jest rozpiętość adresów fizycznych?
od 0h do FFFFFFh
Ile jest segmentów w 1MB
65536
Co to jest rejestr ?
Jest to komórka pamięci dostępna bezpośrednio dla procesora jest ona elementem procesora.
ES - segment dodatkowy -
zawiera adres segmentu dodatkowego.
Rejestry Segmentowe
CS, DS, SS, ES.
Rejestry wskaźnikowe i indeksowe
SP, BP, DI, SI
Ograniczenia instrukcji Mov
- Nie może przenosić danych bezpośrednio z jednej komórki pamięci do innej np. MOV [SI][BX]
- przenosić bezpośrednio zawartości jednego rejestru do innego np. MOV CS,ES
- Przenosić danych natychmiastowych do rejestru segmentowego (MOV CS,0B800H)
Jaką wielkość może mieć maksymalnie stos?
64KB
Jakich danych nie można umieszczać
danych natychmiastowych
Numer przerwania IRQ
przerwania sprzętowe mają podwójną numerację.
Za pomocą jakiej funkcji wywoływane są przerwania programowe?
INT
Gdzie znajdują się procedury obsługi przerwań?
Znajdują się w pamięci pod własnym ściśle określonym adresem.
Skąd się biorą instrukcje prerwania?
- W momencie staru systemu lub później została pobrana:
- pobrana z plików systemu operacyjnego
- przekopiowana z biosa
- umieszczona przez jakiś program sterownik
Jaka jest zasada związana z przerwaniami?
Adres w pamięci gdzie znajduje się procedura przerwań może ulec zmianie ale numer procedury jest stały.,
Zasada numerowania przerwań:
Numer przerwania - to numer pozycji w tabeli wektorów przerwań
Co to jest DMA?
Direct Memory Acces - bezpośredni dostęp do pamięci używany do szybkiego przesyłania bloków pamięci do urżadzeń wejścia i wyjścia bez udziału procesora.
Co jest odpowiedzialne w DMA za transmisję danych?
Kontroler DMA.
Co to jest x86?
Jest to rodzina architektur procesorów firmy INTEL, należących do kategorii CISC. Wstecznie zgodna z procesorem 16 bitowym 8086, który wywodził się z 8 bitówego 8085.
Jaką magistralę adresową mają procesory 8086? I co z tego wynika?
Mają magistralę adresową składającą się z 20 linii adresowych, co oznacza, że mogą zaadresować 2^20 komórek pamięci.
Za co odpowiadają komórki pamięci.
Za przechowywanie danych i zarządzanie pamięcią.
Jaka obowiązuje zasada umieszczania danych w pamięci w architekturze x86?
Little Endian
Co zaczyna się na granicy paragrafu ?
Segment.
W jakiej postaci zapisujemu adres logiczny?
(adres segmentu) : (offset)
Ile flag mają procesory 8086?
9 flag
Co w flagach oznacza 1 i 0?
1 - znacznik ustawiony 0 - znacznik nieustawiony
Jaki jest adres początku stosu?
SS:0000
Jaki jest początek bieżacego elementu?
SS:SP
Jaki jest początek adresu segmentu codu?
CS:0000
Jaki jest adres bieżącej instrukcji programu?
CS:IP
Jaki jest początek segmentu danych?
DS:0000
Jaki jest domyślny rejestr dla BX,SI,DI?
DS (segment danych)
Co to jest IA-32?
32-bitowy model procesora opracowany przez Intela.
Do jakiej kategorii zaliczany jest x86-32?
Do CISC, jednak w nowych procesorach jest także RISC.
Kiedy został wprowadzony IA-32
W 1985r
Jakie są tryby pracy IA-32?
- Tryb rzeczywisty
- Tryb chroniony
- Tryb Wirtualny
- Tryb SMM
Tryb rzeywisty
- występuje segmentacja pamięci
- Rozmiar segmentu stały i wynosi 64KB
- przestrzeń adresowa ograniczona do 1MB
- Do adresowania wykorzystuje się rejestry segmentowe oraz offset.`
Co to jest x86-64?
Opracowane przez AMD rozszerzenie IA-32.
Co zostało dodane w x86-64?
Obsługa 64-bitowych liczb stałoprzecinkowych do jednostki arytmetyczno logicznej.
Alternatywna nazwa na x86-64?
AMD64
Rozkazy SSE?
Architektura x86-64 zawiera zestawy instrukcji SIMD Intela pod nazwą SSE i SSE2
NX-Bit
jest odpowiedzialny za włączanie/wyłączanie zabezpieczenia obszaru pamięci operacyjnej przed traktowaniem go przez procesor jako zbioru instrukcji do wykonania.
Adresowanie RIP
Rozkazy mogą odwoływać się do danych zawartych pod adresami określonymi względem wskaźnika rozkazów.
Co to jest istrukcja maszynowa?
JEst to inna nazwa na rozkaz.
Jak wygląda skłądnia rozkazów ?
[Operand_Docelowy]{Operand_Źródlowy]
Co to są dane rejestrowe?
Dane pobierane z rejestrów.
Jak mogą być pobierane dane pobierane z pamięci?
Bezprośrednio lub pośrednio
Ograniczenie MOV w debug
Nie można przenosić danych natychmiastowych do pamięci MOV [2222], 0B800H jest nieprawidłowe.
Co robi PUSHF?
odkłada zawartość rejestru flag na stosie.
Co Robi POPF?
Zdejmuje ze stosu słowo i umieszcza w rejestsze flag.
Co Robi POPBX?
Zdjęcie ostatniego słowa ze stosu i umieszczenie go w BX
Jaka jest różnica między przerwaniami sprzętowymi a programowymi?
Przerwania programowe - instrukcja INT
Przerwania sprzętowe - sygnał elektryczny.
W jakime moemencie zapisywane są w pamieci przerwania?
Podczas startu systemu.
Kiedy i co uzupełnia tabelę wektorów przerwań?
Uzupełnia ją system operacyjny i bios podczas startu systemu
Jakie wektory przerwań obsługiwane są przez bios?
o numerch od 0 do 1Fh
INT 21h. Co to robi?
Przerwanie programowe bo int
Do czego służy rejestr AH?
Do podanie numeru funkcji w przerwaniach.
Co robi funkcja INT?
- odkłada na stos adres następnej instrukcji
- odkłada na stos zawartość rejestru flag
- wywołuje przerwanie
Jaka instrukcja wywoływana jest na zakończenie przerwania?
IRET.
Co robi IRET?
Pobiera ze stosu położony element i pod ten adres przekazuje sterowanie.
Na czym polega przechwytywanie przerwań?
Przerwanie sprzętowe i programowe mogą być przechwytywane tzn: programista może napisać włąsną procedurę obsługi danego przerwania.
Co to jest port?
Jest to miejsce w wyróżnionej przestrzenii adresowej wejścia/wyjścia.
Na co pozwala port?
Na wysyłanie i pobieraniu bajtu do lub z rejestru.
Do czego służy port?
Do komunikacji z urządzeniami zewnętrznymi,
Co można zrobić za pomocą portów?
- Zgasić zapalić diodę
2. Ustalić stan przełącznika Caps LOck
Za pomocą czego wykonuje się operacje na portach?
IN (pobieranie) OUT (wysyłanie)
Co robi Operacja IN
Odczytuje daną z portu i zapisuje w AL(AX)
Co robi operacja OUT?
Zapisuje daną z rejestru AL(AX) do portu.
Jakie rozszerzenie ma assembler?
ASM
Gdzie zapisujemy kod źródłowy programu?
W edytorze ASCII
Jakim procesm należy poddać po napisaniu kod źródłowy?
Komplikacji i linkowaniu
Co robi kompilator TASM.EXE
Tłumaczy kod źródłowy do pliku obiektowego.
Co robi linker LINK.EXE?
Tworzy z jednego lub kilku plików obiektowych postać wykonalną programu .exe
Co jest znakiem rozpoczynającym komentarz?
średnik ;
Gdzie stosowany jest Big Endian
Power Pc, SPARK