Редактирование:
?DUP
(раздел)
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Реализация == <pre> 1910 ;#qDUP 1911 ; ?DUP ( x −− 0 | x x ) Дублировать, если x≠0. 1912 LQDUP: .DB 4 1913 .TEXT "?DUP" 1914 .DW LDUP 1915 QDUP: .DW JQDUP 1916 JQDUP: PKRM03 KX!=09 ; Если x<>0 1917 KM3 KGOTO9 ; ..делает DUP </pre> === Реализации в SP-Forth 4.20 === <pre> CODE1 ?DUP ( x -- 0 | x x ) \ 94 \ Продублировать x, если не ноль. OR EAX, EAX JNZ ' DUP RET ;C </pre> <pre> CODE C-?DUP OR EAX, EAX JZ SHORT @@1 LEA EBP, -4 [EBP] MOV [EBP], EAX @@1: RET END-CODE … : ?DUP STATE @ IF HERE TO :-SET ['] C-?DUP INLINE, HERE TO :-SET \ нужно как в THEN ELSE ?DUP THEN ; IMMEDIATE </pre> <pre> : ?DUP STATE @ IF HERE TO :-SET S" C-?DUP" TC-FINDOUT INLINE, HERE TO :-SET ELSE ?DUP THEN ; IMMEDIATE </pre> === Советская реализация === У Баранова-Ноздрунова приводится следующее определение слова ?DUP (стр. 29): : ?DUP ( A ---> A,A / 0 ) ↑ IF ↑ THEN ; Описание и определение слова ?DUP в ядре ФОРТ-ЕС: <PRE> ?DUP W->W,W ПРОДУБЛИРОВАТЬ W, ЕСЛИ ЭТО НЕ НУЛЬ 9 Экран номер 9 ( 31.03.86 DUP ?DUP DROP SWAP OVER >R R> R@ RDROP ROT ) : ?DUP ( W->W,W| 0->0 ) DUP IF DUP THEN ; </PRE> В FORTH ИТЭФ слово ?DUP называлось −DUP и было [[примитив]]ом, который опирался на код [[примитив]]а [[Слово ↑|DUP]], вот их определения: <PRE> HEAD 203Q,'DU',320Q,DUBL ; DUP POP AX DU: PUSH AX C$: PUSH AX NEXT HEAD 204Q,'-DU',320Q,DDUP ; -DUP POP AX CMP AX, 0 JNE DU JMP C$ </PRE>
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице