Материал из ПМК вики
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

(возведение в квадрат, читается «икс квадрат») — традиционное слово Каллисто. Вычисление квадрата числа.

X²             ( x -- p )                      Квадрат. p ← x²
Пример работы слова X²

p — x в квадрате. Аргумент x должен быть меньше 1050.

Ввод слова X²

В режиме ЛАТ последовательно нажмите четыре клавиши  0     P   F   × 

Эти нажатия оставляют клавиатуру в режиме NUM.

История

Имя X² восходит к надписи на клавиатуре советского ПМК «Электроника Б3-34», выпущенного в 1980 году.

Реализация

Слово является «обёрткой» вокруг команды ЭКВМ F x², вызывающей переполнение при аргументах, больше либо равных 1E50.

Обработка этой ошибки производится встроенной программой. Например, последовательность слов  1E50 X²  вызывает аварийный останов Каллисто с сообщением «Переполнение» в строке комментариев. Можно ввести с клавиатуры произвольное число в качестве значения «(1050)²» и вернуться в Каллисто, нажав  С/П . Подробнее см. статью Авост Каллисто.

В случае аварийного останова рекомендуется произвести «холодную перезагрузку» Каллисто с удалением всех введённых слов, нажав последовательно клавиши  В/О   С/П . Для повышения быстродействия слово X² в Каллисто 1.0 сделано примитивом:

1597 ;#Xcaret2
1598 ; X²               ( x −− p )                           Квадрат числа. p := x²
1599 LX2:            .DB     2
1600                 .TEXT   "X"                     ; ( x −− x^2 )
1601                 .DB     189                     ; X^2
1602                 .DW     LLN
1603 X2:             .DW     JX2
1604 JX2:            PKRM03 FX^2 PKM03  KGOTO9       ; Обёртка вокруг FX^2.

При необходимости его можно определить через умножение:

: X²  ( r -- r² )  ↑ × ;

Реализация из SP-Forth 4.20:

CODE F**2
       FMUL ST, ST
       RET
END-CODE

Ссылки