---
tags: colorForth
---
# Hogyan kell programozni a <a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a> <a style='color:#ff0000'>c</a><a style='color:#009900'>F</a>2019-ben?
[TOC]
## Bevezetés
Ez egy bemutató arról, hogyan kell programozni a <a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a>-ban Windows alatt, az általam forgalmazott és támogatott cf2019 rendszer használatával.
A<a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a> a Forth programozási nyelv egy dialektusa, mindkét nyelvet Charles H. "Chuck" Moore találta fel ; - a Forth-ot 1968 körül, a <a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a>-ot pedig az 1990-es évek végén.
A cf2019_colorForth.pdf fájl részletesebb magyarázatot ad.
A <a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a> nem olyan, mint bármi más.
Amikor a <a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a>-ban megnyomunk egy billentyűt, történik valami. Hogy pontosan mi történik, az a rendszer aktuális állapotától függ, és ez a rendszerállapot jelenik meg a képernyőn. Absztrakt módon ez minden számítógépes programra igaz - a <a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a> esetében az a különbség, hogy teljes - semmi más nem történik.
A cf2019 egy folyamatban lévő munka, és mindig is az lesz. Remélem, hogy hozzáadhatok verziókezelést, stringeket stb. stb. stb., de anélkül, hogy elveszíteném a colorForth elképesztő egyszerűségét.
A <a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a> támogatásával az a szándékom, hogy a lehető legtöbb ember számára elérhetővé tegyem.
Visszajelzéseket szívesen fogadok howerd@inventio.co.uk www.inventio.co.uk.
Jó szórakozást!
Howerd Oakford
## A colorForth letöltése és futtatása
Töltsd le a <a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a> programot a "cf2019 Issue 2021Aug15.7z" fájl segítségével a: http://www.inventio.co.uk/colorforth/ vagy ide kattintva:
https://www.inventio.co.uk/colorforth/cf2019%20Issue%202021Aug15.7z
Csomagold ki egy Windows rendszert futtató számítógépen, például a <a style='color:#ff0000'>c</a><a style='color:#009900'>F</a>2019 mappába.
Kattints duplán a go.bat parancsra.

Nyomjd meg az Enter billentyűt a billentyűzeten, vagy kattints az OK gombra, hogy a Bochs teljes képernyős módban fusson:

Megjegyzés: a billentyűzeten az Alt-Enter billentyűvel kiléphetsz a teljes képernyős módból, és onnan a Power gombbal bezárhatod a Bochs-t.
A <a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a> logó rövid ideig villogni fog, majd a <a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a> szerkesztőben a 32-es blokknak kell megjelennie:

Nyomja meg az F4 billentyűt a billentyűzeten a színvak üzemmód kiválasztásához:

A színvak üzemmód a piros szavakhoz ':', a megjegyzésekhez '(' és ')', az azonnali szavakhoz pedig '[' és ']' hozzáadódik.
Ezáltal a kód jobban hasonlít a hagyományos Forth-ra, és színvakok számára is használhatóvá válik.
Nyomja meg a billentyűzet szóköz billentyűjét a <a style='color:#ff0000'>color</a><a style='color:#009900'>Forth</a> szerkesztőből való kilépéshez:

Figyelje meg a sárga billentyűzetet a jobb alsó sarokban, amelyen a "pyfi gcrl" stb. szerepel. A sárga szín azt jelenti, hogy "azonnali" - bármit is írsz be, azonnal végrehajtódik, amikor megnyomod a szóköz billentyűt. Figyeljük meg, hogy a billentyűzet felett és alatt lévő két narancssárga vonal (amelyek a szerkesztő módot jelzik) már nincs ott.
Mostantól kezdve a billentyűzetre hivatkozva válassza ki, hogy melyik karaktert írja be, nem pedig a billentyűzetre. A [cf2019_colorForth.pdf](https://www.inventio.co.uk/colorforth/cf2019_colorForth.pdf) részletesebb magyarázatért olvassa el a cf2019_colorForth.pdf fájlt.

*Ábra 1 A billentyűzet*

*Ábra 2 A gombok térképe*
A billentyűzet alsó sorában lévő "9*" azt jelenti, hogy a szóköz billentyű számmódra vált ("9"), a kis "x" pedig azt jelenti, hogy az AltGr billentyű alternatív karakterekre vált (például *). A '*' csillag karakter úgy néz ki, mint egy kis 'x', mert szorzást jelent. A billentyűzet 'N' billentyűjét gyakran használják az üzemmódból való kilépésre.
A billentyűzet mind a 27 használt billentyűzetbillentyűjének műveleteit a billentyűzet megfelelő karaktere jelzi.
Nincs '_' aláhúzás, ezért az alábbi utasításokban azt fogom használni, hogy "nyomja meg a szóközt".
## A 250-es blokk szerkesztése
A 0-31-es blokkok a colorForth rendszer primitív szavait tartalmazzák, a 32-63-as blokkok a colorForth rendszer Forth szavait,
a 64-511-es blokkok pedig az Alkalmazásokat.
\ Nyomja meg a billentyűzet szóköz billentyűjét a számok üzemmódba való belépéshez.

*Ábra 3 Szám üzemmódban, a billentyűzetgombok térképe*
`250 `
\ Nyomja meg a számbillentyűket egy szám beírásához
Ez azt jelenti, hogy nyomja meg az 'I' billentyűt, majd a 'K' billentyűt a billentyűzeten, majd az 'L' billentyűtől jobbra lévő bármelyik billentyűt.
billentyű mögött. Egy német QWERTZ billentyűzeten ez az 'Ö', egy QWERTY billentyűzeten valószínűleg egy ';'.
Nyomja meg újra a szóköz billentyűt, hogy visszatérjen a szöveges üzemmódba - erre utal az 'a' betű a billentyűzeten:
_ \ a számmódból való kilépéshez nyomja meg a billentyűzet szóköz billentyűzetét.
Most már a '250' szám van a veremben:

edit_ \ a 250-es blokk szerkesztéséhez írja be az "edit" szót (az '_' a szóköz billentyűt jelenti).
A "szerkesztés" beírásához a billentyűzeten a DVRK billentyűket kell megnyomnia, de a legjobb, ha megpróbál elfelejteni a billentyűzetet és
a billentyűzetre koncentráljon. Vegye figyelembe, hogy a billentyűzet folyamatosan változik.
A képernyőnek most így kell kinéznie:

Balra fent a narancssárga kurzor mutatja, hogy hova kerül be a következő Forth szó.
Jobbra fent a szerkesztett blokk száma, ebben az esetben 250. Ez a blokk jelenleg üres.
Balra lent a verem látható, amely jelenleg szintén üres (korábban így nézett ki).
A narancssárga vonalak a billentyűzet felett és alatt azt mutatják, hogy szerkesztési módban vagyunk.
A billentyűzet bal oldalán lévő "edit" szó az utoljára beírt Forth szót mutatja. Mivel egy szó minden egyes karaktere
beírása során a karakter értéke felhalmozódik a veremben, és ennek a felhalmozott értéknek a szöveges megjelenítése a következő
a billentyűzet bal oldalán jelenik meg.
Ha kilépett a szerkesztőből, és vissza akar térni, a sárga azonnali módban írja be az "e" billentyűt, (majd a szóközt), hogy szerkesszen
az utoljára szerkesztett blokkot.
Most a 250-es blokkot szerkesztjük a főszerkesztő billentyűzetével:

*Ábra 4 A főszerkesztő billentyűzete*
## A program beírása
Egy új Forth szó definiálásához be kell írnunk egy piros nevet, ezért nyomjuk meg az 'r' billentyűt a főszerkesztő billentyűzetén (ez az 'I' billentyű).
billentyű a billentyűzeten). Nem kell kettőspontot (':' ) beírni, mert színvak üzemmódban ez automatikusan hozzáadódik.

*Ábra 5 A "fib" Forth szó létrehozása, mielőtt megnyomná a Space billentyűt.*
A fenti képen a képernyő a "fib" beírása után, de a szóköz megnyomása előtt látható. A "fib" név van a felső részén a Huffman tömörített értékként (46051) a verem tetején van, és jobbra lentebb "fib"-ként dekomprimálva látható.

*Ábra 6 A "fib" Forth szó létrehozása, a Space megnyomása után*
A szóköz megnyomása után a veremben lévő érték (45061) eltávolításra került, és átmásolódott a kurzor pozíciójába a blokkba. A szerkesztő a blokk első 32 bitjében lévő értéket piros színű (':' betűvel) "fib" szövegként jeleníti meg.
A szerkesztő billentyűzete most zöldre váltott, ami a fordítási módot jelzi. Figyeljük meg a billentyűzet jobb alsó sarkában lévő 'g'-t, ami zöldet jelez (korábban piros 'r' volt).
A kurzor most a ": fib" szöveg utánra került. Nincs szóköz karakter a colorForth Huffmanben. tömörített 32 bites értékekben, de a szerkesztő automatikusan hozzáad egyet a következő szó megjelenítésekor.
Most már beírhatjuk a zöld (lefordított) kódot az új Forth szóhoz: fib push 1 dup pop -2 +

*Ábra 6*
**A szöveg és a számok beírása a billentyűzet segítségével némi gyakorlatot igényel!**
Az '1' szám beírásához nyomja meg a szóköz billentyűt anélkül, hogy más karaktereket írna be - ezzel belép a számok üzemmódba.
Nyomja meg az '1'-et a billentyűzet segítségével ('U' a billentyűzeten), majd a szóköz billentyűt. A "-2" beírásához nyomja meg a "-" billentyűt a billentyűzeten.
('N' a billentyűzeten), majd a '2' számot ('I' a billentyűzeten). Ezután nyomja meg a szóköz billentyűt.

*Ábra 7 Számbillentyűzet*
A "+" karakter beírásához nyomja meg a billentyűzeten a "*" billentyűt (Alt-Gr a billentyűzeten), hogy alternatív karakter módba lépjen:
 
*Ábra 8/a Karaktertábla 8/b Alternatív karaktertábla
Ezután nyomja meg a billentyűzeten a "+" billentyűt (a billentyűzeten a "C" billentyűt), majd a szóköz billentyűt.
## Mentsd el a munkádat
Miután eltöltött egy kis időt a program beírásával, itt az ideje, hogy elmentse a munkáját.
Lépjen ki a szerkesztőből a billentyűzet '.' billentyűjével (a billentyűzeten az 'N' billentyűvel), majd nyomd meg a szóköz billentyűt visszatérni a sárga azonnali billentyűzethez:

Írd be a billentyűzetre a "sa" szót, majd a szóközt. A cf2019 rendszer a cf2019.img fájlba lesz mentve.

A "sa" beírásával visszatérhet a szerkesztőhöz, hogy további szavakat adhasson hozzá.

Ha kikapcsolja a Bochs-t, és újra lefuttatja a go.bat programot, a kurzor visszaáll a blokk elejére. Használja a
"ludr" billentyűket a billentyűzeten, vagy a billentyűzet nyílbillentyűit, hogy a kurzort a "+" utánra helyezze. A Kezdőlap és a Vég
billentyűk ( Pos1 és Ende a német billentyűzeten) szintén a kód elejére és végére mozgatják a kurzort.
Ezután a billentyűzeten megnyomhatja az "r" billentyűt az új piros definíció megadásához.
: f -if drop nip ; akkor push swap over + pop -1 + f ;
Vegye figyelembe, hogy a "-if"-ben lévő '-' egy kötőjel, nem pedig számbillentyüzetel beírható minusz jel, ezért az alternatív karakterrel kell beírnia.
A "-2"-ben lévő '-' viszont minusz karakter, és a számbillentyűzetet kell használni (a '-' billentyűt a '2' előtt kell megnyomni).
Mentse el újra a munkáját!
## A program betöltése és futtatása
Lépjen ki ismét a szerkesztőből a szóköz megnyomásával, majd írja be az "ll" billentyűt az aktuális blokk betöltéséhez.
Az "ll" egy a sok kétbetűs szó közül - a lista megtekintéséhez lásd az A. függelék Hasznos parancsok című részét.
Nyomja meg a szóköz billentyűzetet az azonnali számbillentyűzet megjelenítéséhez, nyomja meg a "8"-at a billentyűzeten (például), majd a szóköz billentyűt,
majd írja be a "fib" billentyűt a 8. Fibonacci-szám kiszámításához.
1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584….

Láthatjuk a 8-as számot a veremben, majd a Huffman tömörített "fib" szót (46051). A szóköz megnyomása
megnyomásával a válasz a veremre kerül: 34.
Figyeljük meg, hogy a billentyűzeten az F4 billentyűt nyomtam meg, hogy kilépjek a színvak üzemmódból - a kód jobban elfér egy sorban.

## További funkciók
Hozzáadhat megjegyzéseket, halmazkommentárokat és kék szavakat (a szöveg formázásához a kijelzőn):

Nyomja meg az F3 gombot a kék szavak megjelenítésének engedélyezéséhez/letiltásához. Nyomja meg az F4 gombot a színvak üzemmód engedélyezéséhez/tiltásához.
Egy alternatív kijelző így néz ki:

Jó gyakorlat egy árnyékblokk hozzáadása, amely elmagyarázza, hogy mit csinál az alkalmazás:

Az árnyékblokkok páratlan számozású blokkokban vannak, a Forth kód páros számozású blokkokban van, váltani lehet a a főszerkesztő billentyűzetén található '*' billentyűvel tudunk a kettő között váltani.
A sárga azonnali szavak [ 8 fib ] a blokk betöltésekor kerülnek végrehajtásra, így a 34-es válasz a veremre kerül. Ez némi gépelést takarít meg ;-)
A fehér megjegyzés a felső sorban "App: Fibonacci" jelöli ezt a blokkot, mint cf2019 App.
Vegye figyelembe, hogy az első szónak pontosan úgy kell lennie, ahogyan a főszerkesztő billentyűzetén a nagy 'C' módot használva "App:" írva van.
A colorForth explorer App futtatása az "xx" beírásával megmutatja az összes Alkalmazást a rendszerben:

A billentyűzet '-' és '+' billentyűivel jelölje ki az alkalmazást, majd nyomja meg a szóköz billentyűt a futtatásához. Láthatod, hogy futtattam a Fibonacci alkalmazást kétszer, így két válasz maradt a veremben.
## Mentsd el a munkádat 2. rész
Ha elégedett vagy a programoddal, akkor valóban el kell mentened azt újra, más módon.
Az "sa" vagy hasonló szavak, mint például az "ss" és a "save" beírásával az általad írt kódot (ami a RAM-ban van) átmásolod a
cf2019.img fájlba a lemezen.
A cf2019.img fájlról biztonsági másolatot kell készítenie, mert a goc.bat fájl futtatása felülírja azt, és törli az összes
munkáját.
A goc.bat lefordítja a rendszert, majd lefuttatja azt, de a rendszer cf2019Ref.img hivatkozási másolatát használja, mint a
goc a go_compile rövidítése. A go.bat csak a cf2019.img-et futtatja.
Én például a Windows segítségével a cf2019.img fájlt a cf2019_2022Jan01.img fájlba szoktam másolni - ez egy durva formája a cf2019_2022Jan01.img fájlnak.
verzióellenőrzés.
Van egy new.bat batch fájl is, amely a cf2019.img-et a cf2019Ref.img-be másolja:
copy /b .\cf2019.img .\cf2019Ref.img
A new.bat futtatása az új programot a cf2019 rendszer részévé teszi, így a goc.bat futtatása nem fogja törölni azt.
Ne feledje, hogy a goc.bat futtatása visszaállítja a rendszer "gyári alapértelmezett állapotát" - az "xx"-et használhatja az alkalmazás megkereséséhez, vagy a "250"-t.
edit" segítségével megtekintheti a kódot.
## Hasznos parancsok
| Parancs | akció |
| ------- | ----- |
| e | A legutóbb szerkesztett blokkot megjelenítő szerkesztő futtatása |
| 32 | edit A colorForth szerkesztő futtatása a 32-es blokk megjelenítésével.
| xx | A colorForth Explorer futtatása |
| ll | A szerkesztő által megjelenített aktuális blokk betöltése |
| vv | Az ld parancs által utoljára betöltött blokk megtekintése |
| uu | Az aktuális blokk összes módosításának visszavonása |
| ss | Az aktuális blokk mentése a lemezre
| save | A teljes rendszer mentése a lemezre. Megváltoztathatja az USB stick biztonsági mentéshez. |
| sa | Mentés és visszatérés a szerkesztőhöz |
| logo | A colorForth logó képernyő megjelenítése |
| empty | A mark meghívása óta összeállított összes definíció eltávolítása |
| mark | Az aktuális rendszerállapot jelölése üres |
| $1000 dump | Az $1000 címen kezdődő 16 32 bites cella kiürítése. |
| bye | Kilép a rendszerből, elvetve az utolsó mentés, sa vagy ss óta végzett összes szerkesztést. |
| hlp | Frissíti a hardveres rendszerinformációt és megjeleníti a start blokkot. Ez jelenleg a 32-es blokk, és megjeleníti az Alkalmazások listáját. |
| life | Futtassa a Conway's Game of Life demóját. Nyomja meg a szóköz billentyűt a kilépéshez (a billentyűzet mnemonikájában egy '.' jelöli), majd írja be az xx és nyomja meg a szóköz billentyűt. Görgessen a "Conways Game of Life" (Conway életjátéka) menüponthoz és nyomja meg az e billentyűt a forráskód megtekintéséhez, majd nyomja meg a '*' billentyűt a szerkesztőben a dokumentációs árnyékblokk megtekintéséhez. |
A kurzort a szerkesztőben a kurzorvezérlő billentyűkkel, illetve a nyíl a HOME és az END billentyűkkel is mozgathatja közvetlenül egy piros szó után (szerkesztő vagy értelmező módban), majd nyomja meg az Enter billentyűt (a QWERTY vagy a QWERTZ billentyűzeten, nem a billentyűzeten) az adott szó végrehajtásához.