⟩
Перейти к навигации
Перейти к поиску
> (больше) — стандартное слово Каллисто.
> ( x1 x2 −− f ) Больше. f равно −1 если и только если x1 больше, чем x2.
Ввод слова >
В режиме NUM последовательно нажмите две клавиши F ИП
> в стандарте ANS Forth
6.1.0540 > "greater-than" CORE ( n1 n2 -- flag ) flag - true, если и только если n1 - больше чем n2. См.: 6.2.2350 U>.
История
Чак Мур в 1970 году, в версии Форта размером в 2К×48бит для Burroughs B-5500 слово > называл GREATER
> в предыдущем стандарте Forth-83 (англ.)
> n1 n2 -- flag 83 "greater-than" flag is true if n1 is greater than n2. -32768 32767 > must return false. -32768 0 > must return false.
> в стандарте Forth-79 (англ.)
> n1 n2 -- flag 102 "greater-than" True if n1 is greater than n2.
> в fig-FORTH Release 1 glossary, май 1979 (англ.)
> n1 n2 --- f L0 Leave a true flag if n1 is greater than n2; otherwise a false flag.
Реализация
В Каллисто 1.0 примитив > вычитает два числа на вершине стека и сравнивает результат с нулём:
886 STT: 1 +/− PKM03 KGOTO9 ; [SP] := −1; NEXT … 920 ;#More 921 ; > ( y x −− f ) Больше. f равно −1 если и только если y больше, чем x. 922 LGREAT: .DB 1 923 .TEXT ">" ; ( a b −− флаг ) 924 .DW LLESS 925 GREAT: .DW JGREAT 926 JGREAT: RM3 M8 1 + M3 927 KRM8 PKRM03 − FX>=0 STT 928 Cx PKM03 KGOTO9
Реализация из SP-Forth 4.20:
CODE > ( n1 n2 -- flag ) \ 94 \ flag "истина" тогда и только тогда, когда n1 больше n2. CMP EAX, [EBP] SETGE AL AND EAX, # 1 A; 0x48 C, \ DEC EAX LEA EBP, 4 [EBP] RET END-CODE
Советская реализация
У Баранова-Ноздрунова приводится следующее определение слова > (стр. 26):
: > ( A,B ---> A > B ) - 0> ;
Описание слова > в ядре ФОРТ-ЕС (определение в блоке № 19 почему-то отсутствует):
> N1,N2->F F НЕ НУЛЬ, ЕСЛИ N1 БОЛЬШЕ N2 19
В FORTH ИТЭФ слово > было примитивом, вот его определение:
HEAD 201Q,,276Q,GREAT ; > POP AX POP CX CMP AX, CX JL TRUE JMP FALSE
Метки TRUE и FALSE см. в определении слова 0=
Ссылки
- Исходный текст слова > в Каллисто Классик 1.0
- См. слова 0>, = и <
- См. также символ >
- Слово > (greater-than) в стандарте ANS Forth (англ.)
- Слово > (greater-than) в черновике Forth 200x (англ.)
- КОМПЬЮТЕР "ПРИНИМАЕТ РЕШЕНИЯ" в книге Л.Броуди «Начальный курс программирования на языке Форт»
- Decisions, Decisions… в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |