mikropro2cw2 by Hawkers


Politechnika Białostocka

Wydział Elektryczny

Technika Mikroprocesorowa 2

Ćwiczenie numer: 2

Temat: Obsługa struktur tablicowych

na poziomie asemblera

Wykonujący ćwiczenie: Wróblewski Łukasz

Niewierowski Paweł

Studia dzienne

Kierunek: Elektronika i Telekomunikacja

Semestr V Grupa laboratoryjna L05

Prowadzący ćwiczenie: dr inż. R. Kociszewski

...........................

OCENA

25.10.2010r.

Data wykonania ćwiczenia

.........................................

Data i podpis prowadzącego


  1. Cel ćwiczenia

Zdobycie praktycznych umiejętności w obsłudze struktur tablicowych na poziomie języka maszynowego.

  1. Przebieg ćwiczenia

Z3. wypełnienie tablicy 8 wartości 1-bajtowych w NB ciągiem

geometrycznym o a0=1 i q=2;

CPU "z80.tbl"

HOF "int8"

Znaki: equ 30h ;zmienna o adresie zaczynającym się

;w 30 komorce pamieci

ld a,1 ;wartość poczatkowa akumulatora

ld b,8 ;tablica sklada się z 8 wartosci,

;czyli 8 powtórzeń petli

ld hl, znaki ;zmiana adresu,

Czysc: ld (hl), a ;przy każdej petli zwiekszanie

;naszej liczby o 1.

sla a ;przesuniecie bitowe

inc hl ;zmiana adresu, na kolejny

djnz czysc ;skok

halt

end

Program miał na celu stworzenie tablicy o odpowiedniej długości, wypełnionej ciągiem liczbowym (1;2;4;8 itd.)

Program zrealizowano za pomocą przesunięcia (które działa jak mnożenie lub dzielenie),

Z31. zmiana kolejności elementów w tablicy wartości 1-bajtowych według

reguły: 0,1,2,3,4,5,6,.. -> 0,2,4,6,...,1,3,5,7,...;

CPU "Z80.TBL"

HOF "INT8"

znaki: equ 100h ;zadeklarowanie zmiennej w 100h

tab1: equ 120h ;jak powyżej,

tab2: equ 140h ;jak powyżej

ld a,1 ;załadowanie do akumulatora 1

ld b,20 ;domyślnie b, jest długością

;np. zmiennej (adresu)

ld hl, znaki ;załadowanie adresu zmiennej `znaki'

czysc: ld (hl),a ;petla za pomocą której wypełnimy tablice ciągiem liczb (1;2;3, itd.)

add a,1

inc hl

djnz czysc

ld de,tab1 ;przypisanie do rejestru tab1.

ld hl,znaki ;analogicznie

ld b, 10

inc hl

parz: ;stworzenie oddzielnej tablicy,

;przepisujac liczby parzyste

ld a,(hl) ;przypisanie do a adresu hl

ld (de),a ;analogicznie

inc hl ;podwójna zmiana adresu

inc hl ;przepisujemy co druga liczbę

inc de

djnz parz

ld de,tab2 ;analogicznie, jak powyżej

ld hl,znaki

ld b, 10

nieparz:

ld a,(hl)

ld (de),a

inc hl ;ponownie co 2, jak dla parzystych

inc hl

inc de

djnz nieparz

ld de,tab1 ;

ld hl,znaki

ld b, 10

przepis1: ;przepisywanie tablicy 1.

ld a,(de)

ld (hl),a

inc hl

inc de

djnz przepis1

ld de,tab2

ld b, 10

przepis2: ;przepisywanie tablicy 2.

ld a,(de)

ld (hl),a

inc hl

inc de

djnz przepis2

halt

end

Ten program zrealizowaliśmy za pomocą przepisywania. Na początku zadeklarowaliśmy adresy naszych zmiennych - tablic. Żeby stworzyć tablicę w porządku: 1,3,5, … 2,4,6, najprościej było stworzyć nową tablicę o liczbach porządkowych w szeregu: 1,2,3,4 itd. Zaczynając od liczb nieparzystych, odpowiednio odczytywaliśmy (zapisując) co drugą zmienną, analogicznie było z liczbami parzystymi. Na końcu przepisaliśmy nasze tablice, pierwszo tablica z liczbami nieparzystymi, po niej z parzystymi. Cel został osiągnięty! Jak zazwyczaj - program można byłoby zrealizować inaczej, np. za pomocą rozkazów skoku (JP, JR dla warunku PO, PE gdy spełniona jest flaga), np. program `przeskakuje' dalej gdy liczba jest nieparzysta gdy rozpatrujemy przypadek dla parzystych.

  1. Wnioski

Zajęcia pozwoliły na bliższe zapoznanie się z językiem niskiego poziomu jakim jest asembler.
Zapisywanie np. ciągu liczb, złożonych danych na pojedynczych zmiennych jest irracjonalne, mija się z celem. I tutaj okazuję się, że wykorzystanie tablic jednowymiarowych jest niezbędne. Posługiwanie się tablicami w programie, jako ciąg zmiennych jest bardzo wygodne i proste.

2



Wyszukiwarka

Podobne podstrony:
Mikro cw4 modul by Hawkers
LAST MINUTE mikroproce 150pytan zminimalizowane by wookie, Edukacja, studia, Semestr IV, Technika Mi
mikroprocesor 2
4 pomiary by kbarzdo
dymano teoria by demon
Opracowanie Zagadnień na egzamin Mikroprocki
GR WYKŁADY by Mamlas )
Assessment of cytotoxicity exerted by leaf extracts
Alignmaster tutorial by PAV1007 Nieznany
Efficient VLSI architectures for the biorthogonal wavelet transform by filter bank and lifting sc
Budowa samolotow PL up by dunaj2
MS3 by kbarzdo
Nadszedł czas, by Michnik nauczył się żyć w demokracji
BY PL Sinczuk I Skarb ze wsi Doszniki
Jak korzystać ze zdolności parapsychicznych [up by Esi]
420 Diner Spreadable Edible Medibles by LisaMarie Costanzo
PODSTAWY TECHNIK MIKROPROCESOROWYCH, Studia Pwr INF, Semestr IV, PTM
TECHNIKA CO BY BYŁO GDYBY(1), Aktywizujace metody i techniki w edukacji
Canelloni ze szpinakiem by Szem

więcej podobnych podstron