SPM KMK 2216 study materials
SPM KMK 2216 study resources

SPM KMK 2216: Kod dan struktur arahan

SPM KMK 2216 · Work through your exam, one topic at a time.

All guide sections

Kod dan struktur arahan

Domain Kod dan struktur arahan menguji sama ada anda faham bagaimana arahan yang ditulis manusia ditukar kepada arahan yang boleh dilaksanakan oleh pemproses, dan bagaimana satu atur cara disusun daripada bahagian-bahagiannya. Soalan lazim meminta anda membezakan aras kod, menterjemah satu pernyataan bahasa peringkat tinggi kepada beberapa arahan mesin, dan menjejak nilai daftar selepas satu jujukan arahan.

Aras kod

  • Kod mesin: jujukan bit binari; satu-satunya bentuk yang difahami CPU; tidak mudah alih antara keluarga pemproses yang berbeza.
  • Kod himpunan (assembly): mnemonik seperti LOAD, ADD, STORE, HALT; satu arahan himpunan biasanya sepadan dengan satu arahan mesin; diterjemah oleh assembler.
  • Bahasa peringkat tinggi: satu pernyataan seperti jumlah = a + b boleh menjadi beberapa arahan mesin; diterjemah oleh compiler (seluruh kod diterjemah sebelum dijalankan) atau interpreter (baris demi baris semasa dijalankan).

Struktur satu arahan

Setiap arahan mengandungi opcode (operasi yang hendak dibuat) dan operand (data atau alamat yang terlibat). Dalam ADD R1, R2, opcode ialah ADD manakala operand ialah daftar R1 dan R2. Operand boleh berbentuk nilai segera (LOAD 5), daftar, atau alamat memori.

Kitaran fetch–decode–execute

  1. Fetch: alamat dalam PC dihantar ke memori; arahan disalin ke CIR; PC ditambah supaya menunjuk arahan seterusnya.
  2. Decode: unit kawalan mentafsir opcode dan menentukan operand.
  3. Execute: operasi dijalankan; hasil disimpan dalam daftar atau memori.

Contoh berperingkat

Jujukan: LOAD 5, ADD 3, STORE X.

  • LOAD 5 → pemampan (accumulator) = 5.
  • ADD 3 → operand ialah nilai segera, jadi pemampan = 5 + 3 = 8.
  • STORE X → kandungan pemampan disalin ke lokasi X; pemampan kekal 8 kerana STORE tidak mengosongkannya.

Perangkap yang menghilangkan markah

  • Menyatakan compiler yang menjalankan program; compiler hanya menterjemah kepada kod objek.
  • Menukar opcode dengan operand, atau menganggap ADD 3 menambah nilai yang tersimpan di alamat 3.
  • Menganggap satu pernyataan peringkat tinggi = satu arahan mesin.
  • Terlupa PC ditambah semasa fetch, bukan selepas execute.