【MIPS彙編程式設計練習Lab7】彙編中的陣列、陣列遍歷、初始化
阿新 • • 發佈:2021-04-29
1、陣列存值取值
.data
arr: .space 12
.text
addi $s0,$zero,3
addi $s1,$zero,6
addi $s2,$zero,4
addi $t0,$zero,0
sw $s0,arr($t0)
addi $t0,$zero,4
sw $s1,arr($t0)
addi $t0,$t0,4
sw $s2,arr($t0)
addi $t0,$t0,4
addi $t2,$zero,0
lw $t6,arr($t2)
li $v0,1
move $a0,$t6
syscall
陣列遍歷
.data
arr: .space 12
nL : .asciiz "\n"
.text
main:
addi $s0,$zero,3
addi $s1,$zero,6
addi $s2,$zero,4
addi $t0,$zero,0
sw $s0,arr($t0)
addi $t0,$zero,4
sw $s1,arr($t0)
addi $t0,$t0,4
sw $s2,arr($t0)
addi $t0,$t0,4
addi $t1,$zero,0
while:
bgt $t1,11,exit
lw $t6,arr($t1)
jal print
addi $t1,$t1,4
j while
exit:
li $v0,10
syscall
print:
li $v0,1
move $a0,$t6
syscall
li $v0,4
la $a0,nL
syscall
jr $ra
3、陣列聲名時自動初始化
.data
arr: .word 12:3
nL : .asciiz "\n"
.text
main:
addi $t1,$zero,0
while:
bgt $t1,11,exit
lw $t6,arr($t1)
jal print
addi $t1,$t1,4
j while
exit:
li $v0,10
syscall
print:
li $v0,1
move $a0,$t6
syscall
li $v0,4
la $a0,nL
syscall
jr $ra