Content deleted Content added
→See also: already in body per WP:SEEALSO / WP:OVERLINK |
→top: Fixed reference date error(s) (see CS1 errors: dates for details) and AWB general fixes |
||
(22 intermediate revisions by 18 users not shown) | |||
Line 1:
{{Short description|none}} <!-- This short description is INTENTIONALLY "none" - please see WP:SDNONE before you consider changing it! -->
{{Main|Java bytecode}}
This is a list of the instructions that make up the [[Java bytecode]], an abstract machine language that is ultimately executed by the [[Java virtual machine]].<ref>{{cite web|url=https://docs.oracle.com/javase/specs/jvms/se24/html/index.html |title=The Java® Virtual Machine Specification – Java SE 24 Edition |access-date=July 26, 2025}}</ref> The Java bytecode is generated from languages running on the [[Java Platform]], most notably the [[Java (programming language)|Java programming language]].
''Note that any referenced "value" refers to a 32-bit int as per the Java instruction set.''
Line 8 ⟶ 9:
|-
! scope="col" | Mnemonic
! scope="col" | Opcode<br>
!Opcode (in binary)
! scope="col" | Other bytes<br>[count]: [operand labels]
Line 15 ⟶ 16:
|-
|aaload
|data-sort-value=50|32
|0011 0010
|
Line 22 ⟶ 23:
|-
|aastore
|data-sort-value=83|53
|0101 0011
|
|arrayref, index, value →
|store
|-
|aconst_null
|data-sort-value=1|01
|0000 0001
|
Line 36 ⟶ 37:
|-
|aload
|data-sort-value=25|19
|0001 1001
|1: index
Line 43 ⟶ 44:
|-
|aload_0
|data-sort-value=42|2a
|0010 1010
|
Line 50 ⟶ 51:
|-
|aload_1
|data-sort-value=43|2b
|0010 1011
|
Line 57 ⟶ 58:
|-
|aload_2
|data-sort-value=44|2c
|0010 1100
|
Line 64 ⟶ 65:
|-
|aload_3
|data-sort-value=45|2d
|0010 1101
|
Line 71 ⟶ 72:
|-
|anewarray
|data-sort-value=189|bd
|1011 1101
|2: indexbyte1, indexbyte2
|count → arrayref
|create a new array of references of length ''count'' and component type identified by the class reference ''index'' ({{mono|indexbyte1 << 8
|-
|areturn
|data-sort-value=176|b0
|1011 0000
|
Line 85 ⟶ 86:
|-
|arraylength
|data-sort-value=190|be
|1011 1110
|
Line 92 ⟶ 93:
|-
|astore
|data-sort-value=58|3a
|0011 1010
|1: index
Line 99 ⟶ 100:
|-
|astore_0
|data-sort-value=75|4b
|0100 1011
|
Line 106 ⟶ 107:
|-
|astore_1
|data-sort-value=76|4c
|0100 1100
|
Line 113 ⟶ 114:
|-
|astore_2
|data-sort-value=77|4d
|0100 1101
|
Line 120 ⟶ 121:
|-
|astore_3
|data-sort-value=78|4e
|0100 1110
|
Line 127 ⟶ 128:
|-
|athrow
|data-sort-value=191|bf
|1011 1111
|
Line 134 ⟶ 135:
|-
|baload
|data-sort-value=51|33
|0011 0011
|
Line 141 ⟶ 142:
|-
|bastore
|data-sort-value=84|54
|0101 0100
|
Line 148 ⟶ 149:
|-
|bipush
|data-sort-value=16|10
|0001 0000
|1: byte
Line 155 ⟶ 156:
|-
|breakpoint
|data-sort-value=202|ca
|1100 1010
|
Line 162 ⟶ 163:
|-
|caload
|data-sort-value=52|34
|0011 0100
|
Line 169 ⟶ 170:
|-
|castore
|data-sort-value=85|55
|0101 0101
|
Line 176 ⟶ 177:
|-
|checkcast
|data-sort-value=192|c0
|1100 0000
|2: indexbyte1, indexbyte2
|objectref → objectref
|checks whether an ''objectref'' is of a certain type, the class reference of which is in the constant pool at ''index'' ({{mono|indexbyte1 << 8
|-
|d2f
|data-sort-value=144|90
|1001 0000
|
|value → result
|convert a [[Double-precision floating-point format|double]] to a [[Single-precision floating-point format|float]]
|-
|d2i
|data-sort-value=142|8e
|1000 1110
|
Line 197 ⟶ 198:
|-
|d2l
|data-sort-value=143|8f
|1000 1111
|
Line 204 ⟶ 205:
|-
|dadd
|data-sort-value=99|63
|0110 0011
|
Line 211 ⟶ 212:
|-
|daload
|data-sort-value=49|31
|0011 0001
|
Line 218 ⟶ 219:
|-
|dastore
|data-sort-value=82|52
|0101 0010
|
Line 225 ⟶ 226:
|-
|dcmpg
|data-sort-value=152|98
|1001 1000
|
|value1, value2 → result
|compare two doubles, 1 on NaN
|-
|dcmpl
|data-sort-value=151|97
|1001 0111
|
|value1, value2 → result
|compare two doubles, -1 on NaN
|-
|dconst_0
|data-sort-value=14|0e
|0000 1110
|
Line 246 ⟶ 247:
|-
|dconst_1
|data-sort-value=15|0f
|0000 1111
|
Line 253 ⟶ 254:
|-
|ddiv
|data-sort-value=111|6f
|0110 1111
|
Line 260 ⟶ 261:
|-
|dload
|data-sort-value=24|18
|0001 1000
|1: index
Line 267 ⟶ 268:
|-
|dload_0
|data-sort-value=38|26
|0010 0110
|
Line 274 ⟶ 275:
|-
|dload_1
|data-sort-value=39|27
|0010 0111
|
Line 281 ⟶ 282:
|-
|dload_2
|data-sort-value=40|28
|0010 1000
|
Line 288 ⟶ 289:
|-
|dload_3
|data-sort-value=41|29
|0010 1001
|
Line 295 ⟶ 296:
|-
|dmul
|data-sort-value=107|6b
|0110 1011
|
Line 302 ⟶ 303:
|-
|dneg
|data-sort-value=119|77
|0111 0111
|
Line 309 ⟶ 310:
|-
|drem
|data-sort-value=115|73
|0111 0011
|
Line 316 ⟶ 317:
|-
|dreturn
|data-sort-value=175|af
|1010 1111
|
Line 323 ⟶ 324:
|-
|dstore
|data-sort-value=57|39
|0011 1001
|1: index
Line 330 ⟶ 331:
|-
|dstore_0
|data-sort-value=71|47
|0100 0111
|
Line 337 ⟶ 338:
|-
|dstore_1
|data-sort-value=72|48
|0100 1000
|
Line 344 ⟶ 345:
|-
|dstore_2
|data-sort-value=73|49
|0100 1001
|
Line 351 ⟶ 352:
|-
|dstore_3
|data-sort-value=74|4a
|0100 1010
|
Line 358 ⟶ 359:
|-
|dsub
|data-sort-value=103|67
|0110 0111
|
Line 365 ⟶ 366:
|-
|dup
|data-sort-value=89|59
|0101 1001
|
Line 372 ⟶ 373:
|-
|dup_x1
|data-sort-value=90|5a
|0101 1010
|
Line 379 ⟶ 380:
|-
|dup_x2
|data-sort-value=91|5b
|0101 1011
|
Line 386 ⟶ 387:
|-
|dup2
|data-sort-value=92|5c
|0101 1100
|
Line 393 ⟶ 394:
|-
|dup2_x1
|data-sort-value=93|5d
|0101 1101
|
Line 400 ⟶ 401:
|-
|dup2_x2
|data-sort-value=94|5e
|0101 1110
|
Line 407 ⟶ 408:
|-
|f2d
|data-sort-value=141|8d
|1000 1101
|
Line 414 ⟶ 415:
|-
|f2i
|data-sort-value=139|8b
|1000 1011
|
Line 421 ⟶ 422:
|-
|f2l
|data-sort-value=140|8c
|1000 1100
|
Line 428 ⟶ 429:
|-
|fadd
|data-sort-value=98|62
|0110 0010
|
Line 435 ⟶ 436:
|-
|faload
|data-sort-value=48|30
|0011 0000
|
Line 442 ⟶ 443:
|-
|fastore
|data-sort-value=81|51
|0101 0001
|
Line 449 ⟶ 450:
|-
|fcmpg
|data-sort-value=150|96
|1001 0110
|
|value1, value2 → result
|compare two floats, 1 on NaN
|-
|fcmpl
|data-sort-value=149|95
|1001 0101
|
|value1, value2 → result
|compare two floats, -1 on NaN
|-
|fconst_0
|data-sort-value=11|0b
|0000 1011
|
Line 470 ⟶ 471:
|-
|fconst_1
|data-sort-value=12|0c
|0000 1100
|
Line 477 ⟶ 478:
|-
|fconst_2
|data-sort-value=13|0d
|0000 1101
|
Line 484 ⟶ 485:
|-
|fdiv
|data-sort-value=110|6e
|0110 1110
|
Line 491 ⟶ 492:
|-
|fload
|data-sort-value=23|17
|0001 0111
|1: index
Line 498 ⟶ 499:
|-
|fload_0
|data-sort-value=34|22
|0010 0010
|
Line 505 ⟶ 506:
|-
|fload_1
|data-sort-value=35|23
|0010 0011
|
Line 512 ⟶ 513:
|-
|fload_2
|data-sort-value=36|24
|0010 0100
|
Line 519 ⟶ 520:
|-
|fload_3
|data-sort-value=37|25
|0010 0101
|
Line 526 ⟶ 527:
|-
|fmul
|data-sort-value=106|6a
|0110 1010
|
Line 533 ⟶ 534:
|-
|fneg
|data-sort-value=118|76
|0111 0110
|
Line 540 ⟶ 541:
|-
|frem
|data-sort-value=114|72
|0111 0010
|
Line 547 ⟶ 548:
|-
|freturn
|data-sort-value=174|ae
|1010 1110
|
Line 554 ⟶ 555:
|-
|fstore
|data-sort-value=56|38
|0011 1000
|1: index
Line 561 ⟶ 562:
|-
|fstore_0
|data-sort-value=67|43
|0100 0011
|
Line 568 ⟶ 569:
|-
|fstore_1
|data-sort-value=68|44
|0100 0100
|
Line 575 ⟶ 576:
|-
|fstore_2
|data-sort-value=69|45
|0100 0101
|
Line 582 ⟶ 583:
|-
|fstore_3
|data-sort-value=70|46
|0100 0110
|
Line 589 ⟶ 590:
|-
|fsub
|data-sort-value=102|66
|0110 0110
|
Line 596 ⟶ 597:
|-
|getfield
|data-sort-value=180|b4
|1011 0100
|2: indexbyte1, indexbyte2
|objectref → value
|get a field ''value'' of an object ''objectref'', where the field is identified by field reference in the constant pool ''index'' ({{mono|indexbyte1 << 8
|-
|getstatic
|data-sort-value=178|b2
|1011 0010
|2: indexbyte1, indexbyte2
|→ value
|get a static field ''value'' of a class, where the field is identified by field reference in the constant pool ''index'' ({{mono|indexbyte1 << 8
|-
|goto
|data-sort-value=167|a7
|1010 0111
|2: branchbyte1, branchbyte2
|[no change]
|goes to another instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|goto_w
|data-sort-value=200|c8
|1100 1000
|4: branchbyte1, branchbyte2, branchbyte3, branchbyte4
|[no change]
|goes to another instruction at ''branchoffset'' (signed int constructed from unsigned bytes {{mono|branchbyte1 << 24
|-
|i2b
|data-sort-value=145|91
|1001 0001
|
Line 631 ⟶ 632:
|-
|i2c
|data-sort-value=146|92
|1001 0010
|
Line 638 ⟶ 639:
|-
|i2d
|data-sort-value=135|87
|1000 0111
|
Line 645 ⟶ 646:
|-
|i2f
|data-sort-value=134|86
|1000 0110
|
Line 652 ⟶ 653:
|-
|i2l
|data-sort-value=133|85
|1000 0101
|
Line 659 ⟶ 660:
|-
|i2s
|data-sort-value=147|93
|1001 0011
|
Line 666 ⟶ 667:
|-
|iadd
|data-sort-value=96|60
|0110 0000
|
Line 673 ⟶ 674:
|-
|iaload
|data-sort-value=46|2e
|0010 1110
|
Line 680 ⟶ 681:
|-
|iand
|data-sort-value=126|7e
|0111 1110
|
Line 687 ⟶ 688:
|-
|iastore
|data-sort-value=79|4f
|0100 1111
|
Line 694 ⟶ 695:
|-
|iconst_m1
|data-sort-value=2|02
|0000 0010
|
Line 701 ⟶ 702:
|-
|iconst_0
|data-sort-value=3|03
|0000 0011
|
Line 708 ⟶ 709:
|-
|iconst_1
|data-sort-value=4|04
|0000 0100
|
Line 715 ⟶ 716:
|-
|iconst_2
|data-sort-value=5|05
|0000 0101
|
Line 722 ⟶ 723:
|-
|iconst_3
|data-sort-value=6|06
|0000 0110
|
Line 729 ⟶ 730:
|-
|iconst_4
|data-sort-value=7|07
|0000 0111
|
Line 736 ⟶ 737:
|-
|iconst_5
|data-sort-value=8|08
|0000 1000
|
Line 743 ⟶ 744:
|-
|idiv
|data-sort-value=108|6c
|0110 1100
|
Line 750 ⟶ 751:
|-
|if_acmpeq
|data-sort-value=165|a5
|1010 0101
|2: branchbyte1, branchbyte2
|value1, value2 →
|if references are equal, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|if_acmpne
|data-sort-value=166|a6
|1010 0110
|2: branchbyte1, branchbyte2
|value1, value2 →
|if references are not equal, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|if_icmpeq
|data-sort-value=159|9f
|1001 1111
|2: branchbyte1, branchbyte2
|value1, value2 →
|if ints are equal, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|if_icmpge
|data-sort-value=162|a2
|1010 0010
|2: branchbyte1, branchbyte2
|value1, value2 →
|if ''value1'' is greater than or equal to ''value2'', branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|if_icmpgt
|data-sort-value=163|a3
|1010 0011
|2: branchbyte1, branchbyte2
|value1, value2 →
|if ''value1'' is greater than ''value2'', branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|if_icmple
|data-sort-value=164|a4
|1010 0100
|2: branchbyte1, branchbyte2
|value1, value2 →
|if ''value1'' is less than or equal to ''value2'', branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|if_icmplt
|data-sort-value=161|a1
|1010 0001
|2: branchbyte1, branchbyte2
|value1, value2 →
|if ''value1'' is less than ''value2'', branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|if_icmpne
|data-sort-value=160|a0
|1010 0000
|2: branchbyte1, branchbyte2
|value1, value2 →
|if ints are not equal, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|ifeq
|data-sort-value=153|99
|1001 1001
|2: branchbyte1, branchbyte2
|value →
|if ''value'' is 0, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|ifge
|data-sort-value=156|9c
|1001 1100
|2: branchbyte1, branchbyte2
|value →
|if ''value'' is greater than or equal to 0, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|ifgt
|data-sort-value=157|9d
|1001 1101
|2: branchbyte1, branchbyte2
|value →
|if ''value'' is greater than 0, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|ifle
|data-sort-value=158|9e
|1001 1110
|2: branchbyte1, branchbyte2
|value →
|if ''value'' is less than or equal to 0, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|iflt
|data-sort-value=155|9b
|1001 1011
|2: branchbyte1, branchbyte2
|value →
|if ''value'' is less than 0, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|ifne
|data-sort-value=154|9a
|1001 1010
|2: branchbyte1, branchbyte2
|value →
|if ''value'' is not 0, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|ifnonnull
|data-sort-value=199|c7
|1100 0111
|2: branchbyte1, branchbyte2
|value →
|if ''value'' is not null, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|ifnull
|data-sort-value=198|c6
|1100 0110
|2: branchbyte1, branchbyte2
|value →
|if ''value'' is null, branch to instruction at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|iinc
|data-sort-value=132|84
|1000 0100
|2: index, const
Line 869 ⟶ 870:
|-
|iload
|data-sort-value=21|15
|0001 0101
|1: index
Line 876 ⟶ 877:
|-
|iload_0
|data-sort-value=26|1a
|0001 1010
|
Line 883 ⟶ 884:
|-
|iload_1
|data-sort-value=27|1b
|0001 1011
|
Line 890 ⟶ 891:
|-
|iload_2
|data-sort-value=28|1c
|0001 1100
|
Line 897 ⟶ 898:
|-
|iload_3
|data-sort-value=29|1d
|0001 1101
|
Line 904 ⟶ 905:
|-
|impdep1
|data-sort-value=254|fe
|1111 1110
|
Line 911 ⟶ 912:
|-
|impdep2
|data-sort-value=255|ff
|1111 1111
|
Line 918 ⟶ 919:
|-
|imul
|data-sort-value=104|68
|0110 1000
|
Line 925 ⟶ 926:
|-
|ineg
|data-sort-value=116|74
|0111 0100
|
Line 932 ⟶ 933:
|-
|instanceof
|data-sort-value=193|c1
|1100 0001
|2: indexbyte1, indexbyte2
|objectref → result
|determines if an object ''objectref'' is of a given type, identified by class reference ''index'' in constant pool ({{mono|indexbyte1 << 8
|-
|invokedynamic
|data-sort-value=186|ba
|1011 1010
|4: indexbyte1, indexbyte2, 0, 0
|[arg1,
|invokes a dynamic method and puts the result on the stack (might be void); the method is identified by method reference ''index'' in constant pool ({{mono|indexbyte1 << 8
|-
|invokeinterface
|data-sort-value=185|b9
|1011 1001
|4: indexbyte1, indexbyte2, count, 0
|objectref, [arg1, arg2, ...] → result
|invokes an interface method on object ''objectref'' and puts the result on the stack (might be void); the interface method is identified by method reference ''index'' in constant pool ({{mono|indexbyte1 << 8
|-
|invokespecial
|data-sort-value=183|b7
|1011 0111
|2: indexbyte1, indexbyte2
|objectref, [arg1, arg2, ...] → result
|invoke instance method on object ''objectref'' and puts the result on the stack (might be void); the method is identified by method reference ''index'' in constant pool ({{mono|indexbyte1 << 8
|-
|invokestatic
|data-sort-value=184|b8
|1011 1000
|2: indexbyte1, indexbyte2
|[arg1, arg2, ...] → result
|invoke a static method and puts the result on the stack (might be void); the method is identified by method reference ''index'' in constant pool ({{mono|indexbyte1 << 8
|-
|invokevirtual
|data-sort-value=182|b6
|1011 0110
|2: indexbyte1, indexbyte2
|objectref, [arg1, arg2, ...] → result
|invoke virtual method on object ''objectref'' and puts the result on the stack (might be void); the method is identified by method reference ''index'' in constant pool ({{mono|indexbyte1 << 8
|-
|ior
|data-sort-value=128|80
|1000 0000
|
Line 981 ⟶ 982:
|-
|irem
|data-sort-value=112|70
|0111 0000
|
Line 988 ⟶ 989:
|-
|ireturn
|data-sort-value=172|ac
|1010 1100
|
Line 995 ⟶ 996:
|-
|ishl
|data-sort-value=120|78
|0111 1000
|
Line 1,002 ⟶ 1,003:
|-
|ishr
|data-sort-value=122|7a
|0111 1010
|
Line 1,009 ⟶ 1,010:
|-
|istore
|data-sort-value=54|36
|0011 0110
|1: index
Line 1,016 ⟶ 1,017:
|-
|istore_0
|data-sort-value=59|3b
|0011 1011
|
Line 1,023 ⟶ 1,024:
|-
|istore_1
|data-sort-value=60|3c
|0011 1100
|
Line 1,030 ⟶ 1,031:
|-
|istore_2
|data-sort-value=61|3d
|0011 1101
|
Line 1,037 ⟶ 1,038:
|-
|istore_3
|data-sort-value=62|3e
|0011 1110
|
Line 1,044 ⟶ 1,045:
|-
|isub
|data-sort-value=100|64
|0110 0100
|
Line 1,051 ⟶ 1,052:
|-
|iushr
|data-sort-value=124|7c
|0111 1100
|
Line 1,058 ⟶ 1,059:
|-
|ixor
|data-sort-value=130|82
|1000 0010
|
Line 1,064 ⟶ 1,065:
|int xor
|-
|jsr{{ref |Deprecated|†}}
|data-sort-value=168|a8
|1010 1000
|2: branchbyte1, branchbyte2
|→ address
|jump to subroutine at ''branchoffset'' (signed short constructed from unsigned bytes {{mono|branchbyte1 << 8
|-
|jsr_w{{ref |Deprecated|†}}
|data-sort-value=201|c9
|1100 1001
|4: branchbyte1, branchbyte2, branchbyte3, branchbyte4
|→ address
|jump to subroutine at ''branchoffset'' (signed int constructed from unsigned bytes {{mono|branchbyte1 << 24
|-
|l2d
|data-sort-value=138|8a
|1000 1010
|
Line 1,086 ⟶ 1,087:
|-
|l2f
|data-sort-value=137|89
|1000 1001
|
Line 1,093 ⟶ 1,094:
|-
|l2i
|data-sort-value=136|88
|1000 1000
|
Line 1,100 ⟶ 1,101:
|-
|ladd
|data-sort-value=97|61
|0110 0001
|
Line 1,107 ⟶ 1,108:
|-
|laload
|data-sort-value=47|2f
|0010 1111
|
Line 1,114 ⟶ 1,115:
|-
|land
|data-sort-value=127|7f
|0111 1111
|
Line 1,121 ⟶ 1,122:
|-
|lastore
|data-sort-value=80|50
|0101 0000
|
Line 1,128 ⟶ 1,129:
|-
|lcmp
|data-sort-value=148|94
|1001 0100
|
Line 1,135 ⟶ 1,136:
|-
|lconst_0
|data-sort-value=9|09
|0000 1001
|
Line 1,142 ⟶ 1,143:
|-
|lconst_1
|data-sort-value=10|0a
|0000 1010
|
Line 1,149 ⟶ 1,150:
|-
|ldc
|data-sort-value=18|12
|0001 0010
|1: index
Line 1,156 ⟶ 1,157:
|-
|ldc_w
|data-sort-value=19|13
|0001 0011
|2: indexbyte1, indexbyte2
|→ value
|push a constant ''#index'' from a constant pool (String, int, float, Class, java.lang.invoke.MethodType, java.lang.invoke.MethodHandle, or a dynamically-computed constant) onto the stack (wide ''index'' is constructed as {{mono|indexbyte1 << 8
|-
|ldc2_w
|data-sort-value=20|14
|0001 0100
|2: indexbyte1, indexbyte2
|→ value
|push a constant ''#index'' from a constant pool (double, long, or a dynamically-computed constant) onto the stack (wide ''index'' is constructed as {{mono|indexbyte1 << 8
|-
|ldiv
|data-sort-value=109|6d
|0110 1101
|
Line 1,177 ⟶ 1,178:
|-
|lload
|data-sort-value=22|16
|0001 0110
|1: index
Line 1,184 ⟶ 1,185:
|-
|lload_0
|data-sort-value=30|1e
|0001 1110
|
Line 1,191 ⟶ 1,192:
|-
|lload_1
|data-sort-value=31|1f
|0001 1111
|
Line 1,198 ⟶ 1,199:
|-
|lload_2
|data-sort-value=32|20
|0010 0000
|
Line 1,205 ⟶ 1,206:
|-
|lload_3
|data-sort-value=33|21
|0010 0001
|
Line 1,212 ⟶ 1,213:
|-
|lmul
|data-sort-value=105|69
|0110 1001
|
Line 1,219 ⟶ 1,220:
|-
|lneg
|data-sort-value=117|75
|0111 0101
|
Line 1,226 ⟶ 1,227:
|-
|lookupswitch
|data-sort-value=171|ab
|1010 1011
|8+: <0–3 bytes padding>, defaultbyte1, defaultbyte2, defaultbyte3, defaultbyte4, npairs1, npairs2, npairs3, npairs4, match-offset pairs...
Line 1,233 ⟶ 1,234:
|-
|lor
|data-sort-value=129|81
|1000 0001
|
Line 1,240 ⟶ 1,241:
|-
|lrem
|data-sort-value=113|71
|0111 0001
|
Line 1,247 ⟶ 1,248:
|-
|lreturn
|data-sort-value=173|ad
|1010 1101
|
Line 1,254 ⟶ 1,255:
|-
|lshl
|data-sort-value=121|79
|0111 1001
|
Line 1,261 ⟶ 1,262:
|-
|lshr
|data-sort-value=123|7b
|0111 1011
|
Line 1,268 ⟶ 1,269:
|-
|lstore
|data-sort-value=55|37
|0011 0111
|1: index
Line 1,275 ⟶ 1,276:
|-
|lstore_0
|data-sort-value=63|3f
|0011 1111
|
Line 1,282 ⟶ 1,283:
|-
|lstore_1
|data-sort-value=64|40
|0100 0000
|
Line 1,289 ⟶ 1,290:
|-
|lstore_2
|data-sort-value=65|41
|0100 0001
|
Line 1,296 ⟶ 1,297:
|-
|lstore_3
|data-sort-value=66|42
|0100 0010
|
Line 1,303 ⟶ 1,304:
|-
|lsub
|data-sort-value=101|65
|0110 0101
|
Line 1,310 ⟶ 1,311:
|-
|lushr
|data-sort-value=125|7d
|0111 1101
|
Line 1,317 ⟶ 1,318:
|-
|lxor
|data-sort-value=131|83
|1000 0011
|
Line 1,324 ⟶ 1,325:
|-
|monitorenter
|data-sort-value=194|c2
|1100 0010
|
Line 1,331 ⟶ 1,332:
|-
|monitorexit
|data-sort-value=195|c3
|1100 0011
|
Line 1,338 ⟶ 1,339:
|-
|multianewarray
|data-sort-value=197|c5
|1100 0101
|3: indexbyte1, indexbyte2, dimensions
|count1, [count2,...] → arrayref
|create a new array of ''dimensions'' dimensions of type identified by class reference in constant pool ''index'' ({{mono|indexbyte1 << 8
|-
|new
|data-sort-value=187|bb
|1011 1011
|2: indexbyte1, indexbyte2
|→ objectref
|create new object of type identified by class reference in constant pool ''index'' ({{mono|indexbyte1 << 8
|-
|newarray
|data-sort-value=188|bc
|1011 1100
|1: atype
Line 1,359 ⟶ 1,360:
|-
|nop
|data-sort-value=0|00
|0000 0000
|
Line 1,366 ⟶ 1,367:
|-
|pop
|data-sort-value=87|57
|0101 0111
|
Line 1,373 ⟶ 1,374:
|-
|pop2
|data-sort-value=88|58
|0101 1000
|
Line 1,380 ⟶ 1,381:
|-
|putfield
|data-sort-value=181|b5
|1011 0101
|2: indexbyte1, indexbyte2
|objectref, value →
|set field to ''value'' in an object ''objectref'', where the field is identified by a field reference ''index'' in constant pool ({{mono|indexbyte1 << 8
|-
|putstatic
|data-sort-value=179|b3
|1011 0011
|2: indexbyte1, indexbyte2
|value →
|set static field to ''value'' in a class, where the field is identified by a field reference ''index'' in constant pool ({{mono|indexbyte1 << 8
|-
|ret{{ref |Deprecated|†}}
|data-sort-value=169|a9
|1010 1001
|1: index
Line 1,401 ⟶ 1,402:
|-
|return
|data-sort-value=177|b1
|1011 0001
|
Line 1,408 ⟶ 1,409:
|-
|saload
|data-sort-value=53|35
|0011 0101
|
Line 1,415 ⟶ 1,416:
|-
|sastore
|data-sort-value=86|56
|0101 0110
|
Line 1,422 ⟶ 1,423:
|-
|sipush
|data-sort-value=17|11
|0001 0001
|2: byte1, byte2
Line 1,429 ⟶ 1,430:
|-
|swap
|data-sort-value=95|5f
|0101 1111
|
Line 1,436 ⟶ 1,437:
|-
|tableswitch
|data-sort-value=170|aa
|1010 1010
|16+: [0–3 bytes padding], defaultbyte1, defaultbyte2, defaultbyte3, defaultbyte4, lowbyte1, lowbyte2, lowbyte3, lowbyte4, highbyte1, highbyte2, highbyte3, highbyte4, jump offsets...
Line 1,443 ⟶ 1,444:
|-
|wide
|data-sort-value=196|c4
|1100 0100
|3/5: opcode, indexbyte1, indexbyte2<br />or<br /> iinc, indexbyte1, indexbyte2, countbyte1, countbyte2
Line 1,450 ⟶ 1,451:
|-
|''(no name)''
|data-sort-value=203|cb-fd
|
|
Line 1,457 ⟶ 1,458:
|-
|}
{{Refbegin}}
{{note label|Deprecated|†||Deprecated in Java 7 (major class version 51).<ref>{{cite web|url=https://docs.oracle.com/javase/specs/jvms/se24/html/jvms-4.html#jvms-4.9.1 |title=Chapter 4. The class File Format 4.9.1. Static Constraints |access-date=July 26, 2025}}</ref> They will not appear in class files generated from a compiler newer than that.}}
{{Refend}}
== See also ==
*[[Jazelle]] DBX (Direct Bytecode eXecution), a feature that executes some Java bytecodes in hardware, on some ARM9 CPUs
*[[Common Intermediate Language]] (CIL), a similar bytecode specification that runs on the CLR of the .NET Framework
== References ==
{{reflist}}
== External links ==
*[
{{Java (Sun)}}
|