2009-12-04 19 views
1

Salut à tous, je travaille sur cette dernière chose pour mon projet MIPS et c'est d'une simplicité trompeuse. Je dois obtenir une procédure (appelée feed) et laisser son programme pilote principal l'utiliser en le lisant. Je sais que je suis supposé utiliser le code d'appel 14 et .globl sym (je pense) afin de le nourrir dans le fichier et le faire lire. J'ai juste besoin d'un tutoriel de base ou quelque chose, comme je ne peux pas le trouver sur Internet ou dans mon livre (liste juste le code d'appel, vraiment utile). Voici ce que je sais:Lecture dans un fichier externe MIPS afin qu'un autre fichier puisse l'utiliser?

Je dois utiliser read, mais j'ai aussi besoin d'un descripteur de fichier (je ne sais pas où l'obtenir). Je dois mettre le tampon dans $ a1 et la longueur dans $ a2.

Eh bien, c'est à peu près tout. S'il y a un tutoriel décent que vous pourriez préparer ou s'il y en a un en ligne que je ne vois pas, faites le moi savoir s'il vous plait :). J'ai juste besoin d'une poussée dans la bonne direction, je suis sûr que ça ne peut pas être trop difficile, mais je ne trouve pas d'informations à ce sujet!

Répondre

1

Jetez un coup d'œil dans la documentation syscall que vous pouvez trouver en ligne. (J'ai googlé "mips syscall" et c'est le premier résultat). Syscall 13 ouvre un fichier auquel vous passez le nom de fichier et le retour est le descripteur de fichier que vous utilisez ensuite pour passer aux autres appels système. Ce premier résultat que j'ai googlé a aussi un exemple utile au bas de la page, qui explique les drapeaux et le mode.

2

C'est la chose, il ne retourne pas vraiment le descripteur! J'ai essayé plusieurs codes différents mais le registre où le descripteur de fichier est retourné: $ v0, reste juste 13 ... et finit par donner cette erreur: "Le descripteur de fichier 13 n'est pas ouvert pour la lecture (syscall 14)"