C/L: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
 
(не показано 12 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''C/L''' — стандартное слово [[Каллисто]]. Количество [[Знакогенератор|символов]] в одной строке [[Экран|экрана Каллисто]].
'''C/L''' (читается «си-дробь-эл») фортовское слово [[Каллисто]]. Количество [[Знакогенератор|символов]] в одной строке [[Экран|экрана Каллисто]].
  C/L            ( -- 64 )
  C/L            ( -- 64 )                       Длина строки. Число 64.
 
[[Примитив]] C/L кладёт на [[Стек данных|стек]] число 64, длину строки [[Экран|экрана Каллисто]].
Слово C/L кладёт на [[Стек данных|стек]] число 64, длину строки [[Экран|экрана Каллисто]].


== Ввод слова C/L ==
== Ввод слова C/L ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша С/П|{{Чёрная клавиша|С/П}}]]   [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]] [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]]   [[Клавиша -|{{Серая клавиша|−}}]]
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша С/П|{{Чёрная клавиша|С/П}}]]   [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]]   [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша -|{{Серая клавиша|−}}]]


== Детали реализации ==
== История ==
Слово C/L названо константой по его действию. В [[Каллисто]] оно не имеет отношения к порождающему слову [[CONSTANT]] и является [[примитив]]ом.
Название C/L происходит от английского «characters per line», что переводится как «символов в строке».


Слово C/L делает шитый код короче и быстрее. C/L засылает в стек 64 в обход механизма литералов. Это также ускоряет время компиляции программы, существенный плюс для [[Каллисто]].
Длина строки в 64 символа взята в [[Каллисто]] из Форта. Это значительно упрощает перенос экранов Форта на [[Каллисто]], но несколько усложняет совместимость со [[Встроенная программа|встроенной программой]], [[Редактор текста|редактор]] которой полагает [[Строка текста|длину строки]] равной 24 символам.


== История ==
== Реализация ==
Название C/L происходит от английского «characters per line», что переводится как «символов в строке».
Слово C/L делает [[шитый код]] короче и быстрее. C/L засылает в стек 64 в обход механизма [[LITERAL|литералов]]. Это также ускоряет время компиляции программы, существенный плюс для [[Каллисто]].
<pre>
2691 ;#CDivL
2692 ; C/L              ( −− 64 )                            Длина строки. Число 64.
2693 LCL0:          .DB    3
2694                .TEXT  "C/L"                  ; ( −− 64 )
2695                .DW    LBL                    ; Количество литер в одной строке экрана Форта.
2696 LIT64:          .DW SCONP,64                    ; CHAR# PER LINE, осторожней, иногда исп. как 64
</pre>
Реализация из SP-Forth 4.20:
<pre>
1024  VALUE  C/L \ максимальный размер строки, которую можно ввести в TIB
</pre>
=== Советская реализация ===
Определение константы C/L в FORTH ИТЭФ:
<PRE>
            HEAD    202Q,'C',314Q,$CL,$CON              ; C/L
            DW 64  ;CHAR# PER LINE
</PRE>


Длина строки в 64 символа взята в [[Каллисто]] из Форта. Это значительно упрощает перенос экранов Форта на [[Каллисто]], но несколько усложняет совместимость со [[Встроенная программа|встроенной программой]], в которой [[Строка текста|длина строки]] полагается равной 24 символам.
== Ссылки ==
* {{Исходник|CDivL|C/L}}




{{нет иллюстраций}}
{{нет иллюстраций}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Примитивы]]
[[Категория:Стандартные константы Каллисто]]
[[Категория:Стандартные константы Каллисто]]
[[Категория:Описание бета-версии Каллисто]]
[[Категория:Фортовские слова]]

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

C/L (читается «си-дробь-эл») — фортовское слово Каллисто. Количество символов в одной строке экрана Каллисто.

C/L            ( -- 64 )                       Длина строки. Число 64.

Примитив C/L кладёт на стек число 64, длину строки экрана Каллисто.

Ввод слова C/L[править]

В режиме ЛАТ последовательно нажмите клавиши  С/П     P   F   ÷     Р-ГРД-Г    

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

Название C/L происходит от английского «characters per line», что переводится как «символов в строке».

Длина строки в 64 символа взята в Каллисто из Форта. Это значительно упрощает перенос экранов Форта на Каллисто, но несколько усложняет совместимость со встроенной программой, редактор которой полагает длину строки равной 24 символам.

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

Слово C/L делает шитый код короче и быстрее. C/L засылает в стек 64 в обход механизма литералов. Это также ускоряет время компиляции программы, существенный плюс для Каллисто.

2691 ;#CDivL
2692 ; C/L              ( −− 64 )                            Длина строки. Число 64.
2693 LCL0:           .DB     3
2694                 .TEXT   "C/L"                   ; ( −− 64 )
2695                 .DW     LBL                     ; Количество литер в одной строке экрана Форта.
2696 LIT64:          .DW SCONP,64                    ; CHAR# PER LINE, осторожней, иногда исп. как 64

Реализация из SP-Forth 4.20:

1024  VALUE  C/L \ максимальный размер строки, которую можно ввести в TIB

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

Определение константы C/L в FORTH ИТЭФ:

            HEAD     202Q,'C',314Q,$CL,$CON               ; C/L
            DW 64   ;CHAR# PER LINE

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


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