COPY: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) Нет описания правки |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
'''COPY''' (копировать, читается «копи») — встроенное слово [[Каллисто]]. Копирует [[экран]] в новый [[блок]]. | |||
COPY ( c1 c2 −− ) Копировать блок c1 в блок c2. | |||
[[Файл:CallistoIndexCopy.png|thumb|right|264px|Пример работы слова COPY]] | [[Файл:CallistoIndexCopy.png|thumb|right|264px|Пример работы слова COPY]] | ||
n m COPY копирует [[экран]] n на [[экран]] m | |||
== Ввод слова COPY == | == Ввод слова COPY == | ||
Строка 8: | Строка 8: | ||
== Реализация == | == Реализация == | ||
В некоторых Фортах это команда редактора, но её удобно иметь в ядре. | |||
<pre> | |||
3898 ;#COPY | |||
3899 ; COPY ( c1 c2 −− ) Копировать блок c1 в блок c2. | |||
3900 ; n m COPY копирует экран n на экран m | |||
3901 ; Часто это команда редактора, но её удобно иметь в ядре. | |||
3902 LCOPY: .DB 4 | |||
3903 .TEXT "COPY" ; ( откуда куда −− ) | |||
3904 .DW LWORDS | |||
3905 COPY: .DW CALL, SWAP, BLOCK,TWOM,STORE, UPDAT, BRAN,RFLUSH | |||
</pre> | |||
=== Советская реализация === | |||
Юрий Семёнов приводит следующее определение слова COPY (стр. 33), как пример использования слова [[FLUSH]]: | Юрий Семёнов приводит следующее определение слова COPY (стр. 33), как пример использования слова [[FLUSH]]: | ||
<PRE> | <PRE> | ||
Строка 26: | Строка 39: | ||
== Ссылки == | == Ссылки == | ||
* {{Исходник|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: | Строка 48: | ||
[[Категория:Работа с внешней памятью Каллисто]] | [[Категория:Работа с внешней памятью Каллисто]] | ||
[[Категория:Средства отладки Каллисто]] | [[Категория:Средства отладки Каллисто]] | ||
Версия от 11:25, 10 ноября 2017
COPY (копировать, читается «копи») — встроенное слово Каллисто. Копирует экран в новый блок.
COPY ( c1 c2 −− ) Копировать блок c1 в блок c2.
n m COPY копирует экран n на экран m
Ввод слова COPY
В режиме ЛАТ последовательно нажмите четыре клавиши С/П 5 6 ,
Реализация
В некоторых Фортах это команда редактора, но её удобно иметь в ядре.
3898 ;#COPY 3899 ; COPY ( c1 c2 −− ) Копировать блок c1 в блок c2. 3900 ; n m COPY копирует экран n на экран m 3901 ; Часто это команда редактора, но её удобно иметь в ядре. 3902 LCOPY: .DB 4 3903 .TEXT "COPY" ; ( откуда куда −− ) 3904 .DW LWORDS 3905 COPY: .DW CALL, SWAP, BLOCK,TWOM,STORE, UPDAT, BRAN,RFLUSH
Советская реализация
Юрий Семёнов приводит следующее определение слова 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
Ссылки
- Исходный текст слова COPY в Каллисто Классик 1.0
- КАК РАБОТАТЬ НА ФОРТЕ в книге Л.Броуди «Начальный курс программирования на языке Форт»
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |