07.01.2013 Views

Linux i386 Önyükleme Kodu NASIL

Linux i386 Önyükleme Kodu NASIL

Linux i386 Önyükleme Kodu NASIL

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Linux</strong> <strong>i386</strong> <strong>Önyükleme</strong> <strong>Kodu</strong> <strong>NASIL</strong><br />

/* method E801H:<br />

* 1k parça boyutuyla bellek boyutu, loadlin karı¸stırmamak için.<br />

* 0xe801 bellek boyutunu tamamen farklı bir yerde tutarız<br />

* çünkü muhtemelen 16 bitten daha uzun olacaktır<br />

* (1e0 kullanınız çünkü bu Larry Augustine’in alternatif bellek<br />

* tespit ¸semasını kullanma yöntemidir ve bu yöntem<br />

* her¸seyi aynı yere yazma konusunda hassastır.) */<br />

meme801:<br />

stc; // hatalı BIOSlar için u˘gra¸s<br />

CX = DX = 0;<br />

int15/AX=E801h;<br />

/* int15/AX=E801h: >64M YAPILANDIRMALAR ˙IÇ˙IN BELLEK BOYUTUNU AL (B58)<br />

* AX = K cinsinden 1M ve 16M arasında bellek boyutu (en çok 3C00 = 15MB)<br />

* BX = geni¸sletilmi¸s bellek, 16M üzeri, 64K bloklar halinde<br />

* CX = K cinsinden 1M’dan 16M’a yapılandırılmı¸s bellek<br />

* DX = 16M üzeri yapılandırılmı¸s bellek, 64K bloklar halinde */<br />

if (failed) goto mem88;<br />

if (!CX && !DX) {<br />

CX = AX;<br />

DX = BX;<br />

}<br />

e801usecxdx:<br />

(long)DS:[0x1E0] = ((EDX & 0xFFFF)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!