728x90

opcode
- Artithmetic Instructions
opcode 사용 방법 의미 add add $s1, $t0, $t1 $s1 = $t0 + $t1 addi addi $s1, $t0, Int $s1 = $t0 + Int sub sub $s1, $t0, $t1 $s1 = $t0 - $t1 mul mul $s1, $t0, $t1 $s1 = $t0 * $t1 mult mult $t0, $t1 Lo, Hi = $t0 * $t1 div div $s1, $t0, $t1 $s1 = $t0 / $t1 mflo mflo $s1 $s1 = Lo (나눗셈의 몫) mfhi mfhi $s1 $s1 = Hi (나눗셈의 나머지) - Data Transfer Instructions
opcode 사용 방법 의미 lw lw $t1, A 레지스터 $t1에 메모리 A의 데이터를 Load li li $a0, 10 레지스터 $a0에 10 Load la la $a0, A 레지스터 $a0에 A의 주소 Load sw sw $v0, A 레지스터 A에 레지스터 $v0의 값을 Store - Logic Instructions
opcode 사용 방법 의미 beq beq $t0, $t1, fucn $t0 == $t1 이라면 fucn 으로 이동 bne bne $t0, $t1, fucn $t0 != $t1 이라면 fucn 으로 이동 slt slt $s0, $t0, $t1 $t0 < $t1 이라면 $s0 = 1
$t0 > $t1 이라면 $s0 = 0slti slti $s0, $t0, n $t0 < n 이라면 $s0 = 1
$t0 > n 이라면 $s0 = 0 - Registers
Register Name Use $0 $zero $1 $at $2 ~ $3 $v0 ~ $v1 함수에서 return된 값을 저장 $4 ~ $7 $a0 ~ $a3 함수 인수 저장 $8 ~ $15 $t0 ~ $t7 임시로 데이터 저장 $16 ~ $23 $s0 ~ $s7 오랫동안 유지되는 값 저장 $24 ~ $25 $t8 ~ $t9 임시로 데이터 저장 $26 ~ $27 $k0 ~ $k1 $28 $gq Global pointer $29 $sp Stack pointer $30 $fp Frame pointer $31 $ra return pointer - system call (syscall)
system call numebr function 1 print int 2 print float 3 print double 4 print string 5 read int 6 read float 7 read double 8 read string 9 sbrk 10 exit
참고문헌
- 컴퓨터 아키텍쳐 (한빛아카데미)
728x90
'소프트웨어 > 컴퓨터 구조(MIPS)' 카테고리의 다른 글
[MIPS] MIPS programming 과제 - 절대 값 계산하기 (0) | 2021.11.09 |
---|---|
[MIPS] MIPS programming 과제 - 연속된 정수 출력하기 (0) | 2021.11.03 |
[MIPS] MIPS programming 과제 - 두 정수 비교하기 (0) | 2021.11.02 |
[MIPS] MIPS programming 과제 - 정수의 나눗셈 (0) | 2021.10.27 |
[MIPS] MIPS programming 과제 - 정수의 덧셈 뺄셈 (0) | 2021.10.23 |
댓글