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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 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

Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


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