TOGGLE: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
'''TOGGLE''' — | '''TOGGLE''' — архаичное слово [[Каллисто]]. | ||
TOGGLE ( a c −− ) Изменить байт с адресом a по xor−маске c. | |||
При обращении adr c TOGGLE извлекается байт из ячейки с адресом adr, выполняется операция [[XOR]] (Исключающее ИЛИ) над этим байтом и байтом c, а результат записывается снова в ячейку с адресом adr. | |||
У TOGGLE стандартный, но необычный порядок операндов. Будьте внимательны! | |||
== Ввод слова TOGGLE == | == Ввод слова TOGGLE == | ||
Строка 13: | Строка 15: | ||
Обратите внимание на необычный для [[Каллисто]] порядок аргументов у слова TOGGLE. Он противоречит принятой практике программирования на Форте, например порядку аргументов стандартного слова [[+!]]. | Обратите внимание на необычный для [[Каллисто]] порядок аргументов у слова TOGGLE. Он противоречит принятой практике программирования на Форте, например порядку аргументов стандартного слова [[+!]]. | ||
Возможно, именно по этой причине слово TOGGLE не вошло ни в один из стандартов. | Возможно, именно по этой причине архаичное слово TOGGLE не вошло ни в один из стандартов. | ||
== Реализация == | == Реализация == | ||
В FORTH ИТЭФ слово TOGGLE также было [[примитив]]ом | <pre> | ||
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 | |||
</pre> | |||
=== Советская реализация === | |||
В FORTH ИТЭФ слово TOGGLE также было [[примитив]]ом и называлось TOGL | |||
Вот его определение: | |||
<PRE> | <PRE> | ||
HEAD 204Q,'TOG',314Q.TOGL ; TOGGLE | HEAD 204Q,'TOG',314Q.TOGL ; TOGGLE | ||
Строка 27: | Строка 46: | ||
== Ссылки == | == Ссылки == | ||
* См. слова [[ | * {{Исходник|TOGGLE|TOGGLE}} | ||
* См. слова [[XOR]], [[Слово !|!]] и [[+!]] | |||
Строка 35: | Строка 55: | ||
[[Категория:Примитивы]] | [[Категория:Примитивы]] | ||
[[Категория:Работа с памятью Каллисто]] | [[Категория:Работа с памятью Каллисто]] | ||
[[Категория: | [[Категория:Архаичные слова]] |
Текущая версия от 16:31, 9 ноября 2017
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, ! и +!
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |