assembler pertemuan ke-1

22
ASSEMBLER PERTEMUAN KE-1 PENGENALAN ASSEMBLER & SEJARAH MICROPROSESOR

Upload: keiki

Post on 17-Jan-2016

83 views

Category:

Documents


0 download

DESCRIPTION

ASSEMBLER PERTEMUAN KE-1. PENGENALAN ASSEMBLER & SEJARAH MICROPROSESOR. Silabus Kuliah Assembler. Memori & Register Pengalamatan Pembuatan File *.com & *.exe Operasi Aritmatika & Logika Kendali Aliran Stack Procedure dan Macro Interrupt Pengaksesan Port. Apa Assembler itu?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ASSEMBLER PERTEMUAN KE-1

ASSEMBLERPERTEMUAN KE-1

PENGENALAN ASSEMBLER

&

SEJARAH MICROPROSESOR

Page 2: ASSEMBLER PERTEMUAN KE-1

Silabus Kuliah Assembler Memori & Register Pengalamatan Pembuatan File *.com & *.exe Operasi Aritmatika & Logika Kendali Aliran Stack Procedure dan Macro Interrupt Pengaksesan Port

Page 3: ASSEMBLER PERTEMUAN KE-1

Apa Assembler itu?Bahasa Pemrogram Tingkat Rendah Untuk Memprogram Mesin Prosesor dg Arsitektur tertentu (Hardware-Dependent)Menggunakan representasi mnemonic (tergantung perusahaan yg membuat Prosesor)

Assembler adalah Bahasa Rakitan (Assembly Language) Bahasa rakitan merupakan:> Notasi untuk bahasa mesin yang dapat dibaca oleh manusia> Notasi berbeda-beda tergantung dari arsitektur komputer yang digunakan.

Sumber: id.wikipedia.org

Page 4: ASSEMBLER PERTEMUAN KE-1

Mengapa Assembler?

Kecepatan Ukuran file kecil Mudah dipelajari Kemampuan manipulasi sistem komputer

Page 5: ASSEMBLER PERTEMUAN KE-1

Penulisan PerintahPerintah dalam Assembler bersifat mnemonic. Setiap baris berisi satu perintah untuk melakukan suatu proses terhadap register.Bentuk umum penulisan kode Assembler:

[Label] Mnemonic-OPcode Operand[,Operand ...]

tanda ‘[]’ menunjukkan optional.Label: .Mnemonic-Opcode: instruksi/perintah operasional mnemonic.Operand: register(reg), alamat-memori(mem), atau nilai-data(dat).

Contoh:Loop: mov AH,EF

inc CXjmp Loop

Page 6: ASSEMBLER PERTEMUAN KE-1

Beberapa Perintah dalam Assembler ADD - Mejumlahkan A dengan B lalu hasil disimpan di C COM - Membandingkan A dengan B DIV - Membagi A dengan B lalu hasil disimpan di C JE addr - Jump, jika sama-dengan (=), ke addr JG addr - Jump, jika lebih-dari (>), ke addr JGE addr - Jump, jika lebih-dari atau sama-dengan (≥), ke addr JL addr - Jump, jika kurang-dari (<), ke addr JLE addr - Jump, jika kurang-dari atau sama-dengan (≤), ke addr JNE addr - Jump, jika tidak sama-dengan (≠), ke addr JUMP addr - Jump ke addr

Page 7: ASSEMBLER PERTEMUAN KE-1

Beberapa Perintah dalam Assembler LOADA mem - Menampung register A dari alamat memori LOADB mem - Menampung register B dari alamat memori MUL - Mengalikan A dengan B lalu hasil disimpan di C SAVEB mem - Menyimpan register B ke alamat memori SAVEC mem - Menyimpan register C ke alamat memori STOP - Menghentikan eksekusi SUB - Mengurangkan A dengan B lalu hasil disimpan di C

Page 8: ASSEMBLER PERTEMUAN KE-1

Mencari nilai faktorial dari 5 5! = 5 * 4 * 3 * 2 * 1 = 120 Bahasa-C:

a=1; f=1; while (a <= 5) { f = f * a; a = a + 1; }

Compiler C mengubah kode di atas ke dalam bahasa assembly.

Bahasa-Assembly:0 CONB 1 // a=1; 1 SAVEB 128 // Anggap a di alamat 128 2 CONB 1 // f=1; 3 SAVEB 129 // Anggap F di alamat 1294 LOADA 128 // if a > 5 the jump to 17 5 CONB 5 6 COM 7 JG 17 8 LOADA 129 // f=f*a; 9 LOADB 128 10 MUL 11 SAVEC 129 12 LOADA 128 // a=a+1; 13 CONB 1 14 ADD 15 SAVEC 128 16 JUMP 4 // melompat ke if 17 STOP

Page 9: ASSEMBLER PERTEMUAN KE-1

SISTEM BILANGAN

BILANGAN BINERSebenarnya semua bilangan, data maupun program itu sendiri akan diterjemahkan oleh komputer ke dalam bentuk biner. Jadi pendefinisisan data dengan jenis bilangan apapun (desimal, oktal dan hexadesimal) akan selalu diterjemahkan oleh komputer ke dalam bentuk biner.Bilangan Biner adalah bilangan yang hanya terdiri atas 2 angka (Berbasis dua), yaitu 0 dan 1.

BILANGAN DESIMALBilangan Desimal adalah jenis bilangan yang paling banyak dipakai dalam kehidupan sehari-hari.Bilangan desimal adalah bilangan yang terdiri atas 10 angka (Berbasis 10), yaitu angka 0-9.

Page 10: ASSEMBLER PERTEMUAN KE-1

SISTEM BILANGAN

BILANGAN OKTALBilangan oktal adalah bilangan dengan basis 8, artinya angka yang dipakai hanyalah antara 0-7.

BILANGAN HEXADESIMALBilangan Hexadesimal merupakan bilangan yang berbasis 16. Dengan angka yang digunakan berupa:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.Bilangan Hexadesimal paling sering digunakan dalam Assembler. karena mudah dikonversikan dengan bilangan Biner dan Desimal.Karena berbasis 16, maka 1 angka pada hexadesimal akan menggunakan 4 bit.

Page 11: ASSEMBLER PERTEMUAN KE-1

Mikroprosesor

Mikroprosesor (µP) Prosesor

Pengatur kerja komputer

Page 12: ASSEMBLER PERTEMUAN KE-1

Perkembangan MikroprosesorCPU Intel dibuat berdasarkan arsitektur Von Neumann. Sistem komputer Von Neumann terdiri dari 3 blok utama, yaitu:

central processing unit (CPU), memori, dan perangkat input/output (I/O).

Ketiga komponen ini saling terkait dalam system bus.Diagram di samping menggambarkan hubungan ketiganya. webster.cs.ucr.edu

Blok Diagram Sistem Komputer Von Neumann

Page 13: ASSEMBLER PERTEMUAN KE-1

Perkembangan MikroprosesorTahun 1974,- µP pertama yang dibuat untuk komputer di rumah adalah Intel 8080.- Komputer 8-bit dalam satu chip.

Tahun 1979,- Intel mengeluarkan 8088.- Digunakan sekitar tahun 1982 untuk PC-IBM.

Penjualan PC dimulai dari 8088 ke 80286 lalu 80386 kemudian 80486 berikutnya ke Pentium lalu Pentium II kemudian Pentium III hingga Pentium 4.

Semuanya dibuat Intel dan merupakan pengembangan dari desain 8088.

Pentium 4 dapat menjalankan semua kode yang dijalankan pada 8088, namun 5.000 kali lebih cepat! `

Page 14: ASSEMBLER PERTEMUAN KE-1

Perkembangan MikroprosesorApakah “Chip” itu?

Chip atau IC (integrated circuit), terdiri atas potongan kecil silikon dimana transistor membentuk rangkaian mikroprosesor.

Sebuah chip seukuran 1 inci dapat berisi puluhan-juta transistor.

Sumber: www.howstuffworks.com

Page 15: ASSEMBLER PERTEMUAN KE-1

Perkembangan Mikroprosesor

8088 & 8086 :• Ini merupakan processor IBM-PC yang pertama

sekali atau yang sering disebut XT.

• Jalur Bus Data 8088 menggunakan 8bit.

• Jalur Bus Data 8086 menggunakan 16bit.

• Beda Jalur Bus Beda Jumlah Data yg dikirim.

kecepatan 8086 di atas 8088.

• 8088 & 8086 mengalamatkan memori1MB.

Page 16: ASSEMBLER PERTEMUAN KE-1

Perkembangan Mikroprosesor

80286 :• Pengembangan dari 8086 dg penambahan Instruksi baru.

• Jalur Bus sama dg 8086, tapi kecepatan di atas 8086.

• Dapat bekerja pada 2 mode: Real & Protected.

• ModeReal beroperasi sama seperti 8088/8086 hanya berbeda dalam kecepatan.

• ModeReal bertujuan agar semua software pada 8088/8086 dapat dioperasikan di 80286.

• ModeProtected membantu pengalamatan memori16MB.

Page 17: ASSEMBLER PERTEMUAN KE-1

Perkembangan Mikroprosesor

80386 : • Bus Data 32bit kecepatannya jauh di atas

80286.

• Penambahan mode pemrograman baru yaitu ModeVirtual.ModeVirtual membantu pengalamatan memori4GB.

• ModeReal kompatibilitas dg 8088/8086

• ModeProtected kompatibilitas dg 80286.

Page 18: ASSEMBLER PERTEMUAN KE-1

Memori

Menyimpan program. Menampung hasil suatu proses. Bersifat Volatile

Page 19: ASSEMBLER PERTEMUAN KE-1

Memori

8088 menggunakan 8 bit. 8086 menggunakan 16bit. 8088 & 8086 mengalamatkan

memori1MB.

Segmen:Offset

Page 20: ASSEMBLER PERTEMUAN KE-1

1357h:2468h

1356h:2478h

Page 21: ASSEMBLER PERTEMUAN KE-1

Memori

Segmen:Offset Segmen 0001h berawal dari lokasi memori 16 (0010h) hingga

65551 (65535 + 16). Segmen 0002h berawal dari lokasi 32 hingga 65567. Demikian seterusnya.

Overlapping/tumpang-tindihdi mana lokasi offset 0010h bagi segmen 0000h akan merupakan offset 0000h bagi segmen 0001h.Demikian pula offset 0011h bagi segmen 0000h akan merupakan offset 0001h bagi segmen 0001h.Sehingga akan terlihat bahwa ada banyak nilai segmen:offset yang dapat digunakan untuk menyatakan suatu alamat memori tertentu disebabkan adanya overlapping ini.

Page 22: ASSEMBLER PERTEMUAN KE-1