add: складывает два числа
add.ovf/add.ovf.un: складывает два целочисленных значения с проверкой на переполнение
and: поразрядная операция И (поразрядное умножение)
arglist: возвращает список аргументов
beq.<длина>: сравнивает два значения, и если они равны, выполняет переход по определенному адресу
bge.<длина>: сравнивает два значения, и если первое значение больше или равно второму, выполняет переход по определенному адресу
bge.un.<длина>: сравнивает два значения (значения беззнаковые или неупорядоченные), и если первое значение больше или равно второму, выполняет переход по определенному адресу
bgt.<длина>: сравнивает два значения, и если первое значение больше второго, выполняет переход по определенному адресу
bgt.un.<длина>: сравнивает два значения (значения беззнаковые или неупорядоченные), и если первое значение больше второго, выполняет переход по определенному адресу
ble.<длина>: сравнивает два значения, и если первое значение меньше или равно второму, выполняет переход по определенному адресу
ble.un.<длина>: сравнивает два значения (значения беззнаковые или неупорядоченные), и если первое значение меньше или равно второму, выполняет переход по определенному адресу
blt.<длина>: сравнивает два значения, и если первое значение меньше второго, выполняет переход по определенному адресу
blt.un.<длина>: сравнивает два значения (значения беззнаковые или неупорядоченные), и если первое значение меньше второго, выполняет переход по определенному адресу
bne.un<длина>: сравнивает два значения, и если они не равны, выполняет переход по определенному адресу
br.<длина>: выполняет безусловный переход по определенному адресу
break: применяется для поддержки отладки, сигнализирует инфраструктуре CLI, что достигнута точка прерывания
brfalse.<длина>: выполняет переход по определенному адресу, если аргумент равен false, null или 0
brtrue.<длина>: выполняет переход по определенному адресу, если аргумент Не равен false или null
call: вызывает метод
calli: непрямой вызов метода (через указатель на метод)
ceq: сравнивает два значения, если они равны, возвращает 1, иначе возвращает 0
cgt: сравнивает два значения, если первое значение больше второго, возвращает 1, иначе возвращает 0
cgt.un: сравнивает два значения (значения беззнаковые или неупорядоченные), если первое значение больше второго, возвращает 1, иначе возвращает 0
ckfinite: проверяет, что значение представляет число с плавающей точкой. Если значение таковым не является, то генерирует ArithmeticException
clt: сравнивает два значения, если первое значение меньше второго, возвращает 1, иначе возвращает 0
clt.un: сравнивает два значения (значения беззнаковые или неупорядоченные), если первое значение меньше второго, возвращает 1, иначе возвращает 0
conv.<тип_данных>: выполняет преобразование данных
conv.ovf.<тип_данных>: выполняет преобразование данных с проверкой на переполнение
conv.ovf.<тип_данных>.un: выполняет преобразование беззнаковых данных с проверкой на переполнение
cpblk: копирует данные из одного адреса в другой
div: выполняет операцию деления
div.un: выполняет операцию деления беззнаковых значений
dup: дублирует в стеке значение, которое находится в его верхушке
endfilter: завершает фильтр обработки исключений
endfinally: завершает выражения finally и fault в блоке обработки исключений
initblk: инициализирует блок памяти для значения
jmp: выполняет переход к методу
ldarg.<длина>: загружает аргумент в стек
ldarga.<длина>: загружает адрес аргумента
ldc.<тип_данных>: загружает числовую константу
ldftn: загружает указатель метода
ldind.<тип_данных>: загружает в стек указатель на значение
ldloc: загружает в стек локальную переменную
ldloca.<длина>: загружает адрес локальной переменной
ldnull: загружает нулевой указатель
leave.<длина>: производит выход из блока кода и осуществляет переход по определенному адресу
localloc: выделяет память в локальном динамическом пуле памяти
mul: перемножает значения
mul.ovf.<тип_данных>: перемножает значения с проверкой на переполнение
neg: выполняет операцию отрицания
nop: отсутствие операции
not: поразрядное отрицание
or: поразрядная операция ИЛИ
pop: удаляет элемент из верхушки стека
rem: вычисляет остаток от деления
rem.un: вычисляет остаток от деления беззнаковых чисел
ret: выполняет выход из метода
shl: поразрядный сдвиг числа влево
shr: поразрядный сдвиг числа вправо
shr.un: поразрядный сдвиг беззнакового числа вправо
starg.<длина>: сохраняет значение в слот для аргумента
stind.<тип_данных>: сохраняет значение из стека по определенному адресу
stloc: берет значение из верхушки стека и сохраняет его в локальную переменную
sub: выполняет операцию вычитания
sub.ovf.<тип_данных>: выполняет операцию вычитания с проверкой на переполнение
switch: берет значение из верхушки стека, сравнивает его с набором значений и на основании результата сравнения производит переход в определенную точку кода
xor: поразрядная операция XOR
box: преобразует значение в объект (т.н. упаковка)
callvirt: вызывает метод объекта
castclass: преобразует значение в объект определенного класса
cpobj: копирует значение из одного адреса в другой
initobj: инициализирует значение по определенному адресу
isinst: проверяет, является ли значение объектом определенного класса или интерфейса
ldelem: загружает элемент массива
ldelem.<тип_данных>: загружает элемент массива
ldelema: загружает адрес элемента массива
ldfld: загружает поле объекта
ldflda: загружает адрес поля объекта
ldlen: загружает длину массива
ldobj: копирует значение из одного адреса в памяти в стек
ldsfld: загружает статическое поле класса
ldsflda: загружает адрес статического поля
ldstr: загружает строковый литерал
ldtoken: загружает представление токена метаданных
ldvirtftn: загружает указатель на виртуальный метод
mkrefany: добавляет в стек типизированную ссылку (ссылку определенного класса)
newarr: создает одномерный массив
newobj: создает новый объект
refanytype: загружает токен типа из типизированной ссылки
refanyval: загружает адрес из типизированной ссылки
rethrow: повторно генерирует текушее исключение (например, в catch генерируется то же самое исключение, которое обрабатывается этим выражением catch)
sizeof: загружает размер типа в байтах
stelem: сохраняет элемент в массив
stelem.<тип_данных>: сохраняет элемент определенного типа в массив
stfld: сохраняет значение в поле объекта
stobj: сохраняет значение по определенному адресу
stsfld: сохраняет значение в статическое поле класса
throw: генерирует исключение
unbox: преобразует упакованное значение в его исходную форму до упаковки
unbox.any: извлекает упакованное в объект значение