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

来源:互联网 发布:淘宝页面怎么设计 编辑:程序博客网 时间:2024/05/20 16:37

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

.text .globl mainmain:    la $t6,array         # 将数组地址其实地址放到 t6位置上    move $t7 $zero       # 用于计数 控制输入    addi $t8 $zero 10input:    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 " "       # 输出空格信息

最后,给我的公众号拉一波关注!
本人中大一肥宅,欢迎大家关注,请扫下面的二维码


二维码

原创粉丝点击