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.
Sterowniki <strong>prog</strong>ramowalne MAX Logic<br />
zasadzie „ostatni przyszedł – pierwszy wyszedł” (last‐in, first‐out [LIFO]). Jest on przeznaczony do przekazywania<br />
parametrów i danych między poszczególnymi poleceniami. Stos można porównać z talią kart: położenie nowego elementu<br />
na stos można porównać z położeniem nowej karty na wierzchu talii, a zdjęcie elementu ze stosu ze zdjęciem karty z talii.<br />
Słowa w języku <strong>ForthLogic</strong> wykorzystują górne elementy stosu z reguły w charakterze operandów, zabierając je ze stosu i<br />
przywracając w ich miejsce wyniki, jeżeli takie są. Każdy ze stosów może pomieścić maksymalnie 16 elementów.<br />
W celu opisania słów służących do pracy ze stosami danych i matematycznym zastosujemy poniższy schemat:<br />
nazwa szczyt stosu przed ‐‐‐> szczyt stosu po<br />
słowa wykonaniem słowa wykonaniem słowa<br />
Uwaga! Najwyższy element na stosie (dodany jako ostatni) znajduje się po prawej.<br />
Do pracy ze szczytem stosu danych (3 górne elementy) służą słowa:<br />
DUP (od DUPLICATE – powielić) ‐ kopiuje górny element stosu danych, dodając do stosu jeszcze jeden element, równy<br />
temu, który wcześniej był górnym.<br />
DROP (usunąć) ‐ usuwa górny element ze stosu danych.<br />
OVER (przez) ‐ kopiuje element, znajdujący się na stosie bezpośrednio pod górnym i kładzie go na szczyt stosu.<br />
ROT (od ROTATE ‐ obracać) ‐ cyklicznie przestawia trzy górne elementy na stosie zgodnie z ruchem wskazówek zegara.<br />
SWAP (wymienić) ‐ zamienia miejscami dwa górne elementy na stosie danych.<br />
DUP A, B, C ‐‐‐> A, B, C, C<br />
DROP A, B, C ‐‐‐> A, B<br />
OVER A, B, C ‐‐‐> A, B, C, B<br />
ROT A, B, C, ‐‐‐> B, C, A<br />
SWAP A, B, C ‐‐‐> A, C, B<br />
Do pracy z dowolnym elementem stosu służą słowa:<br />
PICK (wziąć) ‐ powiela n dany element stosu (licząc od zera) i kładzie go na szczyt stosu (0 PICK = DUP; 1 PICK = OVER).<br />
ROLL (obrócić) ‐ przestawia n górny element stosu (licząc od zera) na szczyt stosu zgodnie z ruchem wskazówek zegara (2<br />
ROLL = ROT; 1 ROLL = SWAP; 0 ROLL jest „pustą” operacją).<br />
PICK An,An‐1,...Ao,n ‐‐‐> An,An‐1,...Ao,An<br />
ROLL An,An‐1,...Ao,n ‐‐‐> An‐1,...Ao,An<br />
Słowo . (kropka) ‐ zdejmuje element z wierzchołka stosu, wprowadza go do bufora wyjściowego i drukuje na terminalu<br />
jako liczbę całkowitą (bez początkowych zer i ze znakiem minus, jeśli jest to liczba ujemna).<br />
Jeśli użytkownik chce, aby wydrukowany element został na stosie, powinien wprowadzić następujący tekst:<br />
> DUP .<br />
Słowo DUP utworzy kopię górnego elementu, a kropka go zdejmie ze stosu i wydrukuje.<br />
Do pracy z wierzchołkiem stosu matematycznego (3 górne elementy) służą słowa:<br />
FDUP (od DUPLICATE ‐ powielać) – powiela wierzchołek stosu matematycznego, dodając do stosu jeszcze jeden element,<br />
równy temu, który wcześniej był górnym.<br />
FDROP (usunąć) ‐ usuwa górny element stosu matematycznego.<br />
FOVER (przez) ‐ powiela element stosu matematycznego, znajdujący się na stosie bezpośrednio pod górnym i kładzie go<br />
na szczyt stosu.<br />
FROT (od ROTATE – obracać) – cyklicznie przestawia trzy górne elementy na stosie matematycznym zgodnie z ruchem<br />
wskazówek zegara.<br />
FSWAP (wymienić) ‐ zamienia miejscami dwa górne elementy stosu matematycznego.<br />
FDUP A, B, C ‐‐‐> A, B, C, C<br />
FDROP A, B, C ‐‐‐> A, B<br />
‐ 12 ‐