Subversion Repositories Kolibri OS

Rev

Rev 4867 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. DECIMAL
  2.  
  3. \ ' DUP  VALUE 'DUP_V
  4. \ ' DROP VALUE 'DROP_V
  5.  
  6. USER     HLD  \ ¯¥à¥¬¥­­ ï - ¯®§¨æ¨ï ¯®á«¥¤­¥© «¨â¥àë, ¯¥à¥­¥á¥­­®© ¢ PAD
  7.  
  8. 0 VALUE  H-STDIN    \ åí­¤« ä ©«  - áâ ­¤ àâ­®£® ¢¢®¤ 
  9. 1 VALUE  H-STDOUT   \ åí­¤« ä ©«  - áâ ­¤ àâ­®£® ¢ë¢®¤ 
  10. 1 VALUE  H-STDERR   \ åí­¤« ä ©«  - áâ ­¤ àâ­®£® ¢ë¢®¤  ®è¨¡®ª
  11.  
  12. USER ALIGN-BYTES
  13.  
  14. : ALIGNED ( addr -- a-addr ) \ 94
  15. \ a-addr - ¯¥à¢ë© ¢ë஢­¥­­ë©  ¤à¥á, ¡®«ì訩 ¨«¨ à ¢­ë© addr.
  16.   ALIGN-BYTES @ DUP 0= IF 1+ DUP ALIGN-BYTES ! THEN
  17.   2DUP
  18.   MOD DUP IF - + ELSE 2DROP THEN
  19. ;
  20.  
  21. : ALIGN ( -- ) \ 94
  22. \ …᫨ 㪠§ â¥«ì ¯à®áâà ­á⢠ ¤ ­­ëå ­¥ ¢ë஢­¥­ -
  23. \ ¢ë஢­ïâì ¥£®.
  24.   DP @ ALIGNED DP @ - ALLOT
  25. ;
  26.  
  27. : ALIGN-NOP ( n -- )
  28. \ ¢ë஢­ïâì HERE ­  n ¨ § ¯®«­¨âì NOP
  29.   HERE DUP ROT 2DUP
  30.   MOD DUP IF - + ELSE 2DROP THEN
  31.   OVER - DUP ALLOT 0x90 FILL
  32. ;
  33.  
  34. : IMMEDIATE ( -- ) \ 94
  35. \ ‘¤¥« âì ¯®á«¥¤­¥¥ ®¯à¥¤¥«¥­¨¥ á«®¢®¬ ­¥¬¥¤«¥­­®£® ¨á¯®«­¥­¨ï.
  36. \ ˆáª«îç¨â¥«ì­ ï á¨âã æ¨ï ¢®§­¨ª ¥â, ¥á«¨ ¯®á«¥¤­¥¥ ®¯à¥¤¥«¥­¨¥
  37. \ ­¥ ¨¬¥¥â ¨¬¥­¨.
  38.   LAST @ NAME>F DUP C@ &IMMEDIATE OR SWAP C!
  39. ;
  40.  
  41.  
  42. : :NONAME ( C: -- colon-sys ) ( S: -- xt ) \ 94 CORE EXT
  43. \ ‘®§¤ âì ¢ë¯®«­¨¬ë© ⮪¥­ xt, ãáâ ­®¢¨âì á®áâ®ï­¨¥ ª®¬¯¨«ï樨 ¨
  44. \ ­ ç âì ⥪ã饥 ®¯à¥¤¥«¥­¨¥, ¯à®¨§¢¥¤ï colon-sys. „®¡ ¢¨âì ᥬ ­â¨ªã
  45. \ ¨­¨æ¨ «¨§ æ¨¨ ª ⥪ã饬㠮¯à¥¤¥«¥­¨î.
  46. \ ‘¥¬ ­â¨ª  ¢ë¯®«­¥­¨ï xt ¡ã¤¥â § ¤ ­  á«®¢ ¬¨, ᪮¬¯¨«¨à®¢ ­­ë¬¨
  47. \ ¢ ⥫® ®¯à¥¤¥«¥­¨ï. â® ®¯à¥¤¥«¥­¨¥ ¬®¦¥â ¡ëâì ¯®§¦¥ ¢ë¯®«­¥­® ¯®
  48. \ xt EXECUTE.
  49. \ …᫨ ã¯à ¢«ïî騩 á⥪ ॠ«¨§®¢ ­ á ¨¬¯®«ì§®¢ ­¨¥¬ á⥪  ¤ ­­ëå,
  50. \ colon-sys ¡ã¤¥â ¢¥àå­¨¬ í«¥¬¥­â®¬ ­  á⥪¥ ¤ ­­ëå.
  51. \ ˆ­¨æ¨ «¨§ æ¨ï: ( i*x -- i*x ) ( R: -- nest-sys )
  52. \ ‘®åà ­¨âì § ¢¨áïéãî ®â ॠ«¨§ æ¨¨ ¨­ä®à¬ æ¨î nest-sys ® ¢ë§®¢¥
  53. \ ®¯à¥¤¥«¥­¨ï. «¥¬¥­âë á⥪  i*x ¯à¥¤áâ ¢«ïîâ  à£ã¬¥­âë xt.
  54. \ xt ‚믮«­¥­¨¥: ( i*x -- j*x )
  55. \ ‚믮«­¨âì ®¯à¥¤¥«¥­¨¥, § ¤ ­­®¥ xt. «¥¬¥­âë á⥪  i*x ¨ j*x
  56. \ ¯à¥¤áâ ¢«ïîâ  à£ã¬¥­âë ¨ १ã«ìâ âë xt ᮮ⢥âá⢥­­®.
  57.   HERE ]
  58.   HERE TO :-SET ;
  59.  
  60. : INCLUDED INCLUDED_ ;
  61.   ' NOOP       TO <PRE>
  62.  ' FIND1      TO FIND
  63.   ' ?LITERAL2  TO ?LITERAL
  64.  ' ?SLITERAL2 TO ?SLITERAL
  65.   ' OK1        TO OK.
  66.  ' (ABORT1")  TO (ABORT")
  67.  
  68. VECT TYPE ' _TYPE TO TYPE
  69. VECT EMIT ' _EMIT TO EMIT
  70.  
  71.  
  72. : H. BASE @ SWAP HEX U. BASE ! ;
  73.  
  74. : TST S" /sys/autoload.f" INCLUDED_ ;
  75. : TST1 S" WORDS" EVALUATE ;
  76.  
  77.