Assembler   어셈블러

(2020-04-09)

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개 정도 뒤에 따라올 수 있음

  ㅇ 주요 명령어 구분
     - 기초 명령어 : 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. 컴파일러

 
        최근수정     요약목록     참고문헌