The Zen Of Forth

 

FORTHªºÁI«ä

 

 

 

 

 

 

 

--  ¤H¾÷¦X¤@ªºµL¤W¤ßªk  --

²Å¦¡¦p¹D  ¦æ¤§¥²®Ä

¬X¥H§J­è  ²¼ä¬°°ª

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ª÷«°(·R·sıùÂvÌÌ) ½sµÛ

 

ª©ÅvÁn©ú

¥»¹q¤l®Ñªº¥X²{¤D¬O¬°¤F±À¼sFORTH¡AÅwªï¦U¬É¤H¤h«þ¨©¶Ç¾\¡A¥»®Ñ©Ò¦³ª©ÅvÂkÄÝ©ó­ìµÛ§@ªÌ©Ò¦³¡A­Y»ÝÂ^¨ú¤å³¹¤ù¬q¡A½ÐµÛ¦W¸Ó¤ù¬qªº­ì©l¥X³B¡C

 

Âà½ZÁn©ú

­º¥ý·PÁª÷«°¦Ñ®vÄ@·N±N¨äµÛ§@±ÂÅv§@¦¨¹q¤l®Ñ¡A¦A«h·PÁ¼ï¼w³ß¥ý¥ÍÁÃ¥´±N­ì®ÑÂର¹q¤l½Z¡A¥Ñ¤ý«B¹AÂରPDFÀÉ¡C

 

­Y»Ý¥»®Ñ¤¤©Ò¥Î¤§F-PC³nÅé¡A¥i¦Ü¤¤µØ¥Á°ê²Å¦¡¨ó·|ºô¯¸download

 

¤¤µØ¥Á°ê²Å¦¡»y¨¥¨ó·|

http://www.figtaiwan.org/

 

­Y¦³ÅªªÌ·Q»Pª÷«°¦Ñ®v¥æ¬y¡A½ÐE-Mial¦Ücchin@pu.edu.tw 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

µ¹ÅªªÌªº¸Ü

 

¡y¼g¤@¥»®Ñ¡AÁ`¬O¯Ó¶O¤ß¯«ªº¨Æ¨à¡I¤×¨ä¬O¼g¤@¥» Forth ªº®Ñ§ó¬O¶Ë¯«¡C²Ä¤@ª©ÁÙ¬O

¼ï¼w³ßµw¿iµÛ§Ú¼g§¹ªº¡A¦p¤µ FPC ¦­¦¨¤F¬Q¤é¶Àªá¡AWin32Forth ¤]¶i¤J¤F 4.2 ª©

¤F¡C¥Ñ AppleII ªº Forth79 ¨ì Windows ¤Wªº Win32Forth ¤@Â಴ Forth ±À¼s¦Ü¥xÆW

¤]±Nªñ¤Ü¦~¤F¡A¦ý¥xÆWªº Forth ¤H¤f«o¤´µMµ}¤ÖªºÃþ¦ü§Y±N·Àµ´ªº¥v«e°Êª«¡A¦³´îµL

¼W¡A¥O¤HÕØ¼N¤£¤w¡I

 

³o¨â¦~¦£µÛ»P¤B³¯¦Ñ®v¡B³¯²n¤j®v¥S¡A©Mªü¦¿¡]³¯©÷¦¿¡^¦¨¥ß¡y©ö²Å´¼¼z¬ì§Þ¡z¡A·Q§â

Forth SoC »P ©ö²Å¤j¾Ç¡A·í¦¨¬O¤H¥Í¤¤ªº³Ì«á¤@­Ó§Ó·~¨Ó«÷³Õ¡A²¦³º¤Q¦~«e¦Û¤v·í¹L

FigTaiwan ªº¤@¥ô·|ªø¡AÁÙ¥h¤F¤@½ë¤W®ü¥æ¤j¶}¦~·|¡A¦V¤H§j¼N¤F±Nªñ¥b½ú¤l Forth

ªº¦n³B¡A­Y¤£¯à¥H¨­³\¹Dªº§ë¤J¨­®a¨Ó·d¤@¦¸¯uªº¨Æ·~¡A¦¹¥Í°Z¤£¬O¥O¤H°S¯º¡C

 

¤B³¯¦Ñ®v­n§Ú±N¡yForth ªºÁI«ä¡z¡A¨Ï¥Î Win32Forth ·í½d¨Ò¤u¨ã¡A¦A­«¼g¤@ª©¡C»¡¹ê

¸Ü§Ú¯uªº¦³ÂI¯h³n¤F¡AForth ¦b Windows  Programming ¤Wµ´¤£¬O¤@­Ó³Ì¦nªº¿ï¾Ü¡A·Q

·Q Windows ªº§@·~Àô¹Ò¦³¤W¦Ê Mega ªº°O¾ÐÅé¡A¨Ì¿àµÛ WDM ¨Ó°µ©³¼hªº IO ºÞ²z¡A³o

¼Ë¤£¦b¥G¨t²Î¸ê·½ªº PC ¦­¤w¤£¬O Forth ³o­Ó¤u¨ãªº¾Ô³õ¤F¡CForth ªº¥æ½Í¶}µo¹L

µ{¡AÁÙ¬O­n¦b embedded System ¤W¤~¬Ýªº¨ìÀu²§©Ê¡A¦b SoC ªºµ}¦³¸ê·½¸Ì·|§ó¦³§l¤Þ

¤O¡A³o¤~¬O¬Ý Forth Áy¦â¦Y¬ïªº©Ò¦b°Ú¡I

 

¤£´±¦b³o¸ÌÀH«Kªº¤¹¿Õ¡yForth ªºÁI«ä¡C²Ä¤Gª©¡zªº¥Xª©¤º®e»Pµo§G®É¶¡¡C²¦³º°£¤F°Ê

¾÷¤§¥~¡AÁÙ¦³®É¶¡»P¤ß±¡³£­n«ê·í¤~¬O¼g§@ªº¦n·í¤U¡A¥´§¤­×¦æ¦h¦~¤F¡A§Ú·Q³o¤@¤ÁÁÙ

¬OÀH½t§a¡I

 

«B¹A¦Ñ§Ì±Nª©ªº Forth ªºÁI«ä°µ¦¨ PDF ¹q¤l®Ñ¡A§Ú·Q³o¬O¦n¨Æ±¡¡A¤@¨Ó§K±o¦Ñ¦³¤H

¼g«Hµ¹§Ú¡A°Ý§Ú­n³o¥»Â®ѡA§Ú¦Û¤v¦­¨S¦³¦s³f¤F¡F¤G¨Ó®Ñ¦b¤¤°ê¤Hªº¦Ñ¬£·Qªk¤¤¡A¥»

¨Ó´N¬O¦Û¤v¼g§¹«á¦L¨Ó°eªB¤Í·í¬ö©Àªº¡C©Ò¥H¨S¦³©Ò¿×¶R½æªºª©Åv°ÝÃD¡I¦A»¡½æ Forth

ªº®Ñ¬O¥´¦º¤£·|µo°]ªº¡A³oÂI¦h¦~¨Ó¦­¦³Å鮩¤F¡A¤@¯º¡C¦p¤µ¦³¤H©ñ¦bºô¸ô¤W¬y¶Ç¡A³Õ

­Óµê¦W¡A¤]ºâ¹L¤F½ë°®Å}¡A´N¦¹ª¾¨¬¤F¡I­Y¨Ó¤é¯u¦³¤ß«ä¤]³\­«·s¥H¡yºë²ªºµwÅé¬[ºc

¢w¢w Forth ¦h°ïÅ|ªº¶ø¯µ¡z¬°¥D·F¡A¨Ó¼g¤@¥»¡yForth ¬z¶e¡z¡A³o´X¦~¶V¨Ó¶Vı±o

Forth ¹³¬O¹q¸£¤¤ªº¤å¨¥¤å¡A¸U¤@¯uªº·Q­n¼g¤@¥»  Forth ªº·s®Ñ¡A¤Ï¥¿¤£·|½æ¿úªº¡A

°®¯Ü¥ÑµÛ¦Û¤vªº©Ê¤l¡A¤@¤£°µ¤G¤£¥ðªº¼g¤@¥»¡y¤å¨¥¥jÅé¡zªº Forth ®ÑÄy¡A¤@¨Ó½æ§Ë

½æ§Ë¦Û­Ó¨àªº¤å¾Ç©³¤l¡A¤G¨Ó¦ÒÅç¦ÒÅçŪªÌªº¥j¤åµ{«×¡A¦Ü¤ÖÁÙ¦³¨Ç³¥½ì§a¡I

·R·sıù    ÂvÌÌ   ¨¯¤x¦~  ¥ò®L¡z

 

 

 

 

 

            ¥Ø       ¿ý

 

  ¦Û  §Ç(¤@)  ----------------------------------------  01

  ¦Û  §Ç(¤G)  ----------------------------------------  02

  »x  Á  --------------------------------------------  03

 

²Ä¹s½g  µL¤W¤ßªk

 

  FORTH »PÁI -----------------------------------------  0-1 ¡ã 0-6

  µL¤W¤ßªk²Ä¤@½g  ----- ¤@§â¥­¤Zªºµæ¤M ---------------  1-1 ¡ã 1-3

  µL¤W¤ßªk²Ä¤G½g  ----- ¦p¦ó¦b¤ß¤¤«Ø¤@­Ó¹q¸£ ---------  2-1 ¡ã 2-3

  µL¤W¤ßªk²Ä¤T½g  ----- µ{¦¡³]­p¤§¹D -----------------  3-1 ¡ã 3-17

 

²Ä³ü½g  ¤Jªù½g

 

  ²Ä¢¯½Ò  FORTH ¾É½×

    ¤@¡B¦w¸Ë F-PC  -----------------------------------  ¤J0-01

    ¤G¡B¾Ç²ß½Ò¤å  ------------------------------------  ¤J0-02

    ¤T¡B½m²ß  ----------------------------------------  ¤J0-03

    ¥|¡Bµ{¦¡®æ¦¡©Mµ{¦¡§U¤â  --------------------------  ¤J0-05

 

  ²Ä¤@½Ò  ¦L¥X¦r¦ê

    ¨ÒÃD¤@¡B´¶³qªº°Ý­Ô  ------------------------------  ¤J1-01

    ¨ÒÃD¤G¡B¤j F  ------------------------------------  ¤J1-02

    ¨ÒÃD¤T¡B§Úªº¦W¦r  --------------------------------  ¤J1-03

    ¨ÒÃD¥|¡B¦b¿Ã¹õ¤WÅã¥Ü¤jªº¦r¤¸  --------------------  ¤J1-04

    ¨ÒÃD¤­¡B­«ÂЪº¹Ï¼Ë  ------------------------------  ¤J1-08

    ¨ÒÃD¤»¡Bµe®Ø®Ø  ----------------------------------  ¤J1-10

 

  ²Ä¤G½Ò  ¤G­Ó¤å¦r¹CÀ¸

    ¨ÒÃD¤@  ------------------------------------------  ¤J2-01

    ¨ÒÃD¤G  ------------------------------------------  ¤J2-06

 

  ²Ä¤T½Ò  ¼Æ¦r

    ¨ÒÃD¤@  ------------------------------------------  ¤J3-01

    ¨ÒÃD¤G¡B·Å«×´«ºâ  --------------------------------  ¤J3-03

    ¨ÒÃD¤T¡Bªø¤è§Î  ----------------------------------  ¤J3-06

    ¨ÒÃD¥|¡B¤Ñ®ð³ø§i  --------------------------------  ¤J3-09

    ¨ÒÃD¤­¡B¦L¥X­¼ªkªí  ------------------------------  ¤J3-10

 

  ²Ä¥|½Ò  ¼Æªº¨â­Ó½d¨Ò

    ¨ÒÃD¤@¡B¤é¾ä  ------------------------------------  ¤J4-01

    ¨ÒÃD¤G¡B¥Í©Rªº¹CÀ¸  ------------------------------  ¤J4-06

 

  ²Ä¤­½Ò  ¼Æ¦rªº§Þ¥©

    ¨ÒÃD¤@¡B¥¿©¶©M¾l©¶  ------------------------------  ¤J5-01

    ¨ÒÃD¤G¡B¶Ã¼Æ  ------------------------------------  ¤J5-03

    ¨ÒÃD¤T¡B¥­¤è®Ú  ----------------------------------  ¤J5-04

    ¨ÒÃD¥|¡B³Ì¤j¤½¦]¼Æ(GCD)  -------------------------  ¤J5-06

    ¨ÒÃD¤­¡B¶OÃ伯¦C  --------------------------------  ¤J5-08

 

  ²Ä¤»½Ò  ²×ºÝ¾÷¿é¤J©M¿é¥X

    ¨ÒÃD¤@¡B¹q¸Ü¸¹½X  --------------------------------  ¤J6-02

    ¨ÒÃD¤G¡B®É¶¡¿é¥X  --------------------------------  ¤J6-03

    ¨ÒÃD¤T¡B¨¤«×  ------------------------------------  ¤J6-05

    ¨ÒÃD¥|¡B¼Æ¦rÂà´«¤§°ò¼Æ  --------------------------  ¤J6-05

    ¨ÒÃD¤­¡B¹q³ø½X  ----------------------------------  ¤J6-06

    ¨ÒÃD¤»¡BASCII ¦r¤¸ªí  ----------------------------  ¤J6-08

    ¨ÒÃD¤C¡B¤@«Ê±¡®Ñ  --------------------------------  ¤J6-09

    ¨ÒÃD¤C¡B¼Æ¦r¿é¤J  --------------------------------  ¤J6-11

 

²Ä¶L½g  °ò¦½g

 

  ²Ä¤@½Ò  FORTH ºü½×

    1.1   FORTH ·§»¡  --------------------------------  °ò1-01

    1.2   FORTH ºâ³N¹Bºâ  ----------------------------  °ò1-02

    1.3   FORTH ºâ³N¹Bºâ«ü¥O  ------------------------  °ò1-04

    1.4   °ïÅ|(STACK)¾Þ§@«ü¥O  -----------------------  °ò1-06

    1.5   ¨ä¥Lªº¤@¨Ç FORTH ±`¥Î¦r  -------------------  °ò1-10

    1.6   «_¸¹ªº©w¸q  --------------------------------  °ò1-13

          ½m²ß  --------------------------------------  °ò1-16

 

  ²Ä¤G½Ò  ¨Ï¥Î F-PC

    2.1   ¨Ï¥Î SED ¨Ó½s¿èÀÉ®×  -----------------------  °ò2-01

    2.2   ¸ü¤J¨Ã°õ¦æ§Aªºµ{¦¡  ------------------------  °ò2-03

    2.3   °£¥h§Aµ{¦¡¤¤ªº¿ù»~(ÂÎ)  --------------------  °ò2-04

          ½m²ß  --------------------------------------  °ò2-06

 

  ²Ä¤T½Ò  FORTH ¦p¦ó¹B§@

    3.1   ÅܼƠ --------------------------------------  °ò3-01

    3.2   Åܼƪº§ì¨ú(FETCH)»PÀx¦s(STORE)  ------------  °ò3-03

    3.3   ±`¼Æ(CONSTANTS)  ---------------------------  °ò3-06

    3.4   FORTH ªº°ª¶¥µ{§Ç -- ¡G ªº¨Ï¥Î  -------------  °ò3-07

    3.5   °}¦C(ARRAYS)  ------------------------------  °ò3-09

    3.6   ¦^ªð°ïÅ|(RETURN STACK)  --------------------  °ò3-10

    3.7   FORTH ªº§C¶¥µ{§Ç -- CODE ªº¨Ï¥Î  -----------  °ò3-12

    3.8   FORTH ªºµü¨å(DICTIONARY)  ------------------  °ò3-14

    3.9   ªí®æ(TABLES)  ------------------------------  °ò3-15

    3.10  ¦r¥À(CHARACTER)©Î¦ì¤¸¸ê®Æ  -----------------  °ò3-16

    3.11  µü¨åªº·j´M¤è¦¡  ----------------------------  °ò3-17

    3.12  ¦WºÙ°Ïªº¸ê®Æµ²ºc  --------------------------  °ò3-19

    3.13  F-PC ¤º³¡ªº°õ¦æ­ì²z  -----------------------  °ò3-20

          ½m²ß  --------------------------------------  °ò3-23

 

  ²Ä¥|½Ò  FORTH §PÂ_»P°j¸ô

    4.1   ¤À§Á«ü¥O¤Î°j¸ô  ----------------------------  °ò4-01

    4.2   ±ø¥ó¦r²Õ  ----------------------------------  °ò4-02

    4.3   FORTH ÅÞ¿è¹Bºâ«ü¥O  ------------------------  °ò4-04

    4.4   IF ±Ô­z  -----------------------------------  °ò4-05

    4.5   DO °j¸ô  -----------------------------------  °ò4-06

    4.6   UNTIL °j¸ô  --------------------------------  °ò4-11

    4.7   WHILE °j¸ô  --------------------------------  °ò4-13

          ½m²ß  --------------------------------------  °ò4-14

 

  ²Ä¤­½Ò  ¼Æ¦r

    5.1   Âù­¿ºë±K«×ªº¼Æ¦r  --------------------------  °ò5-01

    5.2   Âù­¿ºë±K«×ªº¤ñ¸û«ü¥O  ----------------------  °ò5-04

    5.3   ­¼©M°£  ------------------------------------  °ò5-05

    5.4   ©³¼Æªº°£ªk  --------------------------------  °ò5-06

    5.5   16-Bit ¹Bºâ«ü¥O  ---------------------------  °ò5-10

    5.6   Âù­¿ºë±K«×¼Æ¦rªº­¼ªk  ----------------------  °ò5-12

          ½m²ß  --------------------------------------  °ò5-13

 

  ²Ä¤»½Ò  ¦r¦ê

    6.1   ¦r¦ê¿é¤J  ----------------------------------  °ò6-01

    6.2   ASCII--¤G¶i¦ì¦ì¤¸Âà´«  ---------------------  °ò6-04

    6.3   ¼Æ¦r¿é¥XÂà´«  ------------------------------  °ò6-05

    6.4   ¿Ã¹õ¿é¥X  ----------------------------------  °ò6-07

 

  ²Ä¤C½Ò  §C¶¥(²Õ¦X)¦r»P DOS ªº¿é¤J/¿é¥X

    7.1   §C¶¥(²Õ¦X)(CODE)¥Î¦r  ----------------------  °ò7-01

    7.2   §C¶¥(CODE)ªº±ø¥ó§P§O¥Î¦r  ------------------  °ò7-06

    7.3   ªø¶ZÂ÷ªº°O¾ÐÅé¦s¨ú¥Î¦r--¶W¹L 64k ¥~ªº¦s¨ú --  °ò7-07

    7.4   DOSªº¤¶­±¥Îµü  -----------------------------  °ò7-08

    7.5   °ò¥»ªºÀÉ®×Ū¡þ¼g  --------------------------  °ò7-11

    7.6   Ū¨ú¼Æ¦r©M¦r¦ê  ----------------------------  °ò7-19

    7.7   ¼g¤J¼Æ¦r©M¦r¦ê  ----------------------------  °ò7-25

 

  ²Ä¤K½Ò  ©w¸qµü

    8.1   CREATE...DOES>  ----------------------------  °ò8-01

    8.2   ²©ö¸õÅDªí®æ  ------------------------------  °ò8-05

    8.3   ¥H°ïÅ|¤W¼Æ­È¬°¯Á¤Þ¤§¸õÅDªí®æ  --------------  °ò8-07

    8.4   ¨Ï¥Î FORTH µü¤§¸õÅDªí®æ  -------------------  °ò8-09

    8.5   ¼u¥X¦¡¥\¯àªí  ------------------------------  °ò8-11

    8.6   ½m²ß  --------------------------------------  °ò8-21

 

  ²Ä¤E½Ò  ½s͵ü

    9.1   ½sĶ(COMPILING) ©Mª½Ä¶(INTERPRETING)  ------  °ò9-01

    9.2   ¤@¯ëµü½sĶ©M¥ß§Yµü½sĶ  --------------------  °ò9-03

    9.3   ¸ü¤J¼Æ¦r  ----------------------------------  °ò9-04

    9.4   ±ø¥ó½s͵ü  --------------------------------  °ò9-07

          BEGIN...WHILE...REPEAT  --------------------  °ò9-07

          IF...ELSE...THEN  --------------------------  °ò9-09

          BEGIN...AGAIN  -----------------------------  °ò9-01

          BEGIN...UNTIL  -----------------------------  °ò9-01

          DO...LOOP  ---------------------------------  °ò9-01

    9.5   ²ßÃD  --------------------------------------  °ò9-17

 

  ²Ä¤Q½Ò  FORTH ªº¸ê®Æµ²ºc

    10.1   °}¦C(ARRAYS)  -----------------------------  °ò10-01

    10.2   Ãì¦ê¦C(LINKED LISTS)  ---------------------  °ò10-04

    10.3   °O¿ý(RECORDS)  ----------------------------  °ò10-15

 

  ²Ä¤Q¤@½Ò  ¨Ï¥Î¤¤Â_³B²zªº²×ºÝ¾÷µ{¦¡

    11.1   8086/8088 ¤¤Â_³B²z  -----------------------  °ò11-01

    11.2   8250 «D¦P¨B³q°T¥Î´¹¤ù  --------------------  °ò11-03

    11.3   ¦î¦Cªº¸ê®Æµ²ºc  ---------------------------  °ò11-05

    11.4   ¿é¥X¤å¦r¨ì¿Ã¹õ©M(©Î)ºÏºÐ¾÷  ---------------  °ò11-10

    11.5   ¤U¸üÀÉ®×  ---------------------------------  °ò11-12

    11.6   ²×ºÝ¾÷¤§¥Dµ{¦¡  ---------------------------  °ò11-15

 

²Ä°Ñ½g  ªþ  ¿ý

 

    A. µ{¦¡¤§½sĶ  -----------------------------------  ªþ¿ý A

    B. LANGUAGE DEFINITION  OF FORTH  ----------------  ªþ¿ý B

    C. STANDARD INSTRUCTIONS  ------------------------  ªþ¿ý C

    D. USER INSTRUCTIONS  ----------------------------  ªþ¿ý D

    E. CREATING NEW DEFINING INSTRUCTIONS  -----------  ªþ¿ý E

    F. F83 ¨t²Î°O¾Ð¹Ï  -------------------------------  ªþ¿ý F

    G. F83 µêÀÀ°O¾ÐºÏºÐ½w½Ä°Ï¹Ï  ---------------------  ªþ¿ý G

    H. FORTH ªº°j¸ô  ---------------------------------  ªþ¿ý H

    I. Interpreter ªº°j¸ô  ---------------------------  ªþ¿ý I

    J. Error ªº°j¸ô  ---------------------------------  ªþ¿ý J

    K. EXPECT ªº°j¸ô  --------------------------------  ªþ¿ý K

    L. WORD ªº°j¸ô  ----------------------------------  ªþ¿ý L

    M. NUMBER ªº°j¸ô  --------------------------------  ªþ¿ý M

    N. BLOCK ªº°j¸ô  ---------------------------------  ªþ¿ý N

    O. ¥H FORTH ªºÆ[ÂI¬Ý Intel80486 CPU  -------------  ªþ¿ý O

    P. FORTH ¸ê®Æ®wµ{¦¡³]­p  -------------------------  ªþ¿ý P

    Q. ¤@¤E¤E¤@¦~ FORTH µ{§Ç­û¤ô¥­¦Ò¸Õ¸Õ¨÷(¤j³°)  ----  ªþ¿ý Q

    R. CHARLES MOORT   ¥ý¥ÍÁ¿¡@FORTH ¨Ó·½Ä¶¤å  -------  ªþ¿ý R

    S. FORTH °ÝÃD½m²ß  -------------------------------  ªþ¿ý S

    T. FORTH °Ñ¦Ò®Ñ¥Ø  -------------------------------  ªþ¿ý T

 

 

 

 

 

 

 

 

 

 

 

                          ¦Û               §Ç

                                 (¤@)

 

    ·í¤F¤@¦~ FORTH ¾Ç·|ªº·|ªø¡A¦b¥ô¤º¤~¤F¸Ñ FIG (Forth Interesting

 Group )ªººë¯«¡CµLªáªG¡A¥u¨Dµ²ªG¤£¨D¶}ªá¡AÀqÀq¯Ñ¯Ðªº¥I¥X¡C¨Ã¤£´Á«ÝÀé

Äꪺ¦W»P§Q¡F¥u§Æ±æ¯à¨Ï§ó¦hªº¤H¤F¸Ñ Forth ¬O¤°»ò¡A¦Ó¯à¸g¥Ñ¾Ç²ß Forth

ªº¹Lµ{¡A¯uªº²`¤JÅé·|¹q¸£³oºØ¤u¨ãªº¼ç¯à»P·¥­­¡C F-PC ¬O Tom Zimer ¥ý¥Í

ªº¤ß¦å¡A¨ä¤¤¥]§t¤FForth ªº¦h¤u§@·~¨t²Î( Multitasking ) ¡A²Õ¦X»y¨¥ªº²Õ

͵{¦¡( Assembler ) »P¤Ï²Õ͵{¦¡(Dis-assembler )¡A¥þ¿Ã¹õªº½s»²¾¹

( Screen Editor ) Àɮ׺޲zµ{¦¡¡AForth °ª¡B§C¶¥»y¨¥ªº°£¿ù¾¹(Debugger)

¡Bª½Ä¶¾¹(Interpreter) »P³Ì¨Î¤Æªº½s;¹(Target compiler)¡A·íµMÁÙ¦³¯à¦Û

§Ú½sĶªº¤¶Åܽs;¹(Meta Compilor)¡C³o¤@¤Á§¡¦b¤@­Ó±m¦âªº¾ã¦XÀô¹Ò¤¤¡A¥u

¦û¤@¦Ê¦hK¡C¤ñ Borlend C++ ¤p¦h¤F¡A¤]ÆF¬¡¦h¤F¡C¤@¦p Forth ªººë¯«¡AµL¨p

µL§Ú¡ATom Zimer ¤]±N¦¹®M F-PC ªº¥þ³¡­ì©lµ{¦¡ªþ¦bºÏ¤ù¤¤¤½½Ñ©ó¥@¡C¤£¨D

ª÷¿úªºÀv³ø¥u§Æ±æ¯àÅý§ó¦hªº¤H¡A¯àÄy¥Ñ F-PC ¤Íµ½ªº½u¤W¨D§UÀô¹Ò( Online

Help «öF1 ) ¦Ó¦b³Ì¤pªºªý¤O¤U¾Ç²ß Forth ¡C¨Ï¥Î Forth ¡C§Úª¾¹D°ê¤º·Q¾Ç

Forth ªº¤H¦h¥b³£³Q­^¤å¯à¤O©Ò§x¡C©Ò¥H¡Aªá¤F¤@¦~¦hªº®É¶¡¡A±N F-PC ªº¦Û

¾Ç¤â¥U¤Q¤@½Ò¤¤¤å¤Æ¡C§Æ±æ¯à¹ï­^¤å¤£¦nªº¾Ç­û­Ì¦³©Ò§U¯q¡C¡@¡@¡@¡@

 ¡@¦Û¤v¤]ª¾¹D¡A¼g Forth ªº®Ñ¡A¤£¦p¼g C »y¨¥¡ABASIC ©Î DBASEªº®Ñ¨Ó±o»´

ÃP°Q¦n¡A¥B¦W§QÂù¦¬¡C¦ý¡A§Ú¤£¤J¦aº»¡A½Ö¤J¦aº»¡CÄ@¯à³z¹L¦¹®Ñ¡A´¶´ç²³¥Í¡C

»PŪªÌµ²­Ó Forth ªº½t¡C

 

 

                       ---------- 1992¦~11¤ë©óÀR©y¸ê°T¨t -----------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                           ¦Û               §Ç

                                 (¤G)

 

 

    ·í²Ä¤@ª©©Ò¦³¤å½Z³£§¹¦¨ªº®É¨è¡A ´¿¼y¼æ¥S ¤S°e¨Ó¤F ¤B³¯º~»^³Õ¤hªº

·s®Ñ FORTH first course ªº­ìª©¡A§Æ±æ§Ú§ï¼g¦¨¤¤¤å¡A¨Ã¥[¨ì²Ä¤Gª©¤¤¡C³o

¤U¤lªÓÀY­è¨ø¤Uªº­«¾á¡A¤S­«·s·f¤W¤FªÓÀY¡A¸g¹L¤F¤@µf²`«ä¼ô¼{¡A§Ú¨M©w¡A

­«·s§ïÅÜ¥»®Ñ­ì¦³ªº­·®æ¡A¤@¨Ó¡A§Ú²K¥[¤F³\¦h·sªº³¹¸`»P¸É¥R¤F¤@¨Ç¸g¹L¿z

¿ïªºªþ¿ý¡A¥Hº¡¨¬¾Ç­û¶i¤@¨Bªº¨Dª¾¼¤¡C¤G¨Ó¡A§Ú±N¦h¦~¦b FORTH ±Ð¾Ç¤Wªº

¤ß±o¡A¥H§ó¥­¹êªºµ§ªk¼g¦¨¤@¬q¬qªºµù²¨¡A¥[¦b¦U³¹¸`ªº¬q¸¨¤§«á¡A¥Hµo´§¾É

Ūªº¥\¯à¡A¦Ó¹F¨ì¸Ñ´bªº¥Øªº¡C¤T¨Ó¡A§Ú¹Á¸Õ¦b¥»®Ñ¤¤¥[¤J¤@¨Ç¤H¤å¦â±m¡A¥H

¬ðÅã FORTH ªº­õ¾Ç«ä·Q¡A¦ÓÅý¾Ç­û¯àÅé¨ü¨ì¡A¾Ç FORTH ªº¤ß¾ú¸ôµ{¡A¬Oºë¯«

­«©ó«¬¦¡ªº¡C§_«h¦ó¥H¤F¸Ñ" FORTH ¦p¹D "¡C

¡@¡@¼g¤@¥»¦n®Ñ«ÜÃø¡A¼g¤@¥»¦nªº FORTH §óÃø¡A§Ú§Æ±æ³o¤@¥»ªá¶O¨â¦~§¹¦¨

ªº®Ñ¡A¯à¥´¯} FORTH ¤f¶Ç¤ß±Âªº­­¨î¡A¨Ï¨C¤@­Ó¾Ç­û³£¯à¨N¯D¦b FORTH ªº¬K

­·¸Ì¡C

 

 

                       ---------- 1993¦~6¤ë©óÀR©y¸ê°T¨t -----------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  ¡@¡@¡@¡@¡@¡@¡@¡@»x   Á¡G¡@

 

 

¡@¤@¡B§Ú­n·PÁ¤T¦ì¡A§Úªº±Ò»X®¦®v

 

        Dr.Susan Marry ¡A¦pªG¤£¬O¦o³sÄò¼¹¤F¤­¦¸§Úªºµ{¦¡§@·~¡A§Ú¤£·|ª¾

      ¹D¦Û§Ú­n¨D¬O¨}¦n«~½èªº°ß¤@«OÃÒ¡C¡@¡@¡@¡@¡@¡@

 

        Dr.Tanenbaum ¡A¦pªG¤£¬O¥LÂI³q§Ú¡A§Ú¤£·|Åé»{¨ì¹q¸£ªºµwÅé»P³nÅé

      ¬O¤@Å骺¨â­±¡A¦ÛÅÞ¿è½u¸ô¡A·Lµ{¦¡¨ì§@·~¨t²Î¤H¾÷¤¶­±¡A¼h¼h³£¬O¤@

      ³e¬Û³q©¼¦¹©IÀ³ªº¡C

 

¡@¡@¡@¡@Dr.Goldenstein ¡A¦pªG¤£¬O¥L¹G§Ú¥Î Forth ¡A§Ú¤£·|Åé·|¥Xµ{¦¡³]

      ­p»P¤ßÆF¦P¨Bªº¨º¤@¥÷¦ÛµM¿Ä«êªº¬ü¦n·P¨ü¡A§óµLªk¤F¸Ñ¡A°ß¦³¤H¾÷¦X

      ¤@¤~¬O»P¹q¸£¬Û³B¦@¥ÍªºµL¤W¤ßªk¡C

 

  ¤G¡B±µµÛ¡G§Ú­n·PÁ¤B³¯º~»^³Õ¤h¡F¦pªG¤£¬O¥LëÛëÙÄé³»ªºÄµ¥Ü§Ú " ¬°¾Ç¤é

      ¯q¡A¬°¹D¤é·l " ¡F§Ú¤£·|¥h¬ÝÄYÆF®p¥ý¥Íªº¡u¦Ñ¤l¶°¦¨¡v¡A¦Ó®©¥X "

      ª«§§«h¦Ñ " ¬O FORTH Meta Compliler ªººëÅè©Ò¦b¡C¤]µL±q¹y®©¥X

      Forth ¬O¤@ºØ¥Í¬¡ªººA«×¡A¤@ºØ¥R¥¸Å餺¡AµL©Ò¤£¦bªº«äºû¤è¦¡¡F©Ò¥H

      ¡A¤£¨ã§Î¤£µÛ¬Û¡C¨ä¤H¾÷¤@Åé¡A¥ô§Ú¿¬µ¾¡C

 

  ¤T¡B·íµM³o¤@¥»®Ñ¡A­Y¤£¬O¼ï¼w³ß¥ý¥Íªºµ¦¹º¡A±À°Ê¥´¦r¡B®Õ¥¿¡B±Æª©«hµ´

      µL¾÷·|§¹¦¨¡C§Ú¦b¥Lªº¨­¤W¬Ý¨ì¤F¨º¤@ªÑÄÝ©ó Forth ¿W¦³ªº°í¼Ý¤£©Þ¡C

      §Ú­n±N¦¹®Ñªº½Ï¥Í»P¥L¤À¨É¡C­Y¦¹®Ñ¯àµ¹¥xÆWªº¹q¸£¾Ç²ßªÌ±a¨Ó¤@ÂI²M

      ·sªº´ÂÅS¡A«h§¹¥þ¬O¥Lªº¥\³Ò¡C

 

  ¥|¡B¦ü¥G­n·PÁªº¤H¤Ó¦h¤F¡C¦pÀ°§Ú®Õ¥¿ªº¹ù­z©÷¡B¿àªNªv¦P¾Ç¡A±Æª©ªº

      ¶¾´É·×¥ý¥Í¡A¤Îµ¹§Ú¹ªÀyªº¤H¤h­Ì !  Á Á !

 

 

 

 

 

 

 

 

 

 

²Ä¹s½g

 

µL¤W¤ßªk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                 FORTH »PÁI

 

«e¨¥

 

    ¦b¬Y¨Ç¨g¼öªÌªº²´¤¤¡A FORTH ¤£¥u¬O¤@ºØ¹q¸£»y¨¥¡A¦³®É¥¦§ó¹³¬O¤@ºØ©v

±Ð¡A¨ü¨ì¤ä«ùªÌªº±R«ô»P«H¥õ¡C¦b²³¦hªº©v±Ð¤¤¡A FORTH »PÁIªº¹Ò¬É³Ì±µªñ¡C

¦p¦P¤j®a©Òª¾¡AÁI¥NªíµÛºë²¡B¹m¥Ã¡B´¼¼z»P±Òµo¡A¦P¼Ëªº¡A³o¨ÇÄݩʤ]³£¥i

¥H¥Î¦b FORTH ªº¨­¤W¡F°£¦¹¤§¥~¡A¥¦­Ì³£¶H¼x¤F¹ï¶Ç²Îªº¤@ºØ¬D¾Ô¬Æ¦Ü¬O¤@³õ

­²©R¡CFORTH »PÁI¤§¶¡ªºÃö«Y¡A¤@ª½µL¤H±N¥¦°µ¤@¦³¨t²Îªº¤¶²Ð¡A¦Ó³o¥¿¬O¥»

¤åªº¥Øªº¡C

 

 FORTH »PÁIªº¤ñ¸û

 

    ÁIªº¥Nªí¤Hª«¬O¤»¯ª¼z¯à¡A¥L¬O¤¤°êÁI©vªº²Ä¤»¥N¶Ç¤H¡F¥Ø«e­·¦æªº¡u¤»

¯ª¾Â¸g¡v§Y¬O¥L»P¨ä§Ì¤lªº¹ï¸Ü¿ý¡C»P¦ò±Ð¸g¨å¬Û¤ñ¡A¤»¯ª¾Â¸gÅã±o¸û¬°ºë²

¡B©öÀ´¡B§t»W¡A©Ò¥H¤]§ó¬°­@¤H´M¨ý¡C§^µ¥»{¬°¤ñ¸û FORTH »PÁI¤§¶¡Ãö«Y³Ì¦n

ªº¤èªk¡A´N¬O±N¤@¬q¾Â¸g­ì¤å»P¤@¬q FORTH ªº­ì©l½X¨Ã¦C¡A¥¦­Ì¤§¶¡©Î³\¨S¦³

ª½±µ¬ÛÃö¡A¦ý¥u­n¥Î¤ßÅé·|¡A¤@©w¯à·Pı¥X©¼¦¹©Ò¦@¦P³zÅS¥Xªº¯«Ãý¡C

 

ÁI»P FORTH ªº¾ú¥v

 

    ÁI¦b¥»½è¤W¿Ä¦X¤F¾§¡B¹D¡BÄÀ¤T®aªººëÅè¡C¤¤°ê¤Hªº¤ß¤¤±`·|¦s¦bµÛ¤@ºØ

¥Ù¬Þ¡G¦bÁc¿Èªº¾§®a¡BµêµLªº¹D®a©M¤@­Ó¶i¤fªº©v±Ð¡u¦ò¡v¤§¶¡¡AÁ`¬O¤£ª¾¦p

¦ó¨ú±Ë¡C©ó¬O¸g¹L¤­¥N¬Û¶Ç¡AÁI©v²×©ó¦b¤»¯ª¼z¯àªº¤â¤W¤j©ñ¥úªö¡AĄ̊ú¤F²³

¦h¤¤°ê¤Hªº¤ßÆF¡C¤é«á¡A³oªÑÁIªº¼ö¼é§ó±À¦V¤F¤é¥»¡BÁú°ê¡BªF«n¨È¡A¥H¦Ü©ó

¨ì¤µ¤éªº¦è¼Ú»P¬ü°ê¡C

    ¸òÁI©v¤ñ°_¨Ó¡A FORTH ªº¾ú¥v´X¥G·L¤£¨¬¹D¡C¥¦¬O¥Ñ¤@­Ó©t¿Wªº¬ì¾Ç®a

Charles Moore ¦b¤»¤Q¦~¥N¥½´Áµo©úªº¡C»¡¥L©t¿W¬O¥Ñ©ó¥Lªº«ä·Q¡B¤èªk³£³Q

±Æ°£¦b·í®É¹q¸£¬ì¾Çªº¡u¥D¬y¡v¤§¥~¡C¦b³Ìªìªº¤Q¦~¡A FORTH ´X¥GµL¤Hª¾¾å¡A

¤@ª½¨ì¤F 1985¦~¤§«á¡A¥¦»yªkºë²¡Bµ²ºcÀu¶®¡B°O¾ÐÅé¨Ï¥Î¤Q¤À¸gÀÙ¡A½Ñ¦p¦¹

ÃþªºÀuÂI¤~º¥º¥¬°¤H©Òµo±¸¡A¶i¦Ó¼s¬°¤Hª¾¡C

 

¤f¶Ç¤ß±ÂªºÁI

 

    ¦ò±Ð¬OÄÀ­{¦È¥§©Ò³Ð¡A¥L±j½Õ¤H¤H¥u­n¥h°£¨p¼¤¡A«h³£¯à°÷¦¨¦ò¡A¤G¦Ê¦~

«á¡A¦ò±Ð¤Àµõ¦¨¤G¬£¡G¤j­¼»P¤p­¼¡C¤j­¼¦ò±Ð«á¨Ó¶Ç¤J¤F¤¤°ê¡BÁú°ê¤Î¤é¥»¡C

¦Ó¤p­¼¦ò±Ð«h¶Ç¤J¤F¿üÄõ¡B®õ°ê»P½q¨l¡C¤j­¼¦ò±Ð¦è¤¸¤G¦Ê¦~¶Ç¤J¤¤°ê«á¡A¨ü

¨ì¤H­ÌªºÅwªï¡A§ó¶Ç¤J¤F¤j¶qªº¦ò¸g¡C

    ðÕ«h¬O¦b¦è¤¸ 527¦~¥Ñ¦L«×¹¬¤H¹F¼¯×îv®©¹Fªº¡C¶Ç»¡¥L¦b¤ÖªL¦x­±¾À¤E

¦~¡A¤~®©¥X¤FðÕªº¹D²z¡C¦ý¬O¥L¬J¤£¤Þ¥Î¦ò¸g¡B¤]¤£¦Û¦æµÛ§@¡A¥u¥Î¤fÀY»¡©ú

¨Ó±Òµo¾Ç¥Í¡C©ó¬OðÕ´N¥H¤f­zªº¤è¦¡¡A¥N¥N¬Û¶Ç¡F¬Û¹ï©ó¦ò±Ðªº¤j«Ø¼q¦x¡B¼s

͏s¸g¡AÁI«o¥H¤f¶Ç¤f¡B¤ß³q¤ßªº¤è¦¡¬y¶Ç¤U¥h¡C

 

¤f¶Ç¤ß±Âªº FORTH

 

    FORTH ¬O¦b 1970¦~¥Ñ Charles Moore ©Òµo©úªº¡C FORTH ¬O FOURTH ªºÁY

¼g¡A§Y²Ä¥|¥N»y¨¥¡A¦³§O©ó·í®É¤w¤j©ñ²§±mªº²Ä¤T¥N»y¨¥¡CFORTH ªºµ{¦¡½X«D

±`ÃøÀ´¡A¦]¬°¥¦ªº½s;¹¤]¬O¥Î FORTH ¼gªº¡C­n¤F¸Ñ FORTH¡A¥²¶·¥ý¤F¸Ñ¥¦ªº

½s;¹¡A­n¤F¸Ñ¥¦ªº½s;¹¡A«o¤S¥²¶·¥ý¤F¸Ñ FORTH¡CFORTH ³oºØ¡u©ö¾ÇÃøºë¡v

ªº¯S©Ê¡A¨Ï±o³\¦h¤H±æ¤§«o¨B¡C¦h¦~¨Ó¡A FORTH ¤]¥u¯à¥H¤f¶Ç¤f¡B¤ß³q¤ßªº¤è

¦¡¦b¬Y¨Ç¾ÖÅ@ªÌ¤§¶¡¬y¶Ç¡C¥¼¯à´¶¤Î¤j²³¡C

 

ÁIªºµo´­

 

    ¤»×üz¯à¬OðÕ©vªºÃöÁä¤Hª«¡A³o¦ì¤£ÃѦrªº¤Ñ¤~¡A­ì¥»¬O­Ó¾ö¤Ò¡C«á¨Ó¥L

§ë¤J¤F¤­×Ã¥°§Ôªºªù¤U¾Ç²ßÁI©v¡C¥°§Ô§Y±N¶ê±I¤§«e¡A¶°¦X¤Fªù¤U§Ì¤l¡A­n¥L

­Ì¦U¼g¤@­ºÔU¡A¥°§Ô¦A®Ú¾Ú§Ì¤l­Ìªº¼z®Ú¡A¨M©w±N¦ç²Ú¶Çµ¹½Ö¡C

    ·í®É¯«¨q(¥°§Ôªº±o·Nªù¥Í)¼g¤U¤F³o­ºÔU

 

    ¨­¬OµÐ´£¾ð¡A¤ß¦p©úÃè»O¡C

    ´Â´Â¶Ô©Ø«ø¡A²ö¨Ï·S¹Ð®J¡C

 

    ¦Ó¼z¯à«h¤f­z½Ð¤H¥N¼g¤F³o­ºÔU¡G

 

    µÐ´£¥»µL¾ð¡A©úÃè¥ç«D»O¡C

    ¥»¨ÓµL¤@ª«¡A¦ó³B·S¹Ð®J¡S

 

    ®Ú¾ÚÔU¤¤ªº·N¹Ò»P±Òµo¡A¥°§Ô±N¦ç²Ú¶Çµ¹¤F¼z¯à¡C¼z¯à¦¨¬°©v®v«á¡A¥u°µ

¤f­z¶Ç±Ð¦Ó¤£µÛ§@¸g¨å¡C¤j¬ù¦è¤¸¤»¦Ê¦~¡A¤@¦ì¨µ¼¾½Ð¼z¯àªº°ª¨¬ªk®ü¡A®Ú¾Ú

¼z¯àªº¨¥±Ð¡A¼g¤U¤F¤»¯ª¾Â¸g¤@®Ñ¡A®Ñ¤¤ªí¹F¤FðÕ¯u¥¿ªº·Qªk»P¹Ò¬É¡A§ó¨Ï¤@

¯ë¤H¯à»´©ö¦a¤F¸ÑðÕªº·N¹Ò¡F¤»¯ª¾Â¸gªº§¹¦¨¡A¨Ï±oðÕ¬°¤j®a©Ò¼ôª¾¡B·N·|¡A

¶i¦Ó¨ÏðÕµo´­¥ú¤j¡C

 

 FORTH ªºµo´­

 

    ¥¿¦p«e­zªººØºØ»Ùê¡A FORTH ©l²×¥u¬O¤Ö¼Æ¤Hªº¬y¶Ç¤§ª«¡Cª½¨ì 1978¦~

FORTH ±À¼s¾Ç·|(FORTH INTEREST GROUP)ªº¦¨¥ß¡A¥L­Ì°w¹ï¥«­±¤W³Ì­·¦æªº¤»

ºØ·L³B²z¾÷¡A¥Î²Õ¦X»y¨¥¼¶¼g¤F FORTH ¨t²Î¡A¨Ï¤@¯ë¹q¸£¨Ï¥ÎªÌ¤]¯à¤F¸Ñ

FORTH ªºµ{¦¡½X¡A¶i¦Ó¨Ï¥Î¥¦¡C1980¦~¤§«á¡A§ó¥X²{¤F¤j¶qªº FORTH ¬ÛÃö®ÑÄy

¡A¦p LEO BRODIE ªº STARTING FORTH¡A¤B³¯º~»^³Õ¤hªº

SYSTEM GRUIDE TO FIGFORTH ¡A¤Î BYTE Âø»xªº FORTH ¯S§O³ø¾É¡F³o¨Ç³£§êºt

¤FÃþ¦ü¡u¤»¯ª¾Â¸g¡vªº¨¤¦â¡A¨Ï¤@¯ë¨Ï¥ÎªÌ³£¯à±µÄ² FORTH ¡A¨Ï¥Î FORTH ¡A

¶i¦Ó¤F¸Ñ¡uFORTH ¦p¦ó§¹¦¨¤u§@¡v¡A¦Ó«D¡uFORTH ¯à°µ¨º¨Ç¤u§@¡v¡C³o¨Ç§V¤O

¨Ï FORTH ¤£¦A¬O¤@­Ó¯«¯µÃø¸Ñªº»y¨¥¡A FORTH Åܱo¤j²³¤Æ¡B¿Ë©M¤Æ¡B¤D¦Üµo

´­¥ú¤j¡C

 

ðÕªº³æ¯Â©Ê

 

    ¸g¹Lªø¤[®É¶¡ªº¬y¶Ç¡A¦ò±ÐÅܱo«D±`½ÆÂø¡C¦³¤Ó¦hªº¦ò¸gµù¸Ñ¡B¦³¤Ó¦h°ª

¹¬ªºÔU¨¥¡A¦¹¥~¥¦§ó¿Ä¤J¤F¨ä¥L©v±Ðªº±Ð¸q(¦p¤Q¤K¼h¦aº»¡B½ü°jÆ[©À§Y¨Ó¦Û¦L

«×±Ð)¡C¤[¦Ó¤[¤§¡A«H®{­Ì©¹©¹¥u¬B¨ú¥L­Ì¬Û«Hªº³¡¥÷¡G¦p¯À­¹¡B§G¬I¡B©ñ¥Íµ¥

¡C¬Û¹ïªº¡AðÕ´N³æ¯Â¤F«Ü¦h¡A¼z¯à¨Ã¤£¬Û«H¹ê¦æ³o¨Ç§@¬°´N¯u¯à¦¨¦ò¡C¥L»{¬°

¦ò¤w¦s¦b©ó¨C­Ó¤Hªº¤ß¤¤¡A¥u­n¥h°£¨p¼¤Âø©À¡A´N¯à¦¨¦ò¡C©Ò¥HðÕ©v¤£­«­×¦æ

¡B¤£¨Ì¿à¦ò¸g¤Ï¦Ó­«µø­Ó¤Hªº¤ßÆF±Òµo¡A¤ñ¦ò±Ð­n³æ¯Â¤F³\¦h¡C

 

 FORTH ªº³æ¯Â©Ê

 

    ¬°¤F¬ðÅã FORTH ªº³æ¯Â¡A§Ú­Ì¥i¥H§â«e­±¯«¨q¡B¼z¯àªºÔU°µ¨Ç­×§ï¡C·í¤µ

ªº¹q¸£Æ[©À¡F´N¦p¦P¯«¨qªºÔU¡G

 

  µwÅéÂø¤SÃø¡A³nÅé¾Ç¤£§¹¡C

  ¤é©]®I­º·F¡A¤ß»Ä¤S¤ß·Ð¡C

 

  ¦Ó FORTH ©O¡S ´N¹³¡G

 

  µwÅé¨ã¹êÆ[¡Aµ{¦¡¬°«ä¦ê¡A

  ²Å¦¡¥Ñ¤¤¬ï¡A¤H¾÷­ì¤@³e¡C

 

    ²{¤µªº¹q¸£¬ì§Þ¡A³nµwÅé³£¬Û·í½ÆÂø¡C¥D­n¬O¥Ñ©ó¤H»P¾÷¾¹¤§¶¡¡A¹j¤F¤Ó

¦h³nÅé¡C¡u¥H³nÅé«OÅ@µwÅé¡v³oÆ[©À·½¦Û©ó¹L¥h¤j¹q¸£ªº®É¥N¡A·í®É¹q¸£·í¾÷

¬O³Ì¥i©Èªº¨aÃø¡A©Ò¥H±M®a­Ì³]­p¤F­«­«Ãö¥d(¦p O.S LOADER DRIVER µ¥)¨Ó

¡uÀ°§U¡v¨Ï¥ÎªÌ¨Ï¥Î¹q¸£³]³Æ¡C¦Ó³o¨Ç½ÆÂøªº³nÅé¡A«o³y¦¨¤F¨Ï¥ÎªÌ¾Ç²ß¤W²ö

¤jªº§xÃø¡C(¦p¹Ï¤@)

 

 

 

 

              ¢z¢w¢w¢w¢w¢w¢{

              ¢x  ¨Ï¥ÎªÌ  ¢x

              ¢|¢w¢w¢s¢w¢w¢}

                    ¢x

      ¢z¢w¢w¢w¢w¢w¢w¢r¢w¢w¢w¢w¢w¢w¢{

      ¢x Applications (À³¥Î³nÅé)  ¢x

      ¢x                          ¢x

      ¢x   Compilers  (½s͵{¦¡)  ¢x

      ¢x   Editors    (½s¿èµ{¦¡)  ¢x

      ¢x   Assembler  (²Õ͵{¦¡)  ¢x

      ¢x   Linker     (Ãìµ²µ{¦¡)  ¢x

      ¢x   Loader     (¸ü¤Jµ{¦¡)  ¢x

      ¢x                          ¢x

      ¢x    Operating Systems     ¢x

      ¢x      (§@·~¨t²Î)          ¢x

      ¢x                          ¢x

      ¢x    Resource Managers     ¢x

      ¢x   (¸ê·½ºÞ²z¡A¦p°O¾ÐÅé    ¢x

      ¢x    ¡BCPUªº®É¬q¤À°t)      ¢x

      ¢x                          ¢x

      ¢x      Device Drivers      ¢x

      ¢x  (³]³Æ»P¸Ë¸mªºÅX°Ê¤¶­±)  ¢x

      ¢|¢w¢w¢w¢w¢w¢w¢s¢w¢w¢w¢w¢w¢w¢}

                    ¢x

              ¢z¢w¢w¢r¢w¢w¢{

              ¢x ¹q¸£µwÅé ¢x

              ¢|¢w¢w¢w¢w¢w¢}

 

    µM¦Ó²{¤µªº¹q¸£¤w¤£¦A¬O¨º»ò¦^¨Æ¡A«ö¤@¤U RESET §Y¥i¦A°_°Ê¡A§ó¦óªp¨Ï

¥ÎªÌ©¹©¹´N¬O¹q¸£ªº¾Ö¦³ªÌ¡A¥L·|¬°¥Lªº¦æ¬°­t³d¡C©Ò¥H¹ê¦bµL»Ý¦A±N¤H¾÷¤§

¶¡¥[½ÑºØºØ­­¨î¡CFORTH §Y¿í´`³o­ÓÆ[©À¡G°ò¥»¤W¡A FORTH ¬O¤@­Ó³æ¯Â¡B¾ã¦X

ªº¤¶­±¡A³z¹L¥¦¨Ï¥ÎªÌ¯à°÷»´ÃP¦a¨ú¥Î¥ô¦óµwÅé¸ê·½¡A§ó¥Ñ©ó³æ¯Â¤Æ¡B³Ì¨Î¤Æ

¡A©Ò¥H³t«×§ó§Ö¡B°O¾ÐÅé§ó¬Ù¡B®Ä²v§ó°ª¡C(¦p¹Ï¤G)

 

 

 

 

 

 

                ¢z¢w¢w¢w¢w¢w¢{

                ¢x  ¨Ï¥ÎªÌ  ¢x

                ¢|¢w¢w¢s¢w¢w¢}

                      ¢x

            ¢z¢w¢w¢w¢w¢r¢w¢w¢w¢w¢{

            ¢xOuter Interpreter ¢x

            ¢x   (¤H¾÷¤¶­±)     ¢x

            ¢x                  ¢x

            ¢x     Forth        ¢x

            ¢x                  ¢x

            ¢xInner Interpreter ¢x

            ¢x   (°õ¦æ¾÷ºc)     ¢x

            ¢|¢w¢w¢w¢w¢s¢w¢w¢w¢w¢}

                      ¢x

                ¢z¢w¢w¢r¢w¢w¢{

                ¢x ¹q¸£µwÅé ¢x

                ¢|¢w¢w¢w¢w¢w¢}

 

 

    ¦¹¥~ FORTH ÁÙ¦³´X­Ó¯S©Ê¡A²{¤µ¹q¸£¤¤¹L¦hªº¼È¦s¾¹(Register) ©¹©¹³y

¦¨©I¥sµ{¦¡®É»Ý­n­«ÂЦs¨úªº§xÂZ¡C¦Ó FORTH ±Ä¥Î°ª®Ä²vªº°O¾ÐÅé¦s¨ú§Þ¥©¡A

¥B±N¤@¨Ç»Ý¼È¦s¸ê®Æ³£©ñ¤J°ïÅ|(Stack)¤¤¡A¤j¤j´£¤É¤F®Ä²v¡C¦Ó«á¸m¦¡ªº¹Bºâ

ªí¥Üªk¡AÁöµM·|³y¦¨¬Y¨Çªì¾ÇªÌªº¤£²ßºD¡A¦ý¨äºë²¥u»Ý­n 1-pass ªº½sĶ¡A

¦Ó¶Ç²Îªº¤¤¸m¦¡«h³q±`»Ý 2-pass ªº½sĶ¡CFORTH ªººë²³æ¯Â¡A¥¿¬O³y¦¨¥¦®Ä

¯àÅå¤Hªº³Ì¤j­ì¦]¡C

 

 

ðÕªº±Òµo©Ê

 

    ¦p«e©Ò­z¡AðÕ»P¦ò±Ð¦b¬Y¨Ç¦a¤è¦³©Ò¤£¦P¡A¦ò±ÐÁ¿¨D¦Û¨­ªº­×¦æ»P¸g¨åªº

¬ã²ß¡C§ó¥Ñ©ó¸g¤å¤j¦h¥Ñ±ë¤å½Ķ¡A©Ò¥H§ó³y¦¨¤F²z¸Ñ¤Wªº§xÃø»P±Ð¸qªº²³»¡

¯É¤ª¡CðÕ©v«h¬O­«µø¤ßÆFªº­×¬°¡A¥¦»{¬°¯u¥¿ªº±Òµo¨M¤£¬O¨Ó¦Û®Ñ¤W¡A¦Ó¬O¨Ó

¦Û¤ßÆFªº¥æ¬y¡CðÕ¹ï©ó¤ßÆF±Òµoªº¤è¦¡¡A¤S¤À¬°¨â¬£¡A¯«¨q¥D±i¡uº¥®©¡v¡A¦Ó

¼z¯à«h¥D±i¡u¹y®©¡v¡C¦ý¥¿¦p¼z¯à©ÒÄÄ­zªº¡A±Òµoªº¤è¦¡¨Ã¤£­«­n¡A­«­nªº¬O

¦p¦ó°£¥h¥~¦bªºªýê¡A¥H¹F¨ì¤ßÆFªº±Òµo¡C

 

 

 

 

 FORTH ªº±Òµo©Ê

 

    ½Í¨ì FORTH ªº±Òµo©Ê¡A«üªºÀ³¸Ó¬O¨Ï¥ÎªÌ¹ï¹q¸£µwÅ骺§¹¥þ¤F¸Ñ»P´x´¤¡C

·í¤µªº§@·~¨t²Î(O.S) »Pµ{¦¡»y¨¥(P.L) ¹ê»Ú¤W­­¨î¤F¨Ï¥ÎªÌ¡AÅý¥L­Ì¥u¯à°µ

¨t²Î¤¹³\¥L­Ì°µªº¨Æ¡C¦Ó¨Ï¥ÎªÌ¤@¥¹³z¹LFORTH ´x´¤¤F¹q¸£¡A¥L­Ì·|µo²{¥L­Ì

¤~¯u¥¿ªº¦¨¬°¹q¸£ªº¥D¤H¡A¦Ó¹q¸£¤£¹L¬O­Ó¦³«Â¤O¡B«o«Ü·Å¶¶ªº¥£Áõ½}¤F¡C

    FORTH ¤À¬°¨â­Ó³¡¥÷¡G¤º³¡ªº°õ¦æ¾÷ºc(INNER INTERPRETER) »P¥~³¡ªº°õ

¦æ¾÷ºc(OUTER INTERPERTER) ¡A¤º³¡ªº°õ¦æ¾÷ºc(INNER INTERPERTER) ¥Î¨Ó¹ê

»Ú°õ¦æ FORTH ªº«ü¥O¸s¾r±sµwÅé¡A¦Ó¥~³¡ªº°õ¦æ¾÷ºc(OUTER INTERPERTER) «h

¯à§â¨Ï¥ÎªÌ¿é¤Jªº¤å¥yÂà´«¦¨ FORTH ½X¡C©Ò¥H¨Ï¥ÎªÌ¤@¥¹±N FORTH §Ë¼ô¤F¡A

´N¤£¥Î¦A¨ü¨ì§@·~¨t²Î(O.S)»Pµ{¦¡»y¨¥ªº¥ý¤Ñ­­¨î¦Ó¦¨¬°¹q¸£¯u¥¿ªº¥D¤H¡C

 

 

   ª÷«° µù²¨¡G¡@

          ¦b 1993¦~ªº 9¤ë FORTH ¤w¦¨¬° IEEE ªº¶}©ñ¦¡¶}¾÷¶´Å骺°ß¤@

      ¼Ð·Ç¡C¦pªG§A¨Ï¥Î SUN ªº¤u§@¯¸©ó¥ô¦ó®É¶¡«ö STOP-A ´N¥i¶i¤J

      FORTH ªºÀô¹Ò¤¤¥ô§A¾C¹C¡C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                     µL¤W¤ßªk²Ä¤@½g¡@

                           ¡@¡@¡@¡@

 

 

¡@¡@¡@¡@¡@¡@¡@¡@¡@" ¤@§â¥­¤Zªºµæ¤M "

 

 

¡@¡@°O±o­è¥X°ê¨D¾Çªº®É­Ô¡A¬Ý¨£¦Ñ¥~ªº¼p©ÐùصY²wº¡¥Ø¡A¦U¦¡¦U¼ËªºÁç¡B¸J

¡B½L¡B¬Ö¡B¤M¤e¿]ü¡Aı±o¤å©úªº°ê®a³s¼p©Ð³£¬O¨º»òªº¦hªö¦h«º¡A¤Þ¤H¤J³Ó

¡C¤×¨ä¬O¤M¬[¤W¡A¤C¡B¤KºØ¦U¦¡¦U¼Ëªº¤M¡A°{Ä£°Ê¤H¡A¦³¤Á¦×¤M¡B¤Á³½¤M¡B¤Á

ÄÑ¥]¤M¡B¤Á¤õÂû¤M¡B¤Á¬v½µ¤M¡B¤Á¤ôªG¤M¡B¤Á¸²µå¬c¤M¡A¬å°©ÀYªº¤M¡C¦³¥­·Æ

¤M¡B¦³¿÷¾¦¤M.......¡C«z!À~¦º¤H¤F¡C­n°µ¤@À\¶º¡A»Ý­n¥|¡B¤­ºØ¬Ö¡A¤­¡B¤»

ºØ¿÷¡A¤C¡B¤KºØ¤M¡C§Ë§¹¤@À\¶º­n¬~°ï¿n¦p¤sªº¦UºØ¥Î¨ã¡C³ÌÃø¹Lªº¬Oªá¤F¦p

¦¹¦hªº®É¶¡¡A¨Ï¥Î¤F¼Æ¤QºØ¤u¨ã¡C¦ý°µ¥X¨Óªº¦èÀ\¨Ã¤£¤@©wºë½o¡A¤]¤£¤@©w°Q

¤H³ßÅw¡C

    ¤ÏÆ[¡G§Ú­Ì¤¤°ê¤j¼pªº¤â¤W¡A¥u¦³¤@§â¥­¥­¤Z¤Zªº¤jµæ¤M¡A¦ý¼ô¯à¥Í¥©¡A

¼A¡B¬å¡B¤Á¡B«d¡B¨ï¡B¤ù¡B©ç¡B«c........¡C¯à±NÂûÀn³½¦×²¨µæ¤ôªG³B²zªº¦³

±ø¤£¯¿¡A«ê¨ì¦n³B¡C¤@­Ó¤S¶Â¤SÁ઺ª£µæÁç¡A¦b¤õ­Ô±±¨î¤U¯à·Î¡BµN¡Bª£¡B¬µ

¡B¿N¡B¯N¡BÖK....¼Ë¼Ë¯à·F¡A°µ¤@®àµæ¡A¤@¤M¤@Áç¤@Ãê¡A¦p¦¹¦Ó¨o¡I¤¤°êµæ¦W

»D¥|®ü¡C¾Ìªº¬O¤°»ò¡A¯µ±K¦b¨ºùØ¡I§Aª¾¹D¶Ü¡H¦Ñ¯ª©vªºµL¤W¤ßªk¥u¬O " ¤@§â

¥­¤Zªºµæ¤M "¡C"  ²³æ " ¤G¦r¦Ó¤w¡I¦]¬°¡I²³æªºµæ¤M¨Ï¼p®v¯à°÷¦b¤ÏÂШÏ

¥Îªº¼ô½m¤¤¡A±±¨î¦Û¦p¡F¥Ñ¼ô³z¤u¨ã¦Ó²£¥Í§Þ¥©¡C¦A¥Ñ¼ô±x¤F§Þ¥©¦Ó¯à±M¤ßªº

«ä¦Ò°µµæªº°ÝÃD¡C¯à·Q¨ì¤°»òµæ¦¡¡A´N¹B¥Î¼ô½mªº§Þ¥©±N¤§ªí²{¥X¨Ó¡A¦Ó¹F¨ì

¤H¤M¤@Å骺§¹¬ü¹Ò¬É¡C

¡@¡@¦A¦^ÀY¬Ý¦Ñ¥~ªº¼p¤l¡C¨º»ò¦hºØ¤u¨ã¡A­n¥Î¤@¥Íªº®É¶¡¥h¾Ç¥h°O¡C¬¡¨ì¦Ñ

¾Ç¨ì¦Ñ¡C¨º¦³®É¶¡¥h±M¤ßªº·Q°µµæªº°ÝÃD¡C¬Û¦Pªº¡A§Ú­Ì¨Ó¬Ý²{¤µ¾Ç¹q¸£ªº°Ý

ÃD¤]¬O¥Ç¤F¦P¤@­Ó¿ù»~¡F¨«¶i¹q¸£®Ñ©±¡A¦U¦¡¦U¼Ëªº®ÑÄy¡A³}³}¹q¤lµó¡A¦U¦¡

¦U¼Ëªº³nµwÅé¡A¥s¤H²´ªá¼º¶Ã¡A¤£ª¾©Ò±¹¡C DOS¡BUNIX¡BOS/2¡BWindow-NT

¡BDBASE¡BFOXBASE¡BClipper¡BLotus¡BExcel¡BC++¡BPASCAL¡BBASIC¡BCOBOL

¡BFORTRAN¡BAssembley¡AÀ~¦º¤H¤F¡C¦¨¤d¤W¸UªºªF¦è­n¾Ç¡AÁÙ¨S¾Ç·|³o¤@ª©¡A

¤U¤@ª©¤S¥X¨Ó¤F¡C¨C­Ó¤HªºµwºÐ¥Ñ¼Æ¤Q Mega¡A´«¦¨¤F¼Æ¦Ê Mega ¤´µM¤£°÷¥Î¡C

®Ñ¬[¤Wªº¤â¥U³¯¦C¤F¼Æ¤Q¥»¡A¦ý¨S¦³¤@¥»¬Ý§¹¡C¾Ç¤F¼Æ¦~ªº¹q¸£¡A¦ý¤´´M´M³V

³Vªº¦b§ä·sªº³nÅé©M·sªº®ÑÄy¡C¬¡¨ì¦Ñ¡A¾Ç¨ì¦Ñ¡A´N¬OµL¯à¤O¸Ñ¨M°ÝÃD¡C©Î¨C

¹J¨ì¤@­Ó·s°ÝÃD¡A´N­n¾Ç¤@­Ó·s¤u¨ã¡A¬Ý¤@¥»·s¯¦ÓD¡C­ü¡I±E¤£ª¾½m©Û¤£½m¥\

¡A¨ìÀY¤@³õªÅ¡Cªá¤F¤j¶qªºª÷¿ú¡A¯Ó¤W¤F«C¬K·³¤ë¡C°ß¤@ªº¦¬Ã¬¡A¥u¬Oª¾¹D¤F

´X­Ó¬y¦æ³nÅ骺¦W¦r¡A©M¤@¥x¥u¯Ó¹q¤£ÁÈ¿úªº¹q¸£¼Ð¥»¡C®Ñ¬[¤W¤@¥»¥»

" ¢æ¢æ¤Jªù " ¡A" ¢æ¢æ³t¦¨ " ¡A" ¢æ¢æ¤j¥þ "¡A" ¢æ¢æÄ_¨å "³£¦¨¤F¥á¤F¥i

±¤¡A¯dµÛ¨S¥Îªº­t¾á¡C¥i¼¦¡I¥i¹Ä¡I¥i´d¨o¡I

¡@¡@¤ÏÆ[¡I¾Ç Forth ¡A¥Î Forth ªº¹q¸£±M®a(Computer Hacker)¡A½a¨ä¤@¥Í¡A

¥uÆp¬ã Forth ªº®ÑÄy¡A¥u¨Ï¥Î Forth ¤@®M³nÅé¡A(Forth ¤]¦³¦Û¤vªº CPU ©M

µwÅé)¡A·íµM®e©ö¼ô¯à¥Í¥©¡A¦Ó«á±M¤ß«ä¦Ò¤u§@¤Wªº°ÝÃD¡C­n°µ¸ê®Æ®w¡A´N«Ø¥ß

¤@¸s±Mªù·j´M¡B±Æ§Ç¡BŪ¼gÀɮסB°O¿ýªº«ü¥O¶°¡C­n°µ¹q¸£Ã¸¹Ï¡A´N«Ø¥ß´X­Ó

µeÂI¡Bµe½u¡Bµe¶ê¡B¶î¦âªº«ü¥O¡C­n°µ¹q¸£­µ¼Ö¡A´N¼g´X­Ó±±¨î¡B­µ°ª¡B­µªø

¡B­µ±j¡B­µ¦âªº«ü¥O¡C­n°µ¦Û°Ê±±¨î´N«Ø¥ß´X­Ó®É§Ç¤¤Â_ªº¿é¤J¿é¥X«ü¥O¡Cı

±o¥L¤Hªº¤å®Ñ½s¿è³nÅ餣¦n¥Î¡A´N¨Ì¦Û¤vªº³ß¦n¼g¤@­Ó¦Û¤v¶¶¤âªº½s¿èµ{¦¡¡A

¤S¦n¥Î¡A¤S¤£»Ý­n¬Ý¤â¥U¡A¤Ï¥¿¡A¨C¤@­Ó¥\¯à³£¬O¦Û¤v©wªº¡I

¡@¡@¬Ý DOS ¤£¶¶²´¡F¤Sı±o UNIX ¤ÓÃe¤j¡A¨º´N¥Î Poly-Forth ¹À¡I¥u¦û 8K

ªº°O¾ÐÅé¡A¤S¬O¦h¤H¨Ï¥Îªº¦h¤u§Y®É§@·~¨t²Î¡C¬Æ¦Ü¤´Ä±ªº¤£²n¨º´N¦Û¤v­«¼g

¤@®M Forth ¡A¤Ï¥¿¦³¦Û§Ú¤¶Åܽs;¹(Meta Compilor)´Nºâ­««Ø¤@¦¸¤]¤£¹L´X

¤Ñªº¥\¤Ò»P®É¶¡¡I

¡@¡@¤@­Ó¯u¥¿ªº Forth °ª¤â¡A¤@©w·|°µ¦UºØÀ³¥Îªº³nµwÅé¡C§ó·|°µ¨t²Î¤u¨ã¦p

²Õ͵{¦¡(Assembler)¡A½s͵{¦¡(Compilor)©M½s¿èµ{¦¡(Editer)¡C¦]¬°¡A³o¨Ç

³£¬O Forth ¨t²Îªº¤@³¡¥÷¡IÅ¥°_¨Ó¦n¦ü«Ü¸Ø±i¡A¦ý½T¤@ÂI¤£°²¡CÀH«K¥ô¦ó¤@­Ó

Forth °ª¤â¡A³£·|¦P·N³o¼Ëªº»¡ªk¡C

¡@¡@¥i¬O¨ä¥L¨t²Î©Î»y¨¥ªº°ª¤â¡Aµ´¤£´±¦³³o¤@ºØ·Qªk¡C¸Õ°Ý DOS ªº°ª¤â¦³´X

­Ó´±­«¼g DOS ¡CC »y¨¥ªº°ª¤â¦³´X­Ó´±­«¼g C »y¨¥ªº½s͵{¦¡¡CPE2 ªº°ª¤â

¬O§_´±­«¼g PE2¡F¤¤¤å¿é¤Jªkªº°ª¤â¦³´X­Ó´±­«·sµo©ú§ó¦nªº¤¤¤å¿é¤Jªk¡C¦ý

¨C¤@­Ó Forth ªº°ª¤â¡A³£´±¦Ó¥B³£·|­«¼g¤@®M¦Û¤vªº Forth ¨t²Î¡C³o´X¥G¤w

¦¨¤F Forth ªº¶Ç²ÎÅK«ß¡C¬O¤°»ò¨Ï Forth ªº°ª¤â»P¨ä¥L¨t²Î©Î»y¨¥ªº°ª¤â¡A

¦³¦p¦¹¤jªº®t§O¡A´N¬O" ²³æ "¤G­Ó¦rªº«Â¤O¡C

¡@¡@¦]¬° Forth ¨t²Î´N¥u¦³¨â­Ó°ïÅ|¡B¤@­Ó¦r¨å¡A¦p¦¹Â²³æªºµ²ºc¡A«D±`®e©ö

ºë²`¡C¤@¥¹¼ô±x¤§«á¡A«K¯à¨Ì­Ó¤H©ÎÀ³¥Îªº»Ý¨D¦Ó²£¥Í¦UºØÅܤơA¥HÂX¥R­ì¦³

ÂÂÀô¹Òªº¯à¤O¡C¤]´N¬O«Ø¥ß·sªº«ü¥O©ÎÅý«ü¥O¦³·sªº¥\¯à¡C³o´N¬O FORTH ªº

À³¥Î¤è¦¡¡C¤@ºØÂ²³æ¦Ó¦³®Ä²vªº¤è¦¡¡C±`Å¥¾Ç¥Í­Ì²á¤Ñ¡Aı±o·í¤µ¾Ç¹q¸£ªº¤H

¤¤¬r«Ü²`¡C¦Ñ¬O°g«H " ³t¦¨ " ªº¬y¦æÁͶաA¦Ó©¿²¤¤F®Ú°ò²Ï¹êªº­«­n©Ê¡C

    " ¸Ñ¨M°ÝÃDªº¬O¤H¡A¤£¬O¤u¨ã " ¡C¨ÏµæÅܱo¥i¤f¦n¦Yªº¬O¼p®v¡A¤£¬O¼p®v

¤â¤¤ªº¤M¡C¾Ç Forth ¡A¤@¦p¾Ç¥Î¤M¡A¸Ó¬Ý¦¨¤â¬q¡A¦Ó«D¥Øªº¡C¯u¥¿ªº­n¸q¬O¡G

¾Ç¦n¤º¥\¡A¥u»Ý¤@©Û " ¤H¾÷¤@Åé "¡A«K¯à±M¤ß­±¹ï°ÝÃD¡A«ä¦Ò°ÝÃDªº¯S©Ê»P³q

«h¡A«ä¦Ò°ÝÃD©Ò»Ý­nªº¸ê®Æµ²ºc¡A«ä¦Ò°ÝÃD©Ò»Ý­nªººtĶªk(Algrithm)¡C¦Ó "

 ¹ï¹q¸£»P°ÝÃDªº²`¤J¤F¸Ñ " ¬O§J¼Ä­P³Óªº²Ä¤@­n¯À¡C

    ¦Ó Forth ªºÂ²©ö©Ê»PÂX¥R©Ê¡A©M¼Ò²Õ(module)ªº¦A¥Î©Ê(reusable)¥u¬O¨Ï

¤H¾÷¤@Å骺§A¡A¯à§óºë¼ô»P¦Û«Hªº¥h¨³³t¸Ñ¨M°ÝÃD½}¤F¡C¤Ï¹L¨Ó»¡¡A¥¿¦]¬°¾Ç

Forth ªº¸ô³~¤¤¡A¦³²Õ¦X»y¨¥¡B¦³§@·~¨t²Î¡B¦³½s͵{¦¡¡B¦³ª½Ä¶µ{¦¡¡B¦³¸ê

®Æµ²ºc(¥D°O¾ÐÅ骺ºÞ²z).....¡C©Ò¥H¡A¦pªG¯à±M¤ßªº¼õ¹L³o¤@³õ¼Ý¤O»P°í«ùªº

¦ÒÅç¦ÛµM¦¨¬°¤H¾÷¦X¤@ªº°ª¤â¡C¤@¦p¯à¦b¼p©Ð¼õ¦¨¤j¼p¤@¯ë¡C¤M¥\¡B¤õ­Ôªº¿i

Áå¯Ê¤@¤£¥i¡C

¡@¡@§_«h¡A¥b³~¦Ó¼o¡A¤£¦p¤£¾Ç¡A®{¼W¦Û¦ã¦Û«è½}¤F¡CÁÙ¤£¦p¡A¦º¤ß¶ò¦a·í¤@

­Ó¥­¤Zªº¨Ï¥ÎªÌ¡A·|¥Î¥Î¸Õºâªí¡B¤å®Ñ³B²z¡B®M¸Ë³nÅé´N½}¤F¡C¤£¥Î¦Y­W¨üÃø

¤]¤£¥Î¥Õ¦£¤@³õ¡C»¡¹ê¸Ü¡B¬Ýªº¤Ó¦h¤F¡A¤Ï¥¿³o¥@¤Wµ´¤j¦h¼Æªº¤H¾Ç¹q¸£³£¬O

¾Ç¤ß¦wªº¥b½Õ¤l¡C«e´X¦~¬y¦æ BASIC ¡A´N¤@ºÛ­·ªº¾Ç BASIC ¡F³o´X¦~¬y¦æ C

´N¤@ªÑ¾Ç C ªº®ö¼é­n§â¤H²T¦º¡C³Ìªñ¬y¦æª«¥ó¾É¦V(OOP)ªº C++¤S¬Oªü¿ßªüª¯

ªº´c¥s´c§p¤@°}¡A¤Ñ¾å±o¡A©ú«á¦~¤S­n·d¤°»ò­¸¾÷¤F¡C¯u©_©Ç¡I°lªº¤£·Ð¡B¾Ç

ªº¤£²Ö°Ú¡I«ç»ò³o»ò¦h¦~¤F³£¨S¤H§Ë²M·¡¡C" ¬O¼p®v¹ï°µµæªº°t¤è¤F¸Ñ¡A¥[¤W

¤M¤u©M¤õ­Ôªº´x´¤¨Ï¤¤°êµæ´­¦W¥|®ü¡A¦Ó¤£¬Oª÷¤M¡B»È¤Mªº«Â¤O©Î¯«ÂݨϵM "

¤Á°O¡I¤Á°O¡I

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                  µL¤W¤ßªk²Ä¤G½g¡@

 

 

¡@¡@¡@¡@¡@¡@¡@" ¦p¦ó¦b¤ß¤¤«Ø¤@­Ó¹q¸£ "

 

 

¡@¡@¦b¹q¸£³o­Ó¥@¬ÉùØ¥´ºu¤Q¦h¦~¤F¡A±`±`³Q¤H°Ý¹D¡G¡u¦Ñ®v¡I¬°¤°»ò§A¹ï¹q

¸£ª±±o¨º»òºë²`¡A±qµwÅ骺Å޿誱¨ì CPU ªº³]­p±q¨t²Îªº O/S¡BCompiler ·d

¨ì¹q°Êª±¨ãªº­µ¼Ö¡Aµe­±±±¨î¡C¤@¤U¤l¼g Editor ¤@¤U¤l¼g Fractal ªºµ{¦¡³£

¨º»ò¶¶¤â¡A¦­¤W¼g²Õ¦X¡A¤U¤È¼g C++ ¡A±ß¤W¼g PROLOG ³£¤£·|§Ë¶Ã......¡C¡v

¡@¡@¨ä¹ê¡I§Ú¨Ã¤£¬O¹q¸£ªº¤Ñ¤~°ª¤â¡A¦Ó¬O Forth ªº¤Q¶µ¥þ¯à¡A¨Ï¤@­Ó³o¼Ë¥­

¤Zªº§Ú¡A¾Ö¦³¤F¤@¦¸¨º»ò«GÄRªº¤H¥Í®i²{¡CÁÙ°O±o¦b¤Q´X·³ªº®É­Ô¡A»Å·R¼g¸Ö

¶ñµü¡A¼uµ^ÃЦ±¡A¹ï¹q¸£¬O¤@ÂI·§©À³£¨S¦³ªº¹q¸£¤åª¼¡Cª½¨ì¦³¤@¤Ñ¦b¹q¤lµó

¬Ý¨ì APPLE2 ¡A¤@¤U¤l³Q¨º­Ó¤p¾÷¾¹©Ò§l¤Þ¦í¡C(¨º®ÉÁÙ¤£À´¤°»ò¬O 8¦ì¤¸ªº

CPU)¡C¦ý¬O¤Q´X·³ªº«Ä¤l¡A¨ºùضR±o°_¼Æ¸U¤¸ªºªF¦è(¨º®É¤@¯ë¤½°È­û¤~ÁÈ´X¤d

¶ô¤ëÁ~)¡C©ó¬O¦Û¤vºCºCªº¦s¡A¦s¤@ÂI¿ú¶R¤@¶ôªÅªº¥D¾÷ªO¡C¦A¦s¤@ÂI¿ú¶R´XÁû

¤p IC ¡A¦A¦s¤@ÂI¿ú¶R¤@­ÓÁä½L.....¶R¤@­Ó¿Ã¥ú¹õ......¡C´N³o¼Ëªá¤F¤@¦~¦h

¡A¤~¶R¥þ¤F¹s¥ó¡C­è¶}©l¥Î»ÌÅK¾Z¹s¥ó¡A¤]¬O¨B¨BÁ}¨¯¡A¤@ÂI¤@ÂIºCºCªº¾Z¡A

¹J¨ì¤£À´ªº¡A´N¥h¹Ï®ÑÀ]­É¹q¤l¾Ç©M¼Æ¦ì¹q¤l¾Çªº®Ñ¨Ó¬Ý¡C¤Sªá¤F¥b¦~¡A¤~¦b

¿Ã¥ú¹õ¬Ý¨ì OK ¡C¨º¤@¤Ñ¡A§Ú­ú¤F¤@³õ¡C±q¤°»ò³£¤£À´¨ì¸Ë¥X¤@¥x¦Û¤vªº¹q¸£

¡A§Úªá¤Fªñ¨â¦~ªº¥ú³±©M¼õ¤F¤W¦Ê­Ó©]¡C

¡@¡@¦Ó³o¦ü¥G¥u¬O¤@³õ´c¹Úªº¶}©l¡C¦]¬°³o¥u¬OµwÅ鳡¥÷¦Ó¤w¡I±µ¤U¨Ó¬O¾Ç³n

Åé¤F¡A¨S¿ú¶R³n¦¡ºÏºÐ¾÷(¤@¥x¤@¨â¸U)¡A¥u¦n§âªá¤F¤@©]¼g¦nªº BASIC¡A¥Î¾Ç

¥Í±¡¤H¥d¦¡¿ý­µ¾÷¿ý¤U¨Ó¡A¥H«K¹j¤é°£¿ù(Debug)¡A¥b¦~¹L¥h¤F¡C¾Ç¨Ó¾Ç¥h³£·Ð

¤F¡A¬Ý¨Ó¬Ý¥h³£¬O¨º´X¥»®Ñ¡F¨S¦³¤°»ò·sÂAªº¤F¡A³o®É¦³¤H§i¶D§Ú¦b¾ã¼Æª©ªº

BASIC ROM ¤¤¦³¤@ºØ¥s²Õ¦X»y¨¥ªºªF¦è¡C·í¤Ñ¬½¤U¤ß¨Ó´«¤F¤@®M ROM ¡A¶}©l

 " K " ²Õ¦X¡A¤~ª¾¹D­ì¨Ó CPU ¤¤¦³¼È¦s¾¹¡B²Ö¥[¾¹.....¡C¤S¹L¤F¥b¦~¤~§â

APPLE2 ªººÊ·þµ{¦¡ "K" §¹¡C³o®É¤wªñ¤G¤Q·³¤F¡C¦b¦h¤Ö²`©]ªº­WŪ¤¤¡A¤@¥»

¥»¸ê®Æµ²ºc¡A­pºâ¾÷²Õ´¡AÅÞ¿è³]­p¡A¶gÃä³]³Æ¤¶­±¾Ç¡A§@·~¨t²Î¡B½s͵{¦¡

¡B¹q¸£¹Ï¾Ç¡B¨t²Îµ{¦¡¡Bµ{¦¡»y¨¥¡BºtÄÀªk¡B¤H¤u´¼¼z¡B¥­¦æ³B²z¡B¤uµ{¼Æ¾Ç

¡BÂ÷´²¼Æ¾Ç¡B¾÷²v½×¡B¶°¦X½×¡B©Ý¾ë.....¦ñ§Ú¼õ¨ì¤Ñ©ú¡B¦b¾Ç®Õ¤¤¡BÂ÷¸s¹è©~

¡B¦b¦Ñ¥~ªº²´¤¤¡A¦ü¥G§Ú³o­Ó¦Ñ¤¤¬O¨S¦³¶Â©]ªºÅª®Ñ°­¡A¥Õ¬¡¤F¡A¤j¾Ç¤]¥Õ°á

¤F¡C

¡@¡@»¡¯uªº¡A¨º®É§Ú®ÑŪªº¤ÓÂø¶Ã¡I¨S¦³¦Û¤vªº«äºû¨t²Î¡I¥u­n±Ð±Â´£¤@¥»®Ñ

¡A§Ú´N "K"¤@®Ñ¥»¡A§Ë±o¤v«Ü²Ö«ÜºG¡I©Ò©¯ªº¬O¡I¥Ó½Ð¨ì¤F¬ã¨s©Òªº¼ú¾Çª÷¤§

«á«K¨ì¯Ã¬ùŪ¬ã¨s©Ò¥h¤F¡C¦ý¦Û¤vª¾¹D¡A°µ¾Ç°Ý©MŪ¦º®Ñ¬O¤£¦Pªº¡A§Ú«Ü®`©È

¡A©È«÷¤£¹L¦Ñ¥~·|¥¢¥h¼ú¾Çª÷¡C¤×¨ä¦bµ{¦¡§@·~³Q Dr.Suson ·í­±¼¹¸H®É¡I§Ú

·Q¤j·§¤°»ò³£§¹¤F¡C¦o­n§Ú­«¼g¤@¥÷µ{¦¡¡A§Ú°e¥h¤S³Q¼¹±¼¤F¡A§Ú¥u¦n¤S¼g¤F

¤@¥÷¡A¨Ó¨Ó¦^¦^ú¨ì²Ä¤»¥÷¤~³Q±µ¨ü¡F¦o¤§«á°Ý§Ú¬O§_¤F¸Ñ " ¦Û¤v¥i¥H­n¨D¦Û

¤v¡A¬°¤°»òÁٻݭn§O¤H¨Ó­n¨D§A "¤§·N¡A§Ú²×©ó¤F¸Ñ¡A¦oªº¥Î¤ß¬O¦b¯¡Är¾Ç¥Í

­Ì " ¦Û§Ú­n¨D¬O¨}¦n«~½èªº°ß¤@«OÃÒ "¡C

    ¦b­×¶i¶¥­pÛ®¾÷²Õ´®É¡ADr.Tanenboum °Ý§Ú¡A¹q¸£©M¤H¦³¦ó²§¦P¤§³B¡H§Ú

»¡¤F¤@¤j°ï¡A¥L«oÃø¥H±µ¨üªº·n·nÀY¡C¥s§Ú¦^¥h¦Û¤v·Q²M·¡¡C¥u´£¥Ü§Ú¹q¸£ªº

" ³nµwÅé " ¤@¦p¤Hªº " ÆF»P¦× "¡C

¡@¡@§Ú¦^¥h¤@ª½·Q" ÆF»P¦× "¡A¤~Å鮩¤F¤H»P¹q¸£­ì¬O¤@Å骺¨â­±¡C¤H¦³°O¾Ð

Åé¡A¦Ó¹q¸£¦³ ROM ©M RAM ¡F¤H¦³µ§°O¥»¦Ó¹q¸£¦³ºÏºÐ¾÷¡A¦b¤W½Ò®É¤H§Ûµ§°O

¡A´N¦ü¹q¸£¦sÀɤ@¼Ë¡A¤£©È§Ñ°O¡C¦Ò¸Õ«e½¬Ýµ§°O´N¦ü¹q¸£¶}ÀÉŪ¶i RAM ¤¤¤@

¼Ë¡A¥i¥H«ì´_°O¾Ðªº¤º®e¡C¤H¦³µ§¡A¹q¸£¦³¦Lªí¾÷¡A¤H¦³©¹¨Ó§»ö¡A¹q¸£¦³´¤

¤â¨ó©w¡F¤H¦³¹q¸Ü¡A¹q¸£¦³ºô¸ô¡F¤H¦³¤j¸£«äºû¡A¹q¸£¦³ CPU¹B§@¡C¤H­n¾Ç²ß

¥¿½Tªºª¾ÃѤ~¯à©ú¿ë¨Æ«D¡A¹q¸£»Ý­n©ú´·ªº«ü¥O¤~¯à¸Ñ¨M°ÝÃD.....¡C¨ì¨º¤@¤Ñ

§Ú¤~¤F¸Ñ¡A¾Ç¹q¸£¤@ÂI³£¤£§bªO¤@ÂI³£¤£­¯¥Í¡C¦]¬°¹q¸£¥u¬O±N¤Hªº" ÆF»P¦×

" ¼Æ¦ì¤Æ¤F¦Ó¤w¡C¥u­n¥Î¤ß±´¯Á¤HÃþ¦Û§Úªº " ÆF»P¦× "¡A¦ÛµM´N·|¤F¸Ñ¹q¸£ªº

 " ³nµwÅé "¡C

¡@¡@¨Ò¦p¡G¤HÃþ¦³ªk«ß¨î«×¡A¹q¸£´N¦³§@·~¨t²Î¡A¤HÃþ¦³Â½Ä¶¡A¹q¸£¦³½s͵{

¦¡¡A¤HÃþ¥Ñ²Ó­M²Õ¦¨¡A¹q¸£¦³Å޿褸¥ó¦U¥q¨ä¾¡C¤HÃþ¦³¨p¦³°]²£¡A¹q¸£¦³°Ï

°ìÅܼơC¤HÃþ¦³¥æ³q·F¹D¡A¹q¸£¦³¶×¬y±Æ¡C´X¥G¹q¸£¤W©Ò¦³ªº¨Æª«»PÆ[©À³£»P

¤HÃþªº¥@¬É¬Û¤¬©IÀ³¡C¨ä¹ê¬Ý²M·¡¡AºN³z¤F¡A´N¤£Ä±±oÁ}ÀßÃøÀ´¤F¡C¦b¬ã¨s©Ò

ªº±Ð±Â¤¤ Dr.Goldon-Stein ¬O³Ì¥s§Ú¾Ð©Àªº¤F¡A¥L¦b½Ò°ó¤¤¦Ñ¬O¥oµÛ¤@°¦·Ï¤æ

¡A¦b¤Wµ{¦¡»y¨¥®É¡A¥L§i¶D§Ú¡A¨C¤@Ãþ¹q¸£»y¨¥³£¬O¤@ºØ¤ßÆF«äºûªºªí¹F¤è¦¡¡C

¤£¦Pªº»y¨¥¦³¤£¦Pªº¼g§@­·®æ¡A¦³¤£¦Pªº¬ü¾Ç¼Ð·Ç©M¤£¦Pªº±ø«ß³W½d¡C

    Modula2¡GÄYÂÔ©ú½T¡BÀu¶®°Ê¤H¡B¦ü¶Q°ü¤H¤@¯ë¡C

    LISP¡G²¼ä¬yºZ¡A¼h¼h¬ÛÃö¡C¹³¨¥¦æ¤@­Pªº§g¤l¡C

    APL¡GÅֲӰʤH¡A¬ÂÄg¥©§®©{¦p²^®ðªº¤p£«ÀY°Q¤H³ßÅw«oÃø¥H®»ºN¡C

    BASIC¡G©Mµ½©ö³B¡A¼e¤j¤£©ë¤p¸`¡A¤@¦p¦n«Èªº§ø©h³¥­î¡A²LÁÄ´r§Ö»´

           ÃP¡A¦ý¤£¨¬¥H¦«­t­«³d¤j¥ô¡C

¡@¡@C¡GÆF¬¡½Ä°Ê¡A¦p¤d¨½¤§¾s¡A­Y¯à¾r±s«h¯«§L§Q¾¹¡A§_«h³¥°¨²æÅ·¡A¥D

       ¤H³Q§x¡A«D¦º§Y¶Ë¡C

    FORTRAN¡G¥j¾ë·Å¼í¡A¶¯²`¶®°·¦Û¦³«L«È¤§¤j®a­·½d.....¡C

    ¦p¦¹¼Æ¨Ò¡A¥i¥H±oª¾¿ï¾Ü¹q¸£»y¨¥¡A¤@¦p´M¨D±B°t¡A­n²`¤J¤F¸Ñ¹ï¤è¤§®a

®x­I´º¡A¥Í¬¡²ß©Ê¤~¯à¤â¨ì¾à¨Ó¡A¨Æ¥b¥\«H¡A§ó­n©M¦Û¤vªº­Ó©Ê³B±o¨Ó¡A¯àºI

ªø¸Éµu¤¬«H¤¬§U¡A¤~¯à¨Æ¨Æ¶¶¹E¡A§_«h¼Æ¤é¤@§n´X¤é¤@¾x¡A¤º¶Ã¯ÉÂZ¡A¥¼¯à§J

¼Ä­P³Ó¡A¤w¦R¦å¨­¤`¡C¥X®v¥¼±¶¨­¥ý¦º¡A±`¨Ï­^¶¯²\º¡ÃÌ¡B±¡¦ó¥H³ô¡A¤ß¦ó¥H

¥Ì¡C©Ò¥H¡A¤d¸U¤£¯à§ä¿ù¹ï¶H¡Aºâ·Ç¦¨±B¡F¾A¦X¥L¤Hªº¡A¤£¨£±o¾A¦X§A¡C¬y¦æ

ªºÁͶդ£¬O¤H¤H³£¯à¬ïµÛ±oÅé¦n¬Ý¡C³Ì«á½Í½Í Forth §a¡H

    Forth ¦ü§Î¦Ó¤Wªº©v±Ð«H¥õ" ¥u¶Ç¤ßªk¡A¤£¥ß¤å¦r " ±o¦h±o¤Ö¡B¬O¦¨¬O±Ñ

¡F¤£°Ý¹L©¹®Ú·~¡A¥u¬ÝºÖ½t²`²L¡C¤@¦p¦Ñ¤l¤§¹D¡A·L§®¥È³q¡A²`Âã¼s»·¡A¤j¤è

µL¶¨¡A¤j¶HµL§Î¡C¥ç¦pÁI©vªkªù¡A²­n¤£Ác¡A¦U¤HÅé¥Î¤£¤@¡C°ß¦³¤@¤ß¤@©À¤£

¶Ã¡A¤é©]°Ñ®©ºë¶i¤è¯àµnªù¤J«Ç¡A½m¦¨µL¤W¤ßªk¡A¨ä¤Æ¹ÒµL§ÎµL¶H¡A­¸ªáºK¸­

¬Ò¯à§J¼Ä­P³Ó¡A½Í¯º¶¡¥Î§L¤d¨½¡A¦ó»Ý¤M¼C¤§²Ö¡C­Y¯à¥\¼w¶êº¡¡A¥XÃö¤§¤é¡A

¦A¦^ÅU Forth ¦Û¨­¤§³¹ªk¤å¦r¤]ı±o¥ÖÅn¦Ó¤w¡C¾Ç Forth ¤@¦p¤ÑÂͦÊÅÜ¡A¦Y

®á²æ¥Ö¡A­Wµh¤¤¦¨ªø¡A°µÃµ¦Û¿£¦º«á­«¥Í¡A¤~¯à¤Æ¦Ð°ª­¸¡C©Ò¥H»Ý­n¤@©Ù°@¸Û

¡A¤è¯à°í«H¤£ºÃ¡A§_«h¾Ç¤§ªì¶¯¤ß¸U¤V«H»}¥¹¥¹¡A¤@¦ý®À§é"¼ì¤£¦¨­x¡A¥b¸ô°h

§L "¡C§ó»Ý­n¤@ªÑ·M¤½²¾¤sªº¶Ì«l¡A¤è¯àºë¸Û©Ò¦Üª÷¥Û¬°¶}¡C§Ú¬Û«H¥ô¦ó¤@­Ó

¤H¾÷¤@Å骺 Forth °ª¤â¡A³£´¿Åé¨ü¹L¨º¥÷·ö¶Ì­I«á¤£¬°¤H©Òª¾ªº¨¯»Ä¡C

¡@¡@§Ú¦b­è¾Ç Forth ®É¡A¤]¬O¤é¤é«è¡A©]©]·T¡Aª½¨ì¤@¦~«áµoı¦Û¤v¦b¼gµ{¦¡

®É¡A¤f¤¤¶¶¼L»¡¥Xªº´N¬Oµ{¦¡ªº¥y¤l¡A¤ß¤¤¾®·QµÛ¨â­Ó°ïÅ|ªº¤W¤U°_¥ñ²@µL¥b

ÂI¨è·N¡A¬O¤U·NÃѪº¦ÛµM¤ÏÀ³¡C¨º¤@©]¡A§Ú·P¨ì¤@ªÑ±q¥¼¦³¹Lªº»´ÃP»P¦Û«H¡A

§Ú¯º¤F¡A¦]¬°§Úª¾¹D§Ú¦A¤]¤£¥Î¬°¹q¸£ªº¤u§@·P¨ìÀ£¤O©M®£ÄߤF¡C¦]¬°§Ú¤ß¤¤

¤w¦¨¤F¤@³¡ Forth ªº¹q¸£¡A§Úªº´c¹Ú²×©ó®ø¥¢¤F¡A¤£Ä±²ðº¸¡C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                    µL¤W¤ßªk²Ä¤T½g

 

                     µ{¦¡³]­p¤§¹D

 

ª÷«° µù²¨¡G

     ¦¹½g¸`¿ý¦Û Geoffrey James ¦b 1986 ¦~ªºµÛ§@

     The Tao of Programming ¦¹®Ñ¦³³\¦h¦a¤èªº¯«Ãý»P FORTH ¤Q¤À¬Û¦ü¡A

     ¦b¯É¶Ãªº¸ê°T¥@¬É¤¤ª`¤J¤F¤@ªÑ²M¬y¡C§@ªÌ¥H¦Ñ¤l¬°­I´º¡A±Ô»¡µ{¦¡³]

     ­p¤§¡u¹D¡v¡C¸Ó®ÑÁ¡Á¡ªº¶È¦³ 150­¶¦ý¥y¥yÁI«ä¦©¤H¤ß©¶¡A¤Þ¤H¨B¤J¹ï

     ³Ð§@µ{¦¡ªº²`¬Ù¡C³o»ò¦h¦~¨Ó¡Aµ{¦¡³]­p¨ì©³¬O¡u¤uµ{¡vÁÙ¬O¡uÃÀ³N¡v

     ¡A¦b¦¹¬Ý¬Ý¤j®vªº¨£¸Ñ¡A³º¬O¿@­§ªº¤H¤å¦â±m¡C¬Û«H±z­Y¬O·U¸ê²`ªºµ{

     ¦¡³]­p®v¡A·U¯àÅé·|¦¹¸`¤¤ªººëÅè¡C¤@¿s°ó¶ø¡C­Y¬Oªì¾Ç¡A©Î¾Ç¨s¡A«h

     ¥²µM¤£«H¥b¦r¡C FORTH ¬O¤@ºØ¨D¡u¹D¡vªº¹Lµ{¡CŪªÌ¦ó§«µê¤ßÆ[¤§¥þ¯«

     Å鮩¡A¥²¦³©ÒÀò¡C¨C¸`¤§«áªºµù²¨¡A¥u¥Nªí§Ú­Ó¤Hªº²L¨£¡A¨Ã«D¹ï­ì¤å

     ªº²K¥[¡C

 

²Ä¤@³¡  ÀR±IµêµL½g

 

  µ{¦¡­û¤j®v(¥H¤U²ºÙ¤j®v)¦p¬O»¡¡G¡u¾Ç·|¤F±qµ{¦¡§ìÂΤl¤§«á¡A´N¥i¥H²¦·~

  ¤F¡C¡v

 

    ª÷«° µù²¨¡G²¦·~¬O«ü´N¯à°÷¦b¥~­±²V¤f¶º¦Y¤F¡C

 

 

 1.1¸`

 

  ÀR±IµêµL¤¤¦³¶ø¯µ¡A¤£ÀR¤£°Ê¡A¤D¬Oµ{¦¡¤§·½¡A§^µL¥H¦W¤§¡A¬GºÙ¤§¬°µ{¦¡³]

  ­p¤§¹D¡C­Y¹D¦Ü¤j¡A«h§@·~¨t²Î¦Ü¤j¡F­Y§@·~¨t²Î¦Ü¤j¡A½s͵{¦¡¥çµM¡F­Y½s

  ͵{¦¡¦Ü¤j¡AÀ³¥Îµ{¦¡¥ç´_¦p¬O¡C¬O¬G¨Ï¥Î¤H¤j®®¡A¥@¦³©M¿Ó¦s²j¡C

 

 1.2¸`

 

  µ{¦¡³]­p¤§¹DµL»·¥±©¡¡AÀH±áÄf·L­·¦Óªð¡C

  ¹D¥Í¾÷¾¹»y¨¥¡A¾÷¾¹»y¨¥¥Í²Õ͵{¦¡¡C

  ²Õ͵{¦¡¥Í½s͵{¦¡¡A©ó¬O¸U¾l»y¨¥¦s²j¡C

  ¦U»y¨¥¦³¨ä¥Øªº¡A§¡ªí¹F³nÅ餧³±¶§¡F¨ä¦b¹D¤¤¥ç¦U±o¨ä©Ò¡C

  ¦ý­Y¯àÁ×§K¡A´N¤£­n¥Î COBOL ¼gµ{¦¡¡C

 

    ª÷«° µù²¨¡G³nÅ餧³±¶§¡A¤D«ü¸Ñ¨M°ÝÃD¤§¤è¦¡´N¬Oºtºâªk(Algorithm)

 

 

 1.3¸`

 

  ¤Óªì¦³¹D¡A¹D¥Í®ÉªÅ¡A¬G®ÉªÅ¤Dµ{¦¡³]­p¤§³±¶§¡C

  µ{¦¡­û¤£®©¹D«h®ÉªÅ¥Ã¤£¼Å¨Ï¥Î¡A®©¹DªÌ«í¦³¥R¤À®ÉªÅ§¹¦¨¥Ø¼Ð¡C

 

    ª÷«° µù²¨¡G

        ®ÉªÅªÌ¡A¡u®É¡v«ü CPU ªº¯à¤O»P³t«×¡A¡uªÅ¡v«ü°O¾ÐÅ餧³W¹º»P¹B

        ¥Î¡C

 

 

 1.4¸`

 

  ¤W´¼µ{¦¡­û»D¹D¦Ó¦æ¤§¡A¤¤´¼µ{¦¡­û»D¹D¦Ó¨D¤§¡A¤U·Mµ{¦¡­û»D¹D¦Ó¯º¤§¡F

  ­YµL¯ºÁn«hµL¹D¨o¡C

  ¦Ü°ª¤§ÁnÃø¥HÅ¥»D¡F

  «e¶i´N¬O«á°h¤§¸ô¡F¤j´¼Á`¬O±ß¦¨¡F¨C¤@­Ó§¹¬üªºµ{¦¡¤´µM¦³ BUG¡C

  ¹D¦b©Ò¦³ª¾ÃѤ§¥~¡C

 

    ª÷«° µù²¨¡Gª¾ÃÑ«ü¸ê°T¬ì¾Ç¡C

 

 

²Ä¤G³¡  ¥j¤§¤j®v½g

 

  ¤j®v¦p¬O»¡¡G¡u¤T¤é¤£¼gµ{¦¡¥Í©RµL½ì¡C¡v

 

 2.1¸`

 

  ¥jµ{¦¡­û¯«¯µ¦Ó²`¶ø¡AµL¥H«×¶q¨ä«äºû¡A¶È¯à´y­z¨äªí¶H¡C

 

  ¹³ª°¯W¯A¤ô¯ë¦a¤p¤ß¡F¹³¾Ô³õ¦Ñ§L¯ë¦aĵı¡F¹³¥¼¸gµZ¿iªº¤ìÀY¯ë¦a©å¼³¡F¹³

  ¬}¤¤²`¼æ¦a¤£³z©ú¡C

 

  ½Ö¯à«ü¥X¥L¥ô¤ßÆF¤¤ªº¯µ±K¡S

 

  µª®×¥þ¦b¹D¤¤¡C

 

 

    ª÷«° µù²¨¡G

        ¦b¸gÅ礤§Ú­Ì²×©ó¤F¸Ñµ{¦¡³]­p®vªº¥»¯à¡A¤j¦h¼Æ¬O¤Ñ¥Íªº¦Ó«ÜÃø¥H

        ±Ð¨|¨Ó°V½m¦¨¤~¡C

 

 

 2.2¸`

 

  ¤j®v Turing ´¿¸g¹Ú¨ì¥L¬O¤@³¡¹q¸£¡A¿ô«á¹D¡G¡u¤£ª¾¬O§Ú Turing §@¹ÚÅܦ¨

  ¾÷¾¹¡AÁÙ¬O¤@³¡¾÷¾¹§@¹ÚÅܦ¨§Ú Turing¡C¡v

 

  ¤@®a¤j¹q¸£¤½¥qªºµ{¦¡­û°Ñ¥[³nÅé·|ij«á¡A¦V¥Lªº¸g²z³ø§i»¡¡G¡u§Aª¾¹D¨ä¥¦

  ¹q¸£¤½¥q¦³¨Ç¤°»òµ{¦¡­û¶Ü¡S¡v¥L­Ì¤£­×Ãä´T¡AÀY¾vªø¦ÓÃ廽¡A¦çªA¬JÂÂ¥B½K

  ¡A¥L­Ì¯}Ãa¤F®ðª^¡A¦Ó¥B¦b§Ú²³ø®É¦Ñ¬O»s³y¾¸­µ¡C¡v

 

  ¸g²z»¡¡G¡u§Ú®Ú¥»´N¤£À³¸Ó¬£§A°Ñ¥[·|ij¡A³o¨Çµ{¦¡³]­p®v¶WµMª«¥~¡A¥L­Ì§â

  ¥Í©R¬Ý¦¨µL½]¡B·N¥~ªºµ²¦X¡C¥L­Ì©¹¨Ó¦ÓµLÿÆX¡A¬°¥L­Ìªºµ{¦¡¦Ó¬¡¡A¬°¤°»ò

  ¥L­Ì¤@©w­n¨üªÀ·|¿n²ßªº¬ù§ô¡S

 

  ¥L­Ì¬¡¦b¹D¤¤¡C

 

 2.3¸`

 

  ¥Í¤â°Ý¤j®v¡G¡u¦³¤@­Óµ{¦¡­û±q¤£³]­p¡B´ú¸Õµ{¦¡¡B¼g§@¤åÄm¡A¦ý¤F¸Ñ¥Lªº¤H

  ³£»{¬°¥L¬O¥@¶¡³Ì¦nªºµ{¦¡­û¡A¬°¤°»ò¡S¡v

 

  ¤j®v¤ê¡G¡u³o­Óµ{¦¡­û¤w¥R¤À®©¹D¡A¥L¶W¶V¤F³]­pªº»Ý­n¡F¨t²Î«±¤F¤£·|¥Í®ð

  ¡A¦ÓµL±ø¥ó±µ¨ü³o­Ó¥@¬É¡C¥L¶W¶V¤F¤åÄmªº»Ý­n¡A¥L¤£¦A­p¸û¬O§_¦³¤H¬Ý¥Lªº

  µ{¦¡¡C¥L¤]¶W¶V¤F´ú¸Õªº»Ý­n¡A¥Lªº¨C¤@­Óµ{¦¡³£¶êº¡µL¯Ê¡B²M¹ý¡BÀu¶®¡B¥Ø

  ªº¦Û©ú¡C

 

  ¯uªº¡A¥L¤w¸g®©¹D¡Aµn°ó¤J«Ç¡C¡v

 

²Ä¤T³¡  ³]­p½g

 

  ¤j®v¦p¬O»¡¡G¡u¨ì´ú¸Õµ{¦¡®É¦A¦^ÀY­×§ï³]­p´N¤Ó¿ð¤F¡C¡v

 

 

    ª÷«° µù²¨¡G

        ¨S¦³³W¹º¹Lªºµ{¦¡´N¦ü¦MÀIªº¹H³¹«Ø¿v¤@¼Ë¡AÀH®É·|­Ë¡B·|¶ò¡B·|

        «±¡C

 

 

 3.1¸`

 

  ´¿¸g¦³¤H¦b°ÑÆ[¹q¸£®i¨C¤Ñ¶iªù®É³£¦Vĵ½Ã»¡¡G¡u§Ú¬O­Ó§®¸é¡A°½ªF¦èªº§Þ¥©

  ¤w¿²¤Æ¹Ò¡A¥ý§i¶D§A¡A§Úµ´¤£·|©ñ¹L³o¦¸®iÄý¡C¡v

 

  ³o¬q¸Ü¨ë¿E¨ìĵ½Ã¡A¦]¬°®iÄý³õ¦³¦n´X¦Ê¸U¤¸»ù­Èªº»ö¾¹¡A©Ò¥H¦Ñ¬O¨nµÛ¥L¡A

  ¤£¹L«o¬Ý¨ì³o­Ó¤H¤@­ÓÅu¦ì±µ¤@­ÓÅu¦ì¬Ý¡A­óµÛ¤p¦±¦Ó¤w¡C

 

  ³o­Ó¤H¥Xªùªº®É­Ô¡Aĵ½Ã§â¥L±a¨ì¤@Ãä·j¨­¡A¦ý«o§ä¤£¨ì¤°»ò¡C

 

  ²Ä¤G¤Ñ³o­Ó¤H¤S¨Ó¤F¡A¦Ó¥B±Ð°Vĵ½Ã»¡¡G¡u¬Q¤Ñ§Ú¦¬Ã¬¤£¿ù¡A¤£¹L¤µ¤Ñ·|§ó¨Î

  ¡C¡v©Ò¥Hĵ½Ã´N¤S§ó¥[ª`·N¥L¤F¡A¦ý¬O¤´µM¨S¦³µ²ªG¡C

 

  ³Ì«á¤@¤Ñĵ½Ã²×©ó§Ô¤£¦í¦n©_¤ß¡A°Ý¨º­Ó¤H¡G¡u¸é¤j®v¡A§Úµ¹±z§Ë±o¹ì­¹Ãø¦w

  ¡A±z¬O§_¥H±Ð§Ú¡A¨s³º°½¤F¨Ç¤°»ò¡S¡v

 

  ³o­Ó¤H¯º¯º¡A»¡¡G¡u§Ú°½ªº¬O·§©À¡C¡v

 

 

    ª÷«° µù²¨¡G¥ý¦³·§©À(¤]´N¬OÆF·P)¤~¦³³Ð§@¡C

 

 

 3.2¸`

 

  ±q«e¦³¤@¦ì¤j®v±M¼g¨S¦³µ²ºc¤Æªºµ{¦¡¡A¤@­Ó¥Í¤â¼Ò¥é¥L¡A¤]¶}©l¼g¨S¦³µ²ºc

  ¤Æªºµ{¦¡¡C·í³o¦ì¥Í¤â­n¨D¤j®vµû¶q¶i®i®É¡A¤j®v«o§åµû¥L¼g§@¨S¦³µ²ºc¤Æªº

  µ{¦¡¡A¤j®v»¡¡G¡u¹ï¤j®v¾A¥Îªº¤£¤@©w¾A¦X¥Í¤â¡A¦b¯à°÷¶W¶Vµ²ºc¤Æ¤§«e¡A¥²

  ¶·¥ý®©¹D¡C¡v

 

 

    ª÷«° µù²¨¡G

       ¨Ï¥Î GOTO ¬O¤@ºØ¨â·¥¤Æªº²{¶H¡A°ª¤â¥Î¤§¥i¥H´£ª@µ{¦¡ªº°õ¦æ®Ä²v

       ¡C§C¤â¥Î¤§¡A«hµ{¦¡ªºµ²ºc¯}Ãa¡AÃø¥HºûÅ@¡C Knuth »P Diiestia ´¿

       ¬°¤F GOTO ¤j¥´¤@³õµ§¾Ô¡A¤]¬O¥D¦]¡C

 

 3.3¸`

 

  ¬Yªø©x°Ýµ{¦¡­û¡G¡u³]­p·|­p¨t²Î»P§@·~¨t²Î¡A¨º¤@­Ó¤ñ¸û²³æ¡S¡v

 

  µ{¦¡­û»¡¡G¡u§@·~¨t²Î¡C¡v

 

  ªø©xµo¥X¤£¬Û«HªºÅå©I! ¡u«ÜÅãµM¦a¡A·|­p¨t²Î¤£¦p§@·~¨t²Î½ÆÂø¡v¡C

 

¡@¥L»¡¡G¡u¤£! ¡vµ{¦¡­û¦^µª¡A¡u¦b³]­p·|­p¨t²Î®É¡Aµ{¦¡­û¬O¦UºØ¦³¤£¦P¥D·N

  ªº¤H¤§¶¡ªº¾ô¼Ù¡A³o¨Ç¥D·N¤£¥~¥G¡G¨t²Î­n¦p¦ó§@·~¡S³øªí«¬¦¡¦p¦ó¡S­n¦p¦ó

  ªï¦Xµ|ªk¡S------µ¥µ¥¡C¤Ï¹L¨Ó¡A§@·~¨t²Î«o¤£¨ü¥~¬Éªí¶Hªº­­¨î¡F¦b³]­p§@

  ·~¨t²Î¡Aµ{¦¡­û´M¨D¤H»P¾÷¾¹¤§¶¡³Ì¯Âªº©M¿Ó¡A³o´N¬O¬°¤°»ò§@·~¨t®e©ö³]­p

  ¡C¡v

 

  ªø©xÂIÀY·L¯ººÙ¬O¡G¡u¦ý¬O¡A¨º¤@­Ó®e©ö°»¿ù¡S¡v

 

  µ{¦¡­û¨S¦³¦^µª¡C

 

 

    ª÷«° µù²¨¡G

        ¦³¤H¬°¦]¯Àªºµ{¦¡³ÌÃø¤U¤â¡A¤]³ÌÃøµû¦ô¦nÃa¡A¤H¤ñ¾÷¾¹­n½ÆÂøªº¦h

        ¡A­n½Áy¤]®e©öªº¦h¡C

 

 

 3.4¸`

 

  ¸g²z¥h¨£¤j®v(µ{¦¡­û)¡A¨Ã¥B§i¶D¥L¤@®M·sÀ³¥Îµ{¦¡¤å¥óªº»Ý¨D³W®æ¡A°Ý¹D¡G

  ¡u¦pªG§Úµ¹§A¤­­Óµ{¦¡­û¡A­n¦h¤[¤~¯à³]­p¦n³o­Ó¨t²Î? ¡v

 

  ¤j®v«Ü§Ö¦^µª¡G¡u¤@¦~¡C¡v

 

  ¡u¦ý¬O§Ú­Ì»Ý­n°¨¤W¥Î³o­Ó¨t²Î! ¦pªG§Úµ¹§A¤Q­Óµ{¦¡­û¡A¨º­n¦h¤[? ¡v¡A¸g

  ²z»¡¡C

 

  ¤j®v½K¬Ü»¡¡G¡u³o­n¨â¦~¡C¡v

 

  ¡u¦pªG§Úµ¹§A¤@¦Ê­Óµ{¦¡­û©O¡S¡v

 

  ¤j®vÁqÁqªÓ¡G¡u³o­Ó¨t²Î®Ú¥»°µ¤£¥X¨Ó¤F¡C¡v

 

 

    ª÷«° µù²¨¡G

        ¤H·U¦h«h¤H»P¤H¤§¶¡ªº·¾³q«K·U½ÆÂø¡A¦Ó»Ý­n¶}·|§´¨óªº¦a¤è¤]·U¦h

        ¡A³o¨Ç³£·|¯}Ãa¨t²ÎªºÂ²©ú©Ê¡A§g¤£¨£ Ada »P PL/1 ªºÅKÃÒ¦p¤s¡C

 

 

²Ä¥|³¡  ¼g§@½g

 

  ¤j®v¦p¬O»¡¡G¡u¼g§@¨}¦nªºµ{¦¡¥»¨­¦Û¦¨¤Ñ°ó¡A¼g±o®tªºµ{¦¡¦Û¨­´N¬O¦aº»¡C

  ¡v

 

 4.1¸`

 

  µ{¦¡­n»´ÆF¡A°Æµ{¦¡¹³¤@¦ê¬Ã¯]¡Cµ{¦¡ªººë¯«»P·N¹ÏÀ³©l²×¦p¤@¡A¤£¦h¤£¤Ö¡F

  ¨S¦³¦h¾lªº°j°é¡A¤]¨S¦³ÃB¥~ªºÅܼơA¬J¤£¯Ê¤Öµ²ºc¡A¤]¤£¹L¥÷²Â­«¡C

 

  µ{¦¡À³¸Ó°lÀH¡u³Ì§CÅå³Y©w«ß¡v¡A³o¬O¤°»ò¡S²³æ±o«Ü¡A¨Ï¥Î¤H¹ïµ{¦¡ªº¤ÏÀ³

  ¬OÅå³Yªº¾÷·|­n·U§C·U¦n¡C

 

  µ{¦¡¤£ºÞ¦A½ÆÂø¡AÀ³¸Ó¥H¤@­Ó¾ãÅé¨Ó§@¥Î¡F¥¦À³¸Ó¥Î¤º³¡ÅÞ¿è¡A¦Ó¤£¬O¥~¦bªº

  ªí¶H¨Ó«ü¾É§@·~¡C

 

  ¦pªGµ{¦¡¤£º¡¨¬³o¨Ç­n¨D¡A´N·|Âø¶Ã¦Ó©ö¥Í²V²c¡A°ß¤@ªº¸É±Ï´N¬O­«·s¼g¹L¡C

 

 

    ª÷«° µù²¨¡G¸É¤Bº¡§Gªºµ{¦¡¤£·|¦n¬Ý¡A§ó¤£·|­@¥Î¡C

 

 

 4.2¸`

 

  ¥Í¤â°Ý¤j®v¡G¡u§Ú¦³¤@­Óµ{¦¡¡A¦³®É­Ô°µ±o«Ü¦n¡A¦³®É­Ô«o¤£¦æ¡F§Ú¤@ª½¿í¦æ

  µ{¦¡³]­pªº³W«ß¡A¦ý¬O«o§â§Ú§Ë±o«Ü§xÂZ¡A¨ä²z¦w¦b¡S¡v

 

  ¤j®vµª¤ê¡G¡u¦]¬°¤£®©¹D¤~·|¦p¦¹¡A¥u¦³²Â³J¤~·|´Á±æ¥Lªº¦P¾«¦³¦X²zªº¦æ¬°

  ¡A¦Ó§A«o¹ï¤HÃþ¥Í²£ªº¾÷¾¹¦³©Ò´Á±æ !? ­pºâ¾÷¥u¼ÒÀÀ¤F¨M©w½×¡A¥u¦³¹D¤~¤Q

  ¥þ¤Q¬ü¡C

 

  µ{¦¡³]­pªº·Ç«hÁÙ¬O¼È®É©Êªº¡A¥u¦³¹D¤~·|¶i¤J¥Ã«í¡C©Ò¥H§A¦b¶}¬«e¥²¶·«ä

  ¯Á¹D¡C¡v

 

  ¡u¦ý§Ú­n¦p¦ó¤~¯àª¾¹D¤w¸g¶}¬¤F©O¡S¡v¥Í¤â°Ý¡C

 

  ¤j®v¦^µª¡G¡u±q¦¹¤§«á¡A§Aªºµ{¦¡³£¯à°÷¥¿½T°õ¦æ¡C¡v

 

 

    ª÷«° µù²¨¡G¤£¯à¥¿±`§@·~ªºµ{¦¡¡A©w¬O³B³B¨Ò¥~¡A¯Ê¤Ö¤@­Pªº³q«h¡C

 

 

 4.3¸`

 

  ¤j®v¹ï§Ì¤l»¡¡G¡u¤£½×³nÅ餧¬°¤j©Î¬°¤p¡A¹D¦b©Ò¦³³nÅ餤¡C¡v

 

  ¡u®à¤W«¬­pºâ¾÷¦³¹D¶Ü? ¡v§Ì¤l°Ý¡C

 

  ¡u¦³! ¡v¤j®vµª¡C

 

  ¡u¹q°Êª±¨ãµ{¦¡¤¤¦³¹D¶Ü? ¡v§Ì¤lÄ~Äò°Ý¡C

 

  ¡u¤]¦³! ¡v¤j®v»¡¡C

 

  ¡u¨º»ò­Ó¤H¹q¸£ªº DOS ¤¤¦³¹D¶Ü? ¡v

 

  ¤j®v«y¤@¤U¡A»´»´®¿°Ê¤F¦ì¸m¡A¡u¤U½Ò¡v¡A¥L»¡¡C

 

 

    ª÷«° µù²¨¡G

        DOS ¬O¦³¦Wªº«æ´N³¹ªº²£ª«¡A¨äÂΤ§¦h¥Ñ 1.0 ¦Ü 6.0 ºâ¤£²M¤F¡C

 

 

 4.4¸`

 

  ¬Ó¤Ó¤lªºµ{¦¡­û¥¿¦b¼g§@³nÅé¡A«ü¦y¦bÁä½L¤W­¸»Rµ{¦¡¶¶ºZµL»~¦a½sͧ¹¦¨¡A

  °õ¦æ°_¨Ó¹³°}·L­·»´©Ø¦Ó§¹¬ü¦aµ²§ô¡C

 

  ¡u¤F¤£°_! ¡v¡A¤Ó¤l¹Ä¤ê¡A¡u§Aªº§Þ¥©µL¾Ó¥iÀ»¡C¡v

 

  ¡u§Þ¥©? ¡vµ{¦¡­û±q²×ºÝ¾÷¤WÂà¹LÀY»¡¡A¡u§Ú©Ò±qªº¬O¹D¡A¹D¶W¶V¥ô¦ó§Þ¥©!

  §Ú¶}©l¾Ç¼gµ{¦¡®É¡A¦b§Ú²´·ú©Ò¨£¬O²V¦¨¤@¤ùªºµ{¦¡¡F¤T¦~«á¡A¤£¦A¨£¨ì³o¤@

  ¤j¤ùµ{¦¡¤F¡A§Ú¾Ç·|¨Ï¥Î°Æµ{¦¡¡F²{¦b²´«e¤@¤ùªÅÆF¡A¤°»ò³£¨S¦³¤F¡A©Ò¦³ªF

  ¦è³£¶i¤JµL«¬¦¡ªº¤@¤ùÀR±I¡F©Ò¦³µøÄ±³£¤£¥²§@¥Î¡C¡v

 

  ¡u§Úªººë¯«¥i¨Ìª½Ä±¦Ó¤£¥²¨Ì¥ô¦ó­p¹º¦æ¨Æ¡A´«¨¥¤§¡A§Úªºµ{¦¡¦Û¤v¼g§@¦Û¤v

  ¡C·íµM¡A¦³®É·|¦³§xÃøªº°ÝÃD¡F§Ú¬ÝµÛ¥¦­Ì¨ì¨Ó¡A§Ú­°§C¦Û¤vªº³t«×¡AÀRÀR¦a

  ¬ÝµÛ§ï¤@¦Cµ{¦¡¤§«á§xÃø´N·|·Ï®ø¶³´²¡F§Ú¦A­«·sÀRÀR§¤µÛªY½à¤u§@ªºÅw¼Ö¡C

  §Ú³¬¤WÂù²´¤@·|¨à¡AµM«áÃö¾÷¡C¡v

 

  ¬Ó¤Ó¤l»¡¡G¡u§Úªº©Ò¦³¦¡­û³£¨º»òÁo©úºÍ´¼¶Ü? ¡v

 

 

    ª÷«° µù²¨¡G

        ¾Ç¹q¸£¤]¦n¡A¾Ç»y¨¥¤]¦n¡A³£¥u¬O¤â¬q¦Ó«D¥Øªº¡C³Ì­«­nªº¬O§â¦Û¤w

        °V½m¦¨¤@­Ó§¹¾ãªºÅÞ¿è«ä¦Ò°Êª«¡C¶i¦Ó¦¨¬°¤H¾÷¦X¤@ªº¹q¸£°ª¤â¡C­Y

        ¤ß¤¤µLÂI¾¥¡A¸£¤¤¥þ¼ß½k¡A«h¥ô¾Ì±z§V¤O¤@¥Í¤@¥@¡A¤´µLªk¶i¤J¡uÅÞ

        ¿è¡vªº¥@¬É¡A¦]¡u¹D¡vªº²Ä¤@¶¥¬q´N¬O¡uÅÞ¿è¡v¹À!

 

 

²Ä¤­³¡  ºûÅ@

 

  ¤j®v¦p¬O»¡¡G¡uÁöµMµ{¦¡¥u¦³¤T¦C¡A¦ýÁ`¦³¤@¤Ñ»Ý­nºûÅ@¡C¡v

 

 5.1¸`

 

  ±`¥Îªºªù¤£¥²¤Wªo¡C

  «æ¬y¤£·|²J¶ë¡C

  Án­µ»P«ä·Q¤£¯à¦b¯uªÅ¤¤¶Ç»¼¡C

  ¤£¥Îªº³nÅé·|¥ÍùסC

  ³o´N¬O¦Ü¤jªº¶ø¯µ¡C

 

 

    ª÷«° µù²¨¡G

        µ{¦¡³]­p®vªº¦å²G¤¤¤Ñ¥ÍµÛ°l¨D§¹¬üªº¥»½è¡C¨C¸g¹L¤@¬q®É¶¡¡A´N·|

        ¹ï­ì¨Óªº§@«~²£¥Í·sªººc·Q¡A¦Ó²£¥Í¤F§ó§ïªº©ÀÀY»P°Ê¤âªº¼¤±æ¡C

 

 

 5.2¸`

 

  ¸g²z°Ýµ{¦¡­û¨s³º­n¦h¤[¤~¯à§â¤â¤Wªºµ{¦¡¼g§¹¡C¡u©ú¤Ñ¡v¡Aµ{¦¡­û«Ü§Öªº¦^

  µª¡C

 

  ¸g²z»¡¡G¡u§Ú·Q§A¤£¤Ó½ñ¹ê¡F¯uªº­n¦h¤[? ¡v

 

  µ{¦¡­û·Q¤@·|¨à¡G¡u§Ú§Æ±æ¦bµ{¦¡¤¤¥[¤W¤@¨ÇªF¦è¡A³o¦Ü¤Ö­n¨â¶g¡C¡vµ{¦¡­û

  ²×©ó»¡¡C

 

  ¡u®É¶¡ÁÙ¬Oªø¤F¤@¨Ç¡v¡A¸g²z°í«ù»¡¡G¡u¦pªG§A¯à²³æ¦a§i¶D§Ú¤°»ò®É¯à¼g§¹

  §Ú¤~·|º¡·N¡v¡C

 

  µ{¦¡­û¦P·N³o¤@ÂI¡C

 

  ´X¦~«á¸g²z°h¥ð¤F¡A¦bÅw°eÀ\·|¤Wµo²{¨º­Óµ{¦¡­û¥ñ¦b²×ºÝ¾÷¤WºÎµÛ¤F¡A¦]¬°

  ¥L¼gµ{¦¡¼g¤F¾ã©]¡C

 

 5.3¸`

 

  ¤@­Ó¥Í¤â³Q¤À¬£¥h¼g¤@­Ó³æ¯Âªº°]°È³nÅé¡C

 

  ³o­Ó¥Í¤â¨g¼ö¦a°µ¤F´X¤Ñ¡A¦ý¬O·í¤j®v¬Ý¥Lªº¦¨«~®É¡A«oµo²{³o­Óµ{¦¡¤¤¥]§t

  ¤@­Ó¿Ã¥ú¹õ½s­×µ{¦¡¡B¤@²Õ¤@¯ë©ÊªºÃ¸¹Ïµ{¦¡¡B¤@­Ó¤H¤u´¼¼z¬É­±¡A¦ý«o¨S¦³

  ¤°»ò»P°]°È¤è­±¦³Ãö¡C

 

  ¤j®v´N°Ý¥L¡A³o­Ó¥Í¤â«oÅܱo«Ü¿E°Ê¡G¡u¤£­n¨º»ò¨S¦³­@¤ß¡v¡A¥L»¡¡G¡u§Ú³Ì

  ²×·|§â°]°È³¡¥÷¥[¤W¥h¡C¡v

 

 5.4¸`

 

  ¦n¹A¤Ò·|©¿µø¥LºØªº½\¤l¶Ü?

  ¦n¦Ñ®v·|©¿²¤¥L³Ì®tªº¾Ç¥Í¶Ü?

  ¦n¤÷¿Ë·|®e³\¥Lªº«Ä¤l®Á¾j¶Ü?

  ¦nµ{¦¡­û·|©Úµ´ºûÅ@¦Û¤vªºµ{¦¡¶Ü?

 

 

    ª÷«° µù²¨¡G

        ¤@½g¨S¦³¥DÃDªº¤å³¹¼gªº¦A¬ü¦n¨º¥u¬OÀJ¬ä¤å¦r¡A¦ý¤´¬O¼o¸Ü³s½g¡A

        ¤@­Ó¦nªºµ{¦¡­Y¨S¦³­nÂI¯Ê¥F¡u­ì³Ð¤O¡v¡A¤]¬O®{³ÒµL¥\¡C

 

 

²Ä¤»³¡

 

  ¤j®v¦p¬O»¡¡G¡uµ{¦¡­û­n¦h¡A¸g²z­n¤Ö¡A¥Í²£¤O´N·|¼W¥[¡C¡v

 

 6.1¸`

 

  ¸g²z¦³¶}¤£§¹ªº·|ªº¸Ü¡Aµ{¦¡­û´N·|¼g¹qª±¡F¥D­p³¡ªù·Q¨ì§Q¼í¡Aµo®i¸g¶O´N

  ·|³Q§R´î¡F°ª¯Å¬ì¾Ç®a½Í¨ìÂÅÂÅ«C¤Ñ¡A¨º»ò«C¤Ñ¤@©w·|¦³¯B¶³­¸¹L¡C

 

  ·íµM¡A³o¤£¬Oµ{¦¡³]­p¤§¹D¡C

 

  ·í¸g²z³\¤U©Ó¿Õ¡Aµ{¦¡­û´N¤£²z·|¹qª±¡F·í¥D­p³¡ªù¦³ªøµ{³W¹º¡A´N·|¦^´_©M

  ¿Ó»P¯´§Ç¡F·í°ª¯Å¬ì¾Ç®a³B²z¤â¤Wªº°ÝÃD¡A°ÝÃD«Ü§Ö´N·|¸Ñ¨M¡C

 

  ³o¤~¬O¬Oµ{¦¡³]­p¤§¹D¡C

 

 6.2¸`

 

  ¬°¤°»òµ{¦¡­û¨S¦³¥Í²£¤O? ¦]¬°¥L­Ìªº®É¶¡³£ªá¦b¶}·|¤WÀY¡C

  ¬°¤°»òµ{¦¡­ûÃø¥H¾r±s? ¦]¬°ºÞ²z¶¥¼h¤z¹w¤Ó¦h¡C

  ¬°¤°»òµ{¦¡­û¤@­Ó±µ¤@­ÓÃã¾? ¦]¬°¥L­Ìºë¤O¯Ó¥ú¤F¡C

  ¦b¤£¨}ºÞ²z¤U¤u§@¡Aµ{¦¡­û¤£·|ı±o¥Lªº¤u§@¦³»ù­È¡C

 

 

    ª÷«° µù²¨¡G

       µ{¦¡³]­p®vªº¤u§@¬O¡u³Ð³y¡v¤£¬O¡u»s³y¡v¡C¦Ó¡u³Ð³y¡v¬OÃÀ³Nªº¥»

       ½è¡C

 

 

 6.3¸`

 

  ¬Y­Ó¸g²z§Ö³Qª£¾{³½¤F¡A¦ý¬O¥L©³¤Uªº¤@­Óµ{¦¡­û¼g¦¨¤F¤@­Ó¥s¦n¤S¥s®yªºµ{

  ¦¡¡F·íµM¡A³o¦ì¸g²z¦]¦Ó«O¦í¤F¶º¸J¡C

 

  ¸g²z¥´ºâµ¹³o¦ìµ{¦¡­û¤@ÂI¼úÀy¡A¦ý¥L©Úµ´±µ¨ü¡A¨Ã¥B»¡¡G¡u¦]¬°§Úı±o³o¬O

  ­Ó¦³½ìªº·§©À¡A¤~·|¼g³o­Óµ{¦¡¡A©Ò¥H§Ú¤£§Æ±æ¦³¼úÀy¡C¡v

 

  ¸g²zÅ¥¤F¤§«á»¡¡G¡u³o­Óµ{¦¡­ûÁöµM¾¦ì¤£°ª¡A¦ý«o¥R¤À¤F¸Ñ°µ¬°¤@­Ó¾­ûªº

  ³d¥ô¡AÅý§Ú­Ì§â¥L¤É¦¨±R°ªªººÞ²zÅU°Ý§a! ¡v

 

  ¦b§i¶Dµ{¦¡­û®É¡A¥L¦A«×©Úµ´¡A»¡¡G¡u§Ú¤§¦s¦b¬O¦]¬°¥i¥H¼gµ{¦¡¡A¦pªG¤É¤F

  §Ú¡A¨º°£¤F®ö¶O¨C¤@­Ó¤Hªº®É¶¡¥~¦Ó¦¨¤£¤F¨Æ¡C§Ú¥i¨«¤F¶Ü¡S§ÚÁÙ±o¼gµ{¦¡¡C

  ¡v

 

    ª÷«° µù²¨¡G

        ¦b¥xÆW³o­ÓªÀ·|¤¤¦³­Ó©Ç²{¶H¡A¤H¤H·Q·í¸g²z¡AÁ`¸g²z¡C¦n¦ü°µµ{¦¡

        ³]­p®v¨S¤°»ò¥X®§¡A§O§Ñ¤F¡A¦b¤@¦Ê¦~¤¤¥@¤W¥i¥H²£¥Í³\¦h­ÓÁ`²Î¡A

        ¦ý¤£¨£±o¯à¥X¤@­Ó¹F¤å¦è°Ú¡I

 

 

 6.4¸`

 

  ¸g²z§i¶Dµ{¦¡­û­Ì»¡¡G¡u¤U­±¬O§A­Ìªº¤u§@®É¶¡¡F¦­¤W¤EÂIÄÁ¨Ó¤W¯Z¡A¤U¤È¤­

  ÂIÄÁ¤U¯Z¡v¡C©Ò¦³µ{¦¡­û³£«Ü¥Í®ð¡A¦³´X­Ó°¨¤WÂ÷¾¡C

 

  ©ó¬O¸g²z»¡¡G¡u¦n§a! ¡v³o¼Ë¦n¤F¡A¥u­n¯à°÷¦p´Á§¹¤u¡A¤u§@®É¶¡¥Ñ§A­Ì¦Û©w

  ¡v¡Cµ{¦¡­û²{¦bº¡·N¤F¡A¨C¤Ñ¤¤¤È¶}©l¤u§@¡Aª½¨ì²Ä¤G¤Ñ¦­¤W¡C

 

 

    ª÷«° µù²¨¡G

        ³Ð³y©Êªº¤u§@»Ý­nÆF·P¡A©Ò¥H¨S¦³ÆF·Pªº®É¶¡¡A¤£©y¤u§@¡A¥u©yºÎı

        ¡C

 

 

²Ä¤C³¡  ¤½¥q´¼¼z

 

  ¤j®v¦p¬O»¡¡G¡u§A¥i¥H¹ï¥DºÞ¥Ü½d¤@­Óµ{¦¡¡A¦ýµLªkÅý¥L³q¾å¹q¸£¡C¡v

 

 

    ª÷«° µù²¨¡G¶Rµeªº¤H¤£¤@©wÀ´µe¡A§ó¤£¥Î½Íµeµe¤F¡C

 

 

 7.1¸`

 

  ¥Í¤â°Ý¤j®v¡G¡u»»»·ªF¤è¦³¤@­Ó¥s°µ"¤½¥qÁ`³¡"ªº°¶¤j¾ðª¬µ²ºc¡A¤W­±º¡º¡¦a

  ¼Ð¤W¤F¨Ç°ÆÁ`µô¡B·|­pªøµ¥µ¥ªº¹Ï®×¡C¥¦µo¥X¤j¶qªº³Æ§Ñ¿ý¡A¨C±i¤W­±³£¼g¤F

  ¡u¦¬¤å! ¡v¡B¡uµo¤å! ¡v¡A¨S¦³¤Hª¾¹D³o¬O¤°»ò·N¸q¡C¨C¦~³£·|§â·sªº¦W¦r¥[

  ¨ì·sªº¤ÀªK¤W¡A¦ý¦ü¥G¥þ³£®{³ÒµL¥\¡C¬°¤°»ò³o¼Ë¤@­Ó¤£¦ÛµMªº²Õ´ÁÙ¯àÄ~Äò

  ¦s¦b? ¡v

 

  ¤j®v¦^µª»¡¡G¡u§A¤w¸gÅé»{¨ì³o­ÓÃe¤jªºµ²ºc¡A¦Ó³Q¥¦¤£¦X²zªº¥Øªº§xÂZ¡C¤£

  ¹L§A¯à¤£±q¥¦µL¥ð¤îªº°j±Û¦Ó±o¨ì¼Ö½ì¶Ü? ¯à°÷¤£ªY½à²`ÂæbªK¸­©³ºÝ²@µL§x

  Ãøªºµ{¦¡³]­p¶Ü? ¬°¤°»ò­n³Q¥¦ªºµL¥Î¦Ó§xÂZ©O?

 

 

   ª÷«° µù²¨¡G¤£­n²^¾K¦bªF®aªø¡A§õ®aµuªº¤p¹D®ø®§¸Ì¡C

 

 

 7.2¸`

 

  ªF¤è®ü¤W¦³¤j³½¤êóË¡Aó˯àÅܦ¨ÂùÁl¾B¤Ñªº¤jÄP¡C·í¤jÄP­¸¶V³°¦a®É±a¨Ó¤@¹D

  ¤½¥qÁ`³¡ªº°T®§¡A³o¹D°T®§¥¿¦n±¼¦b¤@¸sµ{¦¡­û¤¤¥¡¡AµM«á¤jÄP§é°_ÂùÁl­¼­·

  ¦ÓÂk¡C

 

  ¥Í¤âµ{¦¡­ûÀü²´±æµÛ¤jÄP¡A¦]¬°¥L­Ì¤£»{±o¡F¤¤´¼µ{¦¡­û¼~¼{¤jÄPªº¨ÓÁ{¡A¦]

  ¬°¥L­Ì®`©È¥¦±a¨Óªº°T®§¡F¥u¦³¤j®v¤~¯àÄ~Äò§¤¦b²×ºÝ¾÷«e¤u§@¡A¦]¬°¥L¤£ª¾

  ¤jÄPªº¨Ó¥h¡C

 

 

    ª÷«° µù²¨¡G

       ¡u®©¡v¡A»Ý­nÀR¡A¡uÀR¡v¡A»Ý­n©w¡A´¼¼zªº³Ì°ª¹Ò¬É«K¬O¤@¤ß¤£¶Ã¡C

 

 

 

 7.3¸`

 

  ¶H¤ú¶ðªºÅ]³N®v±aµÛ¥Lªº³Ì·sµo©ú¥h¨£¤j®v¡A¥L±À¤F¤@­Ó¤j¶Â²°¤l¨«¶i¤j®vªº

  ¿ì¤½«Ç¡A¤j®v¥¿¦bÀRÀR¦aµ¥µÛ¡C

 

  ¡u³o¬O¤@®M¾ã¦X©Ê¡B¤À´²¦¡¡B¤@¯ë¥Î³~ªº¤u§@¯¸¡v¡AÅ]³N®v¦p¬O»¡¡A¡uÁÙ¦³¤@

  ®M±MÄݪº§@·~¨t²Î¡A²Ä¤»¥N»y¨¥¡A¦h¶µ³Ì¥ý¶iªº¨Ï¥Î¤H¬É­±¡A¦A¥[¤W¤HÅé¤u¾Ç

  ªº³]­p¡F³oªá¤F§Úªº§U¤â­Ì¦n´X¦Ê¤H¦~¤~³y¥X¨Óªº¡A¤£¬O«Ü¤F¤£°_¶Ü? ¡v

 

  ¤j®v©ï¤F¤U²´¯]¤l¡A¡uªº½T¤F¤£°_¡v¡A¤j®v»¡¡C

 

  Å]³N®vÄ~Äò»¡¡G¡u¤½¥qÁ`³¡¤w¸g¤U¥O¨C­Ó¤H³£­n¥Î³o¥x¤u§@¯¸µo®i·s³nÅ骺°ò

  ¥Û¡A±z¦P·N¶Ü? ¡v

 

  ¡u·íµM¡v¡A¤j®vµª¡A¡u§Ú°¨¤W·|§â¥¦©ñ¨ì¸ê°T¤¤¤ß¥h¡C¡v¡C©ó¬OÅ]³N®v°ª°ª¿³

  ¿³¦a¦^¨ì¶H¤ú¶ð¥h¡C

 

  ´X¤Ñ«á¡A¤@­Ó¥Í¤â¦b¤j®vªº¿ì¤½«Ç¸Ì¹Î¹ÎÂà¡A»¡¡G¡u§Ú§ä¤£¨ì·sµ{¦¡ªº³øªí¡A

  ±zª¾¹D·|¦b¨º¨à¶Ü? ¡v

 

  ¡u·íµM¡v¡A¤j®vµª¹D¡A¡u³øªí´N°ï¦b¸ê°T¤¤¤ß¸ÌÀYªº°ò¥Û¤W! ¡v

 

 

    ª÷«° µù²¨¡G°l¨D®É»ì®e©ö°g¥¢¡A¤£¯à¸Ñ¨M°ÝÃD¡A«h¤u¨ã¥u¬O¼oª«¡C

 

 

 7.4¸`

 

  ¤j®v¥i¥H²@µL¼~¼{¦a±q³o­Óµ{¦¡Âà¤J¥t¤@­Óµ{¦¡¡AºÞ²z¤Wªº§ïÅܶˤ£¨ì¥L¡FÁa

  ¨Ï­p¹º²×¤î¤F¡A¤]¤£·|³Qª£¾{³½¡C¬°¤°»ò? ¦]¬°¥L¥Rº¡¤F¹D¡C

 

 

    ª÷«° µù²¨¡G

        ¤@¦Ê­Ó¶Ì¥Ê¡A¥u·|¯d¤U¤@¦Ê­Ó¿ù»~¡A¤@­Ó´¼ªÌ¡A«K¯à¸Ñ¨M¤@­Ó¯u¥¿ªº

        °ÝÃD¡C¦b¤½¥q¤¤¯u¥¿¸Ñ¨M°ÝÃDªº¤H¬Oµ}¦³°Êª«¡A¦Ó¨ä¾lªº¤H¯à¤£»s³y

        ³Â·Ð´N¬O¸U©¯¤F¡A¯d¤U¨Ó¥u¬O®ö¶Oª÷¿ú(Á~¤ô)¡C

 

 

²Ä¤K³¡  µwÅé»P³nÅé

 

  ¤j®v¦p¬O»¡¡G¡u¨S¦³­·¡A¯ó¤£·|°Ê¡A¨S¦³³nÅé¡AµwÅé´N¬O¼oª«¡C¡v

 

 8.1¸`

 

  ¥Í¤â°Ý¤j®v¡G¡u§Úª¾¹D¦³¤@®a¹q¸£¤½¥q¤ñ¨ä¥Lªº¤j±o¦h¡A°ª°ª¦b¤W´N¹³¬O¥¨¤H

  ¤§¤ñ¨Ü¾§¡F¥¦ªº¥ô¤@³¡ªù³£¥i¥H³æ¿W¦¨¬°¤@­Ó¥ø·~¡C¬°¤°»ò·|³o¼Ë? ¡v

 

  ¤j®v¦^µª¡G¡u§A¬°¤°»ò°Ý³o­Ó²Â°ÝÃD? ³o®a¤½¥q´N¬O¦]¬°¥¦¤j¤~·|³o»ò¤j¡C¦p

  ªG¥¦¥u»s³yµwÅé¡A¨S¦³¤H·|¶R¥¦¡F¦pªG¥u¥Í²£³nÅé¡A¨S¦³¤H·|¥Î¥¦¡F¦pªG¥uºû

  Å@¨t²Î¡A¤H®a·|§â¥¦¬Ý¦¨­×²z­û¡F¦ý¬O¦]¬°¥¦§â©Ò¦³ªº¦X¦b¤@°_¡A¤H­Ì´N§â¥¦

  ·í¯«¤@¼Ë¬Ý«Ý¤F¡C¥¦®Ú¥»µL»ÝÄvª§¡A¦]¬°Ä¹¨Ó¤£¶O§j¦Ç¤§¤O¡C¡v

 

 

    ª÷«° µù²¨¡G

        ¦b¹q¸£¥@¬É¤¤¡A¦pªG»¡ÂŦ⪺¥¨¤H´N¬O«ü IBM¡C

 

 

 8.2¸`

 

  ¤j®v¦³¤@¤Ñ¸g¹L¤@­Ó¥Í¤â¨­Ãä¡Aµo²{¥Í¤â°g¤W¤F¤@¥x¤â´x«¬ªº¹qª±¡A¡u¹ï¤£°_

  ¡v¡A¤j®v»¡¡A¡u§Ú¥i¥H¬Ý¬Ý¥¦¶Ü? ¡v

 

  ¥Í¤â°±¤U¨Ó¡A¨Ã¥B§â³o¥x¾÷¾¹¥æµ¹¤j®v¡C¤j®v»¡¡G¡u§Ú¬Ý¨ì³o¥x¾÷¾¹ª±°_¨Ó¦³

  ¤T­Ó¼h¦¸¡Gªì¯Å¡B¤¤¯Å¡B°ª¯Å¡F¤£¹L³oºØ¾÷¾¹³q±`³£¦³¥t¤@­Ó¼h¦¸ªº»¡ªk¡A¨Ï

  ¾÷¾¹Ä¹¤£¤F¤HÃþ¡A¦Ó¤HÃþ¤]³Ó¤£¤F¾÷¾¹¡C¡v

 

  ¡u°Ú! ¤j®v¡A¥Í¤â»¡¡G¡u³o­Ó©_§®ªº¶}Ãö¦b¨º¸Ì? ¡v

 

  ¤j®v§â¾÷¾¹ºL¨ì¦a¤W¡A¥Î¸}§â¥¦½òÄê¡C

 

  ¬ðµM¦a¡A¥Í¤â¶}¬¤F¡C

 

 

    ª÷«° µù²¨¡G

        ¦b¹q¸£¦¡¹qª±ªº¥@¬É¤¤¡A¨Ï¥ÎªÌ©Ò­±Á{ªº¦n¹³¥u¬O¦B§NµL±¡ªº¹q¤l¾÷

        ¾¹¡A¦ý¨Æ¹ê¤W¡A¯u¥¿ªºÆF»î¬Oµ{¦¡³]­p®v©Òºë¤ß³Ð§@¥X¨Óªºµ{¦¡¦b°õ

        ¦æ¡C©Ò¥H¡A°¶¤j¤§³B¦b©óµ{¦¡³]­p®vªº´¼¼zµ²´¹¡A¦Ó«D¨S¹q´N§¹¤Fªº

        µwÅé³]³Æ¡C©Ò¥H½Ð¤£­n°g«H¹q¸£¸U¯à¡C

 

 

 8.3¸`

 

  ±q«e¦³¤@¦ì·L¹q¸£ªºµ{¦¡­û¹ï¤@¦ì¨Ó«ô³X¥Lªº¤j«¬¹q¸£µ{¦¡­û»¡¡G¡u§A¬Ý¡A¦b

  ³o¨à¦³¦h¦n! §Ú¦³§Ú¦Û¤vªº§@·~¨t²Î»PÀÉ®×Àx¦s³]³Æ¡A§Ú¤£¥²»P¥ô¦ó¤H¦@¥Î¥ô

  ¦ó¹q¸£¸ê·½¡F³nÅ饻¨­¦Ûµ¹¦Û¨¬¦Ó¥B®e©ö¨Ï¥Î¡C¬°¤°»ò§A¤£Ãã±¼¥Ø«eªº¤u§@¨Ó

  °Ñ¥[§Ú­Ì? ¡v

 

  ©ó¬O¤j«¬¹q¸£ªºµ{¦¡­û´N¹ï¥LªºªB¤Í¸ÑÄÀ¡G¡u¤j«¬¹q¸£´N¹³¥j¤§¸t­õ¯ë¦aíí

  ®y¸¨¦b¸ê°T¤¤¤ß¤¤¥¡¡AºÏºÐ¤@­Ó±µ¤@­Ó½«¬°©_Æ[¡A³nÅé¹³Æp¥Û¯ë¦a¦³¦hºØ­±¥Ø

  ¡A¹³¥j´ËªL¯ë¦a¿@±K­Z²±¡C¦U­Óµ{¦¡¹³¤@¤ù«æ¬y¯ë¦a´é¤J¨t²Î¡A¦Ó³o´N¬O§Ú¦b

  ¨º¨à¤u§@ªº¼Ö½ì¡C¡v

 

  Å¥¤F³o¬q¸Ü¤§«á¡A·L¹q¸£µ{¦¡­ûÀRÀqµLÁn¡G¦ý¬O³o¨â­Ó¤H«oµ²¬°¦n¤Í¡A¦Ü¦º¤£

  ´ü¡C

 

 

    ª÷«° µù²¨¡G

        µL½×¹q¸£¬[ºc¤§¤j¤p¦p¦ó¡A¨äÆ[©À¤@­P¡Cµ{¦¡³]­p®v¤§¥»»â°ª§C¡A¤£

        ¬O¬Ý¨Ï¥Îªº³]³Æ¦Ó½×¡A§A¬Ý¬Ý°¨¸ô¤W¶}¨®ªº¤H¡A¶} Benz ¤£¤@©w¤ñ¶}

        ­pµ{¨®ªº¥q¾÷§Þ³N§ó¦n¡C

 

 

 8.4¸`

 

  Hardware »P Software ¨«¦b¸ô¤W¡A Software »¡¡G¡u§A¬O³±§Ú¬O¶§¡A¦pªG§Ú

  ­Ì¯à¤@±ø¤ß¡A¤@©w·|¦¨¤j¦WÁȤj¿ú¡C¡v©Ò¥H¡A¥L­Ì´NÁp¦X¦b¤@°_¦Ó·Q©ºªA¥@¬É

  ¡C

 

  ¨«¤F¤@¬q¸ô¤§«á¡A¸I¨ì Firmware ¡A¬ï±o¯}¯}ÄêÄê¡A®³µÛ®Ú¬b§ú¡A¨Ã¥B¹ï¥L­Ì

  »¡¡G¡u¹D¦b³±¶§¤§¥~¡AÀR±I¤£°Ê¦p¥j¤«¤§¤£¥ÍªiÄi¡F¹D¤£¨D¦W¡A¬GµL¤Hª¾¾å¨ä

  ¦s¦b¡F¹D¤£³v§Q¡A¦]¥¦¶êº¡µL¯Ê¡C¹D¶W¥G®ÉªÅ¤§¥~¡C¡v

 

  Hardware »PSoftware Å¥¤F¤§«á­¿·PºF·\¦Ó¥´¹D¦^®a¡C

 

 

    ª÷«° µù²¨¡G

         Firmware(¶´Åé)¡A³q±`«ü¦b CPU ¤º³¡ªº·L«ü¥O¡A­t³d¾÷¾¹«ü¥Oªº§ì

        ¨ú--¸Ñ½X--°õ¦æ¡A¦]§Þ¥©ªº²`«×¡A¤@¯ëµ{«×ªº³nµwÅé¤uµ{®v¬Ò¤£©úÁA

        ¦¹¤@·Lµ²ºc¶¥¼h¤§¹B§@¤è¦¡¡C¦Ó¦¹³¡¥÷¡A³Q³ë¬°¹q¸£¤¤³Ì²`¶ø¥©§®ªº

        ¤@³¡¥÷¡C¦]¬°¥¦¬O CPU ªº¥Í©R®Ö¤ß¡C

 

 

²Ä¤E³¡  §ÀÁn

 

  ¤j®v¦p¬O»¡¡G¡u³o¬O¤U½Òªº®É­Ô¤F! ¡v

 

 

 

 

 

²Ä³ü½g

 

¤Jªù½g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                  ²Ä¹s½Ò  FORTH ¾É  ½×

 

 

   F-PC ¬O FORTH ¨t²Î¶}©ñµ¹ MS-DOS ªº»â°ì¡A¬Û®e©ó­Ó¤H¹q¸£¡A¬O¥Ñ

  Tom Zimmer©M Dr. Robert L.Smith ©M³\¦h Forth µ{¦¡³]­p®v³]­pªº¡A¥¦

  ¬O°t¦X MS-DOS ¾Þ§@¨t²Îªºµ{¦¡Àô¹Ò¡A§Q¥Î¾Þ§@¨t²Îªº§U¯q©M°ò¥»ªº 80*86

  ¾÷¾¹¡A¥¦¦³±j¤Oªº½s¿è¾¹©M 8086 ½s;¹¡A¤]¦³¤@­Ó«K§Qªº¶W¤j¤å¦r¨t²Î¨Ó

  À°§U¨Ï¥ÎªÌ¾r¶¿¤Î±´ÀI Forth ¨t²Î¡C

 

¡@¦¹«ü¾É¬O°w¹ï²Ä¤@¦¸¨Ï¥Î Forth ªÌ¾Ç²ß¨ä°ò¥»«ü¥O¶°¡A¥i¥H¦bµu®É¶¡¤º¥[

  ¥H¹B¥Î¡A¦¹«ü¾É¥u°Q½×¤@¦Ê¤­¤Q²Õ«ü¥O¡CµM¦Ó¡A³o­Ó¤p«ü¥O¶°¡AÅý¨Ï¥ÎªÌ¹ï

  ¸Ñ¨M³\¦h¹ê»Ú°ÝÃD©Ò»Ý½ÆÂøºtºâªk±o¥Hªí¹F¡A¦]¦¹¤]¥i¬°§ó¶i¤@¨B¾Ç²ß

  Forth »y¨¥©M§¹¾ãªº F-PC ¨t²Î¡A²Ï¤Uí©Tªº®Ú°ò¡C

 

  ¦¹«ü¾É¥]§t¤»½Ò¦³³\¦hªº¨Ò¤l¤Î½m²ß¡A¥i¥H³Q F-PC ½sĶ¡A¨Ï¥ÎªÌ¥i¥H¥ß

  §Y°µ¨Ò¤l¥H¤U¬O¦p¦ó¶}©l F-PC ¤Î½sĶ½Ò¤å¡A¾\Ū»¡©ú¡A´ú¸Õ¨ÒÃD¤Î°µ½m²ß

  Forth «ü¥O¡C

 

 

¤@¡B ¦w¸Ë F-PC

 

.¥»¤å

  ¦pªG¦³¥þ³¡ªº F-PC ºÏ¤ù¡A§A¥²¶·°õ¦æ¨t²ÎºÏ¤ù¸Ìªº INSTALL µ{¦¡¨Ó±N¥¦

  ¦w¸Ë¤J§Aªº PC ¡C

 

  ±N Disk ©ñ¤J A ¼ÑÁä¤J¡G

 

   A>INSTALL

 

  ¦w¸Ëµ{¦¡·|«ü¤Þ§A¡A¨Ã¥B«Ø¥ß¤@­Ó F.EXE °õ¦æÀÉ¡A§A»Ý­n¤j¬ù 4MB ªÅ¶¡

  ªºµwºÐ¨Ó¦w¸Ë¥þ³¡ªº F-PC ¨t²Î¡A¦b C ºÐ·|²£¥Í¤@­Ó F-PC ¤l¥Ø¿ý¡A§A¥i¥H

  °õ¦æ¥¦¡AÁä¤J¡G

 

   C:\F-PC>F

 

¡@¡@´X¬í«á¿Ã¹õ·|¥X²{ F-PC ªºµe­±¡A«h FORTH ¥i¥H¨Ï¥Î¤F

 

  ¦pªG§A¨S¦³¥þ³¡ªº F-PC ¡A§A¥i¥H¨Ï¥Î«ü¾É¸Ìªº F.EXE ÀɨӬã¨s½Ò¤å¡A¨Æ

  ¹ê¤W§A¤£»Ý¥ÎµwºÐ¡A¸Ë°t©ó 360K ºÏ¤ù¸Ìªº½Ò¤å©M F.EXE ÀÉ¡A¥u­n¤@­Ó¼Ñ´N

  ¯à¨Ï¥Î¡A§â«ü¾ÉºÏ¤ù©ñ¤J A ¼Ñ¥´¤J¡G

 

   A>F

 

 

¤G¡B ¾Ç²ß½Ò¤å

 

  §â½Ò¤åºÏ¤ù©ñ¤J A ¼Ñ¥B Forth ¤w¸ü¤J¡AÁä¤J¡G

 

   A:

 

    ½T©w A ¼Ñ¬O¹w³]ªººÏºÐ¾÷¡A§A¥i¥H¥´¶}²Ä¤@½ÒŪ»¡©ú¡AÁä¤J¡G

 

    open lesson1

    b

   "b"«ü¥O¬O´M¨D F-PC ½s¿è¾¹ªºÀ°§U¡A¨Ã¥B¦b½s¿èµøµ¡Åª lesson1.seq ÀÉ

  ¡A¥i¥H§Q¥Î´å¼Ð©M PqUp¡BPqDn ¨ÓŪ¡A«ö F10 ¸õ¥X¡A¦^¨ì Forth¡C

 

    ½sĶ©M´ú¸Õ²Ä¤@½Òªº¨Ò¤l¡AÁä¤J¡G

 

    ok

 

   "OK"¬O½sĶ¥Ø«e¶}±ÒªºÀÉ¡A§A¥i¥HÁä¤J²Ä¤@½Ò©Ò©w¸qªº«ü¥O¡A¨ÓÃÒ©ú©M½Ò

  ¤å¤¤°Q½×ªº¬O°µ¬Û¦Pªº¤u§@

 

   ²Ä¤@½Ò¤§«á¡A¥H¬Û¦Pªº°Ê§@Ū»¡©ú

 

   open lesson2

   b

 

 ¡@ §A¥i¥H½sͲĤG½Ò¡AÁä¤J¡G¡@

 

    open lesson2

    ok

 

    ¥þ³¡¤»½Ò¬Ò¥H¬Û¦P¤§¤è¦¡

 

 

 

¤T¡B½m²ß

 

  ¦pªG°ÝÃD²³æ¡A§A¥i¥HÁä¤J·s«ü¥Oªº©w¸q¡A°¨¤W´ú¸Õ¡A¦ý¬O³Ì¦n±N·s«ü¥O«Ø

  ÀÉ¡A§A¥i¥H­×§ï¤Î­«Âдú¸Õ¡C

 

¡@­n°µ½m²ß¡A§A¥²»Ý¶}±Ò·sÀÉ¡AÁä¤J§Aªº·s«ü¥O¡AÁä¤J¡G

 

   newfile exercise

 

   "newfile"«Ø¥ß¤@­Ó¦W¥s exercise.seq ªº·sÀÉ¡A¨Ã´M¨D½s¿è¾¹ªºÀ°§U¡A¥i

  ¥H¶}©l¿é¤J·s«ü¥Oªº©w¸q¡A¨Ï¥Î¨Ò¤l°µ¬°·s«ü¥Oªº¼ÒÀÀ¡A·í§A§¹¦¨«ü¥O½X¿é

  ¤J¡A«ö F10 ¸õ¥X½s¿è¡A¦^¨ì Forth¡@Áä¤J¡G

 

¡@¡@ ok

 

¡@¡@½sͧAªº·s«ü¥O¡AµM«á¥[¥H´ú¸Õ¡C

 

¡@¦pªG Forth ¦b½sͧAªº«ü¥O½X¦³°ÝÃD®É¡A¥¦·|´M¨D½s¿è¾¹ªºÀ°§U¡A¥B´å¼Ð·|

  °±¦bµLªk¿ë»{¤§«ü¥O³B¡A§A¥i¥H°µ¥¿½Tªº­×§ï¡AÂ÷¶}½s¿è¡AÁä¤J¡G

 

 ¡@¡@ok

 

¡@¡@¦A½sĶ«ü¥O½X

 

  ¦pªG­nª½±µ½s¿è exercise.seq ÀÉ¡AÁä¤J¡G

 

   open exercise

   e

 

  " e " ©M " b "Ãþ¦ü¡A¦ý " e " ¥i¥H¦bÀɮ׸̽s¿è¤å³¹ " b " ¥u¯àÂsÄý¡A

  ¤£¯à­×§ï§A¥i¥H¤£¶·¸g¹L " open<filename>OK " ¤§¹Lµ{¨Ó½sĶ¥ô¦óÀÉ¡A¥u

  ­nÁä¤J¥H¤U¤§«ü¥O

 

  include lesson1

  include lesson2

  include exercise

 

  ¥H¦¹Ãþ±À¡A¦pªG¦b exercise.seq ÀÉ»yªk¿ù»~ " include exercise "±N´M¨D

  ½s¿è¾¹ªºÀ°§U¡A¥B´å¼Ð·|«ü¥X¸Ó«ü¥OÅý§A½s¿è

 

¡@½s¿è¾¹¬O«D±`ª½Ä±ªº¡A¥¦±µ¨ü Werdstar ªº±±¨î«ü¥O¡A¦pªG§A«ö ESCÁä¡A¥i

  ¥H¦b¿Ã¹õ³»ºÝ¬Ý¨ì¥D¥\¯àªí¡A¥i¥H¥Î´å¼Ð¨Ó¿ï¥X¤@­Ó¨D§U¶µ¡A¨Ã¥B©Ô¤U¤@­Ó

  ¸Ô²Ó½s¿è¾¹¥\¯à¤§¨D§U¥\¯àªí¡C

 

¡@¦¹½s¿è¾¹¤¹³\§A¦b·s«ü¥O¸Ì§ï¥¿»yªk¿ù»~¡A·í§A¦¨¥\ªº½sĶ·s«ü¥O«á¡A¤´»Ý

  ¤£Â_´ú¸Õ¡A½T©w¥¦­Ì¥¿½Tªº°µ¸Ó°µªº¡A§A¥i¯à°µ¿ù·í¾÷¡A¦ý¨Ï¥Î½Ò¤å¤¤ªº«ü

  ¥O¡A¹ï¹q¸£©ÎºÏºÐ¤¤ªº¸ê®Æ¤£·|¦³ÄY­«ªº¶Ë®`¡A³ÌÁVªº¥u¬O­«·s¶}¾÷¦A¦¸°õ

  ¦æ F.EXE

 

  À°§U§A±N©w¸qªº«ü¥O°£¿ù¡AF-PC ´£¨Ñ¤@­Ó¦³¤Oªº°£¿ù¾¹¡A¦³³æ¨B°£¿ùªº¯à¤O

  ¡A­n´ú¸Õ©M°£¿ù§A©w¸qªº«ü¥O¡A¦p­n¹ï mycommand °£¿ù«hÁä¤J¡G

 

    dbg mycommand

 

¡@·|¥X²{¨â¼h¿Ã¹õ¡A¤W¥b³¡«ü¥X¦b mycommand ©w¸q¤Uªº«ü¥O¡A¤U­±µøµ¡®i¥Ü¥X

  ¸ê®Æ°ïÅ|ªº¤º®e©M¤U¤@­Ó°õ¦æªº«ü¥O¡A«ö<Enter>«ü¥O·|¤@­Ó±µ¤@­Ó´ú¸Õ¡AÂÇ

  µÛÀ˵ø¸ê®Æ°ïÅ|ªº§ïÅÜ¡A§A¥i¥HÀHµÛ°õ¦æªº¶¶§Ç¨Ó½T»{¿ù»~ªº­ì¦]¡A¥Î½s¿è

  ¾¹§ï¥¿¥¦ªº½sĶ«ü¥O½X¨Ã¦A¸Õ¤@¦¸¡C

 

  µ{¦¡¬O½s¿è¡B½sĶ¤Î´ú¸Õªº¤£Â_´`Àôª½¨ì¨C¤@¼Ë³£°µ¹ï¡A¥¦¸g±`¨Ï§Ú­Ì±¡ºü

  «ÜÃa¡A¦ý¦pªG°µ¹ï¤F¡A·|«Üº¡¨¬¡C

 

 

¥|¡Bµ{¦¡®æ¦¡©Mµ{¦¡§U¤â

 

  ½Ò¤å¬O¥H¤@ºØ§A­n¸òÀH¼g¦Û¤vªº«ü¥O½Xªº§Î¦¡¼gªº¡A¤j¶q¦³Ãö«ü¥O½Xªº»¡©ú

  ¤å¦r¬O¥Î¨Ó¸ÑÄÀ©Mµù¸Ñ¦¹«ü¥O½X¡A¦pªG§Aªá®É¶¡¥h§â«ü¥O½X¥[¥H¸ÑÄÀ©Î°µ¦¨

  ¤å¥ó¡A¨º»òµ¥§A¼g¦n«ü¥O½X§Y¨Ï¬O¤Q¦~¤§«á¨Ó¾\Ū¤]²@µL§xÃø¡A¦Ó¥B§O¤H¨Ó

  ºûÅ@¤]«Ü®e©ö¡A¥H¤U¬O´X­Óµù¸Ñ«ü¥O½Xªº¤è¦¡

 

   (comments)            \ ( ªí¥Ü¶}¨Ï¤@­Óµù¸Ñª½¨ì¥k¬A¸¹¬°¤î

   \comments             \ ªí¥Ü¶}¨Ï¤@­Óµù¸Ñª½¨ì³Ì«á¤@¦C¬°¤î

 

   comment:              \ ¦h¦Cµù¸Ñª½¨ì comment; ¬°¤î

      comment 1          \ µù¸Ñ 1

      comment 2          \ µù¸Ñ 2

        .....            \ ...

      comment n          \ µù¸Ñ n

   comment;              \ µ²§ôµù¸Ñ

   EXIT                  \ °±¤î½sĶ¡A¥H«á©Ò¦³¦æ¦C¬Òµø¬°µù¸Ñ

 

 

¡@¡@¿ï¾Ü¦nªº«ü¥O¦WºÙ¡A¨Ïµ{¦¡©öŪ¡A¥H¤U¬O¦nªº Forth µ{¦¡©R¦Wªº­ì«h

 

     (¤@)¨Ï¥Î¦³·N¸qªº­^¤å¦r¡C

     (¤G)¤£­nÁY¼g¡C

     (¤T)¨Ï¥Î½Æ¦X¦r¦p CountEggs , InitDataArray ¦W¦r¥i¦³ 31 ­Ó¦r¡C

     (¥|)¨Ï¥Î´y­z«ü¥O°µ¤°»òªº¦W¦r¡AÅý«ü¥O½X¸ÑÄÀ¥¦¦p¦ó°µ¨Æ¡C

     (¤­)¤£­n¨ÒÁ|¹³ DataAray1,DataArray2 µ¥¡Aµ¹¤©¥\¯àªº´y­z¹³

         TemperatureArray , PressArray µ¥¡C

     (¤»)«ü¥O½X¤À¸Ñ¦¨µuªº¤ù»y¨Ã¥[¥Hµù¸Ñ¡C

     (¤C)©w¸qµuªº©w¸q¨Ã¨Ï­«ÂШϥΥL­Ì¥H´£°ªµü·Jªº¦A¨Ï¥Î¯à¤O¡C

     (¤K)¦b·s©w¸q¸ÌÁ×§K¥[¤J¤º³¡°j°éªº±_ª¬µ²ºc¡C

     (¤E)¹ï¿é¤J©M¿é¥X°ïÅ|(Stack)¶µ¥Ø¡A®É®É¥[¥Hµù¸Ñ¡C

     (¤Q)¦b¤@­ÓÀɸ̲զ¨¬ÛÃö³sªº«ü¥O¡C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                  ²Ä ¤@ ½Ò  ¦L¥X¦r¦ê

 

 

  ¦¹½Ò¥Î³Ì²³æªº¨Ò¤l¨Ó»¡©ú Forth ªº­ì«h¡F±q²{¦³ªº«ü¥O¶°¸Ì«Ø¥ß·s«ü¥O§Ú

  ­Ì¨Ï¥Î²³æªº Forth «ü¥O" XXXX "¨ÓÅã¥Ü¿Ã¹õ¤Wªº¦r¡A¨Ã¨Ï¥Î¥¦¨Ó«Ø¥ß¤@«ü

  ¥O¶°¤¹³\§Ú­Ì¦b¿Ã¹õ¤W«Ø¥ß¥ô¦ó¤@²Õ¦r¡A¬°¤F»¡©ú " ." " «ü¥Oªº¥Îªk¡AÅý

  §Ú­Ì¨Ó¼g²Ä¤@­Ó Forth µ{¦¡¡C¡@¡@

 

 

  ª÷«° µù²¨¡G

      ." ¬O¤@­Ó FORTH ªºµü(word)¤]´N¬O¨ä¥L»y¨¥©Ò¿×ªº«ü¥O¡A©Ò¥H¨ä«e

      «á¬Ò­n¦³ªÅ¥Õ¡A¤~¯à³Q¤À¿ë(¸ÑĶ)°õ¦æ¡C

 

 

¨ÒÃD¤@¡B´¶³qªº°Ý«á

 

   : hello ." hello, world!" ;

 

¡@²{¦b¡A¦pªG§A¥´¤J"hello"µM«á«ö<Enter>¡A" hello, world! "·|¥X²{¦b

  " hello " ¤§«á

 

   :                     \ ¶}©l·s«ü¥O

   hello                 \ ·s«ü¥O¤§¦WºÙ

   ."                    \ ¦L¥X¦r¦ê¡A¤£¥]¬A¤U¤@­Ó "

   ;                     \ µ²§ô·s«ü¥O

 

¡@¡@"hello"¬O·s«ü¥O¨ä¥\¯à¬O¦b¿Ã¹õ¤W¦L¥X"hello, world!"

 

 

¨ÒÃD¤G¡B ¤j F

 

  ²{¦b§Ú­Ì­n°µªº¬O¨Ï¥Î²³æ§Þ¥©¨ÓÅã¥Ü¤j«¬ªº­^¤å¦r¤¸¦b¿Ã¹õ¤W¡A¥H F ¬°¨Ò

 

   : bar   cr  ." ***** "  ;

   : post  cr  ." *     "  ;

   : F     bar post bar post post post  ;

 

  ¡@¥´¤J" F "«ö Enter¡A§A¥i¥H¬Ý¨£¿Ã¹õ¤W¤§ F ³QÅã¥Ü¤F

 

    *****

    *

    *****

    *

    *

    *

 

  F ¦³¨â­Ó¦¨¤À¡A¤@­Ó¥Ñ 5 ­Ó * ²Õ¦¨ªº bar ¤Î¤@­Ó¥i¥Ñ¤@­Ó©Î¦h­Ó * ¥N´À

  ªº Post¡A§Ú­Ì©w¸q¨â­Ó·s«ü¥O" bar" ¤Î" Post "¤À§OÅã¥Ü 5 ­Ó * ©M¤@­Ó

  * ³Ì«áªº«ü¥O F ©w¸q¬°Åã¥Ü¤@­Ó bar¡B¤@­Ó Post¡B¤@­Ó bar¡A¤T­Ó Post¡C

 

¡@«ü¥O" cr "¶}©l·sªº¤@¦æ¡A¨Ï±o«á¨Óªº¦r¥Ñ¿Ã¹õ³Ì¥ªÃäÅã¥Ü

 

 

   ª÷«° µù²¨¡G

       ¦¹¨ÒÃDµ¹¤F¤@­Ó³Ì­«­nªº FORTH ·§©À¡A±N¤@­Ó½ÆÂøªº°ÝÃD¥ý"¤ÀªR

       ²¤Æ"¡A¦A±N¨ä»s³y¦¨¹s¥ó(¤@­Ó FORTH ªºµü)¡A³Ì«á¦A¤©²Õ¦X¡C

 

½m²ß¤@¡B

 

  ¨Ï¥Î·s«ü¥O bar ¤Î Post ©w¸q·s«ü¥O" C "¡B" E "¡B" L "¦b¿Ã¹õ¤WÅã¥Ü¹ïÀ³

  ªº¤j«¬¦r¤¸¡C

 

 

½m²ß¤G¡B

 

  ¤ÀªR§Aªº©m¡A¤@²Õ¹³ bar ¤Î post ªº«ü¥O¡A¨Ï¥Î¥¦­Ì¨Ó²Õ¦X§A¦³©m¸Ì©Ò¦³ªº

  ¦r¥À¡A§Ú¥H" TING "¬°¨Ò

 

 

    ª÷«° µù²¨¡G

         FORTH ªººë¯«¡A´N¬O²¤Æ°ÝÃD¡C¦]¦¹¡A¨c°O FORTH ªº²Ä¤@±øµL¤W¤ß

        ªk "¦pªG§A¤£¯à±N°ÝÃD¤ÀªR²¤Æ¡A¨º¥Nªí§A¨Ã¥¼¯u¥¿³z¹ýªº¤F¸Ñ°ÝÃD

        ¡A©Ò¥H½Ð¦^ÀY¥h±´¯Á¡B¤ÀªR°ÝÃDªº¥»¨­¡C

 

 

 

 

 

¨ÒÃD¤T¡B§Úªº¦W¦r

 

  : center cr  ."   *  "  ;

  : sides  cr  ." *   *"  ;

  : triad1 cr  ." * * *"  ;

  : triad2 cr  ." **  *"  ;

  : triad3 cr  ." *  **"  ;

  : triad4 cr  ."  *** "  ;

  : quart  cr  ." ** **"  ;

  : right  cr  ." * ***"  ;

  : bigT  bar center center center center center center ;

  : bigI  center center center center center center center ;

  : bigN  sides triad2 triad2 triad1 triad3 triad2 sides ;

  : bigG  triad4 sides post right triad1 sides triad4 ;

  : TING  bitT bigI bigN bigG ;

 

 

½m²ß¤T¡B

 

  ¥H¦¹¤è¦¡¨Ó²Õ¦X­^¤å¦r¥À¬O®e©öªº¡A°ÝÃD¬O¦b 5*7 ªº®æ¦¡¸Ì²Õ¦X 26 ­Ó¦r¥À

  »Ý¦h¤Ö°ò¥»«ü¥O? Ãö©ó¼ÐÂI²Å¸¹©O?

 

½m²ß¥|¡B

 

  ­ì«h¤W¡A§Ú­Ì¥i¥HÃþ¦üªº§Þ³N¨Ó²Õ¦X¤¤¤å¦r¡A¦ý»Ý 16*16 ¤§®æ¦¡½sͧó¦h¤¤

  ¤å«h»Ý 24*24 ®æ¦¡¡A¸ÕµÛ¥Î 5*7 ®æ¦¡²Õ¦X²³æªº¤¤¤å¡A¨Ò¦p¤é¡B¤ë¡B¤g

 

 

 

    ª÷«° µù²¨¡G

        ¦¹ÃD¬O»¡©ú¤F¤¤¤å¨t²Î¤¤²Õ¦rªkªºÆ[©À¡A¤´¬O¤ÀªR²¤Æ¡C

 

 

 

¨ÒÃD¥|¡B¦b¿Ã¹õ¤WÅã¥Ü¤jªº¦r¤¸

 

¡@¸ÕµÛ¦b¿Ã¹õªº¥ô¦ó¦a¤è¼g¥X²Õ¦X¦r¡A¿Ã¹õ¥i¥H 25*80 ®æ¦¡Åã¥Ü¦r¤¸¡A§Y

  25 ¦C¡B¨C¦C 80 ¦r¡A¤U¦C«ü¥O¤¹³\§Ú­Ì¦b¼g¦r¤¸«e²¾°Ê´å¼Ðªº¦ì¸m¡C

 

 

  dark               \  ²M°£¿Ã¹õ´å¼Ð©ñ¦b¥ª¤W¨¤

  at                 \  ²¾°Ê¼Ð¦Ü¿Ã¹õ«ü©w¦ì¸m

                    \  40 12 at §â´å¼Ð©ñ¦b¿Ã¹õ¤¤¥¡

 

 

 

    ª÷«° µù²¨¡G

        x y at «ü¥Oªº«eªÌ"x"¬O¾î®y¼Ð¡A«áªÌ"y"¬OÁa®y¼Ð¡C

        FORTH ±N¿Ã¹õªº¥ª¤W¤èµø¬°(0,0)

 

 

 

    ¥H¤U«ü¥O§â¤@¤j F ©ñ¨ì¿Ã¹õ¤¤¥¡

 

  : newBar        ." *****" ;

  : newPost       ." *    " ;

  : new-F

         dark

         38 10 at newBar

         38 11 at newPost

         38 12 at newBar

         38 13 at newPost

         38 14 at newPost

         38 15 at newPost

         cr

         ;

 

¡@ÅãµM¦a¡A³o¬O©ñ¸m¤å¦rªº²Â©å¤èªk¡A¦pªG¥²¶·¦b«ü¥O¸Ì«ü©w¤å¦r©ú½Tªº¦ì¸m¡A

  ¤@­Ó©ñ¸m¤å¦r¸û´¶¹Mªº¤èªk¬O¨Ï¥ÎÅܼÆ(Variables)¨Ó¶J¦s¦ì¸m¡A¥H­P©ó¤@­Ó

  ¦r¥À¥i¥H©ñ¦b¿Ã¹õ¤Wªº¥ô¦ó¦aÂI¡C

 

 

 

    ª÷«° µù²¨¡G

       (¤@)¤u¨ãªº³]­p­n²³æ¡A¦ý¤]­nÅU¤ÎÆF¬¡ªº¼u©Ê¡C§_«h´N­n¼g«Ü¦hª©

           ¥»¡A¤Ï¦Ó§ó²Ö¤H¡C

       (¤G) FORTH ªºµL¤W¤ßªk²Ä¤G±ø "³]­p¤u¨ã¤§«e¡A¥ý·Q²M·¡¥¼¨Óªº¨Ï

           ¥Î¤è¦¡¡A¬O§_²³æ¡BÆF¬¡¡B¶¶¤â¡A¦A¤U¤â¥h°µ"¡C

 

 

  variable x

  variable y

  : newLine

          x @ y @ at                    \ ¡@²¾°Ê´å¼Ð¨ì(X¡AY) ¦ì¸m

          1 y +!                        \   ¼W¥[ Y ¦Ü¤U¤@¦C

          ;

  : F     newLine newBar

          newLine newPost

          newLine newBar

          newLine newPost

          newLine newPost

          newLine nwePost

          ;

 

  §â F ©ñ¦b¿Ã¹õ¤W¥²¶·¥ý«ü©w¨ä¦ì¸m¡G

 

      30 x !   10 y !   F

 

 ¡@³o¸Ì©Ò¾Çªº¬O´X­Ó FORTH «ü¥O

 

  variable <name>            \  ©w¸q¤@­ÓÅܼÆ(Variable)¡A¼Æ¦r¥i¥H

                             \  ¶J¦s¤Î¨ú¥X

  @      ( var -- data )     \  ¨ú¥X¦s¦bÅܼÆ(Variable)¤¤ªº¼Æ¦r

  !      ( data var -- )     \  ¦s¤@­Ó¼Æ¦r¨ìÅܼÆ(Variable)¤¤

  +!     ( data var -- )     \  §â¦s¦bÅܼÆ(Variable)¤¤¤§¼Æ¦r¼W¥[¤@

 

 

 

    ª÷«° µù²¨¡G

        (¤@)¦b FORTH ¤¤¥Ñ¤p¬A¸¹¬A°_¨Óªº½d³ò¬Oµù¸Ñ¡A§O§Ñ¤F¤p¬A¸¹¥»¨­

            ¤]¬O¤@­Ó«ü¥O¡C

        (¤G)­n¯d¤ß FORTH ªºÅܼơA¬O°Êµü¡A¦Ó¤£¬O¥N¦Wµü¡C

        (¤T) FORTH ¨t²Î¨S¦³ÃѧO¦rªº³W©w¡A¤]¨S¦³«O¯d¦rªºÆ[©À¡A©Ò¦³ªº

            µü(word)¤@«ß¬Ý¦¨¬Ûµ¥¦a¦ì¡A¥i¿×¤§"¦³®e¤D¤j"

 

 

 

  : F-demo

          dark

          0 x ! 0 y ! F

          70 x ! 10 y ! F

          10 x ! 18 y ! F

          40 x ! 15 y ! F

          ;

 

 

½m²ß¤­¡B

 

  ©w¸q¤@­Ó·s«ü¥O¨Ó²M°£¿Ã¹õ¡A¨Ã§â Forth ¦¹°T®§¥H²Õ¦X¦r¥À©ñ¨ì¿Ã¹õ¤¤¥¡¡C

 

  : bar           newLine ." *****" ;

  : post          newline ." *    " ;

  : triad1        newline ."  *** " ;

  : sides         newline ." *   *" ;

  : tetra         newline ." **** " ;

  : duol          newline ." **   " ;

  : duo2          newline ." * *  " ;

  : duo3          newline ." *  * " ;

  : center        newline ."   *  " ;

  : F     bar post bar post post post ;

  : O     triad1 sides sides sides sides trial1 ;

  : R     tetra sides tetra duo2 duo3 sides ;

  : T     bar center center center center center ;

  : H     sides sides bar sides sides sides ;

 

  : FORTH dark

          25 x ! 10 y ! F

          32 x ! 10 y ! O

          39 x ! 10 y ! R

          46 x ! 10 y ! T

          53 x ! 10 y ! H

          ;

 

 

 

 

½m²ß¤»¡B

 

  ¦Û¤v³]­p¤@­Ó°T®§¡A±N¨äÅã¥Ü©ó¿Ã¹õ¤¤¥¡¡C

 

 

 

    ª÷«° µù²¨¡G

       (¤@) FORTH ªºµ{¦¡³]­p¡A²³æªº»¡´N¬O¬°¤@­ÓÀ³¥Î°ÝÃD¡A³Ð³y¥X¤@

           ¸s²³æ¡BÆF¬¡¡B¶¶¤âªº·s«ü¥O¡C¨C­Ó·s«ü¥O¡A´N¦¨¤F«ü¥O¸s¤¤ªº

           ¤@³¡¥÷¡A¦¹¬° FORTH ³Ì¤jªº¯SÂI¡A»P APL ªºÆ[©À¬Û¦ü¡C

       (¤G)¦pªG«ü¥O³]­pªº¦n(²³æ¡BÆF¬¡)¡A«h¥i¥H°T³t¦³®Äªº¸Ñ¨M¥¼¨Ó©Ò

           ¾D¹J¨ì§ó½ÆÂøªºÀ³¥Î°ÝÃD¡C©Ò¥H¤u¨ã«~½èªº¦nÃa¡Aª½±µ¼vÅT¤u§@

           ªº®Ä²v¡C¦]¦¹¡A¦³¤H»¡ FORTH ¬Oµ{¦¡³]­p®v¯à¤Oªº©ñ¤jÃè¡A

 

 

 

¨ÒÃD¤­¡B­«ÂЪº¹Ï¼Ë

 

  ¹q¸£«D±`¾Õ©ó­«ÂгB²z¨Æ¥ó¡A«Ü¦h FORTH «ü¥O³Q³]­p¨Ïµ{¦¡®e©ö³B²z­«

  ÂЪº¤u§@

 

  DO   ( limit index -- )  ¡@\¡@³]©w LOOP µ¹·¥­­©M«ü¼Æ

  LOOP ( -- )                \  ±q 1 ¼W¥[«ü¼Æ¨Ã¤ñ¸û·¥­­¡@

                                ¦pªG Index=limit ¸õ¥X LOOP¡A§_«h

                                ­«ÂÐ DO ¤§«áªº«ü¥O

  I    ( --index )         ¡@\¡@¶Ç¦^¥Ø«e LOOP «ü¼Æ

 

  ­n©w¸q loop ¥²¶·¦b«_¸¹¸Ì©w¸q¡A I ¥u¯à¥Î©ó DO ©M LOOP ¤§¶¡¡A·í

  DO....LOOP »yªk³Q°õ¦æ¡ALoop ¼W¥[«ü¼Æ¨Ã»P Limit ¤ñ¸û¡A¦pªG indexµ¥©ó

  ©Î¤j©ó limit ¡Aµ²§ô Loop ¡A¦pªG¼W¥[ªº«ü¼Æ¤´¤p©ó limit¡A¦b Loop¸Ì¤§«ü

  ¥O·|­«Âаõ¦æ

 

¡@¥H¤@¨Ç¨Ò¤l¨Ó´ú¸Õ DO....LOOP «ü¥O

 

 

  VARIABLE width          ¡@\¡@¦L¥X¬P¸¹ªº¦r

 

  : Asterisks               \  ¦b¿Ã¹õ¤W¦L¥X n ­Ó¬P n = width

          width @ 0         \  ¶}©l«ü¼Æ=0 ¡Alimit=¼e

          DO ." *"          \¡@¤@¦¸¦L¤@­Ó¬P¸¹

          LOOP            ¡@\¡@­«ÂÐ n ¦¸

 

  : Rectangle ( height width -- , ¦L¥X¬P¸¹ªºªø¤è§Î )

          width !                 \¡@¦L¥X³Ìªì¤§¼e

          0                       \¡@limit=°ª¡Aindex=0

          DO      CR

                  Asterisks       \  ¦L¥X¤@¦C¬P¸¹

          LOOP

          ;

 

  : Parallelogram ( height width -- )

          width !

          0

          DO      CR I SPACES     \¡@²¾°Ê¦æ¦C¦Ü¥kÃä

                  Asterisks       \¡@¦L¥X¤@¦C¬P¸¹

          LOOP

          ;

 

  : Triangle ( width -- , ¡@¦L¥X¤@­Ó¬P¦r¤T¨¤§Î )

          1                       \ limit=width, initial index=1

          DO      CR

                  I width !       \¡@¼W¥[¨C¤@¦Cªº¼e

                  Asterisks       \¡@¦L¥X¤@¦C¬P¸¹

          LOOP

          ;

 

 

  ´ú¸Õ¤W­z¤§«ü¥O

 

        3 10 Rectangle

        5 18 Parallelogram

        12 Triangle

 

½m²ß¤»¡B

 

  ·Q¥X¤@¨Ç¦³½ìªº¹Ï§Î¡A¥i¦b¿Ã¹õ¤WÅã¥Üªº¡A¨Ã¼gµ{¦¡¨Ó²£¥Í¦¹¹Ï§Î¨Ò¦p¡C

 

 

                    *

                   * *

                  * * *

                 * * * *

                  * * *

                   * *

                    *

 

 

¨ÒÃD¤»¡Bµe®Ø®Ø

 

¡@ IBM-PC ¦³¤@²Õµ¹¿Ã¹õÅã¥Üªº¹Ï§Î¦r¤¸¡A¥¦­Ì¥i¥H¦b¿Ã¹õ¤Wµe¥X²³æ¹Ï§Î¡A¨Ó

  ¥[±j§Aªº¤å¦r°T®§¡A·í¦b F-PC ½s¿è¾¹¡A«ö ESC A ©M Enter ¡A´N¥i¥H¬Ý¨£³o

  ¨Ç¦r¤¸¡A¦b¦¹¨Ò¤¤¡A§Ú­Ì­nµe¥X¤@­ÓÀô¶¤@½g¤å³¹ªº®Ø®Ø¡A©Ò»Ýªº«ü¥O¦p¤U¡G

 

   218 EMIT       \¡@¦L¥X¥ª¤W¨¤ ¢z

   191 EMIT       \¡@¦L¥X¥k¤W¨¤   ¢{

   192 EMIT       \¡@¦L¥X¥ª¤U¨¤¡@¢|

   217 EMIT       \¡@¦L¥X¥k¤U¨¤  ¢}

   176 EMIT       \¡@¦L¥X««ª½½u  ¢x

   196 EMIT       \  ¦L¥X¤ô¥­½u  ¢w

 

¡@Åý§Ú­Ì¬Ý¬Ý¦p¦ó¦b¿Ã¹õ¤Wµe¥X¤@­Ó®Ø®Ø¡A§Ú­Ì°²©w®Ø®Ø¥ª¤W¨¤¬O(X¡AY)¡A¥k¤U

  ¨¤¬O(X1¡AY1)

 

  VARIABLE x1

  VARIABLE y1

 

  : TopSide ( -- )

          x @ y @ AT            \¡@´å¼Ð²¾¦Ü¥ª¤W¤è

          x1 @ x @              \¡@¤ô¥­·¥­­(²×ÂI¤Î°_ÂI)

          DO      196 EMIT      \¡@¦L¥X¤W¤è¤§Ãä½u

          LOOP

          ;

 

  : BottomSide ( -- )

          x @ y1 @ AT           \¡@´å¼Ð²¾¦Ü¥ª¤U¤è

          x1 @ x @              \¡@¤ô¥­·¥­­

          DO      196 EMIT      \¡@¦L¥X¤U¤è¤§Ãä½u

          Loop

          ;

 

  : LeftSide ( -- )

          y1 @ y @              \¡@««ª½·¥­­

          DO      x @ I AT      \¡@´å¼Ð¦ì¸m

                  179 EMIT      \¡@µe¥X¥ªÃä½u

          LOOP

          ;

 

  : RightSide ( -- )

          y1 @ y @              \  ««ª½·¥­­

          DO       x1 @ I AT    \  ´å¼Ð¦ì¸m

                   179 EMIT     \  µe¥X¥kÃä½u

          LOOP

          ;

 

  : Corners ( -- )

          x @ y @ AT

          218 EMIT               \¡@¥ª¤W¨¤ ¢z

          x @ y1 @ AT

          192 EMIT               \¡@¥ª¤U¨¤ ¢|

          x1 @ y @ AT

          191 EMIT               \¡@¥k¤W¨¤  ¢{

          x1 @ y1 @ AT

          217 EMIT               \¡@¥k¤U¨¤  ¢}

          ;

 

  : Box ( x y x1 y1 -- )

          y1 ! x1 !             ¡@\  ¶J¦s¥k¤U¨¤

          y ! x !               ¡@\  ¶J¦s¥ª¤W¨¤

          LeftSide RightSide    ¡@\  µe¨âÃä

          TopSide BottomSide    ¡@\  µe³»©M©³

          Corners

          ;

 

  : demo FORTH                  ¡@\  ¦L¥X¤j Forth

         20 8 62 17 box           \  ¦b¥¦¥|©Pµe¥X®Ø®Ø

         0 21 at ;              ¡@\  ²¾°Ê´å¼Ð¥X¨Ó

 

 

  ¥´¤J DEMO §A¥i¥H¬Ý¨ì Forth ³Q³ò¦b®Ø¸Ì

 

½m²ß¤C¡B

 

  ¦b IBM-PC ¸ÌªºÂù½u¦r¤¸¬OALT-205 -----ALT-188(É¡B»¡BÈ¡B¼¡Bº¡BÍ¡BΡBÊ¡B

   Ë¡BÌ¡B* ) ¡A¦p¤W¨Ï¥Î¥¦­Ì²Õ¦XÂù½u®Ø®Ø¡C

 

 

    ª÷«° µù²¨¡G

         FORTH ªºµ{¦¡³]­p¤è¦¡¡A¤@¦p¨ä¥¦»y¨¥ªºµ²ºc¤Æ¼Ò²Õ¡A¦ý FORTH ªº

        ¬[ºc¹ªÀy¨Ï¥ÎªÌ¡A¼g³\¦h­Óµu¦¡¤l¡A¨Ó²Õ¦X¦¨À³¥Îªº¥þ³¡µ{¦¡¡Aµuªº

        ¦¡¤l¦³³\¦h¦n³B¡A²Ä¤@­Ó¬O¯à±M¤ß«ä¦Ò¡C²Ä¤G­Ó¬O¸û®e©ö°£¿ù¡C²Ä¤T

        ­Ó¬O¥i­«ÂШϥΡC²Ä¥|­Ó¬O¬°³v¨B§ïµ½¡C³Ì«á¤@­Ó¬O¥ß§Y´ú¸Õ¡C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                      ²Ä ¤G ½Ò  ¤G­Ó¤å¦r¹CÀ¸

 

 

 

   Forth µ{¦¡ªº¥»½è¬O±q²{¦sªº«ü¥O©M¼Ò²Õ¡A«Ø¥ß¤@­Ó§ó¤j§ó¦³¤Oªº¼Ò²Õ¡A±q

  ¤p²Õ«ü¥O¶}©l¡A¥i¥H«Ø¥ß¤º®e¥R¹êªºµ{¦¡³B²z¦³½ìªº¨Æ

 

¡@§Ú­Ì¾Ç¹L¤F Forth ªº¤p«ü¥O¡A¥]¬A " ." " ¦b¿Ã¹õ¤WÅã¥Ü¦r¦ê¡A§Ú­Ì±N¨Ï¥Î

  ¦¹«ü¥O¨Ó³]­p¨â­Ó¹CÀ¸¤§µ{¦¡¡A¨Óª±§Ë¤å¦r¦ê

 

¨ÒÃD¤@¡B

 

¡@ " The Theory that Jack built " ³o½g¤å³¹¬O¥ý©w¸q¤@¨Ç¤ù»y¡AµM«á¥Î¥¦¨Ó

  «Ø¥ß¥y¤l©M³¹¸`¡A¦¹¨Ò¤l±Ð§Ú­Ì¦p¦ó¦b Forth ¸Ì¥H¤pªº¼Ò²Õ«Ø¥ß¤jªºµ{¦¡

 

¡@­º¥ý©w¸q¤@¨Ç²³æ¤ù»y

 

  : the               ." the " ;

  : that              cr ." That " ;

  : this              cr ." This is " the ;

  : jack              ." Jack Builds" ;

  : summary           ." Summary" ;

  : flaw              ." Flaw" ;

  : mummery           ." Mummery" ;

  : k                 ." Constant K" ;

  : haze              ." Krudite Verbal Haze" ;

  : phrase            ." Turn of a Plausible Phrase" ;

  : bluff             ." Chaotic Confusion and Bluff" ;

  : stuff             ." Cybernatics and Stuff" ;

  : theory            ." Theory " jack ;

  : button            ." Button to Start the Machine" ;

  : child             ." Space Child With Brow Serene" ;

  : cybernatics       ." Cybernatics and Stuff" ;

 

   ²{¦b«Ø¥ß½ÆÂøªº¦X¦¨ªº¤ù»y

 

  : hiding          cr ." Hiding " the flaw ;

  : lay             that ." Lay in " the theory ;

  : based           cr ." Based on " the mummery ;

  : saved           that ." Saved " the summary ;

  : cloak           cr ." Cloaking " k ;

  : thick           IF that ELSE cr ." And " THEN

                    ." Thickened " the haze;

  : hung            that ." Hung on " the phrase ;

  : cover           IF that ." Covered "

                    ELSE cr ." To Cover "

                    THEN bluff ;

  : make            cr ." To Make with " the cybernatics ;

  : pushed          cr ." Who Pushed " button ;

  : without         cr ." Without Confusion, Wxposing the Bluff" ;

 

  : rest                                \ ¦b¨Ï¦æ°Ê¤¤¤î

          ." . "                        \ ¦L¥X¤@¸`

          10 SPACES                     \ ªÅ10­Ó¶¡¹j

          KEY                           \ µ¥¨Ï¥ÎªÌ«ö¤@Áä

          DROP CR CR CR ;                ¡@¡@

 

  : recite                              \¡@®ÔŪ¸Ö½g

          dark cr this theory rest

          this flaw lay rest

          this mummery hiding lay rest

          this summary based hiding lay rest

          this k saved based hiding lay rest

          this haze cloak saved based hiding lay rest

          this bluff hung 1 thick cloak

                  saved based hiding lay rest

          this stuff 1 cover hung 0 thick cloak

                  saved based hiding lay rest

          this button make 0 cover hung 0 thick cloak

                  saved based hiding lay rest

          this child pushed

                  cr ." That Made with " cybernatics without hung

                  cr ." And, Shredding " the haze cloak

                  cr ." Wrecked " the summary based hiding

                  cr ." And Demolished " theory rest

         ;

 

 

 

    ª÷«° µù²¨¡G

        FORTH µ{¦¡ªº¾ãÅé¬[ºcÃþ¦ü¾ðª¬µ²ºc¡A¥Ñ¸­¤l»P¾ðªKºc¦¨¾ðªº¤ä·F¡A

       ¦A¥Ñ¤ä·Fºc¦¨¥D·F¡C¦Ó°õ¦æ®É¤]Ãþ¦ü¾ð¤ìªº¾i¥÷¿é°e¡A¥Ñ¥D·F±N¤ô¥÷

       °e©¹¤ä·F¡A¤ä·F¦A¤À°e¾ðªK©M¸­¤l¡A¨ì¹F¤p¸­¤l¤W¦æ¥ú¦X§@¥Î(¯u¥¿ªº

       ¦³®Ä¹B§@)¡C¥H¸ê°T±M·~ªº²´¥ú¨Ó¬Ý´N¬O¨ä¥L»y¨¥ªº¨ç¼Æ©I¥s»P°Ñ¼Æ¶Ç

       »¼¡C

 

 

 

  KEY        ( --char )       \  µ¥­Ô«öÁä¡A¨Ã¶Ç¦^¸Ó«öÁ䪺 ASCII ½X

 

  DROP       ( n-- )          \¡@¥á±ó¦b°ïÅ|(stack)³»ºÝªº¼Æ¦r

  SPACE      ( -- )           \¡@Åã¥Ü¤@­ÓªÅ¥Õ

  SPACES     ( n-- )          \¡@Åã¥Ü n ­ÓªÅ¥Õ

  IF         ( f-- )          \¡@¦pªGºX¼Ð(flag) ¬O0¡A¸õ¦Ü ELSE or

                                 THEN ¦pªGºX¼Ð(flag) ¤£¬O0¡A°õ¦æ

                              ¡@ ©³¤Uªº«ü¥O¡A

                                 ¦Ü ELSE µM«á¸õ¦Ü THEN

 

  ELSE       ( -- )           \  ¸õ¹L¥H¤Uªº«ü¥O¨ì THEN

 

  THEN       ( -- )           \  µ²§ô IF-ELSE-THEN

                                 ©Î IF-THEN

 

 

 

    ª÷«° µù²¨¡G

       (¤@) FORTH ªº THEN ­ì¥»¬O ENDIF ªº·N«ä¡A½Ð¤£­n§Ë²V¤F¡C

       (¤G)¤W¦C¦¡¤l¤¤¥Ñ¤p¬A¸¹¬A°_¨Óªºµù¸Ñ³¡¥÷¡A¬° FORTH ªº°ïÅ|ª¬ºA

           ¹Ï¡AÂù´î¸¹¤§«eªº¬°¦¹°Êµü©Ò»Ýªº¿é¤J¸ê®Æ¡A¤§«áªº¬°¿é¥Xµ²

           ªG¡C

       (¤T) FORTH ªº±ø¥ó«ü¥O»P²Õ¦X»y¨¥ªº¨Ï¥ÎÆ[©À¤@¼Ë¡C

 

 

 

   KEY¡BDROP µy«á°Q½×¡A¥Ø«e¨ä§@¥Î¬OÅý¹q¸£¼È°±¡Aµ¹§A®É¶¡¥hŪ¸Ö³¹¡A·í«ö

  ¥ô·NÁä¡A¹q¸£·|Ä~Äò°õ¦æ¤U¤@­Ó«ü¥O" rest "·|¦b¨C¤@³¹µ²§ô®É°õ¦æ¡C

 

¡@ IF---ELSE---THEN ¤¹³\¹q¸£¨Ì¨ä°õ¦æª¬ªp¿ï¾Ü¥æ´Àªº«ü¥O¡A³o¨Ç«ü¥O¥H¸sÅé

  ¤è¦¡¨Ï¥Î¡C

 

        (flag) IF <true-clause> ELSE <false-clause> THEN

 

        (flag) IF <true-clause> THEN

 

     False Clause ¬O¥ô·Nªº¡AÁ|¨Ò¡G" 1cover "¬O¬Ûµ¥©ó

 

        that ." Covered " bluff

 

     ¡@¦Ó" 0cover "¬Ûµ¥©ó

 

            cr ." To Cover " bluff

 

¡@³o­Ó±ø¥óªº¤À¤äµ²ºc¡A¹ï¹q¸£¿ï¾Ü¤@©Î¤G­Ó¤£¦P¸ô®|¨Ó°õ¦æ¬O«Ü¤è«Kªº¡C

 

¡@²{¦b§Ú­Ì¥i¥H«Ø¤@­Ó¤j¦Ó§ó½ÆÂøªº«ü¥O¡A¤@³¹¤@³¹ªº¦L¥X³¹¸`°õ¦æ¡C

 

            RECITE

 

  ¥H¤å³¹¶¶§Ç¦L¥X¥þ³¡ªF¦è

 

 

½m²ß¤@¡B

 

  ¥H¤W­z§Þ¥©¿é¤J§A³ßÅwªº¸Ö½g¡Aµ¹¨C¤@½g¿W¯Sªº¦W¦r¡A§@¬°·sªº Forth «ü¥O

  ¡A·í§A¥´¤J¤@­º¸Öªº¦W¦r¡A©Ò¦³ªº¸Ö·|¥H°Ê¤Hªº§Î¦¡¦b¿Ã¹õ¤W³QÅã¥Ü¡C

 

 

¨ÒÃD¤G¡B

 

  ³o¬O¤@­Ó¹ï¸Ü¹CÀ¸¡A¹q¸£±N¹ï¤£¦P°ÝÃDµ¹¤©©¾§i¡A¤ñ¦p©Ê¡B°·±d¡B¿ú¡B¤u§@¡A

  ¬O±q " Basic Computer Games "§ï½s¦Ó¨Ó¡C

 

  : Advisor

     CR ." Hello!  My name is Creating Computer."

     CR ." Hi there!"

     CR ." Are you enjoying yourself here?"

     KEY 32 OR 89 =

     IF      CR ." I am glad to hear that."

     ELSE    CR ." I am sorry about that."

             CR ." maybe we can brighten your visit a bit."

     THEN

     CR ." Say!"

     CR ." I can solved all kinds of problems except those dealing"

     CR ." with Greece.  What kind of problems do you have"

     CR ." ( sex, health, money or job )?"

     CR

     ;

 

  : question

         CR ." Any more problems you want to solve?"

         CR ." What kind ( sex, job, money, health ) ?"

         CR

         ;

 

  : sex   CR ." Is your problem TOO MUCH or TOO LITTLE?"

          CR

          ;

 

  : much  CR

       ." You call that a problem?!!  I SHOULD have that problem."

          CR

       ." If it really bothers you, take a cold shower."

        question

        ;

 

  : little

        CR ." Why are you here!"

        CR ." You should be in Tokyo or New York of Amsterdam or"

        CR ." some place with some action."

        question

        ;

 

  : health

         CR ." My advise to you is:"

         CR ."      1. Take two tablets of aspirin."

         CR ."      2. Drink plenty of fluids."

         CR ."      3. Go to bed (along) ."

         question

         ;

 

  : job

      CR ." I can sympathize with you."

      CR ." I have to work very long every day with no pay."

      CR ." My advise to you, is to open a rental computer store."

       question

      ;

 

  : money

         CR ." Sorry!  I am broke too."

         CR ." Why don't you sell encyclopedias of marry"

         CR ." someone rich or stop eating, so you won't "

         CR ." need so much money?"

         question

         ;

 

  ¶}©l¹ï¸Ü¡AÁä¤J¡G

 

        ADVISOR

¡@¡@

¡@¦¹¹ï¸Ü§Q¥Î Forth ¾ã¦Xªº¥æ½ÍÀô¹Òªº¤Ñ©Ê¡A¨Ï¥ÎªÌªº¦^µª³Q©w¸q¬° Forth ªº

  «ü¥O¡A·í¥´¤J«ü¥O®É¡A¦ü¥G¦b¦^µª¹q¸£ªº°ÝÃD¡A³o¨Ç«ü¥O¦L¥Xµ¹¨Ï¥ÎªÌªº¥¿½T

  ©¾§i¡C

 

 

 

    ª÷«° µù²¨¡G

        ¦¹½d¨Ò§Æ±æ¯àÅý¨Ï¥ÎªÌÅé·|¨ì¡A­ì¨Ó¨ä¥L»y¨¥­n¼g¤@ªø¦êªº«ü¥O¨Ó

        §PÂ_¨Ï¥ÎªÌ¿é¤Jªº¦r¦ê¡A¦A¼h¼h¹LÂo§ä¥X¾A·íªº°Ê§@¡A¦Ó FORTH «o

        ¥u¥Î¤F´X¬q¸Ü´N©w¸q¤F¾ã­Ó°Ýµªªº¹Lµ{¡A©MµªÂЪº¤º®e¡A«D±`ªº¦Û

        µM¡B¬yºZ¡C

 

 

 

 

½m²ß¤G¡B

 

  ¨Ï¥Î¨Ò¤l¤Gªº§Þ¥©©w¸q§ó¦h©¾§i(±B«Ã¡B«Ä¤l¡Bªk«ßÃö«Y......)¡C

 

 

½m²ß¤T¡B

 

  «Ø¥ß¤@­Ó¤¤°ê©¯¹B»æ¤u¼t¡A©w¸q³\¦hªº©¯¹B»æ·í Forth «ü¥O¡A§â¦W³æµ¹¨Ï¥Î

  ªÌ¡A¥L¥i¥HÁä¤J¦W¦r¡AÀò±o©¯¹B®ø®§¡Aµy«á§Ú­Ì¾Ç¶Ã¼Æ¦rªº²£¥Í¾¹¡A¨Ï¥Î¶Ã¼Æ

  ¨Ó¿ï¾Ü©¯¹B»æ¡C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                 ²Ä ¤T ½Ò  ¼Æ  ¦r

 

 

 

  ³o¤@½Ò­n°Q½× Forth ³B²z¾ã¼Æªº¤èªk¡A 16¦ì¤¸¾ã¼Æ¬O±q -32768 ¨ì 32767

  ªº¼Æ¡A¦b Forth ¸Ì«Ü¤è«K¶J¦s©M°õ¦æ¡A Forth ¤]¥i¥H³B²z«Ü¤jªºÂù­¿ºë±K«×

  ¼Æ¡A¬Æ¦Ü¯BÂI¼Æ¡A¦ý¤w¶W¥X©ó¥»½Ò¤§½d³ò¡C

 

 

 

    ª÷«° µù²¨¡G

         FORTHªº¼Æ¦r¨Ï¥Î¤è¦¡¡A³ßÅw¾ã¼Æªº¹Bºâ¡A¦]¬° FORTH ªº¶Ç²ÎÆ[©À

        ¤¤¡A¦b¨S¦³µwÅé¯BÂI¹Bºâ¯à¤Oªº CPU ¤W¡A¨Ï¥Î¾ã¼Æ¨Ó¹Bºâ¡A¥H¨D±o

        ³t«×»Pºë±K«×ªº³Ì¨Î®ÄªG¡C

 

 

 

¨ÒÃD¤@¡B

 

  ¼Æ¦r¦b Forth ¸Ì¦p¦ó¨Ï¥Îªº²Ä¤@­Ó¨Ò¤l¬O´«¿úµ{¦¡¡A¤£¦P³f¹ô¤§§I´«¡G

 

            24.55 NT                    1 Dollar

            7.73 HK                     1 Dollar

            5.47 RMB                    1 Dollar

            1 Ounce Gold                356 Dollars

            1 Ounce Silver              4.01 Dollars

 

 

¡@¥H¬ü¤¸¬°¼Ð·Ç³f¹ô¡A§â©Ò¦³³f¹ô§I´«¦¨¬ü¤¸¡A©Ò¦³ªº¼Æ¾Ç¾Þ§@¡A·|¦b¬ü¤¸¸Ì°õ

  ¦æ¡A¿ú¤]¥i¥H±q¬ü¤¸§I´«¦¨¨ä¥L³f¹ô

 

¡@§Ú­Ì¥H³f¹ô¦WºÙ¬°©w¸q¦r±N¨ä´«¬°¬ü¤¸¡A¦Ó§I´«¬ü¤¸¬°¤@ºØ³f¹ô¡A°õ¦æ¦r¬O

  " $ "°O¸¹

 

  : NT    ( nNT -- $ )    10 245 */  ;

  : $NT   ( $ -- nNT )    245 10 */  ;

  : RMB   ( nRMB -- $ )   100 547 */  ;

  : $jmp  ( $ -- nJmp )   547 100 */  ;

  : HK    ( nHK -- $ )    100 773 */  ;

  : $HK   ( $ -- $ )      773 100 */  ;

  : gold  ( nounce -- $ ) 356 *  ;

  : $gold ( $ -- nounce ) 356 /  ;

  : silver ( nounce -- $ ) 401 100 */  ;

  : $silver ( $ -- nounce ) 100 401 */  ;

  : ounce ( n -- n, a word to improve syntax )    ;

  : dollars ( n -- )    . ;

 

 

  ¥H¦¹²Õ´«¿úªº¦r¡A¥i¥H°µ¤@¨Ç´ú¸Õ

 

        5 ounce gold .

        10 ounce silver .

        100 $NT .

        20 $RMB .

 

 

 

    ª÷«° µù²¨¡G

        ¤@­Ó¼g FORTH µ{¦¡ªº­«­n·§©À¬°¥ý·Q³Ì«á­n«ç»ò¥Î¡A¦A¥Ñ¨Ï¥Îªº¤è¦¡

        ¤¤¤ÀªR¦¹°Êµü(«ü¥O)©Ò»Ý§¹¦¨ªº¤u§@¤º®e¡AµM«á¸g¹L¾ã²z©M²¤Æ¡A¤~°Ê

        ¤â¼g§@¡C¤Á°O¡G" ¥ý·Q²M·¡­n«ç»ò¥Î¡A¤~·|ª¾¹D­n«ç»ò¼g "¡C

 

 

 

 ¡@ ¦pªG§A¥Ö§¨¸Ì¦³¤£¦Pªº¯È¶r¡A§A¥i¥H§â¥¦­Ì³£¥[°_¨Ó´«¦¨¬ü¤¸

 

        1000 NT 500 HK + .s

        320 RMB + .s

        dollars                        \  ¥H¬ü¤¸¦L¥Xµ|­È

 

 

¡@ " dollars " »P " ¡D" ¬Û¦P¡A¶ÈÅã¥Ü¤@­Ó¼Æ¦r¡A¨Ï¥Î" dollars "¨ÓÅã¥Ü¿ú

  ªºÁ`¼Æ¡A¦b­^¤å»yªk¤W¬O«Ü¦ÛµMªº

 

¡@¦¹®É¦pªG§Ú¦b­»´äÁ`¼Æ¤]¥i§Ö³tªº´«¦¨´ä¹ô

 

        1000 NT 500 HK + 320 RMB + .s

        $HK dollars    ¡@              \¡@¥þ³¡´«¦¨´ä¹ô¡A¦L¥X

 

 

 

    ª÷«° µù²¨¡G

        ¼g¤@­Ó FORTH ªºµ{¦¡¤@¦p¼g¤@­º¸Ö¡A­n«H¡B¹F¡B¶®­ÝÅU¡A©Ò¥H

        dollars ªº¥Î³~´N¬O¦b´£ª@¡u¶®¡vªº¹Ò¬É¡C

 

 

 

½m²ß¤@¡B°Óª«®È¦æ

 

   ±a 1000 ¬ü¤¸Â÷¶} S.F ¨ì H.K ¥Î¥h 1200 HK ¦] S.H ±o¨ì 2000 RMB ¦b

   H.K¥Î¥h 900 HK ¦b»O¥_¥Î¥h 30000 NT ³Ñ¦h¤Ö¬ü¤¸¡G

 

  µª®×¬O :

 

        1000 1200 HK - 2000 RMB + 900 HK - 30000 NT - dollars

 

  ¸Õ¤@¸Õ

 

¨ÒÃD¤G¡B·Å«×´«ºâ

 

  Äá¤ó©MµØ¤ó¤§´«ºâ»P´«¿ú¤£¦P¡A¤D¦b¦¹¨âºØ·Å«×¡A°£¨è«×¦]¯À¥~¦³¤@­Ó®t¶Z­È

 

  : F>C ( nFarenheit -- nCelcius )

         32 -

         10 18 */

         ;

 

  : C>F ( nCelcius -- nFarenheit )

         18 10 */

         32 +

         ;

 

  90 F>C .                  \  Åã¥Ü®L¤Ñ¥Õ¤Ñªº·Å«×

  0 C>F .                ¡@ \  Åã¥Ü¥V¤Ñ±ß¤W·Å«×

 

 

 

    ª÷«° µù²¨¡G

        ¦b FORTH ¤¤¡A */ ªº¹Bºâ¡A¥D­n¬OÀ³¥Î¦b¤À¼Æªº­¼ªk¤W¡C

        ¨Ò¦p¡G 10 18 */ ´N¬O­¼¥H 9 ¤À¤§ 5¡C

 

 

 

  ¦b¥H¤Wªº¨Ò¤l¡A§Ú­Ì¨Ï¥Î¤U­±¤§ Forth ¼Æ¾Ç¹Bºâ¤l

 

  +   ( n1 n2 -- n1+n2 )        \ ¥[ N1 ©M N2¡A§â©M¯d¦b°ïÅ|(Stack)

  -   ( n1 n2 -- n1-n2 )        \ ±q N1 ´î N2¡A§â®t¯d¦b°ïÅ|(Stack)

  *   ( n1 n2 -- n1*n2 )        \ N1 ­¼ N2¡A§â¿n¯d¦b°ïÅ|(Stack)

  /   ( n1 n2 -- n1/n2 )        \ ¥HN2°£¥H N1¡A§â°Ó¯d¦b°ïÅ|(Stack)

  */  ( n1 n2 n3 -- n1*n2/n3 )  \ N1 ­¼ N2 ¤§¿n°£¥H N3¡A

                                  §â°Ó¯d¦b°ïÅ|(Stack)

  .s  ( ...--... )              \ §â°ïÅ|(Stack)³Ì¤W¤èªº 4­Ó¼Æ¦rÅã

                                 ¥Ü¥X¨Ó¡A¦¹¦r¤£·|§ïÅܰïÅ|(Stack)

                                 ªº²`«×¤Î¤º®e¡C

 

 

  §Ú­Ì¥²¶·¤¶²Ð°ïÅ|(Stack)¤§·§©À¡B°ïÅ|(Stack)¬O¹q¸£¤§°O¾Ð°Ï¨ÓÀx¦s¤Î¨ú¦^

  ¼Æ¦r¡A»P²Ä¤@½Ò¤§ÅܼÆ(Variables)¤£¦P¡AÅܼÆ(Variable)¬O¦b°O¾ÐÅ餤©R¦W

  ªº¦ì¸m¡A­n¥H«ü©w¤§¦WºÙ§ì¨ú¡A°ïÅ|(Stack)¬O¤@±i¥ý¶i«á¥X

  (First-In-Last-Out)ªºªí¡A·íµ¹ Forth ¤@­Ó¼Æ¦r®É·|©ñ¦b°ïÅ|(Stack)¤W¡A

  ¥ô¦ó¹Bºâ¤l©Ò»Ý¤§¼Æ¦r¡A¥²¶·¥Ñ°ïÅ|(Stack)¤W¼u¥X©Ò»Ý¼Æ¦r¡A³Ì®e©ö¨ú±oªº

  ¦r¬O°ïÅ|(Stack)³Ì³»ºÝªº¦r¡A«Ü¦hªº Forth «ü¥O¡A¥i¥H»s³y¤@­Ó©Î«Ü¦h­Ó¼Æ

  ¦r¦Ó³o¨Ç¼Æ¦r²£¥Í®É·|©ñ¦b°ïÅ|(Stack)¤W¡C

 

   " + "¨Ï°ïÅ|(Stack)³Ì³»ºÝ¤§¨â­Ó¼Æ¦r¼u¥X¡A¬Û¥[«á¡A±N©M©ñ¦^°ïÅ|(Stack)

  ¡A-¡B*¡B/ ¬O³B²z²³æ¼Æ¾Ç±`¨Ï¥Îªº¹Bºâ¤l¡A¥²¶·ª`·Nµ¹" + "©M" * "¨â­Ó¼Æ

  ¦rªº¥ý«á¶¶§Ç¬OµLÃöºò­nªº¡A¦Óµ¹" - "©M" / "¤§¥ý«á¶¶§Ç¬O­«­nªº¡A¥æ´«³o

  ¨â­Ó¼Æ¦r¡A¤À§O·|²£¥Í¤£¦P®t©Î°Ó¡C

 

¡@¦b Forth " */ "¬O¤@ºØ¤ñ¨Ò¹Bºâ¤l¡A¤×¨ä¦b¾ã¼Æªº¤ñ¨Ò¹Bºâ¤¤¡A¥H N2/N3¤§

  ¤ñ¨Ò­¼ N1 ¡A¥Ñ¨Ò¤@¡B¨Ò¤GÅã¥Ü¡A¦¹ºØ¤ñ¨Ò¹Bºâ¤l¬O«D±`¦³¤Oªº¡A¤À¼Æ­¼ªkªº

  ¹B¥Î¥i¥H§K¥h¨Ï¥Î¯BÂIÂI¤§¥²­n¡C

 

  .S ¬O¦³¤Oªº°£¿ù¤u¨ãÅã¥Ü¥X°ïÅ|(Stack)³Ì¤W­±¥|­Ó¶µ¥Ø¤§¤º®e¡A¥¦±`¦b°£¿ù

  ®É¨Ï¥Î¡A¨Ó½T©w¦b­pºâ®É°ïÅ|(Stack)¤§¼Æ¦r¬O¥¿½Tªº¡A¥¦³q±`¤£¥Î¦b³Ì²×µ{

  ¦¡¥H§K¦L¥X¤Ó¦h¤¤¶¡­È

 

  ¤@¨Ç¤£±`¥Î¡A¦ý­«­n¤§¼Æ¾Ç¹Bºâ¤l¡G

 

  MOD     ( n1 n2 -- rem )        \¡@N1°£¥HN2¡A¾l¼Æ¯d¦b°ïÅ|(Stack)¤W

 

  /MOD    ( n1 n2 -- rem quot )   \¡@N1°£¥HN2¡A§â¾l¼Æ©M°Ó¯d¦b

                                     °ïÅ|(Stac k)

  ABS     ( n -- ¢xn¢x )          \  ´«ºâ°ïÅ|(Stack)³»³¡¤§¼Æ

                                     ¦r¬°µ´¹ï­È

  NEGATE  ( n -- -n  )            \  §ó§ï°ïÅ|(Stack)³»ºÝ N ¤§¥¿­t¸¹

 

  ·í§Ú­ÌÄ~Äò¾Ç¤U¥h¡A³o¨Ç¹Bºâ¤l¥²µM·|¨Ï¥Î¨ì

 

 

°ïÅ|(Stack)¾Þ§@«ü¥O

 

  °ïÅ|(Stack)¬O­Ó³Ì­«­nªº¦a¤è¡A¥ý«e°õ¦æªºµ²ªG¡A¥Ñ«e¤@­Ó«ü¥O¯d¨ì²{¦b°õ

  ¦æªº«ü¥O¡A«ü¥O±q°ïÅ|(Stack)¨ú¨«°Ñ¼Æ¡A±Nµ²ªG¯d¦b°ïÅ|(Stack)µ¹«á¨Ó¤§«ü

  ¥O¡A°ïÅ|(Stack)¥i¥H«Ü®e©ö¦a³Q¦¨¦êªº°Æµ{¦¡¦@¥Î¡A¦¹°Æµ{¦¡¥i¥H©I¥s§O°Æ

  µ{¦¡¡A¥H¦¹Ãþ±À¡A¦¹°Æµ{¦¡¬O Forth ªºµü¡A¥¦­Ì¥i²@µL­­¨îªº²Õ¦X¡A³o¬O¬°

  ¤°»ò Fortrh µ²ºc©Mªº»yªkºc³y¤W¦p¦¹Â²³æªº­«­n­ì¦]¡C

 

¡@µM¦Ó¡A¦b°ïÅ|(Stack)¸Ì§â¤£¥¿½Tªº¼Æ¦r¶¶§Çµ¹«ü¥O¬O±`µo¥Íªº¹³ - ¤Î /¡A¦³

  ¤@²Õ°ïÅ|(Stack) ¾Þ§@«ü¥O¥i­«·s±Æ°ïÅ|(Stack)¤Wªº¼Æ¦r³o 5­Ó³Ì­«­nªº°ª

  ¶¥°ïÅ|(Stack) ¾Þ§@«ü¥O¬O¡G

 

  DUP   ( n -- n n )             \ ½Æ»s°ïÅ|(Stack)¤§³»ºÝ¤§¼Æ¦r

  SWAP  ( n1 n2  -- n2 n1 )      \ §â°ïÅ|(Stack)³»ºÝªº¨â­Ó¼Æ¦r¤¬´«

  OVER  ( n1 n2 -- n1 n2 n1 )    \ ½Æ»s°ïÅ|(Stack)ªº²Ä¤G­Ó¼Æ¦r

  ROT   ( n1 n2 n3 -- n2 n3 n1 ) \ §â²Ä¤T­Ó¼Æ¦r´«¦Ü°ïÅ|(Stack)³»ºÝ

  DROP  ( n -- )                 \ ©ß±ó°ïÅ|(Stack)ªº³»ºÝªº¼Æ­È

 

 

 

    ª÷«° µù²¨¡G

        ­è¶}©l¾Ç FORTH ªº®É­Ô¡A·|«Ü¤£²ßºD°ïÅ|(stack)ªº¹B§@¤è¦¡¡A¤×¨ä

        ¬O¨Ï¥Î¹L¨ä¥L°ª¶¥»y¨¥ªº¤H­Ì¡A¹ï¨Ï¥Î¤j¶qÅܼƪºµ{¦¡¼g§@¤è¦¡¤wµM

        ¦b¤ß¤¤©w«¬¡A©Ò¥H¾Ç FORTH «K­¿·P¦Y¤O¡C¦ý°ïÅ|(stack)¬O FORTH

        ³Ì­«­nªºÆ[©À¡A©Ò¦³ªº°Ñ¼Æ¶Ç»¼»P¹Bºâ¬Ò¦b°ïÅ|(stack)¤¤§¹¦¨¡C¥i

        ¿×¤§¾Ç FORTH ªº¥ô·þ¤G¯ß¡C¦pªG¾ÇªÌ¯uªºµLªk¤F¸Ñ°ïÅ|(stack)ªº¾Þ

        §@Æ[©À¡A¥i¥H·Q¹³°ïÅ|(stack)´N¬O°Ï°ìÅܼƻP°Ñ¼Æªº¦@¥Î°Ï¡C¨ä¹ê

        ¦pªG¯uªº²`¤J¤F¸Ñ¦UºØ°ª¶¥»y¨¥ªº½s͵{¦¡¡A«K·|ª¾¾å°ïÅ|(stack)

        ªº¹ê¥Î»ù­È¤F¡C

 

 

 

¨ÒÃD¤T¡Bªø¤è§Î

 

¡@ªø¤è§Î¬O¥Ñ(X¡AY)®y¼Ð¨Ó«ü©w¨ä¥ª¤W¤Î¥k¤U¨¤¡A¥H°ïÅ|(Stack)¸Ìªº³o4 ­Ó¾ã

  ¼Æ¡A§Ú­Ì¥i¥H­pºâªø¤è§Î¤§­±¿n¡B¤¤¤ß¤Î©Pªø¡C

 

  : area ( x1 y1 x2 y2 -- area )

         ROT -   ( x1 x2 y2-y1 )           \  ¨D°ª

         SWAP ROT - ( y2-y1 x2-x1 )        \  ¨D¼e

         * ( area )                        \  ¼e­¼°ª¦¨­±¿n¯d¦b

         ;                                    °ïÅ|(stack)³»ºÝ

 

  : center ( x1 y1 x2 y2 -- x3 y3 , center coordinates )

         ROT - 2/ ( x1 x2 y3 )             \  ¨D°ªªº¤¤¤ßÂI

         SWAP ROT - 2/ ( y3 x3 )           \  ¨D¼eªº¤¤¤ßÂI

         SWAP ( x3 y3 )

         ;

 

  : sides ( x1 y1 x2 y2 -- sides )

         ROT - ABS ( x1 x2 y2-y1 )          \  ¨D°ª

         SWAP ROT - ABS ( y2-y1 x2-x1)      \  ¨D¼e

         + ( sides ) 2*

         ;

 

 

ÅÞ¿è¹Bºâ¤l

 

  ¹q¸£¨Ï¥ÎÅÞ¿è¹Bºâ¨Ó¨M©w¤Î¿í´`¤£¦P¤§°õ¦æ³q¹D¤]´N¬O©Ò¿×ªº¤Àª[¡AÅÞ¿è¹Bºâ

  ¥»¨­«D±`²³æ¥B®e©öÁA¸Ñ¡AµM¦Ó¦hºØÅÞ¿è¹Bºâªº²Õ¦X¤Î¦b¤@­Ó¤jµ{¦¡¸Ì¹ï²³¦h

  ¤£¦Pªº³q¸ô¤W°µ¤Àª[ªº§à¾Ü·|¨Ï±o¹q¸£ªº¹B§@Åã±o«Ü½ÆÂø¡A¬Æ¦ÜÅã¥Ü¥X¤@¨Ç´¼

  ¼zªº¯S½è¡C

 

  ³o¸Ì§Ú­Ì¤¶²Ð¤@¨Ç»P¼Æ¦r¦X¨Ö¨Ï¥ÎªºÅÞ¿è¹Bºâ¦Ó¥B¤Àª[¤§¸õÅD¹Bºâ·|¨Ï¥Î¥L­Ì

  ¡C¥HÅÞ¿è¹Bºâªºµ²ªG¨Ó¿ï¾Ü¤£¦P¤§¹B§@¡C

 

   Forth ¨Ï¥Î¾ã¼Æ¨Óªí¥ÜÅÞ¿è­È¡A¥u¦³ 2 ºØ­È¯u»P°°¡A¤Z¤£¬O 0 ªº¥ô¦ó¼Æ¥N

  ªí¯u¡A¥H 0 ªí¥Ü°°¡A¤@­Ó Forth ÅÞ¿è¹Bºâ©Ò¶Ç¦^ªº¯u­È³q±`¶Ç¦^ -1 ¡A¦¹¼Æ

  ¦r¥NªíÅ޿誺­È¤]ºÙ§@ºX¼Ð(Flog)¡A¦¹ÂI»P C »y¨¥ªºÆ[ÂI¬O¤@­Pªº¡C

 

  >      ( n1 n2 -- f )       \  ¦pªGN1>N2¶Ç¦^¹ï¡A§_«h¶Ç¦^°°

  <      ( n1 n2 -- f )       \  ¦pªGN1<N2¶Ç¦^ºX¼Ð¬°¯u.

  =      ( n1 n2 -- f )       \  ¦pªGN1=N2¶Ç¦^ºX¼Ð¬°¯u.

  0=     ( n -- f )           \  ¦pªGN = 0¶Ç¦^ºX¼Ð¬°¯u.

  0<     ( n -- f )           \  ¦pªGN < 0¶Ç¦^ºX¼Ð¬°¯u¡A¥Î¨ÓÀˬd

                                 ¬O§_¬°­t¼Æ

  NOT    ( f1 -- f2 )         \  ¦pªGf1¬O¿ù¶Ç¦^¯u

                                 ¡A¦pªGf1¬O¯u¶Ç¦^¿ù

  AND    ( n1 n2 -- n3 )      \  n3 ¬O n1 ©M n2 ¨C¤@¦ì¤¸§@ AND ªºµ²ªG

  OR     ( n1 n2 -- n3 )      \  n3 ¬O n1 ©M n2 ¨C¤@¦ì¤¸§@ OR  ªºµ²ªG

 

  ¦b¬°¯u©M¬°°°¤§ºX¼Ð(Flags)¸Ì¡AAND ©M OR ·|¥¿½T¹B§@

 

   -1  -1  AND   -1    \  true true AND    --   true

   -1   0  AND    0    \  true false AND   --   false

    0   0  AND    0    \  false false AND  --   false

   -1  -1  OR    -1    \  true true OR     --   true

   -1   0  OR    -1    \  true false OR    --   true

    0   0  OR     0    \  false false OR   --   flase

 

 

 

    ª÷«° µù²¨¡G

        ­n¤p¤ß 7 8 AND ªºµ²ªG¬° 0 ¡A¥H¤G¶i¦ì¨Ó¬Ý´N©ú¥Õ¤F¡C

 

 

 

  ¦b«_¸¹©w¸q¤U¡AºX¼Ð(Flag) ¥i¥H¥Î¨Ó¿ï¾Ü¤G­Ó°õ¦æ³q¹Dªº¤@­Ó¡A¸g¥Ñ¤U­±¤§

  µ²ºc¡C

 

      ( f ) IF <true clause> ELSE <false clause> THEN

                ¡@¡@¡@

      ( f ) IF <true clause> THEN

 

  ¥¦­Ì¦b²Ä¤G½Ò²µu°Q½×¹L¡A²{¦b§Ú­Ìª¾¹D¦p¦ó²£¥ÍºX¼Ð(Flags)¤F¡C¤]ª¾¹D¦p

  ¦óµ²¦XºX¼Ð»P¤Àª[±Ô­zªº¹B¥Î®æ¦¡¤F¡C

 

 

 

    ª÷«° µù²¨¡G

        ¤HÃþ¦]¬°¦³§à¾Ü§PÂ_ªº¯à¤O¡A©Ò¥HºÙ¬°¸Uª«¤§ÆF¡C¦Ó¹q¸£¤]¦]¬°´£¨Ñ

        ¤F´`§Ç¡B°j¸ô»P¤Àª[ªº±±¨î¬yµ{«ü¥O¦Ó¨Ï±o³nÅéµ{¦¡³z¥X¤@ºØ´X¥Gªñ

        ¦ü¤HÃþªº´¼¼z¯à¤O¡C¦ý¤d¸U§O­Ë¦]¬°ªG¡A¬O¦³´¼¼zªº¤H¤~¯à¼g¥X¦³´¼

        ¼z¯à¤Oªºµ{¦¡¡A¤£¬O¹q¸£¥»¨­ªº¡u¤Ñ¥Í°¶¤j¡v¡C©Ò¥H¦pªG¼gµ{¦¡ªº¤H

        ¬O¥Õ·ö¡BÄø§÷¡A»ò¨º¼g¥Xªºµ{¦¡¥²µM¤]¤S§b¤S²Â¤F¡C

 

 

 

¨ÒÃD¥|¡B¤Ñ®ð³ø§i

 

 ¤U­±¤§«_¸¹©w¸q»¡©úÅÞ¿è©M¤Àª[ªº¥Îªk

 

  : weather ( nFarenheit -- )

         DUP     85 >

         IF      ." Too hot!" DROP

         ELSE    55 <

                 IF      ." Too cold."

                 ELSE    ." About right."

                 THEN

         THEN

         ;

 

 §A¥i¥HÁä¤J¤U¦C«ü¥O¡A¨Ã±q¹q¸£Àò±o¤@¨Ç¦^µª

 

    90 weather  Too hot!

    70 weatehr  About right.

    32 weather  Too cold.

 

 

 

    ª÷«° µù²¨¡G

        §PÂ_»P¤À§ÁªºÃö©À¡Aºc¦¨¤F±ø¥ó¤l¥y¡A³q±`¥i¥Î©ó°µ¨Ò¥~ªº³B²z©Î¤G

        ¿ï¤@ªº°õ¦æ¬yµ{¡C¦b FORTH ªº½Ñ¦h¤u¨ã¤¤¡A¥i¥H¥Îµ²ºc¤Æªº D-«¬¹Ï

        (Dijestra-Chart)¨Ó±N¤À§Áªº¬[ºc¥­­±¤Æ¡C¤@¨Ó®e©ö¤F¸Ñ¦Û¤vªº»y·N

        (Semantic)¬O§_¥¿½T¡A¤G¨Ó®e©öÂà´«¦¨FORTHªº±ø¥ó¤l¥y¡C¥t¥~¡A§Ú

        ­n´£¿ôªº¬O¡A¹ï FORTH ªºµ{¦¡³]­p¦Ó¨¥¡AÀ³¸Ó¶È¶qªº¤Ö¥Î

        IF---ELSE---THEN¡C¦]¬°¤À§Áªº¤£·í¨Ï¥Î¡A·|¨Ïµ{¦¡ªº½ÆÂø«×´£°ª¡A

        ¥iŪ©Ê­°§C»P³t«×ÅܺC¡C

 

 

 

¦^ÅU LOOP «ü¥O

 

¡@¦b«_¸¹©w¸q¤¤¥H¤U¦C¤§®æ¦¡¨Ï¥Î©T©w¦¸¼Æ°j¸ô«ü¥O

 

      < nLimit nIndex >     DO   <repeat clause> LOOP

     <°j¸ô²×­È  °j¸ô°_­È>   DO     < ÂЪº±Ô­z>   LOOP

 

¡@ DO ±q°ïÅ|(Stack)¨ú¥X¨â­Ó°Ñ¼Æ¡A³»ºÝ¼Æ¦r¬O°j°éªº¶}©l«ü¼Æ¡A²Ä¤G­Ó¦r

  ¬O°j°é«ü¼Æªº¤W­­¶i¤J LOOP ¤§«á<repeat clause>³Q­«Âаõ¦æ¡ALOOP ¼W¥[

  «ü¼Æ±q nIndex  ¦Ü nLimit ¡A·í«ü¼Æ¬Ûµ¥©ó nLimit ®É¡ALOOP µ²§ô¡A¦b

  <repeat clause> ¸Ì¡A¤@­Ó¯S®í¹Bºâ¤l I ¶Ç¦^¥Ø«eªº°j¸ô¯Á¤Þ¡A¨Ã±N¤§©ñ¦b

  °ïÅ|(Stack)ªº³»ºÝ¡C

 

    ¥H¤U¬O¡@LOOP¡@µ²ºcªºÂ²³æ¨Ò¤l

 

 

¨ÒÃD¤­¡B¦L¥X­¼ªkªí

 

  : oneRow ( nRw -- )

         CR

         DUP 3 .R 3 SPACES

         13 1

         DO      I OVER *          \  ¯d©³¼Æ¨Ã­pºâ­¼¿n

                 4 .R              \  ±N°ïÅ|(stack)³»ºÝªº­¼¿n¡A¥H®æ

         LOOP                         ¦¡¤Æªº¤è¦¡¿é¥X

         DROP ;

 

  : Table ( -- )

         CR CR 6 SPACES

         13 1

         DO      I 4 .R  LOOP        \  ¦L¥X³»ºÝªºªíÀY

         13 1                        \  ©I¥s oneRow (¤@¦æ) 12 ¦¸

         DO      I oneRow

         LOOP

         ;

 

  Áä¤JTable¨Ï­¼ªkªí¡A¥H¾ã»ôªº®æ¦¡Åã¥Ü

 

 

½m²ß¤@¡B

 

  ¬ü°ê­¼ªkªí¦b 12*12 µ²§ô¡A¦ý¦b¤¤°ê©M¤½¨î°ê®a¡A­¼ªkªí¦b 9*9µ²§ô¡A­×§ï

   TABLE ©w¸q¡A¨Ï¨äªí®æ­­©w¦b 1*1 ¦Ü 9*9

 

 

 

    ª÷«° µù²¨¡G

        §Ú¤@¦V¤Ï¹ïÀݥΰj¸ô¨Ó¸Ñµª°ÝÃD¡A¨Ò¦p¡G­n§A¨D 1 ¨ì 100 ªºÁ`¦X¡A

        §A·|¥Î°j¸ô¥[­Ó 100 ¦¸¡A¨º­n§A¨D 1 ¨ì 1»õªºÁ`¦X¡A§A¤S·Q¥Î°j¸ô

        ¥[­Ó1»õ¦¸¡C¦n¦ü°j¸ô¬O¤£¥Î¥I¥X¥N»ùªº¡C¨ä¹ê¦pªG§A¤W¹L¤p¾Ç´N·|

        ¤F¸Ñ¡u­º¶µ¥[¥½¶µ­¼¥H¶µ¼Æ¤§¥b¡v¬°µ¥®t¯Å¼ÆªºÁ`¦X¡C³o¬O§_¨¬¥H»¡

        ©ú¬Y¨Ç°ÝÃD¦pªG§A¯à§ä¨ì¹Bºâ¤½¦¡ªº³q«h¡A¤j¶qÀݥΪº°j¸ô¬O¥i¥HÁ×

        §Kªº¡C¥t¥~¡A¥Ñ©ó°j¸ô¥N»ù¬Æ°ª¡A©Ò¥H¦pªG«D¥Î¤£¥i¡AÀ³¶È¶qªº¨Ï°j

        ¸ô¤ºªº¤u§@³æ¯Â¤Æ¡A¤×¨ä¦pªG¥i¯à­nÁ×§K¦b°j¸ô¨Ï¥Î¹L¦hªº¤À§Á±ø¥ó

        ¤l¥y¥H§K¨Ï°õ¦æ®Ä²v¤j¬°­°§C¡C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                     ²Ä ¥| ½Ò  ¼Æªº¨â­Ó½d¨Ò

 

 

 

¡@¦b³o¤@½Ò¡A¨Ï¥Î¤G­Ó¬Û·í½ÆÂøªº¨Ò¤l¨Ó¡A»¡©ú Forth «ü¥Oªº²Õ¦X¹Lµ{¨Ó¸Ñ¨M

  ¯u¥¿ªº°ÝÃD¡A¨Ï¥Î¦b«e¤T½Ò§Ú­Ì¾Ç¹Lªº  Forth «ü¥O

 

¨ÒÃD¤@¡B¤é¾ä

 

¡@§Ú­Ì­n°µªº¬O¦L¥X¥ô¤@¦~¥ô¤@¤ëªº¤ë¾ä¡A¨Æ¹ê¤W¥i±q1950¦~¨ì2050¦~¥ô·N¿ï¥X

  ¦~¡B¤ë¨Ó¦L¡A¤é´Á¨C¦æ¥H¬P´Á¤é¡A¬P´Á¤@¥H¦¹Ãþ±À¨Ó¦L¡A¦¹°ÝÃD¡A¦³³\¦h¨Æ±¡

  ­n¦Ò¼{¡G¶|¦~¡B¤@­Ó¤ëªº¤Ñ¼Æ¡B¨º¬P´Áªº¨º¤@¤Ñ¬O¬Y­Ó¤@¤ëªº²Ä¤@¤Ñ¡A­pºâ¦~

  ¡B¤ë¡B¤é¡A¥H(YYYY)ªí¦~¡B(MM)ªí¤ë¡B(DD)ªí¤é¡A§Ú­Ì©Ò¨D¤§¦~¤ë¤é¥H

  (DD MM YYYY)ªí¥Ü¥X¡A¥Î 7°£¥H¦~¡B¤ë¡B¤é¤§¾l¼Æ´N¬O¬P´Á´X¤F¡C

 

  ¥H1950,1,1¬°¤é¾äªº 0 ¤é¡A­è¦n¬O Sunday ¡A4¦~¦³ 1461¤Ñ¡A¤@­Ó¶|¦~¦³366

  ¤Ñ¡A¥ô¤@¦~ªº¦~¤ë¤é¡A¥i¥H¥Ñ YEAR ­pºâ¥X¡A¨Ã¦s©óÅܼÆ(Variable)JULIAN¡A

  ¦pªG³o¤@¦~¬O¶|¦~¡AÅܼÆ(Variable) LEAP ªº­È¬° 1¡A§_«h¬° 0 ¡C

 

¡@¦b¤@¦~¸Ì¨C­Ó¤ëªº²Ä¤@¤Ñ¬°¦¹¤ëªº²Ä´X¤Ñ«ÜÃø­pºâ¡A¦b«ü¥O FIRST ¸Ì³B²z¡F

  FIRST ¦C¥X¤ë¥÷¤§¼Æ¦r(1 ¥Nªí 1¤ë¡A2 ¥Nªí 2¤ëµ¥)¨Ã¶Ç¦^ 1¦~¤§¤¤±q 1¤ë

  1¤é¦Ü¦¹¤ëªº²Ä¤@¤Ñ¤§¤Ñ¼Æ¡A2¤ë1¤é¬O¤@¦~ªº²Ä31¤Ñ¡A3¤ë1¤é¤£¬O²Ä59¤Ñ¡A´N

  ¬O²Ä60¤Ñ¡A¨Ì¾Ú¶|¦~¬O§_¦Ó©w¡A4¤ë1¤é¬O²Ä90©Î91¤Ñ¡A¥H¦¹Ãþ±À¡A¤@­Ó¾A¤Áªº

  ¤½¦¡¡A¦bFIRST ¸Ì³Q¥Î¨Ó­pºâ 5¤ë 1¤é©M¨ä«áªº¥þ³¡¤ë¥÷¡C

 

¡@«ü¥O DAY ±q°ïÅ|(Stack)¤¤¨ú¥X DD¡BMM ¤Î YYYY¡A¨Ã±N¸Ó¤Ñ¦Û 1950¦~°_ªºÁ`

  ¤Ñ¼Æ©ñ¦^°ïÅ|(Stack)¡AÁ`¤Ñ¼Æ³Q¨Ï¥Î¨Ó°£¥H 7 ªº¾l¼Æ¨M©w¦¹¤é¬°¬P´Á´X¡A¬P

  ´Á¤Ñ¬O¥Î 0 ¥Nªí¡A¬P´Á¤»¬O 6 ¡C

 

   .DAY ¦L¥X¤@­Ó¤ëªº¤ë¾ä¡A¥Ñ°ïÅ|(Stack)¤Wªº¤ë¥÷©Ò«ü©w¡A¨Ã¥H¬P´Á±Æ¦C¤§

  ªí®æ§Î¦¡¦L¥X¡A¦¹®æ¦¡¥[¤WÃ䮨¨ÓÅã¥Ü¡A¥H«ü¥O MONTH «ü¥X¤ë¥÷¦WºÙ¡B¤é´Á

  ¦WºÙ¡A¨Ò¦pÁä¤J¡G

 

     1992 YEAR 7 MONTH

¡@·|Åã¥Ü 1992¦~ªº 7¤ë¥÷ªº¤ë¾ä¡A«ü¥O CALENDER ¨ú¥N¥ô¤@¦~ªº 12­Ó¤ë¥÷ªº§¹

  ¾ã¤ë¾ä¡A¥Ñ°ïÅ|(Stack)¤W¦~ªº¼Æ¦r«ü©w¡A§AµLªk¦b¿Ã¹õ¤W¬Ý¨ì¥þ³¡¡A¦ý§A¥i

  ¥H¥Î¦Lªí¾÷¦L¥X¨Ó¡C

 

 

     1992 YEAR CALENDAR

 

  VARIABLE JULIAN  \  ¥Î¨Ó¦s©ñ¦Û 1950¦~ 1¤ë 1¤é°_¨ì¤µ¦~²Ä¤@¤Ñ

                      ©Ò¸g¹Lªº¤Ñ¼Æ

  VARIABLE LEAP    \  ¥Î¨Ó¦s©ñ¬O§_¬°¶|¦~

  1461 CONSTANT 4YEARS   \  ¥]§t¶|¦~¡B¥|¦~ªºÁ`¤Ñ¼Æ

 

  : YEAR ( YEAR --, ­pºâ Julian »P¶|¦~¬O§_¬° 1 )

        1949 - 4YEARS 4 */MOD      \  ¦Û 1949¦~ 1¤ë 1¤é°_¸g¹L¤F´X¤Ñ

        365 - JULIAN !             \  0 ¬° 1/1/1950 ªº²Ä¤@¤Ñ

        3 =                        \  ­Y¾l¼Æ¬° 3 «h¬°¶|¦~

        IF     1 LEAP !            \  ¶|¦~

        ELSE   0 LEAP !            \  ´¶³q¦~

        THEN ;

 

 

    ª÷«° µù²¨¡G¡@

        ¤W¦C IF     1 LEAP !

             ELSE   0 LEAP !

             THEN ;           ³¡¥÷¥i¥H§ï¥Î ABS LEAP! ¦Ó¥h±¼§PÂ_¦¡¡C

 

 

 : FIRST ( MONTH -- ­pºâ¨C¤ëªº²Ä¤@¤Ñ¬°¥»¦~ªº²Ä´X¤Ñ )

        DUP 1 =

        IF DROP 0                      \  0 ¬° 1¤ë 1¤é

        ELSE    DUP 2 =

            IF      DROP 31            \  31 ¬° 2¤ë 1¤é

            ELSE    DUP 3 =

                  IF    59 LEAP @ 2   \  3¤ë 1¤é¥i  ¬° 59¤Ñ©Î 60¤Ñ

                  ELSE  4 - 30624 1000 */

                        90 + LEAP @ +   \  4¤ë¥H«á¨C­Ó¤ë­¼¥H 30.624¤Ñ

                  THEN

            THEN

        THEN

        ;

 

 

 

    ª÷«° µù²¨¡G

        ­¼¥H 30624 ªº¾ã¼Æ¿n­è¦n¯à¨Ï¤C¡B¤K¨â¤ë§¡¬°31¤Ñ¡A¦¹¬°¥»¨ÒÃD³Ì

        ºë±m¤§³B¡C0.624 ¬°5¤Ñ°£¥H¤K­Ó¤ë´î¤Q¤@¤ë¬°¤p¤ë¦Ó±o¨Ó¡C

 

 

  : DAY ( DD MM YYYY -- JULIAN-DAY )

        YEAR                 \  ­pºâ JULIAN »P¶|¦~

        FIRST + 1-           \  ­pºâ¤µ¤Ñ¬O¤µ¦~ªº²Ä´X¤Ñ

        JULIAN @ +           \  ­pºâ¥Ñ 1950¦~ 1¤ë 1¤é°_¨ì¤µ¤Ñ

        ;                       ¤@¦@¹L¤F´X¤Ñ

 

  : STARS 0 DO 42 EMIT LOOP ;     \ " * " ªº ASCII ½X¬° 42

 

  : header ( n -- )               \  ¦L¥XªíÀY

       cr cr 26 stars space

       case     1 of ."  January " endof

                2 of ." February " endof

                3 of ."   March  " endof

                4 of ."   April  " endof

                5 of ."    May   " endof

                6 of ."   June   " endof

                7 of ."   July   " endof

                8 of ."  August  " endof

                9 of ." September" endof

               10 of ."  October " endof

               11 of ." November " endof

               12 of ." December " endof

               DROP

       endcase

       space 27 stars cr cr

       ."      SUN     MON     TUE     WED     THU     FRI     SAT"

       cr cr                         \  ¥H¤U¦L¥X¥¿½T¶g¡B¤é´Á¤º®e

       ;

 

  : BLANKS ( MONTH -- )           \¡@±N¤£¬O¦¹¤ë¥÷ªº¤é¤l¸õ¹L

         FIRST JULIAN @ +         \¡@­pºâ¥Ñ 1950¦~ 1¤ë 1¤é¨ì³o

                                     ­Ó¤ë¹L¤F´X¤Ñ

         7 MOD 8 * SPACES ;       \  ¦pªG¤£¬O¬P´Á¤Ñ¸õ¹L«e¤@­Ó¤ë

                                     ¦b¥»¶gªº¾l§À¤Ñ¼Æ

 

  : .DAYS ( MONTH -- )            \  ¦L¥X¥»¤ëªº¤Ñ¼Æ¡A¥H¶gªº®æ¦¡¦L¥X

        DUP FIRST                 \  ¦¹¤ë¥÷¤§²Ä¤@¤Ñªº¦~¤Ñ¼Æ

        SWAP 1 + FIRST            \  ¤U¤ë¥÷¤§²Ä¤@¤Ñªº¦~¤Ñ¼Æ

        OVER - 0                  \  ¥H°j¸ô¦L¥X¼Æ©ó¥»¤ëªº¤Ñ¼Æ

        DO I OVER +

          JULIAN @ + 7 MOD        \  ­pºâ¬O¬P´Á´X

          0= IF CR THEN           \  ¦pªG¬O¬P´Á¤Ñ¸õ¦Ü¤U¤@¦æªº°_ÀY¦C¦L

          I 1 + 8 U.R             \¡@¨C¤@¤Ñ¦û¤K­Ó®æ¤l¾a¥k¦L¥X

        LOOP

        DROP ;                    \¡@±N¦h¥Xªº¤ë¥÷ªº²Ä¤@¤Ñ±q°ïÅ|³»ºÝ

                                     §R°£

  : MONTH ( N -- )                \¡@¦L¥X¤@­Ó¤ë¤§¤ë¾ä

        DUP

        HEADER DUP BLANKS         \¡@¦LªíÀY

        .DAYS ;                   \¡@¦L¥»¤ëªº¤Ñ¼Æ

 

  : CALENDAR ( YEAR --- )         \¡@¦L¸Ó¦~ªº¥þ¦~¤ë¾ä

        YEAR                      \¡@­pºâ JULIAN ©M¶|¦~

        13 1 DO¡@I MONTH LOOP     \  ¦L12­Ó¤ë¤§¤ë¾ä

        CR CR 64 STARS ;          \  ¦L¥X³Ì«á¤§Ã䮨

 

 

 

    ª÷«° µù²¨¡G

        ¤@­Ó¦nªºFORTHµ{¦¡¡AŪ°_¨ÓÀ³¸Ó¦ü´²¤åªº¬yºZ¡A¸Ö¯ëªº¬ü¡C

 

 

   ¦pªG­n¦C¦L¥X¤é¾ä¥´¤J¡G

 

      PRINT 1992 YEAR CALENDAR

 

    PRINT ¬O¤@­Ó¯S§OªºF-PC«ü¥O¡A·|§â¿Ã¹õ¿é¥XÂà´«¨ì¦Lªíªí¾÷¿é¥X

 

 

    ª÷«° µù²¨¡G

        ¤@­Ó¦nªºµ{¦¡³]­p®a¡A·|«Ü²M·¡¦Û¤v©Ò­±¹ïªºÃD¥Ø¤¤¦³¨º´X­Ó­n¬ð¯}

        ªº§xÃø¡A¨Ã¤ÀªR¦UºØ¥i¯à¸Ñ¨M¦¹°ÝÃDªº¤è®×¡A¨ä§Q¹ú±o¥¢¸Ô¥[¦Ò¼{«á

        ¡A¤~°Ê¤â¶}©l¼¶¼gµ{¦¡¡C¨Ã«D¬O¤@¸£½k¶î¡A¨â²´µo§b¡A´N¯à°÷Â\¥­°Ý

        ÃDªº¡C¦b¦¹ÃD¤¤¥i¸Ô¥[«~¨ý¨ä«ä¯Á°ÝÃDªº¤è¦¡»P²¼ä©ú§Öªºµ{¦¡¼g§@

        ­·®æ¡C¦pªG¤@¤U¤l¬Ý¤£À´¨º´N¦h©CÄZ´X¦¸¡A¥H¤£©È®À§éªº¤ß±µ¨ü¦ÒÅç

        »P¿iÁå¡AÅé·|¨ü¤@¤U FORTH ·M¤½²¾¤sªººë¯«¡C

 

 

½m²ß¤@¡B ¯u¥¿¤§ Julian ¤é´Á

 

¡@¦b¤W­±ªº¨Ò¤l¡A§Ú­Ì¥H1950¡A1¡A1¬° 0¤Ñ¨Ó­pºâ¦~,¤ë,¤é³o¬O¦]¬°§Ú­Ì¨Ï¥Î¤@

  ­Ó¾ã¼Æ¨Ó¥Nªí¤é´Á¡A¦Ó¨ä½d³ò¨ü­­¦b-32768¨ì32767¡A¤j¬ù¬O¥H¥]§t89¦~¡A¯u

  ¥¿¤§ Julian ¦~¤ë¤é¡A¶}©l©ó¦è¤¸«e 4713¦~ 1¤ë 1¤é¬O¥@¬Éªº¶}©l(¦è¤èªºÆ[

  ©À)¡A­nªí¥Ü¦p¦¹¤j½d³òªº¦~¤ë¤é¡A§Ú­Ì¥²¶·¨Ï¥ÎÂù­¿ºë±K«×¾ã¼Æ¡A

  -2,294,967,295¦Ü 2,294,967,294¤§½d³ò¡AJulian ¤é´Á¤~°÷¥Î¡C

 

  : JULIAN-DATE ( DD MM YYYY -- d, ¥H32¦ì¤¸¾ã¼Æ¨Ó­pºâ Julian ªº­È )

         >R                      \¡@¦sYYYY©ó¦^ªð°ïÅ|(return stack)

         DUP 9 + 12 /            \  1¤ë¡B2¤ë¬°0¡A¨ä¾l¬°1

         R@ + 7 * 4 / NEGATE     \¡@¨C¤@¦~¨ú¥X1.75¤Ñ

                                 \   365.25 = 367-1.75

         OVER 9 + 12 / NEGATE

         R@ +

         100 / 1 + 3 * 4 / -     \  ¦U¥@¬ö²£¥Í¤§¶|¦~

         SWAP 275 9 */           \  ³o­Ó¤ë¤§«e¡A¥»¦~ªº¤Ñ¼Æ

         + +                     \¡@¥[DD¡A¬°¥»¤é¤§¦~¤Ñ¼Æ

         S>D 1.721029 D+         \  ¥[¦è¤¸¡A¤¸¦~¤@¤ë¤@ªº Julian ¤é¼Æ

         367 R> UM* D+           \¡@¥[¤W¨ì¤µ¦~ªº¤é¼Æ

         ;

 

 

    ¦³´X­Ó³B²zÂù­¿ºë±K«×¼Æªº«ü¥O

 

  S>D      ( n -- d )              \  ±N¤@­Ó¾ã¼ÆÂX¤j¬°Âù­¿ºë±K«×¾ã¼Æ

  D+       ( d1 d2 -- dSum )       \  ±N 2­ÓÂù­¿ºë±K«×¼Æ¬Û¥[¦b

                                      °ïÅ|(stack)ªº³»ºÝ

  UM*      ( n1 n2 -- dProduct )   \  2­Ó¾ã¼Æ¬Û­¼¨Ã¶Ç¦^¤@­Ó

                                      Âù­¿ºë±K«×ªº¾ã¼Æ­¼¿n

 

   Forth ¦³¥t¤@­Ó°ïÅ|(Stack)¡A°µ¬°©I¥s°Æµ{¦¡¤Îªð¦^¦ì¸m¤§«O¦s¡AºÙ¬°¦^ªð

  °ïÅ|(return stack)¡A¨ä¥\¯à¹ïªì¾Çªº¨Ï¥ÎªÌ¬OÁôÂ꺦ӨϥΪ̤]¤£¶·¶O¯«¥h

  ¨Ï¥Î¥¦¡CµM¦Ó¦^ªð°ïÅ|(return stack)³Q¥Î¦b¼È¦s°Ñ¼Æ°ïÅ|(Parameter Stack

  )¤W¤§¼Æ¬OºØ±`¨£ªº§Þ¥©¡A¨Ã¥B¼È®É±N¨ä¦b¨â­Ó°ïÅ|(stack)¶¡²¾°Ê¡A±N¼Æ¥Ø¦b

  °Ñ¼Æ°ïÅ|(Parameter Stack)©M¦^ªð°ïÅ|(return stack) ¤§¶¡²¾°Êªº Forth

  «ü¥O¬O¡G

 

  >R         ( n -- )    \  ¨ú¥X°Ñ¼Æ°ïÅ|(Parameter Stack)³»ºÝ¤§¼Æ

                            ¡A±N¥¦²¾¨ì¦^ªð°ïÅ|(return stack)ªº³»ºÝ

 

  R>         ( -- n )    \  ¨ú¥X¦^ªð°ïÅ|(return stack)³»ºÝ¤§¼Æ

                            ¡A±N¥¦©ñ¦^°Ñ¼Æ°ïÅ|(Parameter Stack)

 

  R@         ( -- n )    \  ½Æ»s¦^ªð°ïÅ|(return stack)³»ºÝ¤§¼Æ

                            ©ñ¨ì°Ñ¼Æ°ïÅ|(Parameter Stack)

 

 

 

    ª÷«° µù²¨¡G

        ½Ð¤p¤ßªº¨Ï¥Î°jªð°ïÅ|

        (¤@)>R»PR>¥²¶·­n¦¨¹ïªº¨Ï¥Î

        (¤G)¦b½sĶ¼Ò¦¡¤U¤~¯à¨Ï¥Î¡C

 

 

 

¨ÒÃD¤G¡B ¥Í©Rªº¹CÀ¸

 

  ¥Í©R¹CÀ¸¬O¤@­Ó¦³½ìªº¹q¸£µ{¦¡¥i¥H¦b¹q¸£ªº°O¾ÐÅé¡A¼ÒÀÀ¸sÅéªÀ·|¤§¦¨ªø©M

  °I±Ñ¡A°²³]¹q¸£ªº°O¾ÐÅé¬O±i¥­­±¹Ï¡A¨C¤@­Ó°O¾ÐÅ餣¬OªÅªº´N¬O¦³¤@­Ó¥Í©R

  Åé¡A¤@­Ó¦ì¸m¦³µL¥Í©R²{¶H¡A³£¨ú¨M©ó¾Fªñ¦ì¸m¤§¥Í©RÅé¡A¥Í¬¡¹CÀ¸¤§³W«h¡G

 

¡@ 1.¡@¦pªG¤@­Ó¦ì¸mªº8­Ó¾F©~¥]§t3­Ó¥Í©RÅé,´N¥i¥H²£¥Í¤@­Ó·s¥Í©RÅé¡C

   2.  ¦pªG8­Ó¾F©~¥]§t¤§¥Í©RÅé¡A¤Ö©ó2­Ó©Î¦h¹L3­Ó¡A«h¦¹¥Í©RÅ馺¤`¡C

 

  ¥Í©RÅ馺¤`¡A¦]¬°©t³æ(¾F©~<2)©Î¾ÖÀ½(¾F©~>3)¡A·í¦³3­Ó¬¡¾F©~¡A°²©w¤@­Ó

  ¤÷¿Ë¡B¤@­Ó¥À¿Ë¡B¤@­Óªª®v¡B¤@­Ó·s¥Í©R·|²£¥Í¡C

 

¡@¥H¹q¸£¿Ã¹õ¬°¹Ï¡A¥]§t 25*80 ¤§¦ì¸m¡A¤@­Ó # ¥Nªí¦b¤@­Ó¦ì¸m¤Wªº¥Í©RÅé¡A

  ¤@­ÓªÅ¥Õ«ü¥X¦b¨º­Ó¦ì¸m¨S¦³¥Í©R¡A¦b°O¾ÐÅé¸Ì¤@±i¹Ï°t¦³2048 ¦ì¤¸²Õ.¥u¦³

   1920 ­Ó¦ì¸m(24*80)¡A¥i¦b¿Ã¹õ¤WÅã¥Ü¡A°O¾Ð°Ï¬O¥H 80 ­Ó³sÄòbytes ¾F±µ

  80 ­Ó³sÄò¦ì¤¸²Õ¤§§Î¦¡±Æ¦C¡A©Ò¥H N ¦ì¸mªº¾F©~¦ì¸m¬O¬ON+1¡BN-1¡BN+79¡B

  N-79¡BN+80¡BN-80¡BN+81¡BN-81 ¦Ó©Ò¦³¼Æ¦r³£¬O 2048¤§¾l¼Æ¥i¥Î 2047 AND

  ¤@­Ó¼Æ¨ÓÀò±o°£¥H 2048¤§¾l¼Æ¡C

 

¡@°O¾Ð°Ï¥i±q PAD ¤§ 2048bytes «ü¬£¡APAD «ü¥X¨Ï¥ÎªÌ¯à¥Î¤§¦Û¥Ñ°O¾ÐÅéªÅ¶¡

  ¡A¨Æ¹ê¤W§Ú­Ì»Ý­n 2­Ó 2048¦ì¤¸²Õ°Ï°ì¡A²Ä¤@°Ï¶J¦s¥Í©RÅ餧¹Ïªí¡A²Ä¤G°Ï

  ¶J¦s¤U¤@¥N¥Í©RÅ餧¤À§Gª¬ªp¡A·í­pºâ¤@¥N¤§«á¡A¦b²Ä¤G°Ï¤§¹Ïªí·|½Æ¦L¦Ü²Ä

  ¤@°Ï¡C

 

 

 

    ª÷«° µù²¨¡G

        ¦pªG­n¨D°£¥H 2 ªº´X¦¸¤èªº¾l¼Æ¡A¦b FORTH ªº§Þ¥©¤¤¡A§Ú­Ì·|¨Ï¥Î

        ¦ì¤¸ªº¸nÂ_(MASK)¨Ó¨D±o¡A¦]¬°¤@­Ó°£ªk«ü¥Oªº³t«×¥N»ùÄ묹¤Ó¤j¤F

        ¡A¥H 8086 ¬°¨Ò°£ªk«ü¥O­n 192 ­Ó CPU ®É¯ß¦ÓÅÞ¿è«ü¥O¶È»Ý 4­Ó®É

        ¯ß¡C·íµM¡A³oºØÃþ¦ü²Õ¦X»y¨¥ªº¬D­çºA«×¡A¤]¬O FORTH ¦b³t«×¤Wª½

        ¹G²Õ¦X»y¨¥ªº­ì¦]¡C

 

 

 

  35 CONSTANT white                   \  ASCII #

  32 CONSTANT black                   \  ªÅ¥Õ

 

  : address1 ( n -- addr )            \¡@¥Í©RÅ餧²Ä¤@°Ï

          2047 AND                    \¡@N °£¥H 2048 ¤§¾l¼Æ

          PAD +                       \  ¥[¦ì²¾¦ÜPAD

          ;

 

  : address2 ( n -- addr )            \  µ¹¤U¤@¥N¤§²Ä¤G°Ï

          address1                    \  ¥[2048¦Üaddr1

          2048 +                      \  ¥Ñ addr1 ³B²z¾l¼Æªº°ÝÃD

          ;

 

  : neighbors ( -- )

          2048 0                        \  ¼fµø¥þ³¡¹Ïªí

          DO      I 1 + address1 c@     \  ¦b8­Ó¾F©~¤º¥[¥Í©RÅé¡B¥kÃä

                  I 1 - address1 c@ +   \  ¥ªÃä

                  I 79 + address1 c@ +  \  ¥ª¤U¨¤

                  I 79 - address1 c@ +  \  ¥k¤W¨¤

                  I 80 + address1 c@ +  \  ¤UÃä

                  I 80 - address1 c@ +  \  ¤WÃä

                  I 81 + address1 c@ +  \  ¥k¤U¨¤

                  I 81 - address1 c@ +  \  ¥ª¤W¨¤

                  I address1 c@         \  ¥Í©RÅé¦b³o¤@¦ì¸m¶Ü?

                  IF      DUP 2 =       \  ¬Oªº¡A2©Î3­Ó¾F©~?

                          SWAP 3 = OR   \  ¦pªG¬O 2¦Ü 3­Ó¾F©~«h¬¡¤U¨Ó

                          IF 1 ELSE 0 THEN  \  ¤Ó¾ÖÀ½«h¦º±¼

                  ELSE    3 =               \  ªÅªº¦ì¸m

                          IF 1 ELSE 0 THEN

                                     \  ¦pªG3­Ó¥Í©R¾F©~µ¹¤©¥X¥Í

                  THEN

                  I address2 c!      \  ¶J¦s¤U¤@¥N

          LOOP

          ;

 

  : refresh ( -- )                   \  ½Æ¦L¤U¤@¥N¨ì³o¤@¥N

          PAD 2048 + PAD 2048 CMOVE

          ;

 

  : display ( -- )                   \  ¦b¿Ã¹õÅã¥Ü³o¤@¥N¹Ïªí

          0 0 AT                     \  ²¾°Ê´å¼Ð¦Ü¥ª¤W¨¤

          PAD 1920 0                 \  ¼fµø1920¦ì¸m

          DO      DUP C@             \  ¥Í©RÅé¦b³o?

                  IF WHITE ELSE BLACK THEN    \  Åã¥Ü¥¦

                  EMIT

                  1 +                \  ¤U¤@­Ó¦ì¸m

          LOOP    DROP

          ;

 

  : init-map  ( addr -- )            \  ±q¬Y¤@°O¾ÐÅé²£¥Í¤@­Ó¹Ïªí

         2048 0                      \  ª`·N2048bytes°Ï

         DO     DUP C@ 1 AND         \  ¨Ï¥Î³Ì¤p¦³®Ä¦ì¤¸¨ÓÀˬd

                IF 1 ELSE 0 THEN     \  «ü¬£¥Í©RÅé

                I address1 C!        \  ¦b§Ú­Ìªº³o¤@¥N¹Ïªí¸Ì

                1 +

         LOOP   DROP

         ;

 

  : generations ( n -- )         \  ­«ÂÐN¥N

          0 DO    neighbors      \  ­pºâ¤U¤@¥N

                  refresh        \  ½Æ¦L¦Ü³o¤@¥N¹Ï

                  display        \  ¨ÃÅã¥Ü¥¦

          LOOP

          ;

 

  slow                      \  Åã¥Ü¨C¤@­Ó¤å¦r¡A¨Ï¥Î BIOS ªº¤¤Â_¨ÓÅã¥Ü

  statoff                   \  ÁôÂêíÀY¡A±N F-PC ªºª¬ºAÅã¥Ü¼È®ÉÃö±¼

  500 init-map              \  ¶}©l¹Ïªí¡A¥Ñ°O¾ÐÅ餤¥ô¿ï¤@¶ô°O¾ÐÅé¡A·í

                               ²Ä¤@¥Nªº¥Í©R¨Ó·½

  10 generations            \  °µ10¥N

 

    ¦b¦¹¨Ò¤¤¤¶²Ð¤§Forth·s«ü¥O

 

  CONSTANT       ( n -- )        \  ©w¸q·s«ü¥O¡A·í°õ

                                    ¦æ®É¶Ç¦^¨ìN

  C@             ( addr -- char) \  ±q¤@­Ó°O¾ÐÅé¦ì¸m¨ú¤@­Óbyte

  C!             ( char addr --) \  ¶J¦s¤@­Óbyet¦Ü°O¾ÐÅé¦ì¸m

  CMOVE          ( a1 a2 n -- )  \  ±q°O¾ÐÅé¦ì§}a1½Æ»s¡AN­Óbytes¦Ü

                                    °O¾ÐÅé¦ì§}a2

  PAD            ( -- addr )     \  °e¦^¨ì¤@­Ó¦Û¥Ñ°O¾ÐÅé½w½Ä°Ïªº¦ì§}

  AND            ( n1 n2 -- n3 ) \  ³v¦ì¤¸AND 2­Ó 16¦ì¤¸¼Æ¦r

  OR             ( n1 n2 -- n3 ) \  ³v¦ì¤¸OR 2­Ó 16¦ì¤¸¼Æ¦r

 

½m²ß¤G¡B

  ·Q¤@­Ó§A³ß³ß·Rªº´Ñ½L¹CÀ¸¡A¨Ã¦Ò¼{¹q¸£¤Æªº¥i¯à©Ê¡A¤]³\¥þ½L¹q¸£¤Æ«D±`§x

  Ãø¡A¦ý¬O§AÀ³¸Ó§ä¥X¤@¨Ç¤èªk¨Ï¥¦³¡¥÷¹q¸£¤Æ¡A·Q¨Ç¤èªk¨Ï¹q¸£¯àÀ°§U§A´ÑÃÀ

  ¶i¨B¡C(¤B³¯³Õ¤h¥»¨­´N´¿¥Î FORTH ¼g¤F¤@­Ó³ò´Ñµ{¦¡)

 

 

    ª÷«° µù²¨¡G

        ±N FORTH ¬Ý¦¨¤@­ÓÂù°ïÅ|µ²ºcªºµêÀÀ CPU ¡A«h FORTH ªº°ò¥»«ü

        ¥O¡A«K¥i¥H¬Ý¦¨¬O¦¹µêÀÀ CPUªº¾÷¾¹«ü¥O(¨ä¹ê¡A¦b¯u¥¿ªº FORTH

        µwÅé CPU ¤W¡A©Ò¦³ªº FORTH «ü¥O§¡¬O¥HµwÅé¶¥¼hª½±µ°õ¦æ¡A¦b¨º

        ºØ CPU ¤W¨S¦³²Õ¦X»y¡A¦]¬° FORTH ´N¬O³Ì§C¶¥ªº¾÷¾¹»y¨¥¤F)¡A

        ¦b FORTH ªºµêÀÀ CPU ¤W¡C

 

        CONSTANT ¥i¥H¬Ý¦¨ push Constant

        VARIABLE ¥i¥H¬Ý¦¨ push Address of Variable

 

        ¤]´N¬O¸ü¤JÅܼƪº¦³®Ä¦ì§}

        ¦b FORTH ¤¤©Ò¦³¹ïÅܼƪº¾Þ§@§¡¦³²Î¤@©Ê¡Aµ¹¤©¤@¦a§}¦b°ïÅ|ªº

        ³»ºÝ¡A­n¥[¡B´î¡B­¼¡B°£¡A­n¦s¡B­n¨ú¡A­n¤K¦ì¤¸¡B­n¤Q¤»¦ì¤¸¡B

        ­n¤T¤Q¤G¦ì¤¸¡A¬Ò¥Ñ¨Ï¥ÎªÌ¦Û¤v¿ï°t¨Ï¥Î¡A­è¶}©l·|¤£²ßºD¡A¦ý¤[

        ¤F¡A¤Ï¦Ó·|³ßÅw³oºØÂ²¼ä¦³¤Oªºªí¹F¤è¦¡¡C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                 ²Ä ¤­ ½Ò     ¼Æ¦rªº§Þ¥©

 

 

 

¨ÒÃD¤@¡B¥¿©¶©M¾l©¶

 

  ¤T¨¤¨ç¼Æ¤§ SIN¡BCOS ¤j³£¦bø¹Ï¨ç¼Æ¥\¯à¸Ì¹J¨ì¡A¦bµe¶ê©·¤Î¨ä¥¦¥Î³~¤W¬O

  ±`±`¥Î¨ìªº¡C³q±`¨Ï¥Î¯BÂI¼Æ¦r¨Ó°µ¬°·Ç½T©Ê©M¬¡°Ê©Ê½d³ò¤§­pºâ¡AµM¦Ó¹ï¦b

  ¼Æ¦r¨t²Î¸Ìªº»s¹Ï¹Lµ{¤¤¾ã¼Æ½d³ò -32678¦Ü 32767 ¤j­P¤w°÷¥Î¡A§Ú­ÌÀ³¸Ó¾Ç

  ²ß¨Ï¥Î¤Q¤»¦ì¤¸ªº¾ã¼Æ¨Ó­pºâ SIN ¤Î COS¡C

 

  ¤T¨¤¨ç¼Æªº SIN ©Î COS ªº­È°ì¤¶©ó -1.0¤Î+1.0 ¶¡¡A§Ú­Ì¥Î¤Q¶i¦ì¾ã¼Æ

  10000¥Nªí 1.0 ¨Ó­pºâ¡A¨Ï SIN©MCOS ¯à¥H³Ì¤jªººë±K«×ªí¥X¡C

  pi ¬O 3.1416 ¡A¦Ó90«×¨¤¥Ñ15708 ¨ú¥N¡A¨¤«×¥ýÂà´«¦¨ -90«×¦Ü+90 «×¶¡¤§

  ½d³ò¡AµM«á¦A¥Ñ-15708¦Ü+15708 ¤§¶¡ªº¼Æ´«ºâ¦¨Ñy«×¡A¥ÑÑy«×­pºâ SIN¡BCON

  ¤§­È¡C

 

¡@ Sin©MCos¤§­pºâºë·Ç¨ì1/10000 ¡A¦¹ºtºâªk­º¥ý¥Ñ John Bumgarner µoªí©ó

   Forth Dimension ²Ä¥|¨÷²Ä¤@´Á²Ä¤C­¶¡C

 

 

  31415 CONSTANT PI

  10000 CONSTANT 10K                     \ ¤ñ¨Ò±`¼Æ

  VARIABLE XS                            \ ¨¤«×¶qªº¥­¤è

 

  : KN ( n1 n2 -- n3, n3=10000-n1*x*x/n2 ¦b¦¹³B x ªí¥Ü¨¤«× )

         XS @ SWAP /                     \  x*x/n2

         NEGATE 10K */                   \  -n1*x*x/n2

         10K +                           \  10000-n1*x*x/n2

         ;

 

  : (SIN) ( x -- sine*10K, x ¬°Ñy«×­¼¥H 10kªº­È )

         DUP DUP 10K */                  \  ¥H10K¬°X*X¤§¤ñ¨Ò

         XS !                            \  ±N¤§¦s¤J XS

         10K 72 KN                       \  ³Ì«á¶µ

         42 KN 20 KN 6 KN                \  ¶µ3¡A2©M1

         10 K */                         \  ­¼ X

         ;

 

  : (COS) ( x -- cosine*10K, x ¬°Ñy«×­¼¥H 10kªº­È )

         DUP 10K */ XS !                 \  ­pºâ¨Ã¦s¤JX*X

         10K 56 KN 30 KN 12 KN 2 KN      \  ¼Æ­ÓÂX¤j§Î¦¡

         ;

 

  : SIN ( degree -- sine*10K )

         PI 180 */                       \ ¡@´«ºâ¬°Ñy«×

         (SIN)                           \ ¡@­pºâ Sin ªº­È

         ;

 

  : COS ( degree -- cosine*10K )

         PI 180 */                       \ ¡@­pºâ cos ªº­È

         (COS)

         ;

 

    ª÷«° µù²¨¡G

        ¦b¦¹½Ò¤¤¡A§Ú­Ì·|µo²{ FORTH ªº¡u¾ã¼Æ­õ¾Ç¡v¡A«D±`¬ð¥Xªº­n¨D

        ¥H¾ã¼Æ¨Ó¸Ñ¨M¨ä¥L»y¨¥¨Ï¥Î¹ê¼Æ¤~¯à¸Ñ¨Mªº°ÝÃD¡C¤@¨Ó¬O FORTH

        »{¬°­nµo´§µwÅé CPU ªº¯u¹ê¥\¯à¡C¦pªG¡A¨S¦³¹ê¼Æªº¯BÂI¹Bºâ¾¹

        ¡A´N¤£¥Î¹ê¼Æ¡A¦Ó°ª«×§Þ¥©¨Óµo´§¾ã¼Æªº¥\¯à¡C³o¤@ÂI¤]»¡©ú¤F¬°

        ¤°»ò¤HºÙ FORTH ¬OÄÝ©ó¤Ñ¤~ªº»y¨¥¡A¦]¬°­n¡u¦h«ä¡v¤D¤~¯à¸Ñ¨M

        °ÝÃD°Ú¡I

 

 

 

  ¨Ó´ú¸Õ¦¹µ{¦¡¡AÁä¤J:

 

        90 SIN .                    \  9999 ¥Î¾ã¼ÆÁö¤£§¹¥þºë·Ç¡A¦ý¤]

                                       «Ü°÷¥Î¤F

        45 SIN .                    \  7070

        30 SIN .                    \  5000

         0 SIN .                    \     0

        90 COS .                    \     0

        45 COS .                    \  7071

         0 COS .                    \  10000

 

 

¨ÒÃD¤G¡B ¶Ã¼Æ

 

  ¶Ã¼Æ³q±`¨Ï¥Î¦b¹q¸£¼ÒÀÀ©M¹q¸£¹CÀ¸¡C

  ¤U¦C¶Ã¼Æ²£¥Í¾¹¬O¥Z¸ü©ó Leo Brodie ªº Starting Forth ¤@®Ñ¤¤¡C

 

  VARIABLE RND                            \ ºØ¤l

  HERE RND !                              \ ªì­È¤ÆºØ¤l

 

  : RANDOM ( -- n, a random number within 0 to 65536 )

         RND @ 31421 *       \ RND*31421

         6927 +              \ RND*31421+6926, ¦A¨D°£¥H 65536 ¤§¾l¼Æ

         DUP RND !           \ §ó·sºØ¤l¡A¨Ã¦b°ïÅ|³»ºÝ¯d¤U·s¶Ã¼Æ

         ;

 

  : CHOOSE ( n1 -- n2, a random number within 0 to n1 )

         RANDOM UM*              \ n1*random ±o¤@ 32¦ì¤¸ªº­È

         SWAP DROP               \ ©ß±ó§Cªº 16¦ì¤¸­È

         ;                       \ ¨Æ¹ê¤Wµ¥©ó¬O°£¥H 65536 ªº°Ó(¦V¥k

                                   ²¾¦ì 16¦ì¤¸)

 

  Áä¤J¥H¤U¼Æ­Ó´ú¸Õµ{¦¡¡A¬Ý¬Ý¿é¥Xªºµ²ªG¡C

 

           100 CHOOSE .

           100 CHOOSE .

           100 CHOOSE .

 

  µ²ªG³QÀH¾÷¤À°t¦b 0 ©M 99 ¤§¶¡ªº¾ã¼Æ³Q²£¥Í¡C

 

½m²ß¤@¡B

  °O±o¤¤°ê©¯¹B»æ¶Ü?¼g¤@­Ó¸ê®Æ®wµ{¦¡¿ï¾Ü¤@­ÓÀH·Nªº©¯¹Bµüµ¹¤©©¯¹B»æ¡A·í

  µM§A¥ý­n«Ø¥ß¦¹¸ê®Æ®w¡C

 

 

    ª÷«° ´£¥Ü¡G

        «Ø¥ß¤@­Ó¦r¦ê©Ò²Õ¦¨ªº°}¦C¡A¦A¥H¶Ã¼Æ·í¯Á¤Þ¨ú¥X¦r¦êªº¤º®e¡C

 

 

    ª÷«° µù²¨¡G

        ¦b¸ê°T¬ì¾Çªº»â°ì¤¤¡A¶Ã¼Æªº²£¥Í¬O¤@ªù»P¼Æ¾Ç¬ÛÃöªº¤j¾Ç°Ý¡C¦p

        ªG²£¥Íªº¤À§G¤£¦X¹w´Áªºµ²ªG´N¤£ºâ¬O¤@­Ó¡u¦X®æ¡vªº¶Ã¼Æ²£¥Íµ{

        ¦¡¡C¤@¯ë¥i¥Î»X¦a¥dùªk¨ÓÆ[¹î¨ä¿é¥X¤À§Gªº±¡§Î¡C¦pªG­nÀ³¥Î¦b

        ¹q¸£¼ÒÀÀªº»â°ì¤¤¡A«h§ó¬OÁ¿¨s¶Ã¼Æªº²£¥Í¤èµ{¦¡¡C·íµM¡A¦pªG¬Ý

        ©x¥»¨­¹ï¾÷²v²Î­pªºª¾ÃÑ¡u¤£ª¾©Ò¤ª¡v¡A¨º´N®M­Ó§O¤Hªº¤½¦¡¥Î¦n

        ¤F¡C¤Ï¥¿¡u¦³¡v±o¡u§Û¡v¤ñ¡u¨S±o¥Î¡v­n¦n¦h¤F¡C

 

 

 

¨ÒÃD¤T¡B ¥­¤è®Ú

 

   N+1 ªº¥­¤è¬Ûµ¥©ó Nªº¥­¤è»P 2N+1ªºÁ`©M¡A±q 0 ¥[ 1,3,5,7...µ¥¡Aª½¨ìÁ`

  ¼Æ¤j©ó§A­n¨D®Úªº¾ã¼Æ¡A§A©Ò°±¤î®Éªº¼Æ´N¬O¥­¤è®Ú

 

  : SQRT ( n1 -- n2, n2**2<=n1 )

         0                          \ ®Ú¤§ªì­È

         SWAP 0                     \ ³] N1 ¬° limit

         DO      1+  DUP            \ §ó·s®Ú

                 2* 1+              \ ( 2n+1 )

         +LOOP                      \ §â 2N+1 ¥[¨ìÁ`©M¡A¦pªG¤p

         ;                            ©óN1«h¦A°µ¡A§_«hµ²§ô

 

 

¦³­­°j°éµ²ºc

 

          limit  index   DO <repeat-clasue> ( inc ) +LOOP

        ( ·¥­­   ªì­È    DO   ­«ÂЪº°j¸ôÅé    ²Ö¥[¼Æ  +LOOP )

 

¡@¦b­«ÂЪº°j¸ôÅ鳡¥÷»P DO...LOOP «ÜÃþ¦ü¡A¨ä¤£¦P¦b©ó +LOOP ¬O³z¹L°Ñ¼Æ°ï

  Å|(Parameter Stack)³»ºÝ¼Æ¦r¨Ó¼W¥[«ü¼Æ¡A¦]¦¹¤¹³\ LOOP «ü¼Æ¦b°õ¦æ­pºâ

  ®É¥i¨Ï¥Î«D©T©wªº¥ô·N¼Æ¼W¥[©Î´î¤Ö°jªð°ïÅ|³»ºÝªº°j¸ô¯Á¤Þ­È¡A+LOOP µ²§ô

  °j¸ôªº¤è¦¡¬°·í°j¸ô¯Á¤Þ­È¬Ûµ¥©Î¤j©ó·¥­­®É¡C

 

   Wil ¥H«D¶Ç²Î¤è¦¡¨Ï¥Î +LOOP ¦b³o¸Ì°j¸ô¯Á¤Þ­È²Ö¥[¾¹¨Ï¥Î¡A±N³sÄòªº2N+1

  (©_¼Æ)¬Û¥[¡Aª½¦ÜÁ`©M¶W¹LN1¡A¥Ñ¦¹Æ[ÂI¡A¯d¦b°ïÅ|(Stack)ªºN2§Y¬ON1ªº¥­

  ¤è®Ú¡C

 

½m²ß¤G¡B

  ¥Î¤û¹yªk¨Ó§ä¥­¤è®Ú¬O¹q¸£¤¤«D±`´¶¹Mªº¤èªk¡A¦pªGr1¬ON ¥­¤è®Úªºªñ¦ü­È¡A

  ¨º»ò§ó¦nªºªñ¦ü­È¬O¡G

 

            r2=(r1 + n/r1)/2

 

  §A¯à§_¥H¦¹¤èªk¼g¥X§ä¥­¤è®Úªºµ{¦¡

 

 

    ª÷«° ´£¥Ü¡G

        r1¥H1¶}©lÁͪñ¡A¦A±N¨D¥Xªºr2·í¦¨r1¶Ç¤J¡A¤ÏÂЦ¹µ{§Ç¡Aª½¨ìr2ªº

        ¥­¤èµ¥©óN)¡C

     ¡@¡@

 

½m²ß¤T¡B

  ¾ã¼Æªº¥ß¤è©M 4 ¦¸¤è¡A·| 16¦ì¤¸¾ã¼Æªº½d³ò«Ü§Ö¥ÎºÉ¡A¨Ï¥Î³sÄò¾ã¼Æ¨D¨ä 3

   ©Î 4 ¦¸¤èªº¼Æ¾Ç¤èµ{¦¡¡A¥i¥Î³sÄòªº¥[ªk§ä¥X¥ß¤è®Ú¡A¨Ã»P§A©Ò¨ú±o¤§®Úªº

  ¾ã¼Æ¤ñ¸û¡A¼g¥X·s«ü¥O Cubic Root ¨Ó§ä¥X¥ô·N¥¿¾ã¼Æ¤§¥ß¤è®Ú¡A4¦¸¤è®Ú¡C

 

    ª÷«° µù²¨¡G

        ¨D¥­¤è®Úªº SQRT µ{¦¡¬O¥þ²y»D¦WªºFORTH°ª¤â¡AWil Baclon ¥ý¥Í

        ªº¡u¤Ñ¤~§@«~¡v¡Aµoªí©ó 1984¦~¦b¥xÆW¥æ¤jÁ|¦æªº FORML¦~·|¤W

        ¡C¦¹µ{¦¡µu¤p¨¯»¶¬°Ãm¥@¤£¤G¤§§@¡A¨C¤@­Ó«ü¥O³£¥Î±o¥X¯«¤J¤Æ¡A

        ¦ÊÁå¦Ó¦¨¡C¦pªG¬Ý©x¯à¤@²´¬Ý¬ï¨ä¶ø§®µ´­Û¤§³B¡A«h¥i³ß¥i¶P¡A¥²

        ¯à«C¥X©óÂŦӳөóÂÅ¡C·íµM¡A¦pªG¬Ý©x­Ì¹ï¦¹¨Î§@¤£¯à«~¨ý¡A«h¥u

        ¦n¦b¯È¤W¦n¦nªºµe­Ó°ïÅ|¹Ï¨ÓºCºC°l¡AºCºCK¤F¡C¦¹ÃD¤]¬O¾Ç

        FORTH ªº³Ì¨Î½d¨Ò¡C

        ´£¥Ü¡G¦¹ÃDªººtºâªk¬°¤@»¼°jªº©w¸q¡A¦¹½u©Êªº¤è¦¡®i¶}°õ¦æ¡C

 

 

 

¨ÒÃD¥|¡B³Ì¤j¤½¦]¼Æ ( GCD )

 

   ¥j¥N¼Æ¾Ç¤j®v¼Ú¨ä²z¼w( Euclid )ªº¤èªk

 

        If m>n,find GCD(n,m)

        If m=0,GCD(m,n)=n

         Otherwise,GCD(m,n)=GCD(m,MOD(m,n))

 

 

 

    ª÷«° µù²¨¡G

        ¦¹ºtºâªk¬°³Ì¤j¤½¦]¼Æªº»¼°j(Recursive)©w¸q¡C

 

 

 

    ±N¤W¦Cºtºâªk§ï¼g¬° Forth §Ú­Ì±o¨ì

 

  : GCD ( m n -- gcd )

         BEGIN   2DUP >               \¡@if m>n ¥æ´« m ©M n

                 IF SWAP THEN

                 OVER                 \  if m=0 Â÷¶}loop

         WHILE   OVER MOD             \  §_«h¥H MOD [m¡An]´À´«n

         REPEAT                       \¡@­«ÂЪ½¦Ü m=0

         SWAP DROP                    \  ¦] m=0 ©Ò¥H©ß±ó m ¡A¦Ó¯d¤U

         ;                               ¨Óªº n ´N¬O³Ì¤j¤½¦]¼Æ¤F

 

 

   ³o¬O¤@­Ó·¥¦nªº¨Ò¤l¨Ó»¡©ú±ø¥ó°j°éªº¥Îªk

 

     BEGIN <repeat-clause> (f)   WHILE     <true-clause>    REPEAT

     BEGIN <°j¸ô¤l¥y³¡¥÷>  ºX¸¹  WHILE <¬°¯uªº¤~°õ¦æªº³¡¥÷> REPEAT

 

 

  ¦pªGºX¸¹¸g WHILE ´ú¸Õ¬O¯uªº¡A­«Âаj¸ô¤l¥y³¡¥÷©M¬°¯uªº¤~°õ¦æªº³¡¥÷¡A

  ­YºX¸¹¬O 0(°°)¡Aµ²§ô¦¹°j¸ô¡C

 

    ´ú¸Õ GCD ¡AÁä¤J

 

      123 456 GCD .

 

½m²ß¥|¡B ³Ì¤p¤½­¿¼Æ

 

  ¨â¼Æªº³Ì¤pªº¤½­¿¼Æªº¨Dªk¡A¥i±N¨â¼Æ¤§¿n°£¥H¦¹¤G¼Æ¤§ GCD ¼g¤@­Ó·s«ü¥O

  LCM ±N 2­Ó¾ã¼Æªº LCM ©ñ¦^°ïÅ|(Stack)

 

 

    ª÷«° µù²¨¡G

       (¤@)­è¾Ç FORTH ªº¤H¹ï°ïÅ|ªºÅé´¿¤£°÷²M´·¡A¬O³Ì¥i©Èªº²~ÀV¤§¤@

           ¡A¤×¨ä¬O¤@­Ó¤pµ{¦¡¤¤¥Î¤F¥|¡B¤­­Ó°ïÅ|¾Þ§@«ü¥O(¦p¡GDUP¡B

           SWAP¡BOVER¡BROT¡BDROPµ¥)§ó¦p¦Ê¨½°gÃú¡A»î­¸¾z´²¡C¦¹®É¡A

           ­n«rºò¤ú¡B¨H¦í®ð¡Bí¦í¤ß¡B©w¦í¯«¡CµM«á¥Î¯Èµe­Ó°ïÅ|¹Ï°l

           Âܤ@¨B¡AÀ´¤F¡A¦A°lÂܤ@¨B¡AºCºC§ËÀ´¥¦¡C¦A²`¤J¾Ç²ßÅé·|¥Î

           °ïÅ|¯B¨Hªº¯«Ãý¡A¬°¤°»ò FORTH ªº°ª¤â¡A¦p¦¹¼F®`¡A¨S¦³ÅܼÆ

           ¡A¥u¥Î¨â­Ó°ïÅ|¡A´N¯à¸Ñ¨M³o¨Ç¤@¯ë©Êªº°ÝÃD©O¡S¨ä¤ßªk¥u¦³¤@

           ¥y¸Ü¡G¡u¦b±zªº¸£¤¤¡A¤]«Ø¨â­Ó¬¡ªº°ïÅ|¡A±z´NÀ´ FORTH ¤F¡v¡C

 

       (¤G) FORTH ªº WHILE °j¸ô»P¨ä¥L»y¨¥¡A¦p C¡BPASICAL µ¥§¡¤£¬Û

           ¦P¡AFORTH ªºWHILE-LOOP ¬O¦b°j¸ôÅ骺¤¤¶¡Àˬd¬O§_Â÷¶}°j¸ô

           ¡A¦Ó¤£¦ü¨ä¥Lªº°ª¶¥»y¨¥¬O¦b³Ì«e­±Àˬd¡C©Ò¥H­n¤p¤ß¡C­Y¯à

           Åé·|¤¤¶¡§PÂ_ªºÀuÂI¡A¤~¯àµ½©ó¨Ï¥Î¦¹ºØ°j¸ôªº¼u©Ê¡A¦Óµo´§

           ¨ä¥\¯à¡C

 

 

 

¨ÒÃD¤­¡B¶OÃ伯¦C

 

¡@ Fibonacc¡G¬O¤¤¥@¬ö¼Æ¾Ç®a Leonardo ªºµ§¦W¥L´£¥X¦¹°ÝÃD¨Ó­pºâ¤@¹ï¨ß¤l

  ©Ò¯à²£¥Íªº«á¥N¼Æ¶q¡C

 

¡@§â¤@¹ï¨ß¤l©ñ¤J¥ÑÀð³ò¶ªº¦a¤è¡A¦pªG¨C­Ó¤ë¡A¨C¹ï¨ß¤l·|¥Í¥X·sªº¤@¹ï¨ß¤l

  ¡A±q²Ä¤G­Ó¤ë¤§«á©Ò¥Íªº·s¨ß¤l¤S¯à¥Í¥X¤@¹ï¨ß¤l¡A¤@¦~¤º·|¥Í¥X¦h¤Ö¹ï¨ß¤l

  ¨Ó?

 

¡@¡@¶¶§Ç·|¬O¡G

 

    1  1  2  3  5  8  13  21  34  55  89  144  233  337...

 

 

    ª÷«° ´£¥Ü¡G

        ¶OÃ伯¦Cªº»¼°j©w¸q¬° Fib(N)=Fib(N-1)+Fib(N-2)

 

 

¡@¡@§Ú´£¨Ñ¨â­Ó¬Ûµ¥ªº¸Ñµª

 

  : Fib1 ( -- , ¦L¥X©Ò¦³¤p©ó  5000 ªº¶OÃ伯¦C )

         1 1                       ¡@\¡@¨â­Ó¶}ÀYªº Fib ¼Æ¦r

         BEGIN   OVER U.           ¡@\¡@¦L¥X¸û¤pªº¼Æ¦r

                 SWAP OVER +       ¡@\¡@­pºâ¤U¤@­Ó Fib ¼Æ

                 DUP 50000 U>        \  ¦pªG¼Æ¦r¤Ó¤jÂ÷¶}

         UNTIL                     ¡@\¡@§_«h­«ÂÐ

         2DROP                     ¡@\¡@©ß±ó¦¹¼Æ¦r

         ;

 

  : Fib2 ( n -- , ¦L¥X©Ò¦³¤p©ó¥¿¾ã¼Æ n ªº¶OÃ伯¦C )

         1                           \  ³Ì¥ýªº¼Æ¦r

         SWAP 1                      \  ³]©w½d³ò

         DO      DUP U.              \  ¦L¥X¥Ø«e2ªº¼Æ

                 I                   \  ¤U¤@­Ó Fib ¼Æ

                 SWAP                \  ¹w³Æ¤U¤@­Ó¨ì¨Ó

         +LOOP                       \  §â²{¦³ªº¥[¦Ü°jªð°ïÅ|ªº³»ºÝ

                &nbs