2009-12-04 1 views
1

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

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

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

ответ

1

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

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

2

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