어셈블리어

어셈블리어는 특정 유형의 프로세서에 맞게 설계된 저수준 프로그래밍 언어입니다. 고급 프로그래밍 언어예: (C/C++)의 소스 코드를 컴파일하여 만들 수도 있지만, 처음부터 직접 작성할 수도 있습니다. 어셈블리 코드는 어셈블러를 사용하여 기계어로 변환할 수 있습니다.

대부분의 컴파일러소스 코드를 직접 기계어로 변환하므로, 소프트웨어 개발자는 어셈블리어를 사용하지 않고도 프로그램을 만드는 경우가 많습니다. 그러나 일부 경우에는 어셈블리 코드를 사용하여 프로그램을 세밀하게 조정할 수 있습니다. 예를 들어 프로그래머는 특정 프로세스가 최대한 효율적으로 작동하도록 어셈블리어로 작성할 수 있습니다.

어셈블리어는 프로세서 아키텍처마다 다르지만, 비슷한 명령어와 연산자를 포함하는 경우가 많습니다. 다음은 x86 프로세서가 지원하는 명령어의 몇 가지 예입니다.

  • MOV - 한 위치에서 다른 위치로 데이터 이동
  • ADD - 두 값 더하기
  • SUB - 한 값에서 다른 값 빼기
  • PUSH - 데이터를 스택에 넣기
  • POP - 스택에서 데이터 꺼내기
  • JMP - 다른 위치로 이동
  • INT - 프로세스 중단

다음 어셈블리어를 사용하면 숫자 3과 4를 더할 수 있습니다.

mov eax, 3 - 3을 "eax" 레지스터에 로드합니다.
mov ebx, 4 - 4를 "ebx" 레지스터에 로드합니다.
add eax, ebx, ecx - "eax"와 "ebx"를 더하고 그 결과(7)를 "ecx"에 저장합니다.

어셈블리어를 작성하는 작업은 각 연산을 매우 기본적인 수준에서 수행해야 하므로 번거로운 과정입니다. 컴퓨터 프로그램을 만들 때 어셈블리 코드를 사용해야 하는 것은 아닐 수 있지만, 프로세서가 작동하는 방식을 이해하는 데 유용한 통찰을 제공하므로 어셈블리어 학습은 컴퓨터 과학 교육 과정에 포함되는 경우가 많습니다.

업데이트됨 September 5, 2014 작성: Per C.

quiz지식 테스트하기

What is an "active cell" in a spreadsheet?

A
The currently selected cell
0%
B
A cell with a formula instead of a static value
0%
C
A cell that contains a macro
0%
D
A cell that dynamically contracts and expands
0%
Correct! Incorrect!     View the Active Cell definition.
More Quizzes →

Tech Terms 컴퓨터 사전

이 페이지의 어셈블리어에 대한 정의는 TechTerms.com의 저자가 작성한 원본 정의입니다. 이 페이지를 참조하거나 이 정의를 인용하려면 정의 바로 아래에 있는 녹색 인용 표시줄을 사용하세요.

저희의 목표는 컴퓨터 용어를 이해하기 쉬운 방식으로 설명하는 것입니다. 게시하는 모든 정의에서 정확성과 간결함을 추구합니다. 이 정의에 대한 피드백이 있거나 새로운 기술 용어를 제안하고 싶으시면 문의해 주세요.

Tech Terms 뉴스레터

매일 또는 매주 발행되는 뉴스레터로 기술 지식을 향상시키세요! 지금 구독하고 새로운 용어와 퀴즈를 이메일로 받아보세요.

무료 TechTerms 뉴스레터 구독하기

이메일을 얼마나 자주 받고 싶으신가요?

각 이메일에 포함된 링크를 통해 언제든지 구독을 취소하거나 수신 빈도를 변경할 수 있습니다. 질문이 있으신가요? 문의해 주세요.

참고: 뉴스레터는 영어로 발송됩니다.