C언어가 MIPS 어셈블리언어로 어떻게 변환되는지 알아본다.
- 컴파일러에 의해 고급 언어로 작성된 C코드가 MIPS의 어셈블리언어로 바뀐다.
- 예전에는 어셈블리언어로 프로그램을 작성하는 경우도 있었다.
- 운영체제와 관련된 작업 중 속도가 중요한 경우는 그렇게 했다. 하지만 어셈블리의 비효율성 등을 극복하기 위해 고급언어인 C언어를 만들어낸 것이다.
- 이제 C언어를 어셈블리언어로 바꾸는 몇 가지 예시에 대해 알아보자.
- 배열의 경우 시작 위치만을 저장하고, 이후 원하는 배열의 원소에 접근하기 위해 인덱스 값만큼 떨어진 주소를 찾아간다.
- 정수의 크기는 4byte이므로 어셈블리어의 첫 두 줄에서 i*4를 진행한다. 이때, 곱셈보다 덧셈의 처리 속도가 훨씬 빠르므로 덧셈 두 번을 한다.
'System SW' 카테고리의 다른 글
[2.5] MIPS Instruction Set Architecture V - 연산별 비트 구조 (0) | 2022.10.13 |
---|---|
[2.4] MIPS Instruction Set Architecture IV - branch & jump 연산 (0) | 2022.10.12 |
[2.3] MIPS Instruction Set Architecture III - 논리연산 & Data Transfer 연산 (0) | 2022.10.12 |
[2.2] MIPS Instruction Set Architecture II - 비트 포맷 및 산술 연산 (0) | 2022.10.12 |
[2.1] MIPS Instruction Set Architecture - 레지스터 및 메모리 모델 (0) | 2022.10.12 |
댓글