Редактирование: N⟩LINK

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

Текущая версия Ваш текст
Строка 1: Строка 1:
'''N>LINK''' (от имени к связи) фортовское слово [[Каллисто]].
'''N>LINK''' — стандартное слово [[Каллисто]].
N>LINK        ( a1 −− a2 )                        От имени к связи. Преобразовать NFA в LFA.
Слово N>LINK позволяет получить [[LFA|адрес поля связи]] a2 по известному [[NFA|адресу поля имени]] a1.
 
== Ввод слова N>LINK ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша 4|{{Серая клавиша|4}}]]   [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]]   [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]]   [[Клавиша -|{{Серая клавиша|−}}]] [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша 9|{{Серая клавиша|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.
 
== Реализация ==
<pre>
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
</pre>
Реализация из SP-Forth 4.20:
<pre>
CODE NAME>L ( NFA -> LFA )
    MOVZX EBX, BYTE [EAX]
    LEA EAX, [EBX] [EAX]
    LEA EAX, 1 [EAX]
    RET
END-CODE
</pre>
 
=== Советская реализация ===
Описание и определение слова N&gt;LINK в ядре ФОРТ-ЕС:
<PRE>
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+ ;
</PRE>
 
== Ссылки ==
* {{Исходник|NtoLINK|N&gt;LINK}}
* См. слова [[⟩BODY|&gt;BODY]], [[BODY⟩|BODY&gt;]], [[NAME⟩|NAME&gt;]] и [[N⟩BODY|N&gt;BODY]]
 


{{нет иллюстраций}}
{{нет иллюстраций}}
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Слова высокого уровня]]
[[Категория:Преобразования адресов полей]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)