**Bahasa mesin** atau **kode mesin** merupakan seperangkat instruksi serta data yang dapat dieksekusi secara langsung oleh prosesor komputer. Kode mesin merupakan tingkatan yang paling rendah dari bahasa pemrograman dan biasanya digunakan sebagai tujuan kompilasi oleh kompiler pada bahasa-bahasa pemrograman lain dalam tingkatan yang lebih tinggi. Penerjemahan kode pada bahasa pemrograman interpretatif atau bahasa skrip umumnya tidak termasuk dalam kriteria tersebut karena umumnya bahasa skrip menerjemahkan kode sumber menjadi P-Code, kode penjembatan antara kode sumber dan kode mesin. Meski demikian, umumnya bahasa skrip populer yang ada saat ini telah menambahkan kompiler JIT (*Just In Time*) integratif yang secara hibrida mengkompilasi instruksi-instruksi P-Code yang paling sering dieksekusi menjadi kode mesin.

Instruksi-instruksi kode mesin
------------------------------

Setiap prosesor ataupun keluarga prosesor memiliki sejumlah set instruksi kode mesin. Instruksi ini merupakan pola bilangan biner yang merepresentasikan perintah-perintah yang dikenali oleh prosesor tersebut. Karenanya sejumlah prosesor spesifik memiliki sejumlah set instruksi spesifik yang hanya dikenali pada prosesor tersebut, sebagai contoh fitur MMX dalam prosesor X86, atau 3DNow dalam keluarga prosesor AMD.

Pola instruksi ini biasanya merupakan serialisasi dari sejumlah bilangan biner yang digabungkan hingga membentuk *opcode* untuk melakukan pemindahan (MOV), lompatan (JMP), operasi aritmetika, penyimpanan (PUSH), ataupun pengambilan nilai (POP), dan lain-lain. Contoh serialisasi tersebut misalnya; kode biner atas instruksi pemindahan adalah 10110 diikuti dengan 3-bit pengenal atas register yang akan digunakan, sedangkan pengenal atas register prosesor AL adalah 000. Dengan demikian perintah untuk memindahkan sebuah nilai ke dalam register prosesor AL adalah 10110000, atau `B0` dalam bilangan heksadesimal.

Program
-------

Artikel utama: Program komputer
Sebuah program pada dasarnya adalah sejumlah set instruksi yang disimpan dalam sejumlah berkas yang dieksekusi oleh prosesor. Alur kontrol yang terdapat pada program merupakan representasi dari serangkaian instruksi lompatan dalam bahasa mesin yang umumnya diawali dengan suatu operasi aritmatis ataupun operasi logikal.

Bahasa rakitan
--------------

Artikel utama: Bahasa rakitan
Bahasa rakitan adalah bahasa pemrograman tingkat rendah yang menggunakan simbol-simbol (*mnemonics*) sebagai representasi dari instruksi kode mesin dengan tujuan agar lebih mudah dipahami oleh manusia sehingga memungkinkan sebuah program komputer dibuat secara lebih mudah.

Lihat pula
----------


Lihat informasi mengenai ***machine code*** di Wiktionary.

* Bahasa rakitan
* Kompiler
* P-Code

Bahan bacaan lain
-----------------

* Hennessy, John L. *Computer Organization and Design. The Hardware/Software Interface*. Morgan Kaufmann Publishers. ISBN 1-55860-281-X.  Parameter `|coauthors=` yang tidak diketahui mengabaikan (`|author=` yang disarankan) (bantuan)
* Tanenbaum, Andrew S. (1990). *Structured Computer Organization*. Prentice Hall. ISBN 0-13-020435-8.
* Brookshear, J. Glenn (2003). *Computer Science: An Overview*. Addison Wesley. ISBN 0321387015.

| Pengawasan otoritas Sunting ini di Wikidata |
| --- |
| Umum | 
* Integrated Authority File (Jerman)

 |
| Lain-lain | 
* Microsoft Academic

 |