Редактирование: UNLOOP

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

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

Текущая версия Ваш текст
Строка 44: Строка 44:


UNLOOP может быть использован несколько раз, для выхода из вложенных циклов.
UNLOOP может быть использован несколько раз, для выхода из вложенных циклов.
== Реализация ==
<pre>
719 JUNLOOP:        4                              ; Обработчик UNLOOP
720 NLEV:          RM2 + M2                        ; Убрать из стека возвратов два слова, счётчик и адрес
721                KGOTO9
1787 ;#UNLOOP
1788 ; UNLOOP          ( −− )                              Снять со стека возвратов параметры управления циклом FOR для текущего уровня вложенности.
1789 LUNLOOP:        .DB    6
1790                .TEXT  "UNLOOP"
1791                .DW    LLEAVE
1792 UNLOOP:        .DW    JUNLOOP                ; Обычно используется перед EXIT для выхода изнутри цикла со счётчиком.
</pre>
Реализации из SP-Forth 4.20:
<pre>
: UNLOOP  \ 94
\ Интерпретация: семантика неопределена.
\ Выполнение: ( -- ) ( R: loop-sys -- )
\ Убрать параметры цикла текущего уровня. UNLOOP требуется для каждого
\ уровня вложения циклов перед выходом из определения по EXIT.
\ Неоднозначная ситуация возникает, если параметры цикла недоступны.
  ?COMP
  SetOP  0C24648D , \ lea esp, 0c [esp]
; IMMEDIATE
</pre>
<pre>
: UNLOOP  \ 94
  ?COMP
  SetOP  0C24648D , \ lea esp, 0c [esp]
; IMMEDIATE
</pre>


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

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

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