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

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

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

Текущая версия Ваш текст
Строка 4: Строка 4:


== Ввод слова ERASE ==
== Ввод слова ERASE ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша ×|{{Серая клавиша|×}}]] {{ШГ←}} [[Клавиша 1|{{Серая клавиша|1}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]]
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша ШГ влево|{{Чёрная клавиша|ШГ←}}]] [[Клавиша 1|{{Серая клавиша|1}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]]


== ERASE в стандарте ANS Forth ==
== ERASE в стандарте ANS Forth ==
Строка 13: Строка 13:


== История ==
== История ==
Слово ERASE пришло в [[Каллисто]] из Форта, где оно является древним и стабильным. В существующем ныне виде слово ERASE известно с 1979 года и входит во все стандарты.
Слово ERASE пришло в [[Каллисто]] из Форта, где оно является древним и стабильным. В существующем виде слово ERASE входит во все стандарты и известно с 1979 года.


=== ERASE в предыдущем стандарте Forth-83 (англ.) ===
=== ERASE в предыдущем стандарте Forth-83 (англ.) ===
Строка 30: Строка 30:


== Реализация ==
== Реализация ==
<pre>
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
2021 JERASE:        CX                              ; Обработчик ERASE
2022 JJFILL:        MB RM3  GOTO JFILL2
2023
2024 ;#ERASE
2025 ; ERASE            ( a U −− )                          Стереть. Записать U нулей в память, начиная с адреса a.
2026 LERASE:        .DB    5
2027                .TEXT  "ERASE"                ; ( где сколько −− )
2028                .DW    LFILL
2029 ERASE:          .DW    JERASE                  ; Обнулить массив.
</pre>
Реализация из SP-Forth 4.20:
<pre>
: ERASE ( addr u -- ) \ 94 CORE EXT
\ Если u больше нуля, очистить все биты каждого из u байт памяти,
\ начиная с адреса addr.
  0 FILL
;
</pre>
=== Советская реализация ===
Юрий Семёнов приводит (стр. 26) следующее определение ERASE через более общее слово [[FILL]]:
Юрий Семёнов приводит (стр. 26) следующее определение ERASE через более общее слово [[FILL]]:
  : ERASE  0 FILL ;
  : ERASE  0 FILL ;
Строка 115: Строка 88:
[[Категория:Примитивы]]
[[Категория:Примитивы]]
[[Категория:Работа с памятью Каллисто]]
[[Категория:Работа с памятью Каллисто]]
[[Категория:Стандартные слова]]
[[Категория:1994 CORE EXT]]
[[Категория:2012 CORE EXT]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

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

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