BRANCH: различия между версиями
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
Слово BRANCH переустанавливает указатель интерпретации по адресу, скомпилированному вслед за данной ссылкой на [[xt]] BRANCH. | Слово BRANCH переустанавливает указатель интерпретации по адресу, скомпилированному вслед за данной ссылкой на [[xt]] BRANCH. | ||
Низкоуровневое слово BRANCH не является аналогом оператора GOTO. Обычно BRANCH не используется при составлении программ, а только в словах вроде [[ELSE]] и [[REPEAT]]. Адрес ветвления должен быть скомпилирован сразу после оператора BRANCH | Низкоуровневое слово BRANCH не является аналогом оператора GOTO, хотя имеет схожее назначение. Обычно BRANCH не используется при составлении программ, а только в словах вроде [[ELSE]] и [[REPEAT]]. Адрес ветвления должен быть скомпилирован сразу после оператора BRANCH | ||
== Ввод слова BRANCH == | == Ввод слова BRANCH == |
Версия от 04:22, 19 марта 2016
BRANCH (переход, ветвление) — стандартное слово Каллисто. Продолжить интерпретацию от значения следующего скомпилированного адреса.
BRANCH ( -- ) Ветвление. Безусловный переход в шитом коде.
Слово BRANCH переустанавливает указатель интерпретации по адресу, скомпилированному вслед за данной ссылкой на xt BRANCH.
Низкоуровневое слово BRANCH не является аналогом оператора GOTO, хотя имеет схожее назначение. Обычно BRANCH не используется при составлении программ, а только в словах вроде ELSE и REPEAT. Адрес ветвления должен быть скомпилирован сразу после оператора BRANCH
Ввод слова BRANCH
В режиме ЛАТ последовательно нажмите клавиши В/О × ШГ← 4 С/П ПП
BRANCH в предыдущем стандарте Forth-83 (англ.)
BRANCH -- C,83 When used in the form: COMPILE BRANCH an unconditional branch operation is compiled. A branch address must be compiled immediately following this compilation address. The branch address is typically generated by following BRANCH with <RESOLVE or >MARK .
BRANCH в fig-FORTH Release 1 glossary, май 1979 (англ.)
BRANCH C2,L0 The run-time proceedure to unconditionally branch. An in-line offset is added to the interpretive pointer IP to branch ahead or back. BRANCH is compiled by ELSE, AGAIN, REPEAT.
Реализация BRANCH
У Баранова-Ноздрунова приводится следующее высокоуровневое описание слова BRANCH (стр. 54):
: BRANCH ( ---> ) R> @ >R ;
Для повышения скорости исполнения в Каллисто BRANCH реализован, как примитив.
Ссылки
- Оператор GOTO и команда перехода на Википедии
- Branch на английской Википедии (англ.)
- См. также команды ПМК БП и Р БП
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |