Common Intermediate Language и системное программирование в Microsoft.Net. Макаров А.В - 55 стр.

UptoLike

Common Intermediate Language
97
Таблица 3.12. Операция сравнения
96
CIL и системное программирование в Microsoft .NET
Таблица 3.13. Унарные арифметические операции
од Инструкция Встроенный Описание
операнд
0xFE 0x01 ceq Сравнение на равенство.
Для целых чисел:
I ceq I => 1,
иначе => 0
Для чисел с плавающей запятой:
+inf ceq +inf => 1,
-inf ceq -inf => 1,
A ceq A => 1,
иначе => 0
0xFE 0x02 cgt Сравнение на «больше».
Для целых чисел:
J cgt I => 1,
иначе => 0
Для чисел с плавающей запятой:
A cgt -inf => 1,
+inf cgt A => 1,
+inf cgt -inf => 1,
B cgt A => 1,
иначе => 0
0xFE 0x04 clt Сравнение на «меньше».
Для целых чисел:
I clt J => 1,
иначе => 0
Для чисел с плавающей запятой:
A clt +inf => 1,
-inf clt A => 1,
-inf clt +inf => 1,
A clt B => 1,
иначе => 0
0xFE 0x03 cgt.un Сравнение на «больше» беззна-
ковых целых чисел или неупо-
рядоченных чисел с плавающей
запятой. (Два числа с плаваю-
щей запятой называются неупо-
рядоченными, если хотя бы од-
но из них равно NaN.)
Для целых чисел:
L cgt.un K => 1,
иначе => 0
Для чисел с плавающей запятой:
NaN cgt.un C => 1,
C cgt.un NaN => 1,
A cgt.un -inf => 1,
+inf cgt.un A => 1,
+inf cgt.un -inf => 1,
B cgt.un A => 1,
иначе => 0
0xFE 0x05 clt.un Сравнение на «меньше» беззна-
ковых целых чисел или неупо-
рядоченных чисел с плавающей
запятой.
Для целых чисел:
K clt.un L => 1,
иначе => 0
Для чисел с плавающей запятой:
NaN clt.un C => 1,
C clt.un NaN => 1,
A clt.un +inf => 1,
-inf clt.un A => 1,
-inf clt.un +inf => 1,
A clt.un B => 1,
иначе => 0
Код Инструкция Встроенный Описание
операнд
0x65 neg Изменение знака числа
0x66 not –Побитовое НЕ (для целых чисел)
96                         CIL и системное программирование в Microsoft .NET   Common Intermediate Language                                      97


     Таблица 3.12. Операция сравнения                                                                               запятой. (Два числа с плаваю-
                                                                                                                    щей запятой называются неупо-
од           Инструкция Встроенный Описание
                                                                                                                    рядоченными, если хотя бы од-
                        операнд
                                                                                                                    но из них равно NaN.)
0xFE 0x01    ceq        –          Сравнение на равенство.
                                                                                                                    Для целых чисел:
                                   Для целых чисел:
                                                                                                                    L cgt.un K => 1,
                                   I ceq I => 1,
                                                                                                                    иначе => 0
                                   иначе => 0
                                                                                                                    Для чисел с плавающей запятой:
                                   Для чисел с плавающей запятой:
                                                                                                                    NaN cgt.un C => 1,
                                   +inf ceq +inf => 1,
                                                                                                                    C cgt.un NaN => 1,
                                   -inf ceq -inf => 1,
                                                                                                                    A cgt.un -inf => 1,
                                   A ceq A => 1,
                                                                                                                    +inf cgt.un A => 1,
                                   иначе => 0
                                                                                                                    +inf cgt.un -inf => 1,
0xFE 0x02    cgt        –          Сравнение на «больше».
                                                                                                                    B cgt.un A => 1,
                                   Для целых чисел:
                                                                                                                    иначе => 0
                                   J cgt I => 1,
                                                                               0xFE 0x05     clt.un           –     Сравнение на «меньше» беззна-
                                   иначе => 0
                                                                                                                    ковых целых чисел или неупо-
                                   Для чисел с плавающей запятой:
                                                                                                                    рядоченных чисел с плавающей
                                   A cgt -inf => 1,
                                                                                                                    запятой.
                                   +inf cgt A => 1,
                                                                                                                    Для целых чисел:
                                   +inf cgt -inf => 1,
                                                                                                                    K clt.un L => 1,
                                   B cgt A => 1,
                                                                                                                    иначе => 0
                                   иначе => 0
                                                                                                                    Для чисел с плавающей запятой:
0xFE 0x04    clt        –          Сравнение на «меньше».
                                                                                                                    NaN clt.un C => 1,
                                   Для целых чисел:
                                                                                                                    C clt.un NaN => 1,
                                   I clt J => 1,
                                                                                                                    A clt.un +inf => 1,
                                   иначе => 0
                                                                                                                    -inf clt.un A => 1,
                                   Для чисел с плавающей запятой:
                                                                                                                    -inf clt.un +inf => 1,
                                   A clt +inf => 1,
                                                                                                                    A clt.un B => 1,
                                   -inf clt A => 1,
                                                                                                                    иначе => 0
                                   -inf clt +inf => 1,
                                   A clt B => 1,                                     Таблица 3.13. Унарные арифметические операции
                                   иначе => 0
                                                                               Код           Инструкция Встроенный Описание
0xFE 0x03    cgt.un     –          Сравнение на «больше» беззна-
                                                                                                        операнд
                                   ковых целых чисел или неупо-
                                                                               0x65          neg        –          Изменение знака числа
                                   рядоченных чисел с плавающей
                                                                               0x66          not        –          Побитовое НЕ (для целых чисел)