Opcode
Opcode mengidentifikasi operasi komputer dasar mana dalam set instruksi yang akan dilakukan. Ini digunakan saat menulis kode mesin. Ini memberitahu komputer untuk melakukan sesuatu. Setiap instruksi bahasa mesin biasanya memiliki opcode dan operan. Opcode seperti kata kerja dalam kalimat, dan operan seperti subjek dalam kalimat. Operan biasanya berupa memori atau alamat registri.
Opcode digunakan dalam kode mesin untuk sejumlah fungsi, termasuk Float Addition of registers, Two's compliment addition of registers, Shifting register values to memory, atau ke hard drive, menghentikan program, dll. Secara harfiah ada ratusan opcode umum yang digunakan dalam komputer modern.
Karena sifat arsitektur komputer, opcode berbentuk angka biner. Sebagai alternatif, opcode dapat diwakili oleh digit heksadesimal, (misalnya, 10100101 = A5) untuk memudahkan pembacaan dan pengkodean saat merancang atau mengemulasi program kode mesin. Nilai-nilai ini kemudian ditransformasikan ke dalam ekuivalen binernya untuk disimpan. Opcode modern setidaknya memiliki panjang dua karakter heksa yang memakan ruang penyimpanan 1 byte.
Opcode akan bervariasi dalam kemampuan dan 'nilai' tergantung pada komputer tempat mereka berada, karena mereka bergantung pada perangkat keras. Misalnya, opcode untuk STORE seperti yang dinyatakan dalam Hex bisa jadi FA untuk satu mesin dan 02 untuk mesin lain. Beberapa opcode tidak akan tersedia pada beberapa komputer. Secara umum, ada dua pendekatan untuk membangun set instruksi. Komputer set instruksi tereduksi (RISC) menawarkan opcode yang lebih sedikit demi meningkatkan kecepatan untuk proses sederhana. Complex instruction set Computing (CISC) menawarkan lebih banyak opcode yang mendukung peningkatan kecepatan untuk proses yang kompleks.
Opcode jarang digunakan oleh programmer secara langsung. Kapanpun Opcode diprogram secara langsung ke dalam memori, Opcode hanya dijamin bekerja pada komputer yang dirancang untuknya. Ketika programmer menulis dalam bahasa assembly, program penerjemah mengubah pernyataan program, satu-untuk-satu, menjadi perintah bahasa mesin. Programmer hanya harus mengingat mnemonic untuk setiap opcode, bukan nilai binernya. Sebagai alternatif, dapat digunakan bahasa pemrograman tingkat tinggi, misalnya generasi ke-4, yang akan dikonversi ke generasi ke-3 dan seterusnya hingga mencapai generasi ke-1. Dari sini, komputer individu akan mengubah program ke kode mesin setiap kali file program dibaca. Dengan cara ini, sebuah program dapat bekerja pada berbagai macam komputer yang jauh lebih besar.
Pertanyaan dan Jawaban
T: Apa yang dimaksud dengan opcode?
J: Opcode adalah angka biner yang mengidentifikasi operasi komputer dasar dalam set instruksi yang harus dilakukan. Opcode digunakan saat menulis kode mesin dan memberi tahu komputer apa yang harus dilakukan.
T: Apa yang dimaksud dengan operand?
J: Operand biasanya merupakan alamat memori atau registri yang menyertai opcode dalam instruksi bahasa mesin. Operand dapat dianggap sebagai subjek kalimat, sedangkan opcode bertindak seperti kata kerja.
T: Berapa banyak opcode yang umum digunakan dalam komputer modern?
J: Ada ratusan opcode yang umum digunakan dalam komputer modern.
T: Bagaimana opcode direpresentasikan?
J: Opcode dapat diwakili oleh angka biner atau digit heksadesimal untuk memudahkan pembacaan dan pengkodean saat merancang atau meniru program kode mesin.
T: Berapa panjang opcode modern?
J: Opcode modern memiliki panjang setidaknya dua karakter heksa, yang membutuhkan ruang penyimpanan 1 byte.
T: Apa yang dimaksud dengan RISC dan CISC?
J: Reduced Instruction Set Computing (RISC) menawarkan lebih sedikit kemungkinan opcode untuk meningkatkan kecepatan untuk proses yang sederhana, sedangkan Complex Instruction Set Computing (CISC) menawarkan lebih banyak opcode untuk meningkatkan kecepatan untuk proses yang kompleks.
T: Bagaimana programmer biasanya menggunakan opcode?
J: Pemrogram jarang menggunakan pemrograman langsung ke dalam memori dengan serangkaian instruksi khusus komputer; sebaliknya, mereka menulis program menggunakan bahasa rakitan atau bahasa pemrograman tingkat tinggi yang akan diubah menjadi kode mesin setiap kali file program dibaca sehingga dapat bekerja pada berbagai jenis komputer.