식: 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, msg1
syscall #Please, type a number for g:
li $v0, 5
syscall
move $s1, $v0 #$s1=g
li $t0, 4 #$t0=4
mul $t1, $s1, $t0 #$t1=g*4
add $s7, $s7, $t1
lw $t1, ($s7)
addi $t1, $t1, 1 #$t1=B[g]+1
mul $t1, $t1, $t0
add $s6, $s6, $t1
lw $s0, ($s6) #$s0=f
li $v0,4
la $a0, msg2
syscall #The result is
li $v0, 1
move $a0, $s0
syscall
li $v0,10
syscall #종료
'MIPS > 공부' 카테고리의 다른 글
n!을 구하는 프로그램 (0) | 2021.03.04 |
---|---|
레지스터에 값을 저장 후 주어진 연산을 수행하는 프로그램 (0) | 2021.03.03 |
입력값에 10을 더해 출력하는 프로그램 (0) | 2021.03.03 |