BLANK: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
Строка 42: | Строка 42: | ||
: BLANK ( A,U-> ) BL FILL ; | : BLANK ( A,U-> ) BL FILL ; | ||
</PRE> | |||
В FORTH ИТЭФ слово BLANK называлось BLANKS и было [[примитив]]ом, который опирался на код [[примитив]]а [[FILL]]. Вот их определения: | |||
<PRE> | |||
HEAD 204Q,'FIL',314Q,FILL ; FILL | |||
POP AX ; Символ | |||
FLL: POP CX ; Счетчик символов | |||
CMP CX, 0 | |||
JLE DRP ; | |||
POP BX | |||
$REPE: MOV BYTE PTR [BX], AL | |||
INC BX | |||
LOOP $REPE | |||
NEXT | |||
... | |||
HEAD 206Q,'BLANK',323Q,BLANK ; BLANKS | |||
MOV AX, 32 | |||
JMP FLL | |||
</PRE> | </PRE> | ||
Версия от 21:38, 27 марта 2016
BLANK (заполнить пробелами, читается «блэнк») — стандартное слово Каллисто.
Записывает n кодов пробела (32) в память, начиная с адреса a.
Ввод слова BLANK
В режиме ЛАТ последовательно нажмите клавиши В/О − ШГ← 4 9
BLANK в стандарте ANS Forth
17.6.1.0780 BLANK STRING ( c-addr u -- ) Если u больше чем нуль, сохраняет символьное значение пробела в u последовательных символьных позициях, начинающихся с c-addr.
BLANK в предыдущем стандарте Forth-83 (англ.)
BLANK addr u -- 83 u bytes of memory beginning at addr are set to the ASCII character value for space. No action is taken if u is zero.
BLANKS в стандарте Forth-79 (англ.)
BLANKS addr n -- 152 Fill an area of memory over n bytes with the value for ASCII blank, starting at addr. If n is less than or equal to zero, take no action.
BLANKS в fig-FORTH Release 1 glossary, май 1979 (англ.)
BLANKS addr count -- Fill an area of memory beginning at addr with blanks.
История
В программах, написанных для Форта-79 и более ранних, нужно исправить название слова на современное BLANK.
Реализация BLANK
Юрий Семёнов приводит следующее определение BLANK (стр. 27) через BL и более общее слово FILL:
: BLANK BL FILL ;
Описание и определение слова BLANK в ядре ФОРТ-ЕС:
BLANK +A,U-> ЗАСЛАТЬ ПРОБЕЛЫ В U БАЙТОВ ПО АДРЕСУ А 22 Экран номер 22 ( 31.03.86 FILL ERASE BLANK COMPILE [ ] MIN MAX HEX DECIMAL) : BLANK ( A,U-> ) BL FILL ;
В FORTH ИТЭФ слово BLANK называлось BLANKS и было примитивом, который опирался на код примитива FILL. Вот их определения:
HEAD 204Q,'FIL',314Q,FILL ; FILL POP AX ; Символ FLL: POP CX ; Счетчик символов CMP CX, 0 JLE DRP ; POP BX $REPE: MOV BYTE PTR [BX], AL INC BX LOOP $REPE NEXT ... HEAD 206Q,'BLANK',323Q,BLANK ; BLANKS MOV AX, 32 JMP FLL
Ссылки
- См. слова FILL ERASE
- См. также слова BL SPACE SPACES
- Слово BLANK в стандарте ANS Forth (англ.)
- Слово BLANK в черновике Forth 200x (англ.)
- ВВОД-ВЫВОД в книге Л.Броуди «Начальный курс программирования на языке Форт»
- I/O and You в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |