DPANSA17.HTM (2999B)
1 <HTML><HEAD> 2 <TITLE>DPANS94</TITLE> 3 <link disabled rel="stylesheet" href="mpexc6.css"> 4 <style>@import url(mpexc6.css);</style> 5 </head> 6 7 <BODY> 8 <table width=100%> 9 <tr> 10 <td align=left> 11 <a href=dpansa16.htm><img src=left.gif 12 width=26 height=26 align=ALIGN border=0></a> 13 <a href=dpansb.htm><img src=right.gif 14 width=26 height=26 align=ALIGN border=0></a> 15 </td> 16 <td align=right> 17 <a href=dpans.htm#toc><img src=up.gif 18 width=26 height=26 align=ALIGN border=0></a> 19 <a name=A.17>Table of Contents</a> 20 </td> 21 </tr> 22 </table> 23 <p> 24 <hr size=4> 25 26 <H2>A.17 The optional String word set</H2> 27 28 29 30 <hr> 31 <A name=A.17.6> 32 <H3>A.17.6 Glossary</H3> 33 </a> 34 35 36 37 <hr> 38 <A name=A.17.6.1.0245>A.17.6.1.0245 /STRING</A> 39 <P> 40 41 /STRING is used to remove or add characters relative to the <B>left</B> 42 end of the character string. Positive values of n will exclude 43 characters from the string while negative values of n will include 44 characters to the left of the string. /STRING is a natural factor of 45 <a href=dpans6.htm#6.1.2450>WORD</a> 46 and commonly available. 47 48 <P> 49 50 <hr> 51 <A name=A.17.6.1.0910>A.17.6.1.0910 CMOVE</A> 52 <P> 53 54 If c-addr2 lies within the source region (i.e., when c-addr2 is not less 55 than c-addr1 and c-addr2 is less than the quantity c-addr1 u 56 <a href=dpans6.htm#6.1.0898>CHARS</a> +), 57 memory propagation occurs. 58 59 <P> 60 61 Typical 62 use: Assume a character string at address 100: <B>ABCD</B>. Then after 63 64 65 <PRE> 66 100 DUP CHAR+ 3 CMOVE 67 </PRE> 68 69 <P> 70 71 the string at address 100 is <B>AAAA</B>. 72 73 <P> 74 75 Rationale 76 for CMOVE and 77 <a href=dpans17.htm#17.6.1.0920>CMOVE></a> follows 78 <a href=dpans6.htm#6.1.1900>MOVE</a>. 79 80 <P> 81 82 <hr> 83 <A name=A.17.6.1.0920>A.17.6.1.0920 CMOVE></A> 84 <P> 85 86 If c-addr1 lies within the destination region (i.e., when c-addr1 is 87 greater than or equal to c-addr2 and c-addr2 is less than the quantity 88 c-addr1 u 89 <a href=dpans6.htm#6.1.0898>CHARS</a> +), memory propagation occurs. 90 91 <P> 92 93 Typical use: Assume a character string at address 100: <B>ABCD</B>. 94 Then after 95 96 97 <PRE> 98 100 DUP CHAR+ SWAP 3 CMOVE> 99 </PRE> 100 101 <P> 102 103 the string at address 100 is <B>DDDD</B>. 104 105 <P> 106 107 <hr> 108 <A name=A.17.6.1.0935>A.17.6.1.0935 COMPARE</A> 109 <P> 110 111 Existing Forth systems perform string comparison operations using words that 112 differ in spelling, input and output arguments, and case sensitivity. One in 113 widespread use was chosen. 114 115 <P> 116 117 <hr> 118 <A name=A.17.6.1.2191>A.17.6.1.2191 SEARCH</A> 119 <P> 120 121 Existing Forth systems perform string searching operations using words that 122 differ in spelling, input and output arguments, and case sensitivity. One in 123 widespread use was chosen. 124 125 <P> 126 127 <hr> 128 <A name=A.17.6.1.2212>A.17.6.1.2212 SLITERAL</A> 129 <P> 130 131 The current functionality of 132 <a href=dpans6.htm#6.1.2165>6.1.2165</a> S" may be provided by the following 133 definition: 134 135 <PRE> 136 : S" ( "ccc<quote>" -- ) 137 [CHAR] " PARSE POSTPONE SLITERAL ; IMMEDIATE 138 139 </PRE> 140 <P> 141 142 143 <hr> 144 <A href=dpans.htm#toc><IMG src="up.gif" ></A> Table of Contents 145 <BR> 146 <A href=dpansb.htm><IMG src="right.gif" ></A> 147 Next Section 148 <P> 149 </BODY> 150 </HTML>