Mode Pengalamatan (Addressing Mode)

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Flags.
Pemograman DEBUG.
Praktikum Organisasi Komputer (Bahasa Assembly)
BAB IV MODE PENGALAMATAN
Bhakti Yudho Suprapto, MT
Arsitektur Komputer “Mode Pengalamatan”
Mode Pengalamatan (Addressing Mode)
SISTEM BILANGAN DAN REGISTER
REGISTER Oleh : Oman Somantri, S.Kom
Struktur Register dan Metode Pengalamatan Memori
Register di dalam 8088/8086 Nama Register Bit Katagori AX,BX,CX,DX 16
Bab I: Pengertian Mikroprosesor
DEBUG.
Organisasi Komputer STMIK – AUB SURAKARTA
Dasar pemrograman Mikroprosesor 8086
Mikroprosesor 8086 dan 8088.
Pemrograman Mikroprosesor
BAB III RAM Internal pada MCS-51
BAB IV Teknik Pemrograman
Mode Pengalamatan Mengatasi keterbatasan format instruksi
ADDRESSING MODES Penjelasan dan program lihat pada Pemograman Bahasa Assembly (Ilmu Komputer)
PERTEMUAN KE-2 PERKULIAHAN SISTEM OPERASI
SET INSTRUKSI.
Johannes Simatupang, MKom, Cobit5-F NIDN :
Kuliah 2: 2.1. Struktur Register 2.2. Mode Pengalamatan
REGISTER.
Bahasa RakitanABM 1 Kuliah 3: 3.1. Debugging dan TASM 3.2. Interrupt Kuliah 3: 3.1. Debugging dan TASM 3.2. Interrupt.
Mode Pengalamatan.
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
Pertemuan 1 Mengapa Belajar Bahasa Rakitan ??
Mode Pengalamatan Memori
1 Pertemuan 4 Mode Pengalamatan Matakuliah: T0483 / Bahasa Rakitan Tahun: 2005 Versi: 1.0.
EE-2623 Mikroprosesor & Antarmuka
SISTEM BILANGAN DAN REGISTER
MODE DAN FORMAT PENGALAMATAN.
Program Bahasa Rakitan dengan DEBUG.COM
Instruksi Perpindahan Data
Arsitektur Perangkat Lunak 8086
PENDAHULUAN Pembuatan perangkat lunak yang efisien untuk mikroprosesor membutuhkan pengenalan yang menyeluruh mengenai mode pengalamatan yang digunakan.
Arsitektur Mikroprosessor 8086
Register.
1 Pertemuan 3 Komponen Sistem Komputer dan Register pada prosesor 8088 Matakuliah: T0483 / Bahasa Rakitan Tahun: 2005 Versi: versi 1.0 / revisi 1.0.
Pengenalan Assembler.
Dasar pemrograman Mikroprosesor 8086
Program Bahasa Rakitan dengan DEBUG.COM
BAB IV Teknik Pemrograman
Mode Pengalamatan Mengatasi keterbatasan format instruksi
EE-2623 Mikroprosesor & Antarmuka
Stack Segment & Bahasa Assembly
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
MODE PENGALAMATAN DAN SET INSTRUKSI
Mode Pengalamatan.
Struktur Register Mikroprosesor 8086
Matakuliah : H0162/ Mikroprosesor Tahun : 2006 Versi : 1/0
Struktur Register dan Metode Pengalamatan
REGISTER.
Mikroprosesor 8086 dan 8088.
Sistem Bilangan & REGISTER
Pengenalan Assembler.
BAB III REGISTER 8088 Mikroprosesor 8088 berorientasi pada register
Pertemuan 6 Instruksi Bahasa Rakitan 8088
Mode Pengalamatan.
ASSEMBLER #3 MK. PEMROGRAMAN SISTEM
Mode Pengalamatan Mulyono.
Pertemuan 4 Central Processing Unit
Struktur Register dan Metode Pengalamatan Memori
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
CHAP 6 SET INSTRUKSI MEMORI
Transcript presentasi:

Mode Pengalamatan (Addressing Mode) Mikroprosesor Mode Pengalamatan (Addressing Mode) KELUARGA INTEL 8086 SIMULATOR SMS32V23 Mikroprosesor

Program DEBUG DEBUG merupakan program yang berjalan di atas sistem operasi DOS yang dapat digunakan untuk mengeksplorasi resources yang dimiliki prosesor 8086. Menjalankan DEBUG: C:\DEBUG Melalui DEBUG kita dapat menulis instruksi assembly, menjalankan instruksi assembly, melihat isi register, melihat isi memori maupun memodifikasi isi memori. Mikroprosesor

Program DEBUG AX=00 00 BX=00 00 CX=00 00 DX=00 00 Setelah program DEBUG dijalankan, Ketik R untuk melihat isi register! AX=00 00 BX=00 00 CX=00 00 DX=00 00 AL (8-bit) BL (8-bit) CL (8-bit) DL (8-bit) AH (8-bit) BH (8-bit) CH (8-bit) DH (8-bit) Register serbaguna mikroprosesor 8086 dilihat dengan program DEBUG Mikroprosesor

Register-register khusus (special purpose) mikroprosesor 8086 dilihat dengan program DEBUG: STACK POINTER SOURCE INDEX EXTRA SEGMENT BASE POINTER DESTINATION INDEX DATA SEGMENT CODE SEGMENT INSTRUCTION POINTER STACK SEGMENT Mikroprosesor

Register-register bendera mikroprosesor 8086 dilihat dengan program DEBUG: Bendera Overflow: NV (No oVerflow, reset), OV (Overflow, set) Bendera Sign: PL (PLus, reset), NG (NeGative, set) Bendera Zero: NZ (No Zero, reset), ZR (ZeRo, set) Bendera Auxiliary Carry: NA (No Aux., reset), AC (Aux. Carry, set) Bendera Parity: PO (Parity Odd, reset), PE (Parity Even, set) Bendera Carry: NC (No Carry, reset), CY (Carry, set) Mikroprosesor

Melihat isi memori dengan program DEBUG: Setelah program DEBUG dijalankan, Ketik D untuk melihat isi memori! Alamat relatif 10FH Alamat relatif 100H Mikroprosesor

Bahasa Pemrograman High Level Language (HLL): bahasa pemrograman yang menggunakan variabel sebagai peyimpan data. Contoh: pemrograman Matlab untuk menghitung 5+2: A=5; B=2; A=A+B; A, B, dan C adalah variabel. Contoh HLL yang lain: Pascal (Delphi), dan C++. Mikroprosesor

Bahasa Pemrograman Low Level Language (assembly): bahasa pemrograman yang menggunakan register sebagai peyimpan data. Contoh: pemrograman untuk menghitung 5+2: MOV AL,5 ADD AL,2 AL adalah register Mikroprosesor

Level Kode Format Heksadesimal Format Assembly Level Manusia Level Mesin Mikroprosesor

Format instruksi assembly LABEL OPCODE OPERAND COMMENT Contoh: MOV AL,5 LDAA #$5 Baris pertama adalah instruksi mesin 2 alamat seperti INTEL, artinya pindahkan/isikan (MOV) ke dalam register AL bilangan 5 heksadesimal Baris kedua instruksi mesin 1 alamat seperti MOTOROLA, atinya pindahkan/isikan ke dalam Register A bilangan 5 heksadesimal. Mikroprosesor

Mode Pengalamatan Pada Mikroprosesor Keluarga 8086 Merupakan cara memberikan perintah transfer/pemindahan data dari lokasi satu ke lokasi lainnya. Lokasi pemindahan data dapat meliputi: register, alamat memori, maupun piranti I/O Pemrogram (manusia) menulis instruksi dalam format assembly, selanjutnya oleh compiler (program) diubah menjadi format heksadesimal dan disimpan dalam memori. Mikroprosesor

Lokasi Pemindahan Data Lokasi memori Lokasi I/O Lokasi register MP ROM RAM I/O Interface BUS ALAMAT BUS DATA BUS KONTROL Pengertian Mikroprosesor

I. Mode Pengalamatan Segera (Immediate Addressing) Immediate addressing merupakan mode pengalamatan yang digunakan untuk mengisi suatu register dengan data. Bentuk: MOV AL,5 TUJUAN: REGISTER/ AKUMULATOR SUMBER: DATA Arti: isilah atau copy 5 heksadesimal ke register AL Mikroprosesor

Jika tugas di atas dilakukan dengan benar, maka hasilnya adalah: Untuk mempelajari mode pengalamatan dapat digunakan program DEBUG. Jalankan program DEBUG, kemudian berikan perintah A untuk menulis program assembly. Tulis program assembly seperti berikut ini! MOV AL,15 MOV BL,21 MOV CX,1A2B MOV DX,5678 Setelah program ditulis, coba jalankan ke-4 instruksi tersebut dengan memberi perintah trace dengan mengetik T diikuti ENTER sebanyak 4 kali! Jika tugas di atas dilakukan dengan benar, maka hasilnya adalah: Mikroprosesor

Terlihat bahwa isi register AL=15, isi register BL=21, isi register CX=1A2B dan isi register DX=5678. Mikroprosesor

Selanjutnya, lihat isi memori dengan perintah D, akan terlihat: Dari gambar di atas, terlihat kode: B0 15 B3 21 B9 2B 1A BA 78 56, hal itu menunjukkan kode-kode keempat instruksi di atas dalam format heksadesimal. Dalam hal ini: MOV AL,15 memiliki kode heksadesimal B0 15 menempati alamat memori 0100 dan 0101, sedangkan B3 21 adalah kode heksadesimal untuk instruksi MOV BL,21 dan menempati alamat memori 0102 dan 0103 dan seterusnya. Mikroprosesor

Contoh Lain Mode Pengalamatan Segera: MOV AX,A1B2  apa artinya? MOV BL,03 apa artinya? MOV BP,1234  apa artinya? Register yang dapat diisi data dengan mode pengalamatan segera: AX,BX,CX,DX,AL,AH,BL,BH,CL,CH,DL,DH, BP,SP,SI,DI Register segmen tidak dapat diisi dengan mode pengalamatan segera Alamat memori juga tidak dapat diisi secara immediate Mikroprosesor

II. Mode Pengalamatan Register (Register Addressing) Register addressing adalah mode pengalamatan yang digunakan untuk mentransfer data (byte/word) dari register sumber ke register tujuan. Bentuk: MOV AL,BL TUJUAN: REGISTER SUMBER: REGISTER Arti: copy isi register BL ke register AL Mikroprosesor

Contoh Mode Pengalamatan Register: MOV AL, BL  apa artinya? MOV AX, CX  apa artinya? MOV CS, AX  apa artinya? MOV CS, DS  tidak diijinkan karena segment to segment MOV BL, BX  Tidak dijinkan karena berbeda ukuran (mixed size) Mikroprosesor

Contoh Mode Pengalamatan Register: Susun perintah untuk mengisi register segmen DS dengan data 1234 heksadesimal! Jawab: MOV AX,1234  immediate addressing MOV DS,AX register addressing Mikroprosesor

III. Mode Pengalamatan Langsung (Direct Addressing) Direct addressing merupakan mode pengalamatan untuk mentransfer data antar memori dan register Bentuk 1: MOV AL,[0120] TUJUAN: REGISTER SUMBER: ALAMAT RELATIF MEMORI Arti: copy data pada alamat relatif memori 0120 ke register AL Mikroprosesor

Contoh Bentuk 1: Susun instruksi assembly untuk memindahkan/copy isi alamat 1120 heksadesimal ke register AL, isi alamat 1150 heksadesimal ke register BL, dan isi alamat 1160 heksadesimal ke register CL! Anggap segment base 1000 tersimpan pada register DS! Jawab: MOV AX,1000  immediate addressing MOV DS,AX  register addressing MOV AL,[0120]  direct addressing MOV BL,[0150]  direct addressing MOV CL,[0160]  direct addressing Coba kerjakan contoh di atas menggunakan program DEBUG! Mikroprosesor

Bentuk 2: MOV [0120],AL SUMBER: REGISTER TUJUAN: ALAMAT RELATIF MEMORI Contoh: susun instruksi untuk mengisi alamat 1120 dengan data 5 heksadesimal! Anggap segment base yang digunakan adalah 1000 tersimpan dalam DS! Mikroprosesor

MOV AX,1000 IMMEDIATE ADDRESSING MOV DS,AX REGISTER ADDRESSING Jawab: MOV AX,1000 IMMEDIATE ADDRESSING MOV DS,AX REGISTER ADDRESSING MOV AL,5 IMMEDIATE ADDRESSING MOV [0120],AL DIRECT ADDRESSING Latihan1: Susun instruksi untuk mengisi alamat 0150 heksadesimal dengan data 5, dan alamat 0160 heksadesimal dengan data 2. Isi kedua alamat tersebut dijumlahkan dan hasilnya disimpan di alamat 0170 heksadesimal. Gunakan program DEBUG untuk menguji program anda, tunjukkan dengan peta memori dan register bahwa program telah berjalan dengan baik. Mikroprosesor

IV. Mode Pengalamatan Tak Langsung (Indirect Addressing) Merupakan mode pengalamatan untuk mentransfer DATA/byte/word antar register dan lokasi yang alamatnya ditunjukkan oleh isi suatu register. Contoh MOV [BX], AX  Pindahkan isi register AX ke dalam alamat memori yang ditunjukkan oleh isi register BX Mikroprosesor

Intruksi yang digunakan MOV AX, 2000 MOV DS, AX MOV BX, 0300 Contoh permasalahan Susunlah intruksi ke dalam bahasa assembly untuk memindahkan data A1B2 yang ada di register AX ke alamat fisik memori 20300 heksadesimal menggunakan mode pengalamatan register indirect, anggap segment yang digunakan adalah DS = 2000 dan alamat relatif yang menunjukkan alamat memory disimpan di register BX Jawab: DS : IP = 20300  alamat fisik DS = 20000  alamat awal DS IP = 0300 Intruksi yang digunakan MOV AX, 2000 MOV DS, AX MOV BX, 0300 MOV AX, A1B2 MOV [BX], AX DIRECT: MOV AX, 2000 MOV DS, AX MOV AX, A1B2 MOV [0300], AX Mikroprosesor

V. Base Plus Index Addressing Yaitu mode pengalamatan yang digunakan untuk mentransfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh jumlah register base dan index. Bentuk1: MOV [BX + SI], AX Bentuk2: MOV AX,[BX+SI] Tugas2: Susun intruksi dalam bahasa assembly untuk memindahkan isi akumulator AX yakni A1B2 ke alamat memori 10500 heksadesimal dengan menggunakan mode pengalamatan base plus index, anggap segmen yang digunakan DS = 1000 dan register indeks yang digunakan SI = 300 Mikroprosesor

V. Register Relative Addressing Yaitu mode pengalamatan untuk tranfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh isi suatu register dan jaraknya (displacement) Contoh MOV [BX + 4], AX Mikroprosesor

Intruksi yang digunakan Mov AX,2000 Mov DS, AX Mov BX,0300 Mov AX,A1B2 Contoh permasalahan Susun intruksi dalam bahasa assembly untuk memindahkan data A1B2 dari akumulator AX ke alamat memori 20304 H dengan menggunakan register relative addressing , anggap segmen yang digunakan DS : 2000 dan dan displacement 4 DS : IP = 20304 DS = 20000 IP = 0304 Intruksi yang digunakan Mov AX,2000 Mov DS, AX Mov BX,0300 Mov AX,A1B2 Mov [Bx + 4], AX Mikroprosesor

VI. Base Relative Plus Index Addressing Merupakan mode pengalamtan yang digunakan untuk mentransfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh suatu register base dan register index ditambah displacement nya Contoh : MOV AX, [BX + DI + 4] Mikroprosesor

Mode Pengalamatan Pada SMS32V23 Immediate Addressing MOV AL,15 ; Copy 15 heksadesimal ke register AL MOV BL,40 ; Copy 40 heksadesimal ke register BL MOV CL,50 ; Copy 50 heksadesimal ke register CL MOV DL,60 ; Copy 60 heksadesimal ke register DL Ingat! SMS32V23 atau SMS32V50 hanya memiliki 4 buah register serbaguna yakni AL, BL, CL dan DL. Mikroprosesor

Mode Pengalamatan Pada SMS32V23 Indirect Addressing MOV [40],AL ; Copy value in AL to RAM location [40] MOV BL,[40] ; Copy value in RAM location [A0] into BL Mikroprosesor

Mode Pengalamatan Pada SMS32V23 Register Indirect Addressing MOV [CL],AL ; Copy the value in AL to the RAM location that CL points to. MOV BL,[CL] ; Copy the RAM location that CL points to into the BL register. Ingat! Ukuran RAM (memori) SMS32V23 atau SMS32V50 adalah 256 byte. Mikroprosesor

Mode Pengalamatan Pada SMS32V23 Register Addressing SMS32V23 atau SMS32V50 tidak menyediakan mode pengalamatan ini. Mode ini dijalankan dengan bantuan memori stack dengan perintah PUSH dan POP. Contoh: jika ingin copy data dari register AL ke BL, maka dilakukan dengan cara: PUSH AL POP BL Mikroprosesor

Mode Pengalamatan Pada SMS32V23 Register Addressing 5 5 5 AL BL AL BL PUSH AL Instruksinya: MOV AL,5 PUSH AL POP BL POP BL 5 5 Memori Stack Memori Stack Mikroprosesor

Mode Pengalamatan Pada SMS32V23 Contoh persoalan Susun program untuk mengisi alamat 50 dengan data A1 mengunakan akumulator AL. Data tersebut selanjutnya dipindah ke register BL dan isi BL ditambah dengan 5 dan hasilnya di copy ke register CL. Lakukan pengujian dengan simulator SMS32V23 atau SMS32V50! Mikroprosesor

Mode Pengalamatan Pada SMS32V23 Jawab: MOV AL,A1 MOV [50],AL MOV BL,[50] ADD BL,5 PUSH BL POP CL Mikroprosesor