linux 0.11 ÄÚºËѧϰ asm.s£¬»úÆ÷ÄÑÃâ³ö¹ÊÕÏ¡£
/*
* linux/kernel/asm.s
*
* (C) 1991 Linus Torvalds
*/
/*
* asm.s contains the low-level code for most hardware faults.
* page_exception is handled by the mm, so that isn't here. This
* file also handles (hopefully) fpu-exceptions due to TS-bit, as
* the fpu must be properly saved/resored. This hasn't been tested.
*/
/*
* asm.asm´¦ÀíµÄÖ÷ÒªÊǺÍÓ²¼þÏà¹ØµÄ¹ÊÕÏ¡£×¢ÒâµÄÊÇÒ³Òì³£ÊÇÓÐmmÄ£¿é
* À´ÊµÏÖ¹ÜÀíµÄ£¬ËùÒÔÔÚÕâÀï²»ÐèÒª´¦Àí¡£´ËÍâ´Ë³ÌÐòÀ´´¦ÀífpuµÄÒì³£¡£
*
*/
/*
* È«¾Öº¯ÊýµÄ¶¨Ò壬Ö÷ÒªÊÇÒýÓõÄÊÇtraps.cÎļþÖеĺ¯ÊýÉùÃ÷¡£
* ÏÂÃæµÄ´úÂëÖ÷ÒªÊǶÔintelµÄ±£ÁôÖжÏint0 -- int16µÄ´¦Àí¡£
*/
.globl _divide_error,_debug,_nmi,_int3,_overflow,_bounds,_invalid_op
.globl _double_fault,_coprocessor_segment_overrun
.globl _invalid_TSS,_segment_not_present,_stack_segment
.globl _general_protection,_coprocessor_error,_irq13,_reserved
# һϵÄÖж϶¼ÊÇIntelµÃ±£ÁôÖжϵĴ¦Àí³ÌÐò¡£
#------------------------------------------------------------------------
# int0 -- ±»0³ýËùÒý·¢µÄÖжϡ£ÏÂÃæµÄ$_do_divide_errorÊÇcº¯Êý±àÒëÖ®ºó
# ¶ÔÓ¦µÄÄ£¿éµÄÃû³Æ¡£
_divide_error:
pushl $_do_divide_error # Ê×ÏȽ«º¯ÊýÈë¿ÚµØÖ·Ñ¹Èë¶ÑÕ»¡£
no_error_code: # ±êºÅÏ൱ÓÚº¯Êý±»ÏÂÃæ³ÌÐòµ÷Óá£
xchgl %eax,(%esp) # xchglÖ¸ÁîµÄ×÷ÓÃÊǽ»»»¼Ä´æÆ÷¡£
# Ôڴ˵ĺ¬ÒåÊǽ«º¯ÊýµÄµØÖ·´æÔÚ
# eaxÖУ¬½«eaxÔÀ´ÄÚÈÝÈëÕ»¡£
pushl %ebx # ¼Ä´æÆ÷ÈëÕ»
pushl %ecx
pushl %edx
pushl %edi
pushl %esi
pushl %ebp
push %ds
push %es
push %fs
####################################################
# ½«³ö´íÂëºÍÖжϷµ»ØµØÖ·ÈëÕ»×÷Ϊº¯Êýµ÷ÓÃ_do_divide_error
# µÄ²ÎÊý¡£
pushl $0 # "error code"£¬³ö´íÂë0ÈëÕ»
lea 44(%esp),%edx # È¡µÃÖжϷµ»ØµØÖ·
pushl %edx # ÖжϷµ»ØµØÖ·ÈëÕ»
#####################################################
# ÏÂÃæµÄ´úÂëÖØÐÂÉèÖüĴæÆ÷¡£dsºÍesÖ¸ÏòµÄÊÇÄں˴úÂë¶Î
# fsÖ¸ÏòµÄÊÇÓû§Êý¾Ý¶Î¡£
movl $0x10,%edx
mov %dx,%ds
mov %dx,%es
mov %dx,%fs
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
×î½üÔÚÓÃC++±àдһ¸öRTSPµÄ¿Í»§¶Ë£¬ÓÉÓÚÒªÓõ½Ị̈߳¬¸ù¾ÝC±à³ÌµÄ¾Ñ飬дÁËÈçÏ´úÂ룺
class LiRtspSession
{
public:
void* MainThreadFunc(void* pvData);
void* AudioProcThreadFunc(void* pvData);
& ......
Linux ϵͳÏÂÈçºÎ·ÖÇø²Å×îºÏÀí
ÒÔÏÂÕª×Ô¡¶Gentoo Linux x86Êֲᡷ
http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml
·ÖÇøµÄÊýÄ¿Ö÷Òª¸ù¾ÝÄãµÄϵͳ»·¾³À´¾ö¶¨¡£
ÀýÈ磬Èç¹ûÄãÓкܶàÓû§£¬Äã¿ÉÄܸüÏ£Íû°ÑÄãµÄ/homeĿ¼¶ÀÁ¢³öÀ´£¬ÒòΪÕâÑù×ö¿ÉÒÔÔö¼Ó°²È«ÐÔ£¬±¸·ÝÆðÀ´Ò²¸üÈÝÒס£Èç¹ûÄã°²×°GentooÓÃÀ´×öÓʼþ·þÎñÆ÷ ......
ÍØ²¨±ü³Ð²»¶Ï¿ªÍؽøÈ¡µÄ¾«Éñ£¬ÔÚ¼¼ÊõÑз¢ºÍÖ§³ÖÉϲ»¶ÏµÄͶÈëÈËÁ¦ÎïÁ¦£¬Á¦ÇóÔÚ²»¶Ï±ä»¯µÄÊг¡ÐèÇóÖУ¬´ïµ½100%µÄ¿Í»§ÂúÒâ¶È¡£ÔÚ¸Õ¸Õ̤Èë2010Ä꣬¸ù¾Ý¹ýÍùµÄÊг¡µ÷²é£¬½áºÏ¿Í»§µÄÐèÇóºÍ½¨Òé£¬ÍØ²¨ÓʼþÏµÍ³ÍÆ³öÁËLinux_°²ÌÚ°æ±¾£¬×÷ΪдºË͸ø¹ã´ó¿Í»§µÄµÚÒ»·ÝÀñÎï¡£
°²ÌÚ´¦ÀíÆ÷ÊÇ×î½üÊ®Äê²ÅÖð½¥·¢Õ¹ÆðÀ´µ ......
1.1 Óï·¨»ù±¾½éÉÜ
1.1.1 ¿ªÍ·
³ÌÐò±ØÐëÒÔÏÂÃæµÄÐпªÊ¼£¨±ØÐë·½ÔÚÎļþµÄµÚÒ»ÐУ©£º
#!/bin/sh
·ûºÅ#!ÓÃÀ´¸æËßϵͳËüºóÃæµÄ²ÎÊýÊÇÓÃÀ´Ö´ÐиÃÎļþµÄ³ÌÐò¡£ÔÚÕâ¸öÀý×ÓÖÐÎÒÃÇʹÓÃ/bin/shÀ´Ö´ÐгÌÐò¡£
µ±±à¼ºÃ½Å±¾Ê±£¬Èç¹ûÒªÖ´Ðиýű¾£¬»¹±ØÐëʹÆä¿ÉÖ´ÐС£
Ҫʹ½Å±¾¿ÉÖ´ÐУº
±àÒë chmod +x filename ÕâÑù²ÅÄÜÓÃ./filena ......