TIB

Материал из ПМК вики
Перейти к навигации Перейти к поиску

TIB (читается «ти-ай-би») — стандартное слово Каллисто.

TIB            ( −− a )                             Дать адрес TIB (входного буфера терминала).

Слово TIB заносит в стек число 11000 — начальный адрес входного буфера терминала.

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

В режиме ЛАТ последовательно нажмите три клавиши  2   7   В/О 

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

 6.2.2290   TIB                           "t-i-b"                       CORE EXT
            ( -- c-addr )
            c-addr - адрес буфера ввода терминала.

        Примечание: Это слово устаревшее и включено как уступка существующим 
            реализациям.

 A.6.2.2290   TIB
 Функция TIB была заменена SOURCE.

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

TIB это сокращение от английского термина Terminal Input Buffer (входной буфер терминала). Иногда его расшифровывают, как Text Input Buffer (буфер вводимого текста), что менее точно.

В Форте-83 слово TIB вместо адреса переменной стало помещать в стек непосредственно адрес начала входного буфера. Этого соглашения придерживается и Каллисто.

В стандарте Форта 1994 года слова TIB и #TIB были определены, как устаревшие. Их нет в черновике стандарта 200x года.

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

     TIB          -- addr                       83             "t-i-b"
          The address of the text input buffer.  This buffer is used
          to hold characters when the input stream is coming from the
          current input device.  The minimum capacity of TIB is 80
          characters.

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

TIB           ---  addr                          U
       A user variable containing the address of the terminal input buffer.
The terminal input buffer is decimal 80 bytes (the hex 50 in QUERY) plus 2
at the end.

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

2056 ;#TIB
2057 ; TIB              ( −− a )                             Дать адрес TIB (входного буфера терминала).
2058 LTIB:           .DB     3
2059                 .TEXT   "TIB"                   ; ( −− адрес_TIB )
2060                 .DW     LHOLD                   ; Положить на стек начальный адрес входного буфера терминала (Terminal Input Buffer).
2061 TIB:            .DW SCONP                       ; Входной буфер терминала
2062                 .DB 2aH,0f8H                    ; 11000

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

USER #TIB ( -- a-addr ) \ 94 CORE EXT
\ a-addr - адрес ячейки, содержащей число символов в буфере TIB.
…
USER-VALUE  TIB ( -- c-addr ) \ 94 CORE EXT
\ Адрес терминального входного буфера.

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

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

TIB         ->А АДРЕС ВХОДНОГО ТЕКСТОВОГО БУФЕРА                2
             ДЛЯ ВВОДА С ТЕРМИНАЛА
TIB#    M    ФОРТ-АДРЕС НАЧАЛА БУФЕРА TIB                       2

                      Экран номер 2
( 09,09.86  СИСТЕМНЫЕ ПЕРЕМЕННЫЕ И КОНСТАНТЫ )

CONST TIB      M: TIB#   0 Н,  ( АДРЕС НАЧАЛА БУФЕРА ТIВ )

В FORTH ИТЭФ слово TIB являлось переменной. Вот её определение:

   XTIB    DW  92 DUP(0)               ; Входной буфер
   XR0     DW  0,0                     ; Стек возвратов
   XUP     DW  102 DUP(0)              ; USER-область
            ...
            HEAD     203Q, 'TI',302Q,TIB,$USE             ; TIB
            DW 12Q  ;Входной буфер терминала

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


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


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