Редактирование: Слово /−/

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

Текущая версия Ваш текст
Строка 7: Строка 7:
== Ввод слова /−/ ==
== Ввод слова /−/ ==
В [[Режим NUM|режиме NUM]] последовательно нажмите клавиши [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]]   [[Клавиша -|{{Серая клавиша|−}}]]   [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]]
В [[Режим NUM|режиме NUM]] последовательно нажмите клавиши [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]]   [[Клавиша -|{{Серая клавиша|−}}]]   [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]]
== Детали реализации ==
Слово /−/ является «обёрткой» вокруг [[Команда /−/|команды ЭКВМ /−/ («смена знака»)]].


== NEGATE и FNEGATE в стандарте ANS Forth ==
== NEGATE и FNEGATE в стандарте ANS Forth ==
Строка 45: Строка 48:


== Реализация ==
== Реализация ==
В [[Каллисто|Каллисто 1.0]] слово /−/ является «обёрткой» вокруг [[Команда /−/|команды ЭКВМ /−/ («смена знака»)]]:
<pre>
1425 ;#NEGATE
1426 ; /−/              ( x −− x1 )                          Сменить знак числа. x1 := −x
1427 LNEGATE:        .DB    3
1428                .TEXT  "/−/"                  ; ( x −− −x )
1429                .DW    LSSMOD
1430 NEGATE:        .DW    JNEGATE                ; Смена знака числа в стеке.
1431 JNEGATE:        PKRM03 +/− PKM03  KGOTO9        ; Обёртка вокруг /−/
</pre>
Реализации из SP-Forth 4.20:
<pre>
CODE NEGATE ( n1 -- n2 ) \ 94
\ n2 - арифметическая инверсия n1.
      NEG EAX
      RET
END-CODE
</pre>
<pre>
CODE FNEGATE  \ *
      FCHS
      RET
END-CODE
</pre>
=== Советская реализация ===
Слово /−/ в [[Каллисто]] является [[примитив]]ом. При необходимости его можно определить через [[FALSE|FALSE (ноль)]] и [[Слово −|вычитание]]:
Слово /−/ в [[Каллисто]] является [[примитив]]ом. При необходимости его можно определить через [[FALSE|FALSE (ноль)]] и [[Слово −|вычитание]]:
  : /−/  ( r -- -r )  FALSE ↔ − ;
  : /−/  ( r -- -r )  FALSE ↔ − ;
Строка 100: Строка 77:
== Ссылки ==
== Ссылки ==
* {{Исходник|NEGATE|/−/}}
* {{Исходник|NEGATE|/−/}}
* См. также слова [[NOT]] и [[0=]]
* См. также слова [[Слово NOT|NOT]] и [[0=]]
* [https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%B8%D0%B2%D0%BE%D0%BF%D0%BE%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE Противоположное число на Википедии]
* [https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%B8%D0%B2%D0%BE%D0%BF%D0%BE%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE Противоположное число на Википедии]
* Слова [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.1910 NEGATE] и [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.1.1567 FNEGATE (f-negate)] в стандарте ANS Forth ''(англ.)''
* Слова [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.1910 NEGATE] и [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.1.1567 FNEGATE (f-negate)] в стандарте ANS Forth ''(англ.)''
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)