?_Dÿÿÿÿ³4+lpM `ˆ Ø‚Ž‚ ‡ 1G‚ ‚ÿ‚ŽC ̃1Gƒ1G(G1ƒ‚ä„€€„€€€ˆ€€€€€À„ÿÿ„ÿÿÿˆÿÿÿÿÿoÿÿ†ðÿƒÿÿƒÿ„ððÿ†ðððÿƒðÿùÿ‚ÿ÷ÿ‚ûÿ÷ÿƒû¿ÿóÿƒñ»ÿò ÿƒ¿!ÿƒñ»ÿü ÿƒ¿ÿõ ÿƒñ»ÿü ÿƒ»ÿü ÿ„ñ»¿!ÿƒ»ÿý ÿ„¿ÿû ÿ„ñ»ÿ÷ ÿ„¿ÿûÿƒ»ÿòÿ„ñ» ÿ…ñ»¿ ÿ„ñ»ÿƒõÿÿ »ƒ±»ƒÿþÿñ…ÿþÿÿÿÿ…ÿýÿÿ…ÿ÷ÿÿ…ÿ÷ÿÿ‹ò/ÿ"ò""/""/"ˆò""ò/ÿÿ"ÿ…ÿûÿÿ‹ò/ÿ"ò""/""/"ˆò""ò/ÿÿ"ÿ…ÿúÿÿ“ò/ÿ"ò/ÿÿ"ÿÿ"ÿÿò/ÿò/ÿÿÿ–ò/ÿ"ò/ÿÿ"ÿÿ"ÿÿò/ÿò""ÿ"ÿ…ÿýÿÿò"’ò""ÿ"ÿÿ"ÿÿò/ÿò""/"ÿ…ÿõÿÿò"’ò""ÿ"ÿÿ"ÿÿò/ÿò/ò/"ÿ…ÿþÿÿ–ò/ÿ"ò/ÿÿ"ÿÿ"ÿÿò/ÿò/ò/"ÿ…ÿöÿÿ–ò/ÿ"ò""/"ÿÿ"ÿÿò/ÿò""/"ÿÿÿ–ò/ÿ"ò""/"ÿÿ"ÿÿò/ÿò""ÿ"ÿ…ÿýÿÿ…ÿûÿÿ…ÿ÷ÿÿ„ÿûÿ ƒÿòGÿ‚þ/&;)z4ÿÿ ‚ ÿÿÿÿ|CONTEXTæª|CTXOMAPM‡|FONTd„|KWBTREEˆŠ|KWDATAX‡|KWMAPqŠ|SYSTEMs|TOPIC²|TTLBTREE·¢|bm0?6l!äÅX;AMS94 Chapter 10å(Unregistered evaluation copy of HELLLP!(Unregistered evaluation copy of HELLLP!#CB("About_btn","&About","About()")DB(`btn_print')Zmain  ÌÌÌîÌ¡¢ºî²{©{ÿÿÿÿ 1ÿÿÿÿ=1ÿÿÿÿÿÿÿÿÿÿÿÿ=)ì· )5 8€o€€‚€‚€‚‚€€‚‚ÿHelp file produced byHELLLP!www.guysoftware.com/helllp.html(If this topic is presented in file testing theauthor should use the HELLLP! Ibutton to define a contents topic)1=Z1ƒÿÿÿÿÿÿÿÿZÿÿÿÿ¬R.)¬$ €\€˜˜€ÿnononoAMS94 Chapter 1031Chap10yesyes21/07/01BZî13ÿÿÿÿÿÿÿÿî+-Table of Contents=¬+( €*€˜˜€€‚ÿTable of ContentsX+îƒ- *€V€€‚ãX›?€‰‚ÿ10. The optional Facility word setÈ+šO l€‘€‘€ãgïÉ<€‰‚ãD;‰‚ã§·E;‰‚ãä1;‰‚ãÉ•;‰‚ãša<‰‚ÿ10.1 Introduction10.2 Additional terms and notation10.3 Additional usage requirements10.4 Additional documentation requirements10.5 Compliance and labeling10.6 GlossaryGƒá+ &€8€!ãBúL<€‰‚ÿ10.6.1 Facility wordsQš29 B€0€±ã²åb€‰‚ãUSµ‰‚ãü-Ôà‰‚ÿAT-XYKEY?PAGEQ&áƒ+ &€L€!ãì#7<€‰‚ÿ10.6.2 Facility extension words„62N l€l€±ãóLq€€‰‚ãMª‰‚ãôLq€‰‚ãõLq€‰‚ã˪ŠÆ‰‚ã¿N‰‚ÿEKEYEKEY>CHAREKEY?EMIT?MSTIME&DATE&ƒ-# €€€‚ÿ1^1Éÿÿÿÿÿÿÿÿÿÿÿÿ^ö V+-Ž+ $€W€€€ €‚‚ÿHelp file produced by HELLLP! v3.1b , a product of Guy Software, on 21/07/01 for Unregistered User.The above table of contents will be automatically completed and will also provide an excellent cross-reference for context strings and topic titles. You may leave it as your main table of contents for your help file, or you may create your own and cause it to be displayed instead by using the I button on the toolbar. This page will not be displayed as a topic. It is given a context string of _._ , but this is not presented for jump selection.ò^Î ( €å€€‚€‚ÿHINT: If you do not wish some of your topics to appear in the table of contents as displayed to your users (you may want them ONLY as PopUps), move the lines with their titles and contexts to below this point. If you do this remember to move the whole line, not part. As an alternative, you may wish to set up your own table of contents, see Help under The Structure of a Help File. Do not delete any codes in the area above the Table of Contents title, they are used internally by HELLLP!(Žö $ €€€‚‚ÿU$Î K 1ÿÿÿÿÿÿÿÿK — @10. The optional Facility word setL'ö — % €N€˜˜€‚ÿ10. The optional Facility word setQ*K è ' €T€°€ € ‚ÿ10. The optional Facility word set ;— # % €,€˜˜€‚ÿ10.1 IntroductionAè d ( €2€°˜€ € ‚ÿ10.1 Introduction L'# ° % €N€˜˜€‚ÿ10.2 Additional terms and notationV+d  + &€V€°˜€ € € ‚ÿ10.2 Additional terms and notation /° 5 ' €€˜R‘€€‚ÿNone.L'  % €N€˜˜€‚ÿ10.3 Additional usage requirementsV+5 × + &€V€°˜€ € € ‚ÿ10.3 Additional usage requirements I * $€>€Ȁ€€‚ÿ10.3.1 Character types Ò“× ò ? L€'€˜R‘€€€ãóLq€€‰€‚€€‚ÿPrograms that use more than seven bits of a character by 10.6.2.1305 EKEY have an environmental dependency.See: 3.1.2 Character types.O% A* $€J€Ȁ€€‚ÿ10.3.2 Environmental queries wIò ž. ,€’€˜R‘€€‚€€‚ÿAppend table 10.1 to table 3.5. See: 3.2.6 Environmental queries.d1A3 6€b€:°RÈȀ€€€€‚ÿTable 10.1 – Environmental query strings e+ž: D€V€zŒR©ƒÝ€3}B†Ñ‚=ƒ©€ƒƒƒ‚ÿStringValue data typeConstant?MeaningÐr]@^ Œ€ä€xR©ƒÝ€3}J†Ñ‚=ƒ©ãBúL<€‰€ƒ€€ƒƒ‚ãì#7<€‰€ƒ€€ƒƒ‚ÿFACILITYflagnofacility w]@ö ord set presentFACILITY-EXTflagnofacility extensions word set present2@/ .€€8RÈȆт=ƒ©€‚ÿ],]@ì@1Gÿÿÿÿÿÿÿÿì@žAŽF10.4 Additional documentation requirementsT/@@A% €^€˜˜€‚ÿ10.4 Additional documentation requirements^3ì@žA+ &€f€°˜€ € € ‚ÿ10.4 Additional documentation requirements ‡S@A%B4 8€Š€Ȁ€€‚€€€‚ÿ10.4.1 System documentation 10.4.1.1 Implementation-defined options €_žAÉBE Z€Ÿ€\ˆRـ:‚H€€ƒ€ãóLq€€‰€‚€€ƒ‚ÿ–encoding of keyboard events (10.6.2.1305 EKEY);–duration of a system clock tick;ŠJ%BSC@ P€”€\˜Rـ:‚H€€ƒ€€ã˪ŠÆ€‰€‚ÿ–repeatability to be expected from execution of 10.6.2.1905 MS.R&ÉB¥C, (€L€ȂH€€€‚ÿ10.4.1.2 Ambiguous conditions ‘QSC6D@ P€¢€\˜Rـ:‚H€€ƒ€€ã²åb€‰€‚ÿ–10.6.1.0742 AT-XY operation can't be performed on user output device.X,¥CŽD, (€X€ȂH€€€‚ÿ10.4.1.3 Other system documentation O!6DÝD. ,€B€\˜Rـ:‚H€€ƒ‚ÿ–no additional requirements.Q%ŽD.E, (€J€ȂH€€€‚ÿ10.4.2 Program documentation T+ÝD‚E) "€V€ȂH€€‚ÿ10.4.2.1 Environmental dependencies ŠJ.E F@ P€”€\˜Rـ:‚H€€ƒ€€ãóLq€€‰€‚ÿ–using more than seven bits of a character in 10.6.2.1305 EKEY.Y-‚EeF, (€Z€ȂH€€€‚ÿ10.4.2.2 Other program documentation O! FŽF. ,€B€\˜Rـ:‚H€€ƒ‚ÿ–no additional requirements.OeFG1ÔÿÿÿÿÿÿÿÿG™GCHARz?‰‰8Š; F€~€‘€‚H€€€ƒ€€€€ƒ‚ÿ10.6.2.1306 EKEY>CHAR «e-key-to-char»FACILITY EXTq)Ÿ‰©ŠH `€R€Œ˜RQ‚H€€€€€€€€€€€‚ÿ( u -- u false | char true )îª8Š—‹D V€U€Œ˜RQ‚H€€€€€€€€€‚ÿIf the keyboard event u corresponds to a character in the implementation-defined character set, return that character and true. Otherwise return u and false.)©ŠÀ‹& €€R‚H€‚ÿ/—‹ï‹' €€ ˜˜‚H€‚ÿEKEY?w<À‹fŒ; F€x€‘€‚H€€€ƒ€€€€ƒ‚ÿ10.6.2.1307 EKEY? «e-key-question»FACILITY EXT@Œ0 0€ €Œ˜RQ‚H€€€‚ÿ( -- flag )ˍfŒq> J€€Œ˜RQ‚H€€€€€€€‚ÿIf a keyboard event is available, return true. Otherwise return false. The event shall be returned by the next execution of EKEY."ºŠŒ“Žh ž€u€Œ˜RQ‚H€€€€€€€ã÷9€‰€ãUSµ€‰€ãóLq€€‰€€€‚ÿAfter EKEY? returns with a value of true, subsequent executions of EKEY? prior to the execution of KEY, KEY?or EKEY also return true, referring to the same event.)qŒŽ& €€R‚H€‚ÿ/“ŽëŽ' €€ ˜˜‚H€‚ÿEMIT?v;ŒŽa; F€v€‘€‚H€€€ƒ€€€€ƒ‚ÿ10.6.2.1325 EMIT? «emit-question»FACILITY EXT@뎡0 0€ €Œ˜RQ‚H€€€‚ÿ( -- flag )3ßaàÀT v€¿€Œ˜RQ‚H€€€€ã/ d€‰€€€€€€€‚ÿflag is ¡àÀ‡†true if the user output device is ready to accept data and the execution of EMIT in place of EMIT? would not have suffered an indefinite delay. If the device status is indeterminate, flag is true.)¡ Á& €€R‚H€‚ÿ,àÀ5Á' € € ˜˜‚H€‚ÿMST% Á‰Á/ .€J€‘€‚H€€€ƒƒ‚ÿ10.6.2.1905 MS FACILITY EXT= 5ÁÆÁ0 0€€Œ˜RQ‚H€€€‚ÿ( u -- )R"‰ÁÂ0 0€D€Œ˜RQ‚H€€€‚ÿWait at least u milliseconds.߯Á0Ã9 @€¿€^Œ˜RQ³~‚9€ƒ€€ƒ‚ÿNote:The actual length and variability of the time period depends upon the implementation-defined resolution of the system clock and upon other system and computer characteristics beyond the scope of this Standard.+Â[Ã( €€R‚9€‚ÿ5 0ÐÃ) "€€ ˜˜‚9€‚ÿTIME&DATEz?[à Ä; F€~€‘€‚H€€€ƒ€€€€ƒ‚ÿ10.6.2.2292 TIME&DATE «time-and-date»FACILITY EXT“3ÃÄ` €f€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿ( -- +n1 +n2 +n3 +n4 +n5 +n6 )Cà ÄàÅc ”€Á€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿReturn the current time and date. +n1 is the second {0...59}, +n2 is the minute {0...59}, +n3 is the hour {0...23}, +n4 is the day {1...31} +n5 is the month {1...12}, and +n6 is the year (e.g., 1991).(ÄÆ% €€‚H€‚ÿ1àÅ9Æ1Œÿÿÿÿÿÿÿÿ 9Æÿÿÿÿ”Æ[7ƔÆ$ €n€˜˜€ÿyesyesyesyesANS94 chapter 6 CORE31Chap6yesyes20/07/01B9ÆÖÆ1Ñÿÿÿÿÿÿÿÿ ÖÆÇ¢ATable of Contents=”ÆÇ( €*€˜˜€€‚ÿTable of Contents&ÖÆ9Ç# €€€‚ÿ®Ççǒ#ô€8 Š § Š Š "€€ãV­J¿€‰‚ÿ€ €ãW­J¿‰‚ÿ€€ãX­J¿‰‚ÿ€"€ãho€‰‚ÿ€.€ãY­J¿‰‚ÿÿÿ!##>#S'±9ǘȒ#ô€> Š § Š Š "€€ãZ­J¿€‰‚ÿ€ €ã[­J¿‰‚ÿ€€ã\­J¿‰‚ÿ€"€ãi}K‰‚ÿ€4€ã]­J¿‰‚ÿÿÿ(**/*/MOD+±çÇIɒ#ô€> Š § Š Š "€€ã^­J¿€‰‚ÿ€€ãK=ºB‰‚ÿ€ €ãÜ«J¿‰‚ÿ€*€ãÓ«J¿‰‚ÿ€4€ãÔ«J¿‰‚ÿÿÿ+!+LOOP,-.² ˜Èûɒ#ô€@ Š § Š Š "€€ãÕ«J¿€‰‚ÿ€€ãÖ«J¿‰‚ÿ€€ãi}K‰‚ÿ€(€ã׫J¿‰‚ÿ€4€ãØ«J¿‰‚ÿÿÿ."//MOD0<0=±Iɬʒ#ô€> Š § Š Š "€€ãÙ«J¿€‰‚ÿ€€ãÚ«J¿‰‚ÿ€€ãÛ«J¿‰‚ÿ€&€ã¬J¿‰‚ÿ€2€ãþ«J¿‰‚ÿÿÿ1+1-2!2*2/Œ*ûÉh˒#ô€T Š § Š Š "€€ãÿ«J¿€‰‚ÿ€€ã¬J¿‰‚ÿ€ €ã¬J¿‰‚ÿ€0€ã¬J¿‰‚ÿ€B€ã¬J¿‰‚ÿÿÿ2@2DROP2DUP2OVER2SWAP­¬Ê̒#ô€6 Š § Š Š "€€ã¬J¿€‰‚ÿ€ €ã¬J¿‰‚ÿ€€ã¬J¿‰‚ÿ€ €ã2¬J¿‰‚ÿ€,€ã)¬J¿‰‚ÿÿÿ:;<<#=¹'hËÎ̒#ô€N Š § Š Š "€€ã*¬J¿€‰‚ÿ€ €ãý‡뉂ÿ€€ãºp(‰‚ÿ€,€ãÁ”@T‰‚ÿ€B€ã­CMw‰‚ÿÿÿ>>BODY>IN>NUMBER>Rº(̈͒#ô€P Š § Š Š "€€ãsß ü€‰‚ÿ€€ã+¬J¿‰‚ÿ€€ãB\W≂ÿ€.€ãC\W≂ÿ€B€ãD\W≂ÿÿÿ?DUP@ABORTABORT"ABSÁ/ÎÌIΒ#ô€^ Š § Š Š "€€ãE\W ‚ÿ€€ãF\W≂ÿ€(€ãG\W≂ÿ€>€ãH\W≂ÿ€P€ãI\W≂ÿÿÿACCEPTALIGNALIGNEDALLOTAND¶$ˆÍÿΒ#ô€H Š § Š Š "€€ãþ‡ë€‰‚ÿ€€ãÿ‡뉂ÿ€$€ãˆ뉂ÿ€0€ãž³Ýó‰‚ÿ€<€ã¹³Ýó‰‚ÿÿÿBASEBEGINBLC!C,Œ*Iλϒ#ô€T Š § Š Š "€€ãº³Ý󀉂ÿ€€ã»³Ýó‰‚ÿ€ €ãŒ³Ýó‰‚ÿ€2€ãœ³Ýó‰‚ÿ€B€ãŸ³Ýó‰‚ÿÿÿC@CELL+CELLSCHARCHAR+Á/ÿΈ’#ô€^ Š § Š Š "€€ã¿³Ý󀉂ÿ»Ïˆ”Æ€€ãÀ³Ýó‰‚ÿ€,€ã>²Ýó‰‚ÿ€>€ã5²Ýó‰‚ÿ€J€ã6²Ýó‰‚ÿÿÿCHARSCONSTANTCOUNTCRCREATEŸ,»ÏF’#ô€X Š § Š Š "€€ãtß ü€‰‚ÿ€€ãuß ü‰‚ÿ€*€ãvß ü‰‚ÿ€6€ãwß ü‰‚ÿ€H€ãxß ü‰‚ÿÿÿDECIMALDEPTHDODOES>DROPÆ4ˆ ’#ô€h Š § Š Š "€€ãyß ü€‰‚ÿ€€ã. d‰‚ÿ€ €ã/ d‰‚ÿ€0€ã0 d‰‚ÿ€P€ã1 d‰‚ÿÿÿDUPELSEEMITENVIRONMENT?EVALUATEœ+FÉ’#ô€V Š § Š Š "€€ã2 d€‰‚ÿ€€ãé6'‰‚ÿ€"€ãê6'‰‚ÿ€2€ãùái‰‚ÿ€F€ã_Ž­‰‚ÿÿÿEXITFILLFINDFM/MODHEREœ+ †’#ô€V Š § Š Š "€€ã`Ž­€‰‚ÿ€€ãºp(‰‚ÿ€€ãºp(‰‚ÿ€(€ãºp(‰‚ÿ€B€ãºp(‰‚ÿÿÿHOLDIIFIMMEDIATEINVERT»)ÉA’#ô€R Š § Š Š "€€ãÕå31€‰‚ÿ€ €ã÷9‰‚ÿ€€ãL=ºB‰‚ÿ€,€ãM=ºB‰‚ÿ€B€ãN=ºB‰‚ÿÿÿJKEYLEAVELITERALLOOPž&†ù’#ô€L Š § Š Š "€€ãO=ºB€‰‚ÿ€€ãi}K‰‚ÿ€"€ã i}K‰‚ÿ€0€ã i}K‰‚ÿ€>€ã i}K‰‚ÿÿÿLSHIFTM*MAXMINMOD¿-Až’#ô€Z Š § Š Š "€€ã i}K€‰‚ÿ€€ã”@T‰‚ÿ€&€ã|À]‰‚ÿ€2€ã}À]‰‚ÿ€B€ã7ìÆe‰‚ÿÿÿMOVENEGATEOROVERPOSTPONEŒ*ùt’#ô€T Š § Š Š "€€ãòŠn€‰‚ÿ€€ã®CMw‰‚ÿ€€ã¯CMw‰‚ÿ€*€ã°CMw‰‚ÿ€@€ã±CMw‰‚ÿÿÿQUITR>R@RECURSEREPEAT¹'ž-’#ô€N Š § Š Š "€€ã²CMw€‰‚ÿ€€ã³CMw‰‚ÿ€$€ãio€‰‚ÿ€0€ã?š}‰‚ÿ€>€ãjo€‰‚ÿÿÿROTRSHIFTS"S>DSIGNÃ1tð’#ô€b Š § Š Š "€€ãíïW„€‰‚ÿ€€ãko€‰‚ÿ€*€ãlo€‰‚ÿ€<€ãmo€‰‚ÿ€P€ãno€‰‚ÿÿÿSM/REMSOURCESPACESPACESSTATE·%-§’#ô€J Š § Š Š "€€ãoo€€‰‚ÿ€€ã#›Óˆ‰‚ÿ€"€ã$›Óˆ‰‚ÿ€2€ãÞÆ–‘‰‚ÿ€>€ã߯–‘‰‚ÿÿÿSWAPTHENTYPEU.U<Ã1ðj ’#ô€b Š § Š Š "€€ãàÆ–‘€‰‚ÿ€€ãîqٔ‰‚ÿ€$€ãáÆ–‘‰‚ÿ€8€ãâÆ–‘‰‚ÿ€J€ã™òYš‰‚ÿÿÿUM*UM/MODUNLOOPUNTILVARIABLE·%§! ’#ô€J Š § Š Š "€€ãT£€‰‚ÿ€€ãU£‰‚ÿ€$€ãJૉ‚ÿ€2€ã,¬J¿‰‚ÿ€<€ã-¬J¿‰‚ÿÿÿWHILEWORDXOR[[']¶$j × ’#ô€H Š § Š Š "€€ã7²Ý󀉂ÿ€€ã.¬J¿‰‚ÿ€ €ã%›Óˆ‰‚ÿ€0€ã/¬J¿‰‚ÿ€<€ã0¬J¿‰‚ÿÿÿ[CHAR]]#TIB.(.Rµ#! Œ ’#ô€F Š § Š Š "€€ã1¬J¿€‰‚ÿ€€ã]¬J¿‰‚ÿ€€ãÛ-’É‚ÿ€*€ãT¬J¿‰‚ÿ€8€ãU¬J¿‰‚ÿÿÿ0<>0>2>R2R>2R@º(× F ’#ô€P Š § Š Š "€€ãÔ@T€‰‚ÿ€€ãV¬J¿‰‚ÿ€$€ãzß ü‰‚ÿ€2€ãJ\W≂ÿ€D€ã8²Ýó‰‚ÿÿÿ:NONAME<>?DOAGAINC"Æ4Œ  ’#ô€h Š § Š Š "€€ã9²Ý󀉂ÿ€€ã:²Ýó‰‚ÿ€*€ã;²Ýó‰‚ÿ€@€ã3 d‰‚ÿ€V€ã4 d‰‚ÿÿÿCASECOMPILE,CONVERTENDCASEENDOFÀ.F Ì ’#ô€\ Š § Š Š "€€ã5 d€‰‚ÿ€€ã6 d‰‚ÿ€(€ãë6'‰‚ÿ€:€ãaŽ­‰‚ÿ€H€ã i}K‰‚ÿÿÿERASEEXPECTFALSEHEXMARKERž& „’#ô€L Š § Š Š "€€ãĔ@T€‰‚ÿ€€ã~À]‰‚ÿ€€ã8ìÆe‰‚ÿ€*€ã9ìÆe‰‚ÿ€<€ã:ìÆe‰‚ÿÿÿNIPOFPADPARSEPICKÍ;Ì Q’#ô€v Š § Š Š "€€ãóŠn€‰‚ÿ€€ãŽCMw‰‚ÿ€(€ãùC¿y‰‚ÿ€J€ãµCMw‰‚ÿ€Z€ãŽo‚‚‰‚ÿÿÿQUERYREFILLRESTORE-INPUTROLLSAVE-INPUTœ+„@’#ô€V Š § Š Š "€€ãµo‚‚€‰‚ÿ€€ãpo€‰‚ÿ€,€ã&›Óˆ‰‚ÿ€:€ã'›Óˆ‰‚ÿ€F€ã(›Óˆ‰‚ÿÿÿSOURCE-IDSPANTIBQ@”ÆTOTRUE»)QÕ@’#ô€R Š § Š Š "€€ã)›Óˆ€‰‚ÿ€€ããÆ–‘‰‚ÿ€ €ã䯖‘‰‚ÿ€,€ã寖‘‰‚ÿ€@€ãšòYš‰‚ÿÿÿTUCKU.RU>UNUSEDVALUE§!@|A†#܀B Š § Š Š "€€ãV£€‰‚ÿ€€ã<²Ýó‰‚ÿ€0€ãW¬J¿‰‚ÿ€:€‚ÿ€>€‚ÿÿÿWITHIN[COMPILE]\&Õ@¢A# €€€‚ÿ1|AÓA1Wÿÿÿÿÿÿÿÿ ÿÿÿÿÓAùA&¢AùA# €€€‚ÿ1ÓA*B1lÿÿÿÿÿÿÿÿ ÿÿÿÿ*BeGV+ùA€D+ $€W€€€ €‚‚ÿHelp file produced by HELLLP! v3.1b , a product of Guy Software, on 20/07/01 for Unregistered User.The above table of contents will be automatically completed and will also provide an excellent cross-reference for context strings and topic titles. You may leave it as your main table of contents for your help file, or you may create your own and cause it to be displayed instead by using the I button on the toolbar. This page will not be displayed as a topic. It is given a context string of _._ , but this is not presented for jump selection.ò*BšF( €å€€‚€‚ÿHINT: If you do not wish some of your topics to appear in the table of contents as displayed to your users (you may want them ONLY as PopUps), move the lines with their titles and contexts to below this point. If you do this remember to move the whole line, not part. As an alternative, you may wish to set up your own table of contents, see Help under The Structure of a Help File. Do not delete any codes in the area above the Table of Contents title, they are used internally by HELLLP!(€DÂF$ €€€‚‚ÿ>šFG* $€(€°€ € € ‚ÿ6. Glossary >ÂF>G( €,€°˜€ € ‚ÿ6.1 Core words 'GeG$ €€R€‚ÿ2>G—G1îÿÿÿÿÿÿÿÿ —GÀG}I!)eGÀG% €€˜˜€‚ÿ!c%—G#H> L€J€‘€‚H€€€€ƒ€€€€ƒ‚ÿ6.1.0010 ! «store»CORETÀGwH< H€0€Œ˜RQ‚H€€€€€€€‚ÿ( x a-addr -- )O#HÆH6 <€2€Œ˜RQ‚H€€€€€‚ÿStore x at a-addr.Œ;wHRIQ r€v€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ㉀€€ã+¬J¿€‰€‚ÿSee:3.3.3.1 Address alignment, 6.1.0650 @+ÆH}I( €€R‚9€‚ÿ2RI¯I1ÿÿÿÿÿÿÿÿ¯IØI(M#)}IØI% €€˜˜€‚ÿ#e*¯I=J; F€T€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0030 # «number-sign»CORESØIJ< H€.€Œ˜RQ‚H€€€€€€€‚ÿ( ud1 -- ud2 )Òe=JbLm š€Ë€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€€€€‚ÿDivide ud1 by the number in BASE giving the quotient ud2 and the remainder n. (n is the least-significant digit of ud1.) Convert n to external form and add the resulting character to the beginning of the pictured numeric output string. An ambiguous condition exists if # executes outside of a <# #> delimited number conversion.›>JýL] Š€|€^Œ˜RQ³~‚9€ƒƒ€ãX­J¿€‰€€ãho€€‰€€ã2¬J¿€‰€‚ÿSee:6.1.0040 #>, 6.1.0050 #S, 6.1.0490 <#.+bL(M( €€R‚9€‚ÿ3ýL[M1Âÿÿÿÿÿÿÿÿ[M…M7€#>*(M…M% € €˜˜€‚ÿ#>n3[MóM; F€f€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0040 #> «number-sign-greater»COREW…MJN< H€6€Œ˜RQ‚H€€€€€€€‚ÿ( xd -- c-addr u )ÈóMQO? L€‘€Œ˜RQ‚H€€€€€€€‚ÿDrop xd. Make the pictured numeric output string available as a character string. c-addr and u specify the resulting character string. A program may replace characters within the string.š=JN €] Š€z€^Œ˜RQ³~‚9€ƒƒ€ãW­J¿€‰€€ãho€€‰€€ã2¬J¿€‰€‚ÿSee:6.1.0030 #, 6.1.0050 #S, 6.1.0490 <#.QO €(M+QO7€( €€R‚9€‚ÿ3 €j€1åÿÿÿÿÿÿÿÿj€”€Hƒ#S*7€”€% € €˜˜€‚ÿ#Sh-j€ü€; F€Z€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0050 #S «number-sign-s»CORES”€O< H€.€Œ˜RQ‚H€€€€€€€‚ÿ( ud1 -- ud2 )4ãü€ƒ‚Q p€Ç€Œ˜RQ‚H€€€€€€€€€€€€€‚ÿConvert one digit of ud1 according to the rule for #. Continue conversion until the quotient is zero. ud2 is zero. An ambiguous condition exists if #S executes outside of a <# #> delimited number conversion.š=Oƒ] Š€z€^Œ˜RQ³~‚9€ƒƒ€ãW­J¿€‰€€ãX­J¿€‰€€ã2¬J¿€‰€‚ÿSee:6.1.0030 #, 6.1.0040 #>, 6.1.0490 <#.+ƒ‚Hƒ( €€R‚9€‚ÿ2ƒzƒ1‡ÿÿÿÿÿÿÿÿzƒ£ƒù†')Hƒ£ƒ% €€˜˜€‚ÿ'^#zƒ„; F€F€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0070 ' «tick»CORE]!£ƒ^„< H€B€Œ˜RQ‚H€€€€€€€‚ÿ( «name» -- xt )Œ„e…K d€y€Œ˜RQ‚H€€€€€€€€€€€‚ÿSkip leading space delimiters. Parse name delimited by a space. Find name and return xt, the execution token for name. An ambiguous condition exists if name is not found.s=^„؅6 <€z€Œ˜RQ‚H€€€€€‚ÿWhen interpreting, ' xyz EXECUTE is equivalent to xyz.öƒe…Άs Ž€€^Œ˜RQ³~‚9€ƒ€€ƒ€ã€á牀€€€€ã7ìÆe€‰€€ã-¬J¿€‰€€€€‚ÿSee:3.4 The Forth text interpreter, 3.4.1 Parsing, A.6.1.2033 POSTPONE, A.6.1.2510 ['], D.6.7 Immediacy.+؅ù†( €€R‚9€‚ÿ2Ά+‡1&ÿÿÿÿÿÿÿÿ+‡T‡IŠ()ù†T‡% €€˜˜€‚ÿ(_$+‡³‡; F€H€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0080 ( «paren»CORE¬dT‡_ˆH `€È€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€‚ÿCompilation:Perform the execution semantics given below.Execution:( «ccc» -- )O³‡ìˆ> L€ž€Œ˜RQ‚9€€€€€€€‚ÿParse ccc delimited by ) (right parenthesis). ( is an immediate word.‘__ˆ}‰2 4€Ÿ€Œ˜RQ‚9€€€‚ÿThe number of characters in ccc may be zero to the number of characters in the parse area.v.ìˆó‰H `€\€^Œ˜RQ³~‚9€ƒƒ€ãK5所€€€€‚ÿSee:3.4.1 Parsing, 11.6.1.0080 (.+}‰Š( €€R‚9€‚ÿ+ó‰IŠ( €€R‚9€‚ÿ2Š{Š1ÿÿÿÿÿÿÿÿ{ЀЇŒ*)IŠ€Š% €€˜˜€‚ÿ*^#{Š‹; F€F€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0090 * «star»CORE-€Š‹` €Z€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿ( n1|u1 n2|u2 -- n3|u3 )ŠF‹5Œ` €Œ€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿMultiply n1|u1 by n2|u2 giving the product n3|u3.)‹^Œ& €€R‚H€‚ÿ)5Œ‡Œ& €€R‚H€‚ÿ3^ŒºŒ17ÿÿÿÿÿÿÿÿºŒäŒâÀ*/*‡ŒäŒ% € €˜˜€‚ÿ*/e*ºŒI; F€T€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0100 */ «star-slash»COREw#äŒÀT x€F€Œ˜RQ‚H€€€€€€€€€€€€€€€‚ÿ( n1 n2 n3 -- n4 )ZÍI&À 耛€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€‚ÿMultiply n1 by n2 producing the intermediate double-cell result d. Divide d by n3 giving the single-cell quotient n4. An ambiguous condition exists if n3 is zero or if the quotient n4 lies outside the range of a signed number. If d and n3 differ in sign, the implementation-defined result returned will be the same as that returned by either the phrase >R M* R> FM/MOD SWAP DROP or the phrase >R MÀ&À‡Œ* R> SM/REM SWAP DROP.f'ÀŒÀ? N€N€^Œ˜RQ³~‚9€ƒ€ƒ€ã1Ë&㉀‚ÿSee:3.2.2.1 Integer division.+&À·À( €€R‚9€‚ÿ+ŒÀâÀ( €€R‚9€‚ÿ6·ÀÁ1\ÿÿÿÿÿÿÿÿÁEÁpÅ*/MOD-âÀEÁ% €€˜˜€‚ÿ*/MODl1Á±Á; F€b€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0110 */MOD «star-slash-mod»CORE~'EÁ/ÂW ~€N€Œ˜RQ‚H€€€€€€€€€€€€€€€€‚ÿ( n1 n2 n3 -- n4 n5 )…ï±ÁŽÄ– ú€ß€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€‚ÿMultiply n1 by n2 producing the intermediate double-cell result d. Divide d by n3 producing the single-cell remainder n4 and the single-cell quotient n5. An ambiguous condition exists if n3 is zero, or if the quotient n5 lies outside the range of a single-cell signed integer. If d and n3 differ in sign, the implementation-defined result returned will be the same as that returned by either the phrase >R M* R> FM/MOD or the phrase >R M* R> SM/REM. f'/ÂÅ? N€N€^Œ˜RQ³~‚9€ƒ€ƒ€ã1Ë&㉀‚ÿSee:3.2.2.1 Integer division.+ŽÄEÅ( €€R‚9€‚ÿ+ÅpÅ( €€R‚9€‚ÿ2EÅ¢Å1Mÿÿÿÿÿÿÿÿ¢ÅËÅçÇ+)pÅËÅ% €€˜˜€‚ÿ+^#¢Å)Æ; F€F€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0120 + «plus»COREŽ.ËÅ·Æ` €\€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿ ( n1|u1 n2|u2 -- n3|u3 )ž>)ÆUÇ` €|€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿAdd n2|u2 to n1|u1, giving the sum n3|u3.g(·ÆŒÇ? N€P€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ㉀‚ÿSee:3.3.3.1 Address alignment.+UÇçÇ( €€R‚9€‚ÿ3ŒÇÈ1ïÿÿÿÿÿÿÿÿÈDÈÊ+!*çÇDÈ% € €˜˜€‚ÿ+!e*È©È; F€T€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0130 +! «plus-store»COREVDÈÿÈ< H€4€Œ˜RQ‚H€€€€€€€‚ÿ( n|u a-addr -- )q5©ÈpÉ< H€j€Œ˜RQ‚H€€€€€€€‚ÿAdd n|u to the single-cell number at a-addr.g(ÿÈ×É? N€P€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ〉‚ÿSee:3.3.3.1 Address alignment.+pÉÊ( €€R‚9€‚ÿ6×É8Ê1Àÿÿÿÿÿÿÿÿ8ÊeÊ +LOOP-ÊeÊ% €€˜˜€‚ÿ+LOOPg,8ÊÌÊ; F€X€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0140 +LOOP «plus-loop»CORE¯meÊ{ËB T€Ú€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( C: do-sys -- )PÌÊËÌB R€€Œ˜RQ‚9€€€€€€€‚ÿAppend the run-time semantics given below to the current definition. Resolve the destination of all unresolved occurrences of LEAVE between the location given by do-sys and the next location for a transfer of control, to execute the words following +LOOP. Š?{ËUÍK f€~€^Œ˜RQ³~‚9€ƒ€ƒ€€€€€€€€‚ÿRun-time:( n -- ) ( R: loop-sys1 -- | loop-sys2 )¬uËÌÏ7 <€ë€Œ˜RQ‚9€€€‚ÿAn ambiguous condition exists if the loop control parameters are unavailable. Add n to the loop index. If the loop index did not cross the boundary between the loop limit minus one and the loop limit, continue execution at the beginning of the loop. Otherwise, discard the current loop control parameters and continue execution immediately following the loop. @UÍžÏ] Š€€€^Œ˜RQ³~‚9€ƒ€ƒãvß ü€‰€€ãºp(€‰€€ãL=ºB€‰€‚ÿSee:6.1.1240 DO, 6.1.1680 I, 6.1.1760 LEAVE.+ÏÉÏ( €€R‚9€‚ÿ+žÏ ( €€R‚9€‚ÿÉÏ Ê2ÉÏ>1(ÿÿÿÿÿÿÿÿ>g^,) g% €€˜˜€‚ÿ,_$>Æ; F€H€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0150 , «comma»CORE= g0 0€€Œ˜RQ‚H€€€‚ÿ( x -- )]Æ`F Z€/€Œ˜RQ‚H€€€€€€€€€‚ÿReserve one cell of data space and store x in the cell. If the data-space pointer is aligned when , begins execution, it will remain aligned when , finishes execution. An ambiguous condition exists if the data-space pointer is not aligned prior to execution of ,.šQW ~€¢€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ㉀€€€€ãH\W €‚ÿSee:3.3.3 Data space, 3.3.3.1 Address alignment. 6.1.0710 ALLOT+`3( €€R‚9€‚ÿ+^( €€R‚9€‚ÿ231‡ÿÿÿÿÿÿÿÿ¹-)^¹% €€˜˜€‚ÿ-_$; F€H€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0160 - «minus»COREŽ.¹Š` €\€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿ ( n1|u1 n2|u2 -- n3|u3 )¬LR` €˜€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿSubtract n2|u2 from n1|u1, giving the difference n3|u3.g(й? N€P€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ㉀‚ÿSee:3.3.3.1 Address alignment.+Rä( €€R‚9€‚ÿ+¹( €€R‚9€‚ÿ2äA1ÛÿÿÿÿÿÿÿÿAj.)j% €€˜˜€‚ÿ.]"AÇ; F€D€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0180 . «dot»CORE= j0 0€€Œ˜RQ‚H€€€‚ÿ( n -- )T$ÇX0 0€H€Œ˜RQ‚H€€€‚ÿDisplay n in free field format.‘LéE Z€˜€^Œ˜RQ³~‚9€ƒ€ƒ€ã.öÌ剀€€‚ÿSee:3.2.1.2 Digit conversion, 3.2.1.3 Free-field number display.+X( €€R‚9€‚ÿ3éG10ÿÿÿÿÿÿÿÿGqp ."*q% € €˜˜€‚ÿ."d)GÕ; F€R€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0190 ." «dot-quote»COREºrq H `€ä€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( «ccc» -- )¯vÕ> 9 B€ì€Œ˜RQ‚9€€€€€‚ÿParse ccc delimited by " (double-quote). Append the run-time semantics given below to the current definition.H † 3 6€*€^Œ˜RQ³~‚9€ƒ€ƒ‚ÿRun-time:( -- )C> É 2 4€"€Œ˜RQ‚9€€€‚ÿDisplay ccc.|.† E N l€\€^Œ˜RQ³~‚9€ƒ€ƒ€ãK5所€ã/¬J¿€‰€‚ÿSee:3.4.1 Parsing, 6.2.0200 .(.+É p ( €€R‚9€‚ÿ2E ¢ 14ÿÿÿÿÿÿÿÿ¢ Ë Î/)p Ë % €€˜˜€‚ÿ/_$¢ * ; F€H€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0230 / «slash»CORE`Ë Š E Z€6€Œ˜RQ‚H€€€€€€€€€€‚ÿ( n1 n2 -- n3 )³C* =p ®€‡€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€€€€€‚ÿDivide n1 by n2, giving the single-cell quotient n3. An ambiguous condition exists if n2 is zero. If n1 and n2 differ in sign, the implementation-defined result returned will be the same as that returned by either the phrase >R S>D R> FM/MOD SWAP DROP or the phrase >R S>D R> SM/REM SWAP DROP.f'Š £? N€N€^Œ˜RQ³~‚9€ƒ€ƒ€ã1Ë&㉀‚ÿSee:3.2.2.1 Integer division.+=Î( €€R‚9€‚ÿ5£1Žÿÿÿÿÿÿÿÿ/lB/MOD,Î/% €€˜˜€‚ÿ/MODf+•; F€V€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0240 /MOD «slash-mod»COREo!/@N l€B€Œ˜RQ‚H€€€€€€€€€€€€€‚ÿ( n1 n2 -- n3 n4•@Î )ËR•ÛAy À€¥€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€€€€€€€€‚ÿDivide n1 by n2, giving the single-cell remainder n3 and the single-cell quotient n4. An ambiguous condition exists if n2 is zero. If n1 and n2 differ in sign, the implementation-defined result returned will be the same as that returned by either the phrase >R S>D R> FM/MOD or the phrase >R S>D R> SM/REM.f'@AB? N€N€^Œ˜RQ³~‚9€ƒ€ƒ€ã1Ë&㉀‚ÿSee:3.2.2.1 Integer division.+ÛAlB( €€R‚9€‚ÿ3ABŸB1ÑÿÿÿÿÿÿÿÿŸBÉBiD0<*lBÉB% € €˜˜€‚ÿ0<d)ŸB-C; F€R€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0250 0< «zero-less»COREJÉBwC6 <€(€Œ˜RQ‚H€€€€€‚ÿ( n -- flag )i6-CàC3 6€l€Œ˜RQ‚H€€€€‚ÿflag is true if and only if n is less than zero.^wC>DB T€8€^Œ˜RQ³~‚9€ƒ€ƒ€ãØ«J¿€‰€‚ÿSee:6.1.0270 0=+àCiD( €€R‚9€‚ÿ3>DœD1Óÿÿÿÿÿÿÿÿ œDÆDhF0=*iDÆD% € €˜˜€‚ÿ0=f+œD,E; F€V€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0270 0= «zero-equals»COREJÆDvE6 <€(€Œ˜RQ‚H€€€€€‚ÿ( x -- flag )h5,EÞE3 6€j€Œ˜RQ‚H€€€€‚ÿflag is true if and only if x is equal to zero._vE=FB T€:€^Œ˜RQ³~‚9€ƒ€ƒ€ã1¬J¿€‰€‚ÿSee:6.1.0250 0<.+ÞEhF( €€R‚9€‚ÿ3=F›F1áÿÿÿÿÿÿÿÿ!›FÅFuH1+*hFÅF% € €˜˜€‚ÿ1+c(›F(G; F€P€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0290 1+ «one-plus»COREp"ÅF˜GN l€D€Œ˜RQ‚H€€€€€€€€€€€€€‚ÿ ( n1|u1 -- n2|u2 )‡9(GHN l€r€Œ˜RQ‚H€€€€€€€€€€€€€‚ÿAdd one (1) to n1|u1 giving the sum n2|u2.V˜GuH: D€8€R‚H€ƒ€ƒ€ãÚ«J¿€‰€‚ÿSee:6.1.0300 1-3HšH1ðÿÿÿÿÿÿÿÿ"šHÒH‘J1-*uHÒH% € €˜˜€‚ÿ1-d)šH6I; F€R€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0300 1- «one-minus»COREp"ÒHŠIN l€D€Œ˜RQ‚H€€€€€€€€€€€€€‚ÿ ( n1|u1 -- n2|u2 )•G6I;JN l€Ž€Œ˜RQ‚H€€€€€€€€€€€€€‚ÿSubtract one (1) from n1|u1 giving the difference n2|u2.VŠI‘J: D€8€R‚H€ƒ€ƒ€ãÙ«J¿€‰€‚ÿSee:6.1.0290 1+3;JÄJ1³ÿÿÿÿÿÿÿÿ#ÄJîJpM2!*‘JîJ% € €˜˜€‚ÿ2!d)ÄJRK; F€R€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0310 2! «two-store»CORE`îJ²KB T€<€Œ˜RQ‚H€€€€€€€€€‚ÿ( x1 x2 a-addr -- ) šRKŒLb ’€Q€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿStore the cell pair x1 x2 at a-addr, with x2 at a-addr and x1 at the next consecutive cell. It is equivalent to the sequence SWAP OVER ! CELL+ !.‰;²KEMN l€v€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ㉀€ãÿ«J¿€‰€‚ÿSee:3.3.3.1 Address alignment, 6.1.0350 2@+ŒLpM( €€R‚9€‚ÿ3EM£M1üÿÿÿÿÿÿÿÿ$£MÍM˜O2**pMÍM% € €˜˜€‚ÿ2*c(£M0N; F€P€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0320 2* «two-star»COREQÍMN< H€*€Œ˜RQ‚H€€€€€€€‚ÿ( x1 -- x2 )Á†0NBO; D€ €Œ˜RQ‚H€€€€€€‚ÿx2 is the result of shifting x1 one bit toward the most-significant bit, filling the vacated least-significant bit with zero.VN˜O: D€8€R‚H€ƒ€ƒ€ãþ«J¿€‰€‚ÿSee:6.1.0330 2/3BOËO1ÿÿÿÿÿÿÿÿ%ËO €ρ2/*˜O €% € €˜˜€‚ÿ2/ËO €˜Od)ËOp€; F€R€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0330 2/ «two-slash»COREQ €Á€< H€*€Œ˜RQ‚H€€€€€€€‚ÿ( x1 -- x2 )ž~p€y: D€ü€Œ˜RQ‚H€€€€€€‚ÿx2 is the result of shifting x1 one bit toward the least-significant bit, leaving the most-significant bit unchanged.VÁ€ρ: D€8€R‚H€ƒ€ƒ€ã¬J¿€‰€‚ÿSee:6.1.0320 2*3y‚1Ÿÿÿÿÿÿÿÿÿ&‚,‚¹„2@*ρ,‚% € €˜˜€‚ÿ2@d)‚‚; F€R€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0350 2@ «two-fetch»CORE`,‚ð‚B T€<€Œ˜RQ‚H€€€€€€€€€‚ÿ( a-addr -- x1 x2 )ސ‚„b ’€i€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿFetch the cell pair x1 x2 stored at a-addr. x2 is stored at a-addr and x1 at the next consecutive cell. It is equivalent to the sequence DUP CELL+ @ SWAP @.ˆ:ð‚Ž„N l€t€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ㉀€ãÛ«J¿€‰€‚ÿSee:3.3.3.1 Address alignment, 6.1.0310 2!.+„¹„( €€R‚9€‚ÿ6Ž„ï„1zÿÿÿÿÿÿÿÿ'ï„…e†2DROP-¹„…% €€˜˜€‚ÿ2DROPf+ï„‚…; F€V€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0370 2DROP «two-drop»COREQ…Ӆ< H€*€Œ˜RQ‚H€€€€€€€‚ÿ( x1 x2 -- )i-‚…<†< H€Z€Œ˜RQ‚H€€€€€€€‚ÿDrop cell pair x1 x2 from the stack.)Ӆe†& €€R‚H€‚ÿ5<†š†1«ÿÿÿÿÿÿÿÿ(š†Ɔ@ˆ2DUP,e†Ɔ% €€˜˜€‚ÿ2DUPe*š†+‡; F€T€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0380 2DUP «two-dupe»CORE-Ɔž‡` €Z€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿ( x1 x2 -- x1 x2 x1 x2 )_#+‡ˆ< H€F€Œ˜RQ‚H€€€€€€€‚ÿDuplicate cell pair x1 x2.)ž‡@ˆ& €€R‚H€‚ÿ6ˆvˆ1ûÿÿÿÿÿÿÿÿ)vˆ£ˆmŠ2OVER-@ˆ£ˆ% €€˜˜€‚ÿ2OVERf+vˆ ‰; F€V€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0400 2OVER «two-over»COREÉE£ˆ҉„ ؀Š€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€‚ÿ( x1 x2 x3 x4 -- x1 x2 x3 x4 x1 x2 )r6 ‰DŠ< H€l€Œ˜RQ‚H€€€€€€€‚ÿCopy cell pair x1 x2 to the top of the stack.)҉mŠ& €€R‚H€‚ÿ6DŠ£Š1áÿÿÿÿÿÿÿÿ*£ŠЊ€Œ2SWAP-mŠЊ% €€˜˜€‚ÿ2SWAPf+£Š6‹; F€V€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0430 2SWAP «two-swap»CORE«9Њá‹r Ž€r€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€€€€€€€‚ÿ( x1 x2 x3 x4 -- x3 x4 x1 x2 )M#6‹.Œ* $€F€Œ˜RQ‚H€‚ÿExchange the top two cell pairs.)á‹WŒ& €€R‚H€‚ÿ).Œ€Œ& €€R‚H€‚ÿ2WŒ²Œ1¥ÿÿÿÿÿÿÿÿ+²Œی[Ä:)€Œی% €€˜˜€‚ÿ:_$²Œ:; F€H€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0450 : «colon»COREg+ی¡< H€V€Œ˜RQ‚H€€€€€€€‚ÿ( C: «name» -- colon-sys )p$:L f€I€Œ˜RQ‚H€€€€€€€€€€€‚ÿSkip leading space delimiters. Parse name delimited by a space. Create a definition for name, called a «colon definition». Enter compilation state and start the current definition, producing colon-sys. Append the initiation semantics given below to the current definition.0÷¡MÀ9 @€ï€Œ˜RQ‚H€€€€€‚ÿThe execution semantics of name will be determined by the words compiled into the body of the definition. The current definition shall not be findable in the dictionary until iMÀ€Œt is ended (or until the execution of DOES> in some systems).ƒ;ÐÀH `€v€^Œ˜RQ³~‚9€ƒ€€ƒ€€€€€€‚ÿInitiation:( i*x -- i*x ) ( R: -- nest-sys )ΎMÀžÁ@ N€€Œ˜RQ‚9€€€€€€€‚ÿSave implementation-dependent information nest-sys about the calling definition. The stack effects i*x represent arguments to name.n)ÐÀ ÂE Z€R€^Œ˜RQ³~‚9€ƒ€€€ƒ€€€€‚ÿname Execution:( i*x -- j*x )ɃžÁÕÂF Z€€Œ˜RQ‚9€€€€€€€€€‚ÿExecute the definition name. The stack effects i*x and j*x represent arguments to and results from name, respectively.0€ ÂÄŒ æ€I€^Œ˜RQ³~‚9€ƒƒ€ã€á牀€ãK5所€㓠ã‰€€ãwß ü€‰€€ã,¬J¿€‰€€ã.¬J¿€‰€€€€‚ÿSee:3.4 The Forth text interpreter, 3.4.1 Parsing, 3.4.5 Compilation, 6.1.1250 DOES>, 6.1.2500 [, 6.1.2540 ], 15.6.2.0470 ;CODE.+ÕÂ0Ä( €€R‚9€‚ÿ+Ä[Ä( €€R‚9€‚ÿ20čÄ19ÿÿÿÿÿÿÿÿ,Ä¶ÄŸÈ;)[ĶÄ% €€˜˜€‚ÿ;c(ÄÅ; F€P€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0460 ; «semicolon»CORE²p¶ÄËÅB T€à€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( C: colon-sys -- )GÅÇ6 :€#€Œ˜RQ‚9€€€‚ÿAppend the run-time semantics below to the current definition. End the current definition, allow it to be found in the dictionary and enter interpretation state, consuming colon-sys. If the data-space pointer is not aligned, reserve enough data space to align it.e,ËÅwÇ9 B€X€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿRun-time:( -- ) ( R: nest-sys -- )n<ÇåÇ2 4€x€Œ˜RQ‚9€€€‚ÿReturn to the calling definition specified by nest-sys.®TwÇ“ÈZ „€š€^Œ˜RQ³~‚9€ƒ€ƒ€ã€á牀€㓠ã‰€€ã¬J¿€‰€‚ÿSee:3.4 The Forth text interpreter, 3.4.5 Compilation, 6.1.0450 :+åÇŸÈ( €€R‚9€‚ÿ2“ÈðÈ1îÿÿÿÿÿÿÿÿ-ðÈÉÖÊ<)ŸÈÉ% €€˜˜€‚ÿ<c(ðÈ|É; F€P€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0480 < «less-than»CORE^ÉÚÉB T€8€Œ˜RQ‚H€€€€€€€€€‚ÿ( n1 n2 -- flag )x9|ÉRÊ? N€r€Œ˜RQ‚H€€€€€€€€‚ÿflag is true if and only if n1 is less than n2.YÚÉ«Ê? N€4€^Œ˜RQ³~‚9€ƒƒ€ã߯–‘€‰€‚ÿSee:6.1.2340 U<.+RÊÖÊ( €€R‚9€‚ÿ3«Ê Ë1&ÿÿÿÿÿÿÿÿ. Ë3Ë(Í<#*ÖÊ3Ë% € €˜˜€‚ÿ<#k0 ËžË; F€`€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0490 <# «less-number-sign»CORE3 3ËÑË* $€€Œ˜RQ‚H€‚ÿ( -- )g=žË8Ì* $€z€Œ˜RQ‚H€‚ÿInitialize the pictured numeric output conversion process.š=ÑËÒÌ] Š€z€^Œ˜RQ³~‚9€ƒƒ€ãW­J¿€‰€€ãX­J¿€‰€€ãho€€‰€‚ÿSee:6.1.0030 #, 6.1.0040 #>, 6.1.0050 #S.+8ÌýÌ( €€R‚9€‚ÿ+ÒÌ(Í( €€R‚9€‚ÿ2ýÌZÍ1Çÿÿÿÿÿÿÿÿ/Z̓ÍÏ=)(̓Í% €€˜˜€‚ÿ=`%ZÍãÍ; F€J€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0530 = «equals»CORE^ƒÍAÎB T€8€Œ˜RQ‚H€€€€€€€€€‚ÿ( x1 x2 -- flag )†GãÍÇÎ? N€Ž€Œ˜RQ‚H€€€€€€€€‚ÿflag is true if and only if x1 is bit-for-bit the same as x2.)AÎðÎ& €€R‚H€‚ÿ)ÇÎÏ& €€R‚H€‚ÿ2ðÎKÏ1ÿÿÿÿÿÿÿÿ0KÏtÏn>)ÏtÏ% €€˜˜€‚ÿ>f+KÏÚÏ; F€V€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0540 > «greater-than»CORE^tÏDB T€8€Œ˜RQ‚H€ÚÏDÏ€€€€€€€€‚ÿ( n1 n2 -- flag ){<ÚÏ¿? N€x€Œ˜RQ‚H€€€€€€€€‚ÿflag is true if and only if n1 is greater than n2.YD? N€4€^Œ˜RQ³~‚9€ƒƒ€ã䯖‘€‰€‚ÿSee:6.2.2350 U>.+¿C( €€R‚9€‚ÿ+n( €€R‚9€‚ÿ6C€1eÿÿÿÿÿÿÿÿ1€Ñ>BODY-nÑ% €€˜˜€‚ÿ>BODYe*€6; F€T€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0550 >BODY «to-body»COREMу6 <€.€Œ˜RQ‚H€€€€€‚ÿ( xt -- a-addr )΍6QA P€€Œ˜RQ‚H€€€€€€€€‚ÿa-addr is the data-field address corresponding to xt. An ambiguous condition exists if xt is not for a word defined via CREATE. ^ƒ¯? N€>€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ㉀‚ÿSee:3.3.3 Data space.+QÚ( €€R‚9€‚ÿ+¯( €€R‚9€‚ÿ4Ú91·ÿÿÿÿÿÿÿÿ29dê>IN+d% € €˜˜€‚ÿ>INa&9Å; F€L€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0560 >IN «to-in»COREBd0 0€$€Œ˜RQ‚H€€€‚ÿ( -- a-addr )º‹ÅÁ/ ,€€Œ˜RQ‚H€€‚ÿa-addr is the address of a cell containing the offset in characters from the start of the input buffer to the start of the parse area.)ê& €€R‚H€‚ÿ8Á"1ÿÿÿÿÿÿÿÿ3"Q0 >NUMBER/ êQ% €€˜˜€‚ÿ>NUMBERj/"»; F€^€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0570 >NUMBER «to-number» CORE™9QT` €r€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿ( ud1 c-addr1 u1 -- ud2 c-addr2 u2 )K°»Ÿ › a€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€‚ÿud2 is the unsigned result of converting the characters within the string specified by c-addr1 u1 into digits, using the number in BASE, and adding each into ud1 after multiplying ud1 by the number in BASE. Conversion continues left-to-right until a character that is not convertible, including any «+» or «-», is encountered or the string is entirely converted. c-addr2 is the location of the first unconverted character or the first character past the end of the string if the string was entirely converted. u2 is the number of unconverted characters in the string. An ambiguous condition exists if ud2 overflows during the conversion. f'T ? N€N€^Œ˜RQ³~‚9€ƒ€ƒ€ã.öÌ剀‚ÿSee:3.2.1.2 Digit conversion.+Ÿ 0 ( €€R‚9€‚ÿ3 c 1ÿÿÿÿÿÿÿÿ4c  \>R*0  % € €˜˜€‚ÿ>R_$c ì ; F€H€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0580 >R «to-r»CORE»s § H `€æ€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Execution:( x -- ) ( R: -- x )R ì ù 2 4€@€Œ˜RQ‚9€€€‚ÿMove x to the return stack. § Œ 怀^Œ˜RQ³~‚9€ƒ€ƒ€ã£ËÑæ‰€€ã®CMw€‰€€ã¯CMw€‰€€ãÛ-’À‰€€ãT¬J¿€‰€€ãU¬J¿€‰€‚ÿSee:3.2.3.3 Return stack, 6.1.2060 R>, 6.1.2070 R@, 6.2.0340 2>R, 6.2.0410 2R>, 6.2.0415 2R@.+ù 1( €€R‚9€‚ÿ+\( €€R‚9€‚ÿ51‘1lÿÿÿÿÿÿÿÿ5‘œ @?DUP,\œ% €€˜˜€‚ÿ?DUPj/‘'; F€^€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0630 ?DUP «question-dupe»COREUœ|< H€2€Œ˜RQ‚H€€€€€€€‚ÿ( x -- 0 | x x )S#'Ï0 0€F€Œ˜RQ‚H€€€‚ÿDuplicate x if it is non-zero.)| @& €€R‚H€‚ÿÏ @\2Ï>@1âÿÿÿÿÿÿÿÿ6>@g@B@) @g@% €€˜˜€‚ÿ@_$>@Æ@; F€H€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0650 @ «fetch»CORELg@A6 <€,€Œ˜RQ‚H€€€€€‚ÿ( a-addr -- x )Y&Æ@kA3 6€L€Œ˜RQ‚H€€€€‚ÿx is the value stored at a-addr.‚7AíAK f€n€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ㉀€ãV­J¿‰€‚ÿSee:3.3.3.1 Address alignment. 6.1.0010 !+kAB( €€R‚9€‚ÿ6íANB1jÿÿÿÿÿÿÿÿ7NB{BŽDABORT-B{B% €€˜˜€‚ÿABORTLNBÇB/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.0670 ABORT COREU{BC6 <€>€Œ˜RQ‚H€€€€€‚ÿ( i*x -- ) ( R: j*x -- )Ÿ†ÇBÚC8 >€ €Œ˜RQ‚H€ãòŠn€‰€‚ÿEmpty the data stack and perform the function of QUIT, which includes emptying the return stack, without displaying a message.„6C^DN l€l€^Œ˜RQ³~‚9€ƒ€€ƒ€€€€ãC\W €‚ÿSee:9.6.2.0670 ABORT, 6.1.0680 ABORT"+ÚC‰D( €€R‚9€‚ÿ+^DŽD( €€R‚9€‚ÿ7‰DëD1nÿÿÿÿÿÿÿÿ8ëDEVIABORT". ŽDE% €€˜˜€‚ÿABORT"j/ëDƒE; F€^€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0680 ABORT" «abort-quote»COREºrE=FH `€ä€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( «ccc» -- )³zƒEðF9 B€ô€Œ˜RQ‚9€€€€€‚ÿParse ccc delimited by a " (double-quote). Append the run-time semantics given below to the current definition. —C=F‡GT x€†€^Œ˜RQ³~‚9€ƒ€ƒ€€€€€€€€€€€‚ÿRun-time:( i*x x1 -- | i*x ) ( R: j*x -- | j*x )®ðF‡HR r€]€Œ˜RQ‚9€€€€€€€€€ãB\W €‚ÿRemove x1 from the stack. If any bit of x1 is not zero, display ccc and perform an implementation-defined abort sequence that includes the function of ABORT.€J‡G+IZ „€”€^Œ˜RQ³~‚9€ƒ€€ƒ€ãK5所€€€€ãB\W €‚ÿSee:3.4.1 Parsing, 9.6.2.0680 ABORT", 6.1.0670 ABORT +‡HVI( €€R‚9€‚ÿ4+IŠI1Vÿÿÿÿÿÿÿÿ9ŠIµIÚJABS+VIµI% € €˜˜€‚ÿABS_$ŠIJ; F€H€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0690 ABS «abs»COREGµI[J6 <€"€Œ˜RQ‚H€€€€€‚ÿ( n -- u )V#J±J3 6€F€Œ˜RQ‚H€€€€‚ÿu is the absolute value of n.)[JÚJ& €€R‚H€‚ÿ7±JK1|ÿÿÿÿÿÿÿÿ:K?KŠOACCEPT. ÚJ?K% €€˜˜€‚ÿACCEPTMKŒK/ .€<€‘€‚H€€€ƒƒ‚ÿ6.1.0695 ACCEPT COREb ?KîKB T€@€Œ˜RQ‚H€€€€€€€€€‚ÿ( c-addr +n1 -- +n2 )㢌KÑMA P€E€Œ˜RQ‚H€€€€€€€‚ÿReceive a string of at most +n1 characters. An ambiguous condition exists if +n1 is zero or greater than 32,767. Display graphic characters as they are received. A program that depends on the presence or absence of non-graphic characters in the string has an environmental dependency. The editing functions, if any, that the system performs in order to construct the string are implementation-defined.ùÌîKÊN- (€™€Œ˜RQ‚H€‚ÿInput terminates when an implementation-defined line terminator is received. When input terminates, nothing is appended to the string, and the display is maintained in an implementation-defined way.n8ÑM8O6 <€p€Œ˜RQ‚H€€€€€‚ÿ+n2 is the length of the string stored at c-addr.)ÊNaO& €€R‚H€‚ÿ)8OŠO& €€R‚H€‚ÿ6aOÀO1 ÿÿÿÿÿÿÿÿ;ÀO €úALIGN-ŠO €% €€˜˜€‚ÿALIGNÀO €ŠOLÀOX€/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.0705 ALIGN CORE3 €‹€* $€€Œ˜RQ‚H€‚ÿ( -- )xNX€* $€œ€Œ˜RQ‚H€‚ÿIf the data-space pointer is not aligned, reserve enough space to align it.¡S‹€€N l€Š€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ㉀€ãG\W €‚ÿSee:3.3.3 Data space, 3.3.3.1 Address alignment, 6.1.0706 ALIGNED.+ρ( €€R‚9€‚ÿ+€ú( €€R‚9€‚ÿ8ρ2‚1$ÿÿÿÿÿÿÿÿ<2‚a‚T„ALIGNED/ úa‚% €€˜˜€‚ÿALIGNEDN2‚¯‚/ .€>€‘€‚H€€€ƒƒ‚ÿ6.1.0706 ALIGNED COREOa‚þ‚6 <€2€Œ˜RQ‚H€€€€€‚ÿ( addr -- a-addr ){H¯‚yƒ3 6€€Œ˜RQ‚H€€€€‚ÿa-addr is the first aligned address greater than or equal to addr.…=þ‚þƒH `€z€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝã‰ãF\W €‚ÿSee:3.3.3.1 Address alignment, 6.1.0705 ALIGN.+yƒ)„( €€R‚9€‚ÿ+þƒT„( €€R‚9€‚ÿ6)„Š„1Nÿÿÿÿÿÿÿÿ=Š„·„ԈALLOT-T„·„% €€˜˜€‚ÿALLOTLŠ„…/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.0710 ALLOT CORE= ·„@…0 0€€Œ˜RQ‚H€€€‚ÿ( n -- )É…T†K d€“€Œ˜RQ‚H€€€€€€€€€€€‚ÿIf n is greater than zero, reserve n address units of data space. If n is less than zero, release |n| address units of data space. If n is zero, leave the data-space pointer unchanged.é«@…=‡> J€W€Œ˜RQ‚H€€€€€€€‚ÿIf the data-space pointer is aligned and n is a multiple of the size of a cell when ALLOT begins execution, it will remain aligned when ALLOT finishes execution.ÅT†Aˆ? L€‹€Œ˜RQ‚H€€€€€€€‚ÿIf the data-space pointer is character aligned and n is a multiple of the size of a character when ALLOT begins execution, it will remain character aligned when ALLOT finishes execution.h#=‡©ˆE Z€F€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝã‰ãÜ«J¿‰€‚ÿSee:3.3.3 Data space, ,+AˆԈ( €€R‚9€‚ÿ4©ˆ‰1’ÿÿÿÿÿÿÿÿ>‰3‰”ŠAND+Ԉ3‰% € €˜˜€‚ÿANDJ‰}‰/ .€6€‘€‚H€€€ƒƒ‚ÿ6.1.0720 AND CORE`3‰݉E Z€6€Œ˜RQ‚H€€€€€€€€€€‚ÿ( x1 x2 -- x3 )Ž@}‰kŠN l€€€Œ˜RQ‚H€€€€€€€€€€€€€‚ÿx3 is the bit-by-bit logical «and» of x1 with x2.)݉”Š& €€R‚H€‚ÿ5kŠɊ1tÿÿÿÿÿÿÿÿ?ɊõŠ8ŒBASE,”ŠõŠ% €€˜˜€‚ÿBASEKɊ@‹/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.0750 BASE COREBõŠ‚‹0 0€$€Œ˜RQ‚H€€€‚ÿ( -- a-addr )_@‹Œ. ,€Ÿ€Œ˜RQ‚H€€‚ÿa-addr is the address of a cell containing the current number-conversion radix {{2...36}}.)‚‹8Œ& €€R‚H€‚ÿ6ŒnŒ1‡ÿÿÿÿÿÿÿÿ@nŒ›Œ ÀBEGIN-8Œ›Œ% €€˜˜€‚ÿBEGINLnŒçŒ/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.0760 BEGIN CORE­k›Œ”B T€Ö€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( C: -- dest )ӟçŒgŽ4 6€?€Œ˜RQ‚9€€€‚ÿPut the next location for a transfer of control, dest, onto the control flow stack. Append the run-time semantics given below to the current definition.H”¯Ž3 6€*€^Œ˜RQ³~‚9€ƒ€ƒ‚ÿRun-time:( -- )BgŽñŽ, (€,€Œ˜RQ‚9€‚ÿContinue execution.Õi¯ŽƏl š€Ò€^Œ˜RQ³~‚9€ƒ€ƒ€ã£ËÑæ‰€€ã±CMw€‰€€ãâÆ–‘€‰€€ãT£€‰€‚ÿSee:3.2.3.2 Control-flow stack, 6.1.2140 REPEAT, 6.1.2390 UNTIL, 6.1.2430 WHILE.+ñŽ À( €€R‚9€‚ÿƏ À8Œ3Ə?À1QÿÿÿÿÿÿÿÿA?ÀiÀ‰ÁBL* ÀiÀ% € €˜˜€‚ÿBL^#?ÀÇÀ; F€F€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0770 BL «b-l»CORE@iÀÁ0 0€ €Œ˜RQ‚H€€€‚ÿ( -- char )Y,ÇÀ`Á- *€X€Œ˜RQ‚H€€‚ÿchar is the character value for a space.)Á‰Á& €€R‚H€‚ÿ3`ÁŒÁ1KÿÿÿÿÿÿÿÿBŒÁæÁÄC!*‰ÁæÁ% € €˜˜€‚ÿC!b'ŒÁHÂ; F€N€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0850 C! «c-store»COREOæÁ—Â6 <€2€Œ˜RQ‚H€€€€€‚ÿ( char c-addr -- )Ø HÂoÃ8 >€A€Œ˜RQ‚H€€€€€‚ÿStore char at c-addr. When character size is smaller than cell size, only the number of low-order bits corresponding to character size are transferred.f'—ÂÕÃ? N€N€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ㉀‚ÿSee:3.3.3.1 Address alignment+oÃÄ( €€R‚9€‚ÿ3ÕÃ3Ä1ÿÿÿÿÿÿÿÿC3Ä]Ä@ÇC,*Ä]Ä% € €˜˜€‚ÿC,b'3Ä¿Ä; F€N€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0860 C, «c-comma»CORE@]ÄÿÄ0 0€ €Œ˜RQ‚H€€€‚ÿ( char -- )•O¿Ä”ÆF Z€Ÿ€Œ˜RQ‚H€€€€€€€€€‚ÿReserve space for one character in the data space and store char in the space. If the data-space pointer is character aligned when C, begins execution, it will remain character aligned when C, finishes execution. An ambiguous condition exists if the data-space pointer is not character-aligned prior to execution of C,.<ÿÄÇE Z€x€^Œ˜RQ³~‚9€ƒ€ƒ€ãæûÝ㉀€€‚ÿSee:3.3.3 Data space, 3.3.3.1 Address alignment.+”Æ@Ç( €€R‚9€‚ÿ3ÇsÇ1(ÿÿÿÿÿÿÿÿDsǝǔÉC@*@ǝÇ% € €˜˜€‚ÿC@b'sÇÿÇ; F€N€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0870 C@ «c-fetch»COREOÇNÈ6 <€2€Œ˜RQ‚H€€€€€‚ÿ( c-addr -- char )ŒŠÿÇ É2 2€€Œ˜RQ‚H€€€‚ÿFetch the character stored at c-addr. When the cell size is greater than character size, the unused high-order bits are all zeroes._&NÈiÉ9 B€L€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿSee:3.3.3.1 Address alignment.+ É”É( €€R‚9€‚ÿ6iÉÊÉ10ÿÿÿÿÿÿÿÿEÊÉ÷ÉöËCELL+-”É÷É% €€˜˜€‚ÿCELL+g,ÊÉ^Ê; F€X€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0880 CELL+ «cell-plus»CORE[÷ɹÊ< H€>€Œ˜RQ‚H€€€€€€€‚ÿ( a-addr1 -- a-addr2 )ˆL^ÊAË< H€˜€Œ˜RQ‚H€€€€€€€‚ÿAdd the size in address units of a cell to a-addr1, giving a-addr2._&¹Ê Ë9 B€L€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿSee:3.3.3.1 Address alignment.+AËËË( €€R‚9€‚ÿ+ ËöË( €€R‚9€‚ÿ6ËË,Ì1ÿÿÿÿÿÿÿÿF,ÌY̵ÍCELLS-öËYÌ% €€˜˜€‚ÿCELLSL,Ì¥Ì/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.0890 CELLS COREQYÌöÌ< H€*€Œ˜RQ‚H€€€€€€€‚ÿ( n1 -- n2 )m4¥ÌcÍ9 B€h€Œ˜RQ‚H€€€€€€‚ÿn2 is the size in address units of n1 cells.)öÌŒÍ& €€R‚H€‚ÿ)c͵Í& €€R‚H€‚ÿ5ŒÍêÍ1tÿÿÿÿÿÿÿÿGêÍÎeCHAR,µÍÎ% €€˜˜€‚ÿCHARa&êÍwÎ; F€L€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0895 CHAR «char»CORE_#ÎÖÎ< H€F€Œ˜RQ‚H€€€€€€€‚ÿ( «name» -- char )­|w΃Ï1 2€ø€Œ˜RQ‚H€€€‚ÿSkip leading space delimiters. Parse name delimited by a space. Put the value of its first character onto the stack.€2ÖÎN l€d€^Œ˜RQ³~‚9€ƒ€€ƒ€€€ã7²Ý󀉀€‚ÿSee:3.4.1 Parsing, 6.1.2520 [CHAR].ƒÏµÍ+ƒÏ:( €€R‚9€‚ÿ+e( €€R‚9€‚ÿ6:›15ÿÿÿÿÿÿÿÿH›ÈÌCHAR+-eÈ% €€˜˜€‚ÿCHAR+g,›/; F€X€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0897 CHAR+ «char-plus»CORE[ÈŠ< H€>€Œ˜RQ‚H€€€€€€€‚ÿ( c-addr1 -- c-addr2 )Q/< H€¢€Œ˜RQ‚H€€€€€€€‚ÿAdd the size in address units of a character to c-addr1, giving c-addr2._&Šv9 B€L€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿSee:3.3.3.1 Address alignment.+¡( €€R‚9€‚ÿ+vÌ( €€R‚9€‚ÿ6¡1©ÿÿÿÿÿÿÿÿI/§CHARS-Ì/% €€˜˜€‚ÿCHARSc(’; F€P€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0898 CHARS «chars»COREQ/ã< H€*€Œ˜RQ‚H€€€€€€€‚ÿ( n1 -- n2 )r9’U9 B€r€Œ˜RQ‚H€€€€€€‚ÿn2 is the size in address units of n1 characters.)ã~& €€R‚H€‚ÿ)U§& €€R‚H€‚ÿ9~à19ÿÿÿÿÿÿÿÿJàCONSTANT0 §% €€˜˜€‚ÿCONSTANTO à_/ .€@€‘€‚H€€€ƒƒ‚ÿ6.1.0950 CONSTANT CORE\ »< H€@€Œ˜RQ‚H€€€€€€€‚ÿ( x «name» -- )ʒ_…8 >€%€Œ˜RQ‚H€€€€€‚ÿSkip leading space delimiters. Parse name delimited by a space. Create a definition for name with the execution semantics defined below.e,»ê9 B€X€Œ˜RQ‚H€€€€€€‚ÿname is referred to as a «constant».`!…J? N€B€^Œ˜RQ³~‚9€ƒ€€€ƒ€€‚ÿname Execution:( -- x )Lê–2 4€4€Œ˜RQ‚9€€€‚ÿPlace x on the stack.WJí< H€6€^Œ˜RQ³~‚9€ƒ€€ƒ€€‚ÿSee:3.4.1 Parsing.+–( €€R‚9€‚ÿ6íN1|ÿÿÿÿÿÿÿÿKN{Æ COUNT-{% €€˜˜€‚ÿCOUNTLNÇ/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.0980 COUNT COREd#{+ A R€F€˜RS‚H€€€€€€€€€‚ÿ( c-addr1 -- c-addr2 u )rǝ _ Œ€'€˜RS‚H€€€€€€€€€€€€€€€€€€‚ÿReturn the character string specification for the counted string stored at c-addr1. c-addr2 is the address of the first character after c-addr1. u is the contents of the character at c-addr1, which is the length in characters of the string at c-addr2.)+ Æ & €€R‚H€‚ÿ3 ù 1ZÿÿÿÿÿÿÿÿLù # L CR*Æ # % € €˜˜€‚ÿCR^#ù  ; F€F€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.0990 CR «c-r»CORE2 # ³ ) "€€˜RS‚H€‚ÿ( -- )pG # ) "€Ž€˜RS‚H€‚ÿCause subsequent output to appear at the beginning of the next line.)³ L & €€R‚H€‚ÿ7# ƒ 1]ÿÿÿÿÿÿÿÿMƒ ± Ò@CREATE. L ± % €€˜˜€‚ÿCREATEMƒ þ / .€<€‘€‚H€€€ƒƒ‚ÿ6.1.1000 CREATE COREQ± O 5 :€8€˜RS‚H€€€€€‚ÿ( «name» -- )±`þ Q p€Á€˜RS‚H€€€€€€€€€€€€€‚ÿSkip leading space delimiters. Parse name delimited by a space. Create a definition for name with the execution semantics defined below. If the data-space pointer is not aligned, reserve enough data space to align it. The new data-space pointer defines name’s data field. CREATE does not allocate data space in name’s data field.e&O e? N€L€^Œ˜RQ³~‚9€ƒ€€€ƒ€€‚ÿname Execution:( -- a-addr )Œx-@D X€ð€˜RS‚9€€€€€€€€€‚ÿa-addr is the address of name’s data field. The execution semantics of name maye-@L  be extended by using DOES>.z2e§@H `€d€^Œ˜RQ³~‚9€ƒ€ƒ€€€ãwß ü€‰€‚ÿSee:3.3.3 Data space, 6.1.1250 DOES>.+-@Ò@( €€R‚9€‚ÿ8§@ A18ÿÿÿÿÿÿÿÿN A9A@BDECIMAL/ Ò@9A% €€˜˜€‚ÿDECIMALN A‡A/ .€>€‘€‚H€€€ƒƒ‚ÿ6.1.1170 DECIMAL CORE2 9A¹A) "€€˜RS‚H€‚ÿ( -- )^5‡AB) "€j€˜RS‚H€‚ÿSet the numeric conversion radix to ten (decimal).)¹A@B& €€R‚H€‚ÿ6BvB1‚ÿÿÿÿÿÿÿÿOvB£BôCDEPTH-@B£B% €€˜˜€‚ÿDEPTHLvBïB/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.1200 DEPTH CORE=£B,C/ .€€˜RS‚H€€€‚ÿ( -- +n )ŸlïBËC3 6€Ø€˜RS‚H€€€€‚ÿ+n is the number of single-cell values contained in the data stack before +n was placed on the stack.),CôC& €€R‚H€‚ÿ3ËC'D1[ÿÿÿÿÿÿÿÿP'DQD{IDO*ôCQD% € €˜˜€‚ÿDOI'DšD/ .€4€‘€‚H€€€ƒƒ‚ÿ6.1.1240 DO CORE|JQDE2 4€”€\˜RS±~‚9€ƒ€ƒ‚ÿInterpretation:Interpretation semantics for this word are undefined.]$šDsE9 B€H€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿCompilation:( C: -- do-sys ) ÍE€F@ N€›€˜RS‚9€€€€€€€‚ÿPlace do-sys onto the control-flow stack. Append the run-time semantics given below to the current definition. The semantics are incomplete until resolved by a consumer of do-sys such as LOOP.ŸBsEG] Š€„€^Œ˜RQ³~‚9€ƒ€ƒ€€€€€€€€€€€€€€‚ÿRun-time:( n1|u1 n2|u2 -- ) ( R: -- loop-sys )‹€FªHv º€+€˜RS‚9€€€€€€€€€€€€€€€€€€€€€€€€€‚ÿSet up loop control parameters with index n2|u2 and limit n1|u1. An ambiguous condition exists if n1|u1 and n2|u2 are not both the same type. Anything already on the return stack becomes unavailable until the loop-control parameters are discarded.ŠPGPIV |€ €\ŒRS±~‚9€ƒ€ƒ€€€ãK=ºB€‰€€ãN=ºB€‰€‚ÿSee:3.2.3.2 Control-flow stack, 6.1.0140 +LOOP, 6.1.1800 LOOP.+ªH{I( €€R‚9€‚ÿ6PI±I1ÌÿÿÿÿÿÿÿÿQ±IÞI}‚DOES>-{IÞI% €€˜˜€‚ÿDOES>b'±I@J; F€N€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.1250 DOES> «does»COREπÞIKO l€€^Œ˜RQ³~‚9€ƒ€ƒ‚ƒ€€ƒ€€€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( C: colon-sys1 -- colon-sys2 )F@JŸLJ b€€˜RS‚9€€€€€€€€€€‚ÿAppend the run-time semantics below to the current definition. Whether or not the current definition is rendered findable in the dictionary by the compilation of DOES> is implementation defined. Consume colon-sys1 and produce colon-sys2. Append the initiation semantics given below to the current definition.h,KM< H€X€^Œ˜RQ³~‚9€ƒ€ƒ€€€‚ÿRun-time:( -- ) ( R: nest-sys1 -- )šDŸL¡NV z€‰€˜RS‚9€€€€€€€€€€€€€€‚ÿReplace the execution semantics of the most recent definition, referred to as name, with the name execution semantics given below. Return control to the calling definition specified by nest-sys1. An ambiguous condition exists if name was not defined with CREATE or a user-defined word that calls CREATE.—FM8OQ r€Œ€^Œ˜RQ³~‚9€ƒ€€ƒ€€€€€€€€€‚ÿInitiation:( i*x -- i*x a-addr ) ( R: -- nest-sys2 )áNS€L f€‡€˜RS‚9€€€€€€€€€€€‚ÿSave implementation-dependent information nest-sys2 about the calling definition. Place name’s data field address o8OS€{In the stack. The stack effects i*x represent arguments to name.n)8OÁ€E Z€R€^Œ˜RQ³~‚9€ƒ€€€ƒ€€€€‚ÿname Execution:( i*x -- j*x )0äS€ñL f€É€˜RS‚9€€€€€€€€€€€‚ÿExecute the portion of the definition that begins with the initiation semantics appended by the DOES> which modified name. The stack effects i*x and j*x represent arguments to and results from name, respectively.aÁ€R‚B T€>€^Œ˜RQ³~‚9€ƒ€ƒ€ã6²Ý󀉀‚ÿSee:6.1.1000 CREATE.+ñ}‚( €€R‚9€‚ÿ5R‚²‚1-ÿÿÿÿÿÿÿÿR²‚ނڃDROP,}‚ނ% €€˜˜€‚ÿDROPK²‚)ƒ/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.1260 DROP CORE< ނeƒ/ .€€˜RS‚H€€€‚ÿ( x -- )L)ƒ±ƒ/ .€:€˜RS‚H€€€‚ÿRemove x from the stack.)eƒڃ& €€R‚H€‚ÿ4±ƒ„1JÿÿÿÿÿÿÿÿS„9„R…DUP+ڃ9„% € €˜˜€‚ÿDUP`%„™„; F€J€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.1290 DUP «dupe»COREP9„é„; F€*€˜RS‚H€€€€€€€‚ÿ( x -- x x )@™„)…/ .€"€˜RS‚H€€€‚ÿDuplicate x.)é„R…& €€R‚H€‚ÿ5)…‡…1^ÿÿÿÿÿÿÿÿT‡…³…à‰ELSE,R…³…% €€˜˜€‚ÿELSEK‡…þ…/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.1310 ELSE COREÄv³…†N l€ì€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( C: orig1 -- orig2 )±`þ…sˆQ p€Á€˜RS‚9€€€€€€€€€€€€‚ÿPut the location of a new unresolved forward reference orig2 onto the control flow stack. Append the run-time semantics given below to the current definition. The semantics will be incomplete until orig2 is resolved (e.g., by THEN). Resolve the forward reference orig1 using the location following the appended run-time semantics.H†»ˆ3 6€*€^Œ˜RQ³~‚9€ƒ€ƒ‚ÿRun-time:( -- )~Jsˆ9‰4 8€”€˜RS‚9€€€€‚ÿContinue execution at the location given by the resolution of orig2.|.»ˆµ‰N l€\€^Œ˜RQ³~‚9€ƒ€ƒãºp(€‰€€ã#›Óˆ€‰€‚ÿSee:6.1.1700 IF, 6.1.2270 THEN.+9‰à‰( €€R‚9€‚ÿ5µ‰Š1ÿÿÿÿÿÿÿÿUŠAŠ)ŽEMIT,à‰AŠ% €€˜˜€‚ÿEMITKŠŒŠ/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.1320 EMIT CORE= AŠɊ0 0€€Œ˜RQ‚H€€€‚ÿ( x -- )욌е‹D V€Q€Œ˜RQ‚H€€€€€€€€€‚ÿIf x is a graphic character in the implementation-defined character set, display x. The effect of EMIT for all other values of x is implementation-defined.æ«Ɋ›; D€W€Œ˜RQ‚H€€€€€‚ÿWhen passed a character whose character-defining bits have a value between hex 20 and 7E inclusive, the corresponding standard character, specified by 3.1.2.1 Graphic characters, is displayed. Because different output devices can respond differently to control characters, programs that use control characters to perform specific functions have an environmental dependency. Each EMIT deals with only one character.cµ‹þE Z€<€^Œ˜RQ³~‚9€ƒ€ƒ€€ã$›Óˆ€‰€‚ÿSee:6.1.2310 TYPE.+›)Ž( €€R‚9€‚ÿ= þfŽ1üÿÿÿÿÿÿÿÿVfŽšŽkÂENVIRONMENT?4)ŽšŽ% €€˜˜€‚ÿENVIRONMENT?v;fŽ; F€v€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.1345 ENVIRONMENT? «environment-query»COREu-šŽ…H `€Z€Œ˜RQ‚H€€€€€€€€€€€‚ÿ( c-addr u -- false | i*x true )±SBÂ^ Š€§€Œ˜RQ‚H€€€€€€€€€€€€€€€€‚ÿc-addr is the address of a …BÂ)Žcharacter string and u is the string’s character count. u may have a value in the range from zero to an implementation-defined maximum which shall not be less than 31. The character string should contain a keyword from 3.2.6 Environmental queries or the optional word sets to be checked for correspondence with an attribute of the present environment. If the system treats the attribute as unknown, the returned flag is false; otherwise, the flag is true and the i*x returned is of the type specified in the table for the attribute queried.)…kÂ& €€R‚H€‚ÿ9B€Â1ÂÿÿÿÿÿÿÿÿW€ÂÔÂeÇEVALUATE0 kÂÔÂ% €€˜˜€‚ÿEVALUATEO €Â#Ã/ .€@€‘€‚H€€€ƒƒ‚ÿ6.1.1360 EVALUATE COREd"Ô‡ÃB T€D€Œ˜RQ‚H€€€€€€€€€‚ÿ( i*x c-addr u -- j*x )²f#Ã9ÅL f€Í€Œ˜RQ‚H€€€€€€€€€€€‚ÿSave the current input source specification. Store minus-one (-1) in SOURCE-ID if it is present. Make the string described by c-addr and u both the input source and input buffer, set >IN to zero, and interpret. When the parse area is empty, restore the prior input source specification. Other stack effects are due to the words EVALUATEd.)‡ÃbÅ& €€R‚H€‚ÿN9ŰÅ/ .€>€‘€‚H€€€ƒƒ‚ÿ6.1.1370 EXECUTE COREVbÅÆ< H€4€Œ˜RQ‚H€€€€€€€‚ÿ( i*x xt -- j*x )¶°ÅŒÆ7 >€þ€Œ˜RQ‚H€€€€€‚ÿRemove xt from the stack and perform the semantics identified by it. Other stack effects are due to the word EXECUTEd.~-Æ:ÇQ r€Z€^Œ˜RQ³~‚9€ƒ€ƒ€ãY­J¿€‰€€ã-¬J¿€‰€‚ÿSee:6.1.0070 ', 6.1.2510 ['].+ŒÆeÇ( €€R‚9€‚ÿ5:ÇšÇ1ÝÿÿÿÿÿÿÿÿXšÇÆÇrÊEXIT,eÇÆÇ% €€˜˜€‚ÿEXITKšÇÈ/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.1380 EXIT CORE¶tÆÇÇÈB T€è€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Execution:( -- ) ( R: nest-sys -- )ýŒÈÄÉA P€y€Œ˜RQ‚9€€€€€€€‚ÿReturn control to the calling definition specified by nest-sys. Before executing EXIT within a do-loop, a program shall discard the loop-control parameters by executing UNLOOP.ƒ8ÇÈGÊK f€p€^Œ˜RQ³~‚9€ƒ€ƒ€€€€ãáÆ–‘€‰€‚ÿSee:3.2.3.3 Return stack, 6.1.2380 UNLOOP.+ÄÉrÊ( €€R‚9€‚ÿ5GʧÊ1¶ÿÿÿÿÿÿÿÿY§ÊÓÊXÌFILL,rÊÓÊ% €€˜˜€‚ÿFILLK§ÊË/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.1540 FILL COREYÓÊwË< H€:€Œ˜RQ‚H€€€€€€€‚ÿ( c-addr u char -- )·tË.ÌC V€è€Œ˜RQ‚H€€€€€€€€€‚ÿIf u is greater than zero, store char in each of u consecutive characters of memory beginning at c-addr.*wËXÌ' €€ ˜R‚H€‚ÿ5.̍Ì1øÿÿÿÿÿÿÿÿZÌ¹ÌzFIND,X̹Ì% €€˜˜€‚ÿFINDKÌÍ/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.1550 FIND COREw5¹Ì{ÍB T€j€Œ˜RQ‚H€€€€€€€€€‚ÿ( c-addr -- c-addr 0 | xt 1 | xt -1 ) ֏ÍQÏG \€€Œ˜RQ‚H€€€€€€€€€‚ÿFind the definition named in the counted string at c-addr. If the definition is not found, return c-addr and zero. If the definition is found, return its execution token xt. If the definition is immediate, also return one (1), otherwise also return minus-one (-1). For a given string, the values returned by FIND while compiling may differ from those returned while not compiling.ñ‚{ÍNo ¬€€^Œ˜RQ³~‚9€ƒ€ƒ€€€ãY­J¿€‰€€ã-¬J¿€‰€€ã7ìÆe€‰€€€‚ÿSee:3.4.2 Finding definition names, A.6.1.0070 ', AQÏNXÌ.6.1.2510 ['], A.6.1.2033 POSTPONE, D.6.7 Immediacy.,QÏz) "€€ ˜R‚9€‚ÿ7N±1Bÿÿÿÿÿÿÿÿ[±ßðFM/MOD. zß% €€˜˜€‚ÿFM/MODl1±K; F€b€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.1561 FM/MOD «f-m-slash-mod»COREo!ߺN l€B€Œ˜RQ‚H€€€€€€€€€€€€€‚ÿ( d1 n1 -- n2 n3 )^K] ˆ€€Œ˜RQ‚H€€€€€€€€€€€€€€€€€‚ÿDivide d1 by n1, giving the floored quotient n3 and the remainder n2. Input and output stack arguments are signed. An ambiguous condition exists if n1 is zero or if the quotient lies outside the range of a single-cell signed integer. ¬RºÄZ „€€€^Œ˜RQ³~‚9€ƒ€€ƒ€€€ãíïW„€‰€€ãîqٔ€‰€‚ÿSee:3.2.2.1 Integer division, 6.1.2214 SM/REM, 6.1.2370 UM/MOD.,ð) "€€ ˜R‚9€‚ÿ5Ä%1œÿÿÿÿÿÿÿÿ\%QŒHERE,ðQ% €€˜˜€‚ÿHEREK%œ/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.1650 HERE CORE@QÜ0 0€ €Œ˜RQ‚H€€€‚ÿ( -- addr )P#œ,- *€F€Œ˜RQ‚H€€‚ÿaddr is the data-space pointer.d(ܐ< H€P€^Œ˜RQ³~‚9€ƒ€€ƒ€€‚ÿSee:3.3.3.2 Contiguous regions.,,Œ) "€€ ˜R‚9€‚ÿ5ñ1Þÿÿÿÿÿÿÿÿ]ñÊHOLD,Œ% €€˜˜€‚ÿHOLDKñh/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.1670 HOLD CORE@š0 0€ €Œ˜RQ‚H€€€‚ÿ( char -- )ø®h J b€]€Œ˜RQ‚H€€€€€ã2¬J¿€‰ãX­J¿‰€‚ÿAdd char to the beginning of the pictured numeric output string. An ambiguous condition exists if HOLD executes outside of a <# #> delimited number conversion.*šÊ' €€ ˜R‚H€‚ÿ2 ü1Cÿÿÿÿÿÿÿÿ^ü%7 I)Ê%% €€˜˜€‚ÿIHüm/ .€2€‘€‚H€€€ƒƒ‚ÿ6.1.1680 I COREމ%K U x€€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Execution:( -- n|u ) ( R: loop-sys -- loop-sys )ÁŠm 7 <€€Œ˜RQ‚9€€€€‚ÿn|u is a copy of the current (innermost) loop index. An ambiguous condition exists if the loop control parameters are unavailable.+K 7 ( €€R‚9€‚ÿ3 j 1)ÿÿÿÿÿÿÿÿ_j ” ŒIF*7 ” % € €˜˜€‚ÿIFIj Ý / .€4€‘€‚H€€€ƒƒ‚ÿ6.1.1700 IF CORE­k” Š B T€Ö€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( C: -- orig )=÷Ý Ç F Z€ï€˜RS‚9€€€€€€€€€‚ÿPut the location of a new unresolved forward reference orig onto the control flow stack. Append the run-time semantics given below to the current definition. The semantics are incomplete until orig is resolved, e.g., by THEN or ELSE.RŠ  9 B€2€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿRun-time:( x -- )¢jÇ » 8 @€Ô€˜RS‚9€€€€€‚ÿIf all bits of x are zero, continue execution at the location specified by the resolution of orig.ŠO aW ~€ž€^Œ˜RQ³~‚9€ƒ€ƒ€€€ã. d€‰€€ã#›Óˆ€‰€‚ÿSee:3.2.3.2 Control flow stack, 6.1.1310 ELSE, 6.1.2270 THEN.+» Œ( €€R‚9€‚ÿ: aÆ1èÿÿÿÿÿÿÿÿ`Æ÷º@IMMEDIATE1 Œ÷% €€˜˜€‚ÿIMMEDIATEP!ÆG/ .€B€‘€‚H€€€ƒƒ‚ÿ6.1.1710 IMMEDIATE CORE3 ÷z* $€€Œ˜RQ‚H€‚ÿ( -- )މG:@+ $€€˜RS‚H€‚ÿMake the most recent definition an immediate word. An ambiguous condition exists if the z:@Œmost recent definition does not have a name.Uz@9 B€8€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿSee:D.6.7 Immediacy.+:@º@( €€R‚9€‚ÿ7@ñ@1íÿÿÿÿÿÿÿÿañ@AÛBINVERT. º@A% €€˜˜€‚ÿINVERTMñ@lA/ .€<€‘€‚H€€€ƒƒ‚ÿ6.1.1720 INVERT COREQAœA< H€*€Œ˜RQ‚H€€€€€€€‚ÿ( x1 -- x2 )y>lA6B; F€|€˜RS‚H€€€€€€€‚ÿInvert all bits of x1, giving its logical inverse x2.z/œA°BK f€^€^Œ˜RQ³~‚9€ƒ€ƒ€€€€ãØ«J¿€‰€‚ÿSee:6.1.1910 NEGATE, 6.1.0270 0=.+6BÛB( €€R‚9€‚ÿ2°B C1œÿÿÿÿÿÿÿÿb C6C¡EJ)ÛB6C% €€˜˜€‚ÿJH C~C/ .€2€‘€‚H€€€ƒƒ‚ÿ6.1.1730 J CORE¥6CDm š€K€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€€€€€€€€€€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Execution:( -- n|u ) ( R: loop-sys1 loop-sys2 -- loop-sys1 loop-sys2 )æ§~CvE? L€O€˜RS‚9€€€€€€€‚ÿn|u is a copy of the next-outer loop index. An ambiguous condition exists if the loop control parameters of the next-outer loop, loop-sys1, are unavailable.+D¡E( €€R‚9€‚ÿ4vEÕE1ÿÿÿÿÿÿÿÿcÕEFíIKEY+¡EF% € €˜˜€‚ÿKEYJÕEJF/ .€6€‘€‚H€€€ƒƒ‚ÿ6.1.1750 KEY CORE@FŠF0 0€ €Œ˜RQ‚H€€€‚ÿ( -- char )(õJF²G3 4€ë€Œ˜RQ‚H€€€‚ÿReceive one character char, a member of the implementation-defined character set. Keyboard events that do not correspond to such characters are discarded until a valid character is received, and those events are subsequently unavailable.Ž]ŠF@H1 2€º€Œ˜RQ‚H€€€‚ÿAll standard characters can be received. Characters received by KEY are not displayed. ѲGJI9 @€£€Œ˜RQ‚H€€€€€‚ÿAny standard character returned by KEY has the numeric value specified in 3.1.2.1 Graphic characters. Programs that require the ability to receive control characters have an environmental dependency.x3@HÂIE Z€f€^Œ˜RQ³~‚9€ƒ€ƒ€€€€€€‚ÿSee:10.6.2.1307 EKEY, 10.6.1.1755 KEY?.+JIíI( €€R‚9€‚ÿ6ÂI#J14ÿÿÿÿÿÿÿÿd#JPJSMLEAVE-íIPJ% €€˜˜€‚ÿLEAVEL#JœJ/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.1760 LEAVE CORE¶tPJRKB T€è€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Execution:( -- ) ( R: loop-sys -- )5âœJ‡LS t€Å€Œ˜RQ‚9€ãvß ü€‰ãN=ºB‰€ãvß ü€‰ãK=ºB‰€‚ÿDiscard the current loop control parameters. An ambiguous condition exists if they are unavailable. Continue execution immediately following the innermost syntactically enclosing DO ... LOOP or DO ... +LOOP.¡JRK(MW ~€”€^Œ˜RQ³~‚9€ƒ€ƒ€€€ãK=ºB€‰€€ãN=ºB€‰€‚ÿSee:3.2.3.3 Return stack, 6.1.0140 +LOOP, 6.1.1800 LOOP.+‡LSM( €€R‚9€‚ÿ8(M‹M1bÿÿÿÿÿÿÿÿe‹MºM €LITERAL/ SMºM% €€˜˜€‚ÿLITERALN‹MN/ .€>€‘€‚H€€€ƒƒ‚ÿ6.1.1780 LITERAL CORE§eºM¯NB T€Ê€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( x -- )sGN"O, (€Ž€Œ˜RQ‚9€‚ÿAppend the run-time semantics given below to the current definition.R¯NtO9 B€2€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿRun-time:( -- x )L"OÀO2 4€4€Œ˜RQ‚9€€€‚ÿPlace x on the stack.+tO €( €€R‚9€‚ÿÀO €SM5ÀOA€1<ÿÿÿÿÿÿÿÿfA€m€x…LOOP, €m€% €€˜˜€‚ÿLOOPKA€ž€/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.1800 LOOP CORE¯mm€gB T€Ú€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( C: do-sys -- )až€ȂN j€'€Œ˜RQ‚9€ãL=ºB€‰€€€ãN=ºB€‰€‚ÿAppend the run-time semantics given below to the current definition. Resolve the destination of all unresolved occurrences of LEAVE between the location given by do-sys and the next location for a transfer of control, to execute the words following the LOOP.‚=gJƒE Z€z€^Œ˜RQ³~‚9€ƒ€ƒ€€€€€€‚ÿRun-time:( -- ) ( R: loop-sys1 -- | loop-sys2 )b2Ȃ¬„0 .€e€Œ˜RQ‚9€‚ÿAn ambiguous condition exists if the loop control parameters are unavailable. Add one to the loop index. If the loop index is then equal to the loop limit, discard the loop parameters and continue execution immediately following the loop. Otherwise continue execution at the beginning of the loop.¡AJƒM…` €‚€^Œ˜RQ³~‚9€ƒ€ƒ€ãvß ü€‰€€ãºp(€‰€€ãL=ºB€‰€‚ÿSee:6.1.1240 DO, 6.1.1680 I, 6.1.1760 LEAVE.+¬„x…( €€R‚9€‚ÿ7M…¯…1³ÿÿÿÿÿÿÿÿg¯…݅_ˆLSHIFT. x…݅% €€˜˜€‚ÿLSHIFTf+¯…C†; F€V€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.1805 LSHIFT «l-shift»CORE[݅ž†B T€2€Œ˜RQ‚H€€€€€€€€€‚ÿ( x1 u -- x2 )8íC†ևK d€Û€Œ˜RQ‚H€€€€€€€€€€€‚ÿPerform a logical left shift of u bit-places on x1, giving x2. Put zeroes into the least significant bits vacated by the shift. An ambiguous condition exists if u is greater than or equal to the number of bits in a cell.^ž†4ˆ? N€>€^Œ˜RQ³~‚9€ƒ€ƒ€ã³CMw‰€‚ÿSee:6.1.2162 RSHIFT+և_ˆ( €€R‚9€‚ÿ34ˆ’ˆ1†ÿÿÿÿÿÿÿÿh’ˆŒˆŠM**_ˆŒˆ% € €˜˜€‚ÿM*a&’ˆ‰; F€L€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.1810 M* «m-star»CORE[Œˆx‰B T€2€Œ˜RQ‚H€€€€€€€€€‚ÿ( n1 n2 -- d )p1‰è‰? N€b€Œ˜RQ‚H€€€€€€€€‚ÿd is the signed product of n1 times n2.)x‰Š& €€R‚H€‚ÿ4è‰EŠ1qÿÿÿÿÿÿÿÿiEŠpа‹MAX+ŠpŠ% € €˜˜€‚ÿMAXJEŠºŠ/ .€6€‘€‚H€€€ƒƒ‚ÿ6.1.1870 MAX CORE`pŠ‹E Z€6€Œ˜RQ‚H€€€€€€€€€€‚ÿ( n1 n2 -- n3 )l*ºŠ†‹B T€T€Œ˜RQ‚H€€€€€€€€€‚ÿn3 is the greater of n1 and n2.*‹°‹' €€ ŒR‚H€‚ÿ4†‹ä‹1pÿÿÿÿÿÿÿÿj䋌NMIN+°‹Œ% € €˜˜€‚ÿMINJä‹YŒ/ .€6€‘€‚H€€€ƒƒ‚ÿ6.1.1880 MIN CORE`Œ¹ŒE Z€6€Œ˜RQ‚H€€€€€€€€€€‚ÿ( n1 n2 -- n3 )k)YŒ$B T€R€Œ˜RQ‚H€€€€€€€€€‚ÿn3 is the lesser of n1 and n2.*¹ŒN' €€ ŒR‚H€‚ÿ4$‚1)ÿÿÿÿÿÿÿÿk‚­—ÀMOD+N­% € €˜˜€‚ÿMODJ‚÷/ .€6€‘€‚H€€€ƒƒ‚ÿ6.1.1890 MOD CORE`­WŽE Z€6€Œ˜RQ‚H€€€€€€€€€€‚ÿ( n1 n2 -- n3 )ª:÷ Àp ®€u€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€€€€€‚ÿDivide n1 by n2, giving the single-cell remainder n3. An ambiguous condition exists if n2 is zero. If n1 and n2 differ in sign, the implementation-defined result returned will be the same as that returned by either the phrase >R S>D R> FM/MOD DROP or the phrase >R S>D R> SM/REM DROP.WŽ ÀN^%WŽkÀ9 B€J€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿSee:3.2.2.1 Integer division., À—À) "€€ ŒR‚9€‚ÿ5kÀÌÀ12ÿÿÿÿÿÿÿÿlÌÀøÀùÃMOVE,—ÀøÀ% €€˜˜€‚ÿMOVEKÌÀCÁ/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.1900 MOVE COREaøÀ€ÁB T€>€Œ˜RQ‚H€€€€€€€€€‚ÿ( addr1 addr2 u -- )®8CÁRÃv º€q€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€€€€€€€‚ÿIf u is greater than zero, copy the contents of u consecutive address units at addr1 to the u consecutive address units at addr2. After MOVE completes, the u consecutive address units at addr2 contain exactly what the u consecutive address units at addr1 contained before the move.{6€ÁÍÃE Z€l€^Œ˜RQ³~‚9€ƒ€ƒ€€€€€€‚ÿSee:17.6.1.0910 CMOVE, 17.6.1.0920 CMOVE>.,RÃùÃ) "€€ ŒR‚9€‚ÿ7ÍÃ0Ä1ðÿÿÿÿÿÿÿÿm0Ä^ÄÆNEGATE. ùÃ^Ä% €€˜˜€‚ÿNEGATEM0Ä«Ä/ .€<€‘€‚H€€€ƒƒ‚ÿ6.1.1910 NEGATE COREQ^ÄüÄ< H€*€Œ˜RQ‚H€€€€€€€‚ÿ( n1 -- n2 )s7«ÄoÅ< H€n€Œ˜RQ‚H€€€€€€€‚ÿNegate n1, giving its arithmetic inverse n2. ‚1üÄñÅQ r€b€^Œ˜RQ³~‚9€ƒ€ƒ€ãºp(€‰€€ãØ«J¿€‰€‚ÿSee:6.1.1720 INVERT, 6.1.0270 0=.,oÅÆ) "€€ ŒR‚9€‚ÿ3ñÅPÆ1ÿÿÿÿÿÿÿÿnPÆzÆÊÇOR*ÆzÆ% € €˜˜€‚ÿORIPÆÃÆ/ .€4€‘€‚H€€€ƒƒ‚ÿ6.1.1980 OR CORE`zÆ#ÇE Z€6€Œ˜RQ‚H€€€€€€€€€€‚ÿ( x1 x2 -- x3 )};ÃÆ ÇB T€v€Œ˜RQ‚H€€€€€€€€€‚ÿx3 is the bit-by-bit inclusive-or of x1 with x2.*#ÇÊÇ' €€ ŒR‚H€‚ÿ5 ÇÿÇ1ƒÿÿÿÿÿÿÿÿoÿÇ+È}ÉOVER,ÊÇ+È% €€˜˜€‚ÿOVERKÿÇvÈ/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.1990 OVER CORE~'+ÈôÈW ~€N€Œ˜RQ‚H€€€€€€€€€€€€€€€€‚ÿ( x1 x2 -- x1 x2 x1 )`-vÈTÉ3 6€Z€Œ˜RQ‚H€€€€‚ÿPlace a copy of x1 on top of the stack.)ôÈ}É& €€R‚H€‚ÿ9TɶÉ1Üÿÿÿÿÿÿÿÿp¶ÉæÉ‘ÌPOSTPONE0 }ÉæÉ% €€˜˜€‚ÿPOSTPONEO ¶É5Ê/ .€@€‘€‚H€€€ƒƒ‚ÿ6.1.2033 POSTPONE COREŒtæÉñÊH `€è€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( «name» -- )Ó5Ê ÌG \€§€Œ˜RQ‚9€€€€€€€€€‚ÿSkip leading space delimiters. Parse name delimited by a space. Find name. Append the compilation semantics of name to the current definition. An ambiguous condition exists if name is not found.[ñÊfÌ? N€8€^Œ˜RQ³~‚9€ƒ€€ƒ€€€‚ÿSee:3.4.1 Parsing.+ Ì‘Ì( €€R‚9€‚ÿ5fÌÆÌ1»ÿÿÿÿÿÿÿÿqÆÌòÌŸQUIT,‘ÌòÌ% €€˜˜€‚ÿQUITKÆÌ=Í/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.2050 QUIT COREKò̈Í0 0€6€Œ˜RQ‚H€€€‚ÿ( -- ) ( R: i*x -- )úÇ=Í‚Î3 4€€Œ˜RQ‚H€€€‚ÿEmpty the return stack, store zero in SOURCE-ID if it is present, make the user input device the input source, and enter interpretation state. Do not display a message. Repeat the following:—dˆÍÏ3 6€È€Œ°Ÿ‚H€€€€‚ÿ–  Accept a line from the input source into the input buffer, set >IN to zero, and interpret.ʜ‚Î . *€9€Œ°Ÿ‚H€€‚ÿ–  Display the implementation-defined system prompt if in interpretation state, all processing has been completed, and no ambiguous condition exists. Ï ‘Ìh,Ït< H€X€^Œ˜RQ³~‚9€ƒ€€ƒ€€‚ÿSee:3.4 The Forth text interpreter.+ Ÿ( €€R‚9€‚ÿ3tÒ1âÿÿÿÿÿÿÿÿrÒü­R>*Ÿü% € €˜˜€‚ÿR>a&Ò]; F€L€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2060 R> «r-from»CORE»süH `€æ€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Execution:( -- x ) ( R: x -- )f4]~2 4€h€Œ˜RQ‚9€€€‚ÿMove x from the return stack to the data stack.‚… ڀþ€^Œ˜RQ³~‚9€ƒ€ƒ€€€ã®CMw€‰€€ã¯CMw€‰€€ãÛ-’À‰€€ãT¬J¿€‰€€ãU¬J¿€‰€‚ÿSee:3.2.3.3 Return stack, 6.1.0580 >R, 6.1.2070 R@, 6.2.0340 2>R, 6.2.0410 2R>, 6.2.0415 2R@.+~­( €€R‚9€‚ÿ3‚à1íÿÿÿÿÿÿÿÿsà ÆR@*­ % € €˜˜€‚ÿR@b'àl; F€N€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2070 R@ «r-fetch»COREÅw 1N l€î€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Execution:( -- x ) ( R: x -- x )f4l—2 4€h€Œ˜RQ‚9€€€‚ÿCopy x from the return stack to the data stack.1›… ڀþ€^Œ˜RQ³~‚9€ƒ€ƒ€€€ã®CMw€‰€€ã®CMw€‰€€ãÛ-’À‰€€ãT¬J¿€‰€€ãU¬J¿€‰€‚ÿSee:3.2.3.3 Return stack, 6.1.0580 >R, 6.1.2060 R>, 6.2.0340 2>R, 6.2.0410 2R>, 6.2.0415 2R@.+—Æ( €€R‚9€‚ÿ8›þ1±ÿÿÿÿÿÿÿÿtþ-­ RECURSE/ Æ-% €€˜˜€‚ÿRECURSENþ{/ .€>€‘€‚H€€€ƒƒ‚ÿ6.1.2120 RECURSE COREa-< H€Â€^Œ˜RQ³~‚9€ƒ€ƒ‚ƒ€€ƒ‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( -- )äª{ü: B€U€Œ˜RQ‚9€€€€€‚ÿAppend the execution semantics of the current definition to the current definition. An ambiguous condition exists if RECURSE appears in a definition after DOES>.†5‚ Q r€j€^Œ˜RQ³~‚9€ƒƒ€ãwß ü€‰€€ã°CMw€‰€€‚ÿSee:6.1.1250 DOES>, 6.1.2120 RECURSE.+ü­ ( €€R‚9€‚ÿ7‚ ä 1Óÿÿÿÿÿÿÿÿuä  Ž REPEAT. ­  % €€˜˜€‚ÿREPEATMä _ / .€<€‘€‚H€€€ƒƒ‚ÿ6.1.2140 REPEAT COREºr  H `€ä€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( C: orig dest -- )Ö_ * ; D€­€Œ˜RQ‚9€€€€€‚ÿAppend the run-time semantics given below to the current definition, resolving the backward reference dest. Resolve the forward reference orig using the location following the appended run-time semantics.H r 3 6€*€^Œ˜RQ³~‚9€ƒ€ƒ‚ÿRun-time:( -- )h6* Ú 2 4€l€Œ˜RQ‚9€€€‚ÿContinue execution at the location given by dest.„3r ^ Q r€f€^Œ˜RQ³~‚9€ƒ€ƒ€ãÿ‡ë€‰€€ãT£€‰€‚ÿSee:6.1.0760 BEGIN, 6.1.2430 WHILE.+Ú ‰ ( €€R‚9€‚ÿ+^ Ž ( €€R‚9€‚ÿ4‰ è 1Àÿÿÿÿÿÿÿÿvè ¢ROT+Ž % € €˜˜€‚ÿROT`%è s; F€J€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2160 ROT «rote»CORE-` €Z€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€‚ÿ( x1 x2 x3 -- x2 x3 x1 )P&sP* $€L€Œ˜RQ‚H€‚ÿRotate the top three stack entries.)y& €€R‚H€‚ÿ)P¢& €€R‚H€‚ÿ7yÙ1ÿÿÿÿÿÿÿÿwÙ@tBRSHIFT. ¢@% €€˜˜€‚ÿRÙ@¢SHIFTf+Ùy@; F€V€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2162 RSHIFT «r-shift»CORE[@Ô@B T€2€Œ˜RQ‚H€€€€€€€€€‚ÿ( x1 u -- x2 )8íy@ BK d€Û€Œ˜RQ‚H€€€€€€€€€€€‚ÿPerform a logical right shift of u bit-places on x1, giving x2. Put zeroes into the most significant bits vacated by the shift. An ambiguous condition exists if u is greater than or equal to the number of bits in a cell.h&Ô@tBB T€L€R‚H€‚€ƒ€ƒ€ãO=ºB€‰€€‚‚ÿSee:6.1.1805 LSHIFT 3 B§B1ÿÿÿÿÿÿÿÿx§BÑB¶FS"*tBÑB% € €˜˜€‚ÿS"b'§B3C; F€N€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2165 S" «s-quote»COREºrÑBíCH `€ä€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( «ccc» -- )¯v3CœD9 B€ì€Œ˜RQ‚9€€€€€‚ÿParse ccc delimited by " (double-quote). Append the run-time semantics given below to the current definition.a"íCýD? N€D€^Œ˜RQ³~‚9€ƒ€ƒ€€€€‚ÿRun-time:( -- c-addr u )ÜDÀE@ N€€Œ˜RQ‚9€€€€€€€‚ÿReturn c-addr and u describing a string consisting of the characters ccc. A program shall not alter the returned string. CýD`F] Š€†€^Œ˜RQ³~‚9€ƒ€€ƒ€€€ã8²Ý󀉀€ãio€€‰€€‚ÿSee:3.4.1 Parsing, 6.2.0855 C", 11.6.1.2165 S".+ÀE‹F( €€R‚9€‚ÿ+`F¶F( €€R‚9€‚ÿ4‹FêF1‘ÿÿÿÿÿÿÿÿyêFGuHS>D+¶FG% € €˜˜€‚ÿS>Db'êFwG; F€N€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2170 S>D «s-to-d»COREGGŸG6 <€"€Œ˜RQ‚H€€€€€‚ÿ( n -- d )ŽXwGLH6 <€°€Œ˜RQ‚H€€€€€‚ÿConvert the number n to the double-cell number d with the same numerical value. )ŸGuH& €€R‚H€‚ÿ5LHªH1æÿÿÿÿÿÿÿÿzªHÖH‹JSIGN,uHÖH% €€˜˜€‚ÿSIGNKªH!I/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.2210 SIGN CORE= ÖH^I0 0€€Œ˜RQ‚H€€€‚ÿ( n -- )Å!IbJ? L€‹€Œ˜RQ‚H€€€€€€€‚ÿIf n is negative, add a minus sign to the beginning of the pictured numeric output string. An ambiguous condition exists if SIGN executes outside of a <# #> delimited number conversion.)^I‹J& €€R‚H€‚ÿ7bJÂJ1Gÿÿÿÿÿÿÿÿ{ÂJðJNSM/REM. ‹JðJ% €€˜˜€‚ÿSM/REMl1ÂJ\K; F€b€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2214 SM/REM «s-m-slash-rem»COREo!ðJËKN l€B€Œ˜RQ‚H€€€€€€€€€€€€€‚ÿ( d1 n1 -- n2 n3 )\\K'MZ ‚€€Œ˜RQ‚H€€€€€€€€€€€€€€€€‚ÿDivide d1 by n1, giving the symmetric quotient n3 and the remainder n2. Input and output stack arguments are signed. An ambiguous condition exists if n1 is zero or if the quotient lies outside the range of a single-cell signed integer. ŽTËKÛM` €š€^Œ˜RQ³~‚9€ƒ€€ƒ€€€€ãùái€‰€€€ãîqٔ€‰€‚ÿSee:3.2.2.1 Integer division, 6.1.1561 FM/MOD, 6.1.2370 UM/MOD.+'MN( €€R‚9€‚ÿ7ÛM=N1}ÿÿÿÿÿÿÿÿ|=NkN·OSOURCE. NkN% €€˜˜€‚ÿSOURCEM=NžN/ .€<€‘€‚H€€€ƒƒ‚ÿ6.1.2216 SOURCE CORELkNO6 <€,€Œ˜RQ‚H€€€€€‚ÿ( -- c-addr u )ŠWžNŽO3 6€®€Œ˜RQ‚H€€€€‚ÿc-addr is the address of, and u is the number of characters in, the input buffer.)O·O& €€R‚H€‚ÿ6ŽO €11ÿÿÿÿÿÿÿÿ} €9€ SPACE·O €·O-·O9€% €€˜˜€‚ÿSPACEL €…€/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.2220 SPACE CORE3 9€ž€* $€€Œ˜RQ‚H€‚ÿ( -- )?…€÷€* $€*€Œ˜RQ‚H€‚ÿDisplay one space.)ž€ & €€R‚H€‚ÿ7÷€W1Mÿÿÿÿÿÿÿÿ~W…¡‚SPACES. …% €€˜˜€‚ÿSPACESMWҁ/ .€<€‘€‚H€€€ƒƒ‚ÿ6.1.2230 SPACES CORE= …‚0 0€€Œ˜RQ‚H€€€‚ÿ( n -- )i3ҁx‚6 <€f€Œ˜RQ‚H€€€€€‚ÿIf n is greater than zero, display n spaces.)‚¡‚& €€R‚H€‚ÿ6x‚ׂ1Âÿÿÿÿÿÿÿÿׂƒ•‡STATE-¡‚ƒ% €€˜˜€‚ÿSTATELׂPƒ/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.2250 STATE COREBƒ’ƒ0 0€$€Œ˜RQ‚H€€€‚ÿ( -- a-addr ) ‰Pƒ›…€ ΀€Œ˜RQ‚H€€€€€€€€€€€€€€€€€€€€€€€€€€€€‚ÿa-addr is the address of a cell containing the compilation-state flag. STATE is true when in compilation state, false otherwise. The true value in STATE is non-zero, but is otherwise implementation-defined. Only the following standard words alter the value in STATE: : (colon), ; (semicolon), ABORT, QUIT, :NONAME, [ (left-bracket), and ] (right-bracket).Ï ’ƒj‡ R€^Œ˜RQ³~‚9€ƒ€€ƒ€€‚€ƒ€ƒ€€€ã¬J¿€‰€€€ã¬J¿€‰€€ãB\W €€ãòŠn€‰€€ã,¬J¿€‰€€ã.¬J¿€‰€€ãÔ@T€‰€€€€‚ÿNote:A program shall not directly alter the contents of STATE.See:3.4 The Forth text interpreter, 6.1.0450 :, 6.1.0460 ;, 6.1.0670 ABORT, 6.1.2050 QUIT, 6.1.2500 [, 6.1.2540 ], 6.2.0455 :NONAME, 15.6.2.2250 STATE.+›…•‡( €€R‚9€‚ÿ5j‡ʇ1bÿÿÿÿÿÿÿÿ€Ê‡ö‡'‰SWAP,•‡ö‡% €€˜˜€‚ÿSWAPKʇAˆ/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.2260 SWAP COREo!ö‡°ˆN l€B€Œ˜RQ‚H€€€€€€€€€€€€€‚ÿ( x1 x2 -- x2 x1 )N$Aˆþˆ* $€H€Œ˜RQ‚H€‚ÿExchange the top two stack items.)°ˆ'‰& €€R‚H€‚ÿ5þˆ\‰15ÿÿÿÿÿÿÿÿ\‰ˆ‰ŒŒTHEN,'‰ˆ‰% €€˜˜€‚ÿTHENK\‰Ӊ/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.2270 THEN CORE­kˆ‰€ŠB T€Ö€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( C: orig -- )إӉX‹3 4€K€˜RS‚9€€€‚ÿAppend the run-time semantics given below to the current definition. Resolve the forward reference orig using the location of the appended run-time semantics.H€Š ‹3 6€*€^Œ˜RQ³~‚9€ƒ€ƒ‚ÿRun-time:( -- )AX‹á‹+ &€,€˜RS‚9€‚ÿContinue execution.€/ ‹aŒQ r€^€^Œ˜RQ³~‚9€ƒ€ƒ€ã. d€‰€€ãºp(€‰€‚ÿSee:6.1.1310 ELSE, 6.1.1700 IF.+ዌŒ( €€R‚9€‚ÿ5aŒÁŒ1Œÿÿÿÿÿÿÿÿ‚ÁŒíŒšÀTYPE,ŒŒíŒ% €€˜˜€‚ÿTYPEKÁŒ8/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.2310 TYPE COREK팃5 :€,€˜RS‚H€€€€€‚ÿ( c-addr u -- )–[8Ž; F€¶€˜RS‚H€€€€€€€‚ÿIf u is greater than zero, display the character string specified by c-addr and u.É•ƒ À4 6€+€˜RS‚H€€€‚ÿWhen passed a character in a character string whose character-defining bits have a value between hex 20 and 7E inclusive, the corresponding standard character, specified by 3.1.2.1 graphic characters, is displayed. Because different output devices can respond differently to control characters, programs that use control characters to perform specific functions have an environmental dependency.Ž ÀŒŒcŽoÀE Z€<€^Œ˜RQ³~‚9€ƒ€ƒ€€ã/ d€‰€‚ÿSee:6.1.1320 EMIT.+ ÀšÀ( €€R‚9€‚ÿ3oÀÍÀ1IÿÿÿÿÿÿÿÿƒÍÀ÷ÀÂU.*šÀ÷À% € €˜˜€‚ÿU.`%ÍÀWÁ; F€J€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2320 U. «u-dot»CORE< ÷À“Á/ .€€˜RS‚H€€€‚ÿ( u -- )S$WÁæÁ/ .€H€˜RS‚H€€€‚ÿDisplay u in free field format.)“ÁÂ& €€R‚H€‚ÿ3æÁBÂ1îÿÿÿÿÿÿÿÿ„BÂlÂ)ÄU<*ÂlÂ% € €˜˜€‚ÿU<f+BÂÒÂ; F€V€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2340 U< «u-less-than»CORE]lÂ/ÃA R€8€˜RS‚H€€€€€€€€€‚ÿ( u1 u2 -- flag )w9ÒŠÃ> L€r€˜RS‚H€€€€€€€€‚ÿflag is true if and only if u1 is less than u2.X/ÃþÃ? N€2€^Œ˜RQ³~‚9€ƒƒ€ã¬J¿€‰€‚ÿSee:6.1.0480 <.+ŠÃ)Ä( €€R‚9€‚ÿ4þÃ]Ä1Îÿÿÿÿÿÿÿÿ…]ĈÄ%ÆUM*+)ĈÄ% € €˜˜€‚ÿUM*d)]ÄìÄ; F€R€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2360 UM* «u-m-star»CORE[ˆÄGÅA R€4€˜RS‚H€€€€€€€€€‚ÿ( u1 u2 -- ud )µsìÄüÅB T€æ€˜RS‚H€€€€€€€€€‚ÿMultiply u1 by u2, giving the unsigned double-cell product ud. All values and arithmetic are unsigned.)GÅ%Æ& €€R‚H€‚ÿ7üÅ\Æ1(ÿÿÿÿÿÿÿÿ†\ƊƁÉUM/MOD. %ÆŠÆ% €€˜˜€‚ÿUM/MODl1\ÆöÆ; F€b€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2370 UM/MOD «u-m-slash-mod»COREk ŠÆaÇK f€@€Œ˜RQ‚H€€€€€€€€€€€€‚ÿ( ud u1 -- u2 u3 )IóöƪÈV z€ç€˜RS‚H€€€€€€€€€€€€€€€‚ÿDivide ud by u1, giving the quotient u3 and the remainder u2. All values and arithmetic are unsigned. An ambiguous condition exists if u1 is zero or if the quotient lies outside the range of a single-cell unsigned integer.¬RaÇVÉZ „€€€^Œ˜RQ³~‚9€ƒ€€ƒ€€€ãùái€‰€€ãíïW„€‰€‚ÿSee:3.2.2.1 Integer division, 6.1.1561 FM/MOD, 6.1.2214 SM/REM.+ªÈÉ( €€R‚9€‚ÿ7VÉžÉ1âÿÿÿÿÿÿÿÿ‡žÉæÉ—ÌUNLOOP. ÉæÉ% €€˜˜€‚ÿUNLOOPNžÉ4Ê/ .€>€‘€‚H€€€ƒƒ‚ÿ6.1.2380 UNLOOP CORE¶tæÉêÊB T€è€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Execution:( -- ) ( R: loop-sys -- )(í4ÊÌ; D€Û€Œ˜RQ‚9€€€€€‚ÿDiscard the loop-control parameters for the current nesting level. An UNLOOP is required for each nesting level before the definition may be EXITed. An ambiguous condition exists if the loop-control parameters are unavailable.Z!êÊlÌ9 B€B€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿSee:3.2.3.3 Return stack.+Ì—Ì( €€R‚9€‚ÿ6lÌÍÌ1:ÿÿÿÿÿÿÿÿˆÍÌúÌUNTIL-—ÌúÌ% €€˜˜€‚ÿUNTILLÍÌFÍ/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.2390 UNTIL CORE­kúÌóÍB T€Ö€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( C: dest -- )€qFÍ—Î3 6€â€Œ˜RQ‚9€€€‚ÿAppend the run-time semantics given below to the current definition, resolving the backward reference dest.RóÍéÎ9 B€2€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿRun-time:( x -- )W—ÎxÏ8 @€®€Œ˜RQ‚9€€€€€‚ÿIf all bits of x are zero, continue execution at the location specified by dest.`éÎØÏB T€<€^Œ˜RQ³~‚9€ƒ€ƒ€ãÿ‡ë€‰€‚ÿSee:6.1.0760 BEGIN.+xÏ( €€R‚9€‚ÿØÏ—Ì9ØÏH1Ïÿÿÿÿÿÿÿÿ‰HxVARIABLE0 x% €€˜˜€‚ÿVARIABLEO HÇ/ .€@€‘€‚H€€€ƒƒ‚ÿ6.1.2410 VARIABLE CORERx6 <€8€Œ˜RQ‚H€€€€€‚ÿ( «name» -- )ÊÇ9 @€•€Œ˜RQ‚H€€€€€‚ÿSkip leading space delimiters. Parse name delimited by a space. Create a definition for name with the execution semantics defined below. Reserve one cell of data space at an aligned address.e,9 B€X€Œ˜RQ‚H€€€€€€‚ÿname is referred to as a «variable».e&æ? N€L€^Œ˜RQ³~‚9€ƒ€€€ƒ€€‚ÿname Execution:( -- a-addr )®~”0 0€ü€Œ˜RQ‚9€€‚ÿa-addr is the address of the reserved cell. A program is responsible for initializing the contents of the reserved cell.Wæë< H€6€^Œ˜RQ³~‚9€ƒ€€ƒ€€‚ÿSee:3.4.1 Parsing.+”( €€R‚9€‚ÿ6ëL1ËÿÿÿÿÿÿÿÿŠLyWHILE-y% €€˜˜€‚ÿWHILELLÅ/ .€:€‘€‚H€€€ƒƒ‚ÿ6.1.2430 WHILE COREÇyyŒN l€ò€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( C: dest -- orig dest )gÅóN j€3€Œ˜RQ‚9€€€€€€€€€€€‚ÿPut the location of a new unresolved forward reference orig onto the control flow stack, under the existing dest. Append the run-time semantics given below to the current definition. The semantics are incomplete until orig and dest are resolved (e.g., by REPEAT).RŒE9 B€2€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿRun-time:( x -- )£jóè9 B€Ô€Œ˜RQ‚9€€€€€‚ÿIf all bits of x are zero, continue execution at the location specified by the resolution of orig.+E( €€R‚9€‚ÿ5èH1ÿÿÿÿÿÿÿÿ‹HtG WORD,t% €€˜˜€‚ÿWORDKH¿/ .€8€‘€‚H€€€ƒƒ‚ÿ6.1.2450 WORD COREr0t1 B T€`€Œ˜RQ‚H€€€€€€€€€‚ÿ( char «ccc» -- c-addr ) Ó¿= 9 @€§€Œ˜RQ‚H€€€€€‚ÿSkip leading delimiters. Parse characters ccc delimited by char. An ambiguous condition exists if the length of the parsed string is greater than the implementation-defined length of a counted string.|K1 ¹ 1 0€—€Œ˜RQ‚H€€‚ÿc-addr is the address of a transient region containing the parsed word as a counted string. If the parse area was empty or contained no characters other than the delimiter, the resulting string has a zero length. A space, not included in the length, follows the string. A program may replace characters within the string.b=  T v€€^Œ˜RQ³~‚9€ƒ€€ƒ€€‚€ƒ€ƒ€€€€‚ÿNote:The requirement to follow the string with a space is obsolescent and is included as a concession to existing programs that use CONVERT. A program shall not depend on the existence of the space.See:3.3.3.6 Other transient regions, 3.4.1 Parsing.,¹ G ) "€€ ˜R‚9€‚ÿ4 { 1˜ÿÿÿÿÿÿÿÿŒ{ Š  XOR+G Š % € €˜˜€‚ÿXOR`%{ ; F€J€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2490 XOR «x-or»CORE`Š fE Z€6€Œ˜RQ‚H€€€€€€€€€€‚ÿ( x1 x2 -- x3 )};ãB T€v€Œ˜RQ‚H€€€€€€€€€‚ÿx3 is the bit-by-bit exclusive-or of x1 with x2.*f ' €€ ˜R‚H€‚ÿ2ã?1þÿÿÿÿÿÿÿÿ?hòA[) h% €€˜˜€‚ÿ[f+?Î; F€V€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2500 [ «left-bracket»COREâœhŒ@F Z€9€^Œ˜RQ³~‚9€ƒ€ƒÎŒ@ ‚€ƒ€ƒ‚€ƒ€ƒ‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:Perform the execution semantics given below.Execution:( -- )k9Î'A2 4€r€Œ˜RQ‚9€€€‚ÿEnter interpretation state. [ is an immediate word.ŸQŒ@ÆAN l€¢€^Œ˜RQ³~‚9€ƒ€ƒ€€€€€ã.¬J¿€‰€‚ÿSee:3.4 The Forth text interpreter, 3.4.5 Compilation, 6.1.2540 ].,'AòA) "€€ ˜R‚9€‚ÿ4ÆA&B1ÖÿÿÿÿÿÿÿÿŽ&BQBöF[']+òAQB% € €˜˜€‚ÿ[']h-&B¹B; F€Z€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2510 ['] «bracket-tick»COREŒtQBuCH `€è€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( «name» -- )Ԛ¹BID: B€5€Œ˜RQ‚9€€€€€‚ÿSkip leading space delimiters. Parse name delimited by a space. Find name. Append the run-time semantics given below to the current definition.j8uC³D2 4€p€Œ˜RQ‚9€€€‚ÿAn ambiguous condition exists if name is not found.SIDE9 B€4€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿRun-time:( -- xt )³D$F\ †€…€Œ˜RQ‚9€€€€€€€€€€€€€€€€‚ÿPlace name’s execution token xt on the stack. The execution token returned by the compiled phrase «['] X » is the same value returned by «' X » outside of compilation state.§VEËFQ r€¬€^Œ˜RQ³~‚9€ƒ€ƒ€€€€€€€€€€‚ÿSee:3.4.1 Parsing, A.6.1.0070 ', A.6.1.2033 POSTPONE, D.6.7 Immediacy.+$FöF( €€R‚9€‚ÿ7ËF-G1˜ÿÿÿÿÿÿÿÿ-G[GÂJ[CHAR]. öF[G% €€˜˜€‚ÿ[CHAR]k0-GÆG; F€`€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2520 [CHAR] «bracket-char»COREŒt[G‚HH `€è€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Compilation:( «name» -- )ÀŒÆGBI4 6€€Œ˜RQ‚9€€€‚ÿSkip leading space delimiters. Parse name delimited by a space. Append the run-time semantics given below to the current definition.U‚H—I9 B€8€^Œ˜RQ³~‚9€ƒ€ƒ€€‚ÿRun-time:( -- char )‚JBIJ8 @€”€Œ˜RQ‚9€€€€€‚ÿPlace char, the value of the first character of name, on the stack.~0—I—JN l€`€^Œ˜RQ³~‚9€ƒ€€ƒ€€€㜳Ý󀉀€‚ÿSee:3.4.1 Parsing, 6.1.0895 CHAR.+JÂJ( €€R‚9€‚ÿ2—JôJ1³ÿÿÿÿÿÿÿÿôJKŸL])ÂJK% €€˜˜€‚ÿ]g,ôJ„K; F€X€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.1.2540 ] «right-bracket»CORE3 K·K* $€€Œ˜RQ‚H€‚ÿ( -- )E„KüK* $€6€Œ˜RQ‚H€‚ÿEnter compilation state.£R·KŸLQ r€€€^Œ˜RQ³~‚9€ƒ€ƒ€€€€€€ã,¬J¿€‰€‚ÿSee:3.4 The Forth text interpreter, 3.4.5 Compilation, 6.1.2500 [.1üKÐL1Çÿÿÿÿÿÿÿÿ‘ÿÿÿÿÐLfM'ŸL÷L$ €€R€‚ÿH ÐL?M( €@€°˜€ € ‚ÿ6.2 Core extension words '÷LfM$ €€R€‚ÿ5?M›M15ÿÿÿÿÿÿÿÿ’›MÇM €#TIB,fMÇM% €€˜˜€‚ÿ#TIBm2›M4N; F€d€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.2.0060 #TIB «number-t-i-b»CORE EXTBÇMvN0 0€$€Œ˜RQ‚H€€€‚ÿ( -- a-addr )“f4N O- *€Ì€˜RS‚H€€‚ÿa-addr is the address of a cell containing the number of characters in the terminal input buffer.—avN O6 <€Â€^Œ˜RQ³~‚9€ƒƒ€€‚ÿNote:This word is obsolescent and is included as a concession to existing implementations.+ O €( €€R‚9€‚ÿ O €fM3 O?€1šÿÿÿÿÿÿÿÿ“?€i€œ‚.(* €i€% € €˜˜€‚ÿ.(h-?€р; F€Z€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.2.0200 .( «dot-paren»CORE EXT¬di€}H `€È€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€‚ÿCompilation:Perform the execution semantics given below.Execution:( «ccc» -- )™\р‚= J€ž€˜RS‚9€€€€€€€‚ÿParse and display ccc delimited by ) (right parenthesis). .( is an immediate word.|.}’‚N l€\€^Œ˜RQ³~‚9€ƒ€€ƒ€€€ãÕ«J¿€‰€€‚ÿSee:3.4.1 Parsing, 6.1.0190 .".+‚œ‚( €€R‚9€‚ÿ3’‚ð‚1@ÿÿÿÿÿÿÿÿ”ð‚ƒ)….R*œ‚ƒ% € €˜˜€‚ÿ.Rd)ð‚~ƒ; F€R€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.2.0210 .R «dot-r»CORE EXTQƒσ< H€*€Œ˜RQ‚H€€€€€€€‚ÿ( n1 n2 -- )1á~ƒ…P n€Ã€˜RS‚H€€€€€€€€€€€€€‚ÿDisplay n1 right aligned in a field n2 characters wide. If the number of characters required to display n1 is greater than n2, all digits are displayed with no leading spaces in a field as wide as necessary.)σ)…& €€R‚H€‚ÿ4…]…1~ÿÿÿÿÿÿÿÿ•]…ˆ…Ն0<>+)…ˆ…% € €˜˜€‚ÿ0<>o4]…÷…; F€h€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.2.0260 0<> «zero-not-equals»CORE EXTJˆ…A†6 <€(€Œ˜RQ‚H€€€€€‚ÿ( x -- flag )k9÷…¬†2 4€r€˜RS‚H€€€€‚ÿflag is true if and only if x is not equal to zero.)A†Ն& €€R‚H€‚ÿ3¬†‡1yÿÿÿÿÿÿÿÿ–‡2‡zˆ0>*Ն2‡% € €˜˜€‚ÿ0>k0‡‡; F€`€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.2.0280 0> «zero-greater»CORE EXTI2‡æ‡5 :€(€˜RS‚H€€€€€‚ÿ( n -- flag )k9‡Qˆ2 4€r€˜RS‚H€€€€‚ÿflag is true if and only if n is greater than zero.)æ‡zˆ& €€R‚H€‚ÿ4Qˆ®ˆ1Mÿÿÿÿÿÿÿÿ—®ˆوõ‹2>R+zˆو% € €˜˜€‚ÿ2>Rh-®ˆA‰; F€Z€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.2.0340 2>R «two-to-r»CORE EXTã‚Ùˆ$Ša €€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€€€€€€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Execution:( x1 x2 -- ) ( R: -- x1 x2 )£`A‰NJC V€À€˜RS‚9€€€€€€€€€‚ÿTransfer cell pair x1 x2 to the return stack. Semantically equivalent to SWAP >R >R.~$Šʋ… ڀü€^Œ˜RQ³~‚9€ƒ€ƒ€€€ã­CMw€‰€€ã®CMw€‰€€ã¯CMw€‰€€ãT¬J¿€‰€€ãU¬J¿€‰€‚ÿSee:3.2.3.3 Return stack, 6.1.0580 >R, 6.1.2060 R>, 6.1.2070 R@, 6.2.0410 2R>, 6.2.0415 2R@.+NJõ‹( €€R‚9€‚ÿ4ʋ)Œ1Tÿÿÿÿÿÿÿÿ˜)ŒTŒw2R>+õ‹TŒ% € €˜˜€‚ÿ2R>j/)ŒŸŒ; F€^€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.2.0410 2R> «two-r-from»CORE EXTäƒTŒ¢a €€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€€€€€€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Execution:( -- x1 x2 ) ( R: x1 x2 -- )§cŸŒIŽD X€Æ€˜RS‚9€€€€€€€€€‚ÿTransfer cell pair x1 x2 from the return stack. Semantically equivalent to R> R> SWAP.~¢L… ڀü€^Œ˜RQ³~‚9€ƒ€ƒ€€€ã­CMw€‰€€ã®CMw€‰€€ã¯CMw€‰€€ãÛ-’À‰€€ãU¬J¿€‰€‚ÿSee:3.2.3.3 Return stack, 6.1.0580 >R, 6.1.2060 R>, 6.1.2070 R@, 6.2.0340 2>R, 6.2.0415 2R@.+IŽw( €€R‚9€‚ÿ4L«1€ÿÿÿÿÿÿÿÿ™«֏+Ã2R@+w֏% € €˜˜€‚ÿ2R@k0«MÀ; F€`€‘€‚H€€€֏MÀwƒ€€€€ƒ‚ÿ6.2.0415 2R@ «two-r-fetch»CORE EXTÖOÁs Ž€€^Œ˜RQ³~‚9€ƒ€ƒ‚€ƒ€ƒ€€€€€€€€€€€€€€€€€€‚ÿInterpretation:Interpretation semantics for this word are undefined.Execution:( -- x1 x2 ) ( R: x1 x2 -- x1 x2 )®jMÀýÁD X€Ô€˜RS‚9€€€€€€€€€‚ÿCopy cell pair x1 x2 from the return stack. Semantically equivalent to R> R> 2DUP >R >R SWAP.~OÁÃ… ڀü€^Œ˜RQ³~‚9€ƒ€ƒ€€€ã­CMw€‰€€ã®CMw€‰€€ã¯CMw€‰€€ãÛ-’À‰€€ãT¬J¿€‰€‚ÿSee:3.2.3.3 Return stack, 6.1.0580 >R, 6.1.2060 R>, 6.1.2070 R@, 6.2.0340 2>R, 6.2.0410 2R>.+ýÁ+Ã( €€R‚9€‚ÿ8ÃcÃ1lÿÿÿÿÿÿÿÿšcÃ’ÃÍÉ:NONAME/ +Ã’Ã% €€˜˜€‚ÿ:NONAMEq6cÃÄ; F€l€‘€‚H€€€ƒ€€€€ƒ‚ÿ6.2.0455 :NONAME «colon-no-name»CORE EXT`*’ÃcÄ6 <€T€Œ˜RQ‚H€€€€€‚ÿ( C: -- colon-sys ) ( S: -- xt )õœÄXÅ8 >€{€˜RS‚H€€€€€‚ÿCreate an execution token xt, enter compilation state and start the current definition, producing colon-sys. Append the initiation semantics given below to the current definition.ê­cÄBÆ= H€[€˜RS‚H€€€€€€€‚ÿThe execution semantics of xt will be determined by the words compiled into the body of the definition. This definition can be executed later by using xt EXE