Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

MODE PENGALAMATAN PROGRAM MEMORI Mode pengalamatan program memori menggunakan instruksi JMP dan CALL, terdiri dari tiga bentuk yang berbeda: langsung,

Presentasi serupa


Presentasi berjudul: "MODE PENGALAMATAN PROGRAM MEMORI Mode pengalamatan program memori menggunakan instruksi JMP dan CALL, terdiri dari tiga bentuk yang berbeda: langsung,"— Transcript presentasi:

1 MODE PENGALAMATAN PROGRAM MEMORI Mode pengalamatan program memori menggunakan instruksi JMP dan CALL, terdiri dari tiga bentuk yang berbeda: langsung, relatif, dan tak langsung. Bagian ini mengenal tiga bentuk pengalamatan diatas dengan menggunakan instruksi JMP untuk mengilustrasikan operasinya. NEXT

2 Pengalamatan Program Memori Langsung Pengalamatan program memori langsung adalah pengalamatan yang digunakan mikroprosesor pertama untuk semua lompatan (jump) dan panggilan (call). Pengalamatan program memori langsung juga digunakan dalam bahasa tingkat tinggi seperti bahasa BASIC dengan instruksi GOTO dan GOSUB. Mikroprosesor menggunakan bentuk pengalamatan ini, tetapi tidak sesering penggunaan pengalamatan program memori relatif dan tidak langsung. NEXT

3 NEXT Opcode Offset (rendah) Offset (tinggi) Segmen (rendah) Segmen (tinggi) Bahasa mesin sepanjang 5 byte dari instruksi JMP (10000H) EA 00 10

4 NEXT Pengalamatan Program Memori Relatif Pengalamatan program memori relatif tidak terdapat dalam mikroprosesor awal, melainkan pada keluarga mikroprosesor ini. Istilah relatif berarti ”relatif terhadap pointer instruksi (IP)”. Sebagai contoh, jika instruksi JMP melompati memori dua byte berikutnya, alamat yang berhubungan dengan pointer instruksi adalah 2 ditambah pointer instruksi. Hasil penjumlahan tersebut menghasilkan alamat instruksi program selanjutnya. Sebuah contoh instruksi JMP relatif ditunjukkan pada gambar perhatikan bahwa instruksi JMP adalah instruksi satu byte, dengan displacement satu byte atau dua byte yang menambah pointer instruksi. Displacement satu byte digunakan pada short jump, dan displacement dua byte digunakan untuk near jump dan call. Kedua jenis lompatan tersebut termasuk lompatan intrasegmen. (lompatan intrasegmen adalah lompatan disetiap tempat dalam suatu segmen kode). Pada ke atas, displacement dapat memunyai nilai 32-bit, sehingga mampu menggunakan pengalamatan relatif di setiap lokasi dalam 4G byte segmen kodenya.

5 NEXT Pengalamatan Program Memori Tak Langsung Mikroprosesor mengizinkan beberapa bentuk pengalamatan program memori tak langsung dengan instruksi JMP dan CALL. Tabel 3-10 merupakan daftar beberapa instruksi lompatan program tak langsung yang diizinkan, yang dapat menggunakan register 16- bit (AX, BX, CX, DX, SP, BP, DI, atau SI); register relatif ([BP], [BX], [DI], atau [SI]); dan register setiap relatif dengan suatu displacement. Pada ke atas, extended register juga dapat digunakan untuk menyimpan alamat atau alamat tak langsung dari JMP atau CALL relatif. Sebagai contoh, JMP EAX akan menyebabkan program melompat ke lokasi memori yang dialamati register EAX.

6 NEXT GAMBAR 3-15Instruksi JMP [2]. Instruksi ini melompati EB JMP [2] byte memori yang mengikuti instruksi JMP.10002— 10003— 10004

7 NEXT TABEL 3-10 Contoh pengalamatan program memori tak langsung. Bahasa AssemblyOperasi JMP AXMelompat ke lokasi segmen kode saat itu yang dialamati oleh isi AX JMP CXMelompat ke lokasi segmen kode saat itu yang dialamati oleh isi CX JMP NEAR PTR [BX]Melompat ke lokasi segmen kode saat itu yang dialamati oleh isi lokasi memori segmen data yang dialamati oleh BX JMP NEAR PTR [DI+ 2]Melompat ke lokasi segmen kode saat itu yang dialamati oleh isi lokasi memori segmen data yang dialamati oleh DI ditambah 2 JMP TABLE [BX]Melompat ke lokasi segmen kode saat itu yang dialamati oleh isi lokasi memori segmen data yang dialamati oleh TABLE ditambah BX JMP ECXMelompat ke lokasi segmen kode saat itu yang dialamati oleh isi ECX GAMBAR 3-16Tabel lompatan yangTABLEDWLOC0 menyimpan alamat berbagai program.DWLOC1 Alamat sebenarnya yang dipilih dariDWLOC2 TABLE ditentukan oleh indeks yangDWLOC3 tersimpan dalam instruksi lompatan.

8 NEXT

9 NEXT TABEL 3-11 Contoh pengalamatan program memori tak langsung. Bahasa AssemblyOperasi POPFMemindahkan word dari stack dan menempatkannya ke dalam flag POPFDMemindahkan doubleword dari stack dan menempatkannya ke dalam register EFLAG PUSHFMenyalin flag ke dalam stack PUSHFDMenyalin register EFLAG ke dalam stack PUSH AXMenyalin AX ke dalam stack POP BXMemindahkan word dari stack dan menempatkannya ke dalam BX PUSH DSMenyalin DS ke dalam stack PUSH 1234HMenyalin 1234H ke dalam stack POP CSInstruksi illegal PUSH WORD PTR[BX]Menyalin word dari lokasi memori segmen data yang dialamati BX ke dalam stack PUSHAMenyalin isi word dari AX, CX, DX, BX, SP, BP, DI, dan SI ke dalam stack POPAMemindahkan data dari stack dan menempatkannya ke dalam SI, DI, BP, SP, BX, DX, CX, dan AX PUSHADMenyalin isi doubleword dari EAX, ECX, EDX, EBX, ESP, EBP, EDI, dan ESI ke dalam stack POPADMemindahkan data dari stack dan menempatkannya ke dalam ESI, EDI, EBP, ESP, EBX, EDX, ECX, dan EAX POPEAXMemindahkan data dari stack dan menempatkannya dalam EAX PUSH EDIMenyalin EDI ke dalam stack

10 NEXT Soal 1. Buatlah contoh tabel pengalamatan program memori tak langsung dan contoh pengalamatan program memori tak langsung! 2. Jelaskan dan gambarkan instruksi PUSH dan POP dimana PUSH BX menempatkan isi BX ke dalam stack dan POP CX memindahkan data dari stack dan menempatkannya ke dalam CX!

11 TUTUP Terima Kasih


Download ppt "MODE PENGALAMATAN PROGRAM MEMORI Mode pengalamatan program memori menggunakan instruksi JMP dan CALL, terdiri dari tiga bentuk yang berbeda: langsung,"

Presentasi serupa


Iklan oleh Google