ASSEMBLER #1 MK. PEMROGRAMAN SISTEM Jurusan Sistem Komputer-S1 Universitas Gunadarma
Arsitektur Komputer - dilihat dari segi Bahasa Applications HLL High Level Language C, JAVA HLL Complier Assembly Language Assembler Machine Language Low Level language Assembly Language Hardware Word, Excel
Language Levels High Level Language Assembler Language Machine Language Micro -programming Firmware Hardware
Bahasa Assembler dalam Sistem Komputer Hardware Low Level Languange Compiler Utility Operating System High Level Languange Programming Application Program
Pemrograman Assembly Language Menulis sebuah program di assembly lebih mudah daripada bahasa mesin. Program perakitan lebih mudah dibaca. Program perakitan ditulis dengan menggunakan simbol (Mnemonik). Program perakitan diterjemahkan ke dalam kode mesin sebelum eksekusi
Assembly Language Termasuk Low-Level Languange, dapat dibaca dan dimengerti oleh manusia sebagai hasil representasi binary code yang dieksekusi oleh komputer Berorientasi pada mesin (machine dependent) dimana bahasa pemrogramannya sesuai dengan sistem komputernya. Tipe pemrograman yang mungkin sulit atau tidak mungkin dilakukan dengan bahasa tingkat tinggi, seperti : Komunikasi dengan sistem operasi secara langsung, program interfacing, program telekomunikasi dll Operasi dasarnya meliputi data movement, addition, substraction, comparison, shifting dan branching
Peran Assembler Object Code Source Program Assembler Linker Executable Code Loader
Assembler: Definition Translating source code written in assembly language to object code.
Machine code language Struktur: Operation code Mendefinisikan operasi yang dieksekusi Operand address Spesifikasi dari operands (data) Konstanta/register addresses/storage addresses OpCode OpAddress
Struktur Assembly Label Mnemomic Operands Comments Pelabelan simbolis dari alamat assembler (alamat perintah pada tingkat Mesin) Mnemomic Deskripsi simbolik operasi Operands Berisi variabel atau alamat jika perlu Comments
Element dari Bahasa Pemrograman Assembler Untuk membandingkan bahasa mesin dan bahasa assembly, kita dapat melihatnya dari tiga karakteristik berikut : 1. Mnemonic operation code 2. Symbolic operand specification 3. Declaration of data/storage area
Elemen Dari Assembly Languange 1. Mnemonic Code Merupakan kode alpabet pendek yang membantu memori dalam mengingat suatu instruksi CPU. Terbagi menjadi bagian-bagian kecil yang memudahkan penulisan program Mendukung pengindikasian kesalahan coding (mis. Kesalahan penulisan operation code. Contoh : Op code 00 01 02 03 04 Assembly mnemonic STOP ADD SUB MULT LOAD
Elemen dari Assembly Languange (cont.) 2. Symbolic Operand Specification Penamaan simbol dihubungkan dengan data atau instruksi Operand dapat ditentukan dalam bentuk symbolic reference Contoh : - MOV AH,56h - SUB DX,AX
Elemen dari Assembly Languange (cont.) 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. BISA BUKTIKAN CARANYA ??? Contoh : - 5 menjadi (11111010)2 10.5 menjadi (41A80000)16
Statement Assembly Languange Program assembly mengenal tiga jenis statement : Imperative statement Declarative statement Assembler directive statement.
Statement Assembly Languange 1. Imperative Statement Menunjukkan aksi yang berlangsung selama eksekusi program assembly Setiap imperative statement ditranslasikan ke dalam instruksi mesin Format instruksi : sign opcode register operand Memory Operand sign bukan bagian dari perintah. Opcode: 2 digits, Register Operand: 1 digit, Memory Operand: 3 digits Contoh : MOV, ADD, MUL , dll
2. Declarative Statement Statement Assembly Languange 2. Declarative Statement Statement declarative dalam bahasa assembly menunjukkan konstanta atau storage area pada suatu program. 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, contoh : 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.
Statement Assembly Languange (cont.) 3. Assembler Directive Statement Statement ini secara langsung mengarahkan assembler untuk mengambil alih aksi selama proses assembling program Menunjukkan bagaimana input program assembly dibentuk Contoh : START 100 END akhir program Petunjuk untuk menunjukkan bahwa program ditempatkan pada alamat memori 100
Keuntungan Assembly Language Keuntungan utama pemrograman bahasa assembly dibandingkan pemrograman bahasa mesin adalah karena penggunaan spesifikasi simbol operand. (dibandingkan dengan program bahasa mesin) Pemrograman bahasa assembly memegang keunggulan dalam pemrograman HLL dalam situasi menggunakan fitur arsitektur komputer. (dibandingkan dengan program bahasa tingkat tinggi)
Keuntungan Memprogram Menggunakan Assembly Keuntungan Assembly dibandingan dengan bahasa mesin adalah penggunaan symbolic operand