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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
'''><''' — встроенное слово [[Каллисто]]. Поменять местами байты в переданном через стек двухбайтном значении.
'''><''' — фортовское слово [[Каллисто]]. Поменять местами байты в переданном через стек двухбайтном значении.
  ><            ( u −− u1 )                          Обменять старший и младший байты в 16−битном числе u.
  ><            ( u −− u1 )                          Обменять старший и младший байты в 16−битном числе u.


== Ввод слова &gt;&lt; ==
== Ввод слова &gt;&lt; ==
В [[Режим NUM|режиме NUM]] последовательно нажмите четыре клавиши [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] &nbsp; [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ШГ вправо|{{Чёрная клавиша|ШГ→}}]]
В [[Режим NUM|режиме NUM]] последовательно нажмите четыре клавиши [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] &nbsp; [[Клавиша F|{{Оранжевая клавиша|F}}]] {{ШГ→}}


== История ==
== История ==
Слово &gt;&lt; прослеживается с 1979 года. В 1994 году оно было убрано из стандартов Форта. В некоторых Фортах слово &gt;&lt; было известно под именем SWAB
Слово &gt;&lt; прослеживается с 1979 года. В 1994 году оно было убрано из стандартов Форта. В FORTH ИТЭФ слово &gt;&lt; было известно под именем SWAB


=== &gt;&lt; в предыдущем стандарте Forth-83 (англ.) ===
=== &gt;&lt; в предыдущем стандарте Forth-83 (англ.) ===
Строка 17: Строка 17:


== Реализация ==
== Реализация ==
<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 ИТЭФ слово &gt;&lt; называлось SWAB и было [[примитив]]ом, вот его определение:
В FORTH ИТЭФ слово &gt;&lt; называлось SWAB и было [[примитив]]ом, вот его определение:
<PRE>
<PRE>
Строка 33: Строка 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

Ссылки[править]


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


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