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