Linux »ã±àÆ÷£º¶Ô±È GAS ºÍ NASM
±¾ÎĽâÊÍÁ½ÖÖ×îÁ÷ÐÐµÄ 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 Àý³ÌºÍʹÓú
Ïà¹ØÎĵµ£º
ǰÑÔ
±¾ÎÄÄÚÈÝÖ»¼¯ÖÐÔÚ²Ù×÷ϵͳÆô¶¯ÔÀíµÄ½²½âÉÏ£¬²»Éæ¼°Æô¶¯µÄ¼¼Êõϸ½Ú£¬ÒòΪÕâЩϸ½Ú¶¼¿ÉÒÔͨ¹ýÍøÂç»òÕßÏà¹Ø´úÂëÁ˽⡣ֻÓÐÁ˽âÁËÆô¶¯ÔÀí£¬²ÅÄÜÔÚ·ÖÎöºÍ½â¾öÓÐ¹ØÆô¶¯µÄÎÊÌâʱ¾ßÓÐÕë¶ÔÐÔ£¬²»»áÓÐÎÞ´ÓÏÂÊֵĸоõ¡£ÏÞÓÚ×÷Õß¾ÑéµÄÔÒò£¬±¾ÎÄÄÚÈÝֻɿ¼°¹ØÓÚ
Windows
ºÍ
Linux
ϵͳµÄÆô¶¯¹ý³Ì¡£
Æô¶¯ ......
Ò»¡¢
SVN
·þÎñÆ÷»·¾³µÄ´î½¨
ÎÒÃÇ¿ª·¢µÄÏîÄ¿ÊôÓÚ»ùÓÚ
ARM9
ºË
linux
ϵͳµÄǶÈëʽ¹ÜÀíÈí¼þ£¬Õû¸ö¿ª·¢±àÒë»·¾³±ØÐëÊÇÔÚ
linux
ÏÂÃæ¡£Òò´Ë£¬
SVN
·þÎñÆ÷µÄ»·¾³Ò²±ØÐëÊÇÔÚ
linux
ϵͳ¡£
ÏÖÓеķþÎñÆ÷»·¾³£º²Ù×÷ϵͳ£º
Redhat Linux AS4U4
£¬Äں˰汾Ϊ£º
2.6.13
......
±¾ÎÄÒÔÊý¾Ý¿âÖеÄÊý¾Ý±íUserInfoΪʵÀýչʾÊý¾Ý¿â±íµÄ´´½¨¼°Êý¾Ý¼Ç¼µÄ¼Èë¡£
#!/bin/sh
#variables definition
#database location
db=/conf/db
#
#create table userInfo
#name: User name
#passwd: Password
#Privilege: User privilege -- Administrator:0 Operator:1
#
echo "create table UserInfo(n ......
linuxËÑË÷·¾¶: Èç¹ûÓõÄshellÊÇbash,Ôò»·¾³±äÁ¿¼ÓÔØ
1./etc/profile
2.Óû§homeĿ¼ÏÂÃæµÄ.bash_profile
3.Óû§homeĿ¼ÏÂÃæµÄ.bash_login
gcc -I<includeĿ¼>
POSIXϵͳҲ¿ÉÒÔ½¨Á¢»·¾³±äÁ¿
......
2 Ô 3 ÈÕ£¬ Linux Äں˿ª·¢Õß Greg Kroah-Hartman ½« Android µÄÇý¶¯³ÌÐò´Ó Linux Äں˓״̬Ê÷”£¨“ staging tree” £©ÉϳýÈ¥£¬´Ó´Ë£¬ Android Óë Linux ¿ª·¢Ö÷Á÷½« ......