인라인 어셈블리
소개
Wave의 인라인 어셈블리는 asm { ... } 블록으로 작성합니다.
Wave 코드 안에서 레지스터, 메모리, 시스템 호출 경로를 직접 제어할 수 있습니다.
현재 지원 타깃:
- Linux
x86_64 - macOS (Darwin)
arm64
Windows는 아직 지원하지 않습니다.
기본 형태
asm은 문(statement) 으로도, 식(expression) 으로도 사용할 수 있습니다.
asm {
"instruction"
in("constraint_or_reg") value
out("constraint_or_reg") target
clobber("item")
}
구성 요소:
- 문자열 줄: 실제 어셈블리 명령어
in(...): 입력 오퍼랜드out(...): 출력 오퍼랜드clobber(...): 파괴되는 레지스터/상태/메모리 힌트