406 | | +--------------+ |
407 | | | $31 | |
408 | | +--------------+ |
409 | | | C0_EPC | |
410 | | +--------------+ |
411 | | | C0_SR | |
412 | | +--------------+ |
413 | | | $2 | |
414 | | +--------------+ |
415 | | | | |
416 | | +--------------+ |
417 | | | | |
418 | | +--------------+ |
419 | | | | |
420 | | +--------------+ |
421 | | $29 ——> | | |
422 | | +--------------+ |
423 | | }}} |
| 407 | +----------+ |
| 408 | | $31 | Nous allons exécuter jal un peu plus et perdre $31, il faut le sauver |
| 409 | +----------+ |
| 410 | | C0_EPC | C'est l'adresse de retour du syscall |
| 411 | +----------+ |
| 412 | | C0_SR | le registre status est modifié plus loin, il faut le sauver pour le restaurer |
| 413 | +----------+ |
| 414 | | $2 | C'est le numéro de syscall qui pourra être accédé par la fonction appelé en 5e argument |
| 415 | +----------+ |
| 416 | | | place réservée pour le 4e argument actuellement dans $7 |
| 417 | +----------+ |
| 418 | | | place réservée pour le 3e argument actuellement dans $6 |
| 419 | +----------+ |
| 420 | | | place réservée pour le 2e argument actuellement dans $5 |
| 421 | +----------+ |
| 422 | $29 → | | place réservée pour le 1e argument actuellement dans $4 |
| 423 | +----------+ |
| 424 | }}} |
| 425 | - L'instruction ligne 44 met `0` dans le registre `c0_sr`. |