3. 명령어
1. 소스 코드와 명령어
고급 언어와 저급 언어
우리가 사용하는 프로그래밍 언어는 컴퓨터는 이해하지 못하고, 사람이 이해하기 편하도록 만들어진 언어이다.
이렇게 사람을 위한 언어를 고급 언어라 말한다. -> Java, Python, C#, C++
컴퓨터가 직접 이해하고 실행할 수 있는 언어를 저급 언어라 말한다.
기계어 : 0, 1의 명령어 비트로 이루어진 언어이다. (절대로 사람이 이해할 수 없다)
어셈블리어 : 기계어를 사람의 입장에서 편하게 읽기 위해서 만들어진 저급 언어 -> CPU 는 명령어 집합(ISA)이라는 특정한 형태의 기계어를 이해하고 실행할 수 있는데, -> 어셈블리어는 ISA 와 매칭 된다. (CPU 마다 ISA 가 다르기 때문에, CPU 마다 어셈블리어가 다르다)
컴파일 언어와 인터프리터 언어
컴파일 언어 : 컴파일러에 의해 소스 코드 전체가 저급 언어로 변환(컴파일)되어 실행되는 고급 언어 -> 컴파일러를 통해 저급 언어로 변환 된 코드를 목적 코드라고 한다.
인터프리터 언어 : 인터프리터에 의해 소스 코드 한 줄씩 실행되는 고급 언어 -> 한줄씩 저급 언어로 변환하고 바로 실행한다.
일반적으로 컴파일 언어가 인터프리터 언어보다 빠르다!
2. 명령어의 구조
연산 코드와 오퍼랜드
명령어는 연산코드와 오퍼랜드로 이루어져 있다.
연산코드 : 명령어가 수행할 연산
오퍼랜드 : 연산에 사용할 데이터가 저장된 위치
오퍼랜드에 할당된 메모리의 크기는 한정적인데, 값을 직접 넣어 사용하게 되면, 표현할 수 있는 범위가 한정적이다.
오퍼랜드에는 값이 들어있는 것이 아닌, 값이 저장된 주소가 들어가 있다. (주소필드)
Last updated