MAX: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
[[Файл:CallistoMAXMIN2DUP.png|thumb|right|264px|Пример работы слова MAX]] | [[Файл:CallistoMAXMIN2DUP.png|thumb|right|264px|Пример работы слова MAX]] | ||
'''MAX''' (максимум) — стандартное слово [[Каллисто]]. Нахождение большего из двух [[Десятичное число|чисел]]. | '''MAX''' (максимум) — стандартное слово [[Каллисто]]. Нахождение большего из двух [[Десятичное число|чисел]]. | ||
MAX ( x1 x2 | MAX ( x1 x2 −− x3 ) Нахождение большего из двух чисел. x3 := max (x1, x2) | ||
Засылает в [[Стек данных|стек]] [[Десятичное число|число]] x3, которое является наибольшим из двух [[Десятичное число|чисел]] x1 и x2. | Засылает в [[Стек данных|стек]] [[Десятичное число|число]] x3, которое является наибольшим из двух [[Десятичное число|чисел]] x1 и x2. | ||
Строка 66: | Строка 65: | ||
== Ссылки == | == Ссылки == | ||
* {{Исходник|MAX|MAX}} | |||
* См. слово [[MIN]] | * См. слово [[MIN]] | ||
* Слова [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.1870 MAX] и [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.1.1562 FMAX (f-max)] в стандарте ANS Forth ''(англ.)'' | * Слова [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.1870 MAX] и [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.1.1562 FMAX (f-max)] в стандарте ANS Forth ''(англ.)'' |
Версия от 19:56, 3 июня 2016
MAX (максимум) — стандартное слово Каллисто. Нахождение большего из двух чисел.
MAX ( x1 x2 −− x3 ) Нахождение большего из двух чисел. x3 := max (x1, x2)
Засылает в стек число x3, которое является наибольшим из двух чисел x1 и x2.
Ввод слова MAX
В режиме ЛАТ последовательно нажмите три клавиши ÷ ШГ← 0
Детали реализации
Слово является «обёрткой» вокруг команды ЭКВМ К max.
FMAX в стандарте ANS Forth
12.6.1.1562 FMAX "f-max" FLOATING ( F: r1 r2 -- r3 ) or ( r1 r2 -- r3 ) r3 большее из r1 и r2.
MAX в стандарте ANS Forth
6.1.1870 MAX CORE ( n1 n2 -- n3 ) n3 большее из n1 и n2.
MAX в предыдущем стандарте Forth-83 (англ.)
MAX n1 n2 -- n3 79 "max" n3 is the greater of n1 and n2 according to the operation of > .
MAX в стандарте Forth-79 (англ.)
MAX n1 n2 -- n3 218 "max" Leave the greater of two numbers.
MAX в fig-FORTH Release 1 glossary, май 1979 (англ.)
MAX n1 n2 --- max L0 Leave the greater of two numbers.
Реализация
Слово MAX в ФОРТ-ЕС было примитивом. Вот его описание и определение:
МАХ N1,N2->N3 БОЛЬЕЕЕ ИЗ ЧИСЕЛ N1 И N2 22 Экран номер 22 ( 31.03.86 FILL ERASE BLANK COMPILE [ ] MIN MAX HEX DECIMAL) CODE MAX ( N1,N2->N3 ) 14 LHRM12 BAL, RW1 RW2 CR, POP BNL, RW1 RW2 LR, POPPUT1 B, END-CODE
В FORTH ИТЭФ слово MAX также было примитивом и опиралось на часть кода примитива MIN, вот их определения:
HEAD 203Q,'MI',316Q,MIN ; MIN POP AX POP CX CMP CX, AX JL DEEP TOP: PUSH AX NEXT DEEP: PUSH CX NEXT HEAD 203Q,'MA',330Q,MAX ; MAX POP AX POP CX CMP CX, AX JGE DEEP JMP TOP
Ссылки
- Исходный текст слова MAX в Каллисто Классик 1.0
- См. слово MIN
- Слова MAX и FMAX (f-max) в стандарте ANS Forth (англ.)
- Слова MAX и FMAX (f-max) в черновике Forth 200x (англ.)
- ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- The Philosophy of Fixed Point в книге Leo Brodie Starting Forth (англ.)
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |