Narzędzia użytkownika

Narzędzia witryny


notatki:assembler8086

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
notatki:assembler8086 [2025/05/07 13:16] administratornotatki:assembler8086 [2025/05/07 13:18] (aktualna) – [Symulator SMZ32V50] administrator
Linia 6: Linia 6:
  
 Procesor 8086 posiada szereg cech, które zdefiniowały jego architekturę: Procesor 8086 posiada szereg cech, które zdefiniowały jego architekturę:
 +
  
 * Rejestry : Procesor posiada 14 głównych rejestrów, w tym rejestry ogólnego przeznaczenia (AX, BX, CX, DX, SI, DI, BP, SP), rejestry segmentowe (CS, DS, SS, ES) oraz rejestr wskaźnika instrukcji (IP). * Rejestry : Procesor posiada 14 głównych rejestrów, w tym rejestry ogólnego przeznaczenia (AX, BX, CX, DX, SI, DI, BP, SP), rejestry segmentowe (CS, DS, SS, ES) oraz rejestr wskaźnika instrukcji (IP).
 +
 * Adresowanie pamięci : Procesor używa segmentowego adresowania pamięci, co oznacza, że cała pamięć 8086 jest podzielona na segmenty (do 1 MB pamięci). Adresy pamięci są tworzone przez 16-bitowy rejestr segmentu oraz 16-bitowy rejestr offsetu. * Adresowanie pamięci : Procesor używa segmentowego adresowania pamięci, co oznacza, że cała pamięć 8086 jest podzielona na segmenty (do 1 MB pamięci). Adresy pamięci są tworzone przez 16-bitowy rejestr segmentu oraz 16-bitowy rejestr offsetu.
 +
 * Cykl pracy : 8086 działa na zasadzie cykli zegara, w których wykonuje operacje odczytu, zapisu i wykonywania instrukcji. * Cykl pracy : 8086 działa na zasadzie cykli zegara, w których wykonuje operacje odczytu, zapisu i wykonywania instrukcji.
  
Linia 16: Linia 19:
  
 * Tryb real-mode : Jest to tryb, w którym procesor wykonuje operacje bez wirtualizacji pamięci i bez ochrony pamięci. * Tryb real-mode : Jest to tryb, w którym procesor wykonuje operacje bez wirtualizacji pamięci i bez ochrony pamięci.
 +
 * Tryb ochrony: Tryb ten jest bardziej zaawansowany i pozwala na zarządzanie pamięcią w sposób bezpieczniejszy (chociaż procesor 8086 nie obsługiwał go bezpośrednio, ale w późniejszych wersjach, jak 80286, ten tryb został wprowadzony). * Tryb ochrony: Tryb ten jest bardziej zaawansowany i pozwala na zarządzanie pamięcią w sposób bezpieczniejszy (chociaż procesor 8086 nie obsługiwał go bezpośrednio, ale w późniejszych wersjach, jak 80286, ten tryb został wprowadzony).
  
Linia 56: Linia 60:
  
 * Program wczytuje dane z pamięci i wysyła je na port (symulując sterowanie sygnalizacją świetlną). * Program wczytuje dane z pamięci i wysyła je na port (symulując sterowanie sygnalizacją świetlną).
 +
 * Wartości są przechowywane w pamięci, a procesor przesyła je na odpowiedni port za pomocą instrukcji `OUT`. * Wartości są przechowywane w pamięci, a procesor przesyła je na odpowiedni port za pomocą instrukcji `OUT`.
 +
 * Program zatrzymuje się, gdy liczba wysłanych danych osiągnie 5. * Program zatrzymuje się, gdy liczba wysłanych danych osiągnie 5.
  
Linia 79: Linia 85:
  
 * Program ustawia wartość `B6` w rejestrze AL, a następnie wysyła ją na port 02. * Program ustawia wartość `B6` w rejestrze AL, a następnie wysyła ją na port 02.
 +
 * Następnie ustawia wartość `0B` w rejestrze AL i ponownie wysyła ją na port 02. * Następnie ustawia wartość `0B` w rejestrze AL i ponownie wysyła ją na port 02.
 +
 * Program powtarza te operacje w nieskończoność. * Program powtarza te operacje w nieskończoność.
  
Linia 111: Linia 119:
  
 * Program odczytuje dane z portu 03 i sprawdza, czy najmłodszy bit jest ustawiony na 0 (co może oznaczać, że temperatura jest zbyt niska). * Program odczytuje dane z portu 03 i sprawdza, czy najmłodszy bit jest ustawiony na 0 (co może oznaczać, że temperatura jest zbyt niska).
 +
 * W zależności od wyniku, program włącza lub wyłącza grzałkę, wysyłając odpowiedni kod na port 03. * W zależności od wyniku, program włącza lub wyłącza grzałkę, wysyłając odpowiedni kod na port 03.
  
Linia 163: Linia 172:
  
 * Program wyświetla napis "I AM KACPER" na ekranie. * Program wyświetla napis "I AM KACPER" na ekranie.
 +
 * Przesuwa dane z jednej komórki pamięci do drugiej, wykorzystując rejestry i instrukcje manipulacji pamięcią. * Przesuwa dane z jednej komórki pamięci do drugiej, wykorzystując rejestry i instrukcje manipulacji pamięcią.
  
Linia 170: Linia 180:
  
 Do wykonywania powyższych programów użyty został symulator SMZ32V50. Jest to narzędzie, które umożliwia emulację działania procesora 8086, pozwalając na testowanie i debugowanie programów w assemblerze. Symulator ten może emulować działanie portów wejścia/wyjścia oraz pamięci, co czyni go idealnym narzędziem do nauki i testowania kodu dla tego typu procesorów. Do wykonywania powyższych programów użyty został symulator SMZ32V50. Jest to narzędzie, które umożliwia emulację działania procesora 8086, pozwalając na testowanie i debugowanie programów w assemblerze. Symulator ten może emulować działanie portów wejścia/wyjścia oraz pamięci, co czyni go idealnym narzędziem do nauki i testowania kodu dla tego typu procesorów.
 +
 +{{ :notatki:smz32v50.exe |}}
  
 ---- ----
notatki/assembler8086.1746616568.txt.gz · ostatnio zmienione: 2025/05/07 13:16 przez administrator