Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

NILAI OPERAND: Address vs. Data

Presentasi serupa


Presentasi berjudul: "NILAI OPERAND: Address vs. Data"— Transcript presentasi:

1 NILAI OPERAND: Address vs. Data

2 Jenis-jenis Operand Format Instruksi: DEST (Destination Operand):
OP-CODE DEST,SRC DEST (Destination Operand): Register Operand: operand menunjuk ke register tujuan EAX, EBX, ... Memory Operand: operand menunjuk ke alamat lokasi memori tujuan [LABEL] [REG], [R-base+Scale*R-index+Displacement] SRC (Source Operand): Register Operand: operand menunjuk register, tempat data sumber Memory Operand: operand menunjuk alamat lokasi memori, tempat data sumber Immediate Operand: data sumber berupa konstanta NAMA, LABEL, Konstanta

3 Nilai Sebuah Operand Konstanta dapat dideklarasikan terlebih dahulu:
const equ 3 Data harus dideklarasikan terlebih dahulu: var_a dd 0x234 Nilai Immediate Operand mov ecx,8 ; ecx  8 mov ecx,const ; ecx  3 (nilai yang direpresentasikan oleh const) mov esi,var_a ; esi  alamat lokasi memori yang direpresentasikan ; oleh var_a, dimana 0x234 disimpan Nilai Memory Operand mov eax,[var_a] ; eax  0x234 (data yang disimpan di lokasi memori ; yang alamatnya direpresentasikan oleh var_a) mov eax,[esi] ; eax  [[esi]] ; [esi] = alamat lokasi memori tempat data disimpan mov [esi],eax ; [esi]  [eax] ; [esi] = alamat lokasi memori tujuan Nilai Register Operand add eax,ebx ; eax  [eax] + [ebx]

4 Register Transfer Notation (RTN)
Digunakan untuk menggambarkan proses pertukaran data yang terjadi pada eksekusi sebuah instruksi: DEST  SRC1 OP SRC2 OP: ‘+’, ‘-’, … DEST: alamat tujuan sebagai tempat penyimpanan hasil operasi MOV EAX,EBX ; EAX  [EBX] ; alamat tujuan: register EAX MOV [ESI],EAX ; [ESI]  EAX ; alamat tujuan: alamat lokasi memori yang ditunjuk oleh ; register ESI MOV [VAR_A],EAX ; VAR_A  [EAX] ; alamat tujuan: alamat lokasi memori yang direpresentasikan ; oleh VAR_A SRC: data yang akan dioperasikan MOV EAX,EBX ; EAX  [EBX] ; data: isi register EBX MOV EAX,[ESI] ; EAX  [[ESI]] ; data: isi lokasi memori yang alamatnya ditunjuk oleh register ; ESI MOV EAX,[VAR_A] ; EAX  [VAR_A] ; data: isi lokasi memori yang alamatnya direpresentasikan ; oleh VAR_A

5 Contoh Interpretasi Nilai Operand
15c0: push eax 15c1: mov ecx,0x3 ... 15c8: mov eax,[0x92d0] 15cd: mov ebx,[0x92d4] 15d3: mov esi,0x92d8 15d8: add eax,ebx 15da: mov [0x92d8],eax 15de: pop eax const equ 3 segment .data var_a dd var_b dd var_c dd 0 ... segment .text global _main _main: push eax mov ecx,const mov eax,[var_a] mov ebx,[var_b] mov esi,var_c add eax,ebx mov [esi],eax pop eax

6 Nilai Immediate-, Memory-, Register-Operand
Jenis Operand SRC DEST Immediate Nilai Nama, Konstanta Konstanta -- Memory [LABEL],[REG] Data Alamat lokasi memori Register REG Alamat register


Download ppt "NILAI OPERAND: Address vs. Data"

Presentasi serupa


Iklan oleh Google