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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Строка 42: Строка 42:
         1+ NEXT DROP ↵ ;
         1+ NEXT DROP ↵ ;


Определение и описание LIST в ядре ФОРТ-ЕС:
Описание и определение LIST в ядре ФОРТ-ЕС:
<PRE>
<PRE>
LIST      +  N-> РАСПЕЧАТАТЬ НА ТЕРМИНАЛЕ ЭКРАН N              46
LIST      +  N-> РАСПЕЧАТАТЬ НА ТЕРМИНАЛЕ ЭКРАН N              46

Версия от 11:11, 26 марта 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

Юрий Семёнов приводит следующее описание слова 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 в ядре ФОРТ-ЕС:

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 является одним из самых древних и устоявшихся в Форте. Оно появилось в 1966 году, когда Чак Мур, будучи гуру MCP на 5500, работал в Realtime Systems, Inc (RSI).

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

Ссылки


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


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