Assembler   어셈블러

(2023-10-22)

어셈블 , 어셈블리 , Assembly Language, 어셈블리 언어, 어셈블리어, Machine Language, 기계 어, 기계 코드


1. 기계 언어 (Machine Language)기계가 직접 이해할 수 있는 2진수 언어
     - CPU 들은 자기들 만이 이해하고 수행할 수 있는 기계어들을 갖음          ☞ 명령어 참조
     - CPU 종류별로, 기계어는, 
        . 그들만의 비트 패턴화시킨 인코딩된 명령어 체계, 명령어 집합을 갖음  ☞ 명령어 집합 참조


2. 어셈블리 언어 (Assembly Language)기계어와 1:1로 대응되며, 심볼을 이용하여 기계어 보다는 쉽게 프로그래밍할 수 있음
     - 즉, 기계어 명령을 알기쉬운 기호(Mnemonic) 또는 심볼(Symbol)로 표시한 것
        . 각 기계어와는 1:1 대응을 이루는 다수의 니모닉으로 구성됨

  ㅇ 기계어와 고급언어 간에 중간적 존재


3. 어셈블리 언어의 구성

  ㅇ 어셈블리 언어의 구성 요소 
     - 라벨 (label : opcode operands)
        . 선택적 사용 (분기문의 목적지)
     - 기계 명령어/연산 부호/연산자 (0peration Code, Opcode)
        . CPU가 취할 수행동작
           .. 각 기계 명령어는 그 자신만의 유일한 수치 코드를 갖음
     - 피연산자/오퍼랜드 (Operand)
        . 명령 수행 대상인 데이터(상수,주소 등) 
           .. 명령어 종류에 따라 0 ~ 3개 정도 뒤에 따라올 수 있음
     - 매크로 (Macro)
        . 반복되는 일련의 순차적 명령어들을 조합하여 한 번에 사용할 수 있도록 만들고,
        . 이를 하나의 새로운 이름으로 정의

  ㅇ 주요 명령어 구분
     - 기초 명령어 : MOV, ADD (addtion), LDR (load a register) 등
     - 분기 명령어 (Branch Instruction) : B (branch) 
        . 프로그램의 순차적 흐름을 바꿔줌
     - 메모리 참조 명령어 (Memory Reference Instruction)

  ㅇ 명령어 집합 (Instruction Set)의 구성 요소
     - 연산 종류 (operation repertoire)
     - 데이터 유형 (data type)
     - 명령어 형식 (instruction format)
     - 주소지정방식 (addressing mode)


4. 어셈블러 (Assembler)

  ㅇ 어셈블리 언어로 작성된 프로그램기계어로 변환시켜주는 소프트웨어
     - 즉, 기호화된 어셈블리 언어기계어로 변환시켜 주는 언어 번역기의 일종


5. 어셈블리 언어 프로그래밍

  ㅇ 사용할 프로세서(CPU) 마다 다름
     - 어셈블리 언어 명령어 세트, 문법 체계, 데이터 표현 방식, 프로세서 구조 등

번역/번역기
   1. 번역   2. 어셈블러   3. 인터프리터   4. 컴파일러  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"