TOGGLE
Перейти к навигации
Перейти к поиску
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 не вошло ни в один из стандартов.
Реализация
2135 ;#TOGGLE 2136 ; TOGGLE ( a c −− ) Изменить байт с адресом a по xor−маске c. 2137 ; У TOGGLE стандартный, но необычный порядок операндов. Будьте внимательны! 2138 LTOGL: .DB 6 2139 .TEXT "TOGGLE" 2140 .DW LMMSTOR 2141 TOGL: .DW JTOGL 2142 JTOGL: RM3 M8 1 + MA 1 + M3 2143 KRMA 1 EE 4 − KX>=09 ; Не менять ничего в памяти программ 2144 MA KRM8 KRMA KXOR KMA 2145 KGOTO9
Советская реализация
В FORTH ИТЭФ слово TOGGLE также было примитивом и называлось TOGL
Вот его определение:
HEAD 204Q,'TOG',314Q.TOGL ; TOGGLE ; адр-байта маска =>XOR в байт памяти POP CX ; Маска POP BX XOR BYTE PTR [BX],CL NEXT
Ссылки
- Исходный текст слова TOGGLE в Каллисто Классик 1.0
- См. слова XOR, ! и +!
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |