29
2.7
Stack
Operasi
stack
menyimpll.ll. data
dari reg!ster
dalam
memori
data
sees.'!!
LiFO (Last
In First O tt} atau dikenal
juga
sebagai
pushdown list (Staliings,
1997,
p42}
Stack
digunakan
dalam
operasi rekursif (fu.ngsi
yang
memanggil
dirinya
sendiri)
dan
digmmk:a.TJ
da!am menyelesaikan
ekspresi
aritmatika.
Stack
disimpan
di
memori
dati pada
alamat
yang
ditll.ll.juk oleh
stack
pointer. rnstruksi
PUSH
digunaklm unr<!k
menempatkan item
baru ke puncak stack, instruksi
POP
memindabkll.ll
satu
item
stack
(Mano
dan
Kime,
2001,
p485).
Stack
bekclja
dengan
caza
melakukan
penumpukkan, sehingga
stack
poimer
hams
dikurnng
pada
instruksi
PUSH dan ditarnba.'l
pada
instruksi
POP.
2.8
Frosedur
Prosedur atau
fuugsi
atau
subrutin
merupakan
progm1n
kcmputer
yang
merupakan.
bagian
dari
program
yang
lebih
besar
dan
melak:ukan
tugas
tertentu.
Prosedurelsubrutin
merupalam
tekl'!Ll( yang
sac""!gat
penting
untuk
s+.ru..lcturisasi
program
(Waldron,
1999,
p91).
Karell2C
submtin dipanggil
dari
sembara>'lg
tempat,
maka
CPU
hams
menyimpan
alam.et
kembaiinya
agar
pengembalian
da.pat
heria."'lgsung
dengzm ben&.
Terdapat
tiga
tempat
y:eng umum
digunakan
untuk alamatkembali (Stallings,
1997,
p26):
0
Register
Nilai
alamat
kembali
disipan
pada
register,
kemudian
nilai program
counter
(PC)
diisi
oleh
a.!amat tujuan.
Setelah
prosedur
dikerjakan
maka
nilai
PC diisi
oleh
rua 'I!111:
dad
register
kembali.
|