Pemrograman Bahasa Assembly (Assembler)
Bahasa assembly adalah sebuah program yang terdiri dari instruksi-instruksi yang menggantikan kode-kode biner dari bahasa mesin dengan “mnemonik” yang mudah diingat. Misalnya sebuah instruksi penambahan dalam bahasa mesin dengan kode “10110011” yang dalam bahasa assembly dapat dibuat dalam instruksi mnemonik ADD, sehingga mudah diingat dibandingkan dengan angka 0 dan 1, dalam setiap instruksi membutuhkan suatu operand baik berupa data langsung maupun suatu lokasi memori yang menyimpan data yang bersangkutan. Bahasa assembly sering juga disebut kode sumber atau kode simbolik yang tidak dapat dijalankan oleh prosesor, sedangkan assembler adalah suatu program yang dapat menerjemahkan program bahasa assembly ke program bahasa mesin. bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Program bahasa mesin sering disebut sebagai kode objek.
Baris-baris program yang mengandung instruksi mesin atau pengarah assembler harus mengikuti aturan program assembler ASM51. Masing-masing baris atas beberapa field yang dipisahkan dengan spasi atau tabulasi adalah bagian label, bagian mnemonic, bagian operand yang bisa lebih dari satu bagian komentar dan diakhiri dengan END.
Klik show untuk melihat
2.2.1 Bagian – Bagian Dari Program Assembler
Berikut ini adalah bagian – bagian dari rogram assembler yaitu:
1. Label
Label merupakan suatu simbol yang didefinisikan sendiri oleh pembuat program untuk menandai lokasi memori pada area program. Simbol dan label adalah dua hal yang berbeda. Simbol tidak menggunakan titik dua, sedangkan label harus diakhiri dengan titik dua.
Contoh :
PAR EQU 500 ; “PAR” Menunjukan suatu simbol
; dari nilai 500
MULAI:
MOV A, #0FFh ; pada label; “Mulai” nilai 0FFh
; dipindahkan ke Akumulator
Dalam satu baris hanya ada satu label, pada umumnya Assembler membatasi jumlah karakter yang bisa digunakan hingga 31 karakter.
2. Mnenonik
Mnemonic instruksi atau pengarah Assembler dimasukan dalam “Mnemonic field” yang mengikuti “label mnemonic”. Mnemonic instruksi misalnya ADD, MOV, INC dan lain-lain.Sedangkan pengarah Assembler misalnya ORG, EQU, DB dan lain-lain.
3. Operand
Operand ditulis setelah mnemonic, bisa berupa alamat atau data yang digunakan instruksi yang bersangkutan.
Contoh :
MOV A, #20h ; A dan #20h adalah operand
LAGI:
JNB LAGI ; LAGI adalah operand
4. Komentar
Komentar harus diawali dengan titik koma. Sub rutin dari bagian besar program yang mengerjakan suatu operasi biasanya diawali dengan blok komentar yang menjelaskan fungsi sub rutin atau bagian besar program tersebut.
5. End
Petunjuk END merupakan kode perintah terakhir yang menunjukan batas akhir dari proses Assembly.
Instruksi yang sering digunakan dalam pembuatan program yaitu :
a. Instruksi Aritmatik
Instruksi aritmatik selalu melibatkan akumulator dan ada juga beberapa instruksi yang melibatkan register lain.
Berikut ini contoh instruksi–instruksi arimatika yaitu:
Tabel 2.4 Instruksi-instruksi Aritmatik
Instruksi
Keterangan
Contoh
ADD A,Rn Menambah isi register Rn dengan isi akumulator lalu disimpan di akumulator ADD A,R1
ADD A, direct Menambah isi direct dengan akumulator, hasilnya disimpan di akumulator ADD A, 30H
ADD A, #data Menambahkan immediate data ke akumulator ADD A, #20H
ADD A, @Rn Menambahkan isi dari alamat yang ditunjuk Rn dengan akumulator ADD A, @R1
ADDC A, #data Menambahkan immediate data ke akumulator dengan carry ADDC A, #20H
SUBB A, Rn Kurangkan isi register Rn dari akumulator SUBB A, R1
INC A Tambah isi akumulator dengan 1 INC A
DEC A Kurangkan isi akumulator denga 1 DEC A
MUL AB Kalikan isi A dengan isi B, low-byte disimpan pada akumulator, dan high byte pada B MUL AB
DIV AB Bagi isi A dengan isi B. Akumulator menerima hasil integer pembagian dan B menerima integer sisanya. DIV AB
b. Instruksi Logika
Instruksi Logika ini dipakai untuk melakukan operasi logika, yaitu operasi AND (instruksi ANL), operasi OR (instruksi ORL), operasi Exclusive-OR (instruksi XRL), operasi clear (instruksi CLR), instruksi komplemen (instruksi CPL), operasi penggeseran kanan atau kiri (instruksi RR, RRC, RL dan RLC) serta operasi penukaran data (instruksi SWAP). Data yang dipakai dalam operasi ini biasanya berupa data yang berada dalam akumulator atau data yang berada dalam memori data.
c. Instruksi Pemindahan Data
Instruksi – instruksi pemindahan data adalah :
Tabel 2.5 Instruksi – instruksi Perpindahan Data
Instuksi
Keterangan
Contoh
MOV A, Rn Memindahkan isi register Rn ke akumulator MOV A, R0
MOV A,direct Memindahkan isi direct byte ke akumulator MOV A, 30h
MOV A , #data Mengisi akumulator dengan nilai data MOV A,#20h
MOV A, @Rn Mengisi akumulator dengan isi dari alamat yang ditunjuk oleh Rn MOV A, @R0
2.2.2 Mode – Mode Pengalamatan
1. Mode Pengalamatan Langsung
Dalam pengalamat langsung nilai yang akan disimpan dalam suatu memori diperoleh secara langsung dengan mengambil dari lokasi memori yang lain.
Contoh :
MOV A,30H ; isi akumulator dengan bilangan 30 heksadesimal
2. Mode Pengalamatan Tak Langsung
Dalam pengalamatan tak langsung, instruksi menentukan suatu register yang digunakan untuk menyimpan alamat operan
Contoh :
ADD A,R ; Tambahkan isi RAM yang lokasinya ditunjukan oleh register R1 ke akumulator.
DEC @R1 ; Kurangi satu isi RAM yang alamatnya ditunjukan oleh register R1.
3. Mode Pengalamatan Segera
Cara ini menggunakan konstanta.
Contoh :
MOV A,#20H ; isi akumulator dengan bilangan 20 heksadesimal
Data konstanta merupakan data yang menyatu dengan instruksi, contoh intruksi diatas mempunyai arti bahwa data konstantanya, yaitu 20H, (sebagai data konstanta harus diawali dengan ’#’ dan tanda H untuk menyatakn format bilangan heksadesimal) disalin ke Akumulator (A).
4. Mode Pengalamatan Data
Pengalamatan data terjadi pada sebuah perintah ketika nilai operasi merupakan alamat data yang akan diisi atau yang akan dipindahkan.
Contoh :
MOV P1,A ; isi P1 dari nilai akumulator.
5. Mode Pengalamatan Bit
Pengalamatan bit adalah penunjukkan menggunakan simbol titik (.) yang menunjuk alamat lokasi bit, baik dalam RAM internal atau perangkat keras.
ENTAH SIAPA YANG TAHU?? Dalam rintihan lelakaq sasak sering aku bercerita Tentang langit jingga, tentang gunung yang berdiri megah Ditanah yang tak bernama.. Baru sekali aku menemukanya… Dulu sebelum aku tidur nenekku sering bercerita entah tentang cerita raja-raja sampai silsilah keluarga sebagi penghantar tidur malamku Tapi .. tak pernah tentang tanah ini, Di tanahku daun berguguran hanya seperempat musim saja Selebihnya daun-daun hijau sesekali jatuh namun menjadi humus Ber re_inkarnasi menjadi daun-daun baru atau sebagai ayah untuk daun-daun yang lama. Dua batang bunga melati maasih menyulam hidup di dahan pepohonan tua Entah sampai kapan,, ? Seolah tak punya harapan.. Sering aku berdiskusi dengan angin malam Menikmati hembusan angin yang Nampak mulai tak damai,, Tak juga dingin Tak sedamai gendongan inaq dikala bayi, tak sedingin pelukan mamiq dikala terik..? Kadang aku tersenyum sendiri,, mengapa aku hidup disini,, Coba mengelana bagai raja pejanggik dalam dongeng Apa un...
http://www.mesran.blogspot.com/ Class Form1 Sub buattabel() LV.Columns.Add("NPM", 80, HorizontalAlignment.Center) LV.Columns.Add("Nama", 180, HorizontalAlignment.Left) LV.View = View.Details LV.GridLines = True LV.FullRowSelect = True End Sub Sub isitabel() Dim lst As New ListViewItem lst.Text = NPM.Text lst.SubItems.Add(Nama.Text) LV.Items.Add(lst) End Sub Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As S...
http://www.mesran.blogspot.com Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim x As String No_urut.Text = "1" & Microsoft.VisualBasic.Right(KODE.Text, 2) x = Microsoft.VisualBasic.Mid(KODE.Text, 4, 3) If x = "MED" Then daerah.Text = "MEDAN" pajak.Text = 0.015 ElseIf x = "BEL" Then daerah.Text = "BELAWAN" pajak.Text = 0.015 ElseIf x = "TEM" Then daerah.Text = "AKSARA" pajak.Text...
Komentar
Posting Komentar