linux 0.11 ÄÚºËѧϰ setup.s
²Î¿¼×ÊÁÏ LinuxÄÚºËÍêȫעÊÍ.pdf
ÍøÉÏÏà¹Ø×ÊÁÏ
! setup³ÌÐòµÄÖ÷Òª×÷ÓÃÊÇÀûÓÃrom biosµÄÖжÏÀ´¶ÁÈ¡»úÆ÷ϵͳ²ÎÊý£¬²¢½«ÕâЩÊý¾Ý±£´æÔÚ0x90000
! ¿ªÊ¼µÄλÖÃ(¸²¸ÇµôÁËbootsect³ÌÐòËùÔÚµÄλÖÃ)£¬ËùÈ¡µÃµÄ²ÎÊý±»Äں˵ÄÏà¹Ø³ÌÐòʹÓá£×¢ÒâÔÚbootsect
! ÖÐÒѾ½«¸ÃÄ£¿éºÍsystem¡¢Ä£¿é¼ÓÔØµ½ÄÚ´æÖС£
! È»ºósetup³ÌÐò½«systemÄ£¿é´ÓµØÖ·0x10000-0x8fff(µ±Ê±ÈÏΪÄں˵Ä×î´óÖµ)Õû¿éÒÆ¶¯µ½ÄÚ´æµÄ¾ø¶ÔµØÖ·
! 0x00000´¦¡£½ÓÏÂÀ´¼ÓÔØÖжÏÃèÊö·û±í¼Ä´æÆ÷idtrºÍÈ«¾ÖÃèÊö·û±ígdtr£¬¿ªÆôa20µØÖ·Ïߣ¬ÖØÐÂÉèÖÃÁ½¸ö
! ÖжϿØÖÆÐ¾Æ¬£¬½«Ó²¼þÖն˺ÅÖØÐÂÉèÖã¬×îºóÉèÖÃcpuµÄ¿ØÖƼĴæÆ÷cr0£¬´Ó¶ø½øÈë32λµÄ±£»¤Ä£Ê½£¬²¢
! ÇÒÌø×ªµ½systemÄ£¿é×îÇ°ÃæµÄhead.s³ÌÐò´¦¿ªÊ¼¼ÌÐøÔËÐС£
!
! ΪÁËÄÜÈÃhead.sÔÚ32λµÄ±£»¤Ä£Ê½ÏÂÔËÐУ¬±¾³ÌÐòÉèÖÃÁËÖжÏÃèÊö·û±íidtºÍÈ«¾ÖÃèÊö·û±ígdt£¬²¢ÔÚgdt
! ÖÐÉèÖÃÁ˵±Ç°Äں˴úÂë¶ÎµÄÃèÊö·ûºÍÊý¾Ý¶ÎµÄÃèÊö·û¡£ÔÚÏÂÃæµÄhead.s³ÌÐòÖлá¸ù¾ÝÄں˵ÄÐèÒªÖØÐÂÉèÖÃ
! ÕâЩÃèÊö·û±í¡£
!
!
! setup.s (C) 1991 Linus Torvalds
!
! setup.s is responsible for getting the system data from the BIOS,
! and putting them into the appropriate places in system memory.
! both setup.s and system has been loaded by the bootblock.
!
! This code asks the bios for memory/disk/other parameters, and
! puts them in a "safe" place: 0x90000-0x901FF, ie where the
! boot-block used to be. It is then up to the protected mode
! system to read them from there before the area is overwritten
! for buffer-blocks.
!
! NOTE! These had better be the same as in bootsect.s!
INITSEG = 0x9000 ! we move boot here - out of the way£¬ÔÀ´µÄbootsect¶Î
SYSSEG = 0x1000 ! system loaded at 0x10000 (65536).systemËùÔÚ¶Î
SETUPSEG = 0x9020 ! this is the current segment£¬±¾³ÌÐòËùÔÚ¶Î
.globl begtext, begdata, begbss, endtext, enddata, endbss
.text
begtext:
.data
begdata:
.bss
begbss:
.text
entry start
start:
! ok, the read went well so we get current cursor position and save it for
! posterity.
! Õû¸ö¶Á´ÅÅ̵Ĺý³Ì¶¼ºÜ˳Àû£¬ÏÖÔÚ½«¹â±êλÖñ£´æÒÔ±¸ºó
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
> echo "A" | tr -d "\n" | od -An -t dC
65
> echo "X" | tr -d "\n" | od -An -t dC
88
> echo "a" | tr -d "\n" | od -An -t dC
97
Èç¹ûÔÚechoÖÐÊäÈëÌØÊâ×Ö·û£¬±ÈÈçctrl+A£¬»òÕßtab¿ÉÒÔÏÈÊäÈëctrl+ ......
µ±Ê¹ÓÃDSLÁ¬½ÓÉÏÍøÊ±£¬Èç¹ûÄãʹÓÃÊÇÓй̶¨»ò¾²Ì¬IPµØÖ·µÄDSLÁ¬½Ó£¬ÄÇôÅäÖò½ÖèºÍÇ°ÃæµÄ“ÍøÂçÅäÖÔÖÐÃèÊöµÄÊÇÒ»ÑùµÄ¡£Äã°ÑÒÔÌ«Íø½Ó¿ÚÁ¬½Óµ½DSL modemÉÏ£¬ÅäÖÃISPÌṩµÄIPµØÖ·£¬×ÓÍøÑÚÂ룬¹ã²¥µØÖ·£¬ºÍÍø¹ØÐÅÏ¢¡£ÖØÆôÍøÂçÉ豸ºóÄã¾ÍÓ¦¸ÃÁ¬ÉÏÍøÁË¡£¼Çס£¬Äã¿ÉÄÜ»¹ÐèÒªÕýÈ·µØÅäÖÃDNS·þÎñÆ÷¡£Èç ......
GCC±àÒ빤¾ßÔÚRed Hat/Fedora Core·¢ÐаæÖÐĬÈÏÒѾ°²×°£¬Òò´Ë²»ÐèÒªÔÙ°²×°¡£ÔÚUbuntu·¢ÐаæÖУ¬´ò¿ªshell£¬Ê¹ÓÃÏÂÃæµÄÃüÁî¿ÉÒÔ·½±ãµÄ°²×°GCC±àÒëÆ÷(\$ΪÃüÁîÐÐÌáʾ·û)£º
¡¡¡¡$ sudo apt-get install build-essential
¡¡¡¡¸ÃÃüÁî¿ÉÒÔ°ÑËùÐèÒªgcc¡¢g++±àÒëÆ÷ºÍmake¹¤¾ß¼°ÆäÒÀÀµµÄÆäËüÈí¼þ°ü×Ô¶¯°²×°²¢ÅäÖúá£
&nb ......