ForthLogic inst prog H P.1.2 120113.pdf - F&F
ForthLogic inst prog H P.1.2 120113.pdf - F&F
ForthLogic inst prog H P.1.2 120113.pdf - F&F
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Instrukcja <strong>prog</strong>ramowania w języku <strong>ForthLogic</strong> wersja <strong>P.1.2</strong><br />
> NOAUTOSPACE ." Tekst “ SPACE QUOTE SPACE .” Hello world! " SPACE QUOTE<br />
> (OK) Tekst ” Hello world! "<br />
Na potrzeby realizacji zadań zachodzi potrzeba sprawdzenia czy wiersz w buforze wyjściowym nie jest „pusty”,<br />
ewentualnie, jakiej jest długości. Służy do tego słowo LENGHT (długość), które oblicza liczbę znaków wiersza wraz ze<br />
spacjami znajdującego się na dany moment w buforze wyjściowym i kładzie wynik na stos. Nie kasuje zawartości bufora<br />
wyjściowego.<br />
Do wykasowania tekstu znajdującego się na dany moment w buforze wyjściowym służy słowo FLUSH (zmyć).<br />
4.4 OPERACJE LOGICZNE<br />
Jak już wyjaśniano przy opisywaniu działania zmiennych jednobitowych (FLAG) w języku <strong>ForthLogic</strong> liczba 0 (w<br />
ekwiwalencie dwójkowym jej wszystkie pozycje to zera) przedstawia znaczenie logiczne FAŁSZ, a jakakolwiek inna liczba<br />
32‐bitowa przedstawia znaczenie logiczne PRAWDA. Jednocześnie słowa standardowe, które zwracają jako rezultat<br />
wartość logiczną, ze wszystkich możliwych postaci znaczenia PRAWDA wykorzystują tylko jedna wartość: liczbę ‐1 (w<br />
ekwiwalencie dwójkowym jej wszystkie pozycje to jedynki). Związane to jest z tym, że operacje logiczne: koniunkcji,<br />
dysjunkcji i zaprzeczenia wykonywane są na analogicznych pozycjach bitów danych operandów.<br />
Dla ułatwienia pracy przy tworzenia logicznych operacji istnieją specjalne stałe systemowe: TRUE (prawda) i FALSE (fałsz),<br />
które kładą na stos danych znaczenia logiczne PRAWDA i FAŁSZ.<br />
TRUE ‐ ‐‐‐> ‐1<br />
FALSE ‐ ‐‐‐> 0<br />
Dla opisanych znaczeń PRAWDA i FAŁSZ istnieją słowa, które wykonują logiczne obliczenia na górnych elementach stosu<br />
danych. Ich nazwy i funkcje są takie same jak znane, standardowe operatory matematycznych działań logicznych:<br />
AND A,B ‐‐‐> iloczyn logiczny (I) AB<br />
OR A,B ‐‐‐> suma logiczna (LUB) A+B<br />
XOR A,B ‐‐‐> symetryczna suma logiczna (ExOR) AB+ Ā B<br />
NOT A ‐‐‐> zaprzeczenie logiczne (NEGACJA) Ā<br />
Logiczne znaczenia wynikają także z operacji porównania. Te operacje zdejmują ze stosu dwa górne elementy, porównują<br />
je jako liczby ze znakiem i zwracają na stos danych porównania w postaci twierdzeń PRAWDA lub FAŁSZ. Znaki<br />
porównania, które wchodzą do zestawu bazowego słów mają ogólnie przyjęte oznaczenia:<br />
< A,B ‐‐‐> A < B mniejsze<br />
= A,B ‐‐‐> A = B równe<br />
> A,B ‐‐‐> A > B większe<br />
A A != B różne<br />
>= A,B ‐‐‐> A >= B większe lub równe<br />
Logiczne znaczenia również powstają w operacjach porównania liczb ze stosu matematycznego. Słowa usuwają z<br />
matematycznego stosа dwa górne znaczenia, porównują je jako liczby ze znakiem i kładą na stos danych wynik<br />
porównania pod postacią znaczeń PRAWDA lub FAŁSZ.<br />
Znaki porównania dla liczb zmiennoprzecinkowych:<br />
F< F: A,B ‐‐‐> F: ‐<br />
‐ ‐‐‐> A < B mniejsze<br />
F> F: A,B ‐‐‐> F: ‐<br />
‐ ‐‐‐> A > B większe<br />
Przykład obliczeń logicznych:<br />
‐ 21 ‐