Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4.10. Muhtelif<br />
Kalanlar destek i¸slevleri ve de˘gi¸skenleridir.<br />
<strong>Linux</strong> <strong>i386</strong> <strong>Önyükleme</strong> <strong>Kodu</strong> <strong>NASIL</strong><br />
/* linux/Makefile hedefleri tarafından olu¸sturulan makrolar:<br />
* include/linux/compile.h ve include/linux/version.h */<br />
kernel_version: .ascii UTS_RELEASE<br />
.ascii " ("<br />
.ascii LINUX_COMPILE_BY<br />
.ascii "@"<br />
.ascii LINUX_COMPILE_HOST<br />
.ascii ") "<br />
.ascii UTS_VERSION<br />
.byte 0<br />
///////////////////////////////////////////////////////////////////////////////<br />
default_switch() { cli; outb(0x80, 0x70); } /* Kesmeleri ve NMI’yi iptal et */<br />
bootsect_helper(ES:BX); /* bkz. Bootsect Yardımcısı (sayfa: 16) */<br />
///////////////////////////////////////////////////////////////////////////////<br />
a20_test()<br />
{<br />
FS = 0;<br />
GS = 0xFFFF;<br />
CX = A20_TEST_LOOPS; // i.e. 32<br />
AX = FS:[0x200];<br />
do {<br />
a20_test_wait:<br />
FS:[0x200] = ++AX;<br />
delay();<br />
} while (AX==GS:[0x210] && ––CX);<br />
return (AX!=GS[0x210]);<br />
// ZF==0 (i.e. NZ/NE, a20_test!=0) means test passed<br />
}<br />
///////////////////////////////////////////////////////////////////////////////<br />
// klavye komut kuyru˘gu bo¸s mu, bak<br />
empty_8042()<br />
{<br />
int timeout = 100000;<br />
for (;;) {<br />
empty_8042_loop:<br />
if (!––timeout) return;<br />
delay();<br />
inb(0x64, &AL); // 8042 durum portu<br />
if (AL & 1) { // çıktı<br />
delay();<br />
inb(0x60, &AL); // oku<br />
no_output:} else if (!(AL & 2)) return; // girdi yok<br />
}<br />
}<br />
///////////////////////////////////////////////////////////////////////////////<br />
// CMOS saatini oku, AL’den saniyeyi döndür, video.S’de kullanılır<br />
gettime()<br />
{<br />
int1A/AH=02h();<br />
http://belgeler.org <strong>Linux</strong> Kitaplı˘gı 30 / 77