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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 30: Строка 30:
         Display the ascii text of screen n on the selected output device.
         Display the ascii text of screen n on the selected output device.
         SCR contains the screen number during and after this process.
         SCR contains the screen number during and after this process.
== История ==
Слово LIST является одним из самых древних и устоявшихся в Форте. Оно появилось в 1966 году, когда Чак Мур, будучи гуру MCP на 5500, работал в Realtime Systems, Inc (RSI).
Экран Каллисто содержит в три раза больше строк, чем экран Форта. Поэтому каллистянское слово LIST ближе к слову TRIO fig-Форта.


== Реализация ==
== Реализация ==
Строка 59: Строка 64:
     CR I 3 .R SPACE 64 TYPE LOOP DROP ;
     CR I 3 .R SPACE 64 TYPE LOOP DROP ;
</PRE>
</PRE>
Определение слова LIST в FORTH ИТЭФ:
Определения слов LIST и TRIO в FORTH ИТЭФ:
<PRE>
<PRE>
   ;        ** Вспомогательные процедуры **
   ;        ** Вспомогательные процедуры **
Строка 69: Строка 74:
   LSTI:    DW  CR,I,THREE,DOTR,SPACE
   LSTI:    DW  CR,I,THREE,DOTR,SPACE
             DW  I,SCR,AT,DLINE,XLOOP,LSTI-$,CR,SEMI
             DW  I,SCR,AT,DLINE,XLOOP,LSTI-$,CR,SEMI
            ...
            HEAD    204Q,'TRI',317Q,TRIO,$COL            ; TRIO
            DW  LIT,14Q,EMIT
            DW  THREE,OVER,PLUS,SWAP,XDO
  TRI:      DW  I,$LIST,XLOOP,TRI-$,SEMI
</PRE>
</PRE>
== История ==
Слово LIST является одним из самых древних и устоявшихся в Форте. Оно появилось в 1966 году, когда Чак Мур, будучи гуру MCP на 5500, работал в Realtime Systems, Inc (RSI).
Экран Каллисто содержит в три раза больше строк, чем экран Форта. Поэтому каллистянское слово LIST ближе к слову TRIO fig-Форта.


== Ссылки ==
== Ссылки ==

Версия от 07:38, 28 марта 2016

LIST (распечатать, листинг, читается «лист») — стандартное слово Каллисто.

Распечатывает экран с номером u и записывает его номер в переменную SCR

LIST устанавливает десятичную систему представления чисел, что исключает неоднозначность интерпретации текста. Но «старая» система счисления не восстанавливается. Если ранее работала другая система, это может создать трудности.

Ввод слова LIST

В режиме ЛАТ последовательно нажмите четыре белые клавиши     7   1   2 

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

7.6.2.1770   LIST                                                     BLOCK EXT
           ( u -- )
           Отображает блок u в формате, определенном реализацией. Сохраняет u в 
           SCR.
       См.: 7.6.1.0800 BLOCK.

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

     LIST         u --                          M,79
          The contents of screen u are displayed.  SCR is set to u.
          See:  BLOCK

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

LIST           n --                          109
    List  the ASCII symbolic contents of screen n on  the  current
    output device, setting SCR to contain n.  n is unsigned.

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

LIST          n  ---                            L0
       Display the ascii text of screen n on the selected output device.
       SCR contains the screen number during and after this process.

История

Слово LIST является одним из самых древних и устоявшихся в Форте. Оно появилось в 1966 году, когда Чак Мур, будучи гуру MCP на 5500, работал в Realtime Systems, Inc (RSI).

Экран Каллисто содержит в три раза больше строк, чем экран Форта. Поэтому каллистянское слово LIST ближе к слову TRIO fig-Форта.

Реализация

Юрий Семёнов приводит следующее определение слова LIST (стр. 33), называя его одной из часто употребимых команд Форта:

: LIST DECIMAL ↵ ↑                           ( в стеке n n )
       SCR !         ( запись в SCR номера выводимого экрана;
                        в стеке n)
       ." S# " .      ( отображение номера выводимого экрана)
       0 16 FOR          ( начало цикла отображения 16 строк)
       ↵ ↑ 3 I.R SPACE              ( печать номера строки )
       ↑ SCR @ (LINE) TYPE        ( распечатка текста строки)
       1+ NEXT DROP ↵ ;

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

  (#SCR)    * N->А,Т                    ПЕРЕВЕСТИ НОМЕР ЗКРАНА N В ТЕКСТ  46

LIST      +  N-> РАСПЕЧАТАТЬ НА ТЕРМИНАЛЕ ЭКРАН N               46

                     Экран номер 46
( 31.09.86   (#SCR/  LIST  SCR? INDEX  )

: (#SCR) ( N->A,T ПЕРЕВЕСТИ НОМЕР N ЭКРАНА В ТЕКСТОВОЕ ИМЯ)
  BASE @ >R DECIMAL  0 <# #S #> R> BASE ! ;

: LIST ( N->  РАСПЕЧАТАТЬ ЭКРАН N, ЗАПОМНИТЬ ЕГО В "SCR")
  DUP SCR ! CR ." ЭКРАН " DUP (#SCR) TYPE
  BLOCK 16 0 DO DUP I 64 * +
     CR I 3 .R SPACE 64 TYPE LOOP DROP ;

Определения слов LIST и TRIO в FORTH ИТЭФ:

   ;         ** Вспомогательные процедуры **

             HEAD    204Q,'LIS',324Q,$LIST,$COL           ; LIST
             DW  DEC,CR,DUBL,SCR,STORE,PDOTQ
             DB  3,'S#  '
             DW  $DOT,LIT,20Q,ZERO,XDO
   LSTI:     DW  CR,I,THREE,DOTR,SPACE
             DW  I,SCR,AT,DLINE,XLOOP,LSTI-$,CR,SEMI
             ...
             HEAD    204Q,'TRI',317Q,TRIO,$COL            ; TRIO
             DW  LIT,14Q,EMIT
             DW  THREE,OVER,PLUS,SWAP,XDO
   TRI:      DW  I,$LIST,XLOOP,TRI-$,SEMI

Ссылки


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


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