Редактирование: BLANK

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

Текущая версия Ваш текст
Строка 1: Строка 1:
'''BLANK''' (заполнить пробелами, читается «блэнк») — стандартное слово [[Каллисто]]. Заполнить массив пробелами.
'''BLANK''' (заполнить пробелами, читается «блэнк») — стандартное слово [[Каллисто]].
BLANK          ( a u −− )                          Опробелить. Записать u пробелов в память, начиная с адреса a.
 
Слово BLANK записывает n кодов [[пробел]]а (32) в память, начиная с адреса a.
Записывает n кодов [[пробел]]а (32) в память, начиная с адреса a.


== Ввод слова BLANK ==
== Ввод слова BLANK ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша В/О|{{Чёрная клавиша|В/О}}]] [[Клавиша -|{{Серая клавиша|−}}]] {{ШГ←}} [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша 9|{{Серая клавиша|9}}]]
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша В/О|{{Чёрная клавиша|В/О}}]] [[Клавиша -|{{Серая клавиша|−}}]] [[Клавиша ШГ влево|{{Чёрная клавиша|ШГ←}}]] [[Клавиша 4|{{Серая клавиша|4}}]] [[Клавиша 9|{{Серая клавиша|9}}]]


== BLANK в стандарте ANS Forth ==
== BLANK в стандарте ANS Forth ==
Строка 12: Строка 12:
             последовательных символьных позициях, начинающихся с c-addr.
             последовательных символьных позициях, начинающихся с c-addr.


== История ==
== BLANK в предыдущем стандарте Forth-83 (англ.) ==
Слово BLANK взято из Форта, где получило своё настоящее имя в 1983 году и с тех пор не изменялось, переходя из стандарта в стандарт.
 
В программах, написанных для Форта-79 и более ранних диалектов, нужно исправить название слова на современное BLANK.
 
=== BLANK в предыдущем стандарте Forth-83 (англ.) ===
       BLANK        addr u --                    83
       BLANK        addr u --                    83
           u bytes of memory beginning at addr are set to the ASCII
           u bytes of memory beginning at addr are set to the ASCII
           character value for space.  No action is taken if u is zero.
           character value for space.  No action is taken if u is zero.


=== BLANKS в стандарте Forth-79 (англ.) ===
== BLANKS в стандарте Forth-79 (англ.) ==
  BLANKS        addr n --                    152
  BLANKS        addr n --                    152
     Fill  an area of memory over n bytes with the value for  ASCII
     Fill  an area of memory over n bytes with the value for  ASCII
Строка 28: Строка 23:
     take no action.
     take no action.


=== BLANKS в fig-FORTH Release 1 glossary, май 1979 (англ.) ===
== BLANKS в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
  BLANKS addr count --
  BLANKS addr count --
         Fill an area of memory beginning at addr with blanks.
         Fill an area of memory beginning at addr with blanks.


== Реализация ==
== История ==
<pre>
В программах, написанных для Форта-79 и более ранних, нужно исправить название слова на современное BLANK.
2013 JFILL2:        M8 1 + MA  1 + M3
2014                KRM8 M0 +/−  KX<09              ; Счётчик литер
2015                KRMA 1 EE 4 −  KX>=09  1 − M5 RMB
2016 FILL1:          KM5  FL0 FILL1
2017                KGOTO9
2018 JBLANK:                                        ; Обработчик FILL
2019                32
2020                .DB 59H                        ; FX>=0 aka пропустить 1 байт
2021 JERASE:        CX                              ; Обработчик ERASE
2022 JJFILL:        MB RM3  GOTO JFILL2
2031 ;#BLANK
2032 ; BLANK            ( a U −− )                          Опробелить. Записать U пробелов в память, начиная с адреса a.
2033 LBLANK:        .DB    5
2034                .TEXT  "BLANK"                ; ( где сколько −− )
2035                .DW    LERASE
2036 BLANK:          .DW    JBLANK                  ; Опробелить строку.
</pre>
Реализация из SP-Forth 4.20:
<pre>
: BLANK        ( addr len -- )    \ fill addr for len with spaces (blanks)
                BL FILL ;
</pre>


=== Советская реализация ===
== Реализация BLANK ==
Юрий Семёнов приводит следующее определение BLANK (стр. 27) через [[BL]] и более общее слово [[FILL]]:
Юрий Семёнов приводит следующее определение BLANK (стр. 27) через [[BL]] и более общее слово [[FILL]]:
  : BLANK  BL FILL ;
  : BLANK  BL FILL ;
Строка 91: Строка 63:


== Ссылки ==
== Ссылки ==
* {{Исходник|BLANK|BLANK}}
* См. слова [[FILL]] [[ERASE]]
* См. слова [[FILL]] [[ERASE]]
* См. также слова [[BL]] [[SPACE]] [[SPACES]]
* См. также слова [[BL]] [[SPACE]] [[SPACES]]
* Слово [http://forth.sourceforge.net/standard/dpans/dpans17.htm#17.6.1.0780 BLANK] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth.sourceforge.net/standard/dpans/dpans17.htm#17.6.1.0780 BLANK] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth-standard.org/standard/string/BLANK BLANK] в черновике Forth 200x ''(англ.)''
* Слово [http://www.forth200x.org/documents/html3/string/BLANK.html BLANK] в черновике Forth 200x ''(англ.)''
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\10.WWOD-WYWOD ВВОД-ВЫВОД] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»]
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\10.WWOD-WYWOD ВВОД-ВЫВОД] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»]
* [http://www.forth.com/starting-forth/sf10/sf10.html I/O and You] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''
* [http://www.forth.com/starting-forth/sf10/sf10.html I/O and You] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''
Строка 105: Строка 76:
[[Категория:Примитивы]]
[[Категория:Примитивы]]
[[Категория:Работа с памятью Каллисто]]
[[Категория:Работа с памятью Каллисто]]
[[Категория:Стандартные слова]]
[[Категория:Слова Каллисто без стековых диаграмм]]
[[Категория:1994 STRING]]
[[Категория:2012 STRING]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)
Источник — https://pmk.the-hacker.ru/BLANK