[ת]Linux »ã±àÆ÷£º¶Ô±È GAS ºÍ NASM
Linux »ã±àÆ÷£º¶Ô±È GAS ºÍ NASM
¶Ô±È GNU Assembler£¨GAS£©ºÍ Netwide Assembler£¨NASM£©
Ram Narayam (rnaraya2@in.ibm.com), Èí¼þ¹¤³Ìʦ, IBM
2007 Äê 11 ÔÂ 05 ÈÕ
±¾ÎĽâÊÍÁ½ÖÖ×îÁ÷ÐÐµÄ Linux® »ã±àÆ÷ —— GNU Assembler£¨GAS£©ºÍ Netwide Assembler£¨NASM£© —— Ö®¼äһЩ±È½ÏÖØÒªµÄÓï·¨²îÒìºÍÓïÒå²îÒ죬°üÀ¨»ù±¾Óï·¨¡¢±äÁ¿ºÍÄÚ´æ·ÃÎÊ¡¢ºê´¦Àí¡¢º¯ÊýºÍÍⲿÀý³Ì¡¢¶ÑÕ»´¦ÀíÒÔ¼°Öظ´Ö´ÐдúÂë¿éµÄ¼¼Êõ·½ÃæµÄ²îÒì¡£
ÓëÆäËûÓïÑÔ²»Í¬£¬»ã±àÓïÑÔÒªÇ󿪷¢ÈËÔ±Á˽â±à³ÌËùÓûúÆ÷µÄ´¦ÀíÆ÷Ìåϵ½á¹¹¡£»ã±à³ÌÐò²»¿ÉÒÆÖ²£¬Î¬»¤ºÍÀí½â³£³£±È½ÏÂé·³£¬Í¨³£°üº¬´óÁ¿´úÂëÐС£µ«ÊÇ£¬ÔÚ»úÆ÷ÉÏÖ´ÐеÄÔËÐÐʱ¶þ½øÖÆ´úÂëÔÚËٶȺʹóС·½ÃæÓÐÓÅÊÆ¡£
¶ÔÓÚÔÚ Linux ÉϽøÐлã±à¼¶±à³ÌÒѾÓÐÐí¶à²Î¿¼×ÊÁÏ£¬±¾ÎÄÖ÷Òª½²½âÓï·¨Ö®¼äµÄ²îÒ죬°ïÖúÄú¸üÇáËɵØÔÚ»ã±àÐÎʽ֮¼ä½øÐÐת»»¡£±¾ÎÄÔ´ÓÚÎÒ×Ô¼ºÊÔͼ¸Ä½øÕâÖÖת»»µÄ³¢ÊÔ¡£
±¾ÎÄʹÓÃһϵÁгÌÐòʾÀý¡£Ã¿¸ö³ÌÐòÑÝÊ¾Ò»Ð©ÌØÐÔ£¬È»ºóÊǶÔÓï·¨µÄÌÖÂۺͶԱȡ£¾¡¹Ü²»¿ÉÄÜÌÖÂÛ NASM ºÍ GAS Ö®¼ä´æÔÚµÄÿ¸ö²îÒ죬µ«ÊÇÎÒÊÔͼÌÖÂÛÖ÷Òª·½Ã棬¸ø½øÒ»²½Ñо¿Ìṩһ¸ö»ù´¡¡£ÄÇЩÒѾÊìϤ NASM ºÍ GAS µÄ¶ÁÕßÒ²¿ÉÒÔÔÚÕâÀïÕÒµ½ÓÐÓõÄÄÚÈÝ£¬±ÈÈçºê¡£
±¾ÎļÙÉèÄúÖÁÉÙ»ù±¾Á˽â»ã±àµÄÊõÓï£¬Ôø¾Ó÷ûºÏ Intel® Óï·¨µÄ»ã±àÆ÷±àд¹ý³ÌÐò£¬¿ÉÄÜÔÚ Linux »ò Windows ÉÏʹÓùý NASM¡£±¾ÎIJ¢²»½²½âÈçºÎÔÚ±à¼Æ÷ÖÐÊäÈë´úÂ룬»òÕßÈçºÎ½øÐлã±àºÍÁ´½Ó£¨µ«ÊÇÏÂÃæµÄ±ßÀ¸¿ÉÒÔ°ïÖúÄú ¿ìËÙ»ØÒäһϣ©¡£ÄúÓ¦¸ÃÊìϤ Linux ²Ù×÷ϵͳ£¨ÈκΠLinux ·¢Ðа涼¿ÉÒÔ£»ÎÒʹÓõÄÊÇ Red Hat ºÍ Slackware£©ºÍ»ù±¾µÄ GNU ¹¤¾ß£¬±ÈÈç gcc ºÍ ld£¬»¹Ó¦¸ÃÔÚ x86 »úÆ÷ÉϽøÐбà³Ì¡£
ÏÖÔÚ£¬ÎÒÃèÊöһϱ¾ÎÄÌÖÂ۵ķ¶Î§¡£
¹¹½¨Ê¾Àý
»ã±à£º
GAS£º
as –o program.o program.s
NASM£º
nasm –f elf –o program.o program.asm
Á´½Ó£¨¶ÔÓÚÁ½ÖÖ»ã±àÆ÷ͨÓã©£º
ld –o program program.o
ÔÚʹÓÃÍⲿ C ¿âʱµÄÁ´½Ó·½·¨£º
ld –-dynamic-linker /lib/ld-linux.so.2 –lc –o program program.o
±¾ÎÄÌÖÂÛ£º
NASM ºÍ GAS Ö®¼äµÄ»ù±¾Óï·¨²îÒì
³£ÓõĻã±à¼¶½á¹¹£¬±ÈÈç±äÁ¿¡¢Ñ»·¡¢±êÇ©ºÍºê
¹ØÓÚµ÷ÓÃÍⲿ C Àý³ÌºÍʹÓú¯ÊýµÄÐÅÏ¢
»ã±àÖú¼Ç·û²îÒìºÍʹÓ÷½·¨
ÄÚ´æÑ°Ö··½·¨
±¾ÎIJ»ÌÖÂÛ£º
´¦ÀíÆ÷Ö¸Á
Ò»ÖÖ»ã±àÆ÷ÌØÓеĸ÷ÖÖºêÐÎʽºÍÆäËû½á¹¹
NASM »ò GAS ÌØÓеĻã±àÆ÷Ö¸Áî
²»³£ÓõÄÌØÐÔ£¬»òÕßÖ
Ïà¹ØÎĵµ£º
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
»ùÓÚǶÈëʽLinuxµÄSOHO·ÓÉÆ÷Éè¼Æ
¡¡¡¡ÕªÒª£ºÕë¶ÔĿǰSOHO·ÓÉÆ÷Éè¼Æ·½°¸ÄÑÒÔÂú×ã¸ßËÙ½ÓÈëÍøÓû§ÒªÇóºÍ´æÔÚϵͳÎȶ¨ÐÔ·½ÃæµÄ²»×ã,ÒÔǶÈëʽLinux²Ù×÷ϵͳΪ»ù´¡,Ìá³öÒ»ÖÖÐ嵀 SOHO(Small Office and Home Office)·ÓÉÆ÷Éè¼Æ·½°¸,ÓÐЧµØÌá¸ßÁËϵͳµÄÎȶ¨ÐԺͰ²È«ÐÔ¡£
¹ã¸æ²å²¥ÐÅÏ¢
ά¿â×îÐÂÈÈÂôоƬ£º KA7806 FDC3 ......
¸úÏþÁúѧLinuxϵÁн²×ùÊÇÕë¶ÔLinux³õÖм¶Ê¹ÓÃÕߵĽÌѧÊÓÆµºÍѧϰÎÄÕ¡£±¾½ÌѧÊÓÆµ·ÖÁ½¼¾£¬µÚÒ»¼¾Õë¶Ô³õѧÕߣ¬ÆäÖÐÉæ¼°ÈÕ³£Ó¦Óã¬Ö¼ÔÚÒýÆð³õѧÕßÐËȤ¡£µÚ¶þ¼¾Õë¶ÔÖи߼¶LinuxʹÓÃÕߣ¬Ö¼ÔÚ½â¾ö´ó¼ÒÔÚ¹¤×÷µ±ÖеÄÎÊÌâ¡£±¾ÊÓÆµ²»½ö°üº¬ÏµÍ³µÄѧϰÄÚÈÝ£¬Ò²°üÀ¨°²×°¡¢Ñ§Ï°·½·¨µÈ±àÍâÆª£¬½«º¸ÇLPIºÍ RHCEÈÏÖ¤µÄ´ó²¿·Ö֪ʶµã£¬¸ÐÐËÈ ......
Ò»£®Ìî¿ÕÌâ
1. ÔÚLinuxϵͳÖУ¬ÒÔ ·½Ê½·ÃÎÊÉ豸 ¡£
2. LinuxÄÚºËÒýµ¼Ê±£¬´ÓÎļþ ÖжÁȡҪ¼ÓÔØµÄÎļþϵͳ¡£
3. LinuxÎļþϵͳÖÐÿ¸öÎļþÓà À´±êʶ¡£
4. È«²¿´ÅÅÌ¿éÓÉËĸö²¿·Ö×é³É£¬·Ö±ðΪ   ......