CMOVE: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 2: | Строка 2: | ||
Копирует побайтно область памяти размером u байт начиная с a1 и записывает её начиная с a2. | Копирует побайтно область памяти размером u байт начиная с a1 и записывает её начиная с a2. | ||
== CMOVE в стандарте ANS Forth == | |||
17.6.1.0910 CMOVE "c-move" STRING | |||
( c-addr1 c-addr2 u -- ) | |||
Если u больше чем нуль, копирует u последовательных символов из | |||
области данных начинающейся с c-addr1 в область, начинающуюся с c- | |||
addr2, выполняя посимвольно с наименьших адресов к наибольшим. | |||
Отличие с: 17.6.1.0920 CMOVE>. | |||
A.17.6.1.0910 CMOVE | |||
Если c-addr2 находится в пределах исходной области, (то есть, когда c-addr2 - | |||
не меньше чем c-addr1 и c-addr2 - меньше чем количество c-addr1 u CHARS +), | |||
происходит размножение памяти. | |||
Типичное использование: | |||
Предположите символьную строку по адресу 100: "ABCD". | |||
Тогда после | |||
100 DUP CHAR+ 3 CMOVE строка по адресу 100 - "AAAA". | |||
Объяснение для CMOVE и CMOVE> вытекает из MOVE. | |||
Версия от 18:12, 4 сентября 2015
CMOVE — стандартное слово Каллисто.
Копирует побайтно область памяти размером u байт начиная с a1 и записывает её начиная с a2.
CMOVE в стандарте ANS Forth
17.6.1.0910 CMOVE "c-move" STRING ( c-addr1 c-addr2 u -- ) Если u больше чем нуль, копирует u последовательных символов из области данных начинающейся с c-addr1 в область, начинающуюся с c- addr2, выполняя посимвольно с наименьших адресов к наибольшим.
Отличие с: 17.6.1.0920 CMOVE>.
A.17.6.1.0910 CMOVE Если c-addr2 находится в пределах исходной области, (то есть, когда c-addr2 - не меньше чем c-addr1 и c-addr2 - меньше чем количество c-addr1 u CHARS +), происходит размножение памяти.
Типичное использование: Предположите символьную строку по адресу 100: "ABCD". Тогда после
100 DUP CHAR+ 3 CMOVE строка по адресу 100 - "AAAA".
Объяснение для CMOVE и CMOVE> вытекает из MOVE.
Ссылки
- Слово CMOVE (c-move) в стандарте ANS Forth (англ.) и комментарии к нему (англ.)
- Слово CMOVE (c-move) в черновике Forth 200x (англ.) и комментарий к нему (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |