Чтение внешнего файла MIPS, чтобы его мог использовать другой файл?

Привет всем, я работаю над этой последней вещью для моего проекта MIPS, и это обманчиво просто. Мне нужно получить процедуру (называемую подачей) и позволить ее основной программе-драйверу использовать ее, прочитав ее. Я знаю, что должен использовать код вызова 14 и .globl sym (я думаю), чтобы передать ее в файл и дайте ему прочитать его. Мне просто нужен базовый учебник или что-то в этом роде, так как я НЕ МОГУ найти его в Интернете или в своей книге (просто перечисляет код вызова, очень полезно). Вот что я знаю:

Мне нужно использовать чтение, но мне также нужен файловый дескриптор (не знаю, где его взять). Мне нужно поместить буфер в $a1 и длину в $a2.

Вот и все. Если есть какой-нибудь достойный учебник, который вы могли бы придумать, или если есть такой в ​​Интернете, которого я не вижу, дайте мне знать, пожалуйста :). Мне просто нужно подтолкнуть в правильном направлении, я уверен, что это не может быть слишком сложно, просто не могу найти никакой информации об этом!


person Patrick C    schedule 04.12.2009    source источник


Ответы (2)


Взгляните на документацию по системным вызовам, которую вы можете найти в Интернете. (Я погуглил «mips syscall», и это первый результат).

Системный вызов 13 — это открытый файл, которому вы передаете имя файла, а возвращаемый результат — дескриптор файла, который вы затем используете для передачи другим системным вызовам. Этот первый результат, который я нашел в Google, также имеет полезный пример внизу страницы, который объясняет, что такое флаги и режим.

person Tony van der Peet    schedule 05.12.2009

В том-то и дело, что на самом деле он не возвращает дескриптор! Я пробовал несколько разных кодов, но регистр, в котором возвращается файловый дескриптор: $v0, просто остается 13... и в итоге выдает эту ошибку: "Файловый дескриптор 13 не открыт для чтения (системный вызов 14)"

person Sulaiman    schedule 23.04.2010