¡@

²Ä¤­³¹ ¹ê²{¶¥¬q¡G²Å¦¡¤åÅ骺²Õ¦¨¤¸¯À ¡]Elements of Forth Style¡^

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¼g±o¤£¦nªº²Å¦¡µ{¦¡¡A¦³¤H»¡¬Ý°_¨Ó¹³"³q¹L©U§£À½À£¾÷ªºµ{¦¡½X"¡C¤£¿ù¡A¨º¬O¦]¬° ²Å¦¡¦b¼¶¼gÀ³¥Îµ{¦¡ªº¤èªk¤W¤¹³\§ó¦hªº¦Û¥Ñ¡CµM¦Ó¡A­Y¯à²Ó¤ß¦a¹B¥Î¨}¦n²Å¦¡¤åÅ餤 ªº³o¨Ç¤¸¯À¡A«h¨º¥÷¦Û¥Ñ¤]¯àÅý§Ú­Ì¦³¾÷·|¼g¥X¥iŪ©Ê°ª¡B¤S®e©öºûÅ@ªºµ{¦¡½X¡C ¥»³¹­n²`¤J±´°Q²Å¦¡¦b"¼g½X"¡]coding¡^¤Wªº¤@¨Ç¬ù©w¡]convention¡^¡A¨ä¤¤¥]¬A¡G

µ{¦¡¦Cªíªº²Õ´¡]Listing organization¡^ ¹õªº°t¸m¡A¶¡¹j¤ÎÁY±Æ¡]Indentation¡^ µù¸Ñ ©R¦W

§Ú§Æ±æ¯à±ÀÂˤ@¥÷¡u©ñ½Ñ¤Ñ¤U¬Ò¬°·Ç¡vªº¬ù©wµ¹¨C¤@­Ó¤H¡C¤£©¯ªº¬O¡A³o¼Ëªº¤@¥÷ ²M³æ¡A¦b«Ü¦h±¡ªp¤U¤£¨£±o³£¬O¾A¥Îªº¡C¥»³¹±N³\¦h¼s³Q±Ä¥Îªº¬ù©w©M­Ó¤Hªº°¾¦n´| ¦X¦b¤@°_¡A¨Ãªþ¤W¨ä¥¦ªº¨£¸Ñ©M³o¨Ç°¾¦nªº²z¥Ñ¡C´«¥y¸Ü»¡¡G

      : ´£¥Ü   »ù­È  µûÂ_  ;

¯S§O­n·PÁÂKim Harris¥ý¥Í¡C¥»³¹©Ò´£¨ìªº¬ù©w¡A¦h¥b¬O¥Ñ¥L©Ò«ØÄ³ªº¡C§ó·PÁÂ¥L ¦b¹ïÀu¨}²Å¦¡¤åÅ骺¤@¨Ç¤À§Á¬Ýªk¤W¡AÁæ¦Ó¤£±Ë¦a©Ò§@ªº²Î¤@¾ã¦Xªº°^Äm¡C
µ{¦¡¦Cªíªº²Õ´

²Õ´¨}¦nªº®Ñ¡A¥²©w¦³©w¸q²M´·ªº³¹¸`¡A¤Î¤@¥÷§¹¾ãªº¥Ø¿ý¡A¨Ï§A¯à¤@²´«K¬Ý¥X ¥þ®Ñªº²Õ´¡C¤@¥»²Õ´¨}¦nªº®Ñ¡A¤ñ¸û®e©öŪ¡C¤@¥»²Õ´¤£¨}ªº®Ñ«hÃøÀ´¡A¤é«á¬d¾\¸ê®Æ ¤]·|«Ü§xÃø¡C ³oºØ¨}¦n²Õ´ªº»Ý¨D¡A¤]¦P¼Ë¾A¥Î¦bµ{¦¡ªº¦Cªí¤W¡C¨}¦nªº²Õ´¯A¤Î¤U¦C¤T¤è­±¡G

1. ©î¸Ñ¡]Decomposition¡^ 2. ²Õ¦X¡]Composition¡^ 3. ÀɮפÀ°Ï
©î¸Ñ

¥¿¦p§Ú­Ì©Ò¨£¡A¤@­Óµ{¦¡¦Cªíªº²Õ´¡AÀ³¸Ó¹ïÀ³µÛÀ³¥Îµ{¦¡©î¸Ñ¦Ó¦¨ªºµü¶°¡C¤@¯ë¦Ó¨¥¡A ³o¨Çµü¶°À³¸Ó¨Ì·Ó"¨Ï¥Î¤W"ªº¶¶§Ç¡A¨Ì¦¸±Æ¦C¡C"³Q¨Ï¥Î"ªºµü¶°À³¸Ó±Æ¦b"¨Ï¥Î"¥¦ªºµü¶° ¤§«e¡C ¤jÅé¤W¡Aµ{¦¡¦Cªí¤¤ªº¤¸¯ÀÀ³¸Ó«ö·Ó¥¦­Ìªº½ÆÂø«×¨Ó½s²Õ¡A³Ì½ÆÂøªºªF¦è¥X²{¦b³Ì«á ­±¡C¨Æ±¡³Ì¦n¯à³Q¦w±Æ¨ì¤@ºØµ{«×¡A¨Ï§A¯à°÷ªÅµÛ³Ì«áªº¤@¨Ç¹õ¤£¥Î¡]¤]´N¬O¡A¤£­n¸ü¤J ¥¦­Ì¡^¡A¤´µM¯à¦³­Ó¦Û¨¬ªº¡B¯à°÷¶]ªº¥¿±`ªºÀ³¥Îµ{¦¡¡A¥u¬O¯Ê¤Ö¤@¨Ç³Ì°ª¯Åªº¥\¯à¦Ó¤w ¡C¡]͵ù¡G¶Ç²Î¤Wªº²Å¦¡¨t²Î¡A¨ä­ì©lµ{¦¡³£Àx¦s¦b¤@ºØ¥H1K¦r¤¸¬°³æ¦ìªº"¾­"¤¤¡A¦Ó¤£ ¬O¤@¯ë®æ¦¡ªº¤å¦rÀÉ¡C¡^ ¦b²Ä¤T³¹¤¤¡A§Ú­Ì¤w¸g¥R¥÷¦a°Q½×¤F©î¸ÑªºÃÀ³N¡C
²Õ¦X

²Õ¦X¬O±N¦U­Ó³æ¥ó´|¦X¦b¤@°_¡A¥H²£¥Í¤@­Ó¾ãÅé¡C¨}¦nªº²Õ¦X¥¿¦p¦P¨}¦nªº©î¸Ñ¡A¤]»Ý ­n¦UºØ§Þ¥©¡C ²Å¦¡²{¦æªº¬ù©w¤§¤@¬O¡A­ì©l½X¡]source code¡^³Q¦s©ñ¦b"¹õ"¡]screen¡^¤¤¡A¥¦ ¬O¤@­Ó1¥a¦r¤¸ªºÀx¦s³æ¤¸¡C¡]¦¹³B©Ò»¡ªº"¹õ"«Y«ü±M¨Ñ­ì©l½X©Ò¨Ï¥Îªº¤@­Ó°Ï¶ô¡^¡C ¦b²Å¦¡¤¤¡A­Y¯­¬O³æ¯Â¦a±N¨C¤@¹õ¦ê±µ°_¨Ó¡AÅý¾ã­Óµ{¦¡ªº¦Cªí¬Ý°_¨Ó¹³¤@¥»ªø¦êªº§é Å|¦¡¤â¥U¡A³oÁöµM¿ì±o¨ì¡A¦ý«o¤£¬O­Ó¦n¤èªk¡C¤Ï¦Ó¡G

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ­n¹³¤@¥»®Ñ¤@¼Ëªº½s±Æ§AªºÀ³¥Îµ{¦¡¦Cªí¡A¨Ï¥¦­Ì¼h¦¸¤À©ú¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¤@­ÓÀ³¥Îµ{¦¡¥i¯à§t¦³¡G

¹õ¡]screens ¡^¡G²Å¦¡­ì©l½Xªº³Ì¤pÀx¦s³æ¦ì µü¶°¡]lexicons¡^¡G¥]§t¤@¨ì¤T¹õ¡A¯à°÷¹ê²{¤@­Ó¤¸¥ó ³¹¸`¡]chapters¡^¡G¤@¨t¦C¬ÛÃöªºµü¶° ¸ü¤J¹õ¡]load screens¡^¡GÃþ¦ü¤@­Ó¥Ø¿ý¡A¯à±N³¹¸`«ö¾A·íªº¦¸§Ç¸ü¤J

      ¹Ï 5-1  À³¥Îµ{¦¡ªº¸ü¤J¹õ¤§¤@¨Ò
      Screen # 1                                        07/09/83
        \ QTF+ Load Screen
        : RELEASE#   ." 2.01" ;
          9 LOAD  \ compiler tools, language primitives
         12 LOAD  \ video primitives
         21 LOAD  \ editor
         39 LOAD  \ line display
         48 LOAD  \ formatter
         69 LOAD  \ box
         81 LOAD  \ deferring
         90 LOAD  \ framing
         96 LOAD  \ labels, figures, tables
        102 LOAD  \ table of contents generator


     ¹Ï5-1¬°¤@­ÓÀ³¥Îµ{¦¡¸ü¤J¹õªº¨Ò¤l¡C¥Ñ©ó¥¦³Q¦w±Æ¦b²Ä¤@¹õ¡A§A¥i¥HÁä¤J¤U¦¡¥H±N¾ã­ÓÀ³¥Îµ{¦¡¸ü¤J¡G
      1  LOAD

³o¹õ¤¤ªº¦U­Ó©R¥O·|±NÀ³¥Îµ{¦¡ªº¦U­Ó³¹¸`¸ü¤J¡CÄ´¦p¡A²Ä12¹õ§Y¬°µøÀW°ò¤¸³o¤@³¹ªº¸ü¤J¹õ¡C
§@¬°¤@ºØ°Ñ¦Ò¤u¨ã¡AÀ³¥Îµ{¦¡ªº¸ü¤J¹õ¯à§i¶D§A¦b¦ó³B§ä¨ì¦U­Ó³¹¸`¡CÄ´¦p§A­Y·Q¬d¬Ý¨º­t³dµe®Ø¡]framing¡^ªº±`¦¡¡A´N·|µo²{¸Ó³¹¬O±q²Ä90¹õ¶}©lªº¡C
¨C¤@³¹¸`¦U¦Ûªº¸ü¤J¹õ¡A·|¦A±N²Õ¦¨¸Ó³¹ªº¥þ³¡ªº¹õ¸ü¤J¡C§Ú­Ì§Y±N¾Ç¨ì¦p¦ó³W¹º³¹¸`ªº¸ü¤J¹õ¡C
³oºØ¶¥¼h¦¡Åé¨t³Ìª½±µªº¦n³B¦b©ó¡A§A¯à°÷­Ó§O¦a¸ü¤J¥ô¦ó³¹¸`©Î¥ô¦ó¹õ¦Ó¤£¥²«D¸ü¤J¾ã­ÓÀ³¥Îµ{¦¡¤£¥i¡C¡u­ì©l½Xªº¼Ò²Õ¤Æ¡v¬O²Å¦¡¯à§Ö³t¦a³B²z¡u½s¿è¡B¸ü¤J¡B´ú¸Õ¡v¾ã­Ó¹Lµ{ªº¥D­n²z¥Ñ¤§¤@¡]³o¤]¬O¡u¤ÏÂбµªñªk¡v©Ò»Ý­nªº¡^¡C¥¿¦p¤@¥»®Ñªº¨C¤@­¶¤@¼Ë¡A¨C¤@¹õ³£¥i¥H³Q­Ó§O¦Ó§Ö³t¦a¦s¨ú¡C¦b­ì©l½XªººûÅ@¤W¡A¥¦¤]¥¿¬O¤@ºØ"ÀH¾÷¦s¨ú"¡]random access ¡^ªº¤èªk¡C
§A¤]¥i¥H±Nµ{¦¡½X¤¤ªº¥ô¤@¸`¡A¥H¤@­Ó·sªº¡B¸ÕÅç¥Îªºª©¥»¨Ó¨ú¥N¡A°ß¤@­n°µªº¥u¬O¦b¸ü¤J¹õ¤¤±N¹õ¸¹§ï±¼§Y¥i¡A¦Ó¤£¥²¦bÀɮפ¤±N¤j¶qªº½X²¾¨Ó²¾¥h¡C
¦b¤p«¬ªºÀ³¥Îµ{¦¡¤¤¡A§A¥i¯à®Ú¥»¥Î¤£¨ì³¹¸`³oºØªF¦è¡C³o®É¡AÀ³¥Îµ{¦¡ªº¸ü¤J¹õ¥i¥Hª½±µ¦a¸ü¤J©Ò¦³ªºµü¶°¡C¦ý¬O¡A¹ï©ó¤j«¬ªºÀ³¥Îµ{¦¡¡A³oÃB¥~ªº¼h¦¸«o¦³§U©ó¥iºûÅ@©Ê¡C
¤@­Ó¹õ¥i¥H¬O¸ü¤J¹õ©ÎªÌ¬Oµ{¦¡½X¡A¦ý¤£­n¬O¨âªÌªº²V¦X¡C­nÁ×§K¶È¶È¦]¬°§A"»Ý­n¬YºØªF¦è"¡A©ÎªÌ¦]¬°§A"¥Î§¹¤F¾­ªºªÅ¶¡"¡A¦Ó¦b¤@­Ó§t¦³¤@¨Ç©w¸qªº¹õ¤¤´O¤J¤@­ÓLOAD ©Î THRU ªº¸ü¤J©R¥O¡C
¡@

  ¸õ¹L¡]Skip¡^©R¥O

¦³¨â­Ó©R¥O¡A¥i¥H¨Ï¤@¹õ¤¤¦óªÌ¸Ó¸ü¤J¡B¦óªÌ¸Ó©¿²¤ªº±±¨îÅܱo®e©ö¨Ç¡C¥¦­Ì¬O¡G

      \
      \S

¡y\¡zŪ§@"skip-line"¡]¸õ¦æ¡^¡C¥¦·|¨Ï²Å¦¡¸Ñ;¹¸õ¹L³o¦æ¤¤¦b¥¦¥kÃ䪺¥þ³¡¤å ¥y¡C¡]¡y\¡z¬O­Ó²Å¦¡¦r¡A¥¦ªº¥ª¥k¥²¶·¦³ªÅ®æ°µ¤À¹j¡^¡C¥¦¹B§@®É¨Ã¤£»Ý­n¬É­­²Å¸¹ ¡]delimiter¡^¡C¦b¹Ï5-1¤¤¡A§A¯à¨£¨ì¡y\¡zªº¨âºØ¨Ï¥Î¤è¦¡¡G¥Î¨Ó°_©l³o¤@¹õªºµù¸Ñ¦æ ¡]²Ä0¦æ¡^¡A¥H¤Î¦U¦æªºµù¸Ñ --·í¥kÃ䤣¦A¥X²{µ{¦¡½X®É¡C ¦b´ú¸Õ®É¡A¡y\¡z¤]±`³Q¥Î¨Ó±N¡u§t¦³¬A¸¹ªº¦W¦r©Îµù¸Ñ¡vªº¤@¨Ç¦æ¼È®É¦a"µù¸Ñ"±¼ ¡C¨Ò¦p¡AÂǵۤU­±¨â­Ó¡y\¡z ¡A¥i¥H¨Ï¡yNUTATE¡z³o­Ó¦rªº©w¸q§K©ó³Q½sĶ¡A¤]§K°£ ¤F·í¾D¹J¨ì¦æ¤¤ªº¥k¬A©·®É¡A©Ò²£¥Íªº§xÂZ¡G

      \ : NUTATE  ( x y z --)
      \   SWAP ROT  (GET) ;

¡y\S¡zŪ§@"skip-screen"¡]¸õ¹õ¡^¡C¥¦·|¨Ï²Å¦¡¸Ñ;¹¸õ¹L¥¦©Ò¦bªº¨º¤@¹õ¤¤¡A¦b¥¦ ¤§«áªº©Ò¦³ªF¦è¡C ¦³Ãö¡y\¡z¤Î¡y\S¡zªº©w¸q½Ð°Ñ¦Òªþ¿ýC ¡C
³¹¸`¸ü¤J¹õ¡]chapter-load screen¡^

      ¹Ï 5-2  ³¹¸`¸ü¤J¹õ¤§¤@¨Ò
      Screen # 100
         \ GRAPHICS              Chapter load               07/11/83
          1 FH LOAD         \ dot-drawing primitive
          1 FH 3 FH THRU    \ line-drawing primitives
          4 FH 7 FH THRU    \ scaling, rotation
          8 FH LOAD         \ box
          9 FH 11 FH THRU   \ circle

          CORNER  \ initialize relative position to low-left corner

¹Ï5-2©Ò¥Ü¬°¤@¼Ð·Çªº³¹¸`¸ü¤J¹õ¡C¦¹¹õ©Ò¸ü¤Jªº¹õ¸¹³£¬O¬Û¹ïªº¡A³o»PÀ³¥Îµ{¦¡ªº¸ü¤J¹õ¤¤©Ò¥Îªº¤£¦P¡A¦b¨º¸Ì¨Ï¥Îªº¬Oµ´¹ï¹õ¸¹¡C
³o¬O¦]¬°³¹¸`¸ü¤J¹õ¬O¤@­Ó³¹¸`¤¤¡A¤@³s¦ê¹õªº²Ä¤@¹õ¡C§A¥i¥H±N¾ã³¹ªº¤º®e¦bµ{¦¡¦Cªí¤¤«e«á²¾°Ê¡F¦b³¹¸`¸ü¤J¹õ¤¤©Ò¨Ï¥Îªº¬Û¹ï«ü¼Ð¡A¤£·|¦]³¹¸`©Ò¦bªº¦ì¸m¤£¦P¦Ó§ïÅÜ¡C©Ò¥²¶·§ïÅܪº¶È¶È¬OÀ³¥Îµ{¦¡¸ü¤J¹õ¤¤¡A«üµÛ¸Ó³¹¸`¸ü¤J¹õªº¨º¤@­Ó¼Æ­È¦Ó¤w¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü À³¥Îµ{¦¡¸ü¤J¹õ¤¤¨Ï¥Îµ´¹ï¹õ¸¹¡C¦b³¹¸`ªº¸ü¤J¹õ¤¤«h¨Ï¥Î¬Û¹ï¹õ¸¹¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¹ê²{¬Û¹ï¸ü¤Jªº¤è¦¡¦³¨âºØ¡C³Ì±`¥Î¨ìªº¦r¬O¡G

      : +LOAD   ( offset -- )   BLK @ +  LOAD ;
    ~FB7BX1BB1;¤Î~I;
      : +THRU   ( lo-offset hi-offset --)   1+  SWAP DO  I +LOAD  LOOP ;

¨Ì§Ú¦Û¤vªº¤è¦¡¡A¥u»Ý­n¥Î³æ¤@­Ó¦r¡yFH¡z¡C¡]§Ú»{¬°¥¦¬O¤@ºØ¸û¦nªº¤À¸Ñ¡A¨ä©w¸q½Ð °Ñ¾\ªþ¿ýC ¡^¡C ¤ù»y

      1 FH LOAD

À³Åª§@"1 From Here LOAD"¡]·N«ü¡G±q¦¹³Bºâ°_ªº²Ä¤@¹õ¶}©l¸ü¤J¡^¡A¨ä§@¥Î»P ¡y1 +LOAD¡z¬Û¦P¡C¦P¼Ëªº¡A

      2 FH  5 FH THRU

À³Åª§@"2 From Here, 5 From here THRU" ¡C ¦³¨Çµ{¦¡³]­p®v¦b¨C¤@³¹ªº°_©l³B³£¨Ï¥Î¤@­Ó³ÈÀw¦r¡]dummy word¡^¡A¨Ò¦p¡G

      :  VIDEO-IO  ;

¨Ã¥B¦bÀ³¥Îµ{¦¡¸ü¤J¹õ¤¤¡A¸Ó³¹ªº¸ü¤J©R¥O³Bµù¸ÑµÛ¦C¥X³o­Ó¦W¦r¡C³o¼Ë´N®e³\¯à¿ï¾Ü ©Ê¦a"§Ñ±¼"¥ô¦ó³¹¸`¡A¦A­«·s¥Ñ¨º¤@ÂI°_¸ü¤J¡A¦Ó¤£¥²¶O¨Æªº¥h¬d¾\¨º¤@­Ó³¹¸`ªº¤º®e¡C ¦b¤@³¹¶}ÀYªº¤@¨Ç¹õ¤¤¡A³q±`³Q¥Î¨Ó©w¸q¦¹³¹¸`¤¤¦@¦P¨Ï¥ÎªºÅܼơB±`¼Æ¡B¤Î¸ê®Æµ² ºc¡C±µ¤U¨Ó¤~¬Oµü¶°¡A¨ÌµÛ"¨Ï¥Î¤W"ªº¶¶§Ç¸ü¤J¡C³¹¸`¸ü¤J¹õªº³Ì«á¤@¦æ³q±`·|©I¥s©Ò »Ý­nªºªì©l©R¥O¡]initialization command¡^¡C¡]͵ù¡G¦ý¬O¦bTURNKEYªº¨t²Î¤¤¡Aªì ©l©R¥O¥²»Ý¦bµ{¦¡°õ¦æ«á¤~¶i¦æ¡A¦Ó¤£¬O¦b¸ü¤J®É¶i¦æ¡C¡^ ¬Y¨Ç«Ü¦b·N¤åÅ骺²Å¦¡¼g§@ªÌ¡AÁ`³ßÅw¥H¤@½g"«e¨¥"¶}©l¡C¨ä¤¤¥H¥­±`ªº¥Î»y¨Ó°Q ½×¸Ó³¹¤¤¤¸¥óªº¹B§@­ì²z¡C¹Ï5-3¬O³oÃþ«e¨¥ªº¤@¨Ò¡A¨ä¤¤¥Ü½dMoore²£«~¤½¥q©Ò­n¨Dªº ®æ¦¡¡C

      ¹Ï5-3  Moore²£«~¤½¥q¹ï³¹¸`«e¨¥ªº³W®æ
        CAHPTER 5  --  ORIGIN/DESTINATION  --  MULTILOOP BIT ROUTINES

        DOCUMENTS  --  CONSOLE STRUCTURE CONFIGURATION
                DESIGN SPECITICATION
                SECTIONS  --  3.2.7.5.4.1.2.8
                              3.2.7.5.4.1.2.10

        ABSTRACT  --  File control types E M T Q  and  R  can all
                      originate from a Regional Satellite or a
                      Data Survey Satellite.  These routines allow
                      the operator to determine whether the control
                      originated from a Regional Satellite or not.

        CHAPTER NOTES  --  Whether or not a point originates from
                              a Reginal Satellite is determined by
                              the Regional bit in BITS, as follows:

                              1 = Regional Satellite
                              2 = Data Survey Satellite

                              For the location of the Regional bit
                              in BITS, see the Design Specification
                              Section - 3.2.7.5.4.1.2.10

        HISTORY  --      ..... ...

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
    Charles Moore¡]²Å¦¡³Ð©l¤H¡A»PMoore²£«~¤½¥qµLÃö¡^¨Ã¤£¹³§Ú¨º»ò¬Ý­«¶¥¼h¦¡ªºµ{¦¡¦Cªí¡CMoore»¡¡G

    §Ú·|¶¥¼h¦¡¦a«Øºc§ÚªºÀ³¥Î¡A¦ý¨Ã¤£¤@©w·|¥Î¦P¼Ëªº¤è¦¡«Øºc§Úªºµ{¦¡¦Cªí¡C§Úªºµ{¦¡¦Cªí³£¬O¥H¬Û·íÃP´²ªº¤è¦¡²Õ´¦Ó¦¨¡A¨Ã¤£¬O°ò¤¸¦r¡]primitives¡^¦b«eªº¨ººØ¶¥¯ÅÆ[©À¡C
    §Ú¨Ï¥Î¡yLOCATE¡z¡]¦³®É¤]ºÙ¬°¡yVIEW¡z¡F°Ñ¾\Starting FORTH¤@®Ñ²Ä¤E³¹¤¤ªº´£      ¥Ü¡^¡Cµ²ªG¬O¡Aµ{¦¡¦Cªí¥H¤@ºØº©¤£¸g¤ßªº¤è¦¡²Õ´¦Ó¦¨¡A¦]¬°§Ú¦³¡yLOCATE¡z¨Ó¬°§Ú§ä¥X§Ú©Ò­nªºªF¦è¡C§Ú´X¥G±q¨Ó¤£¥h¬d¾\µ{¦¡ªº¦Cªí¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

 --> ¹ï THRU

½Í°_"¬Û¹ï¸ü¤J"ªº°ÝÃD¡A¦³¤@ºØ¬Û·í¬y¦æªº¤èªk³Q¥Î¨Ó¸ü¤J¤@¨t¦C³sÄòªº¹õ¡A¨ä¤¤©Ò ¥Îªº¦r¬O¡y-->¡z¡]Ū§@"next block" ¡^¡C¦¹¦r·|¨Ï¸Ñ;¹¥ß§Y°±¤î¹ï·í«eªº¹õªº½sĶ¡A ¨Ã¶}©l½sͤU¤@¹õ¡C ­Y§Aªº¨t²Î´£¨Ñ³oºØ¡y-->¡z¡A§A´N¥²¶·¦b§Aªº³¹¸`¸ü¤J¹õ¤¤¿ï¾Ü¡A­n¨Ï¥Î¡yTHRU¡z ©R¥O¨Ó¸ü¤J¤@¨t¦Cªº¹õ©O¡H©ÎªÌÂǵۡy-->¡z±N©Ò¦³ªº¹õ³s±µ°_¨Ó¡A¦Ó¶È¶È¥h¸ü¤J³o¤@¨t ¦Cªº²Ä¤@¹õ¡C¡]§A¤£¯à¨âªÌ³£¥Î¡F³o¼Ë·|¨Ï¤j³¡¥÷¹õ³£³Q¸ü¤J¨â¦¸©Î¨â¦¸¥H¤W¡C¡^ ½bÀYªº¦n³B¬O¡G¦pªG§A­n¦b³o¨t¦Cªº¹õ¤¤§ïÅܨ䤤¤@­Ó¹õªº¤º®e¡AµM«á¦A¸ü¤J³o ¤@¹õ¡A³o¨t¦C¤¤¸ò¦b¥¦«á­±ªº¨ä¾l¹õ¤]·|¦Û°Ê¦a³Q¸ü¤J¡C§A¥Î¤£µÛª¾¹D³Ì«á¤@¹õ¦b ¨ºùØ¡C ¦ý³o¤]¬O½bÀYÃøÄñªº¤@­±¡G¸ü¤Jµ{§Ç¤@¥¹¶}©l¡A§A´NµLªk±N¥¦°±¤U¡C¬°¤F­n³æ¿W¦a ´ú¸Õ¨ä¤¤¤@¹õ¡A§A©Î³\·|½s¤J¤@¤j°ï¤£¬Û¤zªº¹õ¡C Åý§Ú­Ì¹ï³oÂI°µ­Ó¤ÀªR¡C§Ú­Ì°²³]¡A¦b¹ï¨º¤@¹õ°µ§¹¤F¥²»Ýªº­×§ï¤§«á¡A§A¥i¯à·| °µ¤U¦Cªº¤T¥ó¨Æ±¡¤§¤@¡G

1. ¶È¶È¸ü¤J¸Ó¹õ¡A¥h´ú¸Õ­×§ïªº³¡¥÷¡C 2. ¸ü¤J¸Ó¹õ©Ò¦bªº¾ã­Ó¤@³¹¡C 3. ¸ü¤J¾ã­ÓÀ³¥Îµ{¦¡ªº¨ä¾l³¡¥÷¡C

¡yTHRU¡zªº¨Ï¥Î¦ü¥G¯àµ¹§A³Ì¤jªº±±¨îÅv¡C ¦³¤H»{¬°¡A½bÀY¬O¬°¤F¨º¸ó¥X¤F¹õªº©³¬Éªº¨ººØ©w¸q¦Ó³]ªº¡C¨ä¹ê¡A½bÀY¬O½s͍ººØ ¸ó¶V¤F¤@­Ó¥H¤Wªº¹õªº«_¸¹©w¸qªº°ß¤@¿ìªk¡A¦]¬°¡y-->¡z¬O­Ó"¥ß§Y¦r"¡CµM¦Ó¡AÅý¤@­Ó «_¸¹©w¸q¸ó¥X¹õªº©³¬É¡A´Nµ´¤£·|¬O¤@­Ó¦n¤åÅé¡C¡]¥¦­Ì¥Ã»·¤£¸Ó¦³¨º»òªø¡I¡^ ±q¥t¤@¤è­±¬Ý¡A¦b¨Ï¥Î²Õ¦X»y¨¥©w¸qªº¼¶¼g¤¤¡A¤@­Ó·¥ºÝ½ÆÂø¦Ó¤S¨ã°õ¦æ³t«×»Ý¨D ªº©w¸q´N«Ü¥i¯à­n¦û¾ÚµÛ´X­Ó³sÄòªº¹õ¡C¦ý§Y¨Ï¬O³oºØ±¡ªp¡A¥¿±`ªº¡yLOAD¡z¤]¤w¨¬¥HÀ³ ¥I¡A¦]¬°½sͤ@­Ó²Õ¦X»y¨¥©w¸q®É¡A¨t²Î¨Ã¥¼¶i¤J½sĶ¼Ò¦¡¡A¦]¦¹¤]´N¤£»Ý­n"¥ß§Y¦r" ªºÀ°§U¡C
¥t¤@ºØ§@ªk¡G±N­ì©l½XÀx¦s¦b©R¤F¦WªºÀɮפ¤¡]named file¡^

¬Y¨Ç²Å¦¡·~ªÌ¹ª§j¡A­n¥H¤£©wªø«×¡B¨ú¤F¦W¦rªº¤å¦rÀɨÓÀx¦s­ì©l½X¡A¨è·N¦a¥h¼Ò¥é ¶Ç²Î½s;¹¤Î½s¿è¾¹ªº°µªk¡C³oºØ°µªk±N·|¤éÁÍ´¶¹M¡A¦ý¨ä¥Î³~«o»á­È±o°Óºe¡C ¤£¿ù¡A¯à§K°£¹ï¹õªºªÅ¶¡¤£¨¬ªº¼~¼{©TµM¬O¦n¨Æ¡A¦ý¬O¦b¤@­Ó¨ü­­¨îªº°Ï°ì¤¤®Ñ¼g µ{¦¡ªº¤£«K¡A«o¯à³Q¡u«O¦³¹ï­Ó§Oªºµ{¦¡°Ï¶ô¡]discrete chunks of code¡^ªº±±¨îÅv¡v ©Ò¸ÉÀv¡C¦bÀ³¥Îµ{¦¡ªºµo®i¤¤¡A§Aªá¶O¦b"¸ü¤J"ªº®É¶¡¡A»·¤ñ§A¥Î¦b­«·s¦w±Æ¹õªº¤º®e ¤W¡A¦h±o¤Ó¦h¤F¡C "µL­­ªø"ªºÀɮפ¹³\º©¤£¸g¤ß¡BÂø¶ÃµL³¹ªº«ä·Q¤Î©å¦Hªº¤À¸Ñ§@ªk¡C©w¸q·|·UÁͤ¾ªø ¡A¦]¬°¦A¤]¨S¦³¨º1K°Ï¶ôªºÃ¦¬É¬ù§ô¡C³oºØ¶É¦V·|ÁÍ©ó¼g¥X¤@­Ó20KªºÀɮסA¬Æ¦Ü§óÁV¡G ¤@­Ó20Kªº©w¸q¡C ¤]³\¤@ºØ¸û¨Îªº§´¨ó¬O¡G¤@­Ó¥HÀɮ׬°°ò¦ªº¨t²Î¡A¥¦¤¹³\±_¦¡ªº¸ü¤J¡A¦P®É¤]¹ªÀy ¨Ï¥Î«D±`¤pªºÀɮסC³q±`¡A¶V¦³¸gÅ窺²Å¦¡µ{¦¡³]­p®v¡A¶V¤£¤Ó·|¨Ï¥Îªø«×¶W¹L¹L5K¦Ü 10KªºÀɮסC©Ò¥H¡A¤S¦³¤°»ò¦n³B©O¡H ­±¹ï³oºØª§Ä³©Êªº°ÝÃD¡A¦³¤H·|»¡¡G¡u°O¤@­Ó¦W¦rÁ`¤ñ°O¼Æ¦r®e©ö¹À¡C¡v­Y ªG¯u¦p¦¹¡A¨º»ò¦ó¤£±N¨º¨Ç°Ï¶ôªº½s¸¹¥ý©w¸q¬°±`¼Æ¡AÄ´¦p¡G

      90 CONSTANT FRAMING

µM«á­n¸ü¤J"Framing"ªº³¹¸`®É¡A´NÁä¤J

      FRAMING LOAD

©ÎªÌ¡A­n¦C¥X¸Ó³¹¸`ªº¸ü¤J¹õªº¤º®e®É¡A´NÁä¤J

      FRAMING LIST

¡]¦b³¹¸`¦WºÙªº§ÀºÝ¥["ING"¤]¬O¤@ºØ¬ù©w¡C¡^ ·íµM¡A­Y·Q±N¥H¹õ¬°°ò¦ªº¤è¦¡©Ò¤Þµoªº¤£«K´î¨ì³Ì§C¡A§A»Ý­n¤@¨Ç¨}¦nªº¤u¨ã¡A ¥]¬A¯à°÷Åý§A«Ü®e©ö¦a±N­ì©l½X±q¤@¹õ·h¨ì¥t¤@¹õªº½s¿è©R¥O¡F¤]¥]¬A¤@¨Ç¯à±N¤@¸s¹õ ¦bµ{¦¡¦Cªí¤¤«e«á²¾°Êªº©R¥O¡C
ÀɮפÀ°Ï

­n±o¨ì²Õ´¨}¦nªºµ{¦¡¦Cªí¡A³Ì«á¤@­Ó­«ÂI¯A¤Î¨ìÀɮפº³¡¨Ï¥Î¤Wªº¦w±Æ --¤°»ò ¸ê®Æ¸Ó©ñ¨ìÀɮפWªº¤°»ò¦ì¸m¡C³oºØ¼Ð·Ç¥²¶·¨Ì¦U­Ó¤u¼t¡B¦U³¡ªù©Î¦U­Óµ{¦¡³]­p®v¡A µø¨ä¤u§@ªº©Ê½è¤£¦P¦Ó­q©w¡C

      ¹Ï 5-4  ¬Y³¡ªùªºÀɮפÀ°Ï°µªk
      Screen 0 is the title screen, showing the name of the
         application, the current release number, and primary author
.¥»¤åg2
      Screen 1 is the application-load block
.¥»¤åg2
      Screen 2 is reserved for possible continuation from Screen 1
.¥»¤åg2
      Screen 4 and 5 contain system messages
.¥»¤åg2
      Screen 9 thru 29 incorporate general utilities needed
         in, but not restricted to, this application
.¥»¤åg2
      Screen 30 begins the application screens

¹Ï 5-4Åã¥Ü¤@­Ó¨å«¬³¡ªùªºÀɮפÀ°Ï°µªk¡C
«Ü¦h²Å¦¡¼t°Ó³£»{¬°¡Aµ{¦¡½Xªº¦U³¹¸`À³°_©l©ó¥i³Q3¾ã°£ªº¹õ¸¹¤W¡CÀɮפ¤¥D­nªº¤À¬q°Ï¹jÀ³¸Ó°_©l©ó¥i³Q30­Ó¹õ¾ã°£ªº¬É­­¤W¡C
²z¥Ñ¦ó¦b¡H¦b²ßºD¤W¡A²Å¦¡¬O¥H3¹õ¤@­¶ªº¤è¦¡¦L¥X¡A³Ì³»ºÝªº¹õ¸¹Á`¬O­n¯à³Q3¾ã°£¡C³o¼Ëªº¤@­¶¥s°µ¤@­Ó"triad"¡]¤T¹õ²Õ¡^¡F¦h¥bªº²Å¦¡¨t²Î§¡¤w±N¡yTRIDE¡z¤@¦r¯Ç¤J¨ä¤¤¡C¥¦ªº¥\¯à¬O¡Aµ¹¥¦¤@­Ó¤T¹õ²Õ¤¤¥ô¤@¹õªº½s¸¹°µ¤Þ¼Æ¡A¥¦´N¯à²£¥Í³o­¶ªº¦Cªí¡C
¨Ò¦p¡A§A­YÁä¤J

      77 TRIAD

§A´N·|±o¨ì¥]¬A75, 76, ¤Î77¤T¹õªº¤@­¶¡C
      ³oºØ¬ù©w¥D­nªº¦n³B¦b©ó¡A¦pªG§A§ïÅܬY³æ¤@­Ó¹õªº¤º®e¡A§A¥i³w¦Û±N·s¦L¥Xªº¤@­¶´¡¤J§Aªºµ{¦¡¦Cªí§¨¤¤¡A´«±¼­ì¦³ªº¨º­¶¡A¦Ó¤£·|³y¦¨µ{¦¡¦Cªí¸ê®Æªº­«Å|©Î¯Ê¤Ö¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü Åý¦U¸`©Î¦Uµü¶°°_©l©ó¥i³Q3¾ã°£ªº¹õ¸¹¤W¡CÅýÀ³¥Îµ{¦¡©Î¦U³¹°_©l©ó¥i³Q30¾ã°£ ªº¹õ¸¹¤W¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¿ï¥ó¡]electives¡^¡G¯à¿ï¾Ü©Ê¦a¥[¤Jªº¥\¯à²Õ¥ó

²Å¦¡ªº¨t²Î¼t°Ó¦³­Ó°ÝÃD¡C¦pªG¥L­Ì±N«È¤á©Ò´Á±æªº¨C¤@­Ó©R¥O --½Ñ¦p±±¨îø¹Ï¾÷ ¡B¦Cªí¾÷¡B©Î¨ä¥¦¶gÃä³]³Æ©Ò¥Îªº¦r-- ³£¥]§t¨ì¥L­Ìªº¨t²Î¤¤¡A¨t²Î´N·|¦Y±¼¹q¸£°O¾Ð ®e¶qªº¥b¼Æ¥H¤W¡A³Ñ¾lªºªÅ¶¡´N¤£¨¬¥HÅý¯u¥¿¦b·Nªºµ{¦¡³]­p®v¦b½s¼gÀ³¥Îµ{¦¡®É¬I ®i¨­¤â¡C ¸Ñ¨Mªº¿ìªk¬OÅý¼t°Ó¯­´£¨Ñ¤@­Ó°©¬[¡A°µ¬°¤@ºØ¨Æ¥ý½sͦnªº®Ö¤ß¡CÃB¥~ªº¦nªF¦è «h¥H­ì©l½Xªº§Î¦¡¨ÑÀ³µ¹¨Ï¥ÎªÌ¡C³oºØ¿ìªk®e³\µ{¦¡³]­p®v¬D¿ï¨º¨Ç¥L¯u¥¿»Ý­nªº¯S ®í¥\¯à¡C ³oºØ¥Ñ¨Ï¥ÎªÌ¸ü¤Jªº±`¦¡ºÙ¬°"¿ï¥ó"¡CÂù¾ã¼Æ¹Bºâ¡A¤é´Á®É¶¡ªº¤ä´©¡A±ø¥ó¤ÀªK ¡]CASE¡^±Ô­z¥H¤Î DOER/MAKE ªº«Øºc¡]«á¤å±N¦³¥æ¥N¡^³£¬O²Å¦¡¨t²ÎÀ³¸Ó¥H¿ï¥ó¤è¦¡ ´£¨Ñªº¥\¯à¤§¤@¡C
¹õªº°t¸m¡]screen layout¡^

¥»³¹±N°Q½×¹õ¡]source screen¡^ªº°t¸m¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ¯d¤U²Ä0¦æ°µ¬° "µù¸Ñ¦æ"¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

µù¸Ñ¦æ¬J¥i¦b¹õ¤¤§@¬°¼ÐÃD¡A¤S¥i°µ¬°Àɮפ¤ªº¡yINDEX¡z¦æ¡C¥¦À³¸Ó´y­z¥X¸Ó¹õªº¥Øªº ¡A¦Ó«D¦C¥X¦¹¹õ¤¤©Ò©w¸qªº¦r¡C µù¸Ñ¦æ¦Ü¤Ö­n§t¦³¦¹¤@¹õªº¦WºÙ¡C¦b¤j«¬ªºÀ³¥Îµ{¦¡¤¤¡A§A¥i¯à±N³¹¸`¤Î¹õªº¦WºÙ ¤@¨Ö¯Ç¤J¡C­Y¦¹¹õ¬O¹ê²{¬Y­Óµü¶°ªº¤@¸s¹õ¤¤ªº¤@­Ó¡A§A¤]À³¸Ó¦w±Æ¤@­Ó"­¶¸¹"¡]page number¡^¡C ¥k¤W¨¤¬O¯d§@"ñ³¹"¡]stamp¡^¤§³B¡C"ñ³¹"À³¸Ó¥]¬A³Ìªñ¤@¦¸ªº­×ª©¤é´Á¡C­Y§@ªÌ ¬O¦ó¤H¤]¬O­«­nªº¡A¥Lªº©m¦W¦r­º¡]¤T­Ó­^¤å¦r¥À¡A±Æ©ó¤é´Á¥ª¤è¡^¤]À³¥]¬A¦b¤º¡F ¨Ò¦p¡G

      ( Chapter name            Screen Name -- pg #         JPJ 06/10/83)

¬Y¨Ç²Å¦¡½s¿è¾¹¥u»Ý«ö¤@­ÓÁä¡A´N¯à´À§Añ³¹§¹²¦¡C ¥Nªí¤é´Áªº¤@¯ë§Î¦¡¦p¤U¡G

      mm-dd-yy

¨Ò¦p1984¦~2¤ë6¤éÀ³¼g¬°

      02-06-84

³vº¥¬y¦æªº¥t¤@ºØ¼gªk¬O

      ddMmmyy

¨ä¤¤ªºMmm¬°¤ë¥÷¤T­Ó¦r¥ÀÁY¼g¡A¨Ò¦p

      22oct84

¤W¦¡Áö¤ñ¤U¦¡¦h´X­Ó¦r¥À

      10-22-84

«o¥iÁ×§K¤é´Á»P¤ë¥÷ªº²V²c¡C ­Y§Aªº¨t²Î¤¤¦³¡y\¡z³o­Ó¦r¡A§A¥i¥H±Nµù¸Ñ¦æ¼g¦¨¡G

      \ Chapter name           Screen Name -- pg.#         JPJ 06/10/83

¹ï©Ò¦³ªºµù¸Ñ¦Ó¨¥¡A¨Ï¥Î¤p¼g¦r¥À©Î¤j¤p¼g²V¥Î§¡¥i¡C ¬°¤F¨Ï¡yINDEX¡z©R¥O¯à©ÜÅS§ó¦h¦³ÃöÀ³¥Îµ{¦¡¹õªº½s²Õ±¡§Î¡A¿ìªk¬O¦b¤@­Óµü¶°ªº ³sÄò¹õ¤¤¡A±N¨äµù¸Ñ¦æªº°_©lÂIÁY±Æ¡]indent¡^¤T®æ¡C¹Ï5-5©Ò¥Ü«Y¥Ñ¡yINDEX¡z©Ò²£¥Íªº ¦Cªíªº¤@³¡¥÷¡A¨ä¤¤¡A³sÄò¹õªºµù¸Ñ¦æ¤w³Q«á²¾¤T®æ¡C

      ¹Ï5-5  INDEXªº¿é¥X¡A¨ÃÅã¥ÜÁY±Æ«áªºµù¸Ñ¦æ
      90 \ Graphics           Chapter load         JPJ 06/10/83
      91 \ Dot-drawing primitives              JPJ O6/10/83
      92 \ Line-drawing primitives             JPJ O6/11/83
      93    \ Line-drawing primitives          JPJ O6/10/83
      94    \ Line-drawing primitives          JPJ O9/02/83
      95 \ Scaling, rotation                   JPJ O6/10/83
      96    \ Scaling, rotation                JPJ O2/19/84
      97    \ Scaling, rotation                JPJ O2/19/84
      98    \ Scaling, rotation                JPJ O2/19/84
      99 \ Boxes                               JPJ O6/10/83
     100 \ Circles                             JPJ O6/10/83
     101    \ Circles                          JPJ O6/10/83
     102    \ Circles                          JPJ O6/10/83

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü   ©Ò¦³ªº©w¸qÀ³¸Ó±q¹õªº¥ª½t¶}©l¼g¡A¦Ó¥B¨C¦æ¥u©w¸q¤@­Ó¦r¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¦H¡G

      :  ARRIVING    ." HELLO"  ;    :  DEPARTING   ." GOODBYE"  ;

Àu¡G

     : ARRIVING   ." HELLO" ;
     : DEPARTING   ." GOODBYE" ;

³o­Ó¬ù©w¤è«K©ó¦bµ{¦¡¦Cªí¤¤§ä¥X¬Y­Ó©w¸q¡C¡]·í©w¸qªºªø«×¶W¹L¤@¦æ®É¡A¤U¤@ ¦æªº°_©l¥²¶·«á²¾¡C¡^

ÅܼƤα`¼Æ¤]À³¸Ó¬O¨C¦æ¤@­Ó©w¸q¡C¡]°Ñ¾\ªþ¿ýE¡A¨}¦nµù¸Ñªº¤åÅé¡^³o¼Ë´N¯à¯d ¤UªÅ¶¡¨Ñµù¸Ñ¨Ï¥Î¡C¨Ò¥~ªº±¡ªp¬O©w¸q¤@²Õ"®a±Ú¦r"ªº®É­Ô¡]¥Ñ¦P¤@­Ó©w¸q¦r©Ò©w¸q ¥X¡^¡A¥¦­Ì¤£»Ý­n­Ó§Oªºµù¸Ñ¡C

      0 HUE BLACK     1 HUE BLUE     2 HUE GREEN
      3 HUE CYAN      4 HUE RED      5 HUE MAGENTA

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ­n¦b¹õªº©³³¡¹w¯dªÅ¶¡¡A¨Ñº¸«á²K¥[·s©w¸q¤§¥Î¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¦b²Ä¤@½ü¡]pass¡^ªº¼g§@¤¤¡A¨C¤@¹õ¤£­n¨Ï¥Î¶W¹L¤@¥bªºªÅ¶¡¡C¡u¤ÏÂЧ@¬°¡v»Ý ­n§A¥ý¼g¥XÀ³¥Îµ{¦¡¤¸¥óªº°©¬[¤jºõ¡AµM«á¦A¤ÏÂЦa¤£Â_²K¥[¦Ù¦×¡Aª½¨ì©Ò¦³ªº»Ý¨D ³£³Qº¡¨¬¬°¤î¡C³q±`¡A³o·N¨ýµÛ§A­n¹ï¥Ø«e¦s¦bªº¹õ¡A¥[¤J·sªº©R¥O¡A©Î¥[¤J¨Ò¥~ª¬ªpªº ³B²z¡C¡]¦³®É¡A¦ý¾÷·|¤£¦h¡A¤@¦¸·sªº¤ÏÂЧ@¬°¡A©Î³\·|µo²{µ{¦¡½X¥i¥H³Q²¤Æ¡F©Î³\·| µo²{¡A¬Y¤@Ác½Æªº±¡ªp¹ê»Ú¤W¬OÄÝ©ó¥t¤@­Ó¤¸¥ó¡AÀ³¸Ó±N¥¦¤À¸Ñ¥X¨Ó¡A²¾¨ì¥t¤@¹õ¤¤¡C¡^ ­Y¦b³Ìªì´N¯d¦³¾l¦a¡A´N·|¨Ïº¸«áªº²K¥[¦æ°Ê¸û¬°´r§Ö¡C¦³¤@¦ìµ{¦¡³]­p®v«ØÄ³¡A ¦b²Ä¤@½ü¤¤¡AÀ³¸Ó¨Ïµ{¦¡½X¥u¦û¦³¤@¹õªº20-40¢H¡A¯d¤U80-60¢HªºªÅ¥Õ[1]¡C ¤£­n¦b¦U­Ó©w¸q¤§¶¡¯d¤UªÅ¦æ¡C¦ý¦b¨â¸s©w¸q¤§¶¡¯d¤UªÅ¦æ«h¬O¦X²zªº¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ©Ò¦³ªº¹õ¦bµ²§ô®É¡A¥²¶·¦^¨ì10¶i¨î¤U¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

§Y¨Ï§A¦³¤T­Ó¥H16¶i¨î¼g¥Xªº³sÄòªº¹õ¡A¦b¦U­Ó¹õªº°_ÀY¡A§A¤´À³±N¡yBASE¡z¡]°ò©³ ¡^³]©w¬°¡yHEX¡z¡A¨Ã¦b¹õ©³¦A³]¦^¡yDECIMAL¡z¡C¦¹¤@¬ù©wªº¥D­n¥Øªº¬O¬°¤F½T«O¦b´ú ¸Õ®É¡A¦U­Ó¹õ¥i¥H­Ó§Oªº¸ü¤J¡A¦Ó¤£­P§Ë¶Ã¨Æ±¡¡C¦P®É¦b§A¾\Ūµ{¦¡¦Cªí®É¡A¤]¯à½T©w ¡G°£«D¦b¹õ¤¤¯S§O«ü©ú¬O¦b¡yHEX¡z¤§¤U¡A§_«h¼Æ­È¤@«ß³£¬O10¶i¨îªº¡C ¦³¨Ç¼t°Ó±N³o¶µ³W©wÂX®iªº§ó»·¡C¥L­Ì¨Ã¤£¦b¹õ©³±N¡yBASE¡zÂà¦^10¶i¨î¡A¦Ó ¬O±N¥¦³]©w¦¨»P¶i¤J³o¹õ®Éªº¶i¦ì¨î¬Û¦P¡C³oºØ¯S§Oªº«OÃÒ¥i¥H¥Î¤U¦C¤è¦¡¹F¦¨¡G

      BASE @     HEX    \ save original BASE on stack
      0A2 CONSTANT BELLS
      0A4 CONSTANT WHISTLES
      ... etc. ...
      BASE !            \ restore it

¦³®É¡A¤@­Ó¤Þ¼Æ¥i¥H±q¤@¹õ¶Ç°e¨ì¤U¤@¹õ¡C¨Ò¦p¦b¤@­Ó¸ó¶V¦h­Ó¹õªº²Õ¦X»y¨¥©w¸q ¤¤¡A¥Ñ¡yBEGIN¡z©Î¡yIF¡z©Ò¶Ç¦^ªº­È¡A©ÎªÌ±q¬Y­Ó©w¸q¦r¶Ç°e¨ì¥t¤@­Ó©w¸q¦rªº¦a§} ¡]°Ñ¾\¥»®Ñ²Ä¤»³¹¤¤¡A"½sĶ®É°Ïªº¤À¸Ñ"¤@³¹¡^¡C¦b³oºØª¬ªp¤U¡A³Ì¦n±N¡yBASE¡zªº­ÈÀx ¦s¦bªð¦^°ïÅ|¤W¡A¨Ò¦p¡G

      BASE @ >R     HEX
      ... etc. ...
      R> BASE !

¦³¤H±N³oºØ§@ªk·í§@¬O¤@ºØ¬Fµ¦¡A¨Ã¨Ï¥Î¦b¡yBASE¡z¥i¯à§ïÅܪº¥ô¦ó¹õ¤W¡A³o¼Ë¥L­Ì´N ¦A¤]¤£¥²¬°¥¦·Ð¤ß¤F¡C Moore¹ç¥i±N¡yLOAD¡z©w¸q¬°¡G¦b¸ü¤J¤§«á¡A¦Û°Ê©I¥s¡yDECIMAL¡z¡C³oºØ°µªk²¤Æ¤F ¹õªº¤º®e¡A¦]¬°§A¤£¥²¦A¶O¤ß¦a¥h­«³]¡C
¶¡¹j¤ÎÁY±Æ¡]Spacing and Indentation¡^

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ¶¡¹j¤ÎÁY±Æ»P¥iŪ©Ê®§®§¬ÛÃö¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¥»®Ñ¤¤ªº¨Ò¤l¡A¨Ï¥ÎµÛ¤j¦h¼Æ¤H³£±µ¨üªº¶¡¹j»PÁY±ÆªºÅéµô¬ù©w¡CªÅ®æ­Y¯à³Q«ê·íªº ¨Ï¥Î¡A¥iŪ©Ê´N¯à¤j¤jªº¼W±j¡C¦b­ì©lµ{¦¡¹õ¤¤¯d¥X¨ÇªÅ®æ¡A°£¤F¥Î±¼¤@¨ÇºÏºÐªÅ¶¡¥~¡A µ´µL®`³B --¤Ï¥¿¥¦«Ü«K©y¡C ¹ï©ó¨º¨Ç°¾·R¥Õ¯È¶Â¦r¬ù©wªº¤H¡Aªí5-1¬O¤@¨Ç«ü¤Þªº¦Cªí¡C¡]¦ý½Ð°O¦í¡A²Å¦¡ªº ¸Ñ;¹¬O¤£¦b¥G¶¡¹j»PÁY±Æªº¡C¡^

      ªí 5-1  ÁY±Æ¤Î¶¡¹jªº«ü¤Þ

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
ªÅ1®æ --«_¸¹»P¦W¦r¤§¶¡ ªÅ2®æ --¦W¦r»Pµù¸Ñ¤§¶¡Ææ ªÅ2®æ©Î´«¦æ --µù¸Ñ¤§«á¤Î©w¸q¤§«eÆæ ªÅ3®æ --¦W¦r»P©w¸q¤§¶¡¡]­Y¥¼¨Ï¥Îµù¸Ñ®É¡^ ÁY±Æ3®æ --¥Î©ó¦U«áÄò¦æ¡]©Î¥H3ªº­¿¼Æ¥Î©ó±_ª¬ÁY±Æ¡^ ªÅ1®æ --¥Î©ó¤ù»y¤º³¡ªº¦r¡]©Î¼Æ­È¡^¤§¶¡ ªÅ2©Î3®æ --¥Î©ó¦U­Ó¤ù»y¤§¶¡ ªÅ1®æ --¥Î©ó³Ì«á¤@­Ó¦r»P¤À¸¹¤§¶¡ ªÅ1®æ --¥Î©ó¤À¸¹»P¡yIMMEDIATE¡z¡]­Y¥Î¨ì¥¦¡^¤§¶¡

©w¸q»P©w¸q¤§¶¡¤£­n¯dªÅ¦æ¡A°£«D¬O¬°¤F¤À¹j¨â¸s¤£¦Pªº©w¸q®É¡C

Ææ±`¨£ªº¥t¤@¨Ç¬ù©w­n¨D¦b¦W¦r»Pµù¸Ñ¤§¶¡ªÅ1®æ¡Aµù¸Ñ»P©w¸q¤§¶¡ªÅ3®æ¡C§ó¦Û ¥Ñªº°µªk¬O¦bµù¸Ñªº«e«á³£ªÅ¥X3®æ¡C¤£½×»Õ¤U¿ï¥Îªº¬O¦óºØ¬ù©w¡A°È¥²«O«ù¥Îªk ¤Wªº¤@³e©Ê¡A¤£­nÅܨÓÅÜ¥h¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¨C¦æªº³Ì«áÀ³¸Ó¬O­ÓªÅ¥Õ¡A°£«D¬O¡G

a) ©µÄò¨ì¤U¤@¦æªº¦r¦ê¡]quoted string¡^¡A©Î b) µù¸Ñªºµ²§À

¤@­Ó¥H¡y\¡z¬°°_©lªºµù¸Ñ¥i¤@ª½©µÄò¨ì¦æ§À¡C¦P¼Ëªº¡A¤@­Ó¥H¡y(¡z¬°°_©lªºµù¸Ñ¡A ¥¦ªºµ²§ô¥k¬A¸¹¥i¥H¬O¦b¤@¦æªº³Ì¥½ºÝ¡C ¤U­±¬O±`¨£ªº¶¡¹j»PÁY±Æ¤Wªº¿ù»~¡G

¦H¡]¦W¦r»P¨­Åé¨S¦³¤À¶}¡^¡G

      : PUSH HEAVE HO ;

Àu¡G

      : PUSH   HEAVE HO ;

¦H¡]©µÄòªº¦æ¨S¦³ÁY±Æ3®æ¡^¡G

      : RIDDANCE  ( thing-never-to-darken-again -- )
      DARKEN  NEVER AGAIN ;

Àu¡G

      : RIDDANCE  ( thing-never-to-darken-again -- )
         DARKEN  NEVER AGAIN ;

¦H¡]¤ù»y¨S¦³¤À¹j¡^¡G

      : GETTYSBURG   4 SCORE 7 YEARS + AGO ;

Àu¡G

      : GETTYSBURG   4 SCORE  7 YEARS +  AGO ;

¤ù»y¤À¹j¬OÄÝ©ó¥DÆ[¤WªºÃÀ³N¡F§Ú¤@ª½¬è¬ß¯à¦³¤@®M¦³¥Îªº¥¿¦¡³W«h¥X²{¡CµL½×¦p¦ó¡A §A¯­­nª`·N«O«ùµÛ¦³¨}¦nªº¥iŪ©Ê´N¹ï¤F¡C
µù¸Ñªº¬ù©w¡]Comment Conventions¡^

µù¸Ñªº¾A·í»P§_¨ÆÃöºò­n¡Cµù¸Ñ¦³¤­ºØ«¬¦¡¡G°ïÅ|®ÄªGµù¸Ñ¡A¸ê®Æµ²ºcµù¸Ñ¡A¿é¤J ¦r¦êµù¸Ñ¡A¥Øªºµù¸Ñ¤Î±Ô¨Æµù¸Ñ¡C ¡u°ïÅ|®ÄªGµù¸Ñ¡v³Q¥Î¨ÓÅã¥Ü¥X³o­Ó©w¸q©Ò®ø¯Óªº¡B¤Î©Ò¶Ç¦^ªº°ïÅ|¤Þ¼Æ¡C ¡u¸ê®Æµ²ºcµù¸Ñ¡v¥Î¨ÓÅã¥Ü¸ê®Æµ²ºc¤¤¦U¤¸¯Àªº¦ì¸m¤Î§t·N¡C¨Ò¦p¡A¤@­Ó¥»¤å½w ½Ä°Ï¥i¯à¦b²Ä¤@­Ó¦r¤¸³B¦s©ñµÛ¤@­Ó­p¼Æ­È¡]count¡^¡A¦A±µµÛ63­ÓÀx¦s¥»¤å¥Îªº¦r¤¸¡C ¡u¿é¤J¦r¦êµù¸Ñ¡v¥Î¨ÓÅã¥Ü³o­Ó©w¸q±q¿é¤J¦r¦ê¤¤©Ò¬ß±æ¨£¨ìªº¬O¦óºØ¦r¦ê¡C¨Ò¦p ¦r¡yFORGET¡z¡A¥¦·|¨ì¦r¨å¤¤¥h§ä´M¿é¤J¦r¦ê¤¤ªº¤@­Ó¦W¦r¡C ¡u¥Øªºµù¸Ñ¡v¬O¥H¾¨¥i¯à¤Öªº¤å¥y¡A¥h´y­z¬Y¤@­Ó©w¸q¬°¦ó³Q°µ¥X¨Ó¡C¦Ü©ó«ç»ò °µ¥X¨Óªº¡A´N¤£¬O³o­Óµù¸Ñ©Ò­n»¡©úªº¤F¡C ¡u±Ô¨Æµù¸Ñ¡v­Y¥X²{¦b©w¸q¤¤¡A¬O¥Î¨Ó¸ÑÄÀ¥¿¦b¶i¦æ¤¤ªº¨Æ±¡¡C³q±`¬O³v¦æªº¸ÑÄÀ µÛ¡C±Ô¨Æµù¸Ñ¥u³Q¨Ï¥Î¦b"««ª½®æ¦¡"ªºµ{¦¡½X¤¤¡A³oÂI¦bµy«á·|¦³¥æ¥N¡C µù¸Ñ³q±`¥H¤p¼g¦r¥À¼g¥X¡A¥H«K»P­ì©lµ{¦¡½X¦³©Ò°Ï§O¡C¡]²Å¦¡¦r¦h¥b¬O¥H¤j¼g¦r¥À ©R¦Wªº¡A¤p¼g¦r¥À°¸º¸¤]·|¦b¯S¨Ò¤¤¨Ï¥Î¡C¡^ ¤U­±¦U¸`¡A§Ú­Ì·|±N¤W­z¦U«¬µù¸Ñªº¼Ð·Ç¤Æ®æ¦¡°µ¤@­ÓÁ`µ²¡A¨ÃÁ|¥X¤@¨Ç¹ê¨Ò¡C
°ïÅ|µù°Oªk¡]Stack Notation¡^

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ¨C¤@­Ó¯A¤Î¨ì®ø¯Ó©M¶Ç¦^°ïÅ|¤Þ¼Æªº©w¸q¡A³£¥²¶·§t¦³¤@­Ó°ïÅ|®ÄªGªºµù¸Ñ¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

©Ò¿×"°ïÅ|µù°Oªk"«Y«ü¡u¦p¦óªí¥Ü°ïÅ|¤W¦³¤°»ò¡vªº¦³Ãö¬ù©w¡C°ïÅ|ªºµù°O¦³¤TºØ §Î¦¡¡A§Y"°ïÅ|¹Ï¹³"¡A"°ïÅ|®ÄªG"¤Î"°ïÅ|®ÄªGªºµù¸Ñ"¡C
°ïÅ|¹Ï¹³¡]Stack Picture¡^

°ïÅ|¹Ï¹³¬O¥Î¨Ó«ü¥X¦b¬Y¤@®É¨è¡A®Ú¾Ú¹ï¦¹©w¸qªº¤F¸Ñ¡AÀ³¸Ó·|¥X²{¦b°ïÅ|¤Wªº¶µ ¥Ø¡C³o¨Ç¶µ¥Ø¨Ì§Ç±q¥ª¨ì¥k¦C¥X¡A³Ì¥k¶µ¥Nªí°ïÅ|ªº³»ºÝ¡A¥ª¶µ¥Nªí¸û§Cªº¦ì¸m¡C ¨Ò¦p¡A°ïÅ|¹Ï¹³

      n1 n2

«ü¥X°ïÅ|¤W¦³¨â­Ó¼Æ­È¡A¨ä¤¤n2¦b¶µºÝ¡]³Ì±`³Q¦s¨úªº¦ì¸m¡^¡C ³o¤]¬O§AÁä¤J³o¨Ç¼Æ­Èªº¶¶§Ç¡F¨Ò¦p¡A­Yn1¬°100 ¡An2¬°5000¡A§A·|Áä¤J

      100 5000

¨Ó±N³o¨Ç¼Æ­È¥¿½T¦a©ñ¨ì°ïÅ|¤W¡C °ïÅ|¹Ï¹³¥i¥H¨Ï¥ÎÁY¼g¡A¨Ò¦pn1¡A©Î§¹¾ã«÷¥Xªº¦r¨Ó»¡©ú¡C¤ñ¸û±`¥Îªº¬OÁY¼g¡C ªí5-2©Ò¦Cªº¬O¤@¨Ç¼Ð·ÇªºÁY¼g¡C¤£½×¨Ï¥Î¨ººØ¤è¦¡¡A¦U°ïÅ|¶µ¥Ø¤§¶¡À³¸Ó¯d¦³¤@ªÅ®æ¡C ­Y¤@­Ó°ïÅ|¶µ¥Ø»Ý­n¥H¤ù»y¨Ó´y­z¡]¦p"address of latest link"¡^¡A¤ù»y¤¤©Ò¥Î ªº¦rÀ³¸Ó¥H³s¦r²Å¸¹¬Û±µ¡C¨Ò¦p°ïÅ|¹Ï¹³¡G

      address current-count max-count

Åã¥Ü°ïÅ|¤W¦³¤T­Ó¤¸¯À¡C

¡@

°ïÅ|®ÄªG¡]Stack effect¡^

¤@­Ó"°ïÅ|®ÄªG"¥]§t¨â­Ó°ïÅ|¹Ï¹³¡G¤@­Ó¬O³Q©w¸q©Ò¨Ï¥Î¡]®ø¯Ó±¼¡^ªº¨º¨Ç¶µ ¥Ø¡F¥t¤@­Ó¬O³Q©w¸q©Ò¶Ç¦^ªº¨º¨Ç¶µ¥Ø¡C¨º"¤§«e"¡]before¡^ªº¹Ï¹³¥ý¥X²{¡A¨ä«á¸ò µÛ¨â­Ó³s¦r²Å¸¹¡AµM«á¬°"¤§«á"¡]after¡^ªº¹Ï¹³¡C ¨Ò¦p²Å¦¡ªº¥[ªk¹Bºâ¤l¡y+¡z¡A¨ä°ïÅ|®ÄªG¬°

      n n -- sum

¡y+¡z¥Î±¼¨â­Ó¤Þ¼Æ¡A¨Ã¶Ç¦^¥¦­Ìªº©M¡C ½Ð°O¦í¡A°ïÅ|®ÄªG¶È¶È¬O´y­z¥X°ïÅ|¹B§@ªº"²bµ²ªG"¡C¨ä¥¦¤@¨Ç¦s¯d¦b³o¨Ç¶µ¥Ø¤§ ¤U¡A»P³o­Ó©w¸qµLÃöªº°ïÅ|¶µ¥Ø¡A«h¤£¥²Åã¥Ü¥X¡F¦P¼Ëªº¡A¦b³o­Ó¦rªº°õ¦æ¤¤¡A·|¥X²{ ¦Ó¤S®ø¥¢ªº¶µ¥Ø¤]¤£¥²³QÅã¥Ü¥X¡C ³Q¥Î¨ì¡A¦ý«o¥½³Q§ïÅܪº¿é¤J¤Þ¼Æ¡A¤]À³¸Ó­n­«½Æ¥X²{¦b¹Ï¹³¤¤¡F ¨Ò¦p¡G

      3rd 2nd top-input -- 3rd 2nd top-output

¤Ï¹L¨Ó»¡¡A­Y§ïÅܤF¥ô¦ó¤Þ¼Æ¡A°ïÅ|ªºµù¸Ñ´N¥²¶·¨Ï¥Î¤@­Ó¤£¦Pªº´y­z²Å¸¹¡G

      n1 -- n2
      n -- n'

°ïÅ|®ÄªGªºµù¸Ñ¡]Stack effect comment¡^

¤@­Ó"°ïÅ|®ÄªGªºµù¸Ñ"¬O¥X²{¦b­ì©lµ{¦¡½X¤¤¡A¥Ñ¤p¬A¸¹³ò°_ªº¤@­Ó°ïÅ|®ÄªG¡C ¤U­±¬O¡yCOUNT¡z¤@¦rªº°ïÅ|®ÄªGµù¸Ñ¡G

      ( address-of-counted-string -- address-of-text count )

©Î

      ( 'counted-string -- 'text count)

¡]·í¡yCOUNT¡z¤@¦r°õ¦æ«á¡A"count" ´N·|³Q¯d¦b°ïÅ|ªº³»ºÝ¡C¡^ ­Y¤@­Ó©w¸q¦b°ïÅ|¤W¨S¦³²£¥Í®ÄªG¡]¤]´N¬O»¡¡A¤£½×©w¸qªº¤º³¡µo¥Í¦óµ¥¤j¨Æ¡A ¨Ï¥ÎªÌ¨Ã¥½¬dı¨ì¡C¡^¡A¥¦´N¤£»Ý­n°ïÅ|®ÄªGªºµù¸Ñ¡G

      : BAKE   COOKIES OVEN ! ;

©ÎªÌ¡A§A¥i¥H¨Ï¥Î¤@­ÓªÅªº°ïÅ|µù¸Ñ¡A¨Ò¦p

      : BAKE  ( -- )  COOKIES OVEN ! ;

¨Ó±j½Õ³o­Ó¦r¹ï¥~¦bªº¥@¬É¡A¨Ã¨S¦³¨Ï¥Î©Î²£¥Í¥ô¦óªº°ïÅ|¤Þ¼Æ¡C ­Y¤@­Ó©w¸q¥u®ø¯Ó±¼¤@¨Ç°ïÅ|¤Þ¼Æ¡A«o¥¼¶Ç¦^¥ô¦ó¤Þ¼Æ¡AÂù³s¦r²Å¸¹«h¥i¦³¥iµL¡C ¨Ò¦p¡A

      ( address count -- )

¥i¥H³Q²¤Æ¦¨

      ( address count )

¡]͵ù¡G¦ý¬O«áªÌªº°µªk¯Ê¤Ö¤@­P©Ê¡A¤]®e©ö²£¥Í§xÂZ¡C¡^
¡@

°ïÅ|ÁY¼gªº¼Ð·Ç

¦b°ïÅ|µù°O¤¤¨Ï¥ÎªºÁY¼g²Å¸¹À³¤O¨D¤@­P¡Cªí5-2¦C¥X±`¥ÎÁY¼g¡C¡]¦¹ªí±N¦bªþ¿ýE¤¤ ¦A²{¡C¡^¨ä¤¤©Ò¿×"³æªø«×"¡B"Âùªø«×"µ¥³N»y¬O«ü¤@­Ó¯S©wªº²Å¦¡¨t²Î¤¤"­M¤¸"¡]cell¡^ ªºªø«×¡C¡]­Y¨t²Î¨Ï¥Î16¦ì¤¸ªº­M¤¸¡A«h"n"¥Nªí¤@­Ó16¦ì¤¸ªº¼Æ­È¡F­Y¨t²Î¨Ï¥Î32¦ì¤¸ ªº­M¤¸¡A«h"n"¥Nªí¤@­Ó32¦ì¤¸ªº¼Æ­È¡C¡^

                       ªí 5-2  °ïÅ|µù¸ÑªºÁY¼g

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
n single-length signed number ³æªø«×¡A¦³¥¿­t¸¹ªº¼Æ¦r d double-length signed number Âùªø«×¡A¦³¥¿­t¸¹ªº¼Æ¦r u single-length unsigned number ³æªø«×¡AµL¥¿­t¸¹ªº¼Æ¦r ud double-length unsigned number Âùªø«×¡AµL¥¿­t¸¹ªº¼Æ¦r t triple-length ¤T­¿ªø«× q quadruple-length ¥|­¿ªø«× c 7-bit character value 7¦ì¤¸ªº¦r¤¸­È b 8-bit byte 8¦ì¤¸²Õ ? boolean flag; or; ¥¬¤óºX¼Ð¡F©Î t= true ¯u f= false °² a or adr address ¦a§} acf address of code field °õ¦æ°Ï¦a§} apf address of parameter field °Ñ¼Æ°Ï¦a§} ' (as prefix) address of ¡]°µ¬°¦r­º®Éªº¡^¬Yª«ªº¦a§} s d (as a pair) source destination ¡]¦¨¹ï¥X²{®É¡^¨Ó·½¤Î¥Øªºªº¦a§} lo hi lower-limit upper-limit (inclusive) ¤W­­¤Î¤U­­¡]§t¡^ # count ­p¼Æ­È o offset °¾²¾­È i index ¯Á¤Þ­È m mask ¾B¸n x don't care (data structure notation) ¥i©¿²¤--¡]¸ê®Æµ²ºcªí¥Üªk¡^ ¤@­Ó"°¾²¾­È"¬O¥Hµ´¹ï³æ¦ì¡]¨Ò¦p¦ì¤¸²Õ¡^ªí¥Üªº®t¶q¡C ¤@­Ó"¯Á¤Þ­È"¬O¥HÅÞ¿è³æ¦ì¡]¨Ò¦p¤¸¯À©ÎÄæ¦ì¡^ªí¥Üªº®t¶q¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
¡@

ºX¼Ðªºµù°Oªk

ªí5-2¤¤Åã¥Ü¤TºØªí¥Ü¥¬¤óºX¼Ð¡]boolean flag¡^ªº¤è¦¡¡C¬°¤F»¡©ú¡A¤U­±¬O¦P¤@­Ó ¦r¡yTEXT¡zªº°ïÅ|µù¸Ñªº¤TºØª©¥»¡G

      ( a1 u a2 -- ?)
      ( a1 u a2 -- t=no-match)
      ( a1 u a2 -- f=match)

¸ò¦b"t"¤Î"f"¤§«áªºµ¥¸¹¡Aªí¥Ü°õ¦æ«áºX¼Ð©Ò¥Nªíªºµ²ªG¡C²Ä¤GºØ¼gªk¤¤ªº¥kÃäÀ³Åª¦¨ "true means no match."¡]ºX¼Ð¬°¯u®É¡Aªí¥Ü¨S¦³§k¦Xªº¤å¦r¦s¦b¡^¡C
¥i¯à¦³¤£¦Pµ²ªGªºµù°Oªk

¬Y¨Ç©w¸q¦b¤£¦P±¡ªp¤U·|²£¥Í¤£¦Pªº°ïÅ|®ÄªG¡C ­Y°ïÅ|¤Wªº¤Þ¼Æ¼Æ¥Ø¦b¦UºØª¬ªp¤U³£«O«ù¤£ÅÜ¡A¦Ó¤Þ¼Æ¥»¨­«o·|ÅÜ¡A§A¥i¥H¥Î««ª½½u¡]|¡^¨Óªí¥Ü"©ÎªÌ"ªº·N«ä¡C¤U­±ªº°ïÅ|®ÄªGµù¸Ñ¬O´y­z¤@­Ó¦r¡A¥¦¥i¯à·|¶Ç¦^¤@­ÓÀÉ®× ªº¦a§}¡]­Y§ä¨ì©Ò­nªºÀɮס^¡A¤]¥i¯à¶Ç¦^¤@­Ó¹s¡]ªí¥ÜÀɮרS§ä¨ì¡^¡G

      ( -- address | 0=undefined-file)

­Y¬Y¤@­Ó°ïÅ|¹Ï¹³¤¤ªº¤Þ¼Æ¼Æ¥Ø¬O¥iÅܪº --¤£½×¦b"¤§«e"©Î"¤§«á"ªº¹Ï¹³¤¤ --§A´N ¥²¶·¨Ï¥ÎÂù³s¦r²Å¸¹¡A¨Ã¥B¥H | ²Å¸¹¤À¶}¡A±N¨âºØª©¥»ªº¥þ³¡°ïÅ|¹Ï¹³³£¼g¥X¨Ó¡C ¨Ò¦p¡G

      -FIND   ( -- apf len t=found | -- f=not-found )

¦¹µù¸ÑÅã¥Ü¡G­Y¯à´MÀò©Ò­nªº¦r¡A«h¦³¤T­Ó¤Þ¼Æ·|³Q¶Ç¦^¡]¯uºX¼Ð¦b³»ºÝ¡^¡F¤£µM¡A «h¥u¦³¤@­Ó°²ºX¼Ð³Q¶Ç¦^¡C °ª¿³ªº¸Ü¡A§A¥i¥H±N¾ã­Ó°ïÅ|®ÄªG¼g¨â¦¸¡C¦pªG¬O¼g¦b¦P¤@¦æ¤¤¡A«h¶¡¹j¤T­ÓªÅ®æ¡G

      ?DUP    \ if zero:( n -- n)     if non-zero:( n -- n n)

©Î««ª½¦¡ªº¦C¥X¡G

      -FIND  \     found:( -- apf len t )
             \ not-found:( -- f )

¡@
  ¸ê®Æµ²ºcªºµù¸Ñ

¸ê®Æµ²ºcµù¸Ñ¬O¥Î¨Ó´y­z¸ê®Æµ²ºc¤¤ªº¤¸¯À¡C¨Ò¦p¡A¤U­±¬O¦WºÙ¬°¡y|INSERT¡zªº ´¡¤J½w½Ä¾¹¡]insert buffer¡^ªº©w¸q¡G

      CREATE  |INSERT   64 ALLOT       \  { 1# | 63text }

¨ä¤¤ªº¤j¬A¸¹¥Î¨Óªí¥Ü³oºØµù¸Ñªº¶}©l»Pµ²§ô¡F««ª½½u§@¬°µ²ºc¤¤¦U¤¸¯Àªº¤À¹j²Å¸¹¡A ¼Æ¦r¥Nªí¨C¤@¤¸¯À©Ò¦û¦³ªºªº¦r¤¸¼Æ¡C¦b¤W­±ªºµù¸Ñ¤¤¡A²Ä¤@¦r¤¸¬O¤@­Ó­p¼Æ­È¡A¨ä«á¸ò µÛ63­Ó¦r¤¸ªº¥»¤å¡C "¦ì¤¸ªºµù¸Ñ"»P¸ê®Æµ²ºcµù¸Ñ¨Ï¥Îªº®æ¦¡¬Û¦P¡A¥¦¥Î¨Ó´y­z¬Y¤@¦ì¤¸²Õ¡]©Î­M¤¸¡^ ¤¤¦U­Ó¦ì¤¸ªº·N¸q¡C¤U­±ªº¦ì¤¸µù¸Ñ

      { 1busy? | 1acknowledge? | 2x | 6input-device | 6output-device }

´y­z¬Y¤@³q«HÀW¹Dªºª¬ºA¼È¦s¾¹¡]16¦ì¤¸¡^ªº®æ¦¡¡C³Ì«eªº¨â¦ì¤¸¬°ºX¼Ð¡A¸òµÛ¨â­Ó ¥½³Q¨Ï¥Îªº¦ì¤¸¡A³Ì«á¬°¤@¹ï6¦ì¤¸ªºÄæ¦ì¡AÅã¥Ü¦¹¤@ÀW¹D©Ò³s±µªºI/Oª¬ºA¡C ­Y¦³¶W¹L¤@­Ó¥H¤Wªº¸ê®Æµ²ºc¨Ï¥ÎµÛ¬Û¦Pªº¹Ï¼Ë¼Ò¦¡¡A§A¥u¶·¼g¥Xµù¸Ñ¤@¦¸¡]«Ü ¥i¯à¬O¼g¦b«e¨¥¤¤¡^¡A¨Ã¥I¤©¥¦¤@­Ó¦WºÙ¥H«K¦b«áÄòªº¹õ¤¤¨Ï¥Î¡C¨Ò¦p¦b«e¨¥¤¤¡A­Yµ¹¤F ¤W­±¨ººØ¦ì¤¸¹Ï¼Ë¤@­Ó"status"ªº¦WºÙ¡A«h"status"´N¥i¥H³Q¥Î¦b°ïÅ|µù¸Ñ¤¤¡Aªí¥Ü³o¼Ë ªº¹Ï¼Ë¡G

      : STATUS?  ( -- status) ... ;

¦pªG¤@­Ó¡y2VARIABLE¡z¦sµÛ¤@­ÓÂù¾ã¼Æ­È¡A¨º»ò¥¦ªºµù¸Ñ´NÀ³¸Ó¬O¤@­Ó¯à»¡¥X¥¦¤º®eªº °ïÅ|¹Ï¹³¡G

      2VARIABLE PRICE    \ price-in-cents

¦pªG¤@­Ó¡y2VARIABLE¡z§t¦³¤G­Ó³æ¾ã¼Æªº¸ê®Æ¡]¦X¦b¤@°_«ê¦n¬O­ÓÂù¾ã¼Æ¡^¡A§A´N¸Ó ³o¼Ë¦a»¡©ú¥¦ªº°ïÅ|¹Ï¼Ë¡G

      2VARIABLE MEASUREMENTS  ( height weight )

³o»P¡yMEASUREMENTS¡z¬O¸g¥Ñ¨Ï¥Î¡yCREATE¡z©Ò©w¸q¥X®Éªºµù¸Ñ¤è¦¡¤£¦P¡C

      CREATE MEASUREMENTS  4 ALLOT   \ { 2weight | 2height }

¡]·í¨âºØ­z±Ô¦b¦r¨å¤¤²£¥Í¬Û¦Pªºµ²ªG®É¡A¡y2VARIABLE¡zªº¨Ï¥Î¡A·t¥ÜµÛ¥¦³q±`¬O³Q ¡y2@¡z»P¡y2!¡z¤G¦r©Ò¹B§@ --¦]¦¹§Ú­Ì´N¨Ï¥Î°ïÅ|µù¸Ñ¡C¨ä¤¤°ª¦ìªº³¡¥÷¡]high-order part¡^¡A¤]´N¬O·|¥X²{¦b°ïÅ|³»ºÝªº¡A³Q¦C¦b¥kÃä¡C¡yCREATE¡zªº¨Ï¥Î¡A«o·t¥Ü¥¦ªº­È ·|³Q¤À¶}µÛ¦s¨ú --¦]¦¹§Ú­Ì¨Ï¥Î¸ê®Æµ²ºcªºµù¸Ñ¤è¦¡¡C¨ä¤¤²Ä0­Ó¤¸¯À¦C¦b³Ì¥ª¤è¡C¡^


¿é¤J¦r¦êªºµù¸Ñ

¿é¤J¦r¦êµù¸Ñ¬O¥Î¨Ó»¡©ú¡A¦³¤°»ò¦r©Î¦r¦ê¬OÀ³¸Ó¥X²{¦b¿é¤J¦r¦ê¤¤ªº¡Cªí5-3¦C¥X »¡©ú¿é¤J¦r¦ê¤Þ¼Æªº¥Î¦r¡C

             ªí5-3  ¿é¤J¦r¦êµù¸Ñªº¥Î¦r

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
c ³æ¤@¦r¥À¡A¥HªÅ®æ¤À¹j name ¤@¦ê¦r¥À¡A¥HªÅ®æ¤À¹j text ¤@¦ê¦r¥À¡A¤£¬O¥HªÅ®æ¤À¹j text «á­±À³¸òÀH©Ò»Ýªº¬É­­²Å¸¹¡A¨Ò¦p text" ©Î text)
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¿é¤J¦r¦êªºµù¸ÑÀ³¸Ó¥X²{¦b°ïÅ|µù¸Ñ¤§«e¡A¦Ó¥B¤£­n³Q¥¦¦Û¤vªº¤@¹ï¬A¸¹®Ø°_¡A ¶È¦b«e«á¦U¯d¤T­ÓªÅ®æ¡C¤U­±§Y¬°¡y '¡z©w¸qªºµù¸Ñ¡F¿é¤J¦r¦êµù¸Ñ¥ý¥X²{¡AµM«á¬O°ïÅ| µù¸Ñ¡G

      : '   \   name   ( -- a)

§A­Y°¾·R¨Ï¥Î "(" ¡Aµù¸Ñªº¼gªk´NÅܦ¨¡G

      : '   (   name   ( -- a)

±µ¨ü¦r¦êªº¿é¤J¡A¦³¤TºØ¤£¦Pªº±¡ªp¡C¬°Á×§K²V²c¡A¥¦­Ìªº»¡ªk¬O¡G

¡E ·j´M¡]Scanning-for¡^¡G¦V«e§ä´M¿é¤J¦r¦ê¤¤ªº¬Y¤@­Ó¦r©Î¼Æ­È¡A¨Ò¦p¦b¡y '¡z ªº±¡ªp¡F©Î¬O§ä¤@­Ó¬É­­²Å¸¹¡A¨Ò¦p¦b¡y."¡z¤Î¡y.(¡z°õ¦æ®É¡C ¡E ´Á±æ¡]Expecting¡^¡G¦bµ¥«ÝµÛ¡C¨Ò¦p¡yEXPECT¡z¤Î¡yKEY¡z¤G¦r´N¬O¦bµ¥«Ý¿é ¤J¡C ¡E »{¬°¡]Presuming¡^¡G¦b¥¿±`±¡ªp¤U¡A¬Y¨ÇªF¦èÀ³¸Ó·|¸òµÛ¥X²{¡C¨Ò¦p¡y:¡z ·|·j´M¨º­Ó­n³Q©w¸qªº¦WºÙ¡A¨Ã¥B"»{¬°"¥¦ªº©w¸q·|¸òµÛ¥X²{¡C

¿é¤J¦r¦êªºµù¸Ñ¶È¾A¥Î©ó·í¿é¤J¦r¦ê»Ý­n³Q"·j´M"®É¡A¤~¬O«ê·íªº¡C
¥Øªºµù¸Ñ¡]purpose comments¡^

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ¨C¤@­Ó©w¸q³£¥²¶·¦³¤@­Ó¥Øªºµù¸Ñ¡A°£«D¡G a. ¥¦ªº¥Øªº¥i¥Ñ¥¦ªº¦WºÙ©Î¥¦ªº°ïÅ|µù¸Ñ²M´·ªº¬Ý¥X®É¡A©ÎªÌ b. ¦pªG¥¦¬O¥Ñ¤T­Ó¥H¤Uªº¦r©Ò²Õ¦¨ªº¡C¡]²³æ¨ì¤£»Ý¥ô¦óµù¸Ñ¡^
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¥Øªºµù¸ÑÀ³¸Ó«O«ù¦b³Ì¤pªºª¬ºA --µ´¤£­n¶W¹L¤@¦æ¡C¨Ò¦p¡G

      : COLD   \ restore system to start condition
          ... ;

¥t¤@¤è­±¡A¤@­Ó¦rªº¥Øªº¡A¸g±`¥iÂǥѥ¦¦Û¤vªº°ïÅ|µù¸Ñ¡A¤©¥H´y­z¥X¨Ó¡C§A«ÜÃø ·|¦³¬J»Ý­n¤@­Ó°ïÅ|µù¸Ñ¡A¤S»Ý­n¤@­Ó¥Øªºµù¸Ñªº±¡ªp¡C¨Ò¦p¡G

      : SPACES   ( #--)  ... ;

©Î

      : SPACES   ( #spaces-to-type -- )   ...   ;

³o­Ó©w¸q·|±N°ïÅ|³»ºÝªº°Ñ¼Æ¬Ý§@¬Oªí¥Ü»Ý­n¦L¥XªºªÅ®æ¼Æ¥Ø¡C

      : ELEMENT  ( element# -- 'element)   2*   TABLE + ;

³o­Ó©w¸q±N¤@­Ó¯Á¤Þ­È¡]·|³Q¥Î±¼¡^¡AÂà´«¬°¤@­Óªí®æ¤¤³Q¥¦©Ò«üµÛªº¤¸¯Àªº¦a§}¡A ¦Ó³o­Óªí®æ¬O¥Ñ2­Ó¦r¤¸ªº¤¸¯À©Ò²Õ¦¨ªº¡C

      : PAD  ( -- 'scratch-pad)   HERE  80 + ;

³o­Ó©w¸q¶Ç¦^¤@­Ó°O¾ÐÅé¼È¦s°Ïªº¦a§}¡C ¦³®É¡A¥iŪ©Ê¥i¥HÂǵۦP®É°O¸ü¨âºØ«¬¦¡ªºµù¸Ñ¦Ó¤j¬°¼W±j¡C¦b³oºØ±¡§Î¤U¡A¥Øªºµù ¸ÑÀ³¥X²{¦b«á­±¡C¨Ò¦p¡G

      : BLOCK  ( n -- a)   \   ensure block n in buffer at a

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ¤£¦P«¬¦¡ªºµù¸Ñ­n¨Ì¤@©wªº¶¶§ÇÅã¥Ü¡G¿é¤J¦r¦êªºµù¸Ñ¦b³Ì«e¡A°ïÅ|®ÄªGªºµù¸Ñ¨ä¦¸ ¡A¥Øªºµù¸Ñ·µ«á¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¨Ò¦p¡G

      : GET    \ name  ( -- a)   get first match

­Y¦³»Ý­n¡A§A¤]¥i±N¥Øªºµù¸Ñ¼g¦b²Ä¤G¦æ¡G

      : WORD   \ name   ( c -- a)
               \ scan for string deliimt'd by "c"; leave at a
          ...  ;

©w¸q¦rªºµù¸Ñ¡]Comments for Defining Words¡^

¤@­Ó¡u©w¸q¦r¡vªº©w¸q²o¯A¨ì¤GºØ¦æ¬°¡]behavior¡^¡G

¤@¬O·í¥¦¦b©w¸q¥¦ªº"«Ä¤l"®Éªº¦æ¬°¡]½sͮɰÏ(compiler-time)ªº¦æ¬°¡^¡A ¥H¤Î ³o­Ó«Ä¤lªº¦æ¬°¡]°õ¦æ®É°Ï(run-time)ªº¦æ¬°¡^¡C

³o¤GºØ¦æ¬°¥²¶·¤À¶}¨Óµù¸Ñ¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü µù¸Ñ¤@­Ó©w¸q¦rªº½sĶ®É°Ïªº¦æ¬°®É¡A¨Ï¥Î¤@¯ëªº¤è¦¡¡Fµù¸Ñ¥¦ªº°õ ¦æ®É°Ïªº¦æ¬°®É¡A­n¸ò¦b¡yDOES>¡z©Î¡y;CODE¡zªº«á­±¤À¶}¨Óµù¸Ñ¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¨Ò¦p¡G

      : CONSTANT   ( n-- )   CREATE ,
          DOES>   ( -- n)   @ ;

°õ¦æ®É°Ï¡]«Ä¤l¡^ªº¦æ¬°ªº°ïÅ|®ÄªGµù¸Ñ¡AÀ³¸ÓÅã¥Ü¥X³o­Ó«Ä¤l±N¨Ó¦b°õ¦æ®Éªº°ïÅ|ªº "²b"®ÄªG¡C¦]¦¹¡A¥¦¨Ã¤£¥]§t¥Ñ¡yDOES>¡z©Ò¶Ç¦^ªº¦a§}¡A§Y¨Ï¬O·í³o¬q½X¦b°õ¦æ®É¡A ³o­Ó¦a§}½T¹ê¦a·|¸g¥Ñ°ïÅ|¶Ç¨Ó¡C

¦H¡]°õ¦æ®É°Ïµù¸Ñ§t¦³apf ¡^¡G

      : ARRAY   \ name  ( #cells -- )
         CREATE 2* ALLOT
         DOES>   ( i apf -- 'cell)   SWAP  2* + ;

Àu¡G

      : ARRAY   \ name  ( #cells -- )
         CREATE 2* ALLOT
         DOES>   ( i -- 'cell)   SWAP  2* + ;

¸g¥Ñ¡yARRAY¡z©Ò©w¸q¥Xªº¦r¡]¥¦ªº«Ä¤l¡^³£·|¦³¤U­±ªº°ïÅ|®ÄªG¡G

      ( i -- 'cell)

§Y¨Ï¤@­Ó©w¸q¦r¨Ã¥¼³Q«ü¬£¦³¡u°õ¦æ®É°Ï¦æ¬°¡v¡A³o­Ó¦æ¬°¤´µM¦s¦b¡A¥¦¥i¥H³Qµù¸Ñ¬°¡G

      : VARIABLE  (  name  ( -- )  CREATE  2 ALLOT ;
         \ DOES>  ( -- adr )

½sͦrªºµù¸Ñ¡]Comments for Compiling Words¡^

´N¦p¦P¡u©w¸q¦r¡v¤@¼Ë¡A¤j¦h¼Æªº¡u½sͦr¡v¤]²o¯A¨ì¨âºØ¦æ¬°¡G

1. ·í³o­Ó½sͦr¥X²{¦b¤@­Ó©w¸q¤¤¡A¦Ó³o­Ó©w¸q¥¿¦b³Q½sĶ®Éªº¦æ¬°¡C 2. ·í§t¦³³o­Ó½sͦrªº©w¸q³Q°õ¦æ®É¡A³o­Ó½sͦrªº¦æ¬°¡C

¦P¼Ë¦a¡A§Ú­Ì¤]¥²¶·¹ï³o¨âºØ¦æ¬°¤À§O°µµù¸Ñ¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü µù¸Ñ¤@­Ó½sͦrªº°õ¦æ®É°Ïªº¦æ¬°®É¡A¨Ï¥Î¤@¯ëªº¤è¦¡¡Fµù¸Ñ¥¦ªº½sĶ®É°Ïªº¦æ¬°®É ¡A­n¤À¶}¨Óµù¸Ñ¡A¨Ã¦b±Ò©l³B¥[¤W"Compile"¡]½sĶ¡^ªº¼ÐÅÒ¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¨Ò¦p¡G

      : IF   ( ? -- ) ...
      \ Compile:   ( -- address-of-unresolved-branch)
          ... ; IMMEDIATE

¦b¼g½sͦrªºµù¸Ñ®É¡A²Ä¤@­Óµù¸Ñ¬O¥Î¨Ó´y­z°õ¦æ®É°Ïªº¦æ¬°¡A³q±`ªí¥Ü¥¦³Q"¨Ï¥Î"®É ªº"»yªk"¡C²Ä¤G­Óµù¸Ñ¬O´y­z¸Ó¦r¦b³Q½sͮɡA°µ¤F¨Ç¤°»ò¨Æ¡]³oÂI¹ï¨Ï¥ÎªÌ¬O¤ñ¸û¤£ ­«­nªº¡^¡C

¥t¤@­Ó¨Ò¤l¡G

      : ABORT"   ( ? -- )
      \ Compile:   text"    ( -- )

¦³®É¡A·í¤@­Ó½sͦr¦b¤@­Ó«_¸¹©w¸q¤§¥~³Q©I¥s®É¡A¥¦¥i¯à·|ªí²{¥X¤£¤@¼Ëªº¦æ¬°¡C³o Ãþ¦r¡]¬O«ÜÃø¦ø«Jªº¡^»Ý­n¤T­Óµù¸Ñ¡C¨Ò¦p¡G

      : ASCII  ( -- c)
      \ Compile:   c   ( -- )
      \ Interpret:   c   ( -- )
           ... ; IMMEDIATE

¥»®Ñªþ¿ýE¤¤¦³³oÃþµù¸Ñªº¼gªk¥i¨Ñ°Ñ¦Ò¡C


««ª½®æ¦¡¹ï¤ô¥­®æ¦¡

µù¸Ñªº¥Øªº¡A¦b¨Ïµ{¦¡½XªºÅªªÌ®e©ö¬Ý¥X¥¿¦b¶i¦æªº¬O¤°»ò¨Æ¡C¦ý¬O¡A»Ý­n¦h¤Öµù¸Ñ¤~ °÷¡H­n¨M©w¤°»ò¼Ë¤ô¥­ªºµù¸Ñ¤~¯àº¡¨¬»Ý­n¡A§A¥²¶·°Ý¦Û¤v¨â­Ó°ÝÃD¡G

½Ö·|¨ÓŪ§Úªºµ{¦¡½X¡H §Ú¨º¨Ç©w¸qªº¥iŪ©Ê¦p¦ó¡H

µù¸Ñªº¤åÅé¡]styles¡^°ò¥»¤W¦³¨âºØ¥i¨Ñ¿ï¾Ü¡C²Ä¤@ºØºÙ¬°"««ª½®æ¦¡"¡A¨ä¤¤¥]§t¹ï ¹Lµ{ªº³v¨B±Ô­z¡A´N¹³¬O°µ¤F«Ü¦nªºµù¸Ñªº²Õ¦X»y¨¥µ{¦¡¦Cªí¡C³oºØ³v¨B±ø¦Cªºµù¸ÑºÙ ¬°"±Ô¨Æ¦¡ªºµù¸Ñ"¡C

  \ CRC Checksum
  : ACCUMULATE   ( oldcrc char -- newcrc)
     256 *                   \ shift char to hi-order byte
     XOR                     \ & xor into previous crc
     8 0 DO                  \ then for eight repetitions,
         DUP 0< IF           \ if hi-order bit is "1"
            16386 XOR        \ xor it with mask and
            DUP +            \ shift it left one place
            1+               \ set lo-order bit to "1"
                ELSE         \ otherwise, i.e. hi-order bit is "0"
            DUP +            \ shift it left one place
                THEN
         LOOP ;              \ complete the loop

¥t¤@ºØ¤£¦bµ{¦¡½Xªº¤ù»y¤§¶¡ÂIºó³o¨Ç±Ô¨Æ¦¡µù¸Ñªº«¬ºAºÙ¬°"¤ô¥­®æ¦¡"¡C

      : ACCUMULATE   ( oldcrc char -- newcrc)
          256 *  XOR  8 0 DO  DUP 0< IF
            16386 XOR  DUP +  1+  ELSE  DUP +  THEN  LOOP ;

««ª½®æ¦¡¾A¥Î©ó¤@¤j²Õµ{¦¡³]­p®v¦@¦P¼¶¼g¤ÎºûÅ@¤@­ÓÀ³¥Îµ{¦¡ªº±¡ªp¡C¤@¯ë¦Ó¨¥¡A ¦b³o¼Ëªº¤@²Õ¤H¤¤¡A¦³´X­Ó¸ê²Lªº³]­p®v­t³d¦¸­nªº­×¥¿¤u§@¡C¦b³o¼ËªºÀô¹Ò¤U¡A¶O ¤@µf¤ß¤O©Ò°µªºµù¸ÑÁ`·|¸`¬Ù¤U¤j¶qªº®É¶¡¡A¨Ã¥BÁ×§K¤£¤Öªº§xµ~¡CMoore²£·~¤½¥qªº Johnson»¡¡G¡u·íºû­×µ{¦¡½X®É¡A§A³q±`¥u·|¹ï¨ä¤¤ªº¤@¤p¬q¦³¿³½ì¡A¼g¦b¨º¨àªº¸ê°T ¶V¦h¡A¾¨§Ö­×´_ªº¾÷·|¤]´N¶V¤j¡C¡v ¥H¤U¬°¸Ó¤½¥q­n¨D²Å¦¡µ{¦¡³]­p®v¿í¦u¡A¥B»á¦X­n»âªº³W«h¡C

1. ¨Ï¥Î««ª½®æ¦¡¡Cµù¸Ñ¼g¦b­ì©l½Xªº¥k¤è¡C¦³»Ý­n®É¡A¤]¥i¥H±µÄò¨ì¤U¤@¦æ¡C 2. µù¸Ñ©Ò¥Îªº¦r¼ÆÀ³¸Ó¤ñ­ì©l½X¦h¡C¡]³o­Ó¤½¥q¹ªÀy¨Ï¥Î¸ûªøªº¡B¯à¥R¤À´y­z·N«ä ªº¦W¦r¡^ 3. ¥ô¦ó±ø¥óµ²ºcªº¦r¡B©ÎÀ³¥Îµ{¦¡ªº¦r¡AÀ³¸Ó¤À¶}¼g¦b¥t¤@¦æ¡C"¾¸­µ¦r"¥i¥H»EÃl ¦b¤@°_¡C¦b±_¦¡ªº±ø¥ó¥y¤¤¥²¶·¨Ï¥ÎÁY±Æ¡C¡]͵ù¡G¦b²Å¦¡ªº®Ö¤ß¦r¤¤¡A¦³¨Ç¦r ·|§«Ãªµ{¦¡ªº¥iŪ©Ê¡A¦p°ïÅ|¾Þ§@ªºDUP¡BDROPµ¥µ¥¡A¥¦­Ì¬Ý¨Ó´N¹³¬O"¾¸­µ"¡^

¦ý¬O¡A³oºØ®æ¦¡¤]¦³¨ä­Y¤z§xÃø¡C¦Ü¤Ö¡A³v¨B±Ô­zªºµù¸Ñ¤è¦¡«Ü¶O®É¡A§Y¨Ï§A¨Ï¥Î¤@ ­Ó¬Û·í¦n¥Îªº½s¿è¾¹¤]¬O¦p¦¹¡C¥Í²£¤O·|¨ü¨ì¼vÅT¡A¤×¨ä¬O·í§A°±¤U¨Ó¼gµù¸Ñ¦Ó¥´Â_¤F §Aªº«ä¸ô®É¡C ¦P®É¡A§A¤]­n¤p¤ßÁlÁl¦a½T«Oµù¸Ñªº§ó·s¡C±`¦³ªº±¡§Î¬O¡Aµ{¦¡½X³Q­×§ï¤F¡A­×¥¿ ªºª©¥»¤]¸g¹L´ú¸Õ¡A­×¥¿ªº³¡¥÷¤]ªº½T¯à¤u§@ --¦ý¬Oµ{¦¡³]­p®v«o§Ñ¤F¥h­×§ïµù¸Ñ¡Cµù ¸Ñ¶V¦h¡A¥¦­Ì´N¶V¦³¥i¯à¬O¿ùªº¡C¦pªG¥¦­Ì¬O¿ùªº¡A¨º¥i¤ñ¨S¦³µù¸ÑÁÙ­nÁV¡C ¦pªG­p¹ºªº­t³d¤H¯à°÷¶O¤ß¦aÀˬd¥H½T«Oµù¸Ñªº¥¿½T©Ê¡A¨º»ò°ÝÃDÁÙ¬O¥i¥H¸Ñ¨Mªº¡C ³Ì«á¡A³v¨Bµù¸Ñªº§@ªk·|µ¹¤H¤@ºØµê°²ªº¦w¥þ·P¡C§O¥H¬°¨C¦æ³£¦³¤@­Óµù¸Ñ¡A´Nªí¥Ü ³o­ÓÀ³¥Îµ{¦¡ªºµù¸Ñ´N¬O¦nªº¡C³v¨Bµù¸Ñ¨Ã¤£·|«ü¥X¤@­Ó©w¸q¹B§@ªººëµØ¡C¨Ò¦p¡A©Ò¨Ï ¥ÎªºÀˬd­Èºtºâªk¡]checksum algorithm¡^­I«áªº·Qªk¬O¤°»ò¡H½Ö¤S¯à±q¥¦ªº±Ô¨Æ¦¡µù ¸Ñ¤¤¬Ý¥X¤°»ò¨Ó¡H ­n·Q§´·íªº´y­z¤@­Ó¤wª¾µ{§ÇªºªÈµ²¹Lµ{¡A³q±`»Ý­n³\¦h¬q¸¨¡A¦Ó«D³æ¤@­Ó¤ù»y´N ¯à¦¨¨Æ¡C³oÃþªº´y­zÀ³¸ÓÂkÄݦb¸É§U¤å¥ó©Î³¹¸`ªº«e¨¥¤¤¡C ºJ¶}³o¨Çĵ§i¤£´£¡A¤´¦³³\¦h¤½¥qµo²{««ª½¦¡ªºµù¸Ñ¬O¥²­nªº¡C·íµM¡A¤@­Ó­è¶}©l ±Ä¥Î²Å¦¡ªº¤u§@¤p²ÕÀ³¸Ó­n¥h½Õ¾A¥¦¡A´N¦p¦P¥ô¦ó¤@­Ó¤j«¬ªº¤u§@¤p²Õ¤@¼Ë¡C ¤ô¥­®æ¦¡¤S¦p¦ó¡H©Î³\³o¬O­ÓÃÀ³N¹ï¹ê»Úªº¸ÜÃD¡A¦ý¬O§Ú§Ô¤£¦í­n¬°¤ô¥­ªº®æ¦¡ÅG Å@¡C¥¦¦P¼Ë¦a¦³®Ä¡A¬Æ¦Ü¦³¨Ç¤è­±§ó³Ç¥X¡C ¦pªG²Å¦¡µ{¦¡½X¼g±o¨ì®a¡A´N¤£·|¦³§t½kÅ¢²Î¤§³B¡C³o·N«ä¬O»¡¡G

¡E ¤ä´©ªºµü¶°¦³¨}¦n³]­pªº»yªk ¡E °ïÅ|ªº¿é¤J¿é¥X§¡¤wµù¸Ñ ¡E ¥Øªº¤]°µ¤Fµù¸Ñ¡]¦pªG±q¦W¦r©Î°ïÅ|µù¸Ñ³£¤£¯à²M´·ªº»¡©ú®É¡^ ¡E ©w¸q³£¤£¤Óªø ¡E ¶Ç°e¨ì³æ¤@­Ó©w¸qªº°ïÅ|¤Þ¼Æ³£¤£¦h¡]°Ñ¾\²Ä¤C³¹¤¤"¦X¥GÅéµôªº°ïÅ|"¡^

µL½×¦p¦ó¡A²Å¦¡»P¨ä¥¦»y¨¥ªº½T¬O¤£¦Pªº¡C³v¨Bµù¸Ñªº§@ªk¡A¤£¹L¬O¥Î¨Ó´£°ªµ{¦¡¥i Ū©Êªº¤@¨Ç¨Æª«¤§¤@¦Ó¤w¡C ²Ó¿°¼¶¼gªº²Å¦¡µ{¦¡½X¦³¦p¸Öºq¡A¨ä©Ò§t¦³ªººë½T·N¸q¡A¬Oµ{¦¡³]­p®v©M¾÷¾¹¤GªÌ ³£®e©ö¾\Ūªº¡C§Aªº¥Ø¼ÐÀ³¸Ó¬O¡G¼¶¼g¤£»Ýµù¸Ñªºµ{¦¡½X¡A§Y¨Ï§A¨M©w­n¬°¥¦­Ì°µµù¸Ñ¡C ³]­p§AªºÀ³¥Îµ{¦¡®É¡A­nÅýµ{¦¡½X --¦Ó«Dµù¸Ñ-- ªí¹F¥X§Aªº·Qªk¡C ¦pªG§A¦¨¥\¤F¡A¨º§A´NÂ\²æ¤F¹L«×µù¸ÑªºªÈÄñ¡A¿²©ó¨¥Â²·N¸ð¡A¤FµL¥Ê¸¯ªº¹Ò¬É¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ³Ìºë½T¡B³Ì¤£®ö¶Oªº»¡©ú¤å¥ó´N¬O¯à°÷¦Û§Ú»¡©ú¡]self-documenting¡^ªº­ì©lµ{¦¡ ½X¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¤£©¯ªº¬O¡A§Y¨Ï³Ì¦nªºµ{¦¡³]­p®v¡A¤@¥¹¾D¹J¨ì¥æ¨÷´Á­­ªºÀ£¤O¡A¤]·|¼g¥X­Y¨S¦³µù ¸Ñ´NÃø¥H¾\Ūªºµ{¦¡½X¡C­Y§A¬O¼gµ¹¦Û¤v¥Îªº¡A©Î¬O¼gµ¹¤@¨Ç"§A¯à¥Î¤fÀY·¾³q"ªº¤H¡A ¤ô¥­®æ¦¡¬O³Ì²z·Qªº¡C§_«h¡A§A¥u¦n¦Ò¼{««ª½®æ¦¡¡C


©R¦Wªº¿ï¾Ü¡GÃÀ³Nªº³¡¥÷

°£¤F¹ï¼Æ¾Çªº¶Ý¦n¥~¡A­Y¯à½T¹ê¦a´x´¤¦Û¤vªº¥À»y¡A¹ï¤@¦ì³Ó¥ôªºµ{¦¡³]­p®v¦Ó¨¥¡A ¤£³×¬O¸U³e®a°]¡C--¡]Edsger W. Dijkstra±Ð±Â[3]¡^

§Ú­Ì´¿¸g°Q½×¹L¡A¥H¦W¦r¨Ó¶H¼x·§©À¤Î¨Æª«³o¥ó¨Æ¡A¦bÀ³¥Îµ{¦¡¤¤ªº­«­n©Ê¡C©R¦W¤wÅÜ ¦¨³]­p¹Lµ{¤¤ªº­«­n³¡¥÷¡C ·s¶i¤H­ûÁ`·|©¿²¤¦W¦rªº­«­n©Ê¡A¥L­Ì»{¬°¡u²¦³º¡A¹q¸£´N¬O¹q¸£¡A¥¦¨Ã¤£¦b ¥G§Ú¿ï¥Îªº¬O¤°»ò¦W¦r¡C¡v ¦ý¬O°ÝÃD¬O¡A§A¦b¥G¡C¦nªº¦W¦r¹ï¥iŪ©Ê¬O«Ü­«­nªº¡C¬Æ¦Ü©ó¡A©I¥s¤@­Ó¡u³æ¤@­Ó ¦rªº´y­z¡v¡]one-word description¡^³oºØ¤ß´¼¤WªºÁëÁå¡A¯à¦b§Aªº²z¸Ñ¤O¤W²£¥Í¤@ºØ ³sÂê¤ÏÀ³¡AÅý§A¤F¸Ñ¨º­Ó¹êÅé¸Ó°µ¤°»ò¡A¤£¸Ó°µ¤°»ò¡C ¥H¤U¬O¤@¨Ç¿ï¾Ü¦n¦W¦r©Ò¥Îªº³W«h¡G

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ©R¦W­n®Ú¾Ú"°µ¤°»ò"¡]what¡^¡A¦Ó«D"¦p¦ó°µ"¡]how¡^¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¤@­Ó©w¸q¥²¶·¹ï¥~­±ªº©I¥sªÌÁôÂð_¥¦¦b¹ê²{¤Wªº½ÆÂø«×¡C¦P¼Ëªº¡A¤@­Ó¦W¦r¤]¥²¶· ±Nµ{§Ç¤Wªº²Ó¸`ÁôÂð_¨Ó¡A¯­ªí²{¥X¨ä¥~»ª»P²b®ÄªG¨Ó¡]net effect¡^¡C ¨Ò¦p¡A²Å¦¡¦r¡yALLOT¡z¡]°t¸m¡^¶È¶È¬O¼W¥[¤F¦r¨åªº«ü¼Ð­È¡]¦b¤j¦h¼Æªº¨t²Î¤¤¡A «ü¼Ðªº¦W¦r¥s°µ¡yDP¡z©Î¡yH¡z¡^¡C¦ý¬O¡yALLOT¡z³o­Ó¦W¦r¤ñ¡yDP +!¡z³o­Ó¤ù»y¦n¡A¦] ¬°¨Ï¥ÎªÌ©Ò·Q­nªº¤£¹L¬O«O¯dªÅ¶¡¡A¦Ó¤£¬O¥h¼W¥[¤@­Ó«ü¼Ðªº­È¡C ¦b1983¦~ªº¼Ð·Ç¤¤¡A²Å¦¡±Ä¥Î¡yCMOVE>¡z¥h¥N´À­ì¨Ó¨ã¦³¦P¼Ë¥\¯àªº¡y<CMOVE¡z¡C ³o­Ó¹B§@³B²z¤F¡u¦V«e¡v«þ¨©¨ì¤@¬q­«Å|ªº°O¾Ð°Ï¤Wªº°ÝÃD¡C³o¬O¸g¥Ñ¥ý²¾°Ê³Ì°ª ¦ì§}ªº¤º®e¡A¦A¨Ì§Ç¡u¦V«á¡v³B²z¸û§Cªº¦a§}¡A¨Ó§¹¦¨¡C¦b·s¦W¦r¤¤¡A"°µ¤°»ò"¤¤ªº ¡u¦V«e¡v¡]¥H²Å¸¹ > ¨Óªí¥Ü¡^¨ú¥N¤F"¦p¦ó°µ"¤¤ªº¡u¦V«á¡v¡]²Å¸¹ <¡^¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ­n¿ï¥Î¨º³Ì¦³¸àÄÀ¤Oªº¦r¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

±j¦Ó¦³¤Oªº°Ê¦]¦b©ó«ê·íªº¦r¡C¨C·í§Ú­Ì±q®Ñ³ø¤¤¯AÂy¨ì«D±`«ê·íªº¦r¡A°¿©¿¤§¶¡©Ò ·P¨ü¨ìªº®ÄªG¡A¬JÄݦ×Åé¤]Äݺ믫¡A§Ö¦p°{¹q¡C¡]°¨§J¦R·Å¡^ ¥¿½Tªº¦r»P¨º¬Ý¦ü¥¿½Tªº¦r¬O¦³°Ï§Oªº¡A´N¹³¤Ñ¤Wªº°{¹q©M¿Ã¤õÂΪº·L¥ú¡C ¡]°¨§J¦R·Å¡^ ¦æÅU¨¥¡F¨¥ÅU¦æ¡C¡]²ï¤h¤ñ¨È¼@§@¡A«¢¹Ú¹p¯S²Ä¤T¹õ¡C¡^

Henry Laxen¡A¤@¦ì²Å¦¡ªºÅU°Ý¤Î§@®a¡A»{¬°¡A²Å¦¡³Ì­«­nªº¤@¶µµo®i¤u¨ãÀ³¸Ó¬O¤@ ¥»¦nÃã¨å[4]¡C ¦³®É­Ô§A¬°¤@­Ó©w¸q«ä¯Á¤@­Ó«ê·íªº¦W¦r¡A¦ý¬OÁ`¥O§A·Pı¤£§´¡C´X­Ó¤ë¹L¥h¤F¡A §A¤~µoı§¤¥¢¨}¾÷¡C´N¥H²Ä¥|³¹¤¤ªºÃ¹°¨¼Æ¦r°ÝÃD¬°¨Ò¡A¨ä¤¤¦³­Ó¦r¬O¥Î¨Ó³B²z¨Ò¥~ª¬ ªpªº¡G¤]´N¬O³B²z¤ñ¤U¤@­Ó²Å¸¹­È¤Ö1ªº¨º¨Ç¼Æ¦rªº±¡ªp¡C§Ú²Ä¤@¦¸¬O¿ï¾Ü¡u4-or-9¡v¡C ¨º¯u¬OÃø¬Ý¡C¦ýµ¥§Ú·Q¨ì¥Î¡uALMOST¡v³o­Ó¦W¦r®É¡A¤w¸g¹L¤F«Ü¤[«Ü¤[¤F¡C ¤j¦hªºFIG²Å¦¡ª©¥»ªº¨t²Î¡A³£¦³¡yVLIST¡z³o­Ó¦r¡C¥¦¥Î¨Ó±N²{¦æÃã·J¤¤ªº¦rªº¦W ºÙ¦C¥X¡C¦n¦h¦~¥H«á¡A²×©ó¦³¤H»{ÃѨì¡A­ì¨Ó¡yWORDS¡z³o­Ó¦rÁÙ§ó¬°§´·í¨Ç¡C¥¦¤£¦ý°á °_¨Ó¤f·P¦n¡A»P¨º¨ÇÃã·J¦WºÙ¦X°_¨Ó¥Î¡A¤]§ó¬°¶¶ºZ¡C¨Ò¦p¡G

      EDITOR WORDS

©Î

      ASSEMBLER WORDS

¥t¤@¤è­±¡AMoore¤]«ü¥X¡A¤£«ê·íªº¦W¦r¥i¥H¤@ÅܦӦ¨¬°¨¾¤î°½¿sªºÂ²³æ§Þ¥©¡C·í§A­¢¤£ ±o¤w¡A«D­n¤½§G§Aªº­ì©l½X®É¡A¬°¤F¦w¥þ¡A¤j¥i¥H¬G·N¦a¥h¿ï¾Ü¤@¨Ç»~¾Éªº¦WºÙ¡A¨Ï§Aªº µ{¦¡½XÅܱo«D±`ÃøÅª¡C·íµM¡A­×§ï¤]´NÅܱo¤£¥i¯à¤F¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ¿ï¾Ü¯à¦b¤ù»y¤¤ªí¥Ü¥X·N¸qªº¨º¨Ç¦W¦r¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

§A­±¹ï¤@­Ó©w¸q¡A«o¤£ª¾¹D¸Ó¥s¥¦¤°»ò¡C·Q·Q³o­Ó¦r¦b¤å¥y¤¤±N¦p¦ó¦a³Q¨Ï¥Î¡C¨Ò¦p¡G

      SHUTTER OPEN
        ¹ï©ó­n¥Î¨Ó³]©w¤@­Ó¦W¬°¡ySHUTTER¡zªº~BB2;I/O¦a§}¤¤ªº¤@­Ó¦ì¤¸¦Ó¨¥¡A¡yOPEN¡z¬O
        ­Ó«ê·íªº¦W¦r¡C
      3 BUTTON DOES IGNITION
        ¡yDOES¡z±N¡yIGNITION¡z¥H¦V¶qªº§Î¦¡¶ñ¤J¬Y¤@­Ó¥\¯àªí¡]function table¡^¤¤¡A
        ¥H«K·í²Ä¤T¸¹«ö§á³Q«ö¤U®É¡A¡yIGNITION¡zªº¥\¯à¯à±o¥H°õ¦æ¡C¡yDOES¡z³o¦W¦r¬O
        ­Ó¦n¿ï¾Ü¡C
      SAY HELLO
        ¡ySAY¡z¬O­Ó§¹¬üªº¿ï¾Ü¡C¥¦¥H¦V¶qªº¤è¦¡±N¡yHELLO¡z°e¨ì¤@­Ó°õ¦æÅܼƤ¤¡C
        ¡]·í§Ú²Ä¤@¦¸¬°~BB2;"STARTING FORTH"¤@®Ñ¼g¥X¦¹¨Ò®É¡A§ÚºÙ¥¦¬°¡yVERSION¡z¡C
         Moore¾\Ū§Úªº¤â½Z«á¡A«ØÄ³§Ú¥Î¡ySAY¡z¡C¨ºªº½T¦n¦h¤F¡C¡^
      I'M HARRY
        ¡yI'M¡z³o­Ó¦r¤ñ°_±`¨£ªº¡yLOGON HARRY¡z¡yLOGIN HARRY¡z©Î¡ySESSION HARRY¡z
         ¦ü¥G¦ÛµM±o¦h¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
¡yI'M¡zªº¿ï¾Ü¬OMooreªº¥t¤@
¶µµo©ú¡A¥L»¡¡G

§Ú°Q¹½¡yLOGON¡z³o­Ó¦r¡C­^¤å¤¤¨S¨ººØ¦r¡C§Ú·í®É¥¿¦b§ä¤@­Ó¯àªí¹F"I'M.... "¥y ¤lªº¤@­Ó¦r¡C¥¦¬O­Ó¦ÛµMªº¦r¡C§Ú¤£¹L¬O¦b¸ó¨B®É¸I¥©½ð¨ì¤F¥¦¡CÁöµM¤¤¶¡¨º¤@ÂI ¤£¤ÓÅé­±¡A¦ý¥¦«oµ¹¤H¥¿½Tªº·Pı¡C ©Ò¦³³o¨Ç¤p¤£ÂIªº¦r³£¬O±o¨ì¨º¤@Án"ªü«¢¡I"¤ÏÀ³ªº±d²ø¤j¹D¡C¦pªG§A¬ß±æªº¬O­Ó ¥¿½Tªº¦r¡A«ÜÅãµM¦a¡A¥¦´N¬O¨º­Ó¥¿½Tªº¦r¡C ¦pªG§A©Òª¾¹DªºÃã·J«Ü¥R¸Î¡A¨º§A´N¬O¦b¤@­Ó¯à°÷¿ï¾Ü¥¿½T¦rªº¸û¦n¦ì¤l¤W¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¥t¤@­ÓMoore©Ò³ßÅwªº¦r¬O¡yTH¡z¡A¨º¬O¥L¥Î¨Ó°µ°}¦C¯Á¤Þªº¦r¡C¨Ò¦p¤U­±ªº¤ù»y

      5 TH

·|¶Ç¦^°}¦C¤¤²Ä¤­­Ó¡]fifth ¡^¤¸¯Àªº¦a§}¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü «÷¥X¦W¦rªº¥þ¦W¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¦b¤@¥»Âø»x¤W¡A§Ú´¿Åª¨ì¤@¥÷²Å¦¡µ{¦¡½X¡A¨º¦ì§@ªÌ¦ü¥G¬O¨£¤£±o¥À­µ¦r¥À¡A¨Ò¦p ¡yDSPL-BFR¡z¡A¨º¬O"DISPLAY BUFFER"ªº·N«ä¡A¬Ý°_¨Ó²´·úµo»Ä¡C¦³ªº§@ªÌ¦ü¥G°g«H¤T­Ó ¦r¥À´N¯à¨ÏºÉ¤Ñ¤UÅ]³Nªº¤âªk¡A¨Ò¦p LENGTH ·n¨­¤@ÅܦӦ¨ LEN ¡C³o¨Ç§@ªk³£¤Ï¬M ¥X¤[»·¦~¥N¤¤ªº¤@¨Ç·Qªk¡C ²Å¦¡¦rÀ³¸Ó¬O­n§¹¥þ«÷¥X¨Óªº¡CÁä¤J INITIALIZE ©Î TERMINAL ©Î BUFFER ¡A¤ß¸Ì ­n·P¨ìź¶Æ¡C³o¨Ç¤~¬O§A©Ò­nªí¹Fªº¡C ¨Ï¥ÎÁY¼g®É³ÌÁVªº¨Æ´N¬O¡A§A§Ñ¤F·íªì¬O¦p¦óÁY¼gªº¡A¨ì©³¬O DSPL ÁÙ¬O DSPLY ¡H ¥t¤@­Ó°ÝÃD¬OÁY¼g¦³Ãª¥iŪ©Ê¡C¥ô¦ó¼¶¼gµ{¦¡¥Îªº»y¨¥¡A´Nºâ§A¤£±N¼gµ{¦¡ªº§xÃø ºâ¦b¤º¡A´N¤w¸g¬O°÷ÃøÅªªº¤F¡C ·íµMÁÙ¬O¦³¨Ç¨Ò¥~¡A¨Ò¦p¡G

1. µ{¦¡½X¤¤³Q·¥«×ÀWÁc¨Ï¥Îªº¦r¡C²Å¦¡¤¤¡Aªº½T¦³¤@¤p¼¼³Ì±`¥Î¨ìªº©R¥O¡A¥¦­Ì¨Ï ¥Î´Xªñ©óµL¹ê½è§t·Nªº¦W¦r¡G

          :   ;   @   !   .   ,

¦ý³oºØ¦r¤Ö¤§¤S¤Ö¡A¦Ó«o¤S¨º»òÀWÁc¦a³Q¨Ï¥ÎµÛ¡A³£´X¥GÅܦ¨¦ÑªB¤Í¤F¡C©Ò¥H¡A ¦b¥¿±`ª¬ªp¤U¡A§Úµ´¤£·|Áä¤J

         DEFINE   END-DEFINITION   FETCH   STORE   PRINT   COMPILE#

¡]¦³½ìªº¬O¡A³o¨Ç²Å¸¹¦h¥b¦b­^¤å¤¤¨S¦³¤Ï¸q¦r¡C§Ú­Ì¨Ï¥Î"«_¸¹©w¸q"³oºØ ¤ù»y¡A¨º¬O¦]¬°¨S§Oªº³N»y¦n¥Î¡F§Ú­Ì»¡"³r¤J¤@­Ó¼Æ­È¨ì¦r¨å¤¤"¡]comma a number into the dictionary¡^¡A¨º¬O¦]¬°¥¦ªº½T¤£¬O¦b½sͤ@­Ó¼Æ¦r¡Fªp¥B¡A ¤]§ä¤£¨ì§Oªº³N»y¦n¥Î¡C¡^ 2. ²×ºÝ¾÷ªº§@·~¤H­û¸g±`¥Î¨Ó±±¨î§@·~ªº¨º¨Ç¦r¡C³o¨Ç¦rÀ³¸Ó¥H³æ¤@­Ó¦r¥À©I¥s¡A ´N¦p¦P¤@¨Ç®M¸ËÀ³¥Îµ{¦¡¤¤©Ò¥Îªº"¼öÁä"¡]Hot-key¡^¤@¯ë¡C 3. ¬Y¨Ç¦r¡A¥Ñ©ó¤j®a©Ò¼ô±xªº¥Îªk¡A·t¥Ü¥¦­Ì¬O³QÁY¼gªº¡C²Å¦¡²Õ;¹ªº§U¾Ð²Å¸¹ ´N¬O­Ó¨å«¬¡C¥¦­Ì³£²Å¦X´¹¤ù»s³y°Ó©Ò«ØÄ³ªº§U¾Ð²Å¸¹¡A¦Ó³o¨Ç³£¬OÁY¼gªº¦r ¡]¨Ò¦p JMP ¤Î MOV µ¥¡^¡C

§A©Ò¥Îªº¦W¦rÀ³¸Ó³£¬O¥i¥Hµo­µªº¡F¤£µM¡Aµ¥§A­n©M®Ç¤H¤fÀY°Q½×µ{¦¡®É¡A«K·|«á ®¬¤£¤w¡C¦pªG¦WºÙ¬O­Ó²Å¸¹¡A§A´N¸Óµo©ú¥X¤@ºØ«÷­µªk¨Ó¡]¨Ò¦p >R ­nŪ"to->"¡F¦Ó R> ´N­nŪ"r-from"µ¥µ¥¡^¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ­n³ß·Rµu¦r
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¤@­Ó¬O¤T­µ¸`ªº¦r¡A¥t¤@­Ó¬O³æ­µ¸`ªº¦r¡A¨âªÌ­Y³£¯àªí¹F¥X¬Û¦Pªº·N¸q¡A§A´N¸Ó¿ï¾Ü ¨ºµu¤pªÌ¡CBRIGHT ¤ñ°_ INTENSE ¨Ó¡A´N¬O­Ó¸û¦nªº¦W¦r¡CENABLE ¤ñ ACTIVATE ¦n¡F ¦Ó GO¡ARUN ¡A©Î ON «o§ó¦n¡C µu¦rÁä¤J®É¤]¤è«K¡C¥¦­Ì¦b­ì©l½X¤W¤]¸`¬ÙªÅ¶¡¡C¦Ó³Ì­«­nªº¬O¡A¥¦­Ì¨Ï§Aªºµ{¦¡ ½X²M¼ä¦Ó¤S²M¯Ü¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ¥Î³s¦r²Å¸¹©Ò²Õ¦¨ªº¦W¦r¥i¯à·N¨ýµÛ¤£¨}ªº¤À¸Ñ¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
Moore»¡¡G

¦b²Å¦¡ªÀ¹Î¤¤¡Aµ{¦¡¼g§@©Ò¥Îªº¤åÅé¬O¬Û·í¤À§Áªº¡C¬Y¤H¨Ï¥Î³s¦r²Å¸¹±N³\¦h­^¤å ¦r³s¬°¤@­Ó¦r¡A¥Hªí¹F³o­Ó¦r­n°µªº¬O¤°»ò¡C§A±N¤@¤j°ï¦rªøªø¦a¦ê±µ¦b¤@°_¡A ´N±o¨ì¬YºØ¥iŪªºªF¦è¡C ¦ý§Ú·|¥ß¨èÃhºÃ¡Aµ{¦¡³]­pªÌ¬O§_·Q¹L¸Ó±N³o¨Ç¦r¥´´²¶}¨Ó¡A¤À§O¦a¬°¨C­Ó¦r¤U ©w¸q¡C¨º¤£¬O¸g±`³£¯à¿ì±o¨ìªº¡A¤]¤£¬O¸g±`·|¬O¦³¯q³Bªº¡C¦ý§ÚÁ`ÃhºÃ¡A³s¦r²Å ¸¹²Õ¦¨ªº¦r¬O§_¤w±N¨âºØ·§©ÀÅÍ©M¦b¤@°_¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

½Ð¤ñ¸û¤U­±¦P¤@¥ó¨Æªº¨âºØµ¦²¤¡G

      ENABLE-LEFT-MOTOR        LEFT MOTOR ON
      ENABLE-RIGHT-MOTOR       RIGHT MOTOR ON
      DISABLE-LEFT-MOTOR       LEFT MOTOR OFF
      DISABLE-RIGHT-MOTOR      RIGHT MOTOR OFF
      ENABLE-LEFT-SOLENOID     LEFT SOLENOID ON
      ENABLE-RIGHT-SOLENOID    RIGHT SOLENOID ON
      DISABLE-LEFT-SOLENOID    LEFT SOLENOID OFF
      DISABLE-RIGHT-SOLENOID   RIGHT SOLENOID OFF

¥ª¦Cªº»yªk¥²¶·¥Î¨ì¦r¨å¤¤ªº8­Ó¦r¡F¥k¦C»yªk¶È»Ý6­Ó --¦Ó¥B¨ä¤¤¤@¨Ç¦r¡AÁÙ«Ü ¥i¯à·|¦bÀ³¥Îµ{¦¡ªº¨ä¥¦³¡¥÷¦A³Q¨Ï¥Î¨ì¡C¦pªG§A¦P®ÉÁÙ¦³¤@­Ó¡yMIDDLE¡zªº°¨¹F¤Î ¹qºÏ»Ö¡A§A´N¶È¶È»Ý­n7­Ó¦r¨Ó´y­z¥X16ºØ²Õ¦X¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ¤£­n§â¼Æ¦r®¹¦b¦W¦r¤¤
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¤p¤ß¨º¨Ç¥Î¼Æ¦r¶}ÀY©Îµ²§Àªº¦WºÙ¡A¨Ò¦p 1CHANNEL¡A2CHANNEL¡A3CHANNELµ¥µ¥¡C ¹³³oºØ¦W¦r¸ò¼Æ¦r®¹¦b¤@°_ªº±¡§Î¡A«Ü¥i¯à¬O©å¦H¤À¸Ñªº¼x­Ô¡C¨ä¥Çªº¸o¹L»P³s¦r ²Å¸¹¬Û¦P¡A¯­¬O³o®É»Ý­n³Q¤À¸Ñ¥Xªº¬O¼Æ­È¦Ó«D¦r¡C¤W¦C¦WºÙªº¸û¨Î¤À¸Ñ§@ªk¬O

      1 CHANNEL
      2 CHANNEL
      3 CHANNEL

¦b³oºØ±¡§Î¤U¡A¤T­Ó¦r·n¨­¤@ÅܦÓÁY´î¬°¤@­Ó¦r¡C ³q±`¡A¦W¦r»P¼Æ¦r¬Û®¹´Nªí¥Ü§t²Vªº©R¦W¡C¦b¤W¨Ò¤¤¡A©Î³\¬°¤F­n¯à°÷Åã¥Ü¥XÀW¹D ªº¥Øªº¡A¦Ó»Ý­n¨Ï¥Î¦h­Ó¦W¦r¨Ó´y­z¡C¨Ò¦p

      VOICE , TELEMETRY , GUITAR

§Ú­Ì¦b¤U¤@³¹"¦]¦¡¤À¸Ñ"¤¤¡A±N¹ï³o¨Ç·§©À¦A¤©¥H¥Ó½×¡C
©R¦Wªº¼Ð·Ç¡G¬ì¾Çªº³¡¥÷

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ¾Ç²ß¨Ã±Ä¥Î²Å¦¡ªº©R¦W¤è¦¡¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¦b´M¨Dµu¦Ó¦³·N¸qªº¦W¦rªº¹Lµ{¤¤¡A²Å¦¡µ{¦¡³]­p®v¤w¸g±Ä¥Î¤F¬Y¨Ç©R¦W¤èªkªº ¬ù©w¡Cªþ¿ýE¤¤¦C¥X¤F¦h¦~¨Ó³°Äòµo®i¥Xªº³Ì¦³¥Îªº¬ù©w¡C ³oºØ©R¦W¬ù©wªº«Â¤O¥i¥Ñ¡y.¡zªº¨Ï¥Î¬°¨Ò¡C¥¦ªí¥Ü"¦L¥X"©Î"Åã¥Ü"ªº·N «ä¡C²Å¦¡¥»¨­´N¨Ï¥Î

      .   D.   U.R

¨Óªí¥Ü¤£¦P«¬ºA¼Æ­Èªº¤£¦P¦L¥X®æ¦¡¡C³o¨Ç¬ù©w¦P¼Ë¦a¤]¾A¥Î¦bÀ³¥Îµ{¦¡¤¤¡C¦pªG§A¦³ ­Ó¥s°µ¡yDATE¡zªºÅܼơA¦Ó§A§Æ±æ¦³­Ó¦r¨ÓÅã¥Ü¥¦¡A´N¥Î¤U­±ªº¦W¦r

      .DATE

ª`·N¡GÀݥΦrÀY©Î¦r§À·|¨Ï¦rÁà­®¤£³ô¡AÃø¥H¾\Ū¡C¤£­n³¥¤ß«k«k¡A·Q¥u¥Î¤@­Ó ¦W¦r´N±N¨º­Ó¦rªº¤@¤Á§@¬°´y­zªº¤@²M¤G·¡¡C²¦³º¡A¦W¦r¥u¬O¤@­Ó²Å¸¹¡A¤£¬Oµ{¦¡½Xªº ³t­¹ÄÑ¡C¬Ý¬Ý¤U¦C¦óªÌŪ¨Ó¸û¦³¤f·P¡H

Oedipus complex ¡]¥ì©³©¬´µÅÊ¥À±¡µ² --ĶªÌµù¡^

¡]¥¦¨Ã¥¼±a¦³¥ÍÀߪº§t·N¡^¡A©Î

subconscious-attachment-to-parent-of-opposite-sex complex

©Î³\¬O«eªÌ§a¡A§Y¨Ï¥¦°²©w§A¤w¸gª¾¹D¨º¤@ÄÕÀ¸¡C

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü ¥Î¦rÀY¦r§ÀÅý¨â­ÓÃþ¦üªº¦W¦r§PµM¦³§O¡A¦Ó¤£¬O±NÂû¤ò»[¥Öµw©¹¦W¦r¤¤¶ë¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¨Ò¦p¤U­±ªº¤ù»y

      ... DONE IF CLOSE THEN ...

©M¤U­±ªº¤ù»y¤@¼Ëªº¥iŪ

      ... DONE? IF CLOSE THEN ...

¨Ã¥B¦P¼Ëªº²M´·¡C¦]¦¹«eªÌ´N§ó¨üÅwªï¡A°£«D§Ú­Ì»Ý­n¥t¤@­Ó¥s°µ¡yDONE¡zªº¦r¡]¤]³\ §@¬°¤@­ÓºX¼Ð¨Ï¥Î¡^¡C ¤U­±¬O©R¦Wªº³Ì«á¤@­Ó´£¥Ü¡G

¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w
´£¥Ü Åý©Ò¦³16¶i¦ì¼Æ­È¥H¼Æ¦r"0"°_ÀY¡A¥HÁ×§K©M¦W¦r¬Û½Ä¬ðªº¥i¯à©Ê¡C
¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w

¨Ò¦p¡A¼g¦¨ 0ADD ³o¼Ë¡A¤£­n¼g ADD¡C ¦P®É¡A¤£­n«ü±æ§Aªº²Å¦¡¨t²Î¤@©w·|¿í¦u«e­zªº¬ù©w¡C¨º¨Ç¬ù©w¬O­n¨Ï¥Î¦b§AªºÀ³ ¥Îµ{¦¡¤¤ªº¡C ²Å¦¡¬O¥Ñ¤@¸s¨Ï¥ÎªÌ¦h¦~¨Ó©Ò³Ð³y¤Î²b¤Æ¦Ó¥Xªº¡A¥L­Ì±N²Å¦¡¬Ý§@¬O©è¹F²×ÂIªº¤@ ºØ¤â¬q¦Ó¨Ï¥ÎµÛ¥¦¡C¦b¨º¬q·³¤ë¤¤¡A­n¨D©Ò¦³©R¦Wªº¼Ð·Ç³£¤w¯Ç¤J¨º­Ó¥¿¦b¦¨ªø¤Î§ïÅܤ¤ ªº¤u¨ã¡A¬O¬J¤£¦X²z¤]¤£¥i¯àªº¡C ¦ý¬O¡A­Y²Å¦¡¬O¸g¥Ñ¤@­Ó©e­û·|ªº³]­p¦Ó½Ï¥Íªº¡]´N¦p¨ä¥Lªº¹q¸£»y¨¥¡^¡A§Ú­Ì«o ¤S¤£·|³o¼Ë¦a³ß·R¦o¤F¡C
§ó¦hªº¥iŪ©Ê´£¥Ü

¬°¤F¨Ï§Aªºµ{¦¡½X§ó¨ã¥iŪ©Ê¡A³oùØÁÙ¦³³Ì«áªº¤@¨Ç«ØÄ³¡C¡]©Ò¦³ªº©w¸q³£¦bªþ¿ýC¤¤ ¡^ ¦b¤j³¡¥÷ªºÀ³¥Îµ{¦¡¤¤¡A¤@­Ó¦³µÛ·¥°ª¨­»ùªº±`¼Æ´N¬O¡yBL¡z¡]ªÅ®æªºASCII­È¡^¡C ¡yASCII¡z³o­Ó¦r¥D­n¬O¨Ï¥Î¦b«_¸¹©w¸q¤¤¡A¥¦Åý§A¤£¥²¥h°O¦í¤@­Ó¦r¥ÀªºASCII­È´N ¯à¨Ï¥Î¥¦­Ì¡C¨Ò¦p¡A§A¤£¥²¼g¡G

      : (   41 WORD  DROP ;   IMMEDIATE

¨ä¤¤41¬O¥k¬A©·ªºASCII­È¡A§A¥i¥H¼g¡G

      : (   ASCII ) WORD  DROP ;   IMMEDIATE

¡yTRUE¡z¤Î¡yFALSE¡z³o¨â­Ó¦r¦¨Âù¦¨¹ï¡A¥¦­Ì¦bÀ³¥I¥¬¤óÅÞ¿è®É¡A¥i¥H¼W¥[µ{¦¡½X ªº¥iŪ©Ê¡C¦³¤F³o¨Ç¤§«á¡A§A´N¯à¼g¥X¤U¦Cªº¤ù»y

      TRUE 'STAMP? !

¥h³]©w¤@­ÓºX¼Ð¡A©Î

      FALSE 'STAMP? !

¥h²M°£¥¦¡C ¡]§Ú´¿¤@«×¨Ï¥Î T ¤Î F ¡A¦ý¬O¦]¬°³o¨Ç¦r¥Î¨ìªº¾÷·|·¥¬°¦³­­¡A§Ú²{¦bÂà¦Óª`·N¨ì ÁY¼gªº¸T§Ò¤W¡C¡^ §@¬°À³¥Îµ{¦¡ªº¤@³¡¥÷¡]­Ë¤£¤@©w¬O§Aªº²Å¦¡¨t²Îªº¤@³¡¥÷¡^¡A§A¥i¥H±aµÛ¦¹¤@·§©À ¦V«e¦A¦h¸ó¤@¨B¡A¨Ã°µ¥X¤U­±ªº©w¸q¡G

      : ON  ( a--)   TRUE SWAP ! ;
      : OFF  ( a--)   FALSE SWAP ! ;

³o¨Ç¦r®e³\§A¼g¥X¡G

      'STAMP? ON

©Î

      'STAMP? OFF

¨ä¥¦¥Î¦b³o¨Ç©w¸q¤Wªº¦W¦r¥]¬A SET ¤Î RESET ¡AÁöµM SET ¤Î RESET ¤j¦h¼Æ¬O ¥Î¦b¦ì¤¸¾B¸n¡]bit mask¡^ªº¹B§@¤W¡A¥Î¨Ó³B²z­Ó§Oªº¦ì¤¸¡C ¥t¤@­Ó±`¥Îªº¦r¬O¡yWITHIN¡z¡A¥¦¨M©w¬Y­Ó­È¬O§_¦b¥t¥~¨â­Ó­È¤§¶¡¡C¨ä»yªk¬°¡G

      n  lo hi WITHIN

¨ä¤¤¡An ¬O¨ü´ú­È¡Alo ¤Î hi ªí¥Ü½d³ò¡C­Y n ¤j©ó©Îµ¥©ó lo¡A¥B¤p©ó hi ®É¡A ¡yWITHIN¡z·|¶Ç¦^¤@­Ó¯u¡C³oºØ¤£§t¤W­­ªº°µªk¬O¬°¤F»P¡yDO LOOP¡zªº»yªk¬Û·í¡C Moore±ÀÂË¡yUNDER+¡z³o­Ó¦r¡C­Y­n¥[¤@­Ó­È¨ì°ïÅ|³»ºÝªº¤U¤@­Ó°Ñ¼Æ¤W¡A¥¦·|«Ü ºÞ¥Î¡C¥Î°ª¶¥©w¸q¨Ó¹ê²{®É´N¬O¡G

      : UNDER+   ( a b c -- a+c b )   ROT +  SWAP ;

µ²»y¡G

µ{¦¡ªº¥iºû­×©Ê»Ý­n¥iŪ©ÊªºÀ°§U¡C¥»³¹¦CÁ|¤F³\¦h³~®|¡A¥H¨Ï­ì©l½XÅܱo§ó ¬°¥iŪ¡C§Ú­Ì¤]´¿¦Û§Ú´Á³\¡A­n¨Ïµ{¦¡½X¾¨¥i¯à¦a°µ¨ì¦Û§Ú»¡©ú¡C¨ä¤¤ªº§Þ¥©¥]¬A µ{¦¡¦Cªíªº²Õ´¡B¶¡¹j¤ÎÁY±Æ¡Bµù¸Ñ¡B©R¦W¡B¥H¤Î¥i¥H¼W¶i²M´·«×ªº¯S§O²Å¸¹¡C §Ú­Ì¯­Â²³æ¦a´£¨ì¤FÃö©ó»²§U©Ê¤å¥ó¡A¨º¬O«ü°£¤Fµ{¦¡¦Cªí¤§¥~ªº¨ä¥¦ªF¦è¡C¥»®Ñ ±N¤£¦A¶i¤@¨Bªº°Q½×³o¨Ç¡A¦ý¥¦­Ì¤´µM¬O§¹¾ã³nÅéµo®i¹Lµ{¤¤¤£¥i©Î¯Êªº¤@³¡¥÷¡C
¡@

°Ñ¦Ò¸ê®Æ

1. Gregory Stevenson, "Documentation Priorities," 1981 FORMAL Conference Proceedings, p. 401. 2. Joanne Lee, "Quality Assurance in a FORTH Enviroment," (Appendix A,) 1981 FORMAL Proceedings, p. 363. 3. Edsger W. Dijkstra, Selected Writings on Computing: A Personal Perspective, New York, Springer Verlag, Inc., 1982. 4. Henry Laxen, "Choosing Names," FORTH Dimensions, Vol. 4, No. 4, FORTH Interest Group.

¡@