Skip to main content

인라인 어셈블리 란 무엇입니까?

inline 인라인 어셈블리 mdash;인라인 어셈블리 언어 또는 인라인 어셈블러 mdash;다른 언어의 함수 및 소스 코드에 직접 삽입되는 어셈블리 언어 코드 블록입니다.이를 통해 프로그래머는 순수한 어셈블리 언어 블록을 프로그램의 나머지 부분이 비 합산 언어를 사용하는 프로그램에 삽입 할 수 있습니다.능력은 일부 언어로 지원됩니다. mdash;C, C ++ 및 Pascal Mdash와 같은;그러나 사용 된 특정 컴파일러의 특징이며 반드시 언어 표준의 일부는 아닙니다.많은 경우, 인라인 어셈블리는 CPU (Central Processing Unit)의 특수 함수에 액세스하거나 코드를 최적화하거나 메모리 블리팅과 같은 매우 낮은 수준의 작업을 수행하는 데 사용됩니다.특정 컴파일러 또는 프로그래밍 언어는 크로스 플랫폼 실행 파일 생성을 지원할 수 있지만 인라인 어셈블리의 사용은 일반적으로 특정 어셈블리 지침을 사용하거나 일치하는 아키텍처를 가질 수있는 시스템으로 프로그램을 제한합니다.또는 컴파일러를 사용하면 인라인 어셈블리가 표준 소스 코드 파일에 포함될 수 있습니다.가장 쉬운 방법 중 하나는 단순히 어셈블리 블록의 시작을 정의하는 것입니다. 그 후 모든 명령은 직접 어셈블리로 해석됩니다.일부 통합 개발 환경 (IDES) 및 컴파일러는 실제로 인라인 코드가 프로그램 또는 기능에 정의 된 변수를 먼저 레지스터에로드하지 않고 사용하도록 허용합니다.전용 어셈블리 언어 전용 기능.이 경우 인라인 코드는 일반적으로 컨트롤 루프 또는 반환 문과 같은 비 합산 코드와 결합 할 수 없습니다.이런 방식으로 구현 될 때, 인라인 함수는 일반적으로 스택을 켜고 팝하는 팝 변수를 명시 적으로 푸시해야합니다.프로그램의 작은 세그먼트.인라인 코드가 어떻게 통합되는지에 따라, 이는 인라인 코드를 마무리하는 인간이 읽을 수있는 더 많은 언어 명령을 사용하여 매우 빠르고 효율적으로 작업을 직접 수행하는 것을 의미 할 수 있습니다.또한 대상 시스템이 알려진 경우 코드는 프로그램을 훨씬 더 빨리 실행할 수있는 하드웨어 별 레지스터 및 명령을 사용할 수 있습니다.다른 메소드가 실패하거나 시스템 오류가 발생할 수 있습니다.이것은 그래픽 카드의 프레임을 신속하게 변경하거나 특정 인터럽트 또는 하드웨어 포트로 직접 신호를 보내는 데 사용될 수 있습니다.그러나 이러한 방식으로 어셈블리 코드를 사용하는 위험 중 하나는 작은 실수가 특정 시스템에서 예기치 않게 프로그램을 찾기가 어려울 수 있다는 것입니다.