N⟩LINK

Материал из ПМК вики
Версия от 00:08, 14 ноября 2017; AtH (обсуждение | вклад) (→‎Реализация)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

N>LINK (от имени к связи) — фортовское слово Каллисто.

N>LINK         ( a1 −− a2 )                         От имени к связи. Преобразовать NFA в LFA.

Слово N>LINK позволяет получить адрес поля связи a2 по известному адресу поля имени a1.

Ввод слова N>LINK[править]

В режиме ЛАТ последовательно нажмите клавиши  4     P   F   ИП     Р-ГРД-Г        7   4   9 

История[править]

Слово N>LINK пришло в Каллисто из расширения стандарта Форт−83 — удобного, хотя и необязательного к реализации. Будучи слишком низкоуровневым, оно было исключено из стандарта 1994 года.

Слово из расширения стандарта Форт−83 (необязательное).

N>LINK в предыдущем стандарте Forth-83 (англ.)[править]

     N>LINK       addr1 -- addr2                        "name-to-link"
          addr2 is the link field address corresponding to the name
          field address addr1.

Реализация[править]

2975 ;#NtoLINK
2976 ; N>LINK           ( a1 −− a2 )                         От имени к связи. Преобразовать NFA в LFA.
2977 LNLINK:         .DB     6
2978                 .TEXT   "N>LINK"                        ; ( nfa −− lfa )
2979                 .DW     LSPACE
2980 NLINK:          .DW CALL, DUP,CAT, BL,MOD, PLUS, ONEP, EXIT ; BL == 32

Реализация из SP-Forth 4.20:

CODE NAME>L ( NFA -> LFA )
     MOVZX EBX, BYTE [EAX]
     LEA EAX, [EBX] [EAX]
     LEA EAX, 1 [EAX]
     RET
END-CODE

Советская реализация[править]

Описание и определение слова N>LINK в ядре ФОРТ-ЕС:

N>LINK    *  NFA->LFA ПЕРЕЙТИ ОТ ПОЛЯ ИМЕНИ К ПОЛЮ СВЯЗИ        30

                     Экран номер 30
( 31.03.86  >BODY BODY> >LINK LINK> L>NAME N>LINK >NAME NAME> )

: N>LINK  ( NFA->LFA)  DUP С@ 31 AND + 2+ ;

Ссылки[править]


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.