MaszynaW 28

MaszynaW 28



58


4. Program ćwiczeń

4.3. Maszyna W - symulator. Proste programy

Ćwiczenie obejmuje zapoznanie się z językiem prostego asemblera maszyny cyfrowej W i zreaJizowanie kilku prostych programów w oparciu o zadaną listę rozkazów.

4.3.1. Przykład - mnożenie liczb nieujemnych

Napisać program mnożenia dwu nieujemnych liczb zapisanych w odpowiednich komórkach pamięci, wskazywanych przez etykiety Mna i Mnk. Wynik mnożenia ma zostać zapisany w komórce pamięci wskazywanej przez etykietę Wyn.

W liście rozkazów maszyny W brak jakiegokolwiek rozkazu mnożenia, dlatego też zadanie należy zrealizować w formie programu. Operację mnożenia mnożnej i mnożnika można zastąpić przez wielokrotne dodawanie mnożnika. Dodawanie to należy wykonać tyle razy. ile wynosi wartość mnożnej. Schemat blokowy rozwiązania zadania zawiera rys. 4.1.

Na początku należy wyzerować zawartość komórki Wyn. przechowującej wynik wykonania programu. Następnie sprawdzić, czy mamy do czynienia ze szczególnym przypadkiem mnożenia przez zero. Gdyby tak było, to ponieważ komórka Wyn została wcześniej wyzerowana, a więc zawiera właściwy wynik, można zakończyć wykonanie programu. W każdym innym przypadku należy Mna razy wykonać wnętrze pętli. W pętli tej powinny zostać wykonane następujące operacje: dodanie do aktualnej zawartości komórki Wyn zawartości komórki Mnk oraz dekrementacja zmiennej Mna pełniącej rolę licznika pętli. Możemy teraz podać treść pliku z tekstem programu w języku symbolicznym:

{ TEST2.PTX - Mnożenie dwóch liczb dodatnich. Ola ujemnych lub zera zwraca zero }

POB StO

{ Wyzeruj wynik }

LAD Wyn

{ Wpisz wynik częściowy }

POB Mnk

{ Pobierz mnożnik }

SOM Stop

{ Koniec gdy ujemny }

Pętla:

POB Mna

{ Pobierz mnożną }

ODE St1

{ Zmniejsz o jeden }

SOM Stop

{ Koniec gdy zero lub ujemna }

LAD Mna

{ Zapisz licznik krotności operacji dodawanie }

POB Wyn

{ Pobierz częściowy wynik }

DOD Mnk

{ Wykonaj kolejne dodawanie }

LAD Wyn

{ Zapisz wynik częściowy }

SOB Pętla

{ Wykonaj kolojne dodawanie }

Stop:

SOB Stop

{ Zakończ wykonanie )

Wyn:

RPA

{ Wynik mnożenia }

Mnk:

RST 6d

{ Mnożnik }

Mna:

RST 5d

{ Mnożna }

St1:

RST 1d

StO:

RST Od KON


4.3. Maszyna W - symulator. Proste programy

59


start

| Wyn - 0 1


Rys. 4.1. Schemat blokowy programu mnożenia dwu liczb

4.4. Maszyna EW. Architektura, bardziej złożone rozkazy i programy

Ćwiczenie to dotyczy architektury maszyny EW. Studenci zapoznają się przede wszystkim z rozszerzeniami w stosunku do maszyny W, a następnie realizują kilka zadań na symulatorze maszyny F.W. Ćwiczenie ma również na celu przedstawienie mechanizmów związanych z wywoływaniem procedur.

4.4.1. Przykład - obliczanie wyrazów ciągu Fibonacciego

Napisać program obliczający N-ty wyraz ciągu Fibonacciego danego wzorem rekurencyjnym: FB - Fvl + Fn.2 z warunkami początkowymi F0 = 0 i F, — 1. Obliczenia zrealizować za pomocą odpowiedniej procedury' rekurencyjncj. Przyjąć, że dostępna jest struktura zwana stosem, na szczyt którego wskazuje zawartość rejestru X. Wykorzystać stos do zapamiętywania śladu powrotu z procedury.

Realizacja tego zadania składa się z dwóch części. Pierwsza dotyczy zdefiniowania dodatkowych rozkazów skoku do procedury i powrotu z procedury oraz rozkazów zapisu na


Wyszukiwarka

Podobne podstrony:
R9 8.7. Przebieg ćwiczenia Ćwiczenie obejmuje: 1.    Zapoznanie się z kartami
R9 8.7. Przebieg ćwiczenia Ćwiczenie obejmuje: 1.    Zapoznanie się z kartami
Program dydaktyczny Program nauczania obejmuje zapoznanie się z problematyką rehabilitacji medycznej
Program dydaktyczny Program nauczania obejmuje zapoznanie się z problematyką rehabilitacji medycznej
2009 11 28;53;49 ĆWICZENIE NRPOMIARY WIELOKROTNE1.    Cel ćwiczenia Celem ćwiczenie
2 1.    Cel ćwiczenia Celem tego ćwiczenia jest zapoznanie się z programowanie obrabi
P1090437 125 j PRZEBIEC? ĆWICZENIA jj, program ćwiczenia Program ćwiczenia obejmuje: poznanie s
1. Cel ćwiczenia Celem tego ćwiczenia jest zapoznanie się z podstawami programowania obróbki na toka
2 1. Cel ćwiczenia Celem tego ćwiczenia jest zapoznanie się z programowanie obrabiarek z wykorzystan
Paradygmaty Programowania Język Prolog Celem ćwiczenia jest zapoznanie się z podstawowymi możliwości
img349 234 28. ŻYWIENIE TRZODY CHLEWNEJ 28.1. Cel Celem ćwiczenia jest zapoznanie sludentów z zasada
48964 P1090437 125 j PRZEBIEC? ĆWICZENIA jj, program ćwiczenia Program ćwiczenia obejmuje: pozn
I. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z programowaniem podprogramów, pętli iteracyjny

więcej podobnych podstron