Редактирование:
DROP
(раздел)
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Реализация == В [[Каллисто]] стек содержит [[Десятичное число|десятичные числа]] — достаточно вместительные, чтобы популярные в ранних версиях Форта числа двойной длины не использовались. Когда их приходится использовать для совместимости с Фортом, слово DROP осуществляет простейший переход от двойной точности к обычной — действие, обратное действию [[S⟩D|S>D]]. Более точная реализация D>S должна проверять верхний элемент на отрицательность (32768 и больше), а также включать умножение на 65536. <pre> 1954 ;#DROP 1955 ; DROP ( x −− ) Убрать. Удалить верхний элемент стека. 1956 LDROP: .DB 4 1957 .TEXT "DROP" ; ( x −− ) 1958 .DW LDDROP 1959 DROP: .DW JDROP ; JDROP: 1 RM3 + M3 KGOTO9 … 2052 JDROP: 1 ; Да, это обработчик DROP 2053 NDROP: RM3 + M3 ; А сюда сваливается 2DROP 2054 KGOTO9 </pre> Реализации из SP-Forth 4.20: <pre> 0 VALUE 'DROP_V … : 'DROP 'DROP_V ; … : 'DROP \ CR ." NEW 'DROP " CURFILE @ ASCIIZ> TYPE SPACE CURSTR @ . S" DROP" TC-FINDOUT >VIRT TC-LIT, ; IMMEDIATE </pre> <pre> ' DROP >VIRT CONSTANT 'DROP </pre> <pre> CODE DROP ( x -- ) \ 94 \ Убрать x со стека. MOV EAX, [EBP] LEA EBP, 4 [EBP] RET END-CODE ' DROP TO 'DROP_V </pre> <pre> CODE FDROP \ * FSTP ST(0) RET END-CODE </pre> === Советская реализация === Слово DROP в ФОРТ-ЕС было [[примитив]]ом. Вот его описание и определение: <PRE> DROP W-> УБРАТЬ СО СТЕКА ВЕРХНЕЕ ЗНАЧЕНИЕ 9 Экран номер 9 ( 31.03.86 DUP ?DUP DROP SWAP OVER >R R> R@ RDROP ROT ) CODE DROP ( W-> ) RSTACK RTWO AR, RNEXT BR, END-CODE </PRE> В FORTH ИТЭФ слово DROP также было [[примитив]]ом, вот его определение: <PRE> HEAD 204Q,'DRO',320Q,DROP ; DROP DRP: ADD SP, 2 NEXT </PRE>
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице