Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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 Àý³ÌºÍʹÓú


Ïà¹ØÎĵµ£º

Linux iptableÎĵµ

×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......

linux Ä£¿éÖк¯ÊýµÄµ÷ÓÃ(ͨË×Ò×¶®Å¶)

Ê×ÏÈ£¬Ó¦ÓóÌÐòÊÇÎÞ·¨Ö±½Ó·ÃÎÊÄ£¿éÖеĺ¯ÊýµÄ£¨¼´Ê¹ÊÇÄã×Ô±à×Ô¹ÒµÄÄ£¿é£­£­Êµ¼ÊÉÏËüÒ²ÊÇÄÚºËÄ£¿é£©£¬Óû§¿Õ¼äÓëÄں˿ռäÖ®¼äÖ»ÓÐͨ¹ýÒ»Ð©ÌØ¶¨µÄϵͳº¯ÊýÀ´½øÐÐͨѶ£¨Èçʲôuser_to_kernel£©£¬¶ø¾ø¶Ô²»¿ÉÄÜͨ¹ý“Ö±½Óµ÷ÓÃÄ£¿éÀïµÄº¯Êý”ÕâÖÖÐÎʽÀ´Í¨Ñ¶¡£
ÄÇô£¬Ëù±àдµÄÄ£¿éÀïµÄº¯ÊýÔõô²ÅÄܱ»Ö´ÐУ¿ÓÉË­µ÷Óã¿Æä ......

linuxµÄ´¥ÃþÆÁÖ®Î壺֡»º³åÉ豸ÉϽÏ×¼½çÃæµÄÅäÖÃ

£¨1£©Ö¡»º³åÉ豸¸úTTYµÄ¹ØÏµ¡£ÐèÒª¹Ø×¢tty¸úÖ¡»º³åÉ豸µÄ¹ØÏµ£¬Ò»°ãÇé¿öÏÂÖ¡»º³åÉ豸ÊÇ¿ÉÒÔ¶ÀÁ¢²Ù×÷µÄ£¬µ«ÊÇÈç¹ûΪÁ˱£Ö¤µ¥¶ÀÕ¼Óò»±»ÇÀÕ¼£¬Ëƺõ»¹Òª¹ØÁªÒ»¸öttyÖÕ¶Ë¡£ÕâÀïÓõÄÊÇÐéÖÕ¶ËVT¡£
      ÐéÖÕ¶Ë£¬Ò²½ÐÐéÆÁ£¬ËüµÄÓ¢ÎÄÃû×ÖΪvirtual terminal,ËõдΪVT»òvt¡£ÔÚUnixϵͳÓû§ÖУ¬ÐéÖÕ¶ËÓÐ×Å ......

linuxÆô¶¯ÅäÖÃ

Æô¶¯ÅäÖãº
/etc/init.d/rcS
 
# mkfs.jffs2 -r yyfs/ -o yy.jffs2 -p -l -n -e 0x8000 -m size 
ÄÚºËÆô¶¯ÏÔʾ£º
unable to open an initial console.
 
½â¾ö£º
´´½¨rootfs¹ý³ÌÖУ¬ÔÚ/devĿ¼ÏÂÊÖ¶¯´´½¨ÈçϽڵ㣺
mknod -m 660 null c 1 3
mknod -m 660 console c 5 1
Taking the GNU/Linux hos ......

linux include ·¾¶


linuxËÑË÷·¾¶:   Èç¹ûÓõÄshellÊÇbash,Ôò»·¾³±äÁ¿¼ÓÔØ 
  1./etc/profile 
  2.Óû§homeĿ¼ÏÂÃæµÄ.bash_profile 
  3.Óû§homeĿ¼ÏÂÃæµÄ.bash_login  
gcc   -I<includeĿ¼> 
  POSIXϵͳҲ¿ÉÒÔ½¨Á¢»·¾³±äÁ¿ 
  ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ