Web Site :

dokumen-dokumen yang mirip
ASSEMBLER. Suatu statement bahasa assembly mempunyai bentuk umum sebagai berikut : [Label] Menmonic OpCode Operand [operand ]

MK. PEMROGRAMAN SISTEM Semester/SKS : 6/3 ASSEMBLER. Jurusan Sistem Komputer-S1 Universitas Gunadarma

DASAR KOMPUTER. Assembly Language

Suatu statement bahasa assembly mempunyai bentuk umum sebagai berikut : [Label] Menmonic OpCode Operand [operand ]

MK. PEMROGRAMAN SISTEM Semester/SKS : 6/3 COMPILER. Jurusan Sistem Komputer S1 Universitas Gunadarma

Pertemuan ke 6 Set Instruksi. Computer Organization Dosen : Eko Budi Setiawan

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM MATA KULIAH:

Arsitektur Set Instruksi. Abdul Syukur

Microcontroller: Bahasa Pemrograman Assembly 8051

SET INSTRUKSI. Organisasi dan Arsitektur Komputer

PERTEMUAN BAHASA PEMOGRAMAN DAN FORMAT BILANGAN MIKROKONTROLER

Bahasa Pemrograman Assembler 8051

Organisasi & Arsitektur Komputer

Konsep Bahasa Pemrograman Pertemuan 5

Pengantar Bahasa Rakitan

8/4/2011. Microprocessor & Microcontroller Programming. Bahasa Pemrograman. Bahasa Pemrograman. Bahasa Pemrograman

Mata Kuliah : Bahasa Rakitan

Materi 4: Assembly Language Programming

Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai siklus

Teori Komputasi 10/15/2015. Bab 1: Pendahuluan. Teori Komputasi dan Teknik Kompilasi. Teori Komputasi dan Teknik Kompilasi

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1

Learning Outcomes. akan mampu : (C3) perancangan compiler yang paling optimal (C4)

Arsitektur dan Organisasi

INTRUKSI-INTRUKSI BAHASA PEMROGRAMAN ASSEMBLY

Pemrograman dan Bahasa Pemrograman

ALGORITMA DAN PEMROGRAMAN #2

KOMPILASI. Assembler Bahasa Rakitan Bahasa Mesin Compiler (Kompilator) Bahasa Tingkat Tinggi Bahasa tingkat rendah

BAHASA PEMROGRAMAN MIKROKOMPUTER

INSTRUKSI DASAR Salahuddin, SST.

TEKNIK KOMPILASI. Alamat untuk tugas: Informasi: DADANG MULYANA. dadang mulyana 2013

LANGUAGES AND TRANSLATOR

PEMROGRAMAN KOMPUTER DASAR. Kuliah ke-1

BAB 1 PENGANTAR BAHASA PEMROGRAMAN FORTRAN

Teknik Kompilasi II TEKNIK KOMPILASI. Ernastuti & Sulistyo P 1/52. Ernastuti & Sulistyo

Program. Instruksi-instruksi yang diberikan kepada komputer agar dapat melaksanakan tugas-tugas tertentu

Asal Mula Software Komputer

PENGENALAN DASAR PEMROGRAMAN

Pendahuluan. Tujuan Pembelajaran :

ORGANISASI KOMPUTER DASAR

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3

ARSITEKTUR DAN ORGANISASI KOMPUTER

Pendahuluan. Kuliah online : Tekkom [2013/VI]

BAB I PENGANTAR Pendahuluan Penyajian 1.1 Latar Belakang 1.2 Algoritma dan Struktur Data

SEMANTIK. Sintak mendifinisikan suatu bentuk program yang benar dari suatu bahasa.

Pengenalan Algoritma & Pemrograman

Programming Language Bahasa Pemrograman

BAB 1 KONSEP DASAR PROGRAM COBOL

Karakteristik Instruksi Mesin

Tujuan. Pengenalan. Pengenalan Pemrograman Komputer. Komponen Dasar pada Komputer : Hardware. Komponen Dasar pada Komputer : Hardware

Set Instruksi. Set Instruksi. Set Instruksi adalah kumpulan

Intermediate Code Form

MODUL I PENGENALAN ASSEMBLY

Hanif Fakhrurroja, MT

A. Pemahaman Awal. Oleh : Fiftin Noviyanto

SET INSTRUKSI. ORGANISASI DAN ARSITEKTUR KOMPUTER

ARSITEKTUR KOMPUTER SET INSTRUKSI

Set Instruksi & Mode Pengalamatan. Team Dosen Telkom University 2016

Implementasi OOP Pada Perangkat Lunak Pemrograman

Algoritma dan Struktur Data

Kumpulan instruksi lengkap yang dimengerti

BAHASA DAN PENGEMBANGAN PROGRAM MIKROPROSESOR

Compiler & Interpreter

BAHASA MESIN. PDE - bahasa mesin 1

Pengantar Teknologi Sistem Informasi C

Teknik Kompiler 12. oleh: antonius rachmat c, s.kom

MAKALAH MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI. Nama : Annisa Christyanti Kelas : XI TJA 3 NIS :

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Tahap pengembangan program

Set Instruksi: Set instruksi?

COMPILER Aspek Kompilasi

MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR. Dosen Pengampu: Utami Dewi Widianti,S.Kom

IKI20210 Pengantar Organisasi Komputer Kuliah no. 1b: Basic Operations

BAB 2 Pemrograman Zilog Z80

PEMROGRAMAN BAHASA RAKITAN

Fase-fase proses sebuah kompilasi

TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI) PERTEMUAN VI Y A N I S U G I Y A N I

ORGANISASI KOMPUTER MOTOROLA MATA KULIAH:

A. COBOL Reserved Words B. USER DEFINED WORDS

Materi Pelajaran : Algoritma Pemrograman. Siswa memahami tentang dasar dasar Algoritma Pemrograman

Pengantar Sistem Komputer & Algoritma

Sistem Bilangan & Dasar Assembler Dadang Mulyana

Pendahuluan. Komang Anom Budi Utama, Skom

ORGANISASI KOMPUTER. Pertemuan II KONSEP DASAR KOMPUTER - SOFTWARE -

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

Gambar 1. Blok Utama Komputer

Membuat Tabel. Tahapan membuat tabel menggunakan Microsoft Access 2007 : 1. Pilih menu create >> table. Microsoft Office Access Field.

BAB 1 Pengantar Bahasa Pemrograman FORTRAN

PENGANTAR TEKNIK KOMPILASI

BAB 3 MODE AKSES MEMORI, PENGGUNAAN VARIABEL DAN STACK

Pendahuluan. Algoritma

SEMANTIK. Int vector[10];

PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK

SISTEM BERKAS 2IA KONSEP DASAR. helen.staff.gunadarma.ac.id

Bahasa Pemograman Modul XI

Algoritma dan Struktur Data

Pertemuan Ke-7 INSTRUCTION SET

TEKNIK KOMPILASI (TEKKOM) ISTIQOMAH, S.KOM /SEMESTER VI

PERTEMUAN MINGGU KE-5 ARSITEKTUR SET INSTRUKSI

INSTRUKSI MIPS. agussalim

Transkripsi:

BAHASA ASSEMBLY Salahuddin, SST Email : salahuddin_ali@ymail.com salahuddin.ali00@gmail.com Web Site : www.salahuddinali.com

Pendahuluan Program adalah kumpulan instruksi/perintah yang disusun sebagai satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemograman sehingga dapat dieksekusi k i oleh computer. Pemrograman adalah proses untuk mengimplementasikan urutan langkah penyelesaian suatu masalah dengan suatu bahasa pemrograman Bahasa Pemograman berfungsi sebagai media untuk menyusun dan memahami suatu program computer serta sebagai alat komunikasi antara programmer dengan computer.

Bahasa Pemrograman Tingkat Rendah (Low Level Language) Berorientasi pada mesin Lebih dekat ke bahasa mesin dari pada manusia Waktu eksekusi lebih cepat Bahasa Assembly Tingkat Tinggi (High Level Language) Lebih dekat ke bahasa manusia dari pada bahasa mesin. Mudah dipahami ole manusia Waktu eksekusi lebih lama BASIC, Fortran, COBOL, Pascal, Prolog, C, dll.

Bahasa Pemrograman Tingkat Rendah (Low Level Language) Berorientasi pada mesin Lebih dekat ke bahasa mesin dari pada manusia Waktu eksekusi lebih cepat Bahasa Assembly Tingkat Tinggi (High Level Language) Lebih dekat ke bahasa manusia dari pada bahasa mesin. Mudah dipahami oleh manusia Waktu eksekusi lebih lama BASIC, Fortran, COBOL, Pascal, Prolog, C, dll.

Bahasa Assembly Instruksi mesin dinyatakan dengan pola 0 dan l. Pola semacam itu sangat sulit untuk dijelaskan pada saat membahas atau menyiapkan program. Oleh karena itu, kita menggunakan nama simbolik untuk menyatakan pola tersebut. Sejauh ini kita telah menggunakan kata kata biasa seperti Move, Add, Increment, dan Branch,, untuk instruksi operasi yang menyatakan pola kode biner yang sesuai. Pada saat menulis program untuk komputer tertentu, kata kata tersebut biasanya diganti dengan akronim yang disebut mnemonic, seperti MOV, ADD, INC, dan BR Serupa dengan kita menggunakan notasi R3 untuk mengacu pada register 3,, dan LOC untuk mengacu pada lokasi memori. Set lengkap nama simbolik semacam itu dan aturan penggunaannya membentuk bahasa pemrograman, yang biasanya disebut sebagai bahasa assembly. Set aturan untuk menggunakan mnemonic dalam spesifikasi instruksi dan program lengkap disebut syntax bahasa.

Program assembly salah satu kumpulan program yang merupakan bagian dari software sistem. disimpan sebagai rangkaian instruksi mesin dalam memori komputer program user hanyalah h kumpulan baris karakter kt alfanumerik program assembly dieksekusi, program tersebut membaca program poga user, use, menganalisanya, asa ya,da dan kemudian uda menghasilkan a program bahasa mesin yang diinginkan Program user dalam format teks alfanumerik aslinya disebut source program program bahasa mesin yang di assembly disebut object program.

Bahasa Mesin VS Bahasa Assembly Tiga karakteristik untuk membandingkan bahasa mesin dan bahasa assembly, 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. 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. 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

Bentuk Statement Bahasa Assembly Tanda kurung siku menunjukkan isi di dalamnya boleh digunakan atau tidak dalam statement tersebut Jika label digunakan, hal tersebut menunjukkan 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.

Ilustrasi Program

Bentuk Umum Penulisan Source Program

Penulisan Source Program Empat field dipisahkan oleh pemisah yang sesuai, biasanya satu atau lebih karakter kosong.

Penulisan Source Program Label adalah nama opsional yang dihubungkan dengan alamat memori dimana instruksi bahasa mesin yang dihasilkan dari pernyataan tersebut akan diload. Label juga dapat dihubungkan dengan alamat item data. Contoh di atas terdapat lima label: SUM, N, NUM1, START, dan LOOP. Field Operation berisi mnemonic OP-code directive assembler. Field Operand berisi informasi pengalamatan untuk mengakses satu atau dua operand, tergantung pada tipe informasinya. Field Comment diabaikan oleh program assembly. Field tersebut digunakan untuk tujuan dokumentasi sehingga program lebih mudah dipahami.

ASSEMBLY DAN EKSEKUSI PROGRAM Source program yang ditulis dalam bahasa assembly harus diassemble object program bahasa mesin sebelum dapat dieksekusi. Hal ini dilakukan oleh program assembler, yang mengganti semua simbol untuk mode operasi dan penggalamatan dengan kode biner yang digunakan dalam instruksi mesin, dan mengganti semua nama dan label dengan nilai sebenarnya. Bahasa Assembly Source Program Mnemonic Code Program Objek Biner Code

Tiga Jenis Statement Program assembly mengenal tiga jenis statement : imperative statement Statement imperative dalam bahasa assembly ditunjukkan dengan suatu tindakan yang dikerjakan selama eksekusi program assembly. Karena itu setiap statement imperative ditranslasikan ke dalam instruksi mesin. declarative statement Statement declarative dalam bahasa assembly menunjukkan konstanta atau storage area pada suatu program assembler directive statement. Statement ini tidak merepresentasikan instruksi mesin ke dalm suatu objek program atau mengalokasikan storage untuk konstanta atau variable program. Sebaliknya, a statement ini secara a langsung mengarahkan ahkan assembler untukmengambil alih aksi selama proses assembling program

Proses Translasi model proses translasi Secara umum Analysis of Source Text Synthesis of Target Text + = Translation from Source Text to Target Text Dalam fase analisis, penentuan arti dari source text Dalam fase sintesis, dilakukan pemilihan machine operation code yang sesuai

Skema Sederhana Assembly Fase Analysis Mengisolasikan / memisahkan label, mnemonic operation code dan operand field yang ada pada statement Memasukkan simbol yang ditemukan pada label l field dan alamat yang akan dituju machine word ke dalam Symbol table. Melakukan validasi mnemonic operation code dengan melihat pada Mnemonic table Menentukan alamat yang dibutuhkan statement berdasar pada mnemonic operation code dan operand field pada statement. Proses penghitungan alamat awal machine word mengikuti target code yang dibangkitkan untuk statement tersebut (Location Counter (LC) processing) Fase Syntesis Menghasilkan machine operation code yang berkorespondensi dengan mnemonic operation code yang telah dicari pada mnemonic table Menghasilkan alamat operand dari Symbol table Melakukan sintesa instruksi machine

Translasi statement demi statement program bahasa assembly Assembly Language Statement Analysis Synthesis Equivalent target code

contoh program assembly FIVE SUM MOVE. L FOUR, DO ADD.L FIVE, DO MOVE.L DO, SUM FOUR DC.L 4 DC.L 5 DS.L 1 FIVE merupakan label yang menunjuk pada alamat dimana isi dari FIVE tersebut disimpan. FIVE tidak terdefinisi sebelumnya Penterjemahan seperti ini disebut forward reference forward reference alamat dari label harus dikenali dalam jenisnya untuk diterjemahkan ke dalam suatu program yang semestinya Proses terhadap source statement dilakukan lebih dari satu kali atau secara beberapa b tahap (konsep translator t pass. )

Translator pass Penelusuran secara menyeluruh source program input oleh translator t hingga mencapai equivalent representation single pass translation Translasi yang dilakukan statement demi statement multipass translation translasi yang dilakukan sekelompok statement yang membutuhkan banyak pass

Multi-Pass Translation Multi pass translation dalam program bahasa assembly dapat menangani masalah forward reference. Unit pada source program digunakan untuk tujuan mentranslasi semua bagian program

Single Pass Translation Instruksi yang memuat forward reference dapat ditinggalkan dalam keadaan tidak selesai hingga alamat reference symbol diketahui Keuntungan menggunakan single pass translation adalah setiap source statement hanya diproses satu kali Kekurangan pada single pass translation,, yaitu besarnya area storage yang dibutuhkan oleh assembler, karena fase analysis dan synthesis dijalankan pada pass yang sama.

Single Pass Translation Dua macam tipe single pass translation / one pass,, yaitu : single pass translation yang menghasilkan kode objek langsung ke memori, yang mengakibatkan eksekusi menjadi lebih cepat. single pass translation yang menghasilkan berbagai tipe pemrograman untuk keperluan eksekusi selanjutnya

Keluaran Assembler Object File Source program file ASSEMBLER PROGRAM Program Listing Cross Reference Listing

Listing Program Menyediakan record dari source program dan object code Menyediakan pesan diagnosa untuk informasi error dalam pemrograman