Assembly 在MIPS文件中写入两个缓冲区

Assembly 在MIPS文件中写入两个缓冲区,assembly,mips,Assembly,Mips,如何在一个文件中同时写入两个缓冲区?当我运行这段代码时,只会写入一个缓冲区。下面的@suggestion就是最后的代码。它起作用了 # open a file li $v0, 13 # open file code la $a0, fileOut # file name to open li $a1, 1 # flag for read only 0 = read; 1 write/create; 9 write/create/append li

如何在一个文件中同时写入两个缓冲区?当我运行这段代码时,只会写入一个缓冲区。

下面的@suggestion就是最后的代码。它起作用了

 # open a file
 li $v0, 13         # open file code
 la $a0, fileOut    # file name to open
 li $a1, 1          # flag for read only 0 = read; 1 write/create; 9 write/create/append
 li $a2, 0          # flag for ignore
 syscall            # open a file (file descriptor returned in $v0) 

 move $s6, $v0      # file descriptor

 # write file
 li $v0, 15
 move $a0, $s6   # move fd
 la $a1, bigger_word
 li $a2, 1024
 la $a3, smaller_word
 li $t4, 1024
 syscall
“同时”不能(除非第二个缓冲区直接跟在内存中的第一个缓冲区后面)。您将有两次使用系统调用15。
 # write file first address
 li $v0, 15
 move $a0, $s6   # move fd
 la $a1, smaller_word
 li $a2, 1024
 syscall

 # write file break line
 li $v0, 15
 move $a0, $s6   # move fd
 la $a1, endLine
 li $a2, 4
 syscall

 # write file second address
 li $v0, 15
 move $a0, $s6   # move fd
 la $a1, bigger_word
 li $a2, 1024
 syscall