Pilihan Perancangan Assembler One-Pass dan Multi-Pass Assembler

Slides:



Advertisements
Presentasi serupa
erna kumalasari nurnawati
Advertisements

Sistem Operasi (pertemuan 7) Memori Razief Perucha F.A Jurusan Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Syiah Kuala
Organisasi Komputer : Struktur dan Fungsi Komputer 2
Arsitektur Komputer “Instruksi Set Arsitektur”
Teknik Kompilasi Febuari 2013.
SISTEM BERKAS Pengenalan Riyanto, S.Kom.
Chapter 20 Pembentukan Kode.
Fitur Assembler Berorientasi Mesin (SIC/XE Assembler) Format Instruksi, Addressing Mode, dan Relokasi Program.
Instruksi macro Instruksi macro (macro) Contoh:
Pengantar Teknik Kompilasi
Manajemen File.
ARSITEKTUR SET INSTRUKSI
BAB IV Teknik Pemrograman
ARSITEKTUR SET INSTRUKSI
ARSITEKTUR SET INSTRUKSI
LOKASI DAN OPERASI MEMORI
Pengantar Bahasa Rakitan
Bahasa Mesin dan Assembly
Pertemuan 4 (Set Instruksi ARM)
Fitur Assembler yang Tidak Berorientasi Mesin Literal, Statement yang Mendefinisikan Simbol, Ekspresi, Blok Program, Control Sections dan Program Linking.
VALUE ORGANIZATION Konsep File QUALITY TEAMWORK.
Pengantar Teknik Kompilasi
KOMPUTER PERANGKAT KERAS & KOMPUTER PERANGKAT LUNAK
Pertemuan 13 Code Genarator
Instruksi dalam CPU.
Pengenalan Assembler.
ARSITEKTUR SET INSTRUKSI
Manajemen Memori.
BAB IV Teknik Pemrograman
Komponen CPU (2) ALU,I/O Interconnection & Interupsi
Sistem Berkas.
“ SISTEM BERKAS DAN KEAMANAN DATA ”
Manajemen File STMIK MDP PALEMBANG.
Lanjutan SISTEM BERKAS (File System)
Pertemuan 3 (Bahasa Assembly)
PENGANTAR TEKNIK KOMPILASI
Bahasa Pemprograman Dasar
Virtual Memory Virtual Memory Virtual Memory Virtual Memory
Pertemuan III SET Instruksi.
MODE PENGALAMATAN DAN SET INSTRUKSI
PENGANTAR LOGIKA & TEKNIKPEMROGRAMAN
BAHASA PEMROGRAMAN.
ARSITEKTUR SET INSTRUKSI
Analisis semantik, kode antara dan pembangkitan kode
Mode Pengalamatan &Jenis-Jenis Instruksi
ORGANISASI & ARSITEKTUR KOMPUTER 2 SET INSTRUKSI IBP WIDJA, MT
Pengenalan Assembler.
Pengantar Teknik Kompilasi
Semantics Analyser Contoh : A := ( A+B) * (C+D)
Set Instruksi:.
ASSEMBLER #1 MK. PEMROGRAMAN SISTEM
ASSEMBLER #2 MK. PEMROGRAMAN SISTEM
ASSEMBLER #3 MK. PEMROGRAMAN SISTEM
Pengantar Bahasa Rakitan
ARSITEKTUR SET INSTRUKSI
Pengantar Bahasa Rakitan
Ilustrasi kinerja CPU.
Lecturer Note II Turbo Pascal & Pemrograman
STRUKTUR DATA LINKED LIST
Teknik Kompilasi Abdul Wahid, ST, M.Kom
ARSITEKTUR SET INSTRUKSI
Pengamanan Pada Berkas/Data/File
Pengantar Teknik Kompilasi
Manajemen Sistem File Konsep File Metode Akses Struktur Direktori
Pengantar Teknik Kompilasi
Pengantar Bahasa Rakitan
Teknik Optimasi by kustanto
Riyani Purwita Rachmawati, S.Pd
ARSITEKTUR SET INSTRUKSI
Karakteristik Set Instruksi 14 JP. Karakteristik Set Instruksi Pengertian Set Instruksi Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan.
Transcript presentasi:

Pilihan Perancangan Assembler One-Pass dan Multi-Pass Assembler

One-Pass Assembler One-pass assembler digunakan ketika Second pass source program perlu atau ingin dihindari storage eksternal untuk file intermediate antara dua pass berjalan lambat atau tidak memudahkan untuk digunakan Masalah utama: forward reference ke data dan instruksi Satu cara mudah untuk mengeliminasi masalah ini: menuntut semua area didefinisikan sebelum di-referensi. Mungkin dilakukan, walaupun tidak memudahkan, jika dilakukan pada data item. Forward jump untuk instruction item tidak dapat dieliminasi dengan mudah.

Contoh Program untuk One-Pass Assembler

Contoh Program untuk One-Pass Assembler

Contoh Program untuk One-Pass Assembler

Load-and-Go Assembler Load-and-go assembler membuat object code-nya di memori untuk immediate execution. Tidak ada object program yang dituliskan, loader tidak diperlukan. Berguna untuk sistem yang berorientasi pada pengambangan dan pengujian program sehingga efisiensi proses assembly merupakan pertimbangan penting.

Cara Menangani Forward Reference Load-and-go assembler Menghilangkan alamat operand jika simbol belum didefinisikan. Memasukkan simbol yang tak terdefinisi ini ke dalam SYMTAB dan memberi keterangan bahwa belum terdefinisi. Menambahkan alamat dari alamat operand ini ke daftar forward reference yang berhubungan dengan SYMTAB entry. Scan daftar referensi menyisipkan alamat ketika definisi simbol tersebut ditemukan. Melaporkan error jika masih ada SYMTAB entry yang menunjukkan simbol-simbol tak terdefinisi pada akhir program. Menelusuri SYMTAB untuk mencari simbol yang diberi nama pada statement END dan melompat ke lokasi ini untuk mulai eksekusi jika tidak ada error.

Object Code pada Memori dan SYMTAB Setelah scan baris 40

Object Code pada Memori dan SYMTAB Setelah scan baris 160

One-Pass Assembler yang Menghasilkan Object Program Jika operand berisi simbol yang tak terdefinisi, gunakan 0 sebagai alamat dan tuliskan Text record ke object program. Forward reference dimasukkan ke dalam list (daftar) seperti pada load-and-go assembler. Ketika definisi simbol ditemukan, assembler membuat satu Text record lain dengan alamat operand yang benar untuk setiap entry pada daftar referensi. Ketika di-load, alamat 0 yang tidak benar akan di-update oleh Text record berikutnya yang berisi definisi simbol.

Object Program dari One-Pass Assembler

Multi-Pass Assembler Tidak memperbolehkan forward references pada definisi simbol: Pembatasan ini tidak merupakan masalah yang serius. Forward reference cenderung menimbulkan kesulitan untuk orang yang membaca program. Memungkinkan forward reference Untuk memberikan flexibilitas yang lebih luas Solusi: Multi-pass assembler yang dapat melakukan pass sebanyak yang diperlukan untuk mengolah definisi simbol. Hanya bagian program yang melibatkan forward reference pada definisi simbol yang di-save untuk multi-pass reading.

Multi-Pass Assembler Untuk two pass assembler, forward reference pada definisi simbol tidak diperbolehkan: ALPHA EQU BETA BETA EQU DELTA DELTA RESW 1 Alasan: definisi simbol harus diselesaikan pada pass 1. Motivasi untuk menggunakan a multi-pass assembler DELTA dapat didefinisikan pada pass 1 BETA dapat didefinisikan pada pass 2 ALPHA dapat didefinisikan pada pass 3

Implementasi Tabel simbol digunakan untuk menyimpan definisi simbol yang memakai forward reference untuk menunjukkan simbol yang bergantung pada nilai yang lain untuk memfacilitasi evaluasi simbol Untuk forward reference pada definisi simbol, di dalam SYMTAB disimpan: nama simbol pendefinisian ekspresi jumlah simbol tak terdefinisi pada ekspresi yang mendefinisikan simbol tak terdefinisi (ditandai dengan flag *) yang berhubungan dengan daftar simbol bergantung pada simbol tak terdefinisi ini. Ketika simbol didefinisikan, secara rekursif kita dapat mengevaluasi ekspresi simbol, bergantung pada simbol yang baru didefinisi.

Contoh Forward Reference

Contoh Forward Reference 1 HALFSZ EQU MAXLEN/2 Satu simbol tak terdefinisi pada ekspresi yang mendefinsikan Ekpresi yang mendefinsikan Simbol tak terdefinisi depending list

2 MAXLEN EQU BUFEND-BUFFER Simbol tak terdefinisi depending list Dua simbol tak terdefinisi pada ekspresi yang mendefinisikan Ekspresi yang mendefinisikan Simbol tak terdefinisi depending list

3 PREVBT EQU BUFFER-1 Ditambahkan ke list

4 BUFFER RESB 4096

5 BUFEND EQU *