shranet →  "Salom Dunyo!!!" bootloader

Anchadan beri qiziqardim. Yangi kompyuterni yoqqanda hech nima chiqmaydi. OS o'rnatgandan keyin esa, kompyuterni yoqish bilan vaqt o'tib o'zidan-o'zi OS ishga tushadi. Shu payt qiziq edi: Oddiy temir-tersak qanday qilib OS ning fayllarini o'qib, ishlatyapti. Bunga nima sababchi, buni qanday qilsa bo'ladi. Hullas bu yerda savollar juda ko'p.
Yaqinda ASM bilan qiziqib boshladim va bir paytlar o'zimga-o'zim bergan savollarga javob olishni boshladim. Shulardan birinchisi «Salom Dunyo!!!» bootloader (boot yuklagichi).

Kod:
org 7c00h ; bios oqiydigan birinchi segment manzili
lea si, byte ptr text ; text manzilini olish
mov cx, len ; cx = len
next:
        mov al, [si]
        mov ah, 0eh
        int 10h ; simvol chiqarish buyrugi
        inc si
        dec cx
        cmp cx, 0
jnz next ; agar zf != 1

int 20h ; chiqish

x:
text db 'Salom Dunyo!!!'
len = ($ - x) ; $ o'zi turgan manzil

Endi bu kodni boot.asm (umuman farqi yo'q) qilib saqlang va FASM da quyidagicha kompilyatsiya qiling:
fasm boot.asm

boot.asm kompilyatsiyadan bexato o’tsa, yonida yana boot.bin fayli hosil bo’ladi. Endi biz hozircha binar ko’rinishidagi faylni oldik. Keyingi masala u faylni CD ning 0 head (bosh), 0 cylinder (silinder), 1-sector (sektor) iga yozishdir. Buning uchun UltraISO dan foydalanamiz.





Keyin F7 yoki «Инструменты» menyusidan «Записать образ CD…» ni tanlag va obrazni CD ga yozing. Keyin kompingizni o’chirib-yoqib, boot menu dan CD-ROM ni tanlasangiz shuncha qilgan mehnatingiz mahsulini ko’rasiz.
6


Rasm qo`yish
Fayl:
Manzil:
To`g`irlash:
Matn:
Izohlar(9): 
iBlogger 1 мая 2009, 13:56 #
1 
Qiziq maqola ekan, men ham bir yozib ko'rib, ishlatib ko'raman...

Maqola uchun rahmat!
geniuz 1 мая 2009, 14:22 #
0 
xa shranet bu ketishda o'zining OSini yozadi!!!
geniuz 1 мая 2009, 14:24 #
0 
2shranet keyin o'sha asm kodni xar bir qadami nima qilishini tushuntirsa zo'r bo'lardi
geniuz 1 мая 2009, 14:43 #
0 
comment bor ekande sal tushunarsiz ekan!!! :(
Behzod 1 мая 2009, 15:08 #
0 
Bu qaysi platformalarda ishlaydi? faqat PC da va Intel CPU dami yoki Mac, Sun va hk.larda ham bir xil-mi?
geniuz 1 мая 2009, 15:34 #
0 
manimcha faqat o'zini kompida ishlaydi ;)
geniuz 1 мая 2009, 15:35 #
0 
u xam bo'lsa intel
shranet 1 мая 2009, 15:52 #
0 
geniuz haq. o'zimning kompimdan boshqasida sinab ko'rmadim hali.
zver 18 января 2010, 12:08 #
0 
zoru!!! :)

Faqatgina ro`yxatdan o`tgan foydalanuvchilar izohlarini qoldirishlari mumkin. Iltimos, o`z nomingiz bilan kiring, ro`yxatdan o`tmagan bo`lsangiz ro`yxatdan o`ting.