Anda di halaman 1dari 4

TEKNIK PEMROGRAMAN DAN SET INSTRUKSI

MIKROKONTROLER MCS51
Struktur Assembly

Secara umum susunan perintah pada tubuh program assembly dalam satu baris adalah sebagai
berikut:

Label : MNEMONIK Operan ; Komentar

Label akan dinyatakan apabila baris program akan menjadi tempat lompatan dari baris program
lain.
Label dituliskan sebagaimana adanya suatu pengenal dan dapat dinyatakan sesuai maksud
lompatan dan diakhiri dengan titik dua (:).

Mnemonik adalah sekumpulan huruf yang terdiri dari dua sampai lebih, singkatan yang
mewakili dari maksud perintah dinyatakan, misalnya MOV disingkat dari MOVE yang berarti
pemindahan nilai, yaitu MOV AH,09h berarti AH=09h.
Mnemonik dapat saja memerlukan operan, dan kadangkala lebih dari dua operan.

Operan mengandungi nilai-nilai dengan mana pengoperasian perintah mnemonik didahulukan.


Sedikit saja perintah yang tidak memerlukan operan, dan kebanyakan pula perintah memerlukan
dua operan.
Jika demikian, operan pertama disebut tujuan (destination), sedangkan operan kedua (jika ada)
disebut sumber (source).
Operan mengambil banyak bentuk yang berbeda sesuai dengan kebutuhan dan syarat-syarat
penggunaannya, misalnya MOV memerlukan dua operan, yaitu AH dan 09h, yang tidak lain
berupa salah satu register dan data (nilai) langsung.

Contoh Struktur program Assembly MCS51


Contoh:
Org 0H ; alamat awal
Inisialisasi ; seting awal (isi register, dll)
Program utama ; loop utama
Subrutin ; loop yg sering dipanggil
end ; akhir program

Contoh program sederhana:


org 0h
utama: ;label
mov p1,#11110000b ; mnemonik op,op
nop
mov p1,#00001111b
nop
jmp utama
end

Set Instruksi MCS51


3 kelompok besar instruksi yaitu:
1. Instruksi-instruksi Transfer Data
2. Instruksi-instruksi Pemrosesan Data
3. Instruksi-instruksi Lompatan

Instruksi-instruksi Transfer Data banyak macamnya, yaitu:


Mode pengalamatan segera
Mode pengalamatan langsung
Mode pengalamatan segera
Mode pengalamatan register spesifik
Mode pengalamatan register tak langsung
Mode pengalamatan register berindeks
Transfer data dalam Stack
Instruksi-instruksi pertuakaran data
Bit data transfer

Instruksi-instruksi Transfer Data

Instruksi-instruksi Pemrosesan Data:


Instruksi-instruksi Aritmatika
Instruksi-instruksi Logika

Instruksi-instruksi Aritmatika
Instruksi-instruksi penjumlahan dan pengurangan
Instruksi-instruksi perkalian dan pembagian
Instruksi-instruksi Increment dan Decrement
Instruksi pengubahan ke decimal (Decimal Adjust)

Instruksi-instruksi Aritmatika

Instruksi-instruksi Logika:
Instruksi-instruksi AND, OR, dan EX-OR
Instruksi-instruksi komplemen dan clear
Instruksi-instruksi putar
Instruksi SWAP
Instruksi logika per-bit

Instruksi-instruksi Logika

Instruksi-Instruksi Lompatan
Instruksi-instruksi lompatan dibagi menjadi 3 yaitu:
Instruksi-instruksi lompatan tak bersyarat
Instruksi-instruksi lompatan bersyarat
Instruksi CALL dan RET

Instruksi Call digunakan untuk memanggil suatu subrutin tertentu, setelah subrutin tersebut
selesai dikerjakan kembali ke alamat setelah instruksi Call ditandai dengan instruksi RET.

Anda mungkin juga menyukai