배열에서 값을 찾아 연산하는 프로그램
식: f = A[B[g]+1]; 배열 A={5, 9, 15, 2, 7, 1, 3, 3, 44, 6} 배열 B={1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 배열이므로 첫 번째 수의 자리는 0 .data msg1: .asciiz "Please, type a number for g: " msg2: .asciiz "The result is " arrayA: .word 5, 9, 15, 2, 7, 1, 3, 3, 44, 6 arrayB: .word 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 .text .globl main main: la $s6, arrayA#f=A[B[g]+1] (목표)f,g $s0,$s1 la $s7, arrayB#배열 A,B $s6,$s7 li $v0, 4 la $a0..
n!을 구하는 프로그램
.data msg1: .asciiz "Type a number: " msg2: .asciiz "Multiplying from 1 to " msg3: .asciiz ": " .text .globl main main: li $v0, 4 la $a0, msg1 #msg1 출력 syscall li $v0,5 syscall move $t1,$v0 # $t1=n move $a0,$t1 jal multiply move $t0,$v0#$t0에 결과값 li $v0, 4 la $a0, msg2 #msg2 출력 syscall li $v0, 1 move $a0,$t1#n 출력 syscall li $v0, 4 la $a0, msg3 #msg3 출력 syscall move $a0,$t0 li $v0,1 syscall#결과 출력 ..
레지스터에 값을 저장 후 주어진 연산을 수행하는 프로그램
식: int leaf_example (int g, int h, int i, int j) { int f; f = (g - h) + (i - j); return f; } · g, h, i, j의 값은 각각 3, 10, 15, 7이며 $a0, $a1, $a2, $a3레지스터에 입력되어야함. 나와야할 결과는 1. .data msg: .asciiz"The final result is " .globl main .text main: li $a0,3 li $a1,10 li $a2,15 li $a3,7 jal leaf_example li $v0, 4 la $a0, msg syscall li $v0,1 add $a0,$v0,$zero syscall li $v0, 10 syscall leaf_example: addi $sp..
입력값에 10을 더해 출력하는 프로그램
.data msg1: .asciiz "Please, type a number:" msg2: .asciiz "The results is " .text .globl main main: li $v0, 4 la $a0, msg1 syscall li $v0,5 syscall move $t0,$v0 addi $t1,$t0,10 li $v0, 4 la $a0, msg2 syscall li $v0,1 move$a0,$t1 syscall