[MIPS汇编语言]输入输出演示(数组)

输入输出显示
用数组存储
代码如下:有详细的注释讲解

.text 
.globl main
main:
	la $t6,array         # 将数组地址其实地址放到 t6位置上
	move $t7 $zero       # 用于计数 控制输入
	addi $t8 $zero 10
input:
	la $a0 input_msg     # 将输入信息放到a0 这个寄存器上
	li $v0 4             # 将命令符寄存器中放入立即数4 用于字符输出
	syscall              # 输入提示符的输入完成
	
	li $v0 5             # 调用了输入命令 5 装载到$v0上
	syscall              # 系统调用 输入的数被放到了v0上
	
	move $t0 $t7         # 将临时的计数寄存器中的内容放到临时寄存器t0上
	mul $t0 $t0 4        # 得到了在该点的地址偏移值
	addu $t0 $t0 $t6      # 将数组地址加上了偏移量t0,得到当前地址 
	sw $v0 0($t0)        # 将$vo中的数放到t0对应的地址中
	
	addi $t7 $t7 1       # 对计数的$t7进行加一操作
	blt $t7 $t8 input    # 如果不相等,就循环该进程


output: 
	move $t7 $zero       # 用于计数 控制输入
	addi $t8 $zero 10    # 总共有10个数
print_all:
	move $t0,$t7         # 将 t7的数放到这个临时的t0上
    mul $t0,$t0,4        # 得到偏移量
    addu $t0,$t0,$t6     # 这里使用add也是一样的 只是add 会检验下溢出问题
	lw $a0,0($t0)        # 所得到的地址的的数 load到 a0上
    li $v0,1  
    syscall  
    addi $t7,$t7,1  
    blt $t7,$t8,print_all  
	
	li $v0 10            # 退出 
	syscall
.data 
	array:
		.space 1024      # 开辟数组空间 
	input_msg:
		.ascii "Input number: " # 输入数字提示符
	space_str:
		.ascii " "       # 输出空格信息
	
	
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥宅_Sean

公众号“肥宅Sean”欢迎关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值