📄 forth_8cpp-source.html
字号:
00517 <a class="code" href="group__forth__imp.html#ga67">LIT</a>(ResultOutOfRange), <a class="code" href="group__forth__imp.html#gga104a221">XT_THROW</a>, <a class="code" href="group__forth__imp.html#gga104a163">XT_EXIT</a> <span class="comment">// -11 THROW THEN</span>00518 };00519 00520 <a name="l00534"></a><a class="code" href="group__forth__imp.html#ga21">00534</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga21">XT_SM_SLASH_REM</a>[] =00535 {00536 <a class="code" href="group__forth__imp.html#gga104a181">XT_OVER</a>, <a class="code" href="group__forth__imp.html#gga104a137">XT_TO_R</a>, <a class="code" href="group__forth__imp.html#gga104a128">XT_2DUP</a>, <a class="code" href="group__forth__imp.html#gga104a195">XT_XOR</a>, <a class="code" href="group__forth__imp.html#gga104a137">XT_TO_R</a>, <span class="comment">// OVER >R 2DUP XOR >R</span>00537 <a class="code" href="group__forth__imp.html#gga104a140">XT_ABS</a>, <a class="code" href="group__forth__imp.html#gga104a137">XT_TO_R</a>, <a class="code" href="group__forth__imp.html#gga104a217">XT_DABS</a>, <a class="code" href="group__forth__imp.html#gga104a182">XT_R_FROM</a>, <span class="comment">// ABS >R DABS R></span>00538 (<a class="code" href="group__forth.html#ga0">CELL</a>)<a class="code" href="group__forth__imp.html#ga18">XT_UM_SLASH_MOD</a>, <span class="comment">// UM/MOD</span>00539 <a class="code" href="group__forth__imp.html#gga104a182">XT_R_FROM</a>, <a class="code" href="group__forth__imp.html#gga104a119">XT_0_LESS</a>, <a class="code" href="group__forth__imp.html#ga66">XT_0BRANCH</a>(5), <span class="comment">// R> 0< IF</span>00540 <a class="code" href="group__forth__imp.html#gga104a179">XT_NEGATE</a>, (<a class="code" href="group__forth.html#ga0">CELL</a>)<a class="code" href="group__forth__imp.html#ga19">XT_CHECK_NEG</a>, <a class="code" href="group__forth__imp.html#ga65">XT_BRANCH</a>(2), <span class="comment">// NEGATE CHECK-NEG ELSE </span>00541 (<a class="code" href="group__forth.html#ga0">CELL</a>)<a class="code" href="group__forth__imp.html#ga20">XT_CHECK_POS</a>, <span class="comment">// CHECK-POS THEN</span>00542 <a class="code" href="group__forth__imp.html#gga104a190">XT_SWAP</a>, <a class="code" href="group__forth__imp.html#gga104a182">XT_R_FROM</a>, <a class="code" href="group__forth__imp.html#gga104a119">XT_0_LESS</a>, <a class="code" href="group__forth__imp.html#ga66">XT_0BRANCH</a>(2), <span class="comment">// SWAP R> 0< IF</span>00543 <a class="code" href="group__forth__imp.html#gga104a179">XT_NEGATE</a>, <a class="code" href="group__forth__imp.html#gga104a190">XT_SWAP</a>, <a class="code" href="group__forth__imp.html#gga104a163">XT_EXIT</a> <span class="comment">// NEGATE THEN SWAP</span>00544 };00545 00546 <a name="l00561"></a><a class="code" href="group__forth__imp.html#ga22">00561</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga22">XT_FM_SLASH_MOD</a>[] =00562 {00563 <a class="code" href="group__forth__imp.html#gga104a159">XT_DUP</a>, <a class="code" href="group__forth__imp.html#gga104a137">XT_TO_R</a>, <a class="code" href="group__forth__imp.html#gga104a128">XT_2DUP</a>, <a class="code" href="group__forth__imp.html#gga104a195">XT_XOR</a>, <a class="code" href="group__forth__imp.html#gga104a137">XT_TO_R</a>, <span class="comment">// DUP >R 2DUP XOR >R</span>00564 <a class="code" href="group__forth__imp.html#gga104a140">XT_ABS</a>, <a class="code" href="group__forth__imp.html#gga104a137">XT_TO_R</a>, <a class="code" href="group__forth__imp.html#gga104a217">XT_DABS</a>, <a class="code" href="group__forth__imp.html#gga104a182">XT_R_FROM</a>, <span class="comment">// ABS >R DABS R></span>00565 (<a class="code" href="group__forth.html#ga0">CELL</a>)<a class="code" href="group__forth__imp.html#ga18">XT_UM_SLASH_MOD</a>, <span class="comment">// UM/MOD</span>00566 <a class="code" href="group__forth__imp.html#gga104a182">XT_R_FROM</a>, <a class="code" href="group__forth__imp.html#gga104a119">XT_0_LESS</a>, <a class="code" href="group__forth__imp.html#ga66">XT_0BRANCH</a>(15), <span class="comment">// R> 0< IF</span>00567 <a class="code" href="group__forth__imp.html#gga104a179">XT_NEGATE</a>, (<a class="code" href="group__forth.html#ga0">CELL</a>)<a class="code" href="group__forth__imp.html#ga19">XT_CHECK_NEG</a>, <a class="code" href="group__forth__imp.html#gga104a181">XT_OVER</a>, <a class="code" href="group__forth__imp.html#ga66">XT_0BRANCH</a>(11), <span class="comment">// NEGATE CHECK-NEG OVER IF</span>00568 <a class="code" href="group__forth__imp.html#gga104a122">XT_1_MINUS</a>, (<a class="code" href="group__forth.html#ga0">CELL</a>)<a class="code" href="group__forth__imp.html#ga19">XT_CHECK_NEG</a>, <a class="code" href="group__forth__imp.html#gga104a183">XT_R_FETCH</a>, <a class="code" href="group__forth__imp.html#gga104a140">XT_ABS</a>, <span class="comment">// 1- CHECK-NEG R@ ABS</span>00569 <a class="code" href="group__forth__imp.html#gga104a184">XT_ROT</a>, <a class="code" href="group__forth__imp.html#gga104a118">XT_MINUS</a>, <a class="code" href="group__forth__imp.html#gga104a190">XT_SWAP</a>, <a class="code" href="group__forth__imp.html#ga65">XT_BRANCH</a>(2), <span class="comment">// ROT - SWAP THEN ELSE</span>00570 (<a class="code" href="group__forth.html#ga0">CELL</a>)<a class="code" href="group__forth__imp.html#ga20">XT_CHECK_POS</a>, <span class="comment">// CHECK-POS THEN</span>00571 <a class="code" href="group__forth__imp.html#gga104a190">XT_SWAP</a>, <a class="code" href="group__forth__imp.html#gga104a182">XT_R_FROM</a>, <a class="code" href="group__forth__imp.html#gga104a119">XT_0_LESS</a>, <a class="code" href="group__forth__imp.html#ga66">XT_0BRANCH</a>(2), <span class="comment">// SWAP R> 0< IF</span>00572 <a class="code" href="group__forth__imp.html#gga104a179">XT_NEGATE</a>, <a class="code" href="group__forth__imp.html#gga104a190">XT_SWAP</a>, <a class="code" href="group__forth__imp.html#gga104a163">XT_EXIT</a> <span class="comment">// NEGATE THEN SWAP</span>00573 };00574 00575 <a name="l00582"></a><a class="code" href="group__forth__imp.html#ga68">00582</a> <span class="preprocessor">#define XT_M_SLASH_MOD (((-1)/2) ? (CELL)XT_FM_SLASH_MOD : (CELL)XT_SM_SLASH_REM)</span>00583 <span class="preprocessor"></span>00584 <a name="l00590"></a><a class="code" href="group__forth__imp.html#ga23">00590</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga23">XT_SLASH_MOD</a>[] =00591 {00592 <a class="code" href="group__forth__imp.html#gga104a137">XT_TO_R</a>, <a class="code" href="group__forth__imp.html#gga104a186">XT_S_TO_D</a>, <a class="code" href="group__forth__imp.html#gga104a182">XT_R_FROM</a>, <a class="code" href="group__forth__imp.html#ga68">XT_M_SLASH_MOD</a>, <a class="code" href="group__forth__imp.html#gga104a163">XT_EXIT</a> <span class="comment">// >R S>D R> M/MOD</span>00593 };00594 00595 <a name="l00602"></a><a class="code" href="group__forth__imp.html#ga24">00602</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga24">XT_M_STAR</a>[] =00603 {00604 <a class="code" href="group__forth__imp.html#gga104a128">XT_2DUP</a>, <a class="code" href="group__forth__imp.html#gga104a195">XT_XOR</a>, <a class="code" href="group__forth__imp.html#gga104a137">XT_TO_R</a>, <a class="code" href="group__forth__imp.html#gga104a140">XT_ABS</a>, <a class="code" href="group__forth__imp.html#gga104a190">XT_SWAP</a>, <a class="code" href="group__forth__imp.html#gga104a140">XT_ABS</a>, <span class="comment">// 2DUP XOR >R ABS SWAP ABS</span>00605 <a class="code" href="group__forth__imp.html#gga104a193">XT_UM_STAR</a>, <a class="code" href="group__forth__imp.html#gga104a182">XT_R_FROM</a>, <a class="code" href="group__forth__imp.html#gga104a119">XT_0_LESS</a>, <span class="comment">// UM* R> 0<</span>00606 <a class="code" href="group__forth__imp.html#ga66">XT_0BRANCH</a>(2), <a class="code" href="group__forth__imp.html#gga104a218">XT_DNEGATE</a>, <a class="code" href="group__forth__imp.html#gga104a163">XT_EXIT</a> <span class="comment">// IF DNEGATE THEN</span>00607 };00608 00609 <a name="l00615"></a><a class="code" href="group__forth__imp.html#ga25">00615</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga25">XT_STAR_SLASH_MOD</a>[] =00616 {00617 <a class="code" href="group__forth__imp.html#gga104a137">XT_TO_R</a>, (<a class="code" href="group__forth.html#ga0">CELL</a>)<a class="code" href="group__forth__imp.html#ga24">XT_M_STAR</a>, <a class="code" href="group__forth__imp.html#gga104a182">XT_R_FROM</a>, <a class="code" href="group__forth__imp.html#ga68">XT_M_SLASH_MOD</a>, <span class="comment">// >R M* R> M/MOD</span>00618 <a class="code" href="group__forth__imp.html#gga104a163">XT_EXIT</a>00619 };00620 00621 <a name="l00627"></a><a class="code" href="group__forth__imp.html#ga26">00627</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga26">XT_NUMBER_SIGN_S</a>[] =00628 {00629 <a class="code" href="group__forth__imp.html#gga104a111">XT_NUMBER_SIGN</a>, <a class="code" href="group__forth__imp.html#gga104a128">XT_2DUP</a>, <a class="code" href="group__forth__imp.html#gga104a180">XT_OR</a>, <a class="code" href="group__forth__imp.html#gga104a120">XT_0_EQUALS</a>, <span class="comment">// BEGIN # 2DUP OR 0=</span>00630 <a class="code" href="group__forth__imp.html#ga66">XT_0BRANCH</a>(-5), <a class="code" href="group__forth__imp.html#gga104a163">XT_EXIT</a> <span class="comment">// UNTIL</span>00631 };00632 00633 <a name="l00641"></a><a class="code" href="group__forth__imp.html#ga27">00641</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga27">XT_D_DOT</a>[] =00642 {00643 <a class="code" href="group__forth__imp.html#gga104a132">XT_LESS_NUMBER_SIGN</a>, <a class="code" href="group__forth__imp.html#ga67">LIT</a>(<span class="charliteral">' '</span>), <span class="comment">// <# BL</span>00644 <a class="code" href="group__forth__imp.html#gga104a166">XT_HOLD</a>, <a class="code" href="group__forth__imp.html#gga104a159">XT_DUP</a>, <a class="code" href="group__forth__imp.html#gga104a137">XT_TO_R</a>, <a class="code" href="group__forth__imp.html#gga104a217">XT_DABS</a>, <span class="comment">// HOLD DUP >R DABS </span>00645 (<a class="code" href="group__forth.html#ga0">CELL</a>)<a class="code" href="group__forth__imp.html#ga26">XT_NUMBER_SIGN_S</a>, <a class="code" href="group__forth__imp.html#gga104a182">XT_R_FROM</a>, <a class="code" href="group__forth__imp.html#gga104a187">XT_SIGN</a>, <span class="comment">// #S R> SIGN </span>00646 <a class="code" href="group__forth__imp.html#gga104a112">XT_NUMBER_SIGN_GREATER</a>, <a class="code" href="group__forth__imp.html#gga104a191">XT_TYPE</a>, <a class="code" href="group__forth__imp.html#gga104a163">XT_EXIT</a> <span class="comment">// #> TYPE </span>00647 };00648 00649 <a name="l00655"></a><a class="code" href="group__forth__imp.html#ga28">00655</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga28">XT_DOT</a>[] =00656 {00657 <a class="code" href="group__forth__imp.html#gga104a186">XT_S_TO_D</a>, (<a class="code" href="group__forth.html#ga0">CELL</a>)<a class="code" href="group__forth__imp.html#ga27">XT_D_DOT</a>, <a class="code" href="group__forth__imp.html#gga104a163">XT_EXIT</a> <span class="comment">// S>D D.</span>00658 };00659 00660 <a name="l00666"></a><a class="code" href="group__forth__imp.html#ga29">00666</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga29">XT_CR</a>[] =00667 {00668 XT_PAREN_CR, <a class="code" href="group__forth__imp.html#gga104a191">XT_TYPE</a>, <a class="code" href="group__forth__imp.html#gga104a163">XT_EXIT</a> <span class="comment">// (cr) TYPE</span>00669 };00670 00671 <a name="l00692"></a><a class="code" href="group__forth__imp.html#ga30">00692</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga30">XT_CREATE_WORD</a>[] =00693 {00694 <a class="code" href="group__forth__imp.html#gga104a181">XT_OVER</a>, <a class="code" href="group__forth__imp.html#gga104a198">XT_0_NOT_EQUALS</a>, <span class="comment">// OVER 0<></span>00695 <a class="code" href="group__forth__imp.html#gga104a181">XT_OVER</a>, <a class="code" href="group__forth__imp.html#gga104a199">XT_0_GREATER</a>, <a class="code" href="group__forth__imp.html#gga104a169">XT_INVERT</a>, <a class="code" href="group__forth__imp.html#gga104a145">XT_AND</a>, <span class="comment">// OVER 0> INVERT AND</span>00696 <a class="code" href="group__forth__imp.html#ga66">XT_0BRANCH</a>(4), <a class="code" href="group__forth__imp.html#ga67">LIT</a>(ZeroLengthName), <a class="code" href="group__forth__imp.html#gga104a221">XT_THROW</a>, <span class="comment">// IF -16 THROW THEN</span>00697 <a class="code" href="group__forth__imp.html#ga67">LIT</a>(<a class="code" href="group__forth__imp.html#ga3">NameLengthMask</a>), <a class="code" href="group__forth__imp.html#gga104a177">XT_MIN</a>, <span class="comment">// NameLengthMask MIN </span>00698 <a class="code" href="group__forth__imp.html#gga104a142">XT_ALIGN</a>, <a class="code" href="group__forth__imp.html#gga104a165">XT_HERE</a>, <a class="code" href="group__forth__imp.html#gga104a137">XT_TO_R</a>, <span class="comment">// ALIGN HERE >R</span>00699 00700 XT_CURRENT, <a class="code" href="group__forth__imp.html#gga104a139">XT_FETCH</a>, <span class="comment">// CURRENT @</span>00701 <a class="code" href="group__forth__imp.html#gga104a159">XT_DUP</a>, <a class="code" href="group__forth__imp.html#gga104a139">XT_FETCH</a>, <a class="code" href="group__forth__imp.html#gga104a183">XT_R_FETCH</a>, <a class="code" href="group__forth__imp.html#gga104a118">XT_MINUS</a>, <a class="code" href="group__forth__imp.html#gga104a117">XT_COMMA</a>, <span class="comment">// DUP @ R@ - ,</span>00702 <a class="code" href="group__forth__imp.html#gga104a183">XT_R_FETCH</a>, <a class="code" href="group__forth__imp.html#gga104a190">XT_SWAP</a>, <a class="code" href="group__forth__imp.html#gga104a110">XT_STORE</a>, <span class="comment">// R@ SWAP !</span>00703 00704 <a class="code" href="group__forth__imp.html#gga104a159">XT_DUP</a>, <a class="code" href="group__forth__imp.html#gga104a148">XT_C_COMMA</a>, <span class="comment">// DUP C,</span>00705 <a class="code" href="group__forth__imp.html#gga104a159">XT_DUP</a>, <a class="code" href="group__forth__imp.html#ga66">XT_0BRANCH</a>(10), <a class="code" href="group__forth__imp.html#gga104a181">XT_OVER</a>, <a class="code" href="group__forth__imp.html#gga104a149">XT_C_FETCH</a>, <a class="code" href="group__forth__imp.html#gga104a148">XT_C_COMMA</a>, <span class="comment">// BEGIN DUP WHILE OVER C@ C,</span>00706 <a class="code" href="group__forth__imp.html#gga104a190">XT_SWAP</a>, <a class="code" href="group__forth__imp.html#gga104a152">XT_CHAR_PLUS</a>, <a class="code" href="group__forth__imp.html#gga104a190">XT_SWAP</a>, <a class="code" href="group__forth__imp.html#gga104a122">XT_1_MINUS</a>, <a class="code" href="group__forth__imp.html#ga65">XT_BRANCH</a>(-11), <span class="comment">// SWAP CHAR+ SWAP 1- REPEAT </span>00707 <a class="code" href="group__forth__imp.html#gga104a127">XT_2DROP</a>, <a class="code" href="group__forth__imp.html#gga104a142">XT_ALIGN</a>, <a class="code" href="group__forth__imp.html#gga104a182">XT_R_FROM</a>, XT_LATEST, <a class="code" href="group__forth__imp.html#gga104a110">XT_STORE</a>, <span class="comment">// 2DROP ALIGN R> LATEST ! ;</span>00708 <a class="code" href="group__forth__imp.html#gga104a163">XT_EXIT</a>00709 };00710 00711 <a name="l00719"></a><a class="code" href="group__forth__imp.html#ga31">00719</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga31">XT_VALIDATE</a>[] =00720 {00721 <a class="code" href="group__forth__imp.html#ga67">LIT</a>(WordHeader::Valid), <span class="comment">// WordValid</span>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -