+62 896 6423 0232 | info@idmetafora.com
Software ERP Indonesia IDMETAFORA


Mari Mengenal Assembly : Pengertian, Perintah Assembly, dan Representasi

31 August, 2022   |   Ningsih

Mari Mengenal Assembly : Pengertian, Perintah Assembly, dan Representasi

Assembly umumnya dikenal sebagai bahasa rakitan atau assembly language. Assembly language adalah bahasa pemrograman tingkat rendah yang digunakan untuk memprogram komputer, mikroprosesor, mikrokontroler, dan perangkat lain yang dapat diprogram. Bahasa assembly mengimplementasikan representasi bahasa mesin dalam bentuk simbol-simbol yang  relatif mudah dipahami manusia.

Berbeda dengan bahasa tingkat tinggi yang diterima secara umum, bahasa rakitan biasanya secara khusus mendukung satu atau lebih jenis arsitektur komputer tertentu. Oleh karena itu, portabilitas bahasa assembly tidak dapat bersaing dengan bahasa lain yang merupakan bahasa pemrograman tingkat tinggi. Namun, bahasa rakitan memungkinkan pemrogram untuk memanfaatkan sepenuhnya kemampuan  perangkat keras tertentu. Ini biasanya tidak mungkin atau terbatas ketika dibangun dalam bahasa pemrograman tingkat tinggi.

Bahasa assembly juga merupakan bahasa komputer, terletak di antara bahasa mesin dan bahasa tingkat tinggi seperti C, C++, Pascal, Turbo Basic, dan Java. Bahasa C atau Pascal sangat berbeda dengan bahasa manusia yang sebenarnya, tetapi disebut bahasa tingkat tinggi karena menggunakan kata-kata dan pernyataan yang mudah dipahami manusia. Ada istilah Assembler yang artinya program yang membantu anda menulis instruksi dalam format bahasa Inggris sehingga mudah dibaca dan dipahami.

Di dalam assmbly ada istilah Mnemonik artinya sesuatu yang mudah diingat, dan ada dua jenis mnemonik yaitu mnemonic yang digunakan sebagai instruksi untuk mengontrol prosesor seperti ADD, MOV, DJNZ. Ada juga mnemonik yang digunakan untuk mengatur perilaku program assembler seperti ORG, EQU, dan DB. Mnemonik untuk mengatur operasi program assembler disebut "assembler directives".

MOV R0, #02h MOV A, #03h ADD A, R0 Perintah baris pertama bekerja menjalankan proses pengisian register R0 dengan data 02h. Perintah baris kedua bekerja menjalankan proses pengisian register A dengan data 03h. Kemudian proses penjumlahan data pada register A dengan data pada register R0 dijalankan menggunakan perintah ADD A,R0 dan menghasilkan data 05h tersimpan di register A. Perintah MOV dan ADD ialah mnemonik atau singkatan dari perintah MOVE dan ADD.



Perintah mnemonik lainnya dapat dilihat dalam tabel berikut.

Mnemonik Perintah Assembly

Perintah Mnemonic
ADD ADD
ADD WITH CARRY
ADC
SUB WITH BORROW
SBB
INCREMENT INC
DECREMENT DEC
MULTIPLY MUL
DEVIDE DIV
AND LOGIC ANL
OR LOGIC ORL
EXLUSIVE OR LOGIC XRL
DECIMAL ADJUST ACCUMULATOR DAA
CLEAR ACCUMULATOR CRL A
COMPLEMENT ACCUMULATOR CPL A
ROTATE ACCUMULATOR LEFT RLA
ROTATE ACCUMULATOR LEFT THROUGH CARRY
RLCA
ROTATE ACCUMULATOR RIGHT
RRA
ROTATE ACCUMULATOR RIGHT THROUGH CARRY
RRCA
SWAPP NIBBLE WITHIN ACCUMULATOR
SWAP
PUSH DIRECT BYTE KE STACK
PUSH
POP DIRECT BYTE DARI STACK
POP
JUMP IF CARRY SET C=1
JC
JUMP IF CARRY NOT SET C = 0
JNC
JUMP IF DIRECT BIT SET
JB
JUMP IF DIRECT BIT NOT SET
JNB
JUMP IF DIRECT BIT SET & CLEAR BIT
JBC
ABSOLUTE CALL ACALL
LONG ALL LCALL
RETURN RET
RETURN FROM INTERRUPT
RETI
ABSOLUTE JUMP AJMP
LONG JUMP LJMP
SHORT JUMP SJMP
JUMP INDERECT JMP
JUMP IF ACCUMULATOR ZERO JZ
JUMP IF ACCUMULATOR NOT ZERO JNZ
COMPARE AND JUMP IF NOT EQUAL CJNE
DECREMENT AND JUMP IF NOT ZERO DJNZ
NO OPERATION NOP

 

 
Dalam bahasa rakitan, pemrogram biasanya menggunakan program utilitas yang disebut assembler yang digunakan untuk menerjemahkan kode bahasa rakitan ke dalam kode mesin untuk perangkat keras tertentu. Instruksi bahasa assembly biasanya diterjemahkan ke dalam instruksi mnemonic bahasa mesin, sebagai lawan dari compiler bahasa tingkat tinggi yang menerjemahkan instruksi ke dalam satu set instruksi bahasa mesin.
Beberapa perangkat lunak bahasa rakitan yang terkenal biasanya memfasilitasi proses pengembangan program, mengontrol proses perakitan, dan menyediakan fungsionalitas tambahan untuk alat debugging.
 


Alasan mengapa anda perlu belajar bahasa assembly:

1. Program yang ditulis dalam assembler lebih cepat dan lebih kecil dari kode yang dihasilkan oleh compiler.

2. Assembly menyediakan akses langsung ke fitur perangkat keras sistem yang tidak dimungkinkan dalam bahasa tingkat tinggi (membaca / menulis data langsung ke sektor, memformat disk).

3. Mempelajari montase akan membantu Anda lebih memahami cara kerja komputer. Mempelajari pemrograman bahasa assembly akan membantu Anda lebih memahami cara kerja bahasa tingkat tinggi seperti compiler. Jika Anda memahami bahasa assembly, Anda dapat menjalankan proses dekomposisi untuk menganalisis program tertentu.
 


Struktur program assembler

Program sumber bahasa assembly menganut prinsip satu baris untuk satu instruksi. Setiap baris perintah dapat terdiri dari beberapa bagian (field). Artinya, dapat terdiri dari bagian label, bagian mnemonic, beberapa bagian operand, dan bagian terakhir adalah komentar.

Berikut adalah spesifikasi parsial yang dibuat untuk membedakan masing-masing bagian :

1.Setiap bagian dipisahkan oleh spasi atau TAB. Secara khusus, jika ada beberapa operan, setiap operan dipisahkan dengan koma.

2. Bagian tidak harus semuanya dalam satu baris. Spasi atau TAB harus digunakan sebagai pembatas bagian meskipun bagian tersebut tidak ada.

3. Bagian label dimulai dengan karakter pertama dari baris. Jika baris yang dimaksud tidak mengandung label, label diganti dengan spasi atau TAB sebagai pembatas antara bagian label dan bagian mnemonic.


Representasi kode mesin

Bahasa assembly menerjemahkan instruksi bahasa assembly menjadi instruksi bahasa mesin. Karena mekanisme konversi ini biasanya 1-1, setiap instruksi bahasa assembly dapat dikatakan sebagai representasi dari instruksi bahasa mesin.
Misalnya, instruksi berikut digunakan pada prosesor x86 untuk memindahkan nilai 8-bit 97 ke register AL prosesor. Kode biner dari instruksi transfer adalah 10110, diikuti oleh pengenal 3-bit dari register yang akan digunakan. Pengidentifikasi untuk register AL dalam hal ini adalah 000. Nilai 97 dalam kode biner adalah 01100001, jadi kode mesin yang digunakan untuk memindahkannya adalah:

10110000 01100001
 

Kode biner ini dapat diubah agar lebih mudah dibaca manusia dengan mengkonversikannya dalam bilangan heksadesimal sebagai berikut:

B0 61

Pada instruksi di atas, B0 berarti: 'Pindahkan nilai berikut ke register AL', dan 61 adalah representasi bilangan heksadesimal untuk nilai 01100001, atau 97 dalam bilangan desimal. Bahasa rakitan untuk prosesor Intel menyediakan simbol mnemonic MOV (yang merupakan singkatan dari move) untuk instruksi serupa sehingga kode mesin sebelumnya dapat ditulis dalam bahasa rakitan sebagai berikut:

MOV AL, 61h ; Isi register AL dengan nilai 97 (61 hex)


Bahasa rakitan memungkinkan programmer menambahkan komentar atas setiap instruksi yang ditulis untuk mempermudah pembacaan dan lebih mudah pemahaman.
 


Kesimpulan 

Bahasa assembly atau bahasa assembly adalah jenis bahasa tingkat rendah untuk membangun sistem yang memproses perangkat keras secara langsung. Misalnya, membuat sistem operasi atau driver.  Bahasa assembly menggunakan mnemonik, atau singkatan untuk kata-kata  bahasa Inggris, untuk membentuk perintah tertentu. Oleh karena itu, kita perlu mengubah bahasa ini kembali menjadi bahasa mesin. Sekarang, proses penerjemahan ini dilakukan oleh alat yang disebut assembler.

Program bahasa rakitan bekerja cukup cepat, meskipun harus diterjemahkan terlebih dahulu. Karena tidak memakan banyak memori saat runtime.


IDMETAFORA Menawarkan Enterprise resource planning (ERP) adalah aplikasi bisnis yang terintegrasi. Aplikasi ERP membantu proses operasional bisnis yang luas dan mendalam, seperti yang ditemukan dalam proses pembelian, pengelolaan gudang, penjualan, keuangan, SDM, distribusi, manufaktur, layanan, dan rantai pasokan.
Hubungi kami di : 0896 6423 0232 atau 0813 9399 3723.
Jl. Damai No.36, Sleman, Yogyakarta.

Liputan Software ERP IDMETAFORA Indonesia!

Jika anda merasa artikel ini bermanfaat, bagikan ke pengikut anda melalui tombol dibawah ini:



Software ERP Indonesia

Artikel rekomendasi untuk Anda