기계어
보이기
프로그램 실행 |
---|
일반 개념 |
코드의 종류 |
컴파일 전략 |
저명한 런타임 |
저명한 컴파일러 및 툴체인 |
|
기계어(機械語)는 CPU가 직접 해독하고 실행할 수 있는 비트 단위로 쓰인 컴퓨터 언어를 통틀어 일컫는다. 기계어는 프로그램을 나타내는 가장 낮은 단계의 개념이다.
기계어는 어셈블리어와 1 : 1로 쓰일 수 있다. 다시 말해 컴퓨터 프로그래밍에서 기계어는 대부분 어셈블리어를 거쳐 짜여지게 된다. 어셈블리어가 아직 만들어지기 전에는 기계어를 직접 입력하여 프로그램을 작성하기도 했으며, 오늘날에도 흔치는 않지만 그렇게 하는 사람이 있다. 기계어는 CPU의 종류에 따라서 서로 다른 코드를 갖게 된다.
예
[편집]6 5 5 5 5 6 bits [ op | rs | rt | rd |shamt| funct] R-type [ op | rs | rt | ad
target address ] J-type
rs, rt, rd는 register 연산자를 지시한다; shamt는 변화량을 제공한다; address나 immediate 필드는 직접 연산을 포함한다.
이를테면, register 1과 2를 추가하여 register 6이라는 결과를 낳게 만들면 다음과 같이 인코딩된다:
[ op | rs | rt | rd |shamt| funct] 0 1 2 6 0 32 decimal 000000 00001 00010 00110 00000 100000 binary
값을 register 3에 나열된 위치 뒤의 메모리 셀 68 셀에서 가져온 register 8로 불러들인다:
[ op | rs | rt | address/immediate] 35 3 8 68 decimal 100011 00011 01000 00000 00001 000100 binary
address 1024로 Jump:
[ op | target address ] 2 1024 decimal 000010 00000 00000 00000 10000 000000 binary
같이 보기
[편집]이 글은 소프트웨어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |