我有一个文件文本,内容如下。如何在MIPS中读取并将它们转换为整数
5
12 17 87 35 98
这是我读取文件的代码
.data
fileName: .asciiz "C:\\Users\\Admin\\Desktop\\input.txt"
newline : .asciiz "\n"
buffer: .space 1024
.text
.globl main
main:
# open file
li $v0,13
la $a0,fileName
li $a1,0
li $a2,0
syscall
move $s0,$v0
# read file
li $v0,14
move $a0,$s0
la $a1,buffer
li $a2,1024
syscall
# print buffer
li $v0,4
la $a0,buffer
syscall
答案 0 :(得分:1)
我想是作业,所以没有完整的代码。
没有内置的syscall可以从文件中读取整数。因此,您必须将其作为字符串读入数据缓冲区并将ASCII字符转换为整数。
算法是:
查看ASCII码表以查看数字的字符码。对于第二步,将其中一个寄存器用作指针:初始化为缓冲区的地址,使用lb
从中读取当前数字,然后随即递增。
有帮助吗?