INDEX: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показано 18 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''INDEX''' — стандартное слово [[Каллисто]].
'''INDEX''' (индекс, указатель; оглавление, содержание) фортовское слово [[Каллисто]].
INDEX          ( c1 c2 −− )                        Вывести начальную строку экранов с номерами от c1 до c2.
[[Файл:CallistoIndexLoad.png|thumb|right|264px|Пример работы слова INDEX]]
Выводит на [[индикатор]] верхние строчки [[экран]]ов, номера [[блок]]ов которых входят в диапазон от нач до кон. Для экономии места на [[индикатор]]е после номера [[экран]]а [[пробел]]а нет.


Выводит на [[индикатор]] верхние строчки [[экран]]ов, номера [[блок]]ов которых входят в диапазон от нач до кон.
== Ввод слова INDEX ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша K|{{Синяя клавиша|K}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша 0|{{Серая клавиша|0}}]]


== История ==
Слово INDEX переходило из стандарта в стандарт в неизменном виде, но было исключено из них в 1994 году. Оно полезно в любой системе, имеющей поддержку [[блок]]ов.


== INDEX в предыдущем стандарте Forth-83 (англ.) ==
=== INDEX в предыдущем стандарте Forth-83 (англ.) ===
       INDEX        u1 u2 --                      M
       INDEX        u1 u2 --                      M
           Print the first line of each screen over the range {u1..u2}.
           Print the first line of each screen over the range {u1..u2}.
Строка 10: Строка 16:
           which conventionally contains a title.
           which conventionally contains a title.


 
=== INDEX в стандарте Forth-79 (англ.) ===
== INDEX в стандарте Forth-79 (англ.) ==
  INDEX          n1 n2 --
  INDEX          n1 n2 --
     Print  the first line of each screen over the range  {n1..n2}.
     Print  the first line of each screen over the range  {n1..n2}.
Строка 17: Строка 22:
     which conventionally contains a title.
     which conventionally contains a title.


 
=== INDEX в fig-FORTH Release 1 glossary, май 1979 (англ.) ===
== INDEX в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
  INDEX          from to --
  INDEX          from to --
         Print the first line of each screen over the range from, to. This is
         Print the first line of each screen over the range from, to. This is
         used to view the comment lines of an area of text on disc screens.
         used to view the comment lines of an area of text on disc screens.


== Реализация ==
<pre>
3876 ;#INDEX
3877 ; INDEX            ( c1 c2 −− )                        Вывести начальную строку экранов с номерами от c1 до c2.
3878 ; Вывести на индикатор верхние строчки экранов, номера блоков которых входят в диапазон от нач до кон.
3879 ; Для экономии места на индикаторе после номера экрана пробела нет.
3880 LINDEX:        .DB    5
3881                .TEXT  "INDEX"                ; ( нач кон −− )
3882                .DW    USLIST
3883 INDEX:          .DW CALL, OVER,SUB,ONEP, XFOR,INDX2
3884 INDX:          .DW CR, DUP, LITB
3885                .DB 3
3886                .DW DOTR, QBREAK, ZERO, OVER, DLINE, TYPE1
3887                .DW ONEP, XNEXT,INDX
3888 INDX2:          .DW DROP, EXIT
</pre>


== Реализация INDEX ==
=== Советская реализация ===
Юрий Семёнов приводит следующее описание слова INDEX (стр. 105):
Юрий Семёнов приводит следующее определение слова INDEX (стр. 105):
   : INDEX  1+ OVER - FOR ↵ ↑ 3 I.R SPACE 0  ( указание на нулевую
   : INDEX  1+ OVER - FOR ↵ ↑ 3 I.R SPACE 0  ( указание на нулевую
                                           строку)
                                           строку)
             OVER (LINE) TYPE NEXT DROP ; ( м. табл. 20 )
             OVER (LINE) TYPE NEXT DROP ; ( м. табл. 20 )
Опубликовано лишь следующее описание слова INDEX из ФОРТ-ЕС. Оно ссылается на определение, отсутствующее на экране № 46:
<PRE>
INDEX  + N1,N2-> РАСПЕЧАТАТЬ НАЧАЛЬНУЮ СТРОКУ ЭКРАНОВ          46
          С НОМЕРАМИ ОТ N1 ДО N2
</PRE>
Определение слова INDEX в FORTH ИТЭФ:
<PRE>
            HEAD    205Q,'INDE',330Q,INDEX,$COL          ; INDEX
            DW  ONEP,SWAP,XDO
  INDX:    DW  CR,I,THREE,DOTR,SPACE,ZERO,I,DLINE
            DW  XLOOP,INDX-$,SEMI
</PRE>
== Ссылки ==
* {{Исходник|INDEX|INDEX}}
* См. слово [[LIST]]
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\03.%20KAK%20RABOTATJ%20NA%20FORTE КАК РАБОТАТЬ НА ФОРТЕ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»]




{{нет иллюстраций}}
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Слова высокого уровня]]
[[Категория:Терминальный ввод/вывод Каллисто]]
[[Категория:Работа с внешней памятью Каллисто]]
[[Категория:Работа с внешней памятью Каллисто]]
[[Категория:Средства отладки Каллисто]]
[[Категория:Средства отладки Каллисто]]

Текущая версия от 11:20, 10 ноября 2017

INDEX (индекс, указатель; оглавление, содержание) — фортовское слово Каллисто.

INDEX          ( c1 c2 −− )                         Вывести начальную строку экранов с номерами от c1 до c2.
Пример работы слова INDEX

Выводит на индикатор верхние строчки экранов, номера блоков которых входят в диапазон от нач до кон. Для экономии места на индикаторе после номера экрана пробела нет.

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

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

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

Слово INDEX переходило из стандарта в стандарт в неизменном виде, но было исключено из них в 1994 году. Оно полезно в любой системе, имеющей поддержку блоков.

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

     INDEX        u1 u2 --                      M
          Print the first line of each screen over the range {u1..u2}.
          This displays the first line of each screen of source text,
          which conventionally contains a title.

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

INDEX          n1 n2 --
    Print  the first line of each screen over the range  {n1..n2}.
    This  displays  the first line of each screen of source  text,
    which conventionally contains a title.

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

INDEX          from to --
       Print the first line of each screen over the range from, to. This is
       used to view the comment lines of an area of text on disc screens.

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

3876 ;#INDEX
3877 ; INDEX            ( c1 c2 −− )                         Вывести начальную строку экранов с номерами от c1 до c2.
3878 ; Вывести на индикатор верхние строчки экранов, номера блоков которых входят в диапазон от нач до кон.
3879 ; Для экономии места на индикаторе после номера экрана пробела нет.
3880 LINDEX:         .DB     5
3881                 .TEXT   "INDEX"                 ; ( нач кон −− )
3882                 .DW     USLIST
3883 INDEX:          .DW CALL, OVER,SUB,ONEP, XFOR,INDX2
3884 INDX:           .DW CR, DUP, LITB
3885                 .DB 3
3886                 .DW DOTR, QBREAK, ZERO, OVER, DLINE, TYPE1
3887                 .DW ONEP, XNEXT,INDX
3888 INDX2:          .DW DROP, EXIT

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

Юрий Семёнов приводит следующее определение слова INDEX (стр. 105):

 : INDEX   1+ OVER - FOR ↵ ↑ 3 I.R SPACE 0  ( указание на нулевую
                                         строку)
           OVER (LINE) TYPE NEXT DROP ; ( м. табл. 20 )

Опубликовано лишь следующее описание слова INDEX из ФОРТ-ЕС. Оно ссылается на определение, отсутствующее на экране № 46:

INDEX   + N1,N2-> РАСПЕЧАТАТЬ НАЧАЛЬНУЮ СТРОКУ ЭКРАНОВ          46
          С НОМЕРАМИ ОТ N1 ДО N2

Определение слова INDEX в FORTH ИТЭФ:

             HEAD    205Q,'INDE',330Q,INDEX,$COL          ; INDEX
             DW  ONEP,SWAP,XDO
   INDX:     DW  CR,I,THREE,DOTR,SPACE,ZERO,I,DLINE
             DW  XLOOP,INDX-$,SEMI

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


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