⟩⟨: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) |
||
(не показано 9 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
'''><''' — | '''><''' — фортовское слово [[Каллисто]]. Поменять местами байты в переданном через стек двухбайтном значении. | ||
>< ( u −− u1 ) Обменять старший и младший байты в 16−битном числе u. | |||
== Ввод слова >< == | == Ввод слова >< == | ||
В [[Режим NUM|режиме NUM]] последовательно нажмите четыре клавиши [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша F|{{Оранжевая клавиша|F}}]] | В [[Режим NUM|режиме NUM]] последовательно нажмите четыре клавиши [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша F|{{Оранжевая клавиша|F}}]] {{ШГ→}} | ||
== >< в предыдущем стандарте Forth-83 (англ.) == | == История == | ||
Слово >< прослеживается с 1979 года. В 1994 году оно было убрано из стандартов Форта. В FORTH ИТЭФ слово >< было известно под именем SWAB | |||
=== >< в предыдущем стандарте Forth-83 (англ.) === | |||
>< 16b1 -- 16b2 "byte-swap" | >< 16b1 -- 16b2 "byte-swap" | ||
Swap the high and low bytes within 16b1. | Swap the high and low bytes within 16b1. | ||
== >< в стандарте Forth-79 (англ.) == | === >< в стандарте Forth-79 (англ.) === | ||
>< n1 -- n2 "byte-swap" | >< n1 -- n2 "byte-swap" | ||
Swap the high and low bytes within n1. | Swap the high and low bytes within n1. | ||
== Реализация == | |||
<pre> | |||
1433 ;#SWAB | |||
1434 ; >< ( U −− U1 ) Обменять старший и младший байты в 16−битном числе U. | |||
1435 LSWAB: .DB 2 | |||
1436 .TEXT "><" | |||
1437 .DW LNEGATE | |||
1438 SWAB: .DW JSWAB | |||
1439 JSWAB: RM3 M8 | |||
1440 KRM8 ENT RME / FANS <−> KINT MA ∗ − | |||
1441 RME ∗ RMA + KM8 KGOTO9 | |||
</pre> | |||
=== Советская реализация === | |||
В FORTH ИТЭФ слово >< называлось SWAB и было [[примитив]]ом, вот его определение: | |||
<PRE> | |||
HEAD 204Q,'SWA',302Q,SWAB ; SWAB | |||
POP AX | |||
XCHG AL, AH | |||
PUSH AX | |||
NEXT | |||
</PRE> | |||
== Ссылки == | |||
* {{Исходник|SWAB|><}} | |||
Строка 16: | Строка 46: | ||
{{заготовка}} | {{заготовка}} | ||
[[Категория:Слова Каллисто]] | [[Категория:Слова Каллисто]] | ||
[[Категория:Фортовские слова]] | |||
[[Категория:Примитивы]] | [[Категория:Примитивы]] | ||
[[Категория:Одноместные операции Каллисто]] | [[Категория:Одноместные операции Каллисто]] | ||
Текущая версия от 11:12, 9 ноября 2017
>< — фортовское слово Каллисто. Поменять местами байты в переданном через стек двухбайтном значении.
>< ( u −− u1 ) Обменять старший и младший байты в 16−битном числе u.
Ввод слова ><[править]
В режиме NUM последовательно нажмите четыре клавиши F ИП F ШГ→
История[править]
Слово >< прослеживается с 1979 года. В 1994 году оно было убрано из стандартов Форта. В FORTH ИТЭФ слово >< было известно под именем SWAB
>< в предыдущем стандарте Forth-83 (англ.)[править]
>< 16b1 -- 16b2 "byte-swap" Swap the high and low bytes within 16b1.
>< в стандарте Forth-79 (англ.)[править]
>< n1 -- n2 "byte-swap" Swap the high and low bytes within n1.
Реализация[править]
1433 ;#SWAB 1434 ; >< ( U −− U1 ) Обменять старший и младший байты в 16−битном числе U. 1435 LSWAB: .DB 2 1436 .TEXT "><" 1437 .DW LNEGATE 1438 SWAB: .DW JSWAB 1439 JSWAB: RM3 M8 1440 KRM8 ENT RME / FANS <−> KINT MA ∗ − 1441 RME ∗ RMA + KM8 KGOTO9
Советская реализация[править]
В FORTH ИТЭФ слово >< называлось SWAB и было примитивом, вот его определение:
HEAD 204Q,'SWA',302Q,SWAB ; SWAB POP AX XCHG AL, AH PUSH AX NEXT
Ссылки[править]
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |