home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / progtool / forth / doc / st_gloss.doc < prev    next >
Encoding:
Text File  |  1994-09-22  |  7.2 KB  |  170 lines

  1. 0720000001766
  2. 1
  3. 2page #
  4. 9[.....................................................]
  5. Atari260/520ST/+-spezifischeWorte
  6.  
  7. #col(--addr)"number-col"
  8. addristdieAdresseeinerVariablen,diedieNummerder
  9. aktuellenCursorzeileenthält.
  10.  
  11. #esc(--n)"number-escape"
  12. nistderAscii-WertfürEscape.
  13.  
  14. #lf(--n)"number-linefeed"
  15. nistderAscii-WertfürLinefeed.
  16.  
  17. #row(--addr)"number-row"
  18. addristdieAdresseeinerVariablen,diedieNummerder
  19. aktuellenCursorspalteenthält.
  20.  
  21. bconin(dev#--char)"b-con-in"
  22. charisteinZeichen,dasvomGerätmitderNummerdev#
  23. eingelesenwird.BCONINwartet(undhängtdadurch),
  24. biseinZeichenbereitsteht.TypischeGerätenummern
  25. sind:
  26. 0PRT;Centronics-Schnittstelle(Druckerport)
  27. 1AUX;RS232-Schnittstelle
  28. 2CON;TastaturundBildschirm
  29. 3MIDI;Midi-Schnittstelle
  30. 4IKBD;Tastatur-Port
  31. Gerätenummer4istbeidieserFunktionnichterlaubt.
  32.  
  33. bconout(chardev#--)"b-con-out"
  34. charisteinZeichen,dasandasGerätmitderNummer
  35. dev#ausgegebenwird.BCONINwartet(hängt),bisdas
  36. Zeichenausgegebenwurde.DieGerätenummernsinddie
  37. gleichenwiebeiBCONIN.AlleGerätenummernsind
  38. erlaubt.
  39.  
  40. ♪⑦bconstat(dev#--flag)"b-con-stat"
  41. flagistTRUE,wenneinZeichenaufdemGerätmitder
  42. Nummerdev#bereitsteht.Sonstistflag = FALSE.Die
  43. GerätenummernsinddiegleichenwiebeiBCONIN.Die
  44. Gerätenummern0und4sindbeidieserFunktionnicht
  45. erlaubt.
  46.  
  47. ♪⑥bcostat(dev#--flag)"b-co-stat"
  48. flagistTRUE,wenndasGerätmitderNummerdev#bereit
  49. ist,einZeichenzuempfangen.Sonstistflag = FALSE.
  50. DieGerätenummernsinddiegleichenwiebeiBCONIN.
  51. AlleGerätenummernsindbeidieserFunktionerlaubt.
  52.  
  53. ♪④con!(8b--)"con-store"
  54. gibt8baufdieCONsole(Bildschirm)aus.Ascii-
  55. Werte < $20werdenalsSteuercodesinterpretiert.
  56.  
  57. ♪③curleft(--)
  58. setztdenCursorumeineSpaltenachlinks.
  59.  
  60. curoff(--)
  61. schaltetdenCursoraus.
  62.  
  63. curon(--)
  64. schaltetdenCursorein.
  65.  
  66. currite(--)
  67. setztdenCursorumeineSpaltenachrechts.
  68.  
  69. display(--)
  70. einmitOUTPUT:definiertesWort,dasdenBildschirm
  71. alsAusgabegerätsetzt,wennesausgeführtwird.Die
  72. WorteEMIT,CR,TYPE,DEL,PAGE,ATundAT?
  73. beziehensichdannaufdenBildschirm.
  74.  
  75. getkey(--n)
  76. dieunteren7BitvonnenthaltendenAscii-Code,die
  77. unteren8BitdenANSI-Code(üAÇchüNÇein!üSÇch...üIÇBM)des
  78. nächstenTastendrucks,dieoberen8BitdenTastatur-
  79. Scancode.WarkeineTastegedrückt,istn=FALSE.
  80. (VergleicheKEY? undKEY )
  81.  
  82. index(fromto--)
  83. liestdieBLOCKsfrombistoeinschließlichundgibt
  84. derenersteZeilenaus.INDEXkannmiteiner
  85. beliebigenTasteangehaltenundmitEscoderControl-C
  86. abgebrochenwerden(SieheSTOP?).DieerstenZeilenvon
  87. ScreensenthaltentypischKommentare,diedenInhalt
  88. charakterisieren.
  89.  
  90. ♪⑥keyboard(--)
  91. einmitINPUT:definiertesWort,dasdieTastaturals
  92. Eingabegerätsetzt.DieWorteKEY,KEY?,DECODE
  93. undEXPECTbeziehensichaufdieTastatur.Siehe
  94. STKEY ,STKEY?,STDECODEundSTEXPECT.
  95.  
  96. ♪⑦rwabs(r/wfaddrrec#--flag)"r-w-abs"
  97. Istr/wf=FALSE,wirdeinBlockDaten($400bzw.&1024)
  98. BytesvomDisketten-SektormitderNummerrec#nachaddr
  99. gelesen.Istr/wf<>FALSE,werdenDatenvonaddrauf
  100. dieDiskettegeschrieben.DieseRoutinewirdvonSTR/W
  101. benutzt.
  102.  
  103. ♪⑤STat(rowcol--)"s-t-at"
  104. positioniertdenCursorindieZeilerowunddieSpalte
  105. col.EinFehlerliegtvor,wennrow>$18(&24)oder
  106. col >$40(&64)???ist.VergleicheAT.
  107.  
  108. ♪④STat?(--rowcol)"s-t-at-question"
  109. rowistdieaktuelleZeilennummerdesCursors,coldie
  110. aktuelleSpaltennummer.VergleicheAT?.
  111.  
  112. STcr(--)"s-t-c-r"
  113. setztdenCursorindieersteSpaltedernächstenZeile.
  114. EinPAUSEwirdausgeführt.
  115.  
  116. STdecode(addrpos1key--addrpos2)"s-t-decode"
  117. wertetkeyaus.keywirdinderSpeicherstelleaddr+pos1
  118. abgelegtundalsEchoaufdemBildschirmausgegeben.Die
  119. VariableSPANundposwerdeninkrementiert.Folgende
  120. Tastenwerdenbesondersbehandelt:Cursorrechtsund
  121. Cursorlinksbeeinflussennurpos1unddenCursor.
  122. DeletelöschtdasZeichenunterdemCursorund
  123. dekrementiertSPAN.BackspacelöschtdasZeichenlinks
  124. vomCursorunddekrementiertpos1undSPAN.Insert
  125. fügtanderCursorpositioneinLeerzeichenein.SPAN
  126. wirdinkrementiert.ReturnpositioniertdenCursorauf
  127. dasletzteZeichen.VergleicheINPUT:undSTexpect.
  128.  
  129. STdel(--)"s-t-del"
  130. löschteinZeichenlinksvomCursor.VergleicheDEL.
  131.  
  132. STemit(8b--)"s-t-emit"
  133. gibt8baufdemBildschirmaus.EinPAUSEwird
  134. ausgeführt.AlleWertewerdenalsZeichenausgegeben,
  135. Steuercodessindnichtmöglich,d.h.alleWerte < $20
  136. werdenalsATARI-SpezifischeZeichenausgegeben.
  137. VergleicheCON!undEMIT.
  138.  
  139. ♪⑧STexpect(addrlen--)"s-t-expect"
  140. erwartetlenZeichenvomEingabegerät,dieabaddrim
  141. Speicherabgelegtwerden.EinEchoderZeichenwird
  142. ausgegeben.ReturnbeendetdieEingabevorzeitig.Ein
  143. abschließendesLeerzeichenwirdimmerausgegeben.Die
  144. LängederZeichenkettewirdinderVariablenSPAN
  145. übergeben.VergleicheEXPECT.
  146.  
  147. ♪⑧STkey(--16b)"s-t-key"
  148. wartetaufeinenTastendruck.WährendderWartezeitwird
  149. PAUSEausgeführt.Dieunteren7Bitvon16benthalten
  150. denAscii-Code,dieunteren8BitdenANSI-Codeder
  151. Taste,dieoberen8BitdenTastatur-Scancode.
  152. Steuerzeichenwerdennichtausgewertet,sondern
  153. unverändertabgeliefert.VergleicheKEY.
  154.  
  155. ♪④STkey?(--flag)"s-t-key-question"
  156. flagistTRUE,wenneineTastegedrücktwurde,sonst
  157. FALSE .VergleicheKEY?.
  158.  
  159. STpage(--)"s-t-page"
  160. löschtdenBildschirmundpositioniertdenCursorindie
  161. linkeobereEcke.VergleichePAGE.
  162.  
  163. STtype(addrlen--)
  164. gibtdenString,derimSpeicherbeiaddrbeginntund
  165. dieLängelenhat,aufdemBildschirmaus.EinPAUSE
  166. wirdausgeführt.VergleicheTYPE,OUTPUT:und
  167. STEMIT.
  168.  
  169.  
  170.