Внимание: Вы не вошли в систему. Ваш 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>
| |
|
| |
|
| == Ссылки == | | == Ссылки == |
Строка 90: |
Строка 58: |
| [[Категория:Структуры управления Каллисто]] | | [[Категория:Структуры управления Каллисто]] |
| [[Категория:Операции со стеком возвратов Каллисто]] | | [[Категория:Операции со стеком возвратов Каллисто]] |
| [[Категория:Стандартные слова]]
| |
| [[Категория:1994 CORE]]
| |
| [[Категория:2012 CORE]]
| |