Редактирование:
Слово ↑
(раздел)
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Реализация == В [[Каллисто|Каллисто 1.0]] слово ↑ является аналогом команды ЭКВМ [[ENT|В↑]], но действует в [[Стек данных|стеке данных]] [[Каллисто]]: <pre> 1903 ;#DUP 1904 ; ↑ ( x −− x x ) Дублировать. 1905 LDUP: .DB 1,24 1906 .DW LDSWAP 1907 DUP: .DW JDUP 1908 JDUP: PKRM03 KM3 KGOTO9 ; Дублировать верхний элемент стека. </pre> В [[Каллисто]] слово ↑ реализовано, как [[примитив]]. Но при необходимости ↑ можно легко выразить через более мощное слово [[PICK]]: : ↑ ( x -- x x) 0 PICK ; Это определение верно и в Форте, начиная с Форта-83. === Реализации в SP-Forth 4.20 === <pre> 0 VALUE 'DUP_V … : 'DUP 'DUP_V ; … : 'DUP S" DUP" TC-FINDOUT TC-LIT, ; IMMEDIATE </pre> <pre> ' DUP >VIRT CONSTANT 'DUP </pre> <pre> \ ================================================================ \ Стековые манипуляции CODE DUP ( x -- x x ) \ 94 \ Продублировать x. LEA EBP, -4 [EBP] MOV [EBP], EAX RET END-CODE </pre> <pre> CODE FDUP \ * FLD ST(0) RET END-CODE </pre> === Советская реализация === Слово ↑ в ФОРТ-ЕС называлось DUP и было [[примитив]]ом. Вот его описание и определение: <PRE> DUP W->W,W ПРОДУБЛИРОВАТЬ ВЕРХНЕЕ ЗНАЧЕНИЕ 9 Экран номер 9 ( 31.03.86 DUP ?DUP DROP SWAP OVER >R R> R@ RDROP ROT ) CODE DUP ( W->W,W) RW1 PULL, PUSHRW1 B, END-CODE </PRE> В FORTH ИТЭФ слово ↑ называлось DUP и также было [[примитив]]ом, вот его определение: <PRE> HEAD 203Q,'DU',320Q,DUBL ; DUP POP AX DU: PUSH AX C$: PUSH AX NEXT </PRE>
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице