(FIND): различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
== Реализация == | == Реализация == | ||
Слово (FIND) в ФОРТ-ЕС было [[примитив]]ом и устроено сложнее, чем в [[Каллисто]] и fig-Форте. Вот его определение: | Слово (FIND) в ФОРТ-ЕС было [[примитив]]ом и устроено сложнее, чем в [[Каллисто]] и fig-Форте. Вот его описание и определение: | ||
<PRE> | <PRE> | ||
(FIND) * -1,AN,,,A1,T->CFA,C,TF/FF ИСКАТЬ СЛОВО T 34 | (FIND) * -1,AN,,,A1,T->CFA,C,TF/FF ИСКАТЬ СЛОВО T 34 |
Версия от 18:20, 26 марта 2016
(FIND) — стандартное слово Каллисто.
Искать слово a1 в списке a2. При успехе дать NFA его статьи и c - байт длины с флагами.
Ввод слова (FIND)
В режиме NUM последовательно нажмите клавиши ШГ→ Р-ГРД-Г П 7 4 K P ШГ←
(FIND) в fig-FORTH Release 1 glossary, май 1979 (англ.)
(FIND) addr1 addr2 --- pfa b tf (ok) addr1 addr2 .--- ff (bad) Searches the dictionary starting at the name field address addr2, matching to the text at addr1. Returns parameter field address, length byte of name field and boolean true for a good match. If no match is found, only a boolean false is left.
Реализация
Слово (FIND) в ФОРТ-ЕС было примитивом и устроено сложнее, чем в Каллисто и fig-Форте. Вот его описание и определение:
(FIND) * -1,AN,,,A1,T->CFA,C,TF/FF ИСКАТЬ СЛОВО T 34 В СПИСКАХ A1,,,AN ПРИ УСПЕХЕ ДАТЬ CFA ЕГО СТАТЬИ И C - БАЙТ ДЛИНЫ С ПРИЗНАКАМИ Экран номер 34 ( 31.03.86 (FIND/ ) CODE (FIND) ( -1,AN,..,,A1,Т->СFA,С,TF/FF ) RW2 POP, RW2 RMASK NR, RW2 RFORTH AR, ( ОБРАЗЕЦ) 0 0 SR, 0 0 (, 0 RW2 IC, 0 LENG1MSK N, ( ДЛИНА) 1 1 SR, 1 0 BCTR, BEGIN, RW1 PULL, ( ВХОД В ОЧЕРЕДНОЙ СПИСОК СЛОВ) 2 =F В, BEGIN, RW1 RFORTH AR, 14 0 (, 0 RW1 IC, 14 LEHGMASK N, 14 0 CR, ?E IF, 14 4 =F EX, 3 =F BE, THEN, 14 LENG1MSK N, RW1 2 (, 14 RW1 LH, 2 =H RW1 RMASK NR, ?Z UNTIL, RSTACK RTWO AR, 1 FIRST CH, ?E UNTIL, PUTRW1 B, BEGIN, RSTACK RTWO AR, 3 =H 1 FIRST CH, ?E UNTIL, 0 0 (, 0 RW1 IC, RW1 RFORTH SR, RW1 4 (, 14 RW1 LA, RW1 PUT, 0 PUSH, RW1 1 LR, PUSHRW1 B, 4 =H 1 (, 1 RW1 ), 1 (, RW2 CLC, END-CODE
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |