변수 a, b, c는 메모리의 data segment에 존재.
프로세서의 레지스터로 a($3), b($4), c($5)의 내용을 불러와서(Load) 연산.
연산 후 $3의 내용을 a에 저장(store).
I format
source operand 값을 (base register + offset) 주소에 저장
offset은 양수, 음수 모두 가능 (범위 벗어나면 아예 실행이 안 됨, 범위: -32768~32767)
1번째 operand는 항상 레지스터, 2번째는 항상 메모리주소
값을 저장할 주소를 바로 32bit로 나타내지 않고 8($5) 식으로 나타내는 이유 :
명령어를 나타내는 것도 32bit인데, 32bit 주소를 넣어버리면 operation과 source operand를 나타낼 자리가 없어지기 때문이다.
I format
메모리 주소에 있는 값을 destination operand 에 불러옴
offset은 양수, 음수 모두 가능 (범위 벗어나면 아예 실행이 안 됨, 범위: -32768~32767)
1번째 operand는 항상 레지스터, 2번째는 항상 메모리주소