Редактирование:
UNTIL
(раздел)
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Реализация == На этапе компиляции UNTIL может вызывать [[Авост приложения|авост]]. <pre> 3659 RLRESOLVE: .DW LITP 3660 .DB 39,17 ; 10001 3661 .DW SUB, BRAN,RCOMMA 3662 3663 ;#UNTIL 3664 ; UNTIL I ( ф −− ) Если ф ложен (ф=0), повторить цикл BEGIN UNTIL ещё раз. 3665 LUNTIL: .DB 85H 3666 .TEXT "UNTIL" ; ( флаг −− ) 3667 .DW LLRESOLVE ; Конец цикла "BEGIN UNTIL". 3668 UNTIL: .DW CALL, ONE,QPAIR, COMP,ZBRAND, BRAN,RLRESOLVE </pre> Реализации из SP-Forth 4.20: <pre> : UNTIL \ 94 \ Интерпретация: семантика неопределена. \ Компиляция: ( C: dest -- ) \ Добавить семантику времени выполнения, данную ниже, к текущему определению. \ Разрешить ссылку назад dest. \ Время выполнения: ( x -- ) \ Если все биты x нулевые, продолжать выполнение с позиции, заданной dest. ?COMP 3 <> IF -2004 THROW THEN \ ABORT" UNTIL без BEGIN !" ?BRANCH, 0xFFFFFF80 DP @ 4 - @ U< IF DP @ 5 - W@ 0x3F0 + DP @ 6 - W! -4 ALLOT THEN DP @ TO :-SET ; IMMEDIATE </pre> <pre> : UNTIL \ 94 ?COMP 3 <> IF -2004 THROW THEN \ ABORT" UNTIL без BEGIN !" TC-?BRANCH, 0xFFFFFF80 DP @ 4 - @ U< IF DP @ 5 - W@ 0x3F0 + DP @ 6 - W! -4 ALLOT THEN DP @ TO :-SET ; IMMEDIATE </pre> === Советская реализация === Юрий Семёнов приводит следующее описание слова UNTIL (стр. 65): : UNTIL 1 ?PAIR COMPILE ?BRANCH <RESOLVE ; IMMEDIATE У Баранова-Ноздрунова определение слова UNTIL выглядит так (стр. 58): : UNTIL ( A1,2 ---> ) 2 ?PAIRS COMPILE ?BRANCH <RESOLVE ; IMMEDIATE Описание слова UNTIL и определение [[Цикл BEGIN-UNTIL|цикла BEGIN…UNTIL]] в ядре ФОРТ-ЕС: <pre> UNTIL HK A,1-> /КОМПИЛЯЦИЯ/ КОНЕЦ ЦИКЛА "BEGIN UNTIL" 47 F-> /ИСПОЛНЕНИЕ/ Экран номер 47 ( 31.03.86 СТАНДАРТНЫЕ СТРУКТУРЫ УПРАВЛЕНИЯ ) : BEGIN ?COMP <MARK 1 ; IMMEDIATE : UNTIL 1 ?PAIRS COMPILE ?BRANCH <RESOLVE ; IMMEDIATE </pre> Определение слова UNTIL в FORTH ИТЭФ: <PRE> HEAD 305Q,'UNTI',314Q,UNTIL,$COL ; UNTIL DW ONE,QPAIR,COMP,ZBRAN,BACK,SEMI </PRE>
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице