Редактирование: BRANCH
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''BRANCH''' (переход, ветвление) — | '''BRANCH''' (переход, ветвление) — встроенное слово [[Каллисто]]. Продолжить интерпретацию от значения следующего скомпилированного адреса. | ||
BRANCH ( -- ) Ветвление. Безусловный переход в шитом коде. | BRANCH ( -- ) Ветвление. Безусловный переход в шитом коде. | ||
Сразу после оператора BRANCH должен быть скомпилирован адрес ветвления. Слово BRANCH переустанавливает указатель интерпретации по адресу, скомпилированному вслед за | Сразу после оператора BRANCH должен быть скомпилирован адрес ветвления. Слово BRANCH переустанавливает указатель интерпретации по адресу, скомпилированному вслед за данной [[CFA|ссылкой на поле кода]] BRANCH. | ||
Низкоуровневое слово BRANCH не является аналогом оператора GOTO, хотя имеет схожее назначение. Обычно BRANCH не используется | Низкоуровневое слово BRANCH не является аналогом оператора GOTO, хотя имеет схожее назначение. Обычно BRANCH не используется при составлении программ, а только в словах вроде [[ELSE]] и [[REPEAT]]. Слово BRANCH может потребоваться при реализации собственных структур управления, например отсутствующего в [[Каллисто]] оператора CASE. | ||
== Ввод слова BRANCH == | == Ввод слова BRANCH == | ||
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша В/О|{{Чёрная клавиша|В/О}}]] [[Клавиша ×|{{Серая клавиша|×}}]] {{ШГ←}} [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша ПП|{{Чёрная клавиша|ПП}}]] | В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша В/О|{{Чёрная клавиша|В/О}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша ШГ влево|{{Чёрная клавиша|ШГ←}}]] [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша ПП|{{Чёрная клавиша|ПП}}]] | ||
== История == | == История == | ||
Строка 26: | Строка 26: | ||
== Реализация == | == Реализация == | ||
У Баранова-Ноздрунова приводится следующее высокоуровневое определение слова BRANCH (стр. 54): | У Баранова-Ноздрунова приводится следующее высокоуровневое определение слова BRANCH (стр. 54): | ||
: BRANCH ( ---> ) R> @ >R ; | : BRANCH ( ---> ) R> @ >R ; | ||
Строка 84: | Строка 49: | ||
CNT: ADD SI, [SI] | CNT: ADD SI, [SI] | ||
NEXT | NEXT | ||
</PRE> | </PRE> | ||
== Ссылки == | == Ссылки == | ||
* {{Исходник|BRANCH|BRANCH}} | * {{Исходник|BRANCH|BRANCH}} | ||
* [http://ru.wikipedia.org/wiki/Goto Оператор GOTO] и [https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0 команда перехода] на Википедии | * [http://ru.wikipedia.org/wiki/Goto Оператор GOTO] и [https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0 команда перехода] на Википедии | ||
* [https://en.wikipedia.org/wiki/Branch_%28computer_science%29 Branch на английской Википедии] ''(англ.)'' | * [https://en.wikipedia.org/wiki/Branch_%28computer_science%29 Branch на английской Википедии] ''(англ.)'' |