Чтение во внешнем файле MIPS, чтобы другой файл мог его использовать? - PullRequest
1 голос
/ 04 декабря 2009

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

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

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

Ответы [ 2 ]

2 голосов
/ 23 апреля 2010

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

1 голос
/ 05 декабря 2009

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

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

...