Редактирование: SAVE-BUFFERS

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

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

Текущая версия Ваш текст
Строка 1: Строка 1:
'''SAVE-BUFFERS''' (сохранить буферы) — стандартное слово [[Каллисто]].
'''SAVE-BUFFERS''' (сохранить буферы) — стандартное слово [[Каллисто]].
SAVE−BUFFERS  ( −− )                              Если установлен флаг UPDATE, сбросить блок на диск.
 
Если находящийся в [[буфер]]е [[экран]] [[UPDATE|был изменён]], скидывает его на диск. [[Буфер]] остаётся распределённым, но флаг [[UPDATE]] сбрасывается.
Если находящийся в [[буфер]]е [[экран]] был изменён, скидывает его на диск.


== Ввод слова SAVE-BUFFERS ==
== Ввод слова SAVE-BUFFERS ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша 1|{{Серая клавиша|1}}]] {{ШГ←}} [[Клавиша ↔|{{Серая клавиша|↔}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]]   [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша -|{{Серая клавиша|−}}]]   [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша В/О|{{Чёрная клавиша|В/О}}]] [[Клавиша 3|{{Серая клавиша|3}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша 1|{{Серая клавиша|1}}]]
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша 1|{{Серая клавиша|1}}]] [[Клавиша ШГ влево|{{Чёрная клавиша|ШГ←}}]] [[Клавиша ↔|{{Серая клавиша|↔}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]]   [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша -|{{Серая клавиша|−}}]]   [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша В/О|{{Чёрная клавиша|В/О}}]] [[Клавиша 3|{{Серая клавиша|3}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша 1|{{Серая клавиша|1}}]]


== SAVE-BUFFERS в стандарте ANS Forth ==
== SAVE-BUFFERS в стандарте ANS Forth ==
Строка 13: Строка 13:
             модифицированные.
             модифицированные.


== История ==
== SAVE-BUFFERS в предыдущем стандарте Forth-83 (англ.) ==
Для совместимости с Фортом слово ''buffer'' (''англ.'' буфер) в имени SAVE-BUFFERS по-прежнему используется во множественном числе, хотя в [[Каллисто]] [[буфер]] всего один.
 
=== SAVE-BUFFERS в предыдущем стандарте Forth-83 (англ.) ===
       SAVE-BUFFERS --                            M,79    "save-buffers"
       SAVE-BUFFERS --                            M,79    "save-buffers"
           The contents of all block buffers marked as UPDATEed are
           The contents of all block buffers marked as UPDATEed are
Строка 23: Строка 20:
           remain assigned.
           remain assigned.


=== SAVE-BUFFERS в стандарте Forth-79 (англ.) ===
== SAVE-BUFFERS в стандарте Forth-79 (англ.) ==
  SAVE-BUFFERS                                221
  SAVE-BUFFERS                                221
     Write  all  blocks to mass-storage that have been  flagged  as
     Write  all  blocks to mass-storage that have been  flagged  as
Строка 29: Строка 26:
     is not completed.
     is not completed.


== Реализация ==
== История ==
<pre>
Для совместимости с Фортом английское слово ''buffer'' (''рус.'' буфер) в имени SAVE-BUFFERS по-прежнему используется во множественном числе, хотя в [[Каллисто]] [[буфер]] всего один.
3464 ;#SAVE−BUFFERS
3465 ; SAVE−BUFFERS    ( −− )                              Если установлен флаг UPDATE, сбросить блок на диск.
3466 ; Если находящийся в буфере экран был изменён, скинуть его на диск. Буфер остаётся распределённым.
3467 LSVBUF:        .DB    12
3468                .TEXT  "SAVE−BUFFERS"
3469                .DW    LMTBUF
3470 SVBUF:          .DW CALL, BUFN,AT, ZLESS, ZBRAN,REXIT
3471                .DW ZERO,BUFN,CSTOR            ; Сбросить флаг UPDATE
3472                .DW BUFN,UAT, ZERO, BRAN,RRW    ; Записать буфер на диск
</pre>
 
=== Советская реализация ===
Описание и определение слова SAVE-BUFFERS в ядре ФОРТ-ЕС:
<PRE>
SAVE-BUFFERS -> ЗАПИСАТЬ НА ДИСК ВСЕ ИСПРАВЛЕННЫЕ БЛОКИ        26
 
                    Экран номер 26
( 31.03.66    SAVE-BUFFERS  FLUSH  )
 
: SAVE-BUFFERS  ( ->)
LIMIT FIRST DO I @ 32768 AND
      IF    I @ 32767 AND DUP I !
            I 2+ SWAP WBLK        THEN
  B/BUF 4 + +LOOP  ;
</PRE>


== Ссылки ==
== Ссылки ==
* {{Исходник|SAVE−BUFFERS|SAVE-BUFFERS}}
* См. [[EMPTY-BUFFERS]]
* См. слова [[UPDATE]], [[FLUSH]] и [[EMPTY-BUFFERS]]
* Слово [http://forth.sourceforge.net/standard/dpans/dpans7.htm#7.6.1.2180 SAVE-BUFFERS] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth.sourceforge.net/standard/dpans/dpans7.htm#7.6.1.2180 SAVE-BUFFERS] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth-standard.org/standard/block/SAVE-BUFFERS SAVE-BUFFERS] в черновике Forth 200x ''(англ.)''
* Слово [http://www.forth200x.org/documents/html3/block/SAVE-BUFFERS.html SAVE-BUFFERS] в черновике 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 Л.Броуди «Начальный курс программирования на языке Форт»]




Строка 70: Строка 40:
[[Категория:Слова высокого уровня]]
[[Категория:Слова высокого уровня]]
[[Категория:Работа с внешней памятью Каллисто]]
[[Категория:Работа с внешней памятью Каллисто]]
[[Категория:Стандартные слова]]
[[Категория:Слова Каллисто без стековых диаграмм]]
[[Категория:1994 BLOCK]]
[[Категория:2012 BLOCK]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

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

Отменить Справка по редактированию (в новом окне)