LIST: различия между версиями
AtH (обсуждение | вклад) (→Ссылки) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''LIST''' (распечатать, листинг, читается «лист») — стандартное слово [[Каллисто]]. | '''LIST''' (распечатать, листинг, читается «лист») — стандартное слово [[Каллисто]]. | ||
LIST ( c −− ) Вывести экран c и записать его номер в переменную SCR. | |||
Распечатывает [[экран]] с номером c и записывает его номер в переменную [[SCR]] | |||
== Ввод слова LIST == | |||
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите четыре белые клавиши [[Клавиша -|{{Серая клавиша|−}}]] [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша 1|{{Серая клавиша|1}}]] [[Клавиша 2|{{Серая клавиша|2}}]] | |||
== Детали реализации == | |||
LIST устанавливает десятичную систему представления чисел, что исключает неоднозначность интерпретации текста. Но «старая» система счисления не восстанавливается. Если ранее работала другая система, это может создать трудности. | LIST устанавливает десятичную систему представления чисел, что исключает неоднозначность интерпретации текста. Но «старая» система счисления не восстанавливается. Если ранее работала другая система, это может создать трудности. | ||
== LIST в стандарте ANS Forth == | == LIST в стандарте ANS Forth == | ||
<pre> | |||
7.6.2.1770 LIST BLOCK EXT | 7.6.2.1770 LIST BLOCK EXT | ||
( u -- ) | ( u -- ) | ||
Строка 15: | Строка 17: | ||
См.: 7.6.1.0800 BLOCK. | См.: 7.6.1.0800 BLOCK. | ||
</pre> | |||
== LIST в предыдущем стандарте Forth-83 (англ.) == | == История == | ||
Слово LIST является одним из самых древних и устоявшихся в Форте. Оно появилось в 1966 году, когда Чак Мур, будучи гуру MCP на 5500, работал в Realtime Systems, Inc (RSI). | |||
[[Экран]] [[Каллисто]] содержит в три раза больше строк, чем экран Форта. Поэтому каллистянское слово LIST ближе к слову TRIO fig-Форта. | |||
=== 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. | ||
SCR contains the screen number during and after this process. | SCR contains the screen number during and after this process. | ||
== Реализация == | == Реализация == | ||
Строка 83: | Строка 86: | ||
== Ссылки == | == Ссылки == | ||
* {{Исходник|LIST|LIST}} | |||
* Слово [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://forth-standard.org/standard/block/LIST LIST] в черновике Forth 200x ''(англ.)'' | ||
Строка 96: | Строка 100: | ||
[[Категория:Работа с внешней памятью Каллисто]] | [[Категория:Работа с внешней памятью Каллисто]] | ||
[[Категория:Средства отладки Каллисто]] | [[Категория:Средства отладки Каллисто]] | ||
Версия от 20:16, 17 июня 2016
LIST (распечатать, листинг, читается «лист») — стандартное слово Каллисто.
LIST ( c −− ) Вывести экран c и записать его номер в переменную SCR.
Распечатывает экран с номером c и записывает его номер в переменную SCR
Ввод слова LIST
В режиме ЛАТ последовательно нажмите четыре белые клавиши − 7 1 2
Детали реализации
LIST устанавливает десятичную систему представления чисел, что исключает неоднозначность интерпретации текста. Но «старая» система счисления не восстанавливается. Если ранее работала другая система, это может создать трудности.
LIST в стандарте ANS Forth
7.6.2.1770 LIST BLOCK EXT ( u -- ) Отображает блок u в формате, определенном реализацией. Сохраняет u в SCR. См.: 7.6.1.0800 BLOCK.
История
Слово LIST является одним из самых древних и устоявшихся в Форте. Оно появилось в 1966 году, когда Чак Мур, будучи гуру MCP на 5500, работал в Realtime Systems, Inc (RSI).
Экран Каллисто содержит в три раза больше строк, чем экран Форта. Поэтому каллистянское слово LIST ближе к слову TRIO fig-Форта.
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 (стр. 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
Ссылки
- Исходный текст слова LIST в Каллисто Классик 1.0
- Слово LIST в стандарте ANS Forth (англ.)
- Слово LIST в черновике Forth 200x (англ.)
- КАК РАБОТАТЬ НА ФОРТЕ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- The Editor (and Staff) в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |