2
我有一張PGM照片,我試圖在MIPS中打開並閱讀。 當PGM文件中的值是ASCII時,一切都按預期工作。當它們是十六進制格式時,系統調用14(讀取)只讀取兩個值而不是停止,並且我最終只在緩衝區中存在文件的一部分。從MIPS中的二進制文件中讀取
到左邊十六進制 - 沒有工作,到右邊的ASCII - 工作。相同的文件。
那是我的代碼(緩衝區中的數據段中聲明,並有足夠的空間來分配文件)
#open a file
li $v0, 13 #Syscall for loading files
la $a0, image_file #Saving the address to $a0
li $a1, 0 # flag for reading
li $a2, 0 # mode is ignored
syscall
move $s6, $v0 #Placing the descriptor in $s6 for later-use
#read from file
li $v0, 14 #Syscall to read from files
move $a0, $s6 #Moving descriptor to $a0
la $a1, buffer # address of buffer to which to read
li $a2, 65555 # hardcoded buffer length
syscall
你發現了什麼嗎?如果你這樣做,你也可以回答你自己的問題。 – szoszk