SELAMAT DATANG DIBLOG ANE YA BROW, JANGAN LUPA KASIH COMEN

Minggu, 16 Januari 2011

Sekilas Assembly.


Bahasa rakitan (bahasa Inggris: assembly language) adalah bahasa pemrograman komputer tingkat rendah. Bahasa rakitan merupakan notasi untuk bahasa mesin yang dapat dibaca oleh manusia dan berbeda-beda tergantung dari arsitektur komputer yang digunakan. Bahasa mesin adalah pola bit-bit (serangkaian nomor-nomor biner) tertentu yang merupakan kode operasi mesin. Bahasa mesin dibuat lebih mudah dibaca dan ditulis dengan cara mengganti pola bit-bit menjadi julukan-julukan yang disebut mnemonics.
Berbeda dengan bahasa pemrograman tingkat tinggi, bahasa rakitan biasanya memiliki hubungan 1-1 dengan instruksi bahasa mesin. Misalnya, tiap julukan (mnemonic) yang ditulis di program dengan bahasa rakitan akan diterjemahkan menjadi tepat satu kode operasi yang dapat dimengerti langsung oleh komputer. Pada bahasa tingkat tinggi, satu perintah dapat diterjemahkan menjadi beberapa kode operasi dalam bahasa mesin. Proses pengubahan bahasa rakitan ke bahasa mesin dilakukan oleh assembler, dan proses balikannya dilakukan oleh disassembler.
Setiap arsitektur komputer memiliki bahasa mesin yang berbeda-beda sehingga bahasa rakitannya pun berbeda-beda.
Berikut merupakan contoh bahasa rakitan:
 mov  al, 0x61
yang berarti pindahkan (mov = move) nilai heksadesimal 61 (= 97 dalam desimal) ke register prosesor bernama "al". Adalah lebih mudah mengingat ini dari bahasa mesin:
 10110000 01100001 


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.

Tidak ada komentar:

Posting Komentar