TOGGLE: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 40: | Строка 40: | ||
[[Категория:Примитивы]] | [[Категория:Примитивы]] | ||
[[Категория:Работа с памятью Каллисто]] | [[Категория:Работа с памятью Каллисто]] | ||
Версия от 18:04, 4 июня 2016
TOGGLE — встроенное слово Каллисто.
TOGGLE ( a c −− ) Изменить байт с адресом a по xor−маске c.
При обращении adr c TOGGLE извлекается байт из ячейки с адресом adr, выполняется операция XOR (Исключающее ИЛИ) над этим байтом и байтом c, а результат записывается снова в ячейку с адресом adr.
У TOGGLE стандартный, но необычный порядок операндов. Будьте внимательны!
Ввод слова TOGGLE
В режиме ЛАТ последовательно нажмите клавиши 2 5 БП БП − ИП
TOGGLE в fig-FORTH Release 1 glossary, май 1979 (англ.)
TOGGLE addr b -- Complement the contents of addr by the bit pattern b.
История
Обратите внимание на необычный для Каллисто порядок аргументов у слова TOGGLE. Он противоречит принятой практике программирования на Форте, например порядку аргументов стандартного слова +!.
Возможно, именно по этой причине архаичное слово TOGGLE не вошло ни в один из стандартов.
Реализация
В FORTH ИТЭФ слово TOGGLE также было примитивом и называлось TOGL
Вот его определение:
HEAD 204Q,'TOG',314Q.TOGL ; TOGGLE ; адр-байта маска =>XOR в байт памяти POP CX ; Маска POP BX XOR BYTE PTR [BX],CL NEXT
Ссылки
- Исходный текст слова TOGGLE в Каллисто Классик 1.0
- См. слова XOR, ! и +!
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |