DIGIT: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 46: | Строка 46: | ||
JMP TRUE ; "Успешный" выход | JMP TRUE ; "Успешный" выход | ||
</PRE> | </PRE> | ||
== Ссылки == | |||
* {{Исходник|DIGIT|DIGIT}} | |||
Версия от 04:54, 3 июня 2016
DIGIT (цифра) — стандартное слово Каллисто.
ASCII-DIGIT BASE => DIGIT-VALUE TRUE / FALSE
Ввод слова DIGIT
В режиме ЛАТ последовательно нажмите клавиши K 7 БП 7 2
DIGIT в fig-FORTH Release 1 glossary, май 1979 (англ.)
DIGIT c n1 --- n2 tf (ok) c n1 --- ff (bad) Converts the ascii character c (using base n1) to its binary equivalent n2, accompanied by a true flag. If the conversion is invalid, leaves only a false flag.
История
Слово DIGIT является одним из наиболее старых слов Форта. Оно появилось в Форте в 1965 году, когда Чак Мур подрабатывал наёмным программистом в городе Нью-Йорк. Тогда появились миникомпьютеры, а с ними и терминалы. Интерпретатор был идеален для ввода с телетайпа и вскоре стал включать код для работы с выводом.
Реализация
Описание и определение слова DIGIT в ядре ФОРТ-ЕС:
DIGIT * C,N1->N2,TP/FF N2 - ЗНАЧЕНИЕ ЛИТЕРЫ С КАК 39 ЦИФРЫ В СИСТЕМЕ СЧИСЛЕНИЯ ПО ОСНОВАНИЮ N1 Экран номер 39 ( 31.03.86 DIGIT CONVERT NUMBER ) : DIGIT ( C,N1->N2,TF/FF) 0 ROT ROT 0 DO I ALPHA OVER ─ IF 2DROP I -1 0 LEAVE THEN LOOP DROP ;
В FORTH ИТЭФ слово DIGIT тоже было примитивом, вот его определение:
HEAD 205Q,'DIGI',324Q,DIGIT ; DIGIT ; ASCII-DIGIT BASE=>DIGIT-VALUE TRUE (FALSE) POP AX ; AX=BASE POP CX SUB CX, 60Q ; VALID DIGIT = ASCII-60 JL FALSE CMP CX, 9 ; Если >9 JLE M09 SUB CX, 7 CMP CX, 10 JL FALSE M09: CMP CX, AX ; Если не меньше BASE, то ошибка JGE FALSE PUSH CX ; Запись цифры в стек JMP TRUE ; "Успешный" выход
Ссылки
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |