如何解决循环访问文本MIPS
我有以下代码,用于打开文本文件并读取它。如何开始访问每个单词?假设我想打印一个文本文件的前3个单词,每个单词都换行到一个新的文本文件,我该怎么做?
# opening file for reading
li $v0,13 # system call for open file
la $a0,text_file # input_text file name
li $a1,0 # flag for reading
li $a2,0 # mode is ignored
syscall # open a file
move $s0,$v0 # save the file descriptor
# reading from file just opened
move $t0,$0 # idx = 0
READ_LOOP: # do {
li $v0,14 # system call for reading from file
move $a0,$s0 # file descriptor
# input_text[idx] = c_input
la $a1,input_text($t0) # address of buffer from which to read
li $a2,1 # read 1 char
syscall # c_input = fgetc(input_text_file);
blez $v0,END_LOOP # if(feof(input_text_file)) { break }
lb $t1,input_text($t0)
beq $t1,$0,END_LOOP # if(c_input == '\0')
addi $t0,$t0,1 # idx += 1
j READ_LOOP
END_LOOP:
sb $0,input_text($t0) # input_text[idx] = '\0'
# Close the file
li $v0,16 # system call for close file
move $a0,$s0 # file descriptor to close
syscall # fclose(input_text_file)
*here is where I would write the first 3 words to a predetermined text file*
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。