[MIPS] QtSpim 예제 5 - 조건문 (두 수 크기 비교)
사용 opcode : li, move, slt, beq 사용 system call : 1, 5, 10 1. 문제 두 개의 정수를 입력받고 더 큰 값을 출력해라. 2. 정답 .text main : li $v0, 5 syscall move $t0, $v0 li $v0, 5 syscall move $t1, $v0 slt $s0, $t0, $t1 beq $s0, 1, function move $a0, $t0 li $v0, 1 syscall li $v0, 10 syscall function : move $a0, $t1 li $v0, 1 syscall li $v0, 10 syscall 3. 풀이 system call code 5번을 사용해 숫자를 입력받고 레지스터에 값을 복사해줍니다. 첫번째 숫자는 $t0에 두번째..
[MIPS] QtSpim 예제 4 - 값을 입력받아 곱셈 수행하기
사용 opcode : li, move, mul 사용 system call : 1, 5, 10 1. 문제 두 수를 입력받고 두 수의 곱을 출력해라. 2. 정답 .text main: li $v0, 5 syscall move $t0, $v0 li $v0, 5 syscall move $t1, $v0 mul $s0, $t0, $t1 move $a0, $s0 li $v0, 1 syscall li $v0, 10 syscall 3. 풀이 숫자를 입력받기 위해서는 system call code 5번을 사용하면 됩니다. system call 5를 호출해 값을 입력받은 후 move를 사용해 값을 t0레지스터에 복사해주세요. 숫자를 하나 더 입력받아야 하므로 다시 system call 5를 호출한 후 t1레지스터에 값을 복사..
[MIPS] QtSpim 예제 3 - 나눗셈(몫과 나머지 출력)
사용 opcode : lw, div, mflo, mfhi, li, move 사용 system call : 1, 10 1. 문제 55÷16의 몫과 나머지를 출력해라. 2. 정답 .data A: .word 55 B: .word 16 .text main: lw $t0, A lw $t1, B div $t0, $t1 mflo $s0 mfhi $s1 move $a0, $s0 li $v0, 1 syscall move $a0, $s1 li $v0, 1 syscall li $v0, 10 syscall 3. 풀이 숫자를 계산하기 위해서는 먼저 숫자를 저장할 공간이 필요합니다. 변수를 선언한 후 숫자를 할당해줍니다. .data A : .word 55 B : .word 16 나눗셈에 필요한 변수(A와 B)의 데이터를 레지스터..
[MIPS] QtSpim 예제 2 - 더하기, 빼기
사용 opcode : lw, add, sub, li, move 사용 system call : 1, 10 1. 문제 1+6-5를 계산하고 결과값을 출력해라. 2. 정답 .data A: .word 1 B: .word 6 C: .word 5 .text main: lw $t0, A lw $t1, B add $s0, $t0, $t1 lw $t2, C sub $s1, $s0, $t2 move $a0, $s1 li $v0, 1 syscall li $v0, 10 syscall 3. 풀이 숫자를 계산하기 위해서는 먼저 숫자를 저장할 공간이 필요합니다. 변수를 선언한 후 숫자를 할당해줍니다. .data A : .word 1 B : .word 6 C : .word 5 덧셈에 필요한 변수(A와 B)의 데이터를 레지스터에 로드..
[MIPS] QtSpim 기본 문법
주석 opcode .data vs .text Register System Call 1. 주석 코드의 앞에 #을 쓰면 주석 처리를 할 수 있습니다. 2. opcode opcode는 operations code의 약자로 어떤 연산을 수행할 것인가를 알려줍니다. ① Artithmetic Instructions opcode 뜻 예제 의미 add 더하기 add $s1, $t0, $t1 $s1 = $t0 + $t1 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 $t0, $t1 Lo = $t0 ÷ $t1의 몫 , Hi =..