1. 程式人生 > 其它 >【MIPS彙編程式設計練習Lab7】彙編中的陣列、陣列遍歷、初始化

【MIPS彙編程式設計練習Lab7】彙編中的陣列、陣列遍歷、初始化

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

在這裡插入圖片描述