Редактирование: LIST

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

Текущая версия Ваш текст
Строка 1: Строка 1:
'''LIST''' (распечатать, листинг, читается «лист») — стандартное слово [[Каллисто]].
'''LIST''' (распечатать, листинг, читается «лист») — стандартное слово [[Каллисто]].
LIST          ( c −− )                            Вывести экран c и записать его номер в переменную SCR.
 
Распечатывает [[экран]] с номером c и записывает его номер в переменную [[SCR]]
Распечатывает [[экран]] с номером u и записывает его номер в переменную [[SCR]]
 
LIST устанавливает десятичную систему представления чисел, что исключает неоднозначность интерпретации текста. Но «старая» система счисления не восстанавливается. Если ранее работала другая система, это может создать трудности.


== Ввод слова LIST ==
== Ввод слова LIST ==
Строка 7: Строка 9:


== LIST в стандарте ANS Forth ==
== LIST в стандарте ANS Forth ==
<pre>
  7.6.2.1770  LIST                                                    BLOCK EXT
  7.6.2.1770  LIST                                                    BLOCK EXT
             ( u -- )
             ( u -- )
Строка 14: Строка 15:


         См.: 7.6.1.0800 BLOCK.
         См.: 7.6.1.0800 BLOCK.
</pre>
== История ==
Слово LIST является одним из самых древних и устоявшихся в Форте. Оно появилось в 1966 году, когда Чак Мур, будучи гуру MCP на 5500, работал в Realtime Systems, Inc (RSI).
[[Экран]] [[Каллисто]] содержит в три раза больше строк, чем экран Форта. Поэтому каллистянское слово LIST ближе к слову TRIO fig-Форта.


=== LIST в предыдущем стандарте Forth-83 (англ.) ===
== LIST в предыдущем стандарте Forth-83 (англ.) ==
       LIST        u --                          M,79
       LIST        u --                          M,79
           The contents of screen u are displayed.  SCR is set to u.
           The contents of screen u are displayed.  SCR is set to u.
           See:  BLOCK
           See:  BLOCK


=== LIST в стандарте Forth-79 (англ.) ===
== LIST в стандарте Forth-79 (англ.) ==
  LIST          n --                          109
  LIST          n --                          109
     List  the ASCII symbolic contents of screen n on  the  current
     List  the ASCII symbolic contents of screen n on  the  current
     output device, setting SCR to contain n.  n is unsigned.
     output device, setting SCR to contain n.  n is unsigned.


=== LIST в fig-FORTH Release 1 glossary, май 1979 (англ.) ===
== LIST в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
  LIST          n  ---                            L0
  LIST          n  ---                            L0
         Display the ascii text of screen n on the selected output device.
         Display the ascii text of screen n on the selected output device.
Строка 37: Строка 32:


== Реализация ==
== Реализация ==
LIST устанавливает [[DECIMAL|десятичную систему представления чисел]], что исключает разночтения номера выводимого [[экран]]а. Но «старая» [[BASE|система счисления]] не восстанавливается. Если вам нужно постоянно работать в другой системе, это может создать трудности.
Юрий Семёнов приводит следующее описание слова LIST (стр. 33), называя его одной из часто употребимых команд Форта:
 
Вывод на [[индикатор]] можно приостановить или остановить, см. [[?BREAK]]
<pre>
3861 ;#LIST
3862 ; LIST            ( c −− )                            Вывести экран c и записать его номер в переменную SCR.
3863 USLIST:        .DB    4
3864                .TEXT  "LIST"                          ; ( №блока −− )
3865                .DW    LQUEST                          ; Распечатать экран с номером №блока и записать его номер в переменную SCR
3866 SLIST:          .DW CALL, DEC, DUP,SCR,STORE, PDOTQ    ; Без CR, экономим одну строчку.
3867                .DB 3
3868                .TEXT "S #"
3869                .DW DOT, ZERO, LITB
3870                .DB 48
3871                .DW XFOR,LST1
3872 LSTI:          .DW CR, DUP,TWO,DOTR, SPACE, QBREAK
3873                .DW DUP, SCR,UAT, DLINE, TYPE1, ONEP, XNEXT,LSTI
3874 LST1:          .DW DROP, EXIT
</pre>
 
=== Советская реализация ===
Юрий Семёнов приводит следующее определение слова LIST (стр. 33), называя его одной из часто употребимых команд Форта:
  : LIST DECIMAL ↵ ↑                          ( в стеке n n )
  : LIST DECIMAL ↵ ↑                          ( в стеке n n )
         SCR !        ( запись в SCR номера выводимого экрана;
         SCR !        ( запись в SCR номера выводимого экрана;
Строка 85: Строка 59:
     CR I 3 .R SPACE 64 TYPE LOOP DROP ;
     CR I 3 .R SPACE 64 TYPE LOOP DROP ;
</PRE>
</PRE>
Определения слов LIST и TRIO в FORTH ИТЭФ:
<PRE>
  ;        ** Вспомогательные процедуры **


            HEAD    204Q,'LIS',324Q,$LIST,$COL          ; LIST
== История ==
            DW  DEC,CR,DUBL,SCR,STORE,PDOTQ
Слово LIST является одним из самых древних и устоявшихся в Форте. Оно появилось в 1966 году, когда Чак Мур, будучи гуру MCP на 5500, работал в Realtime Systems, Inc (RSI).
            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


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


== Ссылки ==
== Ссылки ==
* {{Исходник|LIST|LIST}}
* См. слова [[INDEX]] и [[SCR]]
* Слово [http://forth.sourceforge.net/standard/dpans/dpans7.htm#7.6.2.1770 LIST] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth.sourceforge.net/standard/dpans/dpans7.htm#7.6.2.1770 LIST] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth-standard.org/standard/block/LIST LIST] в черновике Forth 200x ''(англ.)''
* Слово [http://www.forth200x.org/documents/html3/block/LIST.html LIST] в черновике Forth 200x ''(англ.)''
* [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 Л.Броуди «Начальный курс программирования на языке Форт»]
* [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 Л.Броуди «Начальный курс программирования на языке Форт»]
* [http://www.forth.com/starting-forth/sf3/sf3.html The Editor (and Staff)] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''
* [http://www.forth.com/starting-forth/sf3/sf3.html The Editor (and Staff)] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''
Строка 119: Строка 79:
[[Категория:Работа с внешней памятью Каллисто]]
[[Категория:Работа с внешней памятью Каллисто]]
[[Категория:Средства отладки Каллисто]]
[[Категория:Средства отладки Каллисто]]
[[Категория:Стандартные слова]]
[[Категория:Слова Каллисто без стековых диаграмм]]
[[Категория:1994 BLOCK EXT]]
[[Категория:2012 BLOCK EXT]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)
Источник — https://pmk.the-hacker.ru/LIST