
Ad @0 – ogólne instrukcje struktury programu :
Funkcje, dla których w dotychczasowej pracy z programowaniem parametrycznym, nie znalazłem jeszcze zastosowania. Wyrózniamy tylko jedną podgrupę :
- 4 – zapisywanie parametru R
@040 <Const> <R-par 1>...<R-par n>
Stała <Const>, określa liczbę kolejnych parametrów R tej funkcji, których zawartość jest zapisywana poprzez przeniesienie ich do stosu rejestru, z pierwszym przypisanym parametrem rejestru R 300.
@041 <R-par 1> <R-par 2>
Podobnie jak w przykładzie powyżej, z tym, że podane są już konkretne parametry, a ich wartości przenoszone są do rejestru.
@042 <Const> <R-par n>...<R-par 1>
To polecenie pobiera zapisane w stosie rejestru wartości i ładuje je do wyszczególnionych parametrów R. Jest to więc odwrotnośc funkcji @040, dlatego też parametry podajemy tu w odwrotnej kolejności, do tych, od <R-par n> do <R-par 1>.
@043 <R-Par 1> <R-Par 2>
Wartości parametrów zapisanych za pomocą funkcji @041, są wczytane z powrotem do parametrów R.
Na początku pracy z powyższymi funkcjami, należy użyć poleceń zapisujących wartości parametrów R w rejestrze, aby po wykonaniu podprogramu rejestr zwolnić, np :
L100
@041 R61 R69 ;
...
@043 R61 R69 ;
...
M17 ;
Ad @1 – dziaÅ‚ania na programie :
Tak jak nigdy dotąd nie korzystałem z funkcji @0, tak praktycznie nie ma programu, w których zastosowanie funkcji operujących na programie nie byłoby zbędne. I tak, drugą główną grupę funkcji dzielimy na poniższe podgrupy:
- 0 – skok absolutny
- 1 – instrukcja CASE (wybór warunkowy)
- 2 – instrukcja IF-THEN-ELSE
- 3 – instrukcja WHILE
- 4 – instrukcja REPEAT
- 5 – instrukcja FOR-TO
- 5 – instrukcja FOR-DOWNTO
Grupa 1 / podgrupa 0: skok absolutny
@100 <Const>/ <R-par >
Jedyna funkcja tej podgrupy. Umożliwia nam wykonanie skoku do linii programu, określonej stałą wartością, lub parametrem. Ujemną wartością tychże, określamy linię programu leżącą powyżej aktualnej linii kodu. Wartość dodatnia nakazuje skok poniżej aktualnej pozycji. Na przykład :
@100 K-50 // skok 'w górę' do linii nr 50
@100 K120 // skok 'w dół' do linii nr 120
@100 K=R0 // gdzie np. R0=100, skok w dół do linii nr 100
Grupa 1 / podgrupa 1: instrukcja CASE (wybór warunkowy)
@111 <warunek> <wartość 1> <Const 1>
<wartość 2> <Const 2>
..
..
..
<wartość n> <Const n> Â
@100 K..
Jedyna funkcja tej podgrupy. Umożliwia nam dokonanie warunkowego wyboru. Na przykład :
N475 @111 R11 K1 K480 // jeśli R11=1, skocz do N480
K2 K485 // jeśli R11=2, skocz do N485
K3 K490 // jeśli R11=3, skocz do N490
@100 K900 // jw pozostałych przypadkach skocz np. do N900
N480 ... // wykonanie operacji
@100 K495 // skok poza obszar funkcji warunkowego wyboru
N485 ...
@100 K495
N490 ...
N495 // koniec funkcji warunkowego wyboru
..
..
N900
Wkrótce dalszy ciÄ…g artykuÅ‚u…