BASE

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

BASE (основание) — стандартная переменная Каллисто.

BASE           ( −− a )                             Переменная, основание системы счисления для ввода−вывода чисел.

Слово BASE кладёт на стек адрес ячейки, содержащей текущее основание системы счисления для преобразования чисел (от 2 до 36).

Ввод слова BASE

В режиме ЛАТ последовательно нажмите четыре клавиши  В/О   ШГ←   1   ИП 

BASE в стандарте ANS Forth

6.1.0750   BASE                                                            CORE
           ( -- a-addr )
           a-addr - адрес ячейки, содержащей текущее основание системы 
           счисления для преобразования чисел {2...36}.

История

В 1968 году Чак Мур работал в Mohasco Industries, Inc (Amsterdam NY, англ.). Первая версия интерпретатора, получившая название FORTH, заработала на миникомпьютере IBM 1130 с графическим дисплеем 2250 (16-битный процессор с ОЗУ 8К, дисководом, клавиатурой, принтером и ридером/панчером перфокарт). Первый FORTH знал слово BASE

Слово BASE позволяло использовать восьмеричные и шестнадцатеричные числа наряду с десятичными.

Устоявшееся слово BASE присутствует в ядре всех стандартов (англ. CORE) со времён fig-Форта до готовящегося стандарта Форт-2012. Хотя для хранения основания системы счисления достаточно одного байта, Каллисто идёт навстречу стандарту и отводит на эту переменную целую ячейку.

BASE в предыдущем стандарте Forth-83 (англ.)

     BASE         -- addr                       U,83
          The address of a variable containing the current numeric
          conversion radix.  {2..72}

BASE в стандарте Forth-79 (англ.)

BASE           -- addr                       U,115
    Leave  the address of a variable containing the current input-
    output numeric conversion base.  {2..70}

BASE в fig-FORTH Release 1 glossary, май 1979 (англ.)

BASE          ---  addr                      U,L0
       A user variable containing the current number base used for input
       and output conversion.

Реализация

  99 rrBASE          .EQU     1110                   ; 11110  BASE − основание действующей системы счисления
 100 pBASE           .EQU      110
 101 rlBASE          .EQU     1111
…
2865 ;#BASE
2866 ; BASE             ( −− a )                             Переменная, основание системы счисления для ввода−вывода чисел.
2867 LBASE:          .DB     4
2868                 .TEXT   "BASE"
2869                 .DW     LSTATE
2870 BASE:           .DW     SUSE
2871                 .DB pBASE

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

USER     BASE ( -- a-addr ) \ 94
\ a-addr - адрес ячейки, содержащей текущее основание системы счисления (2..36).

Советская реализация

Описание и определение переменной BASE в ядре ФОРТ-ЕС:

BASE     П->А ПЕРЕМЕННАЯ - ТЕКУЩЕЕ ОСНОВАНИЕ СИСТЕМЫ            8
          СЧИСЛЕНИЯ ПРИ ВВОДЕ-ВЫВОДЕ ЧИСЕЛ

                      Экран номер 8
( 09.09.86   СИСТЕМНЫЕ ПЕРЕМЕННЫЕ -   ОКОНЧАНИЕ)

VARIABLE   BASE  ( ОСНОВАНИЕ    СИСТЕМЫ   СЧИСЛЕНИЯ)

Определение переменной BASE в FORTH ИТЭФ:

            HEAD     204Q,'BAS',305Q,BASE,$USE            ; BASE
            DW 56Q

Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.