어셈블리어

최근 편집: 2022년 12월 26일 (월) 01:18

어셈블리어(assembly language 또는 asm)는 기계어에 가까운 저레벨 프로그래밍 언어이다보니, 각 프로그래밍 언어는 특정한 하드웨어에 의해서만 사용된다.

사용 목적

예전과 달리 컴파일러와 하드웨어가 충분히 좋아진 상황에서 일반적으로 어셈블리어를 사용할만한 경우는 크게 없다고 봐도 되겠다. 그럼에도 불구하고, 어셈블리어가 필요한 경우는 다음과 같다.

  • 하드웨어나 OS에 밀접하게 움직이는 소프트웨어. 예: 부트로더, 드라이버, 인터럽트 핸들러, 바이러스 등
  • 저레벨 공격으로부터의 보안이 매우 중요한 부분. 예: 암호 알고리즘 중 타이밍 공격을 주의해야 하는 경우
  • 컴파일러가 제공하지 않는 명령을 수행하는 경우
  • 소프트웨어에 대한 리버스 엔지니어링
  • 자체 수정 코드

출처