GCC inline assembly guide

ÇãÅÂÁØ

2001³â 10¿ù 4ÀÏ

ÀÌ ¹®¼­´Â gcc¿¡¼­ inline assembly¸¦ ¼³¸íÇÕ´Ï´Ù. ¼³¸íÀ̳ª ¿¹Á¦´Â ¸ðµÎ ix86À» ±âÁØÀ¸·Î ÇÏ¸ç ¾²ÀÌ´Â ¾ð¾î´Â cÀÔ´Ï´Ù. GCC manual°ú linux/freeBSD source ¹× ÀÚ½ÅÀÇ °æÇèÀ» ¹ÙÅÁÀ¸·Î ½è½À´Ï´Ù. »ç¿ë¹æ¹ýÁ¤µµÀÇ ¼³¸íº¸´Ù´Â »ç¿ë¿¹¿Í ÀÀ¿ëµéÀ» º¸¿©ÁÖ°í ¼³¸íÇÏ´Â °ÍÀ» ¸ñÇ¥·ÎÇÕ´Ï´Ù.

ÀÌ ¹®¼­¸¦ ÀбâÀ§Çؼ­´Â C¸¦ ´É¼÷ÇÏ°Ô ´Ù·ê ¼ö ÀÖÀ¸¸ç processor(ix86)¿Í assembly¿¡ ´ëÇØ ¾î´ÀÁ¤µµ´Â ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. (todo: ·¹ÆÛ·±½º)

ÀÌ ¹®¼­ÀÇ ÃֽйöÀüÀº À̰÷ ¿¡¼­ ±¸ÇÒ ¼ö ÀÖÀ¸¸ç Ʋ¸° Á¡ ÁöÀû, Á¦¾È, Áú¹®µîÀº ¿©±â ¿¡ ÇϽñ⠹ٶø´Ï´Ù.

°íÄ£ °úÁ¤
°íħ 0.12001-10-04°íÄ£ÀÌ tj
ÃÖÃÊÀÛ¼º

Â÷·Ê
1. ¼­¹®
1.1. ÀúÀÛ±Ç Á¤º¸
1.2. Ã¥ÀÓÀÇ ÇѰè
1.3. Inline assembly?
2. Inline assembly basics
2.1. µÑ·¯º¸±â
2.2. Assembly
2.2.1. µé¿©¾²±â & Ä¿¸àÆ® ´Þ±â
2.2.2. Register Á÷Á¢ ÁöÁ¤Çϱâ
2.2.3. Inline assembly¾È¿¡¼­ ÇÔ¼ö Á¤ÀÇÇϱâ
2.3. Output/Input List
2.3.1. Constraints
2.3.1.1. Basic constraints
2.3.1.2. i386 specific
2.3.1.3. Modifiers
2.3.2. Early clobber
2.4. Clobber list
3. Applications
3.1. Atomic bit operations & spin lock
3.2. Function call with stack switch