Mode Pengalamatan
Mode Pengalamatan
Mode Pengalamatan
Mode Pengalamatan 80x86 Addressing Mode / Mode Penglamatan : adalah cara, bagaimana mp dapat mengakses operand Mode Pengalamatan pada 80x86: (1) register (2) immediate (3) direct (4) register indirect (5) based relative (6) indexed relative (7) based indexed relative
Mode Pengalamatan Register Menggunakan register untuk menyimpan data yang akan dimanipulasi Pada mode ini tidak operasi pada memori Operasi relatif cepat Contoh: MOV BX, DX ;copy isi DX ke BX MOV ES, AX ;copy isi AX ke ES ADD AL, BH ;jumlahkan isi BH dan AL, hasilnya di AL Register sumber dan tujuan mempunyai ukuran yang sama
Mode Pengalamatan Immediate Operand (source) adalah konstanta, yang terletak setelah opcode Operasinya sangat cepat Immediate addressing mode dapat digunakan pada semua register, kecuali register segmen dan flag (?) Contoh: MOV AX,2550H ; bilangan 2550H dimasukkan ke AX MOV CX,625 ; bilangan 625d dimasukkan ke CX MOV BL, 40H ; bilangan 40H dimasukkan ke BL
Mode Pengalamatan Langsung (Direct) Operand dari instruksi ini merupakan alamat memori data yang akan diakses Alamat ini merupakan EA (Effective Address) Contoh : MOV DL, [2400] ;copy isi memori dengan alamat DS:2400H ke DL Ditandai dengan [ ]
Mode Pengalamatan Register Tidak Langsung (indirect) Alamat lokasi memori data yang akan diakses tersimpan dalam register Register yang digunakan pada mode ini : SI, DI, dan BX contoh MOV AL,[BX] PA (Physical Address) dan EA (Effective Address) ? Ditandai dengan [ ]
Mode Pengalamatan Relatif Base (Base Relative) Menggunakan register BX and BP, untuk mendapatkan EA (effective address), ditambah dengan displacement Segment yang digunakan untuk mendapatkan physical address (PA) adalah: DS untuk BX SS untuk BP Contoh : MOV CX,[BX]+10 Pindahkan isi DS:BX+10 dan DS:BX+10+1 ke reg. CX ; PA = ?
Mode Pengalamatan Relatif Berindeks (Indexed relative) Sama seperti based relative addressing mode, register yang digunakan adalah DI dan SI Contoh: MOV DX, [SI]+5 ; MOV CL, [DI]+20 ;
Mode Pengalamatan Indeks Berbasis (Based indexed) kombinasi based dan indexed addressing modes Menggunakan satu base reg. dan satu index reg. Contoh: MOV CL, [BX][DI] + 8 MOV CH, [BX][SI]+20 MOV AH,[BP][DI]+12 MOV AH,[BP][SI]+29
Offset Register untuk berbagai Segment SS ES DS CS Segment Register SP,BP SI, DI, BX IP Offset Register
Segmen Override CPU 80x86 memungkinkan program untuk mengganti register segmen yang seharusnya dengan register segmen yang lain. Contoh : MOV AL,[BX] ; penunjuk alamat fisik adalah DS:BX Bandingkan dengan : MOV AL,ES:[BX].
Contoh segment overrides Instruksi Segmen yg digunakan Segmen seharusnya MOV AX,CS:[BP] CS:BP SS:BP MOV DX,SS:[SI] SS:SI DS:SI MOV AX,DS:[BP] DS:BP MOV CS,ES:[BX]+12 ES:BX+12 DS:BX+12 MOV SS:[BX][DI]+32,AX SS:BX+DI+32 DS:BX+DI+32