[MIPS] MIPS 명령어 모음 / MIPS introduction set
MIPS란?
MIPS란 밉스 테크놀리지에서 개발한 RISC 기반의 마이크로 프로세서 명령어 집합 구조를 말한다.
MIPS 명령어 모음
< 논리,연산 >
add (add) : add $s1 $s2 $s3 -> $s1 = $s2 + $s3 - 더한다.
sub (subtract) : sub $s1 $s2 $s3 -> $s1 = $s2 - $s3 - 뺀다.
addi (add immediate) : addi $s1 $s2 10 -> $s1 = $s2 + 10 - 상수를 더할때 주로 쓴다.
lw (load word) : lw $s1, 20($s2) -> $s1 = Memory[$s2+20] - 메모리에서 레지스터로 load한다.
sw (store word) : sw $s1, 20($s2) -> Memory[$s2+20] - 레지스터에서 메모리로 store한다.
and (and) : and $s1, $s2, $s3 -> $s1 = $s2 & $s3 - s2와 s3의 and 값을 s1에 저장한다.
or (or) : or $s1, $s2, $s3 -> $s1 = $s2 | $s3 - s2와 s3의 or 값을 s1에 저장한다.
sll (shift left logical) : sll $s1, $s2, 10 -> $s1 = $s2 <<10 - s1 은 s2을 10만큼 좌비트이동 한것이다.
srl (shift right logical) : srl $s1, $s2, 10 -> $s1 = $s2 >>10 - s1 은 s2을 10만큼 좌비트이동 한것이다.
< 조건 >
beq (branch on equal) : beq $s1, $s2, 25 -> if($s1 == $s2) go to PC+4+100 - s1=s2 면 25로 이동한다.
bne (branch on not equal) : beq $s1, $s2, 25 -> if($s1 != $s2) go to PC+4+100 - s1!=s2 면 25로 이동한다.
slt (set on less than) : slt $s1, $s2, $s3 -> if($s2 < $s3) $s1 =1 else $s1 = 0 - s1<s2 만족하면 1 아니면 0
j (jump) : j 2500 -> go to 10000 - 목표 주소로 점프한다.
jr (jump register) jr $ra -> go to $ra - For switch, procedure return
jal (jump and link) jal 2500 -> $ra = PC + 4 ; go to 10000 - resgister 로 점프하여 링크