You are on page 1of 6

NILAI OPERAND:

Address vs. Data

enis-jenis Operand
S 4rmat Instruksi:
W OP-CODE DEST,SRC
S DEST (Destinati4n Operand):
W Register Operand: 4perand menunjuk ke register tujuan
EAX, EBX, ...
W Mem4ry Operand: 4perand menunjuk ke aIamat I4kasi mem4ri
tujuan
[LABEL]
[REG], [R-base+ScaIe*R-index+DispIacement]
S SRC (S4urce Operand):
W Register Operand: 4perand menunjuk register, tempat data sumber
W Mem4ry Operand: 4perand menunjuk aIamat I4kasi mem4ri, tempat data
sumber
W Immediate Operand: data sumber berupa k4nstanta
NAMA, LABEL, K4nstanta

NiIai Sebuah Operand


S K4nstanta dapat didekIarasikan terIebih dahuIu:
W c4nst equ 3
S Data harus didekIarasikan terIebih dahuIu:
W var_a dd 0x234
S NiIai Immediate Operand
W m4v ecx,8 ; ecx 8
W m4v ecx,c4nst ; ecx 3 (niIai yang direpresentasikan 4Ieh c4nst)
W m4v esi,var_a ; esi aIamat I4kasi mem4ri yang direpresentasikan
; 4Ieh var_a, dimana 0x234 disimpan
S NiIai Mem4ry Operand
W m4v eax,[var_a] ; eax 0x234 (data yang disimpan di I4kasi mem4ri
; yang aIamatnya direpresentasikan 4Ieh var_a)
W m4v eax,[esi] ; eax [[esi]]
; [esi] = aIamat I4kasi mem4ri tempat data disimpan
m4v [esi],eax ; [esi] [eax]
; [esi] = aIamat I4kasi mem4ri tujuan
S NiIai Register Operand
W add eax,ebx ; eax [eax] + [ebx]

Register Transfer Notation (RTN)


S Digunakan untuk menggambarkan pr4ses pertukaran data yang terjadi
pada eksekusi sebuah instruksi:
W DEST SRC1 OP SRC2
W OP: '+', '-', .
S DEST: aIamat tujuan sebagai tempat penyimpanan hasiI 4perasi
W MOV EAX,EBX ; EAX [EBX]
; aIamat tujuan: register EAX
W MOV [ESI],EAX ; [ESI] EAX
; aIamat tujuan: aIamat I4kasi mem4ri yang ditunjuk 4Ieh
; register ESI
W MOV [VAR_A],EAX ; VAR_A [EAX]
; aIamat tujuan: aIamat I4kasi mem4ri yang direpresentasikan
; 4Ieh VAR_A
S SRC: data yang akan di4perasikan
W MOV EAX,EBX ; EAX [EBX]
; data: isi register EBX
W MOV EAX,[ESI] ; EAX [[ESI]]
; data: isi I4kasi mem4ri yang aIamatnya ditunjuk 4Ieh register
; ESI
W MOV EAX,[VAR_A] ; EAX [VAR_A]
; data: isi I4kasi mem4ri yang aIamatnya direpresentasikan
; 4Ieh VAR_A

C4nt4h Interpretasi NiIai Operand


c4nst equ 3
segment .data
var_a dd 1
var_b dd 2
var_c dd 0
...
segment .text
gI4baI _main
_main:
push eax
m4v ecx,c4nst
...
m4v eax,[var_a]
m4v ebx,[var_b]
m4v esi,var_c
add eax,ebx
m4v [esi],eax
...
p4p eax
92d0: 01 00 00 00
92d4: 02 00 00 00
92d8: 00 00 00 00
15c0: push eax
15c1: m4v ecx,0x3
...
15c8: m4v eax,[0x92d0]
15cd: m4v ebx,[0x92d4]
15d3: m4v esi,0x92d8
15d8: add eax,ebx
15da: m4v [0x92d8],eax
...
15de: p4p eax

NiIai Immediate-, Mem4ry-, Register-Operand


enis Operand SRC DEST
Immediate
NiIai
Nama, K4nstanta
K4nstanta
--
Mem4ry
NiIai
[LABEL],[REG]
Data
[LABEL],[REG]
AIamat I4kasi mem4ri
Register
NiIai
REG
Data
REG
AIamat register