Wykonawca: Łukasz Jaromin |
|||||||||
Laboratorium Podstaw Informatyki |
|||||||||
Temat: |
Programowanie w języku symbolicznym maszyny W. |
Nr.lab.: 2 |
|||||||
Rok akademicki |
termin |
Rodz. studiów |
grupa |
Data lab. |
Data oddania sprawozdania |
prowadzący |
ocena |
||
2006/2007 semestr letni |
wtorek 18-21 |
wieczorowe |
2 |
27.03 |
|
Dariusz Myszor |
|
Zad.3
Obliczanie długości tablicy zakończonej bajtem o ustalonej wartości (np. 0)
pob st0
ład ile
et1: pob T
ode liczba
som rozne
ode st1
som takie_same
rozne: pob ile
dod st1
ład ile
pob et1
dod st1
ład et1
sob et1
takie_same: pob ile
dod st1 ład ile
stop
T: rst 3
rst 5
rst 8
rst 2
rst 1
rst 0
liczba: rst 0
ile: rpa
st0: rst 0
st1: rst 1
Komentarz: Po pobraniu pierwszej liczby sprawdzamy czy liczba jest ujemna. Jeżeli jest dodatnia odejmujemy od niej stałą 1, dzięki czemu sprawdzamy czy jest ona zerem.
Potem następuje zwiększenie parametru ile zliczającego długość tablicy oraz przejście
do kolejnego elementu tablicy.
Zad.7
Odwracanie tablicy o znanej długości (ABC->CBA)
pob p1
dod rozmiar
ode st1
ład p2
pob ł1
dod rozmiar
ode st1
ład ł2
p1: pob tab
ład temp
pob rozmiar //czy koniec
ode st2
som koniec
ład rozmiar
p2: pob tab
ł1: ład tab
pob temp
ł2: ład tab
pob p1 // przesuwanie etykiet
dod st1
ład p1
pob ł1
dod st1
ład ł1
pob p2
ode st1
ład p2
pob ł2
ode st1
ład ł2
sob p1
koniec:stop
st1: rst 1
st2: rst 2
rozmiar: rst 7
temp:rpa
tab: rst 1
rst 2
rst 3
rst 4
rst 5
rst 6
rst 7
Komentarz: W pierwszych liniach programu, przed etykietą p1, następuje ustawianie etykiet p2 i ł2 tak, by wskazywały na odpowiednie komórki pamięci, to znaczy na koniec tabeli. Odejmowanie jedynki od wartości rozmiar zapewnia, że ta odległość jest prawidłowa. Samo działanie pętli polega na zamienianiu wartości komórek pamięci pokazywanych przez etykiety z numerem 1 i 2. Przesuwanie etykiet polega na dodawaniu jedynki do tych pierwszych (przesuwanie w przód w tabeli) i odejmowaniu jedynki od tych drugich (przesuwanie w tył w tabeli).