상세 컨텐츠

본문 제목

[컴퓨터 구조] 2.2 Operations of the Computer Hardware

전공/컴퓨터 구조

by blacksmith16 2020. 10. 25. 16:57

본문

MIPS Arithmetic Operation

add a, b, c

위 코드는 MIPS 산술 연산을 수행하는 어셈블리 코드이다. 이 코드는두 변수 b, c를 더한 값을 a에 저장하겠다는 의미이다.
add와 같은 MIPS Arithmetic Operation은 세 변수를 피연산자로 가진다. 즉, C언어의 a = b + c + d + e;를 구현하고 싶다면 아래와 같이 Instruction을 사용해야 한다.

add a, b, c    # a = b + c
add a, a, d    # a = a + d
add a, a, e    # a = a + e

여기서 #은 어셈블리에서 주석의 시작을 나타내는 기호이며, 그 줄의 # 뒤부터는 주석으로 처리한다.
더 많은 피연산자를 구현하는 것은 물론 가능하지만, 하드웨어가 복잡해지기 때문에 MIPS에서는 3개로 고정되어 있다.
하드웨어가 복잡하면 비용이 많이 들고 구현이 어려워진다.
f = (g + h) – (i + j);라는 C 코드를 MIPS 어셈블리로 바꾸면 다음과 같다.

add t0, g, h    # temp t0 = g + h
add t1, i, j    # temp t1 = i + j
sub f, t0, t1    # f = t0 - t1

여기서 사용된 t0, t1은 레지스터인데 레지스터 피연산자는 다음 포스팅에서 다룰 예정이다.

관련글 더보기

댓글 영역