Skok do |
listy - rozkaz JL | |||
odczytanie | ||||
warunku | ||||
program |
iju# | |||
ACCt |
JLckłfl dalszy | |||
X 1 |
JU etykieta 1 | |||
wersja wersja i o |
wersja O |
JU etyHela 2 |
— | |
1 SL |
<3 |
JU etykieta 3 | ||
* s |
\ J |
JU etykieta 4 |
— | |
JU etykieta 5 |
— | |||
kontynuacja |
aqg dalszy: |
kolejny rozkaz | ||
Kun Zaawansowany S7 |
XV-8 |
Rozkaz X (Jump to Ust - z jęz ang. - skocz do Osty) pozwala na zapisanie w programie rozgałęzień w zależności od wyniku działania
Rozkaz len wymaga zachowania określonej składni (patrz prawa część folii).
Po rozkazie A muszq wys1qpić rozkazy skoku bezwarunkowego - AJ. maksymalna ilość tych skokow to 255.0 tym. który rozkaz skoku zostanie wykonany decyduje zawartość ACCU1-L-L (młodszy bajt młodszego słowa w ACCU1) w momencie wywołania rozkazu JL Przykładowo jeżet w ACCUM-l było 0 wtedy wykonany zostanie pierwszy rozkaz skoku, jeżeli było 3 to zostanie wykonany czwarty w kolejności 10-1-2-3).
JeżeS w akumulatorze w momencie wywołania rozkazu JŁ była wartość większa niż ilość rozkazów JL wtedy wykonany będzie kolejny rozkaz po liście skoków bezwarunkowych, rozkaz, który wskazywany jest przez etykietę - parametr rozkazu JL Przykład wykorzystania rozkazu A pokazany jest no poniższym rysunku.
hb
tytiriymais
lltf>»
IV |
0 |
IłBaaca |
)«UU |
uca* |
• |
TV |
—1 |
//«*•<• |
jeseli |
HnM |
• |
n |
JŁ |
//acn |
jeselA |
UrU* |
• |
IV |
» |
UłkMi |
)•••!> |
ttcu* |
• |
IV |
4 |
)«•“ |
!!«*• |
• | |
n |
Jrtsłi |
Uftte |
• | ||
n |
* |
//tUCr-T |
jesałł |
linka |
• |
IV |
//AM* |
Itr— e |
■ | ||
l |
* V - |
•aliry |
« |
xv-f
Dzięki rozkazowi LOOP możliwe jest zapisanie pętli programowej - fragmentu programu, który powinien by£ wykonany kilkakrotnie (o ile to możkwe lego typu elementów powinno unikać się w trakcie pisania programów sterowania - dlaczego???).
Rozkaz (.OOP podobnie jak JL wymogą zachowania odpowiedniej składni - patrz prawa część folii. Przed wejściem do pętli należy do ACCUI-L załadować liczbę określającą ile razy pętla powinna zostać wykonana. Wartość la powinna zostać zachowana w komórce, która będzie pełniła role licznika obiegów pętli (jej stan po wykonaniu każdego obiegu będzie zmniejszony). Następnie zapisane powinny być zadania które mają być realizowane wielokrotnie. Po wykonaniu tych zadań odczytana do akumulatora powinna zostać zawartość licznika obiegów pętli, a następnie powinien zostać wywołany rozkaz LOOP. Rozkaz LOOP dekrementuje zawartość ACCUI-L. a następnie sprawdza czy zawartość akumulatora jest > 0. Jeżeli warunek jest spełniony wtedy wykonany zostaje skok do miejsca określonego przez etykietę (parametr rozkazu LOOP). W przypodku niespełnienia warunku wykonany zostaje następny rozkaz po operacji LOOP.
Przykład wykorzystania rozkazu LOOP pokazany jest poniżej.
Iłtwuk 2 i Wykorty?tanie rotkatu LOO?
M I •
Ki |
MU |
20 |
//snladowaala do ACCU |
1 |
wartoftci okr«lla]«cc] wariant |
DUtl T |
W |
M |
//Ufauctuit ACCO I |
M |
liczniku oblegow patii |
//ta OMftb |
progra |
od pocc«tko*«j wartości 20 | |||
Ł |
M20.K8W |
46 | |||
Ł |
BUO.IM |
11 | |||
* I i |
DB20.DfrW |
41 | |||
//koniec programu |
wykonywanego wielokrotnie | ||||
li |
Mł |
N |
//©dc cytani* luiuka |
obiagw patii |
ACC01 k ■pr«fcdi«a&a ety ACCOl > O •ii fftauditiu jut ijtóUiOM to akok do etykiety
AOOt