В· арифметичні і логічні команди:
o додавання: iadd , ladd , fadd , dadd;
o віднімання: isub , lsub , fsub , dsub;
o множення: imul , lmul , fmul , dmul;
o поділ: idiv , ldiv , fdiv , ddiv ;
o залишок: irem , lrem , frem , drem;
o зміна знака: ineg , lneg , fneg , dneg ;
o зрушення і побітові операції: ior , lor, iand , land , ixor , lxor, ishl , ishr , iushr , lshl , lshr , lush;
o порівняння: dcmpg , dcmpl , fcmpg , fcmpl , lcm g < i>;
o інкремент локальної змінної: iinc .
Всі ці команди, за винятком iinc, не мають параметрів. Вони витягують операнди з вершини стека і записують результат на вершину стека. Команда iinc має два операнди - індекс локальної змінної і величину, на яку значення даної змінної має бути змінено;
В· команди перетворення типів:
o розширює: i2l , i2f , i2d , l2f , l2d , f2d ;
o звужуюче: i2b , i2c , i2s , l2i , f2i , f2l , d2i , d2l , d2f ;
В· команди роботи з об'єктами і масивами:
o створення об'єкту: new ;
o створення масиву: newarray (примітивного типу), anewarray (посилального типу), multianewarray (багатовимірного);
o доступ до полям: getfield , putfield (для полів примірники), getstatic , putstatic (для статичних полів); ​​ p>
o завантаження елемента масиву на стек: baload (тип byte), caload (тип char), saload (тип short), iaload i>, laload , faload , daload , aaload ;
o збереження значення з вершини стека в елемент масиву: bastore , castore , sastore , iastore , lastore , fastore , dastore , aastore ;
o отримання розміру масиву: arraylength ;
o перевірка типів: instanceof (повертає на вершині стека логічне значення) і checkcast (генерує виняток у разі невідповідності типу посилання на вершині стека необхідному типом);
В· команди маніпуляцій зі стеком операндів:
o pop - видалення верхнього елемент стека;
o pop 2 - видалення двох верхніх елемента стека ;
o dup , dup 2 , dup _ x 1 , dup 2_ x 1 , dup _ x 2 , dup 2_ x < i> 2 - дублювання елементів на вершині стека;
o swap - зміна місцями двох верхніх елементів стека;
В· команди безумовної передачі керування:
o jsr , jsr _ w , ret < i> - виклик підпрограм і повернення з них. Використовуються при компіляції блоку finally;
o goto , goto _ w - безумовний перехід;
В· команди умовного переходу: ifeq , iflt , ifle , ifne , ifgt , ifge , ifnull , ifnonnull , if _ icmpeq , if _ icmpne , if _ icmplt , if _ icmpgt , if _ icmple , if _ icmpge , if _ acmpeq , if _ acmpne ;
В· команди виклику методів:
o invokevirtual - звичайний виклик методу примірника з використанням механізму пізнього зв'язування;
o invokestatic - виклик статичного методу;
o invokeinterface - виклик методу інтерфейсу в об'єкта, реалізує даний інтерфейс;
o invokespecial - виклик методу примірника без використання механізму пізнього зв'язування. Використовується для виклику конструкторів, методів з уперкласса і private-методів;
В· команди повернення з методу:
o return - повернення з методу, повертає void;
o ireturn , lreturn , freturn , dreturn , areturn - i> повернення значення відповідного типу;
В· команда генерації виключень: athrow ;
В· команди синхронізації (механізм блокувань):
o monitorenter - встановити блокування (увійти в критичну секцію);
o...