BIOLOGI ONLINE

blog pendidikan biologi

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.

2.2.1    Bagian – Bagian Dari Program Assembler

Berikut ini adalah bagian – bagian dari rogram assembler yaitu:

  1. 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.

  1. 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.

  1. 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

  1. 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.

  1. 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

  1. 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. 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

  1. 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.

  1. 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).

  1. 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.

  1. 5.      Mode Pengalamatan Bit

            Pengalamatan bit adalah penunjukkan menggunakan simbol titik (.) yang menunjuk alamat lokasi bit, baik dalam RAM internal atau perangkat keras.

            Contoh :

            SETB P1.7            ; set bit port 1.7 high ( pot 1.7 diberi nilai logika 1)

About these ads

01/02/2013 - Posted by | TEKNIK ELEKTRO

5 Komentar »

  1. ok.. trima ksih bnyak

    Komentar oleh DEVI ANNISA | 01/26/2013

  2. gaan kalo mau download dimana link nya ???

    Komentar oleh eko | 04/07/2013

  3. Jangan lupa, assembly bercabang menjadi banyak jenis, NASM, MASM, YASM, FASM, dan lain-lainnya. Tetapi, biasanya dibagi menjadi beberapa jenis berdasarkan bentuk format tanpa makro.
    -Intel
    Yang kamu jelaskan itu tipe Intel. NASM, MASM, dan banyak assembler lainnya
    gunakan itu
    -AT&T
    GAS Assembler menggunakan ini
    -Masih banyak lagi
    Jadi, jangan terpaku harus menggunakan ASM51. Lagipula, itu dimana?

    Komentar oleh Christian Irwan | 07/19/2013

  4. Mantaps gan, nice artikel.. ikut berkontrobusi gan, silakan, bagi yang ingin tambahan referensi mampir juga dimari

    http://gatewawan.blogspot.com/2014/08/pemrograman-traffic-light-menggunakan-bhs-assembly-dan-mesin.html

    thanks.

    Komentar oleh teknocrat | 08/27/2014


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.

Bergabunglah dengan 940 pengikut lainnya.

%d bloggers like this: