Katedra Inżynierii Komputerowej Programowanie Wybranych Sterowników Przemysłowych Sprawozdanie z ćwiczeń |
---|
Nr ćwiczenia 4 |
Data wykonania ćwiczenia 2013-04-16 |
Skład grupy: Michał Szczepański Marcin Taracha |
Zad1.
Funkcja Swap zamienia na zasadzie lustrzanego odbicia bajtów. Zasada ukazana jest na podanym przykładzie:
Przykład działania programu.
Blok Swap można zastąpić odpowiednio dobranymi Movami.
Blok Move:
Z powyższej tabeli możemy odczytać, że każdą wartość można przepisać za pomocą bloku.
Natomiast na wejściu by dany blok się wykonał, możemy podąć tylko wartość boolowską.
Zad2.
Program przepisuję wartości wejściowych na kilka adresów zapisanych w różnych miejscach. W przykładzie na zajęciach przepisaliśmy bajt wejściowy na kilka bajtów pamięci.
Program można wykorzystać w sytuacji kiedy potrzebujemy kilka komórek pamięci o tej samej wartości aby potem móc z nich korzystać w poszczególnych networkach, aby ich adresy się nie nakładały.
Często potrzebujemy w różnych miejscach pojedyncze wartości np.: w rotacji lub przesunięciach wykorzystujemy tą samą liczbę, więc by jej nie zamieniać, nie nadpisać możemy ją przypisać do konkretnego miejsca w pamięci naszego programu.
Zad3.
Program działa w następujący sposób w pierwszym Swap’ie wartość bitu pierwszego IW0 zmieniona jest na bit drugi MW0. Analogicznie drugi Swap zamienia MW0 na QW0.
Funckja Swap działa w sposób następujący.
Program wykorzystany jest w sytuacji kiedy nie możemy wprowadzić młodszego bajtu, i musimy go z rotować z starszego. Przykładem może być program z zadania 5 z poprzedniego laboratorium.
Niekiedy sytuacja wymaga od nas kodowania zmiennych by program w pewnym miejscu nie znał naszego wyjścia wtedy również możemy wykorzystać podany ciąg swap’ów.