1. Pendahuluan
Secara umum stack adalah tempat peletakkan sementara
register. Stack pada file COM terdapat di akhir segment
dan ketika pertama kali dijalankan program penunjuk
stack (SP) akan langsung ke byte membuat stack sendiri.
Sedang pada EXE harus membuat stack sendiri dan
mengalihkan penunjuk stack ke tempat yang telah dibuat.
Adapun contoh pengefisienan operasi stack
pada pembuatan program dapat dilihat pada
saat membuat program mencetak huruf A
hingga Z dengan diselingi spasi pada setiap
huruf bila tidak memakai operasi stack, program
akan berbentuk
No Program sumber No Program sumber
program (source program) program (source program)
4. INT 21 9. INT 21
5. PUSH DX 10. INC DL
No Program sumber No program Program sumber
program (source program) (source program)
11. LOOP 0110 16. POP CX
12. MOV DL, 0D 17. POP DX
13. INT 21 18. INC DL
14. MOV DL, 0A 19. LOOP 0107
PSP 0000
0100
PROGRAM
Penunjuk (SP) 99 00 FFFD
21 00
FFFB
00 00
FFFF
Pada saat perintah PUSH CX dengan register CX
berisikan angka 0009, maka akan terlihat di stack
sebagai berikut :
PSP 0000
0100
PROGRAM
Penunjuk (SP)
09 00
FFFB
21 00
FFFD
00 00
FFFF
Pada saat perintah POP CX, keadaan stack akan
kembali lagi pada tampilan stack pertama.
Sedangkan pada saat melakukan POP pada
tampilan stack akan kosong dan tinggal 0000 yang
merupakan awal stack.
Dari pembayangan di atas dapat disimpulkan
bahwa pada operasi stack yang pertama masuk
adalah yang terakhir keluar dari stack dan yang
terkahir masuk ke stack, maka dialah yang
pertama keluar dari stack. Sistem demikian sering
disebut dengan LIFO (Last In First Out)
SOAL-SOAL
1. Pada file apakah letak stack diakhir segment :
a. COM c. EXE
b. BAT d. DLL