Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
| '''SAVE-BUFFERS''' (сохранить буферы) — стандартное слово [[Каллисто]]. | | '''SAVE-BUFFERS''' — стандартное слово [[Каллисто]]. |
| SAVE−BUFFERS ( −− ) Если установлен флаг UPDATE, сбросить блок на диск.
| |
| Если находящийся в [[буфер]]е [[экран]] [[UPDATE|был изменён]], скидывает его на диск. [[Буфер]] остаётся распределённым, но флаг [[UPDATE]] сбрасывается.
| |
| | |
| == Ввод слова SAVE-BUFFERS ==
| |
| В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша 1|{{Серая клавиша|1}}]] {{ШГ←}} [[Клавиша ↔|{{Серая клавиша|↔}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша -|{{Серая клавиша|−}}]] [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша В/О|{{Чёрная клавиша|В/О}}]] [[Клавиша 3|{{Серая клавиша|3}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша 1|{{Серая клавиша|1}}]]
| |
| | |
| == SAVE-BUFFERS в стандарте ANS Forth ==
| |
| 7.6.1.2180 SAVE-BUFFERS BLOCK
| |
| ( -- )
| |
| Перемещает содержание каждого модифицированного блочного буфера на
| |
| запоминающее устройство. Отмечает все буферы как не
| |
| модифицированные.
| |
| | |
| == История ==
| |
| Для совместимости с Фортом слово ''buffer'' (''англ.'' буфер) в имени SAVE-BUFFERS по-прежнему используется во множественном числе, хотя в [[Каллисто]] [[буфер]] всего один.
| |
| | |
| === SAVE-BUFFERS в предыдущем стандарте Forth-83 (англ.) ===
| |
| SAVE-BUFFERS -- M,79 "save-buffers"
| |
| The contents of all block buffers marked as UPDATEed are
| |
| written to their corresponding mass storage blocks. All
| |
| buffers are marked as no longer being modified, but may
| |
| remain assigned.
| |
| | |
| === SAVE-BUFFERS в стандарте Forth-79 (англ.) ===
| |
| SAVE-BUFFERS 221
| |
| Write all blocks to mass-storage that have been flagged as
| |
| UPDATEd. An error condition results if mass-storage writing
| |
| is not completed.
| |
| | |
| == Реализация ==
| |
| <pre>
| |
| 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}} | | * [http://forth.sourceforge.net/standard/dpans/dpans7.htm#7.6.1.2180 Слово SAVE-BUFFERS в стандарте ANS Forth] ''(англ.)'' |
| * См. слова [[UPDATE]], [[FLUSH]] и [[EMPTY-BUFFERS]]
| | * [http://www.forth200x.org/documents/html/block.html#block:SAVE-BUFFERS Слово SAVE-BUFFERS в черновике Forth 200x] ''(англ.)'' |
| * Слово [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://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 Л.Броуди «Начальный курс программирования на языке Форт»]
| |
|
| |
|
|
| |
|
Строка 68: |
Строка 9: |
| {{заготовка}} | | {{заготовка}} |
| [[Категория:Слова Каллисто]] | | [[Категория:Слова Каллисто]] |
| [[Категория:Слова высокого уровня]]
| |
| [[Категория:Работа с внешней памятью Каллисто]] | | [[Категория:Работа с внешней памятью Каллисто]] |
| [[Категория:Стандартные слова]]
| |
| [[Категория:1994 BLOCK]]
| |
| [[Категория:2012 BLOCK]]
| |