访问循环中的文本(MIPS)
我有下面的代码,它打开一个文本文件并读取它。如何开始访问每个单词?假设我想打印一个文本文件的前3个字,每一个字都在一个新的行上,然后打印到一个新的文本文件,我该怎么做访问循环中的文本(MIPS),mips,mars-simulator,Mips,Mars Simulator,我有下面的代码,它打开一个文本文件并读取它。如何开始访问每个单词?假设我想打印一个文本文件的前3个字,每一个字都在一个新的行上,然后打印到一个新的文本文件,我该怎么做 # opening file for reading li $v0, 13 # system call for open file la $a0, text_file # input_text file name li
# 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*
你能用C写吗?这将使您能够将算法的关注点与组装的细节分离开来。如果可以,那么用C编写代码,并在程序集中遵循它。确保它在中工作,因为在汇编中调试错误的算法很困难。如果你不能在C语言中实现,那么你就在寻找一种算法。想想找单词意味着什么。你能用C做吗?这将使您能够将算法的关注点与组装的细节分离开来。如果可以,那么用C编写代码,并在程序集中遵循它。确保它在中工作,因为在汇编中调试错误的算法很困难。如果你不能在C语言中实现,那么你就在寻找一种算法。想想找单词意味着什么。