Редактирование:
Слово =
(раздел)
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Реализация == В [[Каллисто|Каллисто 1.0]] [[примитив]] = вычитает два числа на вершине стека и сравнивает результат с нулём: <pre> 886 STT: 1 +/− PKM03 KGOTO9 ; [SP] := −1; NEXT … 899 ;#Equal 900 ; = ( y x −− f ) Равно. Проверить на равенство. 901 ; В стандарте Форта слово = сравнивает значения на вершине стека побитово. 902 LEQUAL: .DB 1 903 .TEXT "=" ; ( a b −− флаг ) 904 .DW LZLESS 905 EQUAL: .DW JEQUAL 906 JEQUAL: RM3 M8 1 + M3 907 PKRM03 KRM8 − FX!=0 STT 908 Cx PKM03 KGOTO9 </pre> Реализации из SP-Forth 4.20: <pre> \ ================================================================ \ Сравнения CODE = ( x1 x2 -- flag ) \ 94 \ flag "истина" тогда и только тогда, когда x1 побитно равен x2. XOR EAX, [EBP] SUB EAX, # 1 SBB EAX, EAX LEA EBP, 4 [EBP] RET END-CODE </pre> <pre> CODE F= \ * LEA EBP, -4 [EBP] MOV [EBP], EAX XOR EBX, EBX FCOMPP FSTSW EAX SAHF JNE SHORT @@1 MOV EBX, # -1 @@1: MOV EAX, EBX RET END-CODE </pre> === Советская реализация === У Баранова-Ноздрунова приводится следующее определение слова = (стр. 26): : = ( A,B ---> A = B ) - 0= ; Описание и определение слова = в ядре ФОРТ-ЕС: <PRE> = W1,W2->F F НЕ НУЛЬ, ЕСЛИ W1 РАВНО W2 19 Экран номер 19 ( 31.03.86 CPАBHEHИЯ И РАЗРЕШЕНИЯ В ШИТОМ КОДЕ) : = ( W1,W2->F) - 0= ; </PRE> В FORTH ИТЭФ слово = тоже было [[примитив]]ом, вот его определение: <PRE> HEAD 201Q,,275Q,EQUAL ; = POP AX POP CX CMP CX, AX JE TRUE JMP FALSE </PRE> Метки TRUE и FALSE см. в определении слова [[0=]]
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице