선릉역 1번 출구
컴퓨터 구조(3) - 명령어 본문
컴퓨터: 명령어를 해석하는 기계
명령어: 컴퓨터를 작동시키는 중요한 정보
고급언어: 사람을 위한 언어
- compile 언어: 컴파일러가 저급언어로 바꿔줌(정확히는 목적 코드), 컴파일러가 오류가 있는지/실행 가능한 코드인지 확인 후 오류가 있으면 실행 불가
- interpreter 언어: 인터프리터가 저급언어로 바꿔줌(한 줄씩), 오류 발견 시 n-1번 째 코드까지는 실행 됨
*현대의 많은 프로그래밍 언어 중에는 컴파일 언어와 인터프리터 언어 간의 경계가 모호한 경우가 많음
저급언어: 컴퓨터를 위한 언어
- 기계어: 0과 1로 이루어진 언어
- 어셈블리어: 0과 1로 표현된 기계어를 읽기 편한 상태로 번역한 언어
컴파일 과정

1. 전처리 과정
- 헤더 파일 삽입(include 구문을 만나면 해당 헤더파일을 찾아 내용을 삽입)
- #define으로 정의된 부분 치환
2. 컴파일러
- 어셈블리 코드로 이루어진 파일 생성
3. 어셈블러
- 어셈블러에 의해 기계어로 어셈블 됨, 해당 목적코드 파일은 명령어와 데이터가 들어있는 ELF 바이너리 포맷 구조를 가짐
4. 링커
- 오브젝트 파일들과 라이브러리를 링크(link)해서 실행 파일 생성
명령어 구조
연산코드(=연산자) + Operand(=피연산자)

피연산자는 없을수도, 1개 있을수도, 여러개 있을 수도 있음(3)
연산자 분류
- 데이터 전송(MOVE, STORE, LOAD, PUSH, POP)
- 산술/논리 연산(ADD, AND 등)
- 제어 흐름 변경(JUMP, CALL, HALT 등)
- 입출력제어(READ, WRITE 등)
'Computer > CS' 카테고리의 다른 글
| 컴퓨터 구조(5) - CPU의 속도 (0) | 2022.11.15 |
|---|---|
| 컴퓨터 구조(4) - CPU (0) | 2022.11.13 |
| 컴퓨터 구조(2) - 정보 단위 (0) | 2022.11.12 |
| 컴퓨터 구조(1) - 기본 구성 요소 (0) | 2022.11.12 |
| Assembly Instruction Set(2) - $sp, $fp (0) | 2022.03.28 |
Comments