background image

AK    

 

 

 

 

 

 

 

Ćw. 4 

Podstawy programowania procesora 8086 

Cel ćwiczenia: Poznanie architektury x86 na przykładzie procesora 8086 

Literatura: E. Wróbel, „Asembler – praktyczny kurs”, Helion, 2004,  G. Michałek, „Asembler nie tylko dla 

orłów”, Intersoftland 1997 

Sprzęt i oprogramowanie: Komputer PC i program AFD (wersja 1 lub 2) 

Pomoce: Tabela rozkazów x86 – plik Intel8086CodeTable.pdf 

Zagadnienia: 

Architektura procesora 8086: rejestry, znaczniki, adresowanie pamięci, stos. 

Tryby adresowania: bezpośrednie, natychmiastowe, względne 

Tworzenie adresu z wykorzystaniem rejestru segmentowego 

Nadmiar, niedomiar (ang. overflow, underflow) 

Proste programowanie z użyciem około 10 różnych rozkazów 

Skok do podprogramu, powrót z podprogramu 

Polecenia: 

1.

 

Oblicz jaki adres odpowiada zapisowi: 0560:0235 

2.

 

Na ile sposobów można zapisać adres 8CA10H? Podaj kilka przykładów. 

3.

 

Jaki sposób adresowania wykorzystano w następujących rozkazach: 

a.

 

ADD BX,CX 

b.

 

ADD DX,56 

4.

 

Napisz program dodający 2 liczby 16-bitowe umieszczone w rejestrach. 

5.

 

Napisz programy ustawiające znaczniki: 

a.

 

ZF 

b.

 

CF 

c.

 

PF 

d.

 

OF 

6.

 

Napisz program dodający 2 liczby 16-bitowe umieszczone w komórkach 2000 i 2002. 

7.

 

Napisz program dodający 2 liczby 32-bitowe umieszczone w komórkach 2000 do 2007 . 

8.

 

Napisz program zwiększający zawartość rejestru CX o 3. Wykorzystaj podprogram zwiększający 

CX o 1 i wywołaj go 3 razy.  

9.

 

Napisz program, który do kolejnych komórek pamięci od adresu DS:300 wpisuje liczby 30h, 

31h...70h