⟨RESOLVE
Перейти к навигации
Перейти к поиску
<RESOLVE (разрешить) — фортовское слово Каллисто. Скомпилировать адрес перехода назад.
<RESOLVE ( a −− ) Разрешить ссылку назад в адрес a.
Слово <RESOLVE компилирует ссылку на точку, адрес которой передан через стек словом <MARK.
Обычно <MARK и <RESOLVE используются в паре для компиляции адреса переходов назад: BRANCH и ?BRANCH.
Ввод слова <RESOLVE
В режиме NUM последовательно нажмите клавиши F ШГ→ Р-ГРД-Г × ИП 1 5 − ↔ ИП
Для возврата в режим NUM нажмите синюю клавишу P .
История
<RESOLVE в предыдущем стандарте Forth-83 (англ.)
<RESOLVE addr -- C,83 "backward-resolve" Used at the source of a backward branch after either BRANCH or ?BRANCH . Compiles a branch address using addr as the destination address.
BACK в fig-FORTH Release 1 glossary, май 1979 (англ.)
BACK addr -- Calculate the backward branch offset from HERE to addr and compile into the next available dictionary memory address.
Реализация
3653 ;#BkwRESOLVE 3654 ; <RESOLVE ( a −− ) Разрешить ссылку назад в адрес a. 3655 LLRESOLVE: .DB 8 3656 .TEXT "<RESOLVE" 3657 .DW LLMARK 3658 LRESOLVE: .DW CALL 3659 RLRESOLVE: .DW LITP 3660 .DB 39,17 ; 10001 3661 .DW SUB, BRAN,RCOMMA
Советская реализация
Юрий Семёнов приводит следующее определение слова <RESOLVE (стр. 65):
: <RESOLVE HERE - , ; ( компилирует в описание слова адрес воз- врата)
Описание и определение слова <RESOLVE в ядре ФОРТ-ЕС:
<RESOLVE К А -> РАЗРЕШИТЬ ССЫЛКУ НАЗАД В АДРЕС А 19 Экран номер 19 ( 31.03.86 СРАВНЕНИЯ И РАЗРЕШЕНИЯ В ШИТОМ КОДЕ) : <RESOLVE ( A->) , ;
Слово <RESOLVE в FORTH ИТЭФ называется BACK
Вот его определение:
HEAD 204Q,'BAC',313Q,BACK,$COL ; BACK DW HERE,SUB,COMMA,SEMI
Ссылки
- Исходный текст слова <RESOLVE в Каллисто Классик 1.0
- См. слова >MARK, >RESOLVE и <MARK
- См. также слова BRANCH и ?BRANCH
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |