[사전지식1] 기계어, 어셈블리어, 고급언어란

VDoring·2021년 8월 16일
0

C언어

목록 보기
1/7

프로그래밍 언어는 저급언어(Low-level)와 고급언어(High-level)가 있습니다.

여기서 저급, 고급이 언어의 품질과 관련된 말이 아닌, 0과 1이 난무하는 기계어와 비슷한지, 사람이 사용하는 자연어와 비슷한지를 나타내는 표현입니다.


기계어(Machine code)

저급 언어입니다.
아래와 같이 0과 1로 이루어져 있습니다.

0001 1001 1101 1000 1111 0010

기계어도 프로그래밍 언어이기 때문에 배운다면 프로그래밍을 할 수 있지만, 숫자만으로 나열되어 있는 코드를 이해하고 수정하는 것은 어려운 일입니다.

어셈블리어(Assembly language)

저급 언어입니다.

기계어와 일대일 대응이 되기 때문입니다.

숫자로 나열된 문장의 의미를 사람이 바로 알아볼 수 있는 명령어로 바꾸기만 해도 작업이 훨씬 편해집니다.
아래처럼요.

1000 1011 -> MOV

하지만 이렇게 되면 컴퓨터가 이해할 수 없게 됩니다.
컴퓨터는 숫자만 이해할 수 있으니까요.

즉, 어셈블리어로 작업한 것을 기계어로 번역하는 과정이 필요해지게 되는 것입니다.

이 기능을 하는 프로그램어셈블러(Assembler)라고 합니다.

고급언어

현재 주로 사용되는 대다수의 언어는 고급언어입니다.

사람들이 이해하기 편리하게 만들어졌기 때문입니다. C, Python, Java 등이 있습니다.

c = a + b;
내용을 입력하세요.
고급언어 역시 컴퓨터가 이해하지 못합니다.

따라서 고급언어로 작업한 것을 기계어로 번역하는 과정이 필요하고, 이 기능을 하는 프로그램컴파일러(Compiler)라고 합니다.

profile
< Beginners Heart >

0개의 댓글