Как я могу проверить, был ли файл открыт или нет?

53
5

Я сам написал следующий код:

#===========================================
# OpenFile - opens a file for reading
# arguments:
# $a0 - file name
# return:
# $v0 - file descriptop/pointer
#-------------------------------------------
OpenFile:
# backup return address
addiu $sp, $sp, -12 # create space for 3 words
# (4*3=12 bytes) on the stack
# (push) for $ra
sw $ra, 0($sp) # backup return address $ra
# protect arguments from change
sw $a1, 4($sp) # protect string address
sw $a2, 8($sp) # protect char

# actual file open code
li $a1, 0 # Open for reading
li $a2, 0
li $v0, 13 # system call for open file
syscall # open a file (file descriptor returned in $v0)

# restore registers
lw $ra, 0($sp) # restore $ra
lw $a1, 4($sp) # load address counter
lw $a2, 8($sp) # load char to be replaced

# restore stack pointer
addiu $sp, $sp, 12 # return the space on the stack(pop)

# return
jr $ra
#===========================================

Как я могу проверить, правильно ли открыт файл или нет?

Стоит ли проверять ненулевой контент в $v0?

спросил(а) 2019-05-12T02:06:00+03:00 1 год назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема