Слово /
Перейти к навигации
Перейти к поиску
/ (дробь, целочисленное деление) — стандартное слово Каллисто.
/ ( y x −− n ) Делить нацело. n := Trunc [y/x]
Целочисленное деление y на x, помещение целого частного n в стек.
Ввод слова /
В режиме NUM последовательно нажмите две клавиши F ÷
/ в стандарте ANS Forth
6.1.0230 / "slash" CORE ( n1 n2 -- n3 ) Делит n1 на n2, возвращает частное одна-ячейка n3. Неопределенная ситуация существует, если n2 нулевое. Если n1 и n2 отличаются по знаку, возвращенный результат, определенный реализацией будет тот же самый, как и возвращаемый фразой >R S>D R> FM/MOD SWAP DROP или фразой >R S>D R> SM/REM SWAP DROP. См.: 3.2.2.1 Целочисленное деление.
История
Слово / является одним из самых древних сохранившихся слов Форта. Оно было реализовано Чаком Муром для 2К×48бит версии Форта на Burroughs B-5500 в 1970 году.
/ в предыдущем стандарте Forth-83 (англ.)
/ n1 n2 -- n3 83 "divide" n3 is the floor of the quotient of n1 divided by the divisor n2. An error condition results if the divisor is zero or if the quotient falls outside of the range {-32,768..32,767}. See: "division, floored"
/ в стандарте Forth-79 (англ.)
/ n1 n2 -- n3 178 "divide" Divide n1 by n2 and leave the quotient n3. n3 is rounded toward zero.
/ в fig-FORTH Release 1 glossary, май 1979 (англ.)
/ n1 n2 --- quot L0 Leave the signed quotient of n1/n2.
Реализация
1368 ;#Slash 1369 ; / ( y x −− n ) Делить нацело. n := Trunc [y/x] 1370 LSLASH: .DB 1 1371 .TEXT "/" ; ( делимое делитель −− частное ) 1372 .DW LFDIV ; ( a b −− [a/b] ) 1373 SLASH: .DW JSLASH 1374 JSLASH: RM3 MB 1 + MA M3 ; Целочисленное деление делимого x1 на делитель x2, положить частное n на стек. 1375 KRMA KRMB / KINT KMA 1376 KGOTO9
Реализация из SP-Forth 4.20:
CODE / ( n1 n2 -- n3 ) \ 94 \ Делить n1 на n2, получить частное n3. \ Исключительная ситуация возникает, если n2 равен нулю. \ Если n1 и n2 различаются по знаку - возвращаемый результат зависит от \ реализации. MOV ECX, EAX MOV EAX, [EBP] CDQ IDIV ECX LEA EBP, 4 [EBP] RET END-CODE
Советская реализация
Слово / в FORTH ИТЭФ и ФОРТ-ЕС определено одинаково, через слово /MOD.
Вот описание и определение слова / в ядре ФОРТ-ЕС:
/ N1,N2->N3 ЧАСТНОЕ ОТ ДЕЛЕНИЯ N1 НА N2 18 Экран номер 18 ( 03.10.84 М* M/ * /MOD / MOD */MOD */) : / ( N1,N2->N3) /MOD SWAP DROP ;
Определение слова / в FORTH ИТЭФ:
HEAD 201Q,,257Q,SLASH,$COL ; / DW SLMOD,SWAP,DROP,SEMI
Ссылки
- Исходный текст слова / в Каллисто Классик 1.0
- Слово / (slash) в стандарте ANS Forth (англ.)
- Слово / (slash) в черновике Forth 200x (англ.)
- ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- How to Get Results в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |