Назад

JVM J2ME BYTECODES


hex байт байт код описание_инструкции
0x00 nop Нет операции
0x01 aconst_null Загрузка в стек null (пустой ссылки на объект)
0x02 iconst_m1 Загрузка целочисленной константы -1
0x03 iconst_0 Загрузка int 0
0x04 iconst_1 Загрузка int 1
0x05 iconst_2 Загрузка int 2
0x06 iconst_3 Загрузка int 3
0x07 iconst_4 Загрузка int 4
0x08 iconst_5 Загрузка int 5
0x09 lconst_0 Загрузка long 0
0x0a lconst_1 Загрузка long 1
0x0b fconst_0 Загрузка float 0
0x0c fconst_1 Загрузка float 1
0x0d fconst_2 Загрузка float 2
0x0e dconst_0 Загрузка double 0
0x0f dconst_1 Загрузка double 1
0x10 bipush Загрузка в стек byte со знаком (-128~127)
0x11 sipush Загрузка в стек short со знаком (-32768~32767)
0x12 ldc Загрузка в стек элемента из константного пула
0x13 ldc_w Загрузка в стек элемента из константного пула
0x14 ldc2_w Загрузка в стек длинного целого или двойного вещественного значения из константного пула
0x15 iload Загрузка целого из локальной переменной
0x16 lload Загрузка длинного целого из локальной переменной
0x17 fload Загрузка float из локальной переменной
0x18 dload Загрузка double из локальной переменной
0x19 aload Загрузка объектной ссылки из локальной переменной
0x1a iload_0 Загрузка целого из локальной переменной
0x1b iload_1 Загрузка целого из локальной переменной
0x1c iload_2 Загрузка целого из локальной переменной
0x1d iload_3 Загрузка целого из локальной переменной
0x1e lload_0 Загрузка длинного целого из локальной переменной
0x1f lload_1 Загрузка длинного целого из локальной переменной
0x20 lload_2 Загрузка длинного целого из локальной переменной
0x21 lload_3 Загрузка длинного целого из локальной переменной
0x22 fload_0 Загрузка float из локальной переменной
0x23 fload_1 Загрузка float из локальной переменной
0x24 fload_2 Загрузка float из локальной переменной
0x25 fload_3 Загрузка float из локальной переменной
0x26 dload_0 Загрузка double из локальной переменной
0x27 dload_1 Загрузка double из локальной переменной
0x28 dload_2 Загрузка double из локальной переменной
0x29 dload_3 Загрузка double из локальной переменной
0x2a aload_0 Загрузка объектной ссылки из локальной переменной
0x2b aload_1 Загрузка объектной ссылки из локальной переменной
0x2c aload_2 Загрузка объектной ссылки из локальной переменной
0x2d aload_3 Загрузка объектной ссылки из локальной переменной
0x2e iaload Загрузка int из массива
0x2f laload Загрузка long из массива
0x30 faload Загрузка float из массива
0x31 daload Загрузка double из массива
0x32 aaload Загрузка объектной ссылки из массива
0x33 baload Загрузка boolean или byte из массива
0x34 caload Загрузка char из массива
0x35 saload Загрузка short из массива
0x36 istore Сохранение целого значения в локальной переменной
0x37 lstore Сохранение long в локальной переменной
0x38 fstore Сохранение float в локальной переменной
0x39 dstore Сохранение double в локальной переменной
0x3a astore Сохранение объектной ссылки в локальной переменной
0x3b istore_0 Сохранение int в локальной переменной
0x3c istore_1 Сохранение int в локальной переменной
0x3d istore_2 Сохранение int в локальной переменной
0x3e istore_3 Сохранение int в локальной переменной
0x3f lstore_0 Сохранение long в локальной переменной
0x40 lstore_1 Сохранение long в локальной переменной
0x41 lstore_2 Сохранение long в локальной переменной
0x42 lstore_3 Сохранение long в локальной переменной
0x43 fstore_0 Сохранение float в локальной переменной
0x44 fstore_1 Сохранение float в локальной переменной
0x45 fstore_2 Сохранение float в локальной переменной
0x46 fstore_3 Сохранение float в локальной переменной
0x47 dstore_0 Сохранение double в локальной переменной
0x48 dstore_1 Сохранение double в локальной переменной
0x49 dstore_2 Сохранение double в локальной переменной
0x4a dstore_3 Сохранение double в локальной переменной
0x4b astore_0 Сохранение объектной ссылки в локальной переменной
0x4c astore_1 Сохранение объектной ссылки в локальной переменной
0x4d astore_2 Сохранение объектной ссылки в локальной переменной
0x4e astore_3 Сохранение объектной ссылки в локальной переменной
0x4f iastore Сохранение в int массиве
0x50 lastore Сохранение в long массиве
0x51 fastore Сохранение в float массиве
0x52 dastore Сохранение в double массиве
0x53 aastore Сохранение в массиве из объектных ссылок
0x54 bastore Сохранение в boolean или byte массиве
0x55 castore Сохранение в char массиве
0x56 sastore Сохранение в short массиве
0x57 pop Извлечение слова с вершины стека
0x58 pop2 Извлечение двух слов с вершины стека
0x59 dup Дублирование слова на вершине стека
0x5a dup_x1 Дублирование слово на вершине стека и помещение копии в стек на два слова ниже
0x5b dup_x2 Дублирование вершины стека и помещение копии на три слова ниже
0x5c dup2 Дублирование двух слов на вершине стека
0x5d dup2_x1 Дублирование двух слов на вершине стека и помещение копий на два слова ниже
0x5e dup2_x2 Дублирование двух слов на вершине стека и помещение копий на три слова ниже
0x5f swap Обмен двух слов на вершине стека
Арифметическо-логические инструкции
0x60 iadd Сложение int
0x61 ladd Сложение long
0x62 fadd Сложение float
0x63 dadd Сложение double
0x64 isub Вычитание int
0x65 lsub Вычитание long
0x66 fsub Вычитание float
0x67 dsub Вычитание double
0x68 imul Умножение int
0x69 lmul Умножение long
0x6a fmul Умножение float
0x6b dmul Умножение double
0x6c idiv Деление int
0x6d ldiv Деление long
0x6e fdiv Деление float
0x6f ddiv Деление double
0x70 irem Остаток от деления int
0x71 lrem Остаток от деления long
0x72 frem Остаток от деления float
0x73 drem Остаток от деления double
0x74 ineg Отрицание int
0x75 lneg Отрицание long
0x76 fneg Отрицание float
0x77 dneg Отрицание double
0x78 ishl Сдвиг int влево
0x79 lshl Сдвиг long влево
0x7a ishr Арифметический сдвиг int вправо
0x7b lshr Арифметический сдвиг long вправо
0x7c iushr Логический сдвиг int вправо >>>
0x7d lushr Логический сдвиг long вправо
0x7e iand Логическое И с операндами int B[id] & 0xffffffff
0x7f land Логическое И с операндами long
0x80 ior Логическое ИЛИ с операндами int B[id] | 0xffffffff
0x81 lor Логическое ИЛИ с операндами long
0x82 ixor Исключающее ИЛИ с int B[id] ^ 0xffffffff ~B[id]
0x83 lxor Исключающее ИЛИ с long
0x84 iinc Увеличение локальной переменной на константу
Преобразование типов
0x85 i2l Преобразование int в long
0x86 i2f Преобразование int в float
0x87 i2d Преобразование int в double
0x88 l2i Преобразование long в int
0x89 l2f Преобразование long в float
0x8a l2d Преобразование long в double
0x8b f2i Преобразование float в int
0x8c f2l Преобразование float в long
0x8d f2d Преобразование float в double
0x8e d2i Преобразование double в int
0x8f d2l Преобразование double в long
0x90 d2f Преобразование double в float
0x91 i2b Преобразование int в byte
0x92 i2c Преобразование int в char
0x93 i2s Преобразование int в short
Сравнение
0x94 lcmp Сравнение long
0x95 fcmpl Сравнение вещественных одинарной точности (-1 при NaN)
0x96 fcmpg Сравнение вещественных одинарной точности (1 при NaN)
0x97 dcmpl Сравнение вещественных двойной точности(-1 при NaN)
0x98 dcmpg Сравнение вещественных двойной точности(1 при NaN)
Логические переходы
0x99 ifeq Переход, если равно 0
0x9a ifne Переход, если не равно 0
0x9b iflt Переход, если меньше 0
0x9c ifge Переход, если больше или равно 0
0x9d ifgt Переход, если больше 0
0x9e ifle Переход, если меньше или равно 0
0x9f if_icmpeq Переход, если целые равны
0xa0 if_icmpne Переход, если целые не равны
0xa1 if_icmplt Переход, если целое меньше 0
0xa2 if_icmpge Переход, если целое больше или равно
0xa3 if_icmpgt Переход, если целое больше 0
0xa4 if_icmple Переход, если целое меньше или равно
0xa5 if_acmpeq Переход, если ссылки на объект равны
0xa6 if_acmpne Переход, если ссылки на объект не равны
Переход
0xa7 goto Безусловный переход
0xa8 jsr Переход на подпрограмму
0xa9 ret Возврат из подпрограммы
0xaa tableswitch Доступ к таблице перехода по индексу и переход
0xab lookupswitch Доступ к таблице перехода по сравнению с ключом и переход
Возврат
0xac ireturn Возврат int значения функции
0xad lreturn Возврат long значения функции
0xae freturn Возврат float значения функции
0xaf dreturn Возврат double значения функции
0xb0 areturn Возврат объектной ссылки из функции
0xb1 return Возврат(опустошающий) из процедуры (void)
Получение поля
0xb2 getstatic Получение статического поля класса
0xb3 putstatic Установка статического поля в классе
0xb4 getfield Перенос поля из объекта
0xb5 putfield Установка поля в объекте
0xb6 invokevirtual Вызывает метод экземпляра, основываясь на типе времени выполнения
0xb7 invokespecial Вызывает метод экземпляра, основываясь на не виртуальном типе
0xb8 invokestatic Вызов метода класса (статического метода)
0xb9 invokeinterface Вызывает метод интерфейса
объект
0xba new Создает новый объект
0xbb new Создает новый объект
0xbc newarray Размещение нового массива
0xbd anewarray Объявление нового массива из ссылок на объекты
0xbe arraylength Возвращает длину массива
other
0xbf athrow Генерация обработки или ошибки
0xc0 checkcast Проверяет, что объект имеет данный тип
0xc1 instanceof Определяет, имеет ли объект данный тип
0xc2 monitorenter Вход в контролируемую область кода
0xc3 monitorexit Выход из контролируемой области кода
0xc4 wide Расширенный индекс для доступа к локальным переменным для команд загрузки, сохранения и приращения
0xc5 multianewarray Размещение нового многомерного массива
0xc6 ifnull Переход, если пустой указатель
0xc7 ifnonnull Переход, если не пустой указатель
0xc8 goto_w Переход на (расширенный индекс)
0xc9 jsr_w Переход на подпрограмму (расширенный индекс)
0xca breakpoint Остановка и передача контроля обработчику прерываний
0xd1 ret_w Возврат из подпрограммы (расширенный индекс)