Welcome Message

twitter

Follow on Tweets

assembly language

Posted in

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 yang merupakan kode operasi mesin. Bahasa mesin dibuat lebih mudah dibaca dengan cara mengganti pola bit-bit menjadi simbol-simbol yang disebut mnemonics.

Tidak seperti bahasa pemrograman tingkat tinggi, bahasa rakitan biasanya memiliki hubungan 1-1 dengan instruksi 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.



ASSEMBLER

Element dari Bahasa Pemrograman Assembler
Bahasa assembly dikategorikan sebagai bahasa tingkat rendah (low level languange). Ini
untuk menggambarkan kekhususannya sebagai bahasa yang berorientasi pada machine
dependent. Untuk membandingkan bahasa mesin dan bahasa assembly, kita dapat melihatnya
dari tiga karakteristik berikut :
1. Mnemonic operation code. Sebagai pengganti numeric operation code (opcodes) yang
digunakan pada bahasa mesin, digunakankanlah mnemonic code pada bahasa assembly.
Selain kemudahan dalam penulisannya dibandingkan dari bahasa mesin juga mendukung
pelacakan kesalahan seperti kesalahan penulisan operation code. Gambar 2.1. berikut
menunjukkan daftar instuksi operation codes dari bahasa dan bahasa assembly.
Instuction Op Code
Assembly Mnemonic
Remarks
00
STOP
01
ADD
Operand pertama yang diasumsikan sebagai akumulator
02
SUB
03
MULT
04
LOAD
Memanggil akumulator
05
STORE
Menyimpan akumulator ke dalam lokasi storage
06
TRANS
Mentransfer kontrol ke alamat yang disebutkan
07
TRIM
Mentransfer hanya jika akumulator < 0
08
DIV
Membagi akumulator dengan isi lokasi storage
09
READ
Membaca kartu pada lokasi storage
10
PRINT
Mencetak isi lokasi storage
11
LIR
Memanggil index register dengan 3 digit terakhir dari
storage operand
12
IIR
Menaikkan index register dengan 3 digit terakhir dari
storage operand
13
LOOP
Mengurangi index register, jika isi baru . 0 kemudian sama
denan TRANS
2. Symbolic operand specification. Penamaan simbol diasosiasikan sebagai suatu data atau
instruksi. Operand lebih menunjukkan symbolic reference dibandingkan dengan alamat mesin
suatu data atau instruksi. Hal ini akan mempermudah pada saat harus dilakukan modifikasi
program.
3. Declaration of data/storage area. Data dapat dinyatakan dalam notasi desimal. Ini
dilakukan untuk mencegah konversi secara manual dari konstanta ke dalam representasi
internal mesin. Sebagai contoh :
-5 menjadi (11111010)
2
atau 10.5 menjadi (41A80000)
16
Suatu statement bahasa assembly mempunyai bentuk umum sebagai berikut :
[Label]
Menmonic OpCode
Operand [operand…]
Tanda kurung siku menunjukkan isi di dalamnya boleh digunakan atau tidak dalam statement
tersebut, sebagai contoh : label bersifat optional. Jika label digunakan, hal tersebut menujukkan
suatu symbolic name akan dibuat dalam machine word untuk keperluan assembly statement. Bila
digunakan lebih dari satu operand, digunakan tanda “koma” untuk memisahkannya. Jika
digunakan index, nomor index register ditunjukan dalam sebuah simbol, seperti contoh berikut :
AGAIN
LOAD NUMBER(4)
Dimana ‘4’ menunjukkan register yang memiliki index. AGAIN diasosiasikan dengan instruksi
mesin yang dihasilkan untuk statement LOAD.


Program assembly mengenal tiga jenis statement : (i) imperative statement (ii) declarative
statement (iii) assembler directive statement.
Imperative Statement
Statement imperative dalam bahasa assembly ditunjukan dengan suatu tindakan yang dikerjakan
selama eksekusi program assembly. Karena itu setiap statement imperative ditranslasikan ke
dalam instruksi mesin.
Format instruksi :
Sign Opcode Index
Operand
egister address
Declarative Statement
Statement declarative dalam bahasa assembly menunjukkan konstanta atau storage area pada
suatu program. Sebagai contoh :
A
DS
1
secara sederhana storage area sebesar 1 word ditunjukkan dengan sebuah label A. DS di sini
menunjukkan Declare Storage (DS).
Suatu konstanta dideklarasikan melalui Declare Constant (DC) statement, contohnya :
ONE
DC
‘1’
maksud dari statement di atas adalah label ONE berisi konstanta 1. Programmer dapat
mendeklarasikan kontanta dalam desimal, binary, hexadesimal, dsb. Assembler akan
mengkonversi bentuk tersebut ke dalam bentuk internal yang tepat.
Beberapa assembler sering pula menggunakan’literal’ khususnya pada konstanta yang dipakai
sebagai operand, seperti contoh berikut :Page 3

Assembler
Pemrograman Sistem
3
ADD
ONE
ADD
= ‘1’
-
-
-
-
ONE
DC
‘1’
Penggunaan tanda “=” pada posisi awal suatu operand menunjukkan sebuah literal. Nilai
konstanta yang ditulis dengan cara demikian sama dengan nilai yang dihasilkan bila
menggunakan statement DC.
Assembler Directive
Statement jenis ini tidak merepresentasikan instruksi mesin ke dalm suatu objek program atau
mengalokasikan storage untuk konstanta atau variable program. Sebaliknya, statement ini secara
langsung mengarahkan assembler untukmengambil alih aksi selama proses assembling program.
Statement ini digunakan untuk menunjukkan bagaimana input program assembly dibentuk, sebagi
contoh :
START
100
statement tersebut merupakan kata pertama dari objek program yang dibuat oleh assembler
untuk menempatkan lokasi mesin pada alamat ‘100’. Begitupula dengan statement : END, yang
mengindikasikan tidak ada lagi bahasa statement bahasa assembly yang akan diproses.


Comments (3)

acin

saya minta tolonh donk contoh program assembly yg menggunakan tasm
program berupa kalimat yang bergerak, berputar dan bisa berubah warna
terima kasih

@acin
maaf mas/mbak, saya di artikel ini untuk tugas kuliah,
hanya pengenalan IT, jadinya belum menguasainya.
saya saja masih semester 2, belum dapat bahasa assembly.

Posting Komentar