COPY: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 1: Строка 1:
'''COPY''' (копировать, читается «копи») — встроенное слово [[Каллисто]]. Копирует [[экран]] в новый [[блок]].
COPY          ( c1 c2 −− )                        Копировать блок c1 в блок c2.
[[Файл:CallistoIndexCopy.png|thumb|right|264px|Пример работы слова COPY]]
[[Файл:CallistoIndexCopy.png|thumb|right|264px|Пример работы слова COPY]]
'''COPY''' (копировать, читается «копи») — стандартное слово [[Каллисто]].
n m COPY копирует экран n на экран m
 
Копирует [[экран]] n на [[экран]] m


== Ввод слова COPY ==
== Ввод слова COPY ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите четыре клавиши [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша 5|{{Серая клавиша|5}}]] [[Клавиша 6|{{Серая клавиша|6}}]] [[Клавиша ,|{{Серая клавиша|1=<span style="position:relative;bottom:3px"> , </span>}}]]
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите четыре клавиши [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша 5|{{Серая клавиша|5}}]] [[Клавиша 6|{{Серая клавиша|6}}]] [[Клавиша ,|{{Серая клавиша|1=<span style="position:relative;bottom:3px"> , </span>}}]]
== Детали реализации ==
Часто это команда редактора, но её удобно иметь в ядре.


== Реализация ==
== Реализация ==
Строка 26: Строка 29:


== Ссылки ==
== Ссылки ==
* {{Исходник|COPY|COPY}}
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\03.%20KAK%20RABOTATJ%20NA%20FORTE КАК РАБОТАТЬ НА ФОРТЕ] в книге [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\03.%20KAK%20RABOTATJ%20NA%20FORTE КАК РАБОТАТЬ НА ФОРТЕ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»]


Строка 34: Строка 38:
[[Категория:Работа с внешней памятью Каллисто]]
[[Категория:Работа с внешней памятью Каллисто]]
[[Категория:Средства отладки Каллисто]]
[[Категория:Средства отладки Каллисто]]
[[Категория:Слова Каллисто без стековых диаграмм]]

Версия от 20:47, 17 июня 2016

COPY (копировать, читается «копи») — встроенное слово Каллисто. Копирует экран в новый блок.

COPY           ( c1 c2 −− )                         Копировать блок c1 в блок c2.
Пример работы слова COPY

n m COPY копирует экран n на экран m

Ввод слова COPY

В режиме ЛАТ последовательно нажмите четыре клавиши  С/П   5   6    ,  

Детали реализации

Часто это команда редактора, но её удобно иметь в ядре.

Реализация

Юрий Семёнов приводит следующее определение слова COPY (стр. 33), как пример использования слова FLUSH:

 : COPY ↔      ( в стеке m n )
        BLOCK  (         m и адрес первого байта буфера,
                         куда считан экран с номером n)
        2-     (         m и адрес ячейки, где лежит номер
                         экрана, хранящегося в буфере)
        !      ( очистка стека, номер экрана n заменён на m)
        UPDATE                 ( установка флага "спасения")
        FLUSH ;                            ( запись на диск)

Определение слова COPY в FORTH ИТЭФ тоже использует FLUSH:

             HEAD    204Q,'COP',331Q,COPY,$COL            ; COPY
             DW  SWAP,BLOCK,CFA,STORE,UPDAT,FLUSH,SEMI

Ссылки


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.