Apa itu STACK ?
Bahasa Rakitan
Pengertian STACK dan contoh programnya.
Apa itu STACK
?
Stack adalah suatu area di memori yang menyimpan data sementara. Stack
digunakan dengan instruksi CALL untuk menyimpan alamat yang dikembalikan
pada prosedur, instruksi RET mengambil nilai ini dari stack dan
mengembalikannya ke offset. Stack menggunakan algoritma LIFO (Last
In First Out) artinya jika kita push nilai satu per satu
kedalam stack
: 1,2,3,4,5
nilai
pertama yang dapat kita pop adalah 5,
lalu 4,3,2,
dan terakhir 1
Contoh Program STACK :
- Contoh pertama
ORG 100h
MOV AX,1234h
PUSH AX ; simpan nilai AX di stack
MOV AX,5678h ; modify nilai AX
POP AX ; kembalikan nilai original AX
RET
END
- Contoh kedua
ORG 100h
MOV AX,1212h
MOV BX,3434h
PUSH AX
PUSH BX
POP AX
POP BX
RET
END
Note :
Setelah tanda titik koma merupakan penjelasan fungsi dari skrip didepannya.
Membuat
Sistem Operasi Sendiri
Biasanya, saat komputer dihidupkan akan mencoba me-load 512-byte sector
pertama (Cylinder 0, Head 0, Sector 1) dari disk drive.
misal A: ke lokasi memori 0000h:7C00h dan memberikan
kontrolnya. Jika gagal BIOS mencoba menggunakan MBR dari hard drive primer.
Menggunakan floppy memiliki beberapa
keuntungan:
- OS kita tetap utuh(windows, dos, linux, unix,
be-os...)
- Mudah dan aman memodifikasi boot record pada floppy disk..
Membuat
Sistem Operasi Sendiri (Lanjutan..) Programnya
;directive utk membuat BOOT file:
#make_boot#
;Boot record di load di 0000:7C00
;informasikan compiler utk membuat permintaan yg benar
ORG 7C00h
PUSH CS ; yakinkan DS=CS
POP DS
LEA SI,msg ; load alamat message ke register SI
MOV AH, 0Eh ; teletype id fungsi
print : MOV AL,[SI]
CMP AL,0
JZ
done
INT 10h ;cetak dg teletype
JMP print
done : MOV AH, 0 ;tunggu utk 'any key'
INT 16h
MOV AX, 0040h
MOV DS,AX
MOV w.[0072h], 0000h ; cold boot
JMP 0FFFFh:0000h ;reboot
new_line EQU 13,10
msg DB 'Helo ini boot program saya yg pertama'
DB new_lne, 'Tekan sembarang tombol utk reboot',0
Thank you
for looking at my blog. Semoga bermanfaat ..............................
Komentar
Posting Komentar