我正在尝试读取并打印 .txt 文件中的内容。
稍后我也想从 mips 读取转储的文件。
我看到代码,看起来没问题,但没有输出任何内容......
.data
myFile: .asciiz "teste.txt" # filename for input
buffer: .space 1024
.text
# Open file for reading
li $v0, 13 # system call for open file
la $a0, myFile # input 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
li $v0, 14 # system call for reading from file
move $a0, $s0 # file descriptor
la $a1, buffer # address of buffer from which to read
li $a2, 11 # hardcoded buffer length
syscall # read from file
# Printing File Content
li $v0, 4 # system Call for PRINT STRING
la $a0, buffer # buffer contains the values
syscall # print int
li $v0, 10 # Finish the Program
syscall
问题出在我文件的
path
上。.jar
文件开始的。
我所要做的就是提供一个带有 double 的 fullPath
\\
.data
myFile: .asciiz "c:\\Users\\johnDoe\\Documents\\Assembly\\test.txt" # filename for input
对于有人尝试了上面的答案但代码仍然无法运行,也许要注意你如何命名文件。我左键单击并创建一个 txt 文件并将其命名为 temp.txt,它会正常显示在资源管理器中,如下所示https://i.sstatic.net/lQET8YR9.png。现在猜一下文件的真实名称,是temp.txt.txt,为此浪费了我1小时的时间🙄