c언어로 작성된 고급 언어가
MIPS에서 어셈블리 언어로 바뀌는가?
초록색(C언어) =>(컴파일러) => 노란색 (어셈블리 언어)
g h를 더해야 하니까 t0 임시 레지스터에 s1 s2더해서 저장
i j 똑같이
두 값을 연산하는 마지막 줄 (s0에 저장)
<배열연산>
변수들, 배열의 시작 위치는 이미 레지스터에 올라와 있는 상황
배열 a[i]의 값은 어떻게 메모리에서 가져올까?
배열의 시작 위치+i 를 해서 (이떄 정수형 배열이면 정수형 크기인 4를 곱해서 더해야 함)(더하기가 더 빨라서 곱셈 대신 덧셈을 하기도)
4i라는 값을 t1이 가지고 있게 됨
<조건문 연산>
노란글자들(각 변수가 저 레지스터에 올라와 잇음)
브랜치를 함
bne : 같지 않으면
Else로 가라
Exit으로 가게 (else 점프)
<while 반목문 연산>
ijk 배열 시작위치 레지스터에 올라와잇음
그리고..
나중에 한번 더 보기
'📖 CS > 시스템소프트웨어' 카테고리의 다른 글
💾시소실 - MIPS(ISA) 연산별 비트 구조 (0) | 2023.09.14 |
---|---|
💾시소실 - MIPS(ISA) 비트 포멧,산술연산,논리연산, Data Transfer 연산,branch&jump 연산 (0) | 2023.09.11 |
💾시소실 - MIPS(ISA) 레지스터 및 메모리 모델 (0) | 2023.09.08 |
💾시소실 - 시스템 소프트웨어와 ISA (0) | 2023.09.08 |