Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 NILAI OPERAND: Address vs. Data. 2 Jenis-jenis Operand °Format Instruksi: OP-CODEDEST,SRC °DEST (Destination Operand): Register Operand: operand menunjuk.

Presentasi serupa


Presentasi berjudul: "1 NILAI OPERAND: Address vs. Data. 2 Jenis-jenis Operand °Format Instruksi: OP-CODEDEST,SRC °DEST (Destination Operand): Register Operand: operand menunjuk."— Transcript presentasi:

1 1 NILAI OPERAND: Address vs. Data

2 2 Jenis-jenis Operand °Format Instruksi: OP-CODEDEST,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 3 Nilai Sebuah Operand °Konstanta dapat dideklarasikan terlebih dahulu: constequ3 °Data harus dideklarasikan terlebih dahulu: var_add0x234 °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 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 5 Contoh Interpretasi Nilai Operand constequ3 segment.data var_a dd 1 var_bdd 2 var_cdd0... segment.text global_main _main: pusheax movecx,const... moveax,[var_a] movebx,[var_b] movesi,var_c addeax,ebx mov[esi],eax... popeax 92d0: d4: d8: c0:push eax 15c1:mov ecx,0x c8:mov eax,[0x92d0] 15cd:mov ebx,[0x92d4] 15d3:mov esi,0x92d8 15d8:add eax,ebx 15da:mov [0x92d8],eax... 15de:pop eax

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


Download ppt "1 NILAI OPERAND: Address vs. Data. 2 Jenis-jenis Operand °Format Instruksi: OP-CODEDEST,SRC °DEST (Destination Operand): Register Operand: operand menunjuk."

Presentasi serupa


Iklan oleh Google