Assembly 在MIPS文件中写入两个缓冲区
如何在一个文件中同时写入两个缓冲区?当我运行这段代码时,只会写入一个缓冲区。下面的@suggestion就是最后的代码。它起作用了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
# 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