HEX

Материал из ПМК вики
Версия от 18:04, 10 ноября 2017; AtH (обсуждение | вклад) (→‎Реализация)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

HEX (шестнадцатеричная, читается «хэкс») — стандартное слово Каллисто. Перейти в шестнадцатеричную систему счисления.

HEX            ( −− )                               Установить шестнадцатеричную систему счисления.
Пример работы слова HEX

Устанавливает основание системы счисления при преобразовании чисел на 16 (шестнадцатеричные числа).

Ввод слова HEX[править]

В режиме ЛАТ последовательно нажмите три клавиши  ПП   ИП   0 

HEX в стандарте ANS Forth[править]

6.2.1660   HEX                                                         CORE EXT
           ( -- )
           Устанавливает содержимое BASE в 16.

История[править]

Слово HEX пришло в Каллисто из Форта, где оно входит во все стандарты, не изменившись со времён fig-Форта в 1979 году.

HEX в предыдущем стандарте Forth-83 (англ.)[править]

     HEX          --                            79
          Set the numeric input-output conversion base to sixteen.

HEX в стандарте Forth-79 (англ.)[править]

HEX            --                            162
    Set the numeric input-output conversion base to sixteen.

HEX в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]

HEX                                             L0
       Set the numeric conversion base to sixteen (hexadecimal).

Реализация[править]

  99 rrBASE          .EQU     1110                   ; 11110  BASE − основание действующей системы счисления
 100 pBASE           .EQU      110
 101 rlBASE          .EQU     1111
…
2367 ;#HEX
2368 ; HEX              ( −− )                               Установить шестнадцатеричную систему счисления для ввода−вывода.
2369 LHEX:           .DB     3
2370                 .TEXT   "HEX"
2371                 .DW     LRBRAC
2372 HEX:            .DW     JHEX
2373 JHEX:           16
2374 SETBASE:        PPM rlBASE
2375                 CX PPM rrBASE                   ; Каллисто использует 16−битную переменную для совместимости с Фортом.
2376                 KGOTO9

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

: HEX ( -- ) \ 94 CORE EXT
\ Установить содержимое BASE равным шестнадцати.
  16 BASE !
;

Советская реализация[править]

У Баранова-Ноздрунова приводится следующее описание слова HEX через присваивание переменной BASE числа 16 (стр. 24):

: hex   ( -- )   16 base ! ;

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

HEX    +  -> ПЕРЕЙТИ В ШЕСТНАДЦАТИРИЧНУЮ СИСТЕМУ                22

                     Экран номер 22
( 31.03.86   FILL ERASE BLANK COMPILE [ ] MIN MAX HEX DECIMAL)

: HEX ( ->)  16 BASE ! ;

В FORTH ИТЭФ слово HEX было примитивом, вот его определение:

            HEAD     203Q,'HE',330Q,$HEX                  ; HEX
            MOV  WORD PTR [DI+56Q],16
            NEXT

Ссылки[править]


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