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