Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
| '''C/L''' (читается «си-дробь-эл») — фортовское слово [[Каллисто]]. Количество [[Знакогенератор|символов]] в одной строке [[Экран|экрана Каллисто]]. | | '''C/L''' — стандартное слово [[Каллисто]]. Количество [[Знакогенератор|символов]] в одной строке [[Экран|экрана Каллисто]]. |
| C/L ( -- 64 ) Длина строки. Число 64. | | ( -- 64 ) |
| [[Примитив]] C/L кладёт на [[Стек данных|стек]] число 64, длину строки [[Экран|экрана Каллисто]].
| |
|
| |
|
| == Ввод слова C/L ==
| | Слово C/L кладёт на [[Стек данных|стек]] число 64, длину строки [[Экран|экрана Каллисто]]. |
| В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]] [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша -|{{Серая клавиша|−}}]]
| |
|
| |
|
| == История ==
| |
| Название C/L происходит от английского «characters per line», что переводится как «символов в строке».
| |
|
| |
|
| Длина строки в 64 символа взята в [[Каллисто]] из Форта. Это значительно упрощает перенос экранов Форта на [[Каллисто]], но несколько усложняет совместимость со [[Встроенная программа|встроенной программой]], [[Редактор текста|редактор]] которой полагает [[Строка текста|длину строки]] равной 24 символам.
| | == Детали реализации == |
| | Слово C/L названо константой условно. Оно не имеет отношения к порождающему слову [[CONSTANT]] и является примитивом. |
| | |
|
| |
|
| == Реализация == | | == История == |
| Слово C/L делает [[шитый код]] короче и быстрее. C/L засылает в стек 64 в обход механизма [[LITERAL|литералов]]. Это также ускоряет время компиляции программы, существенный плюс для [[Каллисто]]. | | Слово C/L делает шитый код короче и быстрее. C/L засылает 64 в стек в обход механизма литералов. Это также ускоряет время компиляции программы, существенный плюс для [[Каллисто]]. |
| <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 символа в строке взято в [[Каллисто]] из Форта и значительно упрощает перенос экранов Форта на [[Каллисто]]. |
| * {{Исходник|CDivL|C/L}}
| |
|
| |
|
|
| |
|
| {{нет иллюстраций}} | | {{нет иллюстраций}} |
| | {{заготовка}} |
| [[Категория:Слова Каллисто]] | | [[Категория:Слова Каллисто]] |
| [[Категория:Примитивы]]
| |
| [[Категория:Стандартные константы Каллисто]] | | [[Категория:Стандартные константы Каллисто]] |
| [[Категория:Фортовские слова]] | | [[Категория:Слова Каллисто без стековых диаграмм]] |