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

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

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

Текущая версия Ваш текст
Строка 1: Строка 1:
'''N>LINK''' (от имени к связи) — фортовское слово [[Каллисто]].
'''N>LINK''' (от имени к связи) — стандартное слово [[Каллисто]].
N>LINK        ( a1 −− a2 )                        От имени к связи. Преобразовать NFA в LFA.
 
Слово N>LINK позволяет получить [[LFA|адрес поля связи]] a2 по известному [[NFA|адресу поля имени]] a1.
[[NFA]] ---> [[LFA]]


== Ввод слова N>LINK ==
== Ввод слова N>LINK ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша 4|{{Серая клавиша|4}}]]   [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]]   [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]]   [[Клавиша -|{{Серая клавиша|−}}]] [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша 9|{{Серая клавиша|9}}]]
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша 4|{{Серая клавиша|4}}]]   [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]]   [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]]   [[Клавиша -|{{Серая клавиша|−}}]] [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша 9|{{Серая клавиша|9}}]]


== История ==
== N>LINK в предыдущем стандарте Forth-83 (англ.) ==
Слово N>LINK пришло в [[Каллисто]] из расширения стандарта Форт−83 — удобного, хотя и необязательного к реализации. Будучи слишком низкоуровневым, оно было исключено из стандарта 1994 года.
 
Слово из расширения стандарта Форт−83 (необязательное).
 
=== N>LINK в предыдущем стандарте Forth-83 (англ.) ===
       N>LINK      addr1 -- addr2                        "name-to-link"
       N>LINK      addr1 -- addr2                        "name-to-link"
           addr2 is the link field address corresponding to the name
           addr2 is the link field address corresponding to the name
Строка 17: Строка 12:


== Реализация ==
== Реализация ==
<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 в ядре ФОРТ-ЕС:
Описание и определение слова N&gt;LINK в ядре ФОРТ-ЕС:
<PRE>
<PRE>
Строка 45: Строка 21:
: N>LINK  ( NFA->LFA)  DUP С@ 31 AND + 2+ ;
: N>LINK  ( NFA->LFA)  DUP С@ 31 AND + 2+ ;
</PRE>
</PRE>
== Ссылки ==
* {{Исходник|NtoLINK|N&gt;LINK}}
* См. слова [[⟩BODY|&gt;BODY]], [[BODY⟩|BODY&gt;]], [[NAME⟩|NAME&gt;]] и [[N⟩BODY|N&gt;BODY]]




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

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

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