Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. ( ëÏÍÐÉÌÑÃÉÑ ÞÉÓÅÌ ÓÌÏ×ÁÒØ.
  2.   ïó-ÎÅÚÁ×ÉÓÉÍÙÅ ÏÐÒÅÄÅÌÅÎÉÑ.
  3.   Copyright [C] 1992-1999 A.Cherezov ac@forth.org
  4.   ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÉÚ 16-ÒÁÚÒÑÄÎÏÇÏ × 32-ÒÁÚÒÑÄÎÙÊ ËÏÄ - 1995-96ÇÇ
  5.   òÅ×ÉÚÉÑ - ÓÅÎÔÑÂÒØ 1999, ÍÁÒÔ 2000
  6. )
  7.  
  8. : RDROP  ['] C-RDROP  INLINE, ;   IMMEDIATE
  9. : 2RDROP ['] C-2RDROP INLINE, ;   IMMEDIATE
  10. : 3RDROP ['] C-3RDROP INLINE, ;   IMMEDIATE
  11.  
  12. 5 CONSTANT CFL     \ ÄÌÉÎÁ ËÏÄÁ, ËÏÍÐÉÌÉÒÕÅÍÏÇÏ CREATE × ÓÅÇÍÅÎÔ CS.
  13. \ USER     DOES>A  \ ×ÒÅÍÅÎÎÁÑ ÐÅÒÅÍÅÎÎÁÑ - ÁÄÒÅÓ ÄÌÑ DOES>
  14.  
  15. : SET-CURRENT ( wid -- ) \ 94 SEARCH
  16. \ õÓÔÁÎÏ×ÉÔØ ÓÐÉÓÏË ËÏÍÐÉÌÑÃÉÉ ÎÁ ÓÐÉÓÏË, ÉÄÅÎÔÉÆÉÃÉÒÕÅÍÙÊ wid.
  17.  CURRENT !
  18. ;
  19.  
  20. : GET-CURRENT ( -- wid ) \ 94 SEARCH
  21. \ ÷ÏÚ×ÒÁÝÁÅÔ wid - ÉÄÅÎÔÉÆÉËÁÔÏÒ ÓÐÉÓËÁ ËÏÍÐÉÌÑÃÉÉ.
  22.  CURRENT @
  23. ;
  24.  
  25. : IS-TEMP-WL ( -- flag )
  26. \ ÐÒÏ×ÅÒÑÅÔ, Ñ×ÌÑÅÔÓÑ ÌÉ ÔÅËÕÝÉÊ ÓÌÏ×ÁÒØ ËÏÍÐÉÌÑÃÉÉ ×ÒÅÍÅÎÎÙÍ (×ÎÅÛÎÉÍ)
  27.  GET-CURRENT CELL- @ -1 =
  28. ;
  29. 0 [IF]
  30. : DP ( -- addr ) \ ÐÅÒÅÍÅÎÎÁÑ, ÓÏÄÅÒÖÁÝÁÑ HERE ÓÅÇÍÅÎÔÁ ÄÁÎÎÙÈ
  31.  IS-TEMP-WL
  32.  IF GET-CURRENT 6 CELLS + ELSE (DP) THEN
  33. ;
  34. [THEN]
  35. : ALLOT ( n -- ) \ 94
  36. \ åÓÌÉ n ÂÏÌØÛÅ ÎÕÌÑ, ÚÁÒÅÚÅÒ×ÉÒÏ×ÁÔØ n ÂÁÊÔ ÐÒÏÓÔÒÁÎÓÔ×Á ÄÁÎÎÙÈ. åÓÌÉ n ÍÅÎØÛÅ
  37. \ ÎÕÌÑ - ÏÓ×ÏÂÏÄÉÔØ |n| ÂÁÊÔ ÐÒÏÓÔÒÁÎÓÔ×Á ÄÁÎÎÙÈ. åÓÌÉ n ÎÏÌØ, ÏÓÔÁ×ÉÔØ
  38. \ ÕËÁÚÁÔÅÌØ ÐÒÏÓÔÒÁÎÓÔ×Á ÄÁÎÎÙÈ ÎÅÉÚÍÅÎÎÙÍ.
  39. \ åÓÌÉ ÐÅÒÅÄ ×ÙÐÏÌÎÅÎÉÅÍ ALLOT ÕËÁÚÁÔÅÌØ ÐÒÏÓÔÒÁÎÓÔ×Á ÄÁÎÎÙÈ ×ÙÒÏ×ÎÅÎ É n
  40. \ ËÒÁÔÎÏ ÒÁÚÍÅÒÕ ÑÞÅÊËÉ, ÏÎ ÏÓÔÁÅÔÓÑ ×ÙÒÏ×ÎÅÎÎÙÍ É ÐÏÓÌÅ ALLOT.
  41. \ åÓÌÉ ÐÅÒÅÄ ×ÙÐÏÌÎÅÎÉÅÍ ALLOT ÕËÁÚÁÔÅÌØ ÐÒÏÓÔÒÁÎÓÔ×Á ÄÁÎÎÙÈ ×ÙÒÏ×ÎÅÎ ÎÁ
  42. \ ÇÒÁÎÉÃÕ ÓÉÍ×ÏÌÁ É n ËÒÁÔÎÏ ÒÁÚÍÅÒÕ ÓÉÍ×ÏÌÁ, ÏÎ ÏÓÔÁÅÔÓÑ ×ÙÒÏ×ÎÅÎÎÙÍ ÎÁ
  43. \ ÇÒÁÎÉÃÕ ÓÉÍ×ÏÌÁ É ÐÏÓÌÅ ALLOT.
  44.  DP +!
  45. ;
  46.  
  47. : , ( x -- ) \ 94
  48. \ úÁÒÅÚÅÒ×ÉÒÏ×ÁÔØ ÏÄÎÕ ÑÞÅÊËÕ × ÏÂÌÁÓÔÉ ÄÁÎÎÙÈ É ÐÏÍÅÓÔÉÔØ x × ÜÔÕ ÑÞÅÊËÕ.
  49.  DP @ 4 ALLOT !
  50. ;
  51.  
  52. : C, ( char -- ) \ 94
  53. \ úÁÒÅÚÅÒ×ÉÒÏ×ÁÔØ ÍÅÓÔÏ ÄÌÑ ÓÉÍ×ÏÌÁ × ÏÂÌÁÓÔÉ ÄÁÎÎÙÈ É ÐÏÍÅÓÔÉÔØ ÔÕÄÁ char.
  54.  DP @ 1 ALLOT C!
  55. ;
  56.  
  57. : W, ( word -- )
  58. \ úÁÒÅÚÅÒ×ÉÒÏ×ÁÔØ ÍÅÓÔÏ ÄÌÑ word × ÏÂÌÁÓÔÉ ÄÁÎÎÙÈ É ÐÏÍÅÓÔÉÔØ ÔÕÄÁ char.
  59.  DP @ 2 ALLOT W!
  60. ;
  61.