ISA와 어셈블리
어셈블리 언어와 기계어의 관계로 올바른 것은?
- A어셈블리 명령어는 어셈블러에 의해 거의 1대1로 기계어 명령어로 변환된다
- B어셈블리는 CPU 종류와 관계없이 공통이며 어떤 CPU에서도 그대로 동작한다
- C기계어는 어셈블리를 실행 시 한 줄씩 해석하는 인터프리터이다
정답과 해설 보기
정답: A. 어셈블리 명령어는 어셈블러에 의해 거의 1대1로 기계어 명령어로 변환된다
어셈블리 언어는 기계어 명령어를 'add a0, a0, a1'과 같은 사람이 읽을 수 있는 기호(니모닉)로 쓴 것이며, 어셈블러가 명령어의 비트열로 변환합니다. 명령어와 거의 1대1로 대응하므로 ISA가 다르면 어셈블리도 다릅니다. 다만 'li'나 'mv' 같은 의사 명령어는 어셈블러가 하나 이상의 실제 명령어로 치환합니다. 레이블을 주소로 바꾸는 것도 어셈블러의 일입니다.