Dưới đây là danh sách các lệnh trong tập lệnh của bytecode ngôn ngữ trung gian dùng chung.
Opcode | Lệnh | Mô tả | Kiểu lệnh |
---|---|---|---|
0x58 | add
|
Cộng hai giá trị, trả về một giá trị mới | Lệnh cơ bản |
0xD6 | add.ovf
|
Cộng các số nguyên có dấu và kiểm tra overflow. | Lệnh cơ bản |
0xD7 | add.ovf.un
|
Cộng các số nguyên không dấu và kiểm tra overflow. | Lệnh cơ bản |
0x5F | and
|
Bitwise AND của hai giá trị nguyên, trả về một giá trị tích phân. | Lệnh cơ bản |
0xFE 0x00 | arglist
|
Trả về argument list cho phương thức hiện tại. | Lệnh cơ bản |
0x3B | beq <int32 (target)>
|
Rẽ nhánh (Branch) nếu bằng nhau (equal). | Lệnh cơ bản |
0x2E | beq.s <int8 (target)>
|
Rẽ nhánh (Branch) nếu bằng nhau (equal, short form). | Lệnh cơ bản |
0x3C | bge <int32 (target)>
|
Rẽ nhánh nếu lớn hơn hoặc bằng (Branch to target if greater than or equal to). | Lệnh cơ bản |
0x2F | bge.s <int8 (target)>
|
Rẽ nhánh nếu lớn hơn hoặc bằng, dạng ngắn (Branch to target if greater than or equal to, short form). | Lệnh cơ bản |
0x41 | bge.un <int32 (target)>
|
Rẽ nhánh nếu lớn hơn hoặc bằng (không dấu hoặc không theo trật tự) Branch to target if greater than or equal to (unsigned or unordered). | Lệnh cơ bản |
0x34 | bge.un.s <int8 (target)>
|
Rẽ nhánh nếu lớn hơn hoặc bằng (không dấu hoặc không theo trật tự), dạng ngắn (Branch to target if greater than or equal to (unsigned or unordered), short form). | Lệnh cơ bản |
0x3D | bgt <int32 (target)>
|
Rẽ nhánh nếu lớn hơn (Branch to target if greater than). | Lệnh cơ bản |
0x30 | bgt.s <int8 (target)>
|
Rẽ nhánh nếu lớn hơn, dạng ngắn (Branch to target if greater than, short form). | Lệnh cơ bản |
0x42 | bgt.un <int32 (target)>
|
Rẽ nhánh nếu lớn hơn (không dấu hoặc không theo thứ tự) | Lệnh cơ bản |
0x35 | bgt.un.s <int8 (target)>
|
Rẽ nhánh nếu lớn hơn (không dấu, hoặc không theo thứ tự), dạng ngắn, | Lệnh cơ bản |
0x3E | ble <int32 (target)>
|
Rẽ nhánh nếu bé hơn hoặc bằng. | Lệnh cơ bản |
0x31 | ble.s <int8 (target)>
|
Rẽ nhánh nếu bé hơn hoặc bằng, dạng ngắn. | Lệnh cơ bản |
0x43 | ble.un <int32 (target)>
|
Rẽ nhánh nếu bé hơn hoặc bằng (không dấu hoặc không theo thứ tự). | Lệnh cơ bản |
0x36 | ble.un.s <int8 (target)>
|
Rẽ nhánh nếu bé hơn hoặc bằng (không dấu hoặc không theo thứ tự), dạng ngắn. | Lệnh cơ bản |
0x3F | blt <int32 (target)>
|
Rẽ nhánh nếu bé hơn. | Lệnh cơ bản |
0x32 | blt.s <int8 (target)>
|
Rẽ nhánh nếu bé hơn, dạng ngắn. | Lệnh cơ bản |
0x44 | blt.un <int32 (target)>
|
Rẽ nhánh nếu bé hơn (không dấu hoặc không có thứ tự). | Lệnh cơ bản |
0x37 | blt.un.s <int8 (target)>
|
Rẽ nhánh nếu bé hơn (không dấu hoặc không có thứ tự), dạng ngắn. | Lệnh cơ bản |
0x40 | bne.un <int32 (target)>
|
Rẽ nhánh nếu không bằng hoặc không theo thứ tự. | Lệnh cơ bản |
0x33 | bne.un.s <int8 (target)>
|
Rẽ nhánh nếu không bằng hoặc không theo thứ tự, dạng ngắn. | Lệnh cơ bản |
0x8C | box <typeTok>
|
Chuyển một giá trị boxable thành dạng boxed. | Lệnh mô hình đối tượng |
0x38 | br <int32 (target)>
|
Rẽ nhánh. | Lệnh cơ bản |
0x2B | br.s <int8 (target)>
|
Rẽ nhánh, dạng ngắn. | Lệnh cơ bản |
0x01 | break
|
Thông báo cho debugger rằng đã tới breakpoint. | Lệnh cơ bản |
0x39 | brfalse <int32 (target)>
|
Rẽ nhánh nếu giá trị là zero (false). | Lệnh cơ bản |
0x2C | brfalse.s <int8 (target)>
|
Rẽ nhánh nếu giá trị là zero (false), dạng ngắn. | Lệnh cơ bản |
0x3A | brinst <int32 (target)>
|
Rẽ nhánh nếu giá trị tham chiếu là một đối tượng không null (alias hoặc brtrue). | Lệnh cơ bản |
0x2D | brinst.s <int8 (target)>
|
Rẽ nhánh nếu giá trị tham chiếu là một đối tượng không null (alias hoặc brtrue), dạng ngắn. | Lệnh cơ bản |
0x39 | brnull <int32 (target)>
|
Rẽ nhánh nếu giá trị là null. | Lệnh cơ bản |
0x2C | brnull.s <int8 (target)>
|
Rẽ nhánh nếu giá trị là null, dạng ngắn. | Lệnh cơ bản |
0x3A | brtrue <int32 (target)>
|
Rẽ nhánh nếu giá trị khác zero. | Lệnh cơ bản |
0x2D | brtrue.s <int8 (target)>
|
Rẽ nhánh nếu giá trị khác zero, dạng ngắn. | Lệnh cơ bản |
0x39 | brzero <int32 (target)>
|
Rẽ nhánh nếu giá trị là zero. | Lệnh cơ bản |
0x2C | brzero.s <int8 (target)>
|
Rẽ nhánh nếu giá trị là zero, dạng ngắn. | Lệnh cơ bản |
0x28 | call <method>
|
Gọi phương thức được định nghĩa bởi phương thức. | Lệnh cơ bản |
0x29 | calli <callsitedescr>
|
Gọi một phương thức trong stack với các tham số mô tả bởi callsitedescr. | Lệnh cơ bản |
0x6F | callvirt <method>
|
Gọi một phương thức gắn với một đối tượng. | Lệnh mô hình đối tượng |
0x74 | castclass <class>
|
Cast một đối tượng về một lớp. | Lệnh mô hình đối tượng |
0xFE 0x01 | ceq
|
Push 1 (kiểu int32) nếu giá trị 1 bằng với giá trị 2, và push 0 nếu ngược lại. | Lệnh cơ bản |
0xFE 0x02 | cgt
|
Push 1 (kiểu int32) nếu giá trị 1 > giá trị 2, nếu không thì push 0. | Lệnh cơ bản |
0xFE 0x03 | cgt.un
|
Push 1 (kiểu int32) nếu giá trị 1> giá trị 2, không dấu hoặc không theo thứ tự, nếu không thì push 0. | Lệnh cơ bản |
0xC3 | ckfinite
|
Ném lỗi ArithmeticException nếu giá trị không phải là số hữu hạn. | Lệnh cơ bản |
0xFE 0x04 | clt
|
Push 1 (kiểu int32) nếu giá trị 1 < giá trị 2, push 0 trong các trường hợp khác. | Lệnh cơ bản |
0xFE 0x05 | clt.un
|
Push 1 (kiểu int32) nếu giá trị 1 < giá trị 2, không dấu hoặc không theo thứ tự, và push 0 trong các trường hợp khác. | Lệnh cơ bản |
0xFE 0x16 | constrained. <thisType>
|
Gọi một phương thức virtual trong một kiểu ràng buộc thành kiểu T. | Tiền tố của lệnh |
0xD3 | conv.i
|
Chuyển đổi về dạng native int và đẩy vào stack. | Lệnh cơ bản |
0x67 | conv.i1
|
Chuyển đổi về dạng int8, đẩy int32 vào stack. | Lệnh cơ bản |
0x68 | conv.i2
|
Chuyển về dạng int16, đẩy int32 vào stack. | Lệnh cơ bản |
0x69 | conv.i4
|
Chuyển về dạng int32, đẩy int32 vào stack. | Lệnh cơ bản |
0x6A | conv.i8
|
Chuyển về dạng int64, đẩy int64 vào stack. | Lệnh cơ bản |
0xD4 | conv.ovf.i
|
Chuyển về dạng native int, đưa vào stack và ném lỗi nếu overflow.. | Lệnh cơ bản |
0x8A | conv.ovf.i.un
|
Chuyển số nguyên không dấu qua dạng native int, đưa vào stack và ném lỗi nếu overflow. | Lệnh |
0xB3 | conv.ovf.i1
|
Chuyển qua dạng int8, đưa int32 vào stack và ném lỗi nếu overflow. | Lệnh |
0x82 | conv.ovf.i1.un
|
Chuyển số nguyên không dấu qua dạng int8, đưa int32 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0xB5 | conv.ovf.i2
|
Chuyển qua dạng int16, đưa int32 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0x83 | conv.ovf.i2.un
|
Chuyển số nguyên không dấu qua dạng int16, đưa int32 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0xB7 | conv.ovf.i4
|
Chuyển qua dạng int32, đưa int32 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0x84 | conv.ovf.i4.un
|
Chuyển số nguyên không dấu qua dạng int32, đưa int32 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0xB9 | conv.ovf.i8
|
Chuyển qua dạng int64, đưa int64 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0x85 | conv.ovf.i8.un
|
Chuyển số nguyên không dấu qua dạng int64, đưa int64 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0xD5 | conv.ovf.u
|
Chuyển qua dạng native int, đưa vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0x8B | conv.ovf.u.un
|
Chuyển số nguyên không dấu qua native int, đưa vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0xB4 | conv.ovf.u1
|
Chuyển về số nguyên int8 không dấu, đưa int32 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0x86 | conv.ovf.u1.un
|
Chuyển số không dấu về int8 không dấu, đưa int32 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0xB6 | conv.ovf.u2
|
Chuyển về số int16 không dấu, đưa int32 vào stack và ném lỗi nếu overflow. |
Lệnh cơ bản |
0x87 | conv.ovf.u2.un
|
Chuyển số không dấu qua dạng int16 không dấu, đưa int32 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0xB8 | conv.ovf.u4
|
Chuyển về dạng int32 không dấu, đưa int32 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0x88 | conv.ovf.u4.un
|
Chuyển số không dấu về int32 không dấu, đưa int32 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0xBA | conv.ovf.u8
|
Chuyển về int64 không dấu, đưa int64 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0x89 | conv.ovf.u8.un
|
Chuyển số không dấu về int64 không dấu, đưa int64 vào stack và ném lỗi nếu overflow. | Lệnh cơ bản |
0x76 | conv.r.un
|
Chuyển số nguyên không dấu thành số thực, đẩy F vào stack. | Lệnh |
0x6B | conv.r4
|
Chuyển về float32, đẩy F vào stack. | Lệnh |
0x6C | conv.r8
|
Chuyển về float64, đẩy F vào stack. | Lệnh cơ bản |
0xE0 | conv.u
|
Chuyển về số nguyên không dấu dạng native và đẩy vào stack. | Lệnh |
0xD2 | conv.u1
|
Chuyển về dạng int8 không dấu, đẩy int32 vào stack. | Lệnh |
0xD1 | conv.u2
|
Chuyển về dạng int16 không dấu, đẩy int32 vào stack. | Lệnh |
0x6D | conv.u4
|
Chuyển về dạng int32 không dấu, đẩy int32 vào stack. | Lệnh cơ bản |
0x6E | conv.u8
|
Chuyển về dạng int64 không dấu, đẩy int64 vào stack. | Lệnh cơ bản |
0xFE 0x17 | cpblk
|
Sao chép dữ liệu từ bộ nhớ qua bộ nhớ. | Lệnh cơ bản |
0x70 | cpobj <typeTok>
|
Sao chép một kiểu giá trị từ src vào dest. | Lệnh mô hình đối tượng |
0x5B | div
|
Chai hai giá trị để trả về một kết quả số tròn hoặc dấu chấm động. | Lệnh cơ bản |
0x5C | div.un
|
Chia hai giá trị không dấu, trả về kết quả. | Lệnh cơ bản |
0x25 | dup
|
Nhân đôi giá trị ở phía trên cùng của stack. | Lệnh cơ bản |
0xDC | endfault
|
Kết thúc phần lỗi của một khối ngoại lệ. | Lệnh cơ bản |
0xFE 0x11 | endfilter
|
Kết thúc một phần lọc xử lý ngoại lệ. | Lệnh cơ bản |
0xDC | endfinally
|
Kết thúc phần finally của một khối ngoại lệ. | Lệnh cơ bản |
0xFE 0x18 | initblk
|
Đặt tất cả byte vào một khối trong bộ nhớ cho một giá trị cho trước. | Lệnh cơ bản |
0xFE 0x15 | initobj <typeTok>
|
Cài đặt giá trị tại địa chỉ đích. | Lệnh mô hình đối tượng |
0x75 | isinst <class>
|
Kiểm tra nếu đối tược có phải là một instance của một lớp không, trả về null hoặc một instance của lớp đó. | Lệnh mô hình đối tượng |
0x27 | jmp <method>
|
Thoát khỏi phương thức hiện tại và nhảy tới phương thức đã xác định. | Lệnh cơ bản |
0xFE 0x09 | ldarg <uint16 (num)>
|
Tải tham số đã được đánh số vào stack. | Lệnh cơ bản |
0x02 | ldarg.0
|
Tải tham số 0 vào stack. | Lệnh cơ bản |
0x03 | ldarg.1
|
Tải tham số 1 vào stack. |
Lệnh cơ bản |
0x04 | ldarg.2
|
Tải tham số 2 vào stack. | Lệnh cơ bản |
0x05 | ldarg.3
|
Tải tham số 3 vào stack. | Lệnh cơ bản |
0x0E | ldarg.s <uint8 (num)>
|
Tải tham số đã được đánh số vào stack, dạng ngắn. | Lệnh cơ bản |
0xFE 0x0A | ldarga <uint16 (argNum)>
|
Nạp địa chỉ argNum của tham số. | Lệnh cơ bản |
0x0F | ldarga.s <uint8 (argNum)>
|
Nạp địa chỉ argNum của tham số, dạng ngắn. | Lệnh cơ bản |
0x20 | ldc.i4 <int32 (num)>
|
Đẩy số int32 vào stack dưới dạng int32. | Lệnh |
0x16 | ldc.i4.0
|
Đẩy 0 vào stack ở dạng int32. | Lệnh cơ bản |
0x17 | ldc.i4.1
|
Đẩy 1 vào stack ở dạng int32. | Lệnh cơ bản |
0x18 | ldc.i4.2
|
Đẩy 2 vào stack ở dạng int32. | Lệnh cơ bản |
0x19 | ldc.i4.3
|
Đẩy 3 vào stack ở dạng int32. | Lệnh cơ bản |
0x1A | ldc.i4.4
|
Đẩy 4 vào stack ở dạng int32. | Lệnh cơ bản |
0x1B | ldc.i4.5
|
Đẩy 5 vào stack ở dạng int32. | Lệnh cơ bản |
0x1C | ldc.i4.6
|
Đẩy 6 vào stack ở dạng int32. | Lệnh cơ bản |
0x1D | ldc.i4.7
|
Đẩy 7 vào stack ở dạng int32. | Lệnh cơ bản |
0x1E | ldc.i4.8
|
Đẩy 8 vào stack ở dạng int32. | Lệnh cơ bản |
0x15 | ldc.i4.m1
|
Đẩy -1 vào stack ở dạng int32. | Lệnh cơ bản |
0x15 | ldc.i4.M1
|
Đẩy -1 vào stack ở dạng int32. (dạng thay thế cho ldc.i4.m1). | Lệnh cơ bản |
0x1F | ldc.i4.s <int8 (num)>
|
Đẩy số dạng int32 vào stack, dạng ngắn. | Lệnh cơ bản |
0x21 | ldc.i8 <int64 (num)>
|
Đẩy số kiểu int64 vào stack. | Lệnh |
0x22 | ldc.r4 <float32 (num)>
|
Đẩy số kiểu float32 vào stack ở dạng F. | Lệnh cơ bản |
0x23 | ldc.r8 <float64 (num)>
|
Đẩy số kiểu float64 vào stack ở dạng F. | Lệnh cơ bản |
0xA3 | ldelem <typeTok>
|
Tải thành phần tại chỉ số đã cho vào phía trên cùng stack. | Lệnh mô hình |
0x97 | ldelem.i
|
Tải thành phần kiểu native int vào phía trên cùng stack ở dạng native int. | Lệnh mô hình đối tượng |
0x90 | ldelem.i1
|
Tải thành phần kiểu int8 tại chỉ số đã cho vào phía trên cùng stack ở dạng int32. | Lệnh mô hình |
0x92 | ldelem.i2
|
Tải thành phần kiểu int16 tại chỉ số đã cho vào phía trên cùng stack ở dạng int32. | Lệnh mô hình đối tượng |
0x94 | ldelem.i4
|
Tải thành phần kiểu int32 tại chỉ số đã cho vào phía trên cùng stack ở dạng int32. | Lệnh mô hình đối tượng |
0x96 | ldelem.i8
|
Tải thành phần kiểu int64 tại chỉ số đã cho vào phía trên cùng stack ở dạng int64. | Lệnh mô hình đối tượng |
0x98 | ldelem.r4
|
Tải thành phần kiểu float32 tại chỉ số đã cho vào phía trên cùng stack dưới dạng F. | Lệnh mô hình đối tượng |
0x99 | ldelem.r8
|
Tải thành phần kiểu float64 tại chỉ số đã cho vào phía trên cùng stack dưới dạng F. | Lệnh mô hình đối tượng |
0x9A | ldelem.ref
|
Tải thành phần kiểu O tại chỉ số đã cho vào phía trên cùng stack dưới dạng O. Kiểu của O trùng với kiểu thành phần của mảng đã được đẩy vào stack CIL. | Lệnh mô hình |
0x91 | ldelem.u1
|
Tải thành phần kiểu int8 tại chỉ số đã cho vào phía trên cùng stack dưới dạng int32. | Lệnh mô hình đối tượng |
0x93 | ldelem.u2
|
Tải thành phần kiểu int16 tại chỉ số đã cho vào phía trên cùng stack dưới dạng int32. | Lệnh mô hình đối tượng |
0x95 | ldelem.u4
|
Tải thành phần kiểu int32 tại chỉ số đã cho vào phía trên cùng stack dưới dạng int32. | Lệnh mô hình đối tượng |
0x96 | ldelem.u8
|
Tải thành phần kiểu int64 tại chỉ số đã cho vào phía trên cùng stack dưới dạng int64. (thay thế cho ldelem.i8) | Lệnh mô hình đối tượng |
0x8F | ldelema <class>
|
Tải địa chỉ của thành phần tại chỉ số đã cho vào phía trên cùng stack. | Lệnh mô hình |
0x7B | ldfld <field>
|
Đẩy giá trị của field vào stack. | Lệnh mô hình đối tượng |
0x7C | ldflda <field>
|
Đẩy địa chỉ của field vào stack. | Lệnh mô hình đối tượng |
0xFE 0x06 | ldftn <method>
|
Đẩy con trỏ của phương thức được gọi vào stack. | Lệnh cơ bản |
0x4D | ldind.i
|
Gián tiếp tải giá trị kiểu native int vào stack | Lệnh cơ bản |
0x46 | ldind.i1
|
Gián tiếp tải giá trị kiểu int8 vào stack dưới dạng int32. | Lệnh cơ bản |
0x48 | ldind.i2
|
Gián tiếp tải giá trị kiểu int16 vào stack dưới dạng int32. | Lệnh cơ bản |
0x4A | ldind.i4
|
Gián tiếp tải giá trị kiểu int32 vào stack dưới dạng int32. | Lệnh cơ bản |
0x4C | ldind.i8
|
Gián tiếp tải giá trị kiểu int64 vào stack dưới dạng int64. | Lệnh cơ bản |
0x4E | ldind.r4
|
Gián tiếp tải giá trị kiểu float32 vào stack dưới dạng F. | Lệnh cơ bản |
0x4F | ldind.r8
|
Gián tiếp tải giá trị kiểu float64 vào stack dưới dạng F. | Lệnh cơ bản |
0x50 | ldind.ref
|
Gián tiếp tải giá trị kiểu đối tượng vào stack dưới dạng O. | Lệnh cơ bản |
0x47 | ldind.u1
|
Gián tiếp tải giá trị kiểu int8 không dấu vào stack dưới dạng int32. | Lệnh cơ bản |
0x49 | ldind.u2
|
Gián tiếp tải giá trị kiểu int16 không dấu vào stack dưới dạng int32. | Lệnh cơ bản |
0x4B | ldind.u4
|
Gián tiếp tải giá trị kiểu int32 không dấu vào stack dưới dạng int32. | Lệnh cơ bản |
0x4C | ldind.u8
|
Gián tiếp tải giá trị kiểu int64 không dấu vào stack dưới dạng int64. (thay cho ldind.i8). | Lệnh cơ bản |
0x8E | ldlen
|
Đẩy độ dài của một mảng vào stack. | Lệnh mô hình đối tượng |
0xFE 0x0C | ldloc <uint16 (indx)>
|
Tải biến cục bộ của chỉ số indx vào stack. | Lệnh |
0x06 | ldloc.0
|
Tải biến cục bộ 0 vào stack. | Lệnh |
0x07 | ldloc.1
|
Tải biến cục bộ 1 vào stack. | Lệnh cơ bản |
0x08 | ldloc.2
|
Tải biến cục bộ 2 vào stack. | Lệnh cơ bản |
0x09 | ldloc.3
|
Tải biến cục bộ 3 vào stack. | Lệnh cơ bản |
0x11 | ldloc.s <uint8 (indx)>
|
Tải biến cục bộ tại chỉ số indx vào stack, dạng ngắn. | Lệnh |
0xFE 0x0D | ldloca <uint16 (indx)>
|
Tải địa chỉ của biến cục bộ có chỉ số indx. | Lệnh |
0x12 | ldloca.s <uint8 (indx)>
|
Tải địa chỉ có biến cục bộ với chỉ số indx, dạng ngắn. | Lệnh cơ bản |
0x14 | ldnull
|
Đẩy tham chiếu null vào stack. | Lệnh cơ bản |
0x71 | ldobj <typeTok>
|
Sao chép giá trị đã lưu tại địa chỉ src vào stack. | Lệnh mô hình |
0x7E | ldsfld <field>
|
Đẩy giá trị của field vào stack. | Lệnh mô hình đối tượng |
0x7F | ldsflda <field>
|
Đẩy địa chỉ của static field, field vào stack. | Lệnh mô hình |
0x72 | ldstr <string>
|
Đẩy một đối tượng string cho literal string. | Lệnh mô hình đối tượng |
0xD0 | ldtoken <token>
|
Chuyển token của metadata cho đại diện trong thời gian chạy. | Lệnh mô hình đối tượng |
0xFE 0x07 | ldvirtftn <method>
|
Đẩy địa chỉ của phương thức ảo vào stack. | Lệnh mô hình |
0xDD | leave <int32 (target)>
|
Thoát khỏi một vùng code được bảo vệ. | Lệnh |
0xDE | leave.s <int8 (target)>
|
Thoát khỏi một vùng code được bảo vệ, dạng ngắn. | Lệnh cơ bản |
0xFE 0x0F | localloc
|
Chỉ định không gian từ vùng pool bộ nhớ cục bộ. | Lệnh cơ bản |
0xC6 | mkrefany <class>
|
Đẩy một tham chiếu tới ptr hoặc lớp kiểu vào stack. | Lệnh mô hình đối tượng |
0x5A | mul
|
Nhân các giá trị. | Lệnh cơ bản |
0xD8 | mul.ovf
|
Nhân các giá trị nguyên có dấu. Kết quả có dấu sẽ có cùng kích cỡ. | Lệnh cơ bản |
0xD9 | mul.ovf
|
Nhân các số nguyên không dấu. Kết quả không dấu sẽ có cùng kích cỡ. | Lệnh cơ bản |
0x65 | neg
|
Giá trị âm. | Lệnh cơ bản |
0x8D | newarr <etype>
|
Tạo một mảng mới với các thành phần kiểu etype. | Lệnh mô hình đối tượng |
0x73 | newobj <ctor>
|
Chỉ định một đối tượng chưa khởi tạo, hoặc một kiểu giá trị và gọi ctor. | Lệnh mô hình đối tượng |
0xFE 0x19 | no. { typecheck, rangecheck, nullcheck } |
Việc kiểm tra lỗi đã biết thông thường được thực hiện ở dạng một phần của việc thực thi các chuỗi lệnh có thể được bỏ qua. | Tiền tố của lệnh |
0x00 | nop
|
Không làm gì cả (No operation). | Lệnh cơ bản |
0x66 | not
|
Bitwise bổ sung (not). | Lệnh cơ bản |
0x60 | or
|
Bitwise OR hoặc hai giá trị nguyên, trả về một số nguyên. | Lệnh cơ bản |
0x26 | pop
|
Đẩy (pop) giá trị ra khỏi stack. | Lệnh cơ bản |
0xFE 0x1E | readonly.
|
Chỉ định rằng thao tác địa chỉ mảng tiếp theo không thực hiện kiểm tra kiểu nào trong thời gian chạy, và sẽ trả về một con trỏ kiểm soát được. | Tiền tố của lệnh |
0xFE 0x1D | refanytype
|
Đẩy token được lưu trong kiểu tham chiếu. | Lệnh mô hình đối tượng |
0xC2 | refanyval <type>
|
Đẩy địa chỉ lưu trọng kiểu tham chiếu. | Lệnh mô hình đối tượng |
0x5D | rem
|
Phần dư (remainder) khi chia một giá trị bởi một giá trị khác. | Lệnh cơ bản |
0x5E | rem.un
|
Phần dư (remainder) khi chia một giá trị không dấu bởi một giá trị khác. |
Lệnh cơ bản |
0x2A | ret
|
Trả về (return) từ một phương thức, thường đi kèm với một giá trị. | Lệnh cơ bản |
0xFE 0x1A | rethrow
|
Ném lại (rethrow) ngoại lệ hiện tại. | Lệnh mô hình |
0x62 | shl
|
Dịch chuyển (shift) một số nguyên qua trái (left), dịch chuyển ở zero, trả về một số nguyên. | Lệnh cơ bản |
0x63 | shr
|
Dịch chuyển (shift) một số nguyên qua phải (right), dịch ở phần dấu, trả về một số nguyên. |
Lệnh cơ bản |
0x64 | shr.un
|
Dịch chuyển một số nguyên qua phải, dịch ở phần zero, trả về một số nguyên. | Lệnh cơ bản |
0xFE 0x1C | sizeof <typeTok>
|
Đẩy một kích cỡ, ở dạng byte, của kiểu int32 không dấu. | Lệnh mô hình đối tượng |
0xFE 0x0B | starg <uint16 (num)>
|
Lưu trữ (store) giá trị vào tham số (argument) đã được đánh số là num. | Lệnh |
0x10 | starg.s <uint8 (num)>
|
Lưu trữ (store) giá trị vào tham số (argument) đã được đánh số là num, dạng ngắn. |
Lệnh cơ bản |
0xA4 | stelem <typeTok>
|
Thay thế các thành phần của mảng tại chỉ số đã cho với một giá trị trong stack. | Lệnh mô hình đối tượng |
0x9B | stelem.i
|
Thay thế các thành phần của mảng tại chỉ số đã cho với giá trị i trong stack. | Lệnh mô hình đối tượng |
0x9C | stelem.i1
|
Thay thế các thành phần của mảng tại chỉ số đã cho với giá trị int8 trong stack. | Lệnh mô hình đối tượng |
0x9D | stelem.i2
|
Thay thế các thành phần của mảng tại chỉ số đã cho với giá trị int16 trong stack. | Lệnh mô hình đối tượng |
0x9E | stelem.i4
|
Thay thế các thành phần của mảng tại chỉ số đã cho với giá trị int32 trong stack. | Lệnh mô hình đối tượng |
0x9F | stelem.i8
|
Thay thế các thành phần của mảng tại chỉ số đã cho với giá trị int64 trong stack. | Lệnh mô hình đối tượng |
0xA0 | stelem.r4
|
Thay thế các thành phần của mảng tại chỉ số đã cho với giá trị float32 trong stack. | Lệnh mô hình đối tượng |
0xA1 | stelem.r8
|
Thay thế các thành phần của mảng tại chỉ số đã cho với giá trị float64 trong stack. | Lệnh mô hình đối tượng |
0xA2 | stelem.ref
|
Thay thế các thành phần của mảng tại chỉ số đã cho với giá trị ref trong stack. | Lệnh mô hình đối tượng |
0x7D | stfld <field>
|
Thay thế giá trị của field trong đối tượng với một giá trị. | Lệnh mô hình đối tượng |
0xDF | stind.i
|
Lưu trữ giá trị của kiểu native int vào bộ nhớ dưới dạng địa chỉ. | Lệnh cơ bản |
0x52 | stind.i1
|
Lưu trữ giá trị của kiểu int8 vào bộ nhớ dưới dạng địa chỉ. | Lệnh cơ bản |
0x53 | stind.i2
|
Lưu trữ giá trị của kiểu int16 vào bộ nhớ dưới dạng địa chỉ. | Lệnh cơ bản |
0x54 | stind.i4
|
Lưu trữ giá trị của kiểu int32 vào bộ nhớ dưới dạng địa chỉ. | Lệnh cơ bản |
0x55 | stind.i8
|
Lưu trữ giá trị của kiểu int64 vào bộ nhớ dưới dạng địa chỉ. | Lệnh cơ bản |
0x56 | stind.r4
|
Lưu trữ giá trị của kiểu float32 vào bộ nhớ dưới dạng địa chỉ. | Lệnh cơ bản |
0x57 | stind.r8
|
Lưu trữ giá trị của kiểu float64 vào bộ nhớ dưới dạng địa chỉ. | Lệnh cơ bản |
0x51 | stind.ref
|
Lưu trữ giá trị của kiểu đối tượng obj vào bộ nhớ dưới dạng địa chỉ. | Lệnh cơ bản |
0xFE 0x0E | stloc <uint16 (indx)>
|
Đẩy giá trị trong stack vào biến cục bộ indx.. | Lệnh cơ bản |
0x0A | stloc.0
|
Đẩy giá trị trong stack vào biến cục bộ 0. | Lệnh cơ bản |
0x0B | stloc.1
|
Đẩy giá trị trong stack vào biến cục bộ 1. | Lệnh cơ bản |
0x0C | stloc.2
|
Đẩy giá trị trong stack vào biến cục bộ 2. | Lệnh cơ bản |
0x0D | stloc.3
|
Đẩy giá trị trong stack vào biến cục bộ 3. | Lệnh cơ bản |
0x13 | stloc.s <uint8 (indx)>
|
Đẩy giá trị trong stack vào biến cục bộ indx, dạng ngắn. | Lệnh |
0x81 | stobj <typeTok>
|
Lưu trữ giá trị của kiểu typeTok vào một địa chỉ. | Lệnh mô hình đối tượng |
0x80 | stsfld <field>
|
Thay thế giá trị của field với val. | Lệnh mô hình đối tượng |
0x59 | sub
|
Trừ(subtract) giá trị 2 từ giá trị 1, trả về kết quả. | Lệnh cơ bản |
0xDA | sub.ovf
|
Trừ một native int từ một native int. Kết quả nhận được có kích cỡ tương đương. | Lệnh cơ bản |
0xDB | sub.ovf.un
|
Trừ một native int không dấu từ một native int không dấu, kết quả không dấu nhận được có kích cỡ tương đương. | Lệnh cơ bản |
0x45 | switch <uint32, int32, int32 (t1..tN)>
|
Nhảy tới một trong n giá trị. | Lệnh cơ bản |
0xFE 0x14 | tail.
|
Việc gọi hàm tiếp theo sẽ kết thúc phương thức hiện tại. | Tiền tố của lệnh |
0x7A | throw
|
Ném (throw) một ngoại lệ. | Lệnh mô hình đối tượng |
0xFE 0x12 | unaligned. (alignment)
|
Lệnh con trỏ tiếp theo có thể được unaligned. |
Tiền tố của lệnh |
0x79 | unbox <valuetype>
|
Trích xuất một kiểu giá trị từ obj (dạng boxed). | Lệnh mô hình đối tượng |
0xA5 | unbox.any <typeTok>
|
Trích xuất một kiểu giá trị từ obj. | Lệnh mô hình đối tượng |
0xFE 0x13 | volatile.
|
Tham khảo con trỏ tham chiếu tiếp theo là volatile |
Tiền tố của lệnh |
0x61 | xor
|
Bitwise XOR của các giá trị nguyên, trả về một số nguyên. | Lệnh cơ bản |