Tematy cwiczen, Architektóra komputerów


Ćwiczenie Nr 1 /Inf

Zaprojektować i uruchomić program w asemblerze 80x86 realizujący

wielokrotną operację:

a. dzielenia

b. logiczną ==

c. pierwiastek drugiego stopnia

d. mnożenia

e. logiczną =>

f. potęgowania trzeciego stopnia

g. logiczną =<

h. dodawania

i. logiczną >

j. odejmowania

k. logiczną <

l. potęgowania drugiego stopnia

m. logiczną !=

n. modulo

dla liczb o słowie 8-bitowym w kodzie U2.

Dane wprowadzane z klawiatury w kodzie binarnym. Kolejność

wprowadzania danych i wykonania operacji dowolna i wielokrotna.

Na ekranie istnieje stałą linia (linia poleceń) gdzie wprowadzamy

polecenia oraz wprowadzamy dane. Z klawiatury przyjmujemy tylko

następujące klawisze :

- <L> - wybór dane1

- <P> - wybór dane2

- <W> - wybór (wykonanie) operacji

- <1>, <0> - wprowadzenie wartości danej

- <B> - akceptacja danej/wyboru

- <BS> - korekta

- <Esc> - wyjście z programu

Przy wprowadzaniu liczb długość danych jest dowolna.

Dla każdej operacji wprowadzamy obie dane. Z chwilą wprowadzenia

ich (w linii w linii poleceń), wyświetlamy je w stałych miejscach

ekranu w kodzie ósemkowym a w nawiasach [] w kodzie binarnym. Na ekranie

zmieniamy tylko te pola które uległy zmianie. W środku między danymi

na ekranie umieszczamy znak operacji. W opcji „wykonanie operacji”

wyświetlamy kod błędu wg zasad stosowanych w matematyce. Dodatkowo dla

wersji :

c. gdy dana2 != -2 wyświetlamy kod błędu

f. gdy dana2 != 3 wyświetlamy kod błędu

l. gdy dana2 != 2 wyświetlamy kod błędu

Na początku programu dane1, dane2„ zerujemy” i wyświetlamy je

na ekranie a polu wyniku spacje. Zmiana dowolnej danej

„kasuje” na ekranie poprzedni wynik. Wynik operacji wyświetlamy

w stałym miejscu ekranu w kodzie ósemkowym a w nawiasach [ ]

w kodzie binarnym. Dla wyniku operacji z błędem lub przekroczymy

zakres liczby wyświetlamy w polu wyniku „***”.

W programie nie deklarujemy własnych procedur.

Narysować ręcznie schemat blokowy programu.

Ćwiczenie Nr 2 /Inf

Zaprojektować i uruchomić procedurę w asemblerze 80x86

realizującą wielokrotną operację:

a. odejmowania

b. mnożenia

c. dodawania

d. dzielenia

e. odejmowania

f. mnożenia

g. dodawania

h. dzielenia

i. odejmowania

j. mnożenia

k. dodawania

l. dzielenia

m. odejmowania

n. mnożenia

dla liczb 5 bajtowych w kodzie BCD. Wartość zero w starszych

bitach pierwszego bajtu odpowiada znakowi plus, a wartość

jeden odpowiada minusowi ( np. `0000000200'== 200,

'1000000353' == -353).

Dane wprowadzane z klawiatury (zawsze po 10 znaków). Wyjście

z programu po odpowiedzi na pytanie „zakończyć program T/N”.

Resztę znaków klawiatury ignorujemy.

Na ekranie wyświetlamy dane wejściowe, znak operacji oraz wynik

w kodzie szesnastkowym. Dla wyniku operacji z błędem wyświetlamy

w polu wyniku „***”.

Narysować ręcznie schemat blokowy procedury.

Ćwiczenie Nr 3 /Inf

Zaprojektować i uruchomić procedurę w asemblerze 80x86 realizującą

na 5 bajtowej zmiennej wielokrotną operację :

a. mnożenia dla liczb całkowitych U2

b. dzielenia dla liczb całkowitych U2

c. mnożenia dla liczb całkowitych bez znaku

d. dzielenia dla liczb całkowitych bez znaku

e. mnożenia dla liczb całkowitych ze znakiem i modułem liczby

f. dzielenia dla liczb całkowitych ze znakiem i modułem liczby

g. mnożenia dla liczb całkowitych U2

h. dzielenia dla liczb całkowitych U2

i. mnożenia dla liczb całkowitych bez znaku

j. dzielenia dla liczb całkowitych bez znaku

k. mnożenia dla liczb całkowitych ze znakiem i modułem liczby

l. dzielenia dla liczb całkowitych ze znakiem i modułem liczby

m. mnożenia dla liczb całkowitych U2

n. dzielenia dla liczb całkowitych U2

Na ekranie wyświetlamy dane wejściowe, znak operacji oraz wynik

w kodzie dziesiętnym. Dla wyniku operacji z błędem wyświetlamy

w polu wyniku „***”.

Narysować ręcznie schemat blokowy procedury.

Ćwiczenie Nr 4 /Inf

Zaprojektować program rezydentny w asemblerze 80x86,

Który w przerwaniu 1CH BIOS, po odblokowaniu przez inny program,

N razy [byte] zapisuje w odstępach ~4.5 sekundowych bajt B [char]

od adresu ADR [DWORD]. Ustawić kontrolę obecności programu

rezydentnego w systemie.

Zaprojektować i uruchomić program wprowadzający wielokrotnie

dane do programu rezydentnego.

Formaty wprowadzania danych:

N - kod dziesiętny [xxx]

B - znak ASCII `A..Z'[x]

ADR - kod szesnastkowy [xxxx:xxxx]

Kolejne dane uruchamiane są po wykonaniu nastaw, a wyjście

z programu dla N=0.

Program napisać w asemblerze 80x86 i uruchomić programem

TD (program uruchomieniowy). Zakres zmiennej ADR do 1MB.

Narysować ręcznie schemat blokowy obu programów.

Ćwiczenie 6 [2] / Inf

Zaprojektować i uruchomić w asemblerze 80x86 procedurę

wykonującej na danych typu float (wg normy IEEE) programowo

(bez użycia koprocesora), następujące operacje :

a. mnożenia

b. szukanie wartości Min z tablicy [20]

c. odwrotności 1.0/x

d. szukania wartości Max z tablicy [20]

e. potęgowanie drugiego stopnia

f. uporządkowanie od min dla tablicy [20] dla metoda (1)

g. dzielenia

h. odejmowania

i. uporządkowanie od max dla tablicy [20] metoda (2)

j. dzielenie z obcięciem do wyniku całkowitego

k. uporządkowanie od min dla tablicy [20] metoda (2)

l. dodawania

m. uporządkowanie od max dla tablicy [20] dla metoda (1)

n. potęgowanie trzeciego stopnia

Metoda sortowania :

(1) - przez proste wybieranie

(2) - bąbelkowa

Dane do procedury ustawiamy (w programie głównym) w zmiennych :

Dla wersji

c,e,n - „ARG2“

a,g,h,j,l, - „ARG1”, „ARG2”

b,d,f,i,k,m - „ADRES” - adres pierwszego elementu tablicy,

„ILOSC” - rozmiar tablicy max=20

Wszystkie operacje wykonywać tylko i wyłącznie (!) na rejestrach jedno bajtowych.

Dla operacji wykonanych bezbłędnie wynik operacji umieszczamy w zmiennej

„WYNIK” a zmienną „BUFBLAD” równa zeru. W przeciwnym razie ustawiamy

tylko „BUFBLAD” wartością różna od zera.

Zadeklarować tablicę z 20 liczbami z zakresu od 99999.0 ... 0.001

, z tego połowę stanowią liczby ujemne.

W programie głównym procedurę wywołujemy dwukrotnie dla różnych danych

wejściowych.

Narysować ręcznie schemat działania procedury .

Ćwiczenie 7 / Inf

Zaprojektować i uruchomić program w asemblerze który

Ustawić ekran monitora w tryb graficzny i wykonać na nim

wykres wg warunków podanych przez prowadzącego ćwiczenie.

Do obliczeń współrzędnych wykresu wykorzystać rozkazy

koprocesora arytmetycznego.

Plan ćwiczeń

Laboratorium Techniki Mikroprocesorowej

kierunek : Informatyka

( Studia dzienne )

Ćwiczenie Nr 1

Operacje na liczbach całkowitych w kodzie U2.

Kod ósemkowy i binarny.

Ćwiczenie Nr 2

Operacje na liczbach w kodzie BCD.

Kod szesnastkowy.

Ćwiczenie Nr 3

Operacje na liczbach całkowitych wielobajtowych.

Kod dziesiętny ASCII.

Ćwiczenie Nr 4

Programowanie przerwania czasowego. Programy rezydentne.

Ćwiczenie Nr 5 [2]

Programowanie transmisji szeregowej asynchronicznej

korzystając bezpośrednio układu UART i przerwań.

Protokóły transmisji danych.

Ćwiczenie Nr 6 [2]

Programowe operacje na liczbach zmiennoprzecinkowych.

Ćwiczenie Nr 7

Programowanie karty graficznej w trybie graficznym.

Operacje na liczbach z udziałem koprocesora.



Wyszukiwarka

Podobne podstrony:
ARCHITEKTURA KOMPUTEROW1A
Tematy ćwiczeń - SD, WAT, SEMESTR V, systemy dialogowe
Szczegółowe tematy ćwiczeń Ped.Specj, Akademia Pedagogiki Specjalnej, rok I, Semestr II, biomedyczne
Tematyka ćwiczeń, Metody badań pedagogicznych
architektury komputerow v1 1
Architektura Komputera, Informatyka, Płyta Główna
Architektury Komputerów zagadnienia
Architektura komputerów I 16 12 2008
Tematyka ćwiczeń
TEMATY ĆWICZEŃ DLA II ROKU (Nauczanie przedkliniczne zachowawcza)
gulczas 2001 opracowanie, Politechnika Wrocławska - Materiały, architektura komputerow 2, egzamin, o
TEMATY ĆWICZEŃ BUDOWNICTWO chemia, Tematy ćwiczeń z chemii
CLAB 6-1 2008-2009, Tematy ćwiczeń laboratoryjnych z Języka Programowania
Tematyka ćwiczeń histologia - 2010 11, Tematyka ćwiczeń
tematy cwiczen - ii rok biologii, Biol UMCS, IV semestr, Biologia molekularna, Egzamin
Tematyka ćwiczeń materiały dla studentów rozszerzone o 2 jednostki
Architektura komputerów I 09 12 2008

więcej podobnych podstron