16.06.2015 Views

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

SHOW MORE
SHOW LESS

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 ‐

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!